@: a -based Process Calculus for the Implementation of - - PowerPoint PPT Presentation

a based process calculus for the implementation of
SMART_READER_LITE
LIVE PREVIEW

@: a -based Process Calculus for the Implementation of - - PowerPoint PPT Presentation

@: a -based Process Calculus for the Implementation of Compartmentalised Bio-inspired Calculi Cristian Versari versari(at)cs.unibo.it joint work with Roberto Gorrieri Department of Computer Science University of Bologna International


slide-1
SLIDE 1

π@: a π-based Process Calculus for the Implementation of Compartmentalised Bio-inspired Calculi

Cristian Versari

versari(at)cs.unibo.it

joint work with Roberto Gorrieri

Department of Computer Science University of Bologna

International School on Formal Methods for the Design of Computer, Communication and Software Systems: Computational Systems Biology

Versari (UniBO) π@ calculus SFM08-Bio 1 / 42

slide-2
SLIDE 2

Outline

Introduction Biochemical modelling with the π-Calculus Modelling compartments in π-Calculus Two biologically inspired calculi: Bioambients, Brane π@: a core calculus Encodings of bio-calculi into π@ Conclusion

Versari (UniBO) π@ calculus SFM08-Bio 2 / 42

slide-3
SLIDE 3

Introduction The π-Calculus

Biochemical modelling with the π-Calculus

Main ideas free floating biochemical elements (e.g. molecules) m1, m2, . . . = ⇒ parallel processes M1, M2, . . .; I/O channel = ⇒ reaction capability; reaction = ⇒ synchronisation/communication; Example S

  • M1
  • M1
  • · · ·
  • M2
  • M2
  • · · ·

Versari (UniBO) π@ calculus SFM08-Bio 3 / 42

slide-4
SLIDE 4

Introduction The π-Calculus

Biochemical modelling with the π-Calculus

Binary reactions Chemical reaction π-Calculus system R : m1 + m2 → m3 + m4 = ⇒ M1 r.M3 M2 r.M4 M1|M2 → M3|M4 Example M1|M1| · · · |M2|M2| · · · → M3|M1| · · · |M4|M2| · · ·

Versari (UniBO) π@ calculus SFM08-Bio 4 / 42

slide-5
SLIDE 5

Introduction The π-Calculus

Biochemical modelling with the π-Calculus

Mutually exclusive reactions Chemical reaction π-Calculus system R1 : m1 + m2 → m4 R2 : m1 + m3 → m5 = ⇒ M1 r1.M4 + r2.M5 M2 r1.0 M3 r2.0 Example M1|M2|M3 → M4

  • M3

Example M1|M2|M3 → M5

  • M2

Versari (UniBO) π@ calculus SFM08-Bio 5 / 42

slide-6
SLIDE 6

Introduction The π-Calculus

Biochemical modelling with the π-Calculus

Molecular binding Chemical reaction π-Calculus system R1 : m1 + m1 → m11 R−

1 :

m11 → m1 + m1 R11 : m11 + m1 → m111 R−

11 :

m111 → m11 + m1 . . . = ⇒ M(bl) rbl.Ml(bl) + r(br).Mr(bl, br) Ml(bl) r(br).Mlr(bl, br) + bl.M Mr(bl, br) rbl.Mlr(bl, br) + bl.M Mlr(bl, br) bl.Mr(br) Example νa M(a) | νb M(b) | νc M(c) → · · · → νabc (Mr|Mlr|Ml)

Versari (UniBO) π@ calculus SFM08-Bio 6 / 42

slide-7
SLIDE 7

Introduction Limits

Compartments

Biological compartments systems organised into complex spatial and functional configurations (organelles, cells, tissues, organs, . . . ) partial mobility of simple elements but also of whole structures (membrane channels, vesicular transport, . . . )

Versari (UniBO) π@ calculus SFM08-Bio 7 / 42

slide-8
SLIDE 8

Introduction Limits

Static Compartment Modelling

Main ideas distinct names for same chemical species in different compartments transport as “renaming” reaction Example Compartments A, B R : m1 + m2 → m3 + m4 = ⇒ RA : ma

1 + ma 2 → ma 3 + ma 4

RB : mb

1 + mb 2 → mb 3 + mb 4

Inter-compartment transport: TAB : ma

1 → mb 1

Versari (UniBO) π@ calculus SFM08-Bio 8 / 42

slide-9
SLIDE 9

Introduction Limits

Dynamic Compartment Modelling

