A Graph Syntax for Processes and Services

We propose a class of hierarchical graphs equipped with a simple algebraic syntax as a convenient way to describe configurations in languages with inherently hierarchical features such as sessions, fault-handling scopes or transactions. The graph syntax can be seen as an intermediate representation language, that facilitates the encoding of structured specifications and, in particular, of process calculi, since it provides primitives for nesting, name restriction and parallel composition. The syntax is based on an algebraic presentation that faithfully characterises families of hierarchical graphs, meaning that each term of the language uniquely identifies an equivalence class of graphs (modulo graph isomorphism). Proving soundness and completeness of an encoding (i.e. proving that structurally equivalent processes aremapped to isomorphic graphs) is then facilitated and can be done by structural induction. Summing up, the graph syntax facilitates the definition of faithful encodings, yet allowing a precise visual representation. We illustrate our work with an application to a work-flow language and a service-oriented calculus.

[1]  Fabio Gadducci,et al.  Reactive Systems, Barbed Semantics, and the Mobile Ambients , 2009, FoSSaCS.

[2]  Vladimiro Sassone,et al.  Typed polyadic pi-calculus in bigraphs , 2006, PPDP '06.

[3]  Ian Stark,et al.  Free-Algebra Models for the pi-Calculus , 2005, FoSSaCS.

[4]  Berthold Hoffmann,et al.  Shaped Generic Graph Transformation , 2007, AGTIVE.

[5]  Marino Miculan,et al.  An Algebra for Directed Bigraphs , 2008, TERMGRAPH@ETAPS.

[6]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

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

[8]  Fabio Gadducci,et al.  Term Graph Rewriting for the pi-Calculus , 2003, APLAS.

[9]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[10]  Roberto Bruni,et al.  Style-Based Architectural Reconfigurations , 2008, Bull. EATCS.

[11]  Roberto Bruni,et al.  Sessions and Pipelines for Structured Service Programming , 2008, FMOODS.

[12]  Berthold Hoffmann,et al.  Hierarchical Graph Transformation , 2000, J. Comput. Syst. Sci..

[13]  Roberto Bruni,et al.  Service Oriented Architectural Design , 2007, TGC.

[14]  Robin Milner,et al.  Bigraphs and mobile processes , 2003 .

[15]  Fabio Gadducci,et al.  An Algebraic Presentation of Term Graphs, via GS-Monoidal Categories , 1999, Appl. Categorical Struct..

[16]  Annegret Habel,et al.  Hyperedge Replacement, Graph Grammars , 1997, Handbook of Graph Grammars.

[17]  Fabio Gadducci,et al.  A Decentralized Implementation of Mobile Ambients , 2008, ICGT.

[18]  Roberto Bruni,et al.  Multiparty Sessions in SOC , 2008, COORDINATION.

[19]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[20]  Ivan Lanese,et al.  Synchronised Hyperedge Replacement as a Model for Service Oriented Computing , 2005, FMCO.

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

[22]  Manfred Nagl,et al.  Applications of Graph Transformations with Industrial Relevance , 2004, Lecture Notes in Computer Science.

[23]  Frank D. Valencia,et al.  Formal Methods for Components and Objects , 2002, Lecture Notes in Computer Science.

[24]  Roberto Bruni,et al.  An Algebra of Hierarchical Graphs , 2010, TGC.

[25]  Roberto Bruni,et al.  Hierarchical Design Rewriting with Maude , 2008, WRLA.

[26]  Francesca Rossi,et al.  An Abstract Machine for Concurrent Modular Systems: CHARM , 1994, Theor. Comput. Sci..