On Structured Model-Driven Transformations

Structural aspects play a key role in the model-driven development of software systems. Effective techniques and tools must therefore be based on suitable representation formalisms that facilitate the specification, manipulation and analysis of the structure of models. Graphical and algebraic approaches have been shown to be very successful for such purposes: 1) graphs offer natural a representation of topological structures, 2) algebras offer a natural representation of compositional structures, 3) both graphs and algebras can be manipulated in a declarative way by means of rule-based techniques, 4) they allow for a layered presentation of models that enables compositional techniques and favours scalability. Most of the existing approaches represent such layering in a plain manner by overlapping the intra- and the inter-layered structure. It has been shown that some layering structures can be conveniently represented by an explicit hierarchical structure enabling then structurally inductive manipulations of the resulting models. Moreover, providing an inductive presentation of the structure facilitates the compositional analysis and verification of models. In this paper we compare and reconcile some recent approaches and synthesise them into an algebraic and graph-based formalism for representing and manipulating models with inductively defined hierarchical structure.

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

[2]  Alberto Verdejo,et al.  Executable structural operational semantics in Maude , 2006, J. Log. Algebraic Methods Program..

[3]  Daniel Le Métayer Describing Software Architecture Styles Using Graph Grammars , 1998, IEEE Trans. Software Eng..

[4]  Reiko Heckel,et al.  Rewriting Logic Semantics and Verification of Model Transformations , 2009, FASE.

[5]  INGOLF KRÜGER,et al.  From Scenarios to Hierarchical Broadcasting Software Architectures Using UML-RT , 2002, Int. J. Softw. Eng. Knowl. Eng..

[6]  Roberto Bruni,et al.  Semantic foundations for generalized rewrite theories , 2006, Theor. Comput. Sci..

[7]  Manfred Broy Modular hierarchies of models for embedded systems , 2003 .

[8]  Roberto Bruni,et al.  Ten virtues of structured graphs , 2009, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

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

[10]  Manfred Broy,et al.  Development of Hierarchical Broadcasting Software Architectures Using UML 2.0 , 2004, SoftSpez Final Report.

[11]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[12]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[13]  Manfred Broy,et al.  Seamless Model Driven Systems Engineering Based on Formal Models , 2009, ICFEM.

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

[15]  Ugo Montanari,et al.  Graph grammars and constraint solving for software architecture styles , 1998, ISAW '98.

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

[17]  Ugo Montanari,et al.  Shaped Hierarchical Architectural Design , 2004, Electron. Notes Theor. Comput. Sci..

[18]  Pascal Fradet,et al.  Shape types , 1997, POPL '97.

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

[20]  Manfred Broy Two Sides of Structuring Multi-Functional Software Systems: Function Hierarchy and Component Architecture , 2007, SERA.

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

[22]  Roberto Bruni,et al.  A Service-Oriented UML Profile with Formal Support , 2009, ICSOC/ServiceWave.