07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

544 Séver<strong>in</strong>e Col<strong>in</strong> and Leonardo Mariani<br />

The operators ¬, ∨ , ∧ and ⇒ are standard operators (respectively not, or,<br />

and, and implies), but they are def<strong>in</strong>ed on the doma<strong>in</strong> {true, false, ⊥}; def<strong>in</strong>e(c)<br />

allows to know if c is def<strong>in</strong>ed, [c1, c2) is true if and only if c2 was never true<br />

s<strong>in</strong>ce the last time c1 was observed to be true, <strong>in</strong>clud<strong>in</strong>g the state when c1 was<br />

true; ↑ c occurs when condition c changes from false to true; ↓ c occurs when<br />

condition c changes from true to false; and “e when c” allows to know if event<br />

e occurs when condition c is true.<br />

A model for this logic is a tuple (S,τ,LC , LE ), where S = {s0,s1,...} is a set<br />

of states, τ is a mapp<strong>in</strong>g from S to the time doma<strong>in</strong> (which could be <strong>in</strong>teger,<br />

rationale, or real), LC is a total function from S ×C to {true, false, ⊥} where C<br />

is a countable set of primitive conditions, and LE is a partial function from S ×E<br />

to De where E is a countable set of primitive events and De is the doma<strong>in</strong> of the<br />

event. Intuitively, LC assigns to each state the truth value of all the primitive<br />

conditions; s<strong>in</strong>ce conditions are <strong>in</strong>terpreted over a 3-valued logic, the truth value<br />

of primitive conditions can be true, false or ⊥ (undef<strong>in</strong>ed). Similarly, <strong>in</strong> each<br />

state s, LE (s, e) is def<strong>in</strong>ed for each event e that occurs at s and gives the value<br />

of the primitive event e. The mapp<strong>in</strong>g τ def<strong>in</strong>es the time associated to each<br />

state, and it satisfies the requirement that τ(si) i ⇒ τ(sj ) > t<br />

def<strong>in</strong>ed D t M (def<strong>in</strong>ed(c)) = true if D t M (c) �= ⊥<br />

false otherwise<br />

pair D t M ([e1, e2)) = true if ∃ t0.t0 ≤ t : M , t0 |= e1 and<br />

∀ t ′ .t0 ≤ t ′ ≤ t ⇒ M , t ′ � e2<br />

= false otherwise<br />

negation D t M (¬c) = true if D t M (c) =false<br />

= ⊥ if D t M (c) =⊥<br />

= false if D t M (c) =true<br />

disjunction D t M (c1 ∧ c2) = true if D t M (c1) orD t M (c2) istrue<br />

= false if D t M (c1) =D t M (c2) =false<br />

= ⊥ otherwise<br />

conjunction D t M (c1 ∨ c2) = D t M (¬(¬c1 ∧¬c2))<br />

implication D t M (c1 ⇒ c2) = D t M (¬c1 ∧ c2)<br />

Table 18.1. Denotation of conditions<br />

Before def<strong>in</strong><strong>in</strong>g the semantics of a condition c hold<strong>in</strong>g <strong>in</strong> a given model M<br />

(c) that<br />

(c) is<br />

at time t, i.e. M ,t |= c, we def<strong>in</strong>e the semantics of the denotation Dt M<br />

associates to each condition c its truth value for model M and time t. Dt M<br />

def<strong>in</strong>ed <strong>in</strong> a recursive way <strong>in</strong> the Table 18.1.<br />

The value of Dt M for a primitive condition ck is given by the truth value of<br />

the condition ck evaluated on state si that is the last discrete state recognized<br />

before time t; <strong>in</strong>thecaseofdef<strong>in</strong>ed, theresultofDt M is true if the condition c<br />

is def<strong>in</strong>ed at state t, otherwise the result is false; <strong>in</strong>thecaseofpair, thevalueof

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!