Section: New Results

Concurrent constraint programming


Bisimilarity is one of the main representative equivalences for concurrent behaviour. It captures our intuitive notion of process equivalence; two processes are equivalent if they can match each other's moves. Furthermore, it provides an elegant co-inductive proof technique based on the notion of bisimulation. Nevertheless, there have been few attempts to define a notion of bisimilarity for concurrent constraint programming (ccp). The ones we were aware of are those in [40] and [36] but they are not completely satisfactory: The first one may tell apart processes with identical observable behaviour, while the second quantifies over all possible inputs from the environment, and hence it is not clear whether it can lead to a feasible proof technique.

Bisimilarity relies on labelled transitions: each evolution step of a system is tagged by some information aimed at capturing the possible interactions of a process with the environment. In [18] we have provided a labelled transition system for ccp and we have proposed a notion of ccp bisimilarity. Intuitively, in this transition system the labels represent the minimal information that processes require from the environment to execute. Furthermore we have shown that, unlike previous approaches, our notion of bisimilarity coincides with the standard notion of equivalence for (deterministic) ccp. This way we have provided ccp with an alternative co-inductive proof technique, coherent with previous equivalences, for process behaviour.

When the state space of a system is finite, the ordinary notion of bisimilarity can be computed via the well-known partition refinement algorithm, but unfortunately, this algorithm does not work for ccp bisimilarity. In [19] we have proposed a variation of the partition refinement algorithm for verifying ccp bisimilarity. To the best of our knowledge this is the first work providing for the automatic verification of program equivalence for ccp.

Modeling cellular signaling systems

The molecular mechanisms of cell communication with the environment involve many concurrent processes governing dynamically the cell function. This concurrent behavior makes traditional methods, such as differential equations, unsatisfactory as a modeling strategy since they do not scale well when a more detailed view of the system is required.

In [19] we have described a modeling strategy for cellular signaling systems based on a temporal and probabilistic extension of ccp. Starting from an abstract model, we have built refinements adding further details coming from experimentation or abstract assumptions. The advantages of our approach are: due to the notion of partial information as constraints in CCP, the model can be straightforwardly extended when more information is available; qualitative and quantitative information can be represented by means of probabilistic constructs of the language; finally, the model is a runnable specification and can be executed, thus allowing for the simulation of the system. We have outlined the use of this methodology to model the interaction of G-protein-coupled receptors with their respective G-proteins that activates signaling pathways inside the cell. Finally, we have presented simulation results obtained from an implementation of the framework