Separability, Expressiveness and Decidability in the Ambient Logic - - PowerPoint PPT Presentation

separability expressiveness and decidability in the
SMART_READER_LITE
LIVE PREVIEW

Separability, Expressiveness and Decidability in the Ambient Logic - - PowerPoint PPT Presentation

Separability, Expressiveness and Decidability in the Ambient Logic AS mobilit e - December 2002 1 Outline 1. From to Mobile Ambients 2. Mobile Ambients Behaviour and Spatial Logics 3. Expressiveness of the Ambient Logic 4.


slide-1
SLIDE 1

Separability, Expressiveness and Decidability in the Ambient Logic

AS mobilit´ e - December 2002

1

slide-2
SLIDE 2

Outline

  • 1. From π to Mobile Ambients
  • 2. Mobile Ambients Behaviour and Spatial Logics
  • 3. Expressiveness of the Ambient Logic
  • 4. Separability,Decidability

2

slide-3
SLIDE 3

From the π-calculus to Mobile Ambients

3

slide-4
SLIDE 4

A need for a new paradigm

  • Scope extrusion expresses the evolving structure of

network’s topology...

  • ...but is it realy enough for modelling notions like:

ressources (servers, terminals, applets ...) network hierarchy (IP addresses, subnetworks, execution sites ...) realistic communication (packets, firewalls ...)

  • to improve expressiveness, define another paradigm:

Mobile Ambients

4

slide-5
SLIDE 5

The Mobile Ambients paradigm [CarGor98]

  • The basic notion is not names as in π anymore, but locations

and sublocations (called ambients) a[ b[]|c[] ] | d[ ] .

5

slide-6
SLIDE 6

The Mobile Ambients paradigm [CarGor98]

  • The basic notion is not names as in π anymore, but locations

and sublocations (called ambients) a[ b[]|c[] ] | d[ ]

  • The computation is not a name passing process anymore,

but movement of locations . a[in b] | b[ ] → b[a[ ]]

5

slide-7
SLIDE 7

The Syntax cap

def

= in n | out n | open n | (x) capabilities P

def

=

0 | n[P] | P1|P2 | !P | (νn)P

spatial constructions | cap.P | n temporal constructions

  • spatial constructions : the process tree
  • temporal constructions: evolution of trees

6

slide-8
SLIDE 8

Semantics of the movement capabilities In rule: a[in b.P1|P2]|b[P3] → b[a[P1|P2]|P3] Out rule: b[a[out b.P1|P2]|P3] → a[P1|P2] | b[P3] Open rule:

  • pen b.P1|b[P2]

→ P1 | P2

7

slide-9
SLIDE 9

Semantics of communication Comm rule: (x)P | n → P{n/x} Scope extrusions: (νn)P | Q ≡ (νn)(P|Q) (n / ∈ fn(Q)) (νn)a[P] ≡ a[(νn)P] (a = n)

8

slide-10
SLIDE 10

Ambients Behaviour and Spatial Logic

9

slide-11
SLIDE 11

Behaviour and Logic: the standard approach

  • In the case of CCS or the π-calculus, we may define the semantics by

means of a LTS P

l

− → Q

10

slide-12
SLIDE 12

Behaviour and Logic: the standard approach

  • In the case of CCS or the π-calculus, we may define the semantics by

means of a LTS P

l

− → Q

  • this allows one to define the behaviour of a process; bisimilarity relation:

. P ≈ Q relates processes having the same behaviour.

10

slide-13
SLIDE 13

Behaviour and Logic: the standard approach

  • In the case of CCS or the π-calculus, we may define the semantics by

means of a LTS P

l

− → Q

  • this allows one to define the behaviour of a process; bisimilarity relation:

. P ≈ Q relates processes having the same behaviour.

  • Based on the LTS, we may introduce the Henessy-Milner logic

with action modalities and fixpoint recursion: . P | = a.A iff ∃P ′. P

a

− → P ′ ∧ P ′| =A P | = µX.A iff P | =A{µX.A /X}

10

slide-14
SLIDE 14

Behaviour and Logic: the standard approach

  • In the case of CCS or the π-calculus, we may define the semantics by

means of a LTS P

l

− → Q

  • this allows one to define the behaviour of a process; bisimilarity relation:

. P ≈ Q relates processes having the same behaviour.

  • Based on the LTS, we may introduce the Henessy-Milner logic

with action modalities and fixpoint recursion: . P | = a.A iff ∃P ′. P

a

− → P ′ ∧ P ′| =A P | = µX.A iff P | =A{µX.A /X}

  • Behaviour and logic coincide:

=L = ≈

10

slide-15
SLIDE 15

A behavioural semantics for Ambients?

  • Some propositions of LTS have been introduced (Cardelli,

Gordon, Henessy, Merro), but are not very natural. The problems are that reduction may operate at any nesting of ambients (and not at “top-level” like in π), and actions don’t come with coactions (asynchrony).

11

slide-16
SLIDE 16

A behavioural semantics for Ambients?

  • Some propositions of LTS have been introduced (Cardelli,

Gordon, Henessy, Merro), but are not very natural. The problems are that reduction may operate at any nesting of ambients (and not at “top-level” like in π), and actions don’t come with coactions (asynchrony).

  • Another notion of observational equivalence:
  • A notion of barb: P

⇓n if P →∗n[P1]|P2

11

slide-17
SLIDE 17

A behavioural semantics for Ambients?

  • Some propositions of LTS have been introduced (Cardelli,

Gordon, Henessy, Merro), but are not very natural. The problems are that reduction may operate at any nesting of ambients (and not at “top-level” like in π), and actions don’t come with coactions (asynchrony).

  • Another notion of observational equivalence:
  • A notion of barb: P

⇓n if P →∗n[P1]|P2

  • A barb congruence preorder: P

⊑ Q if for all C, n if C{P} ⇓n, then C{Q} ⇓n.

  • P

≈ Q iff P ⊑ Q and Q ⊑ P

11

slide-18
SLIDE 18

How should we define behaviour for Ambients?

  • Intersection types (Dezani,Coppo):

Types look like: T ::= T|T

  • cap.T
  • T −.T
  • (T −).T
  • a[T]
  • T ∧ T
  • ω
  • Description of the spatial behaviour using a spatial logic

12

slide-19
SLIDE 19

The logical approach

  • The behaviour is the evolution of space structure. The way HM-logic de-

scribes behaviour with action modalities, a logic for Ambients should describe behaviour by means of spatial connectives.

13

slide-20
SLIDE 20

The logical approach

  • The behaviour is the evolution of space structure. The way HM-logic de-

scribes behaviour with action modalities, a logic for Ambients should describe behaviour by means of spatial connectives.

  • The Ambient Logic (AL) will reflect the spatial operators of the calculus:

ex: a[⊤] | b[c[0]]

13

slide-21
SLIDE 21

The logical approach

  • The behaviour is the evolution of space structure. The way HM-logic de-

scribes behaviour with action modalities, a logic for Ambients should describe behaviour by means of spatial connectives.

  • The Ambient Logic (AL) will reflect the spatial operators of the calculus:

ex: a[⊤] | b[c[0]]

  • AL includes classical logic:

ex: ∃n. n[0] | (n[0] ∨ ∀m.¬m[0])

13

slide-22
SLIDE 22

The logical approach

  • The behaviour is the evolution of space structure. The way HM-logic de-

scribes behaviour with action modalities, a logic for Ambients should describe behaviour by means of spatial connectives.

  • The Ambient Logic (AL) will reflect the spatial operators of the calculus:

ex: a[⊤] | b[c[0]]

  • AL includes classical logic:

ex: ∃n. n[0] | (n[0] ∨ ∀m.¬m[0])

  • AL should also express evolution of space structure:

the ♦ modality

13

slide-23
SLIDE 23

The logical approach

  • The behaviour is the evolution of space structure. The way HM-logic de-

scribes behaviour with action modalities, a logic for Ambients should describe behaviour by means of spatial connectives.

  • The Ambient Logic (AL) will reflect the spatial operators of the calculus:

ex: a[⊤] | b[c[0]]

  • AL includes classical logic:

ex: ∃n. n[0] | (n[0] ∨ ∀m.¬m[0])

  • AL should also express evolution of space structure:

the ♦ modality

  • AL also has adjunct connectives:
  • .⊲. for .|.
  • .@n for n[.]

