Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology...

56
Computation π-calculus and biological modeling Lecture 3 Concurrency and Biology Luca Bortolussi 1 Alberto Policriti 2 1 Dipartimento di Matematica ed Informatica Università degli studi di Trieste Via Valerio 12/a, 34100 Trieste. [email protected] 2 Dipartimento di Matematica ed Informatica Università degli studi di Udine Via delle Scienze 206, 33100 Udine. [email protected] SISSA, January 2007

Transcript of Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology...

Page 1: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Lecture 3Concurrency and Biology

Luca Bortolussi1 Alberto Policriti2

1Dipartimento di Matematica ed InformaticaUniversità degli studi di TriesteVia Valerio 12/a, 34100 Trieste.

[email protected] di Matematica ed Informatica

Università degli studi di UdineVia delle Scienze 206, 33100 Udine.

[email protected]

SISSA, January 2007

Page 2: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Computation and Biology

Cells as computational machines?A. Regev and E. Shapiro. Cells as computation. Nature vol. 419 (2002)

[...] We believe that computer science can provide the much-needed

abstraction for biomolecular systems. Advanced computer science concepts

are being used to investigate the “molecule-as-computation” abstraction, in

which a system of interacting molecular entities is described and modeled by

a system of interacting computational entities. Abstract computer languages,

such as Petri Nets, State Charts and the Pi-calculus, were developed for the

specification and study of systems of interacting computations, yet are now

being used to represent biomolecular systems, including regulatory,

metabolic and signalling pathways, as well as multicellular processes such as

immune responses. [...]

Page 3: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Outline

1 Computation

2 π-calculus and biological modeling

Page 4: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Outline

1 Computation

2 π-calculus and biological modeling

Page 5: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

What is Computation?

Analyzing Computation

Yesterday (sequential)(formal) analysis of the (informal) notion of computability

no hardware

Today (concurrent)(formal) evolution of the (informal) notion of informationpassing

different kinds of hardware

Page 6: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

History

Church“An Unsolvable Problem of Elementary Number Theory”

Turing“On Computable Numbers, with an application to theEntscheidungsproblem”

MilnerTuring, Computing and Communication

Page 7: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Old and New computing

Page 8: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Computation vs. Interaction

Page 9: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Outline

1 Computation

2 π-calculus and biological modeling

Page 10: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

π-calculus: Computing by Exchanging Information

π-calculusThere are two basic entities: agents and names

Agents interacts by exchanging names throughcommunication channels (message-based computation).

Computation resides in the evolution of the status of theagents, by means of message passing (behavioralcomputation).

That’s all!

R. Milner, J. Parrow, D. Walker: A Calculus of Mobile Processes, I & II, Inf. Comput. , vol. 100, 1992

Page 11: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

π-calculus: Graphical Syntax

A. Phillips, L. Cardelli: A Graphical Representation for the Stochastic π-calculus, BioCONCUR05 , 2005.

Page 12: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

π-calculus: Formal Syntax

π ::= x〈n〉 Output| x(m) Input, x 6= m

Σ ::= 0 Null| π.P + Σ Action

P, Q ::= νxP Restriction| P ‖ Q Parallel Composition| Σ Summation| !π.P Repication

Page 13: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: basics

Agent P sends 5 to agent R along channel a.

P ≡ a〈5〉.P ′ and R ≡ a(x).R′

νa(a〈5〉.P ′ ‖ a(x).R′) ⇒ νa(P ′ ‖ R′[5/x ])

Page 14: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: basics

Agent P sends 5 to agent R along channel a.

P ≡ a〈5〉.P ′ and R ≡ a(x).R′

νa(a〈5〉.P ′ ‖ a(x).R′) ⇒ νa(P ′ ‖ R′[5/x ])

Page 15: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: basics

Agent P sends 5 to agent R along channel a.

P ≡ a〈5〉.P ′ and R ≡ a(x).R′

νa(a〈5〉.P ′ ‖ a(x).R′) ⇒ νa(P ′ ‖ R′[5/x ])

Page 16: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: flow in a network

Agent P sends a message to R through Q.

P ≡ a〈n〉.P ′ Q ≡ a(y).b〈y〉.Q′ R ≡ b(x).R′

νb νa(a〈n〉.P′ ‖ a(y).b〈y〉.Q′ ‖ b(x).R′)⇓

νb νa(P′ ‖ b〈n〉.Q′ ‖ b(x).R′)⇓

νb νa(P′ ‖〉.Q′ ‖ R′[n/x ])

Example: dynamic reconfiguration of networks

Page 17: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: flow in a network

Agent P sends a message to R through Q.

P ≡ a〈n〉.P ′ Q ≡ a(y).b〈y〉.Q′ R ≡ b(x).R′

νb νa(a〈n〉.P′ ‖ a(y).b〈y〉.Q′ ‖ b(x).R′)⇓

νb νa(P′ ‖ b〈n〉.Q′ ‖ b(x).R′)⇓

νb νa(P′ ‖〉.Q′ ‖ R′[n/x ])

Example: dynamic reconfiguration of networks

Page 18: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: flow in a network