Example Exocytosis: Problems how to grant that all processes are properly renamed? how to avoid overlapping of compartment operations?

Versari (UniBO) π@ calculus SFM08-Bio 9 / 42

slide-10
SLIDE 10

Introduction Bio-calculi

Bio-inspired Process Calculi with Compartments

BioAmbients Brane Calculi Beta-binders

Compartments explicitly formalised used at different levels of abstraction represented by ambients/membranes/boxes may be nested dynamical (created, merged/split, . . . )

Versari (UniBO) π@ calculus SFM08-Bio 10 / 42

slide-11
SLIDE 11

Introduction Bio-calculi

Overview of BioAmbients

BioAmbients: Mobile Ambients added with communication primitives compartments are represented by ambients ambients contain processes or nested ambients = ⇒ tree structure special primitives allow π-Calculus-like name communication ambients may exit from, move inside, or merge with other ambients Example n[ P

  • Q
  • m[ R ] ]

Versari (UniBO) π@ calculus SFM08-Bio 11 / 42

slide-12
SLIDE 12

Introduction Bio-calculi

Ambient capabilities

Example Merge: m[merge+ c.P|Q]

  • n[merge− c.R|S] → m[P|Q|R|S]

Versari (UniBO) π@ calculus SFM08-Bio 12 / 42

slide-13
SLIDE 13

Introduction Bio-calculi

Ambient capabilities

Example Enter/accept: m[enter c.P|Q] | n[accept c.R|S] → n[ R | S | m[P|Q] ] Exit/expel: n[m[exit c.P|Q] | expel c.R|S] → m[P|Q] | n[R|S]

Versari (UniBO) π@ calculus SFM08-Bio 13 / 42

slide-14
SLIDE 14

Introduction Bio-calculi

Ambient communications

Example Local (intra-ambient): m[local c!{a}.P|local c?{x}.Q] → m[P|Q{a/x}] Sibling-to-sibling (inter-ambient): m[s2s c!{a}.P] | n[s2s c?{x}.Q] → m[P] | n[Q{a/x}]

Versari (UniBO) π@ calculus SFM08-Bio 14 / 42

slide-15
SLIDE 15

Introduction Bio-calculi

Ambient communications

Example Parent-to-child/child-to-parent (inter-ambient, between nested ambients): m[p2c c!{a}.P | n[c2p c?{x}.Q] ] → m[P | n[Q{a/x}] ] Child-to-parent/parent-to-child (inter-ambient, between nested ambients): m[p2c c?{x}.P | n[c2p c!{a}.Q] ] → m[P{a/x} | n[Q] ]

Versari (UniBO) π@ calculus SFM08-Bio 15 / 42

slide-16
SLIDE 16

Introduction Bio-calculi

Overview of Brane Calculi

Brane Calculi: membranes as active sites of computation compartments are represented by membranes membranes may contain other membranes in a tree structure processes are located on membranes membranes transformations preserve bitonality Example r|r′( | P ◦ s( | Q | ) | ) ◦ t|t′( | R | )

Versari (UniBO) π@ calculus SFM08-Bio 16 / 42

slide-17
SLIDE 17

Introduction Bio-calculi

Bitonal operations

Example Exocytosis: ( | exo⊥.t

  • t′(

|exo.s

  • s′(

|P| ) ◦ Q| ) | ) → ( | P ◦ s

  • s′

t

  • t′(

|Q| ) | )

Versari (UniBO) π@ calculus SFM08-Bio 17 / 42

slide-18
SLIDE 18

Introduction Bio-calculi

Bitonal operations

Example Phagocytosis: phago.s|s′( |P| ) ◦ phago⊥(r).t|t′( |Q| ) → t|t0( |r( |s|s′( |P| )| ) ◦ Q| )

Versari (UniBO) π@ calculus SFM08-Bio 18 / 42

slide-19
SLIDE 19

Introduction Bio-calculi

Motivation

Bio-inspired process calculi: Pros faithful modelling easy to use (hopefully...) Cons specialised no easy cross coding need to develop new

theoretical analyses software tools

Motivation what common compartment-related features? what the simplest/minimal language primitives to express all of (most

  • f) them?

Versari (UniBO) π@ calculus SFM08-Bio 19 / 42

slide-20
SLIDE 20

π@

π@ (paillette): a Conservative Core Calculus