13

slide-24
SLIDE 24

The satisfaction relation

Classical Logic P | = A ∧ B, ¬ A, ∀x.A, ⊤ as usual

14

slide-25
SLIDE 25

The satisfaction relation

Classical Logic P | = A ∧ B, ¬ A, ∀x.A, ⊤ as usual Intensional spatial connectives P | = A1 | A2 iff ∃ P1, P2 s.t. P ≡ P1|P2 and Pi | = A (≡: structural congruence, almost syntactic equality)

14

slide-26
SLIDE 26

The satisfaction relation

Classical Logic P | = A ∧ B, ¬ A, ∀x.A, ⊤ as usual Intensional spatial connectives P | = A1 | A2 iff ∃ P1, P2 s.t. P ≡ P1|P2 and Pi | = A (≡: structural congruence, almost syntactic equality) P | = n[A] iff ∃ P ′ s.t. P ≡ n[P ′] and P ′ | = A P | = 0 iff P ≡ 0

14

slide-27
SLIDE 27

The satisfaction relation

Classical Logic P | = A ∧ B, ¬ A, ∀x.A, ⊤ as usual Intensional spatial connectives P | = A1 | A2 iff ∃ P1, P2 s.t. P ≡ P1|P2 and Pi | = A (≡: structural congruence, almost syntactic equality) P | = n[A] iff ∃ P ′ s.t. P ≡ n[P ′] and P ′ | = A P | = 0 iff P ≡ 0 Adjunct connectives P | = A ⊲ B iff ∀ Q s.t. Q | = A , we have P | Q | = B P | = A @ n iff n[P] | = A

14

slide-28
SLIDE 28

The satisfaction relation

Classical Logic P | = A ∧ B, ¬ A, ∀x.A, ⊤ as usual Intensional spatial connectives P | = A1 | A2 iff ∃ P1, P2 s.t. P ≡ P1|P2 and Pi | = A (≡: structural congruence, almost syntactic equality) P | = n[A] iff ∃ P ′ s.t. P ≡ n[P ′] and P ′ | = A P | = 0 iff P ≡ 0 Adjunct connectives P | = A ⊲ B iff ∀ Q s.t. Q | = A , we have P | Q | = B P | = A @ n iff n[P] | = A Temporal connective P | = ♦ A iff ∃ P ′ s.t. P →∗ P ′ and P ′ | = A

14

slide-29
SLIDE 29

Expressiveness of the Ambient Logic

15

slide-30
SLIDE 30

What does the Ambient Logic speak about? To which extent does AL talk about syntax? This is not clear because:

  • some elements of the syntax are present in the logic, but

not all of them (capabilities, replication)

  • evolution of processes: only the “sometime” modality (♦A)
  • unusual adjunct connectives (A@n , A ⊲ B)

16

slide-31
SLIDE 31

Expressing capabilities

Formulas for possibility (intensional): [San01] P | = cap.A iff ∃P1, P2. P ≡ cap.P1, P1

cap

= ⇒ P2 and P2 | = A

17

slide-32
SLIDE 32

Expressing capabilities

Formulas for possibility (intensional): [San01] P | = cap.A iff ∃P1, P2. P ≡ cap.P1, P1

cap

= ⇒ P2 and P2 | = A Formulas for necessity (intensional): ((cap)).A

def

= cap.A ∧ ¬cap.¬A Using this, P | = ((cap)).A iff ∃P1, P ≡ cap.P1, and whenever P1

cap

= ⇒ P2, P2 | = A

17

slide-33
SLIDE 33

Expressing capabilities – an example

P | = cap.A iff ∃P1, P2. P ≡ cap.P1, P1

cap

= ⇒ P2 and P2 | = A P | = ((cap)).A iff ∃P1, P ≡ cap.P1, and whenever P1

cap

= ⇒ P2, P2 | = A ex:

  • pen n.A

def

= 1Cap ∧ ∀m.

  • n[m[0]] ⊲ ♦ (A|m[0])
  • 18
slide-34
SLIDE 34

Expressing capabilities – an example

P | = cap.A iff ∃P1, P2. P ≡ cap.P1, P1

cap

