A generative approach to change-driven consistency in multi-view modeling

When software architectures are modeled from different view-points using different notations, it is necessary to keep information that appears in several models consistent. To achieve consistency for a specific system, developers need two competences: First, they have to be able to express the conceptual relationships between the elements of the involved modeling languages and domains. Second, they have to be able to enforce these relationships by implementing model transformations that keep specific model instances consistent. Current transformation approaches, however, do not separate this conceptual challenge of specifying consistency from the technical complexity of implementing it. To ease multi-view modeling, we present a generative approach, in which change-driven in-place transformations are generated from abstract specifications in order to sustain consistency between several models. These specifications can be expressed by domain experts using a consistency language that supports declarative mappings, normative invariants, and imperative response actions. The transformations generated from consistency specifications make it possible to reuse and customize technical solutions to typical consistency preservation problems. We will evaluate our approach with two case studies of component-based engineering.

[1]  Antonio Vallecillo,et al.  Realizing Correspondences in Multi-viewpoint Specifications , 2009, 2009 IEEE International Enterprise Distributed Object Computing Conference.

[2]  Igor Ivkovic,et al.  Tracing evolution changes of software artifacts through model synchronization , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[3]  Michael Wagner,et al.  Model-Driven Tool Integration with ModelBus , 2016 .

[4]  Max E. Kramer,et al.  Change-driven consistency for component code, architectural models, and contracts , 2015, 2015 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE).

[5]  Holger Giese,et al.  Model Synchronization at Work: Keeping SysML and AUTOSAR Models Consistent , 2010, Graph Transformations and Model-Driven Engineering.

[6]  Mirko Seifert,et al.  Closing the Gap between Modelling and Java , 2009, SLE.

[7]  Alexander Egyed,et al.  Fixing Inconsistencies in UML Design Models , 2007, 29th International Conference on Software Engineering (ICSE'07).

[8]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[9]  Benjamin C. Pierce,et al.  Combinators for bi-directional tree transformations: a linguistic approach to the view update problem , 2005, POPL '05.

[10]  Max E. Kramer Synchronizing Heterogeneous Models in a View-Centric Engineering Approach , 2014, Software Engineering.

[11]  Andy Schürr,et al.  A Comparison of Incremental Triple Graph Grammar Tools , 2014, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[12]  Albert L. Baker,et al.  JML: A Notation for Detailed Design , 1999, Behavioral Specifications of Businesses and Systems.

[13]  Max E. Kramer,et al.  View-centric engineering with synchronized heterogeneous models , 2013 .

[14]  Robert Amor,et al.  A multi-paradigm mapping method survey , 1995 .

[15]  Max E. Kramer,et al.  Realizing Change-Driven Consistency for Component Code, Architectural Models, and Contracts in Vitruvius , 2015 .

[16]  Federico Ciccozzi,et al.  A hybrid approach for multi-view modeling , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[17]  Colin Atkinson,et al.  Orthographic Software Modeling: A Practical Approach to View-Based Development , 2009, ENASE.

[18]  Antonio Vallecillo,et al.  Viewpoint Co-evolution through Coarse-Grained Changes and Coupled Transformations , 2012, TOOLS.

[19]  Max E. Kramer,et al.  Proposal for a Multi-View Modelling Case Study: Component-Based Software Engineering with UML, Plug-ins, and Java , 2014, VAO '14.

[20]  Zinovy Diskin,et al.  Model Synchronization: Mappings, Tiles, and Categories , 2009, GTTSE.

[21]  Max E. Kramer,et al.  Determining the Intent of Code Changes to Sustain Attached Model Information During Code Evolution , 2014, Softwaretechnik-Trends.

[22]  Rolf Johansson,et al.  The EAST-ADL Architecture Description Language for Automotive Embedded Software , 2007, Model-Based Engineering of Embedded Real-Time Systems.

[23]  Henry Muccini,et al.  A model-driven approach to automate the propagation of changes among Architecture Description Languages , 2010, Software & Systems Modeling.