Perspectives on Concurrency and Biological Sciences Luca Bortolussi - - PowerPoint PPT Presentation

perspectives on concurrency and biological sciences
SMART_READER_LITE
LIVE PREVIEW

Perspectives on Concurrency and Biological Sciences Luca Bortolussi - - PowerPoint PPT Presentation

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Perspectives on Concurrency and Biological Sciences Luca Bortolussi 1 1 Department of Mathematics and Informatics University of Udine, Italy. SISSA, Trieste, 12 th


slide-1
SLIDE 1

Concurrency and System Biology Increasing Expressiveness Beyond Simulations

Perspectives on Concurrency and Biological Sciences

Luca Bortolussi1

1Department of Mathematics and Informatics

University of Udine, Italy.

SISSA, Trieste, 12th December 2005

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-2
SLIDE 2

Concurrency and System Biology Increasing Expressiveness Beyond Simulations

Outline

1

Concurrency and System Biology Concurrency and Computations π-calculus Modeling Biological Systems Simulation and Semantics

2

Increasing Expressiveness Concurrent Constraint Programming Encoding Protein Folding A Glance on Concurrent Optimization Again on Modeling Biological Systems

3

Beyond Simulations Behaviours, Syntax and Dynamical Systems Checking the Models

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-3
SLIDE 3

Concurrency and System Biology Increasing Expressiveness Beyond Simulations

Outline

1

Concurrency and System Biology Concurrency and Computations π-calculus Modeling Biological Systems Simulation and Semantics

2

Increasing Expressiveness Concurrent Constraint Programming Encoding Protein Folding A Glance on Concurrent Optimization Again on Modeling Biological Systems

3

Beyond Simulations Behaviours, Syntax and Dynamical Systems Checking the Models

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-4
SLIDE 4

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Concurrency and Computations

Old and New Computation

  • R. Milner: Turing, Computing and Communication, In recollection of Alan Turing, 1997.

Old Computing (formal) analysis of the (informal) notion of computability Sequential New Computing (formal) evolution of the (informal) notion of information passing Concurrent

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-5
SLIDE 5

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Concurrency and Computations

Computation vs. Interaction

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-6
SLIDE 6

Concurrency and System Biology Increasing Expressiveness Beyond Simulations π-calculus

Computing by Exchanging Information

π-calculus There are two basic entities: agents and names Agents interacts by exchanging names through communication channels (message-based computation). Computation resides in the evolution of the status of the agents, by means of message passing (behavioral computation). That’s all!

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

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-7
SLIDE 7

Concurrency and System Biology Increasing Expressiveness Beyond Simulations π-calculus

π-calculus: Graphical Syntax

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

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-8
SLIDE 8

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Modeling Biological Systems

Stochastic π-calculus (C. Priami)

Can we use π-calculus for (biological) simulation? Molecule Process Interaction capability Channel Interaction Communication Modification 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. Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-9
SLIDE 9

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Modeling Biological Systems

Example: H + Cl

  • A. Phillips - Feb. 2005

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-10
SLIDE 10

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Modeling Biological Systems

Example: H + Cl

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-11
SLIDE 11

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Modeling Biological Systems

Another Example: Repressilator

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-12
SLIDE 12

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Modeling Biological Systems

Another Example: Repressilator

  • L. Cardelli - Sept. 2005

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-13
SLIDE 13

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Simulation and Semantics

How does it work?

The Execution Model A state is the collection of all agents present at a given point in the simulation. In every state consider all pairs of agents ready to communicate on channels. These are the active transitions. Channel’s rates are associated to an exponential probability distribution over non-negative reals (time). A graph can be build (state-transition graph), where the vertices are the states and each enabled transition is an edge, labeled by the corresponding rate.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-14
SLIDE 14

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Simulation and Semantics

How does it work?

The Simulation In every state, one transition is chosen among the active

  • nes by running a race condition: the quickest

communication wins and it is executed. The execution of a program corresponds to the execution

  • f a Continuous Time Markov Chain.

It’s a linear time evolution in the state space. SPiM is an Abstract Machine that implements this mechanism to perform simulations.

  • A. Phillips and L. Cardelli: A Correct Abstract Machine for the Stochastic π-calculus, BioCONCUR04, 2004.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-15
SLIDE 15

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Simulation and Semantics

Pro and Cons

Pro The modeling technique is modular and compositional. The same model (of a protein, of a gene) can be used in different contexts. It’s based on a well developed theory, and on an attractive metaphor.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-16
SLIDE 16

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Simulation and Semantics

Pro and Cons