Aim To provide a core calculus simple, general purpose embedding the key features of bio-inspired calculi The π@ Calculus [Versari, ESOP’07] π@ ::= π-Calculus + polyadic synchronisation + priority π@ features conservative π-Calculus extension polyadic synchronisation for modeling compartment scoping priority for gaining atomicity of sequences of operations

Versari (UniBO) π@ calculus SFM08-Bio 20 / 42

slide-21
SLIDE 21

π@

Localisation by means of Polyadic Synchronisation

Polyadic synchronisation: channels are identified by one or more names π-Calculus P ≡ c.P′ π@ P ≡ c1@c2.P′ Compartments may be represented by one of the names of each channel: P ≡ c@compartmentP.P′ Q ≡ c@compartmentQ.Q′ P and Q may share free names P and Q may interact iff compartmentP = compartmentQ

Versari (UniBO) π@ calculus SFM08-Bio 21 / 42

slide-22
SLIDE 22

π@

Atomicity by means of Priority

Priority: high-priority reactions happen before lower-priority ones Example S ≡ l.P1

  • l.P2
  • h.Q1
  • h.Q2

/

T ≡ P1

  • P2
  • h.Q1
  • h.Q2

S ≡ l.P1

  • l.P2
  • h.Q1
  • h.Q2

→ S2 ≡ l.P1

  • l.P2
  • Q1
  • Q2

→ S3 ≡ P1

  • P2
  • Q1
  • Q2

Each atomic sequence of operations may be encoded as a low priority reaction followed by an unlimited number of high priority reactions: P1 ≡ seq1.op11.op12.op13 P2 ≡ seq2.op21.op22.op23 The executions of P1 and P2 never overlap

Versari (UniBO) π@ calculus SFM08-Bio 22 / 42

slide-23
SLIDE 23

π@

π@ Syntax

π@ syntax P ::=

  • i∈I πi.Pi
  • P
  • Q
  • !P
  • (ν x)P

π ::= τ

  • µ1@ · · · @µn : k(x)
  • µ1@ · · · @µn : kx

each channel is represented by a vector of one or more names µ1, . . . , µn each input or output action has a priority k higher priority actions are executed first priority is static

Versari (UniBO) π@ calculus SFM08-Bio 23 / 42

slide-24
SLIDE 24

π@

π@ Semantics

π@ reduction semantics π@ semantics

τ / ∈

i<k I i(M)

τ :k.P + M →k P P →k P′ (ν x)P →k (ν x)P′ τ / ∈

i<k I i(M

  • N)

(µ:k(y).P + M)

  • (µ:kz.Q + N) →k P{z/y}
  • Q

P →k P′ τ / ∈

i<k I i(P

  • Q)

P

  • Q →k P′

Q P ≡ Q P →k P′ P′ ≡ Q′ Q →k Q′

the only difference from π-Calculus semantics is the side condition in red: no additional rules required; the I k(P) function represents the set of actions of priority k ready to be executed by the process P.

Versari (UniBO) π@ calculus SFM08-Bio 24 / 42

slide-25
SLIDE 25

π@

Encodings into π@

Encodings

π@

Parallel-preserving encodings of BioAmbients, Brane Calculi [Versari, ESOP’07] some P systems (with maximal parallelism!) [Versari, MECBIC’07] Beta-binders [Cappello, Quaglia, to appear] into π@ have been provided.

Versari (UniBO) π@ calculus SFM08-Bio 25 / 42

slide-26
SLIDE 26

π@

Encoding requirements

Definition Reasonable encoding: parallel-preserving

  • P1
  • P2
  • =
  • P1
  • P2
  • renaming preserving: σ permutation of names,
  • σ(P)
  • = θ(
  • P
  • );

termination invariance: P ⇓ iff

  • P
  • ⇓, P ⇑ iff
  • P
  • ⇑;
  • perational correspondence:

if P → P′ then

  • P
  • →∗
  • P′
  • ,

if

  • P
  • →∗ Q then ∃P′ : P →∗ P′ ∧ Q →∗
  • P′
  • .

Versari (UniBO) π@ calculus SFM08-Bio 26 / 42

slide-27
SLIDE 27

π@ Encodings

Encoding Bioambients

Example n[ P

  • Q
  • m[ R ] ]

Encoding specifies compartment and parent compartment names:

  • P
  • P
  • c,pc

Basic operators are homomorphically coded

  • P
  • Q
  • c,pc

  • P
  • c,pc
  • Q
  • c,pc
  • (new x)P
  • c,pc

≡ (ν x)

  • P
  • c,pc

