Abstraction and Control for Shapely Nested Graph Transformation

Shapely nested graph transformation is the computational model for DIAPLAN, a language for programming with graphs representing diagrams that is currently being developed. The model supports nested structuring of graphs, structural graph types (shapes), and rules with graph variables. We extend this model by two concepts that are essential for programming: abstraction allows compound transformations to be named and parameterized; control allows the order of rule application to be specified. These concepts refine the computational model with respect to structuring and efficiency needs of a programming language while preserving its rule-based and graph-ical nature.

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

[2]  Daniel Le Métayer,et al.  Gamma and the chemical reaction model: ten years after , 1996 .

[3]  Sabine Kuske,et al.  More About Control Conditions for Transformation Units , 1998, TAGT.

[4]  Detlef Plump,et al.  Hypergraph rewriting: critical pairs and undecidability of confluence , 1993 .

[5]  Margaret M. Burnett Visual object-oriented programming , 1993, OOPSLA '93.

[6]  Pascal Fradet,et al.  Structured Gamma , 1998, Sci. Comput. Program..

[7]  T. Uesu A system of graph grammars which generates all recursively enumerable sets of labelled graphs , 1978 .

[8]  Ken Arnold,et al.  The Java Programming Language , 1996 .

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

[10]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools , 1999 .

[11]  Detlef Plump,et al.  Term graph rewriting , 1999 .

[12]  Hartmut Ehrig,et al.  The Category of Typed Graph Grammars and its Adjunctions with Categories , 1994, TAGT.

[13]  Andrea Corradini,et al.  Hyperedge Replacement Jungle Rewriting for Term-Rewriting Systems and Programming , 1993, Theor. Comput. Sci..

[14]  Gérard P. Huet,et al.  Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980, J. ACM.

[15]  Manfred Nagl,et al.  Graph-Grammars and Their Application to Computer Science , 1986, Lecture Notes in Computer Science.

[16]  Annegret Habel,et al.  Graph Unification and Matching , 1994, TAGT.

[17]  Berthold Hoffmann,et al.  Shapely hierarchical graph transformation , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[18]  James J. Horning,et al.  The algebraic specification of abstract data types , 1978, Acta Informatica.

[19]  Berthold Hoffmann,et al.  Context-exploiting shapes for diagram transformation , 2003 .

[20]  Reiko Heckel,et al.  Classification and comparison of module concepts for graph transformation systems , 1999 .

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

[22]  Peyton Jones,et al.  Haskell 98 language and libraries : the revised report , 2003 .

[23]  Ken Arnold,et al.  The Java programming language (2nd ed.) , 1998 .

[24]  Martin Gogolla,et al.  Semantics of object-oriented languages , 1999 .

[25]  Giorgio Busatto,et al.  An abstract model of hierarchical graphs and hierarchical graph transformation , 2001 .

[26]  Hartmut Ehrig,et al.  Categorical principles, techniques and results for high-level-replacement systems in computer science , 1993, Appl. Categorical Struct..

[27]  Gert Smolka,et al.  Object-Oriented Concurrent Constraint Programming in Oz , 1993, KI.

[28]  Albert Zündorf,et al.  The PROGRES approach: language and environment , 1999 .

[29]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[30]  Reinhard Wilhelm,et al.  Solving shape-analysis problems in languages with destructive updating , 1998, TOPL.

[31]  Frank Harary,et al.  Graph Theory , 2016 .

[32]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[33]  Berthold Hoffmann,et al.  A Generic Model for Diagram Syntax and Semantics , 2000, ICALP Satellite Workshops.

[34]  Gabriele Taentzer,et al.  The AGG approach: language and environment , 1999 .

[35]  Viggo Stoltenberg-hansen,et al.  In: Handbook of Logic in Computer Science , 1995 .

[36]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[37]  M. Minas,et al.  Application of graph transformation to visual languages , 1999 .

[38]  Claude Berge,et al.  Graphs and Hypergraphs , 2021, Clustering.

[39]  Annegret Habel,et al.  Hyperedge Replacement: Grammars and Languages , 1992, Lecture Notes in Computer Science.

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

[41]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part II: Single Pushout Approach and Comparison with Double Pushout Approach , 1997, Handbook of Graph Grammars.

[42]  Annegret Habel,et al.  Double-pushout graph transformation revisited , 2001, Mathematical Structures in Computer Science.

[43]  Gerard Huet,et al.  Conflunt reductions: Abstract properties and applications to term rewriting systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[44]  Sabine Kuske,et al.  Transformation units: a structuring principle for graph transformation systems , 2000 .

[45]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[46]  Berthold Hoffmann,et al.  Towards rule-based visual programming of generic visual systems , 2000, ArXiv.

[47]  Berthold Hoffmann,et al.  From Graph Transformation to Rule-Based Programming with Diagrams , 1999, AGTIVE.

[48]  Colin Runciman,et al.  Specifying Pointer Structures by Graph Reduction , 2003, AGTIVE.

[49]  HuetGérard Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980 .

[50]  J. A. Robinson,et al.  Logic, form and function , 1979 .

[51]  Mark Minas,et al.  Constructing Shapely Nested Graph Transformations , 2002 .

[52]  Reiko Heckel,et al.  Graph Transformation as a Conceptual and Formal Framework for System Modeling and Model Evolution , 2000, ICALP.

[53]  James Gosling,et al.  The Java Programming Language" The Java Series , 1996 .

[54]  Graph Transformation Units and Modules 1.1 Introduction , 1999 .

[55]  Nils Klarlund,et al.  Graph types , 1993, POPL '93.

[56]  Mark Minas,et al.  Concepts and realization of a diagram editor generator based on hypergraph transformation , 2002, Sci. Comput. Program..

[57]  Pascal Fradet,et al.  Gamma and the Chemical Reaction Model: Fifteen Years After , 2000, WMP.