= ⇒ P2 and P2 | = A P | = ((cap)).A iff ∃P1, P ≡ cap.P1, and whenever P1

cap

= ⇒ P2, P2 | = A ex:

  • pen n.A

def

= 1Cap ∧ ∀m.

  • n[m[0]] ⊲ ♦ (A|m[0])
  • P

18

slide-35
SLIDE 35

Expressing capabilities – an example

P | = cap.A iff ∃P1, P2. P ≡ cap.P1, P1

cap

= ⇒ P2 and P2 | = A P | = ((cap)).A iff ∃P1, P ≡ cap.P1, and whenever P1

cap

= ⇒ P2, P2 | = A ex:

  • pen n.A

def

= 1Cap ∧ ∀m.

  • n[m[0]] ⊲ ♦ (A|m[0])
  • P | n[m[0]]

18

slide-36
SLIDE 36

Expressing capabilities – an example

P | = cap.A iff ∃P1, P2. P ≡ cap.P1, P1

cap

= ⇒ P2 and P2 | = A P | = ((cap)).A iff ∃P1, P ≡ cap.P1, and whenever P1

cap

= ⇒ P2, P2 | = A ex:

  • pen n.A

def

= 1Cap ∧ ∀m.

  • n[m[0]] ⊲ ♦ (A|m[0])
  • P | n[m[0]]

→∗ P ′ | m[0] and P ′ | = A

18

slide-37
SLIDE 37

Expressing replication

Given a formula A “expressive enough”, we may define a formula !A s.t. P | = !A iff ∃P1, . . . , Pr. P ≡ !P1| (!)P2| . . . |(!)Pr and Pi | = A, i = 1 . . . r N.B.: no infinitary construct available, instead we rely on ♦

19

slide-38
SLIDE 38

Expressing replication

Given a formula A “expressive enough”, we may define a formula !A s.t. P | = !A iff ∃P1, . . . , Pr. P ≡ !P1| (!)P2| . . . |(!)Pr and Pi | = A, i = 1 . . . r N.B.: no infinitary construct available, instead we rely on ♦ The encoding (rather tedious): !A “

def

=”

Apers Aω: there are only copies of A at toplevel Apers: there are infinitely many of them

19

slide-39
SLIDE 39

Characteristic formulas We may express all connectives of the calculus, so we may hope to be able to define characteristic formulas: Q | =

FP

iff Q =L P

Q=LP iff P and Q satisfy the same formulas

We actually need an image-finiteness hypothesis: → subcalculus MAIF: in any subterm cap.P, P is image-finite Characteristic formulas can be defined on MAIF

20

slide-40
SLIDE 40

Separability, Decidability

21

slide-41
SLIDE 41

A coinductive characterisation =L coincides with intensional bisimilarity, ≃int: whenever P ≃int Q, P ≡ 0 implies Q ≡ 0 P ≡ P1|P2 implies Q ≡ Q1|Q2 with Pi ≃int Qi (i = 1, 2) P ≡ n[P1] implies Q ≡ n[Q1] P cap → P1 implies Q cap →

cap

= ⇒ Q1 with P1 ≃int Q1

22

slide-42
SLIDE 42

A coinductive characterisation =L coincides with intensional bisimilarity, ≃int: whenever P ≃int Q, P ≡ 0 implies Q ≡ 0 P ≡ P1|P2 implies Q ≡ Q1|Q2 with Pi ≃int Qi (i = 1, 2) P ≡ n[P1] implies Q ≡ n[Q1] P cap → P1 implies Q cap →

cap

= ⇒ Q1 with P1 ≃int Q1

  • correction (≃int

⊆ =L): follows from congruence

22

slide-43
SLIDE 43

A coinductive characterisation =L coincides with intensional bisimilarity, ≃int: whenever P ≃int Q, P ≡ 0 implies Q ≡ 0 P ≡ P1|P2 implies Q ≡ Q1|Q2 with Pi ≃int Qi (i = 1, 2) P ≡ n[P1] implies Q ≡ n[Q1] P cap → P1 implies Q cap →

cap

= ⇒ Q1 with P1 ≃int Q1

  • correction (≃int

⊆ =L): follows from congruence

  • completeness (=L ⊆

≃int): holds without image-finiteness hypothesis (on full MA)

22

