Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology...
Transcript of Lecture 3 Concurrency and Biologybortolu/files/Didattica... · Lecture 3 Concurrency and Biology...
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.
SISSA, January 2007
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. [...]
Computation π-calculus and biological modeling
Outline
1 Computation
2 π-calculus and biological modeling
Computation π-calculus and biological modeling
Outline
1 Computation
2 π-calculus and biological modeling
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
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
Computation π-calculus and biological modeling
Old and New computing
Computation π-calculus and biological modeling
Computation vs. Interaction
Computation π-calculus and biological modeling
Outline
1 Computation
2 π-calculus and biological modeling
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
Computation π-calculus and biological modeling
π-calculus: Graphical Syntax
A. Phillips, L. Cardelli: A Graphical Representation for the Stochastic π-calculus, BioCONCUR05 , 2005.
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
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 ])
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 ])
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 ])
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
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
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
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
Computation π-calculus and biological modeling
Abstract Machines of Systems Biology (L. Cardelli)
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.
Computation π-calculus and biological modeling
Example: Na + Cl
Simulate!
Computation π-calculus and biological modeling
Example: H + Cl
A. Phillips - Feb. 2005
Simulate!
Computation π-calculus and biological modeling
Example: a genetic network with feedback
Computation π-calculus and biological modeling
Example: π-encoding
Simulate!
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/
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.
Other π examples
Outline
3 Other π examples
Other π examples
Example: modifying connectivity
Modeling a client accessing a printer through a server:
Return
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
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
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
Other π examples
Example: Na + Cl - continued
Return
Other π examples
Example: Na + Cl - continued
Return
Other π examples
Example: Na + Cl - continued
Return
Other π examples
Example: Na + Cl - continued
Return
Other π examples
Example: Na + Cl - continued
Return
Other π examples
Example: H + Cl - continued
Return
Other π examples
Example: H + Cl - continued
Return
Other π examples
Example: H + Cl - continued
Return
Other π examples
Example: H + Cl - continued
Return
Other π examples
Example: H + Cl - continued
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return
Other π examples
Example: genetic network simulation
Return