• No se han encontrado resultados

2. C ONTEXTO HISTÓRICO SOCIAL

2.1. La ciudad de Guadix

For assume-guarantee-based compositional model checking, we are interested in check- ing the satisfaction of an i-local ∀CTLK guarantee over an individual component, when Aiis constrained to the paths satisfying an A-LTL assumption. For an arbitrary i-local

∀CTLK formula ϕ and an arbitrary A-LTL formula ψ, we write: Ai|=ψCTLKϕ

when the agent Aisatisfies the formula ϕ if restricted to paths in i that validate the

A-LTL formula ψ.

Following from the previous section, we see that one approach to verifying the agent Aiagainst ϕ could be composing Aiwith Uiand then performing model checking as

normal (e.g., using the approach as presented in Chapter 4). However, when it comes to checking the satisfaction of the i-local ∀CTLK guarantee, we wish to restrict the paths of Aito those that satisfy the e-local A-LTL assumption ψ. Composing Aiwith Uiand

not taking into consideration the language as specified by ψ could cause significantly more false-negatives than would occur if we had used ψ.

Given an assumption ψ, the set of assumption-valid paths are the set of paths such that all paths satisfy the ψ. When performing model checking for ∀CTLK, quantification of paths takes place over the tree-unwinding of these assumption-valid paths.

It now remains to define a model checking procedure that eliminates paths in Aithat

5.3 Assumption-Based Model Checking 121

5.3.2.1 Model Checking Guarantees Against Assumptions

We begin by introducing the constructs required to verify a ∀CTLK guarantee against an A-LTL assumption. To support this, we introduce the notion of property agents and property closure environments. The latter are environments that can be instantiated from a given A-LTL formula, and can be used in the verification of these formulae.

Property agents.

Given the DRA Aϕfor an e-local formula ϕ in A-LTL, the property agent for ϕ (denoted

Pϕ) is an agent that transitions as per the transition relation of the DRA Aϕ, but has e’s

identifier (i.e., id Pϕ ≡ id (Ae)) and its action set are those actions appearing in the

closure of ϕ, plus the “null” action τ. Observation 9.Observer interactions.

Unlike the property observer Oϕ for ϕ, the property agent Pi performs actions

as e would and does not observe any other actions. That is, while int Oϕ = {e},

int Pϕ = /0. Furthermore, despite differences in lang (Ae) and lang Pϕ, composing

the agent Aiwith either Aeor Pϕis undetectable to i.

Finally, it holds that:

lang Pϕ = {{ae∈ Acte|ae∈ cl (ϕ)} ∪ {τ}}ω

Property closure environments.

Given two agent programs Ai and Ae, such that int (i) = {e} and the e-local A-LTL

formula ϕ, we define the property closure environment P{ϕ,i}for i and ϕ to be the

extension of the property agent Pϕwith the appropriate actions to be a valid closure

environment for Ai.

We do not require the protocol of P{ϕ,i}to enable any additional actions in the closure environment; it is simply a syntactic transform of Act{ϕ,i}such that the composition of AikP{ϕ,i}is well-defined (Definition 5.1).

As int (i) = {e}, it is simply sufficient to suitably extend the action set of P{ϕ,i}for it to become a closure environment for Ai.

Observation 10.Property agents vs. tableaux.

Neither ϕ, Pϕ or P{ϕ,i}are tableaux for ϕ. The reason for this is that the model

checking procedure takes into consideration the Rabin condition for the DRA of ϕ. The agent Pϕ is not capable of exhibiting only those behaviours that satisfy ϕ.

This is reflected by the fact that

(i.e., the language of P{ϕ,i}is not L (ϕ)).

As we will see in the coming section, it is the act of performing model checking whilst taking the Rabin condition into consideration that ensures we only quantify over the behaviours of e consistent with ϕ.

5.3.2.2 Construction of P{ϕ,i}

For an e-local A-LTL formula ϕ, we first construct the non-deterministic Büchi automa- ton Bϕ= hActe, S, S0, δ , Ai, such that L(Bϕ) are the paths that satisfy ϕ. As ϕ is e-local,

the actions in cl(ϕ) are a subset of Acte.

We determinise the NBA Bϕ into the DRA Aϕ by applying the subset construc-

tion and using Safra trees [Safra, 1988; Roggenbach, 2002]. As only one action from Acte can be performed per transition, the alphabet of Aϕ can be defined over

{ae∈ Acte| ae∈ cl (ϕ)} ∪ {τ} rather than 2Acte, where τ is used to represent an action

occurring that is not specified in cl (ϕ). For an action ae∈ Actesuch that ae6∈ cl(ϕ),

Aϕcan be stimulated to run over aeby setting aeto represent the negation of all the

actions that are present in the formula.

Given the DRA Aϕ= hQ, Σ , δ , Q0, Acci as above, we can construct the property

closure environment agent P{ϕ,i}=id, Lϕ, lϕ0, Actϕ, Pϕ, Eϕ, /0, /0 , where:

• id is the same as id (e) • Lϕ= Qϕ

• l0 ϕ= Q

0 ϕ

• Actϕ= {{ae∈ Acte| ∃ei∈ Ei, (e, ae) ∈ ei2} ∪ {ae∈ Acte| ae∈ cl (ϕ)} ∪ {τ}}

• Pϕ=  lϕ→ a | lϕ∈ Lϕ, a ∈ Actϕ • Eϕ=  lϕ, id, aϕ → l 0 ϕ | lϕ, l 0 ϕ∈ Lϕ, aϕ∈ Actϕ, δϕ lϕ, aϕ = l 0 ϕ

The construction of Actϕ is such that it contains:

• those actions occurring in ϕ:

{ae∈ Acte| ae∈ cl (ϕ)}

• those actions occurring in i’s evolution protocol for the agent e: {ae∈ Acte| ∃ei∈ Ei, (id (e) , ae) ∈ ei2}

• the additional action τ.

The determinism of Bϕis key to the above construction. As the evolution function of

each agent should be deterministic, we also require that the transition function of Aϕbe

deterministic, leading to a deterministic evolution function of P{ϕ,i}. Observation 11.Actions not cl (ϕ).

5.3 Assumption-Based Model Checking 123

We draw attention to the fact that it might seem strange that Actϕ contains more

actions than appear in closure of ϕ. Even if the protocol function enables these actions, and the property closure environments performs them, the agent will still act as per the DRA Aϕ. As such, if taking any action outside of cl (ϕ) invalidates ϕ, then this will be

reflected by P{ϕ,i}entering an infinite path that would not be accepted by Aϕ.

For example, for the formula ϕ = G a, taking any action that is not a would invalidate P{ϕ,i}“acting like” ϕ. However, performing an action such as b would then place P{ϕ,i}

in a state that does not appear on any run that is accepted by Aϕ.

Example 5.13.Property closure environment construction

We now revisit the DRA from Example 5.11 for the A-LTL formula ϕ = F G a, and show the construction of P{ϕ,i}. While the property ϕ contains only the single proposition a, we assume that the agent i (which will be composed with P{ϕ,i}) also contains the action b attributed to agent e in its evolution function.

Consequently, the consistent parts of P{ϕ,i}are as follows: • Lϕ= {0, 1, 2}

• l0 ϕ= 2

• Actϕ= {a, b, τ}

• Pϕ= {(0, {a, τ}) , (1, {a, τ}) , (2, {a, τ})}

• Eϕ= {(1, (idi, a) → 0) , (1, (idi, b) → 2) , . . .}

The rest of Eϕwould be defined to be consistent with Figure 5.8.

4