The Jury is still out: A Comparison of AGG, Fujaba, and PROGRES

Graph transformation languages offer a declarative and visual programming method for software systems with complex data structures. Some of these languages have reached a level of maturity that allows not only conceptual but also practical use. This paper compares the three widespread graph transformation languages AGG, Fujaba, and PROGRES, considering their latest developments. The comparison is three-fold and regards conceptual aspects, language properties, and infrastructure features. Because of the different relevance of these aspects, we do not determine a clear winner but leave it to the reader.

[1]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

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

[3]  Boris Böhlen Specific Graph Models and Their Mappings to a Common Model , 2003, AGTIVE.

[4]  Gabor Karsai,et al.  On the Use of Graph Transformation in the Formal Specification of Model Interpreters , 2003, J. Univers. Comput. Sci..

[5]  Manfred Nagl Graph-Grammatiken: Theorie, Anwendungen, Implementierung , 1979 .

[6]  Bernhard Westfechtel,et al.  UPGRADE: A Framework for Building Graph-Based Interactive Tools , 2002, Electron. Notes Theor. Comput. Sci..

[7]  Reiko Heckel,et al.  Graph Grammars with Negative Application Conditions , 1996, Fundam. Informaticae.

[8]  Holger Giese,et al.  On Semantic Issues in Story Diagrams , 2006 .

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

[10]  Aditya Agrawal Model Based Software Engineering , Graph Grammars and Graph Transformations Area Paper , 2004 .

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

[12]  Tom Mens,et al.  A Taxonomy of Model Transformation and its Application to Graph Transformation , 2004 .

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

[14]  Gabriele Taentzer,et al.  Generation of visual editors as eclipse plug-ins , 2005, ASE.

[15]  Gabriele Taentzer,et al.  Amalgamated Graph Transformations and Their Use for Specifying AGG - an Algebraic Graph Grammar System , 1993, Dagstuhl Seminar on Graph Transformations in Computer Science.

[16]  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.

[17]  Andreas Schürr,et al.  Operationales Spezifizieren mit programmierten Graphersetzungssystemen , 1991 .

[18]  Holger Giese,et al.  Model-Driven Architecture for Hard Real-Time Systems: From Platform Independent Models to Code , 2005, ECMDA-FA.

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

[20]  Dániel Varró,et al.  Benchmarking for graph transformation , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[21]  Bernhard Westfechtel,et al.  AHEAD: A Graph-Based System for Modeling and Managing Development Processes , 1999, AGTIVE.

[22]  Tobias Rötschke,et al.  MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations , 2006, ECMDA-FA.

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