Dynamic Spaces in Concurrent Constraint Programming

Concurrent constraint programming (CCP) is a declarative model for concurrency where agents interact with each other by posting (telling) and asking constraints (formulas in logic) in a shared store of partial information. With the advent of emergent applications as security protocols, social networks and cloud computing, the CCP model has been extended in different directions to faithfully model such systems as follows: (1) It has been shown that a name-passing discipline, where agents can communicate local names, can be described through the interplay of local (@?) processes along with universally (@?) quantified asks. This strategy has been used, for instance, to model the generation and communication of fresh values (nonces) in mobile reactive systems as security protocols; and (2) the underlying constraint system in CCP has been enhanced with local stores for the specification of distributed spaces. Then, agents are allowed to share some information with others but keep some facts for themselves. Recently, we have shown that local stores can be neatly represented in CCP by considering a constraint system where constraints are built from a fragment of linear logic with subexponentials (SELL^@?). In this paper, we explore the use of existential (@?) and universal (@?) quantification over subexponentials in SELL^@? in order to endow CCP with the ability to communicate location (space) names. The resulting CCP language that we obtain is a model of distributed computation where it is possible to dynamically establish new shared spaces for communication. We thus extend the sort of mobility achieved in (1) -for variables - to dynamically change the shared spaces among agents - (2) above. Finally, we argue that the new CCP language can be used in the specification of service oriented computing systems.

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

[2]  David Walker,et al.  A Concurrent Logical Framework II: Examples and Applications , 2003 .

[3]  Elaine Pimentel,et al.  Specifying Proof Systems in Linear Logic with Subexponentials , 2010, LSFA.

[4]  Herbert Wiklicky,et al.  A Distributed and Probabilistic Concurrent Constraint Programming Language , 2005, ICLP.

[5]  François Fages,et al.  Closures and Modules Within Linear Logic Concurrent Constraint Programming , 2007, FSTTCS.

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

[7]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[8]  Frank D. Valencia,et al.  Universal concurrent constraint programing: symbolic semantics and applications to security , 2008, SAC '08.

[9]  David R. Gilbert,et al.  Concurrent Constraint Programming with Process Mobility , 2000, Computational Logic.

[10]  Camilo Rueda,et al.  Pi+- Calculus: A Calculus for Concurrent Processes with Constraints , 1998, CLEI Electron. J..

[11]  Gert Smolka A Foundation for Higher-order Concurrent Constraint Programming , 1994, CCL.

[12]  Radha Jagadeesan,et al.  Timed Default Concurrent Constraint Programming , 1996, J. Symb. Comput..

[13]  Camilo Rueda,et al.  Models and emerging trends of concurrent constraint programming , 2013, Constraints.

[14]  Rémy Haemmerlé,et al.  Observational equivalences for linear logic concurrent constraint languages* , 2011, Theory and Practice of Logic Programming.

[15]  François Fages,et al.  Linear Concurrent Constraint Programming: Operational and Phase Semantics , 2001, Inf. Comput..

[16]  Cosimo Laneve,et al.  Mobility in the CC-Paradigm , 1992, International Symposium on Mathematical Foundations of Computer Science.

[17]  Vivek Nigam On the Complexity of Linear Authorization Logics , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[18]  Vincent Danos,et al.  The Structure of Exponentials: Uncovering the Dynamics of Linear Logic Proofs , 1993, Kurt Gödel Colloquium.

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

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

[21]  D. Walker,et al.  A concurrent logical framework I: Judgments and properties , 2003 .

[22]  Frank D. Valencia,et al.  Temporal Concurrent Constraint Programming: Denotation, Logic and Applications , 2002, Nord. J. Comput..

[23]  Frank D. Valencia,et al.  Spatial and Epistemic Modalities in Constraint-Based Process Calculi , 2012, CONCUR.

[24]  Alexander K. Petrenko,et al.  Electronic Notes in Theoretical Computer Science , 2009 .

[25]  Jean-Hugues Réty,et al.  Distributed Concurrent Constraint Programming , 1998, Fundam. Informaticae.

[26]  Dale Miller,et al.  Algorithmic specifications in linear logic with subexponentials , 2009, PPDP '09.

[27]  M. Nivat Fiftieth volume of theoretical computer science , 1988 .

[28]  Elaine Pimentel,et al.  A General Proof System for Modalities in Concurrent Constraint Programming , 2013, CONCUR.

[29]  Dale Miller,et al.  Logic Programming in a Fragment of Intuitionistic Linear Logic , 1994, Inf. Comput..