slide-44
SLIDE 44

Stuttering – imprecise capabilities When P | = in n.A, there exist P ′, P ′′ s.t. P ≡ in n.P ′ and P ′

(out n,in n)∗

− − − − − − − − − − → P ′′ (stuttering) and P ′′ | = A

23

slide-45
SLIDE 45

Stuttering – imprecise capabilities When P | = in n.A, there exist P ′, P ′′ s.t. P ≡ in n.P ′ and P ′

(out n,in n)∗

− − − − − − − − − − → P ′′ (stuttering) and P ′′ | = A Consequence: P1

(out n,in n)∗

− − − − − − − − − − → P2

(out n,in n)∗

− − − − − − − − − − → P1 iff in n.P1 =L in n.P2

23

slide-46
SLIDE 46

Stuttering – imprecise capabilities When P | = in n.A, there exist P ′, P ′′ s.t. P ≡ in n.P ′ and P ′

(out n,in n)∗

− − − − − − − − − − → P ′′ (stuttering) and P ′′ | = A Consequence: P1

(out n,in n)∗

− − − − − − − − − − → P2

(out n,in n)∗

− − − − − − − − − − → P1 iff in n.P1 =L in n.P2 Another subcalculus, MAsyn

IF : in any subterm cap.P, P is finite

23

slide-47
SLIDE 47

Stuttering – imprecise capabilities When P | = in n.A, there exist P ′, P ′′ s.t. P ≡ in n.P ′ and P ′

(out n,in n)∗

− − − − − − − − − − → P ′′ (stuttering) and P ′′ | = A Consequence: P1

(out n,in n)∗

− − − − − − − − − − → P2

(out n,in n)∗

− − − − − − − − − − → P1 iff in n.P1 =L in n.P2 Another subcalculus, MAsyn

IF : in any subterm cap.P, P is finite

  • MAsyn

IF

⊂ MAIF (finite, hence image-finite)

  • On MAsyn

IF ,

in n.P1 =L in n.P2 iff P1 =L P2

23

slide-48
SLIDE 48

The spectrum of separation of AL

  • n MAsyn

IF ,

=L = ≡

24

slide-49
SLIDE 49

The spectrum of separation of AL

  • n MAsyn

IF ,

=L = ≡

  • this does not hold on MAIF

24

slide-50
SLIDE 50

The spectrum of separation of AL

  • n MAsyn

IF ,

=L = ≡

  • this does not hold on MAIF

P0

def

= !open n.in n.out n.n[0] | n[0] P1

def

= !open n.in n.out n.n[0] | in n.out n.n[0] then

  • ut n.P0 =L out n.P1

24

slide-51
SLIDE 51

The spectrum of separation of AL

  • n MAsyn

IF ,

=L = ≡

  • this does not hold on MAIF

P0

def

= !open n.in n.out n.n[0] | n[0] P1

def

= !open n.in n.out n.n[0] | in n.out n.n[0] then

  • ut n.P0 =L out n.P1
  • without image-finiteness, =L is undecidable

24

slide-52
SLIDE 52

The spectrum of separation of AL

  • n MAsyn

IF ,

=L = ≡

  • this does not hold on MAIF

P0

def

= !open n.in n.out n.n[0] | n[0] P1

def

= !open n.in n.out n.n[0] | in n.out n.n[0] then

  • ut n.P0 =L out n.P1
  • without image-finiteness, =L is undecidable

proof: we define P1, P2 ∈ MAsyn

IF

such that P1→P2, but P2→∗P1 is undecidable. Then open n.P1

?

=L open n.P2 is undecidable.

24

slide-53
SLIDE 53

Completeness: key ideas We may capture the first layer of capabilities in a process (active context): in n.a[b[0]] | !b[open n.out n]

  • in n.[]1 | !b[open n.[]2]

the rest of the term (continuations) is preserved under reduction: P → Q ⇒

cont(Q) ⊆ cont(P)

Lemma (Partial characteristic formulas) For all P, Q, there is FP,Q such that P | = FP,Q and for all Q′ such that Q →∗ Q′, Q′ | = FP,Q iff Q′ ≃int P Theorem (Completeness) =L ⊆ ≃int.

25

slide-54
SLIDE 54

