Conditional Adaptive Star Grammars

The precise specification of software models is a major concern in the model-driven design of object-oriented software. Models are commonly given as graph-like diagrams so that graph grammars are a natural candidate for specifying them. However, context-free graph grammars are not powerful enough to specify all static properties of a model. Even the recently proposed adaptive star grammars cannot capture all properties of object-oriented models. So we extend adaptive star rules by positive and negative application conditions to overcome these deficiencies without sacrificing parsing algorithms. It turns out that conditional adaptive star grammars are powerful enough to generate program graphs, a software model with rather complicated contextual properties.

[1]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

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

[3]  Annegret Habel,et al.  Correctness of high-level transformation systems relative to nested conditions† , 2009, Mathematical Structures in Computer Science.

[4]  Tom Mens,et al.  Formalizing refactorings with graph transformations , 2005, J. Softw. Maintenance Res. Pract..

[5]  Martín Abadi,et al.  A Theory of Objects , 1996, Monographs in Computer Science.

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

[7]  Dirk Janssens,et al.  A graph transformation approach to refactoring , 2007 .

[8]  Berthold Hoffmann,et al.  Adaptive Star Grammars for Graph Models , 2008, ICGT.

[9]  Hartmut Ehrig,et al.  Graph Grammars with Application Conditions , 1986 .

[10]  Berthold Hoffmann,et al.  Defining Models - Meta Models versus Graph Grammars , 2010, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[11]  Joost Engelfriet,et al.  Node Replacement Graph Grammars , 1997, Handbook of Graph Grammars.

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

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

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

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

[16]  Berthold Hoffmann,et al.  Adaptive Star Grammars , 2006, ICGT.

[17]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[18]  Berthold Hoffmann,et al.  Adaptive star grammars and their languages , 2010, Theor. Comput. Sci..

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

[20]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[21]  Gabriele Taentzer,et al.  Generating Instance Models from Meta Models , 2006, FMOODS.

[22]  Bruno Courcelle,et al.  Graph Rewriting: An Algebraic and Logic Approach , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

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

[24]  Bruno Courcelle An Axiomatic Definition of Context-Free Rewriting and its Application to NLC Graph Grammars , 1987, Theor. Comput. Sci..