Cons The behaviour of the system depends on the rates, and it is not so clear how to assign them. There is the possibility of modeling only the interaction among biological entities. It is not natural to introduce a form of memory or some (algorithmical) computational mechanism. Modeling complex interactions can be very difficult.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-17
SLIDE 17

Concurrency and System Biology Increasing Expressiveness Beyond Simulations

Outline

1

Concurrency and System Biology Concurrency and Computations π-calculus Modeling Biological Systems Simulation and Semantics

2

Increasing Expressiveness Concurrent Constraint Programming Encoding Protein Folding A Glance on Concurrent Optimization Again on Modeling Biological Systems

3

Beyond Simulations Behaviours, Syntax and Dynamical Systems Checking the Models

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-18
SLIDE 18

Concurrency and System Biology Increasing Expressiveness Beyond Simulations

How to Increase Expressiveness

Add algorithmical features to π-calculus. Add a form of local storage. Keep separated the description of interactions and the description of memory and computations.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-19
SLIDE 19

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Concurrent Constraint Programming

Computing with Constraints

Constraint Programming is a declarative programming methodology where problems are encoded by sets of constraints (e.g., X ≤ Y, |X − Y| ≥ 10, {X + Y} ⊆ A ∪ B). Optimization problems are naturally encoded and in this case computations are traversing of search trees pruned by unsatisfiability of constraints. In general, variables do not have necessarily a unique value but a set of values that makes the constraints

  • satisfiable. Computations are, in a sense, manipulations of

sets of values. Classical computations can be reobtained by using (list of) sets containing just one point.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-20
SLIDE 20

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Concurrent Constraint Programming

Concurrent Constraint Programming

Concurrent Constraint Programming combines together a calculus of interactions and the algorithmical power of constraints. Agents interact by telling constraints in a store (constraint store), and by asking if certain relation are verified (entailed) by the current set of constraints. Communication proceeds via the store, and it is asynchronous. The store is a form of memory, and it has algorithmical capabilities.

  • V. A. Saraswat: Concurrent Constraint Programming, 1993.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-21
SLIDE 21

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Concurrent Constraint Programming

Syntax of Concurrent Constraint Programming

Syntax Decl ::= ε | Decl.Decl | p(x) : −A π ::= tell(c) A ::= π.A | ask(c) | A + A | A A | ∃xA | p(x) c is a constraint belonging to a Constraint System, which is a mathematical structure encoding the algorithmical aspects of constraints.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-22
SLIDE 22

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Concurrent Constraint Programming

Extension of basic CCP

The basic language must be extended with a synchronous form

  • f communication (message-based interaction), and with

stochastic features, in order to be usable for modeling biological systems.

  • L. Bortolussi, H. Wickickly: Probabilistic and Distributed CCP, ICLP05, 2005.
  • L. Bortolussi: Stochastic CCP, in preparation.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-23
SLIDE 23

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Encoding Protein Folding

A Concurrent Approach to Protein Folding

The stochastic version of CCP is a powerful language. In fact, we can even simulate (a simplified version of) the Protein Folding. We use a coarse-grained model: each aminoacid (aa) is a single center of interaction, energy function is simple. The idea behind a concurrent encoding is to see if we can have some help in predicting the structure of a protein by “mimicking” the concurrent nature of the real folding process.

  • L. Bortolussi, A. Dal Palú, A. Dovier, F. Fogolari: Protein Folding Simulation in CCP, BioCONCUR04, 2004.
  • L. Bortolussi, A. Dovier, F. Fogolari: Multi-Agent Simulation of Protein Folding, MAS-BioMED05, 2005.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-24
SLIDE 24

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Encoding Protein Folding

The Encoding

Each aa is associated to an independent agent. Each aa has a memory: it stores its spatial position. Each aa has algorithmical power: it can compute the energy of the system (known to it). The interaction is obtained by letting aa exchange information about their position.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-25
SLIDE 25

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Encoding Protein Folding

The Encoding

aa move in the space following a Monte Carlo dynamics. The environment contains information about the temperature of the system. There are also “strategic” agents, with the task of coordinating the dynamics, and making the aa cooperate form “good” local structures.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-26
SLIDE 26

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Encoding Protein Folding

Does It Work?

1PG1, native structure. 1PG1, predicted structure. There is a CCP version of the program, and also a low level implementation (faster!). The program is intrinsically parallel! The system was tested on several proteins, and on different energy functions. Results are encouraging, though the use of better strategies may improve the simulation.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-27
SLIDE 27

Concurrency and System Biology Increasing Expressiveness Beyond Simulations A Glance on Concurrent Optimization

Quest for Generalization

The protein folding encoding can be seen as a concurrent

  • ptimization algorithm. In particular, it is a hybrid form of