Conclusion: Separability of AL

  • AL expresses more than behaviour (=L ≈); for most of

processes, P =L Q iff P ≡ Q

  • However, for some extreme processes, the result fails be-

cause the ♦ has a weak semantic (→∗ instead of →).

  • The imprecisions due to the many-steps semantics:
  • η-convertibility: (x)
  • x|(y)P
  • =L

(y)P

  • stuttering: in n.P =L in n.Q

iff P

(out n,in n)∗

− − − − − − − − − − → Q

(out n,in n)∗

− − − − − − − − − − → P

26

slide-55
SLIDE 55

Decidability issues in AL

  • Model-checking and validity are mutually dependent (⊲,FP)
  • In the general case, both are undecidable (Talbot,Charatonik)

A short proof: P | = FQ ∧ ♦FR and ⊢ FQ → ♦FR boils down to decide wether Q →∗R.

  • Some cases where decidability has been obtained:
  • finite control Ambients, logic without ⊲ [ChaGorTal02]
  • static trees, logic without ∀ and ♦ [CalCarGor02]
  • Logical equivalence (=L) is not decidable

in the general case, because of stuttering [HirLozSan02], while still being “very close” to ≡ which is decidable (DalZilio)

27

slide-56
SLIDE 56

Extensions

28

slide-57
SLIDE 57

Adding communication n | (x).P − → P{x:=n}

29

slide-58
SLIDE 58

Adding communication n | (x).P − → P{x:=n}

  • messages and receptions may be captured using formulas

29

slide-59
SLIDE 59

Adding communication n | (x).P − → P{x:=n}

  • messages and receptions may be captured using formulas
  • as before:

⊲ image-finiteness ⇒ characteristic formulas ⊲ completeness: no need of image-finiteness

29

slide-60
SLIDE 60

Adding communication n | (x).P − → P{x:=n}

  • messages and receptions may be captured using formulas
  • as before:

⊲ image-finiteness ⇒ characteristic formulas ⊲ completeness: no need of image-finiteness

  • MAsyn

IF

: =L coincides with ≡η, i.e. ≡ on η-normal terms (x).

  • x|(y).P
  • →η

(y).P

29

slide-61
SLIDE 61

Adding name restriction

  • this extension is less clear
  • new logical connectives nA and In.A

[CarGor01]

  • we believe that:

⊲ logical equivalence is still ≡ on MAsyn

IF

for η-normalized terms ⊲ characteristic formulas exist ⊲ completeness only holds under image-finiteness

30

slide-62
SLIDE 62

Conclusion

31

slide-63
SLIDE 63

Main contributions

  • evidence of the strong expressiveness of AL
  • adjuncts are important in this setting
  • characterisations of =L (coinductive and inductive)
  • connections with other works about decidability in AL

→ to what extend do our technical developments (encoding

  • f persistence, completeness proof) depend on the specific

calculus of Mobile Ambients?

32

slide-64
SLIDE 64

Current investigations

  • Decidability with ⊲: what is tractable?
  • The π-calculus logic: what about encoding capabilities?

(We have results)

  • Less intensionnal logics: is there a way to define a “more

behavioural” =L?

33

slide-65
SLIDE 65

Annex

34

slide-66
SLIDE 66

Capability formulas

1Comp

def

= ¬0 ∧ 00 1Cap

def

= 1Comp ∧ ¬∃x. x[⊤] in n.A

def

= 1Cap ∧ ∀x.

  • n[0] ⊲ ♦ n[x[A]])@x
  • ut n.A

def

= 1Cap ∧ ∀m.

  • (♦m[A]|n[0])@n
  • @m
  • pen n.A

def

= 1Cap ∧ ∀m.

  • n[m[0]] ⊲ ♦ m[0]|A
  • ((cap)).A

def

= cap.⊤ ∧ ¬cap.¬A for any capability cap

35

slide-67
SLIDE 67

Characteristic formulas

F0

def

=

FP|Q

def

=

FP | FQ Fn[P]

def

= n[FP]

Fcap.P

def

= cap.FP ∧ ((cap)).

{P ′, P→∗P ′}/≃int FP ′

F!n[P]

def

=

Repn[](FP) F!cap.P

def

=

Repcap(Fcap.P)

36