Agent P sends a message to R through Q.

P ≡ a〈n〉.P ′ Q ≡ a(y).b〈y〉.Q′ R ≡ b(x).R′

νb νa(a〈n〉.P′ ‖ a(y).b〈y〉.Q′ ‖ b(x).R′)⇓

νb νa(P′ ‖ b〈n〉.Q′ ‖ b(x).R′)⇓

νb νa(P′ ‖〉.Q′ ‖ R′[n/x ])

Example: dynamic reconfiguration of networks

Page 19: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: flow in a network

Agent P sends a message to R through Q.

P ≡ a〈n〉.P ′ Q ≡ a(y).b〈y〉.Q′ R ≡ b(x).R′

νb νa(a〈n〉.P′ ‖ a(y).b〈y〉.Q′ ‖ b(x).R′)⇓

νb νa(P′ ‖ b〈n〉.Q′ ‖ b(x).R′)⇓

νb νa(P′ ‖〉.Q′ ‖ R′[n/x ])

Example: dynamic reconfiguration of networks

Page 20: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Abstract Machines of Systems Biology (L. Cardelli)

Page 21: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

π-calculus for biology

Can we use π-calculus for (biological) simulation?

Molecule ProcessInteraction capability Channel

Interaction CommunicationModification State change

(of cellular components) (state transition systems)

A. Regev and E. Shapiro Cellular Abstractions: Cells as Computation. Nature , vol. 429 (2002)

Quantitative aspects must enter the picture: interaction “rates”assigned to channels.

C.Priami. The stochastic pi-calculus. The Computer Journal 38: 578-589, 1995.

Page 22: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: Na + Cl

Simulate!

Page 23: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: H + Cl

A. Phillips - Feb. 2005

Simulate!

Page 24: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: a genetic network with feedback

Page 25: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Example: π-encoding

Simulate!

Page 26: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

Implementing the Stochastic π-calculus

A Correct Abstract Machine for the Stochastic Pi-calculusA. Phillips and L. Cardelli

Abstract . This paper presents an abstract machine for avariant of the stochastic pi-calculus, in order to correctly modelthe stochastic simulation of biological processes. The abstractmachine is proved sound and complete with respect to thecalculus, and then used as the basis for implementing astochastic simulator. The correctness of the machine helpsensure that the simulator is correctly implemented, givinggreater confidence in the simulation results. A graphicalrepresentation for the pi-calculus is also presented, as apotential front-end to the simulator.

http://research.microsoft.com/~aphillip/spim/

Page 27: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Computation π-calculus and biological modeling

The logic of interaction

R. Milner. Turing, computing and communication, 1997.

My message is that we must develop this logical theory [thelogic of interaction]; partly because otherwise the interactivesystems which we build, or which just happen, will escape ourunderstanding and the consequences may be serious, andpartly because it is a new scientific challenge. Besides, it hasall the charm of inventing the science of navigation whilealready on board ship.

Page 28: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Outline

3 Other π examples

Page 29: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: modifying connectivity

Modeling a client accessing a printer through a server:

Return

Page 30: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: channels sent over channels

Agent S gives access to agent C to to printer P.

S ≡ b〈a〉.S′ C ≡ b(y).y〈m〉.0 P ≡ a(x).P ′

νb νa(b〈a〉.S′ ‖ b(y).y〈m〉.0 ‖ a(x).P′) ⇒ νb νa(S′ ‖ a〈m〉.0 ‖ a(x).P′)

Return

Page 31: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: channels sent over channels

Agent S gives access to agent C to to printer P.

S ≡ b〈a〉.S′ C ≡ b(y).y〈m〉.0 P ≡ a(x).P ′

νb νa(b〈a〉.S′ ‖ b(y).y〈m〉.0 ‖ a(x).P′) ⇒ νb νa(S′ ‖ a〈m〉.0 ‖ a(x).P′)

Return

Page 32: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: channels sent over channels

Agent S gives access to agent C to to printer P.

S ≡ b〈a〉.S′ C ≡ b(y).y〈m〉.0 P ≡ a(x).P ′

νb νa(b〈a〉.S′ ‖ b(y).y〈m〉.0 ‖ a(x).P′) ⇒ νb νa(S′ ‖ a〈m〉.0 ‖ a(x).P′)

Return

Page 33: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: Na + Cl - continued

Return

Page 34: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: Na + Cl - continued

Return

Page 35: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: Na + Cl - continued

Return

Page 36: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: Na + Cl - continued

Return

Page 37: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: Na + Cl - continued

Return

Page 38: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: H + Cl - continued

Return

Page 39: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: H + Cl - continued

Return

Page 40: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: H + Cl - continued

Return

Page 41: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: H + Cl - continued

Return

Page 42: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: H + Cl - continued

Return

Page 43: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 44: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 45: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 46: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 47: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 48: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 49: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 50: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 51: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 52: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 53: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 54: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 55: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return

Page 56: Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology Luca Bortolussi1 Alberto Policriti2 1Dipartimento di Matematica ed Informatica Università

Other π examples

Example: genetic network simulation

Return