simulated annealing. In general, CCP is particularly adapt to describe concurrent optimization heuristics: the search space can be modeled independently from the search strategy. The same programs can be used to search different spaces!

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-28
SLIDE 28

Concurrency and System Biology Increasing Expressiveness Beyond Simulations A Glance on Concurrent Optimization

Automatic Analysis

The ultimate goal is to use state-space analysis techniques to automatically understand some properties of different concurrent exploration heuristics for a given search space. In this way we hope to suggest the best heuristic (or combination of heuristics), and tune automatically parameters.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-29
SLIDE 29

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Again on Modeling Biological Systems

CCP for System Biology

The stochastic extension of Concurrent Constraint Programming can be used to model biological systems, similarly to π-calculus. π-calculus for system biology Molecule Process Interaction capability Channel Interaction Communication Modification State change

(of cellular components) (state transition systems) Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-30
SLIDE 30

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Again on Modeling Biological Systems

CCP for System Biology

The stochastic extension of Concurrent Constraint Programming can be used to model biological systems, similarly to π-calculus.

CCP for Biological Simulation Molecule ↔ Process Direct Interaction capability ↔ Channel Interaction ↔ Synchronous Communication Modification ↔ State change

(of cellular components) (state transition systems and memory)

Environment ↔ Constraint Store Interaction with Environment ↔ Asynchronous Communication

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-31
SLIDE 31

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Again on Modeling Biological Systems

Pro and Cons

Pros Compositionality and modularity. There is a form of environment, and processes have a direct form of memory and some direct computational capabilities. Model building should be more flexible. Cons The system evolution is still linear (in the state space), though non-linearity can be inserted at the level of (the

  • perations on) the constraint store.

Working with constraints may not be simple. A form of graphical interface is needed.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-32
SLIDE 32

Concurrency and System Biology Increasing Expressiveness Beyond Simulations

Outline

1

Concurrency and System Biology Concurrency and Computations π-calculus Modeling Biological Systems Simulation and Semantics

2

Increasing Expressiveness Concurrent Constraint Programming Encoding Protein Folding A Glance on Concurrent Optimization Again on Modeling Biological Systems

3

Beyond Simulations Behaviours, Syntax and Dynamical Systems Checking the Models

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-33
SLIDE 33

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Behaviours, Syntax and Dynamical Systems

Searching for Limits

Expressivity of π The modeling approach with π-calculus (or with CCP) seems very attractive. But is it able to reproduce (qualitatively) all the emergent behaviours we see in biological systems? And how we can compare the expressivity of these methods?

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-34
SLIDE 34

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Behaviours, Syntax and Dynamical Systems

Searching for Limits

Symbolic Dynamical Systems Idea: all these concurrent languages can be seen as symbolic dynamical systems. This is closely related to the “behavioral” idea of computation as information exchange. It focuses on the relation between syntax and dynamical behaviors. It can be seen as a general methodology for studying the expressiveness of concurrent languages.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-35
SLIDE 35

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Checking the Models

Analysis of Biological Models

What can we do with a discrete and stochastic model of a biological system? We can run some simulations and have an idea of the general behaviour. But can we do more? We would like to “solve” the model, understand some of its emerging properties in an exact way. This can be done using model checking techniques.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-36
SLIDE 36

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Checking the Models

Expressing Properties Formally

The need of a Formal Language We need a way to express formally the properties we want to

  • verify. They involve both behaviors in time, quantitative

information and probabilistic information. Using Temporal Logic We can use a temporal logic, a logic with (modal) operators to talk about time (linear or branching). This must be extended with operators capable of expressing probabilistic information (probability, averages), and quantitative information.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-37
SLIDE 37

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Checking the Models

Model Checking

State Space Exploration The logical formulas can be verified (checked) in the state transition graph of the model, by essentially an exhaustive exploration. The problem is the huge number of those states (state space explosion). There are, however, a lot of techniques to tackle this: we can check state spaces of size 1050! There are versions of probabilistic model checking, that must be adapted to the languages and the context under consideration.

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-38
SLIDE 38

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Checking the Models

An Example

What Properties? Here are some examples of queries that can be asked to a model checking system: With which probability the level of expression of gene a is always above x? With which probability the expression level of genes a, b, c will eventually stabilize into a limit cycle? Is it true that the average expression level of gene d is above x?

Luca Bortolussi Perspectives on Concurrency and Biological Sciences

slide-39
SLIDE 39

Concurrency and System Biology Increasing Expressiveness Beyond Simulations Checking the Models

The End

THANKS FOR THE ATTENTION! QUESTIONS?

Luca Bortolussi Perspectives on Concurrency and Biological Sciences