An Algebra of Hierarchical Graphs and its Application to Structural Encoding

We define an algebraic theory of hierarchical graphs, whose axioms characterise graph isomorphism: two terms are equated exactly when they represent the same graph. Our algebra can be understood as a high-level language for describing graphs with a node-sharing, embedding structure, and it is then well suited for defining graphical representations of software models where nesting and linking are key aspects. In particular, we propose the use of our graph formalism as a convenient way to describe configurations in process calculi equipped with inherently hierarchical features such as sessions, locations, transactions, membranes or ambients. The graph syntax can be seen as an intermediate representation language, that facilitates the encodings of algebraic specifications, since it provides primitives for nesting, name restriction and parallel composition. In addition, proving soundness and correctness of an encoding (i.e. proving that structurally equivalent processes are mapped to isomorphic graphs) becomes easier as it can be done by induction over the graph syntax.

[1]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

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

[3]  Berthold Hoffmann,et al.  Hierarchical Graph Transformation , 2002, J. Comput. Syst. Sci..

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

[5]  Robin Milner,et al.  Deriving Bisimulation Congruences for Reactive Systems , 2000, CONCUR.

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

[7]  Hans-Jörg Kreowski,et al.  Abstract hierarchical graph transformation , 2005, Mathematical Structures in Computer Science.

[8]  Davide Sangiorgi,et al.  Communicating and Mobile Systems: the π-calculus, , 2000 .

[9]  Gheorghe Paun,et al.  Membrane Computing , 2002, Natural Computing Series.

[10]  Hartmut Ehrig,et al.  Deriving bisimulation congruences in the DPO approach to graph rewriting with borrowed contexts , 2006, Mathematical Structures in Computer Science.

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

[12]  Gheorghe Paun,et al.  A guide to membrane computing , 2002, Theor. Comput. Sci..

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

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

[15]  Robin Milner,et al.  Pure bigraphs: Structure and dynamics , 2006, Inf. Comput..

[16]  Roberto Bruni,et al.  Exploiting the Hierarchical Structure of Rule-Based Specifications for Decision Planning , 2010, FMOODS/FORTE.

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

[18]  Roberto Bruni,et al.  A Graph Syntax for Processes and Services , 2009, WS-FM.

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

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

[21]  Wojciech Palacz Algebraic hierarchical graph transformation , 2004, J. Comput. Syst. Sci..

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

[23]  Artur Boronat,et al.  An algebraic semantics for MOF , 2009, Formal Aspects of Computing.

[24]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[25]  Marino Miculan,et al.  Graph Algebras for Bigraphs , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

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