Primitives for Contract-based Synchronization

We investigate how contracts can be used to regulate the interaction between processes. To do that, we study a variant of the concurrent constraints calculus presented in [1], featuring primitives for multi-party synchronization via contracts. We proceed in two directions. First, we exploit our primitives to model some contract-based interactions. Then, we discuss how several models for concurrency can be expressed through our primitives. In particular, we encode the pi-calculus and graph rewriting.

[1]  Ivan Lanese,et al.  Mapping Fusion and Synchronized Hyperedge Replacement into logic programming* , 2005, Theory and Practice of Logic Programming.

[2]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[3]  Luca Padovani Contract-Based Discovery and Adaptation of Web Services , 2009, SFM.

[4]  Maria Grazia Buscemi,et al.  Transactional Service Level Agreement , 2007, TGC.

[5]  Joseph Sifakis,et al.  The Algebra of Connectors—Structuring Interaction in BIP , 2007, IEEE Transactions on Computers.

[6]  Ivan Lanese,et al.  Synchronized Hyperedge Replacement for Heterogeneous Systems , 2005, COORDINATION.

[7]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[8]  Massimo Bartoletti,et al.  A Logic for Contracts , 2009, ICTCS.

[9]  GesbertNils,et al.  A theory of contracts for Web services , 2008 .

[10]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[11]  Prakash Panangaden,et al.  The semantic foundations of concurrent constraint programming , 1991, POPL '91.

[12]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[13]  Joseph Y. Halpern,et al.  Knowledge and common knowledge in a distributed environment , 1984, JACM.

[14]  Ugo Montanari,et al.  Open Bisimulation for the Concurrent Constraint Pi-Calculus , 2008, ESOP.

[15]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[16]  C. A. R. Hoare,et al.  A Trace Semantics for Long-Running Transactions , 2004, 25 Years Communicating Sequential Processes.

[17]  C. McCarty CONSTRUCTIVISM IN MATHEMATICS , 2009 .

[18]  Laura Bocchi,et al.  A Calculus for Long-Running Transactions , 2003, FMOODS.

[19]  Cosimo Laneve,et al.  A Basic Contract Language for Web Services , 2006, ESOP.

[20]  Daniele Gorla,et al.  Towards a unified approach to encodability and separation results for process calculi , 2008, Inf. Comput..

[21]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[22]  Massimo Bartoletti,et al.  A Calculus of Contracting Processes , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[23]  Vijay A. Saraswat,et al.  Concurrent constraint programming , 1989, POPL '90.

[24]  Ugo Montanari,et al.  CC-Pi: A Constraint-Based Language for Specifying Service Level Agreements , 2007, ESOP.

[25]  Roberto Bruni,et al.  Theoretical foundations for compensations in flow composition languages , 2005, POPL '05.

[26]  Jianying Zhou Non-Repudiation in Electronic Commerce , 2002, DEXA Workshops.

[27]  Luca Padovani,et al.  Contracts for Mobile Processes , 2009, CONCUR.

[28]  V. S. Costa,et al.  Theory and Practice of Logic Programming , 2010 .