Amalgamation of domain specific languages with behaviour

Abstract Domain-specific languages (DSLs) become more useful the more specific they are to a particular domain. The resulting need for developing a substantial number of DSLs can only be satisfied if DSL development can be made as efficient as possible. One way in which to address this challenge is by enabling the reuse of (partial) DSLs in the construction of new DSLs. Reuse of DSLs builds on two foundations: a notion of DSL composition and theoretical results ensuring the safeness of composing DSLs with respect to the semantics of the component DSLs. Given a graph-grammar formalisation of DSLs, in this paper, we build on graph transformation system morphisms to define parameterised DSLs and their instantiation by an amalgamation construction. Results on the protection of the behaviour along the induced morphisms allow us to safely reuse and combine definitions of DSLs to build more complex ones. We illustrate our proposal in e-Motions for a DSL for production-line systems and three independent DSLs for describing non-functional properties, namely response time, throughput, and failure rate.

[1]  Francesco Parisi-Presicce,et al.  Spatial and Temporal Refinement of Typed Graph Transformation Systems , 1998, MFCS.

[2]  Steffen Zschaler,et al.  Modular DSLs for Flexible Analysis: An e-Motions Reimplementation of Palladio , 2014, ECMFA.

[3]  Juan de Lara,et al.  Automating the transformation-based analysis of visual languages , 2009, Formal Aspects of Computing.

[4]  Hartmut Ehrig,et al.  Attributed graph transformation with node type inheritance , 2007, Theor. Comput. Sci..

[5]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[6]  Steffen Zschaler,et al.  Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity , 2014, VAO '14.

[7]  João Araújo,et al.  MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

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

[9]  Jim Steel,et al.  On Model Subtyping , 2012, ECMFA.

[10]  Kim B. Bruce,et al.  Subtyping Is Not a Good "Match" for Object-Oriented Languages , 1997, ECOOP.

[11]  Sherif Abdelwahed,et al.  Semantic Anchoring with Model Transformations , 2005, ECMDA-FA.

[12]  Reiko Heckel,et al.  Dynamic Meta Modeling: A Graphical Approach to the Operational Semantics of Behavioral Diagrams in UML , 2000, UML.

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

[14]  Reiko Heckel,et al.  A Combined Reference Model- and View-Based Approach to System Specification , 1997, Int. J. Softw. Eng. Knowl. Eng..

[15]  Juan de Lara,et al.  From types to type requirements: genericity for model-driven engineering , 2011, Software & Systems Modeling.

[16]  Panagiotis Manolios Mechanical verification of reactive systems , 2001 .

[17]  Juan de Lara,et al.  Towards the flexible reuse of model transformations: A formal approach based on graph transformation , 2014, J. Log. Algebraic Methods Program..

[18]  Pawel Sobocinski,et al.  Adhesive Categories , 2004, FoSSaCS.

[19]  Eelco Visser,et al.  Code generation by model transformation: a case study in transformation modularity , 2008, Software & Systems Modeling.

[20]  Jean Bézivin,et al.  Extending AMMA for Supporting Dynamic Semantics Specifications of DSLs , 2006 .

[21]  S. Griffis EDITOR , 1997, Journal of Navigation.

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

[23]  Juan de Lara,et al.  Genericity for model management operations , 2011, Software & Systems Modeling.

[24]  Antonio Vallecillo,et al.  Formal Specification and Analysis of Domain Specific Models Using Maude , 2009, Simul..

[25]  Francisco Durán,et al.  On the Reusable Specification of Non-functional Properties in DSLs , 2012, SLE.

[26]  Annegret Habel,et al.  Amalgamation of Graph Transformations with Applications to Synchronization , 1985, TAPSOFT, Vol.1.

[27]  Jean Bézivin,et al.  On the Use of Higher-Order Model Transformations , 2009, ECMDA-FA.

[28]  Gabriele Taentzer,et al.  DIEGO, another step towards a module concept for graph transformation systems , 1995, SEGRAGRA.

[29]  Hartmut Ehrig,et al.  Attributed graph transformation with inheritance: Efficient conflict detection and local confluence analysis using abstract critical pairs , 2012, Theor. Comput. Sci..

[30]  Antonio Vallecillo,et al.  On the Behavioral Semantics of Real-Time Domain Specific Visual Languages , 2010, WRLA.

[31]  Antonio Vallecillo,et al.  Simulating domain specific visual models by observation , 2010, SpringSim.

[32]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[33]  Jacques Klein,et al.  Semantic-based weaving of scenarios , 2006, AOSD.

[34]  Antonio Vallecillo,et al.  A graphical approach for modeling time-dependent behavior of DSLs , 2009, 2009 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[35]  Leila Ribeiro,et al.  Aspects for Graph Grammars , 2009 .

[36]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[37]  Albert Zündorf,et al.  Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java , 1998, TAGT.

[38]  Hartmut Ehrig,et al.  Multi-amalgamation of rules with application conditions in $\mathcal{M}$-adhesive categories , 2014, Mathematical Structures in Computer Science.

[39]  Hartmut Ehrig,et al.  Fundamental Theory for Typed Attributed Graph Transformation , 2004, ICGT.

[40]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2 , 1990, EATCS Monographs on Theoretical Computer Science.

[41]  Francesco Parisi-Presicce,et al.  Formal Software Specification with Refinements and Modules of Typed Graph Transformation Systems , 2002, J. Comput. Syst. Sci..

[42]  Hartmut Ehrig,et al.  Adhesive High-Level Replacement Categories and Systems , 2004, ICGT.

[43]  Reiko Heckel,et al.  Flexible Interconnection of Graph Transformation Modules , 2005, Formal Methods in Software and Systems Modeling.

[44]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2: Module Specifications and Constraints , 1990 .

[45]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[46]  Jean Bézivin,et al.  AMW: a generic model weaver , 2005 .

[47]  Reiko Heckel,et al.  Structural and behavioural compatibility of graphical service specifications , 2007, J. Log. Algebraic Methods Program..

[48]  Antonio Vallecillo,et al.  Model-driven performance analysis of rule-based domain specific visual models , 2013, Inf. Softw. Technol..

[49]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[50]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[51]  Steffen Zschaler,et al.  Formal specification of non-functional properties of component-based software systems , 2010, Software & Systems Modeling.

[52]  Jacques Klein,et al.  Reusable Aspect Models , 2007 .

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

[54]  Francesco Parisi-Presicce,et al.  Transformations of Graph Grammars , 1994, TAGT.

[55]  Reiko Heckel,et al.  Horizontal and vertical structuring of typed graph transformation systems , 1996, Mathematical Structures in Computer Science.

[56]  Francisco Durán,et al.  Behaviour Protection in Modular Rule-Based System Specifications , 2012, WADT.

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