Nested compartments are represented by private names

  • [ P ]
  • c,pc

≡ (ν cmp)

  • P
  • cmp,c

Versari (UniBO) π@ calculus SFM08-Bio 27 / 42

slide-28
SLIDE 28

π@ Encodings

Encoding Bioambients Communications

Local communication:

  • local c!{a}.P
  • m,pm

local@c@ma.

  • P
  • m,pm
  • local c?{x}.Q
  • m,pm

local@c@m(x).

  • Q
  • m,pm

Example m[local c!{a}.P|local c?{x}.Q] → m[P|Q{a/x}]

Versari (UniBO) π@ calculus SFM08-Bio 28 / 42

slide-29
SLIDE 29

π@ Encodings

Encoding Bioambients Communications

Sibling-to-sibling communication:

  • s2s c!{a}.P
  • m,pm

s2s@c@pma.

  • P
  • m,pm
  • s2s c?{x}.Q
  • n,pn

s2s@c@pn(x).

  • Q
  • n,pn

Example m[s2s c!{a}.P] | n[s2s c?{x}.Q] → m[P] | n[Q{a/x}]

Versari (UniBO) π@ calculus SFM08-Bio 29 / 42

slide-30
SLIDE 30

π@ Encodings

Encoding Bioambients Communications

Parent-to-child communication:

  • p2c c!{a}.P
  • m,pm

p2c@c@ma.

  • P
  • m,pm
  • c2p c?{x}.P
  • n,pn

p2c@c@pn(x).

  • P
  • n,pn

Example m[p2c c!{a}.P | n[c2p c?{x}.Q] ] → m[P | n[Q{a/x}] ]

Versari (UniBO) π@ calculus SFM08-Bio 30 / 42

slide-31
SLIDE 31

π@ Encodings

Encoding Bioambients Capabilities

Merge:

  • merge+ c.P
  • m,pm

merge@c@pmm.

  • P
  • m,pm
  • merge− c.P
  • n,pn

merge@c@pn(x).bcastmerge, n, x.

  • P
  • x,pn

Example m[merge+ c.P|Q]

  • n[merge− c.R|S] → m[P|Q|R|S]

Versari (UniBO) π@ calculus SFM08-Bio 31 / 42

slide-32
SLIDE 32

π@ Encodings

Encoding Bioambients Capabilities

Enter/accept:

  • accept c.R
  • n,pn

enter@c@pnn.

  • R
  • n,pn
  • enter c.P
  • m,pm

enter@c@pm(x).bcastenter, m, x.

  • P
  • m,x

Example m[enter c.P|Q] | n[accept c.R|S] → n[ R | S | m[P|Q] ]

Versari (UniBO) π@ calculus SFM08-Bio 32 / 42

slide-33
SLIDE 33

π@ Encodings

Encoding Bioambients Capabilities

Exit/expel:

  • expel c.R
  • n,pn

expel@c@npn.

  • R
  • n,pn
  • exit c.P
  • m,pm

expel@c@pm(x).bcastexit, m, x.

  • P
  • m,x

Example n[m[exit c.P|Q] | expel c.R|S] → m[P|Q] | n[R|S]

Versari (UniBO) π@ calculus SFM08-Bio 33 / 42

slide-34
SLIDE 34

π@ Encodings

Encoding Brane

Basic Encodings Example r|r′( | P ◦ s( | Q | ) | ) ◦ t|t′( | R | )

  • P
  • P
  • pc
  • P ◦ Q
  • pc
  • P
  • pc
  • Q
  • pc
  • s(

|P| )

  • pc
  • (ν c)(
  • s
  • c,pc
  • P
  • c)
  • s
  • r
  • c,pc
  • s
  • c,pc
  • r
  • c,pc

Versari (UniBO) π@ calculus SFM08-Bio 34 / 42

slide-35
SLIDE 35

π@ Encodings

Encoding Brane Actions

Exocytosis

  • exo⊥

n .t

  • c,pc

exo@n@cpc.

  • t
  • c,pc
  • exon.s
  • c′,pc′

exo@n@pc′(x).bcastexo, c′, x.

  • s
  • pc′,x

Example ( | exo⊥.t

  • t′(

|exo.s

  • s′(

|P| ) ◦ Q| ) | ) → ( | P ◦ s

  • s′

t

  • t′(

|Q| ) | )

Versari (UniBO) π@ calculus SFM08-Bio 35 / 42

slide-36
SLIDE 36

π@ Encodings

Encoding Brane Actions

Phagocytosis

  • phago⊥

n (r).t

  • c,pc

(ν x)

  • phago@n@pcx.(
  • t
  • c,pc
  • r
  • x,c)
  • phagon.s
  • c′,pc′

phago@n@pc′(x).bcastphago, c′, x.

  • s
  • c′,x

Example phago.s|s′( |P| ) ◦ phago⊥(r).t|t′( |Q| ) → t|t0( |r( |s|s′( |P| )| ) ◦ Q| )

Versari (UniBO) π@ calculus SFM08-Bio 36 / 42

slide-37
SLIDE 37

π@ Encodings

Encoding Comparison

Example

  • exit c.P
  • m,pm

expel@c@pm(x).bcastexit, m, x.

  • P
  • m,x
  • exon.s
  • c′,pc′

exo@n@pc′(x).bcastexo, c′, x.

  • s
  • pc′,x

The encodings of BioAmbients and Brane Calculi reflect the similar tree structure of compartments: the difference is the scope of the name of compartments reflect the atonality/bitonality of operations: the difference is the name broadcasted to the involved processes show that the key mechanisms for handling the compartment structure are the same (scoping of communication, broadcast-like messages to notify changes in the structure)

Versari (UniBO) π@ calculus SFM08-Bio 37 / 42

slide-38
SLIDE 38

Conclusion

Conclusion

π@ Features simple (very close to π-Calculus syntax) conservative (almost same π-Calculus semantics) concise (reactions are specified once, additional information on compartments and volumes are specified only if required) little implementation effort as extension of current implementations of the π-Calculus compartments with dynamical structure cross-compartment elements are straightforwardly and consistently specified almost unlimited compartment semantics (able to encode BioAmbients, Brane Calculi, Projective Brane, . . . )

Versari (UniBO) π@ calculus SFM08-Bio 38 / 42

slide-39
SLIDE 39

Conclusion

Future Work

Future work further encodings of bio-inspired calculi into π@

  • r in stochastic π@ by preserving stochastic semantics

further investigation on the expressiveness of priority non-interleaving semantics for π@

Versari (UniBO) π@ calculus SFM08-Bio 39 / 42

slide-40
SLIDE 40

Conclusion

  • C. Ene and T. Muntean.

Expressiveness of point-to-point versus broadcast communications. In G. Ciobanu and G. Paun, editors, FCT, volume 1684 of Lecture Notes in Computer Science, pages 258–268. Springer, 1999.

  • D. T. Gillespie.

Exact stochastic simulation of coupled chemical reactions.

  • J. Phys. Chem., 81(25):2340–2361, 1977.
  • R. Milner.

Communicating and mobile systems: the π-calculus. Cambridge University Press, New York, NY, USA, 1999.

  • A. Phillips and L. Cardelli.

A correct abstract machine for the stochastic pi-calculus. In Bioconcur’04. ENTCS, August 2004.

Versari (UniBO) π@ calculus SFM08-Bio 40 / 42

slide-41
SLIDE 41

Conclusion

  • I. Phillips.

Ccs with priority guards. In K. G. Larsen and M. Nielsen, editors, CONCUR, volume 2154 of Lecture Notes in Computer Science, pages 305–320. Springer, 2001.

  • C. Versari.

A core calculus for a comparative analysis of bio-inspired calculi. In R. D. Nicola, editor, ESOP, volume 4421 of Lecture Notes in Computer Science, pages 411–425. Springer, 2007.

  • C. Versari.

Encoding catalytic p systems in pi@.

  • Electr. Notes Theor. Comput. Sci., 171(2):171–186, 2007.
  • C. Versari and N. Busi.

Stochastic simulation of biological systems with dynamical compartment structure. In M. Calder and S. Gilmore, editors, CMSB, volume 4695 of Lecture Notes in Computer Science, pages 80–95. Springer, 2007.

Versari (UniBO) π@ calculus SFM08-Bio 41 / 42

slide-42
SLIDE 42

Conclusion

  • C. Versari, N. Busi, and R. Gorrieri.

On the expressive power of global and local priority in process calculi. In L. Caires and V. T. Vasconcelos, editors, CONCUR, volume 4703 of Lecture Notes in Computer Science, pages 241–255. Springer, 2007.

  • I. Cappello and P. Quaglia.

A translation of Beta-binders in a prioritized pi-calculus. To appear.

Versari (UniBO) π@ calculus SFM08-Bio 42 / 42