Role-Based Runtime Model Synchronization

Model-driven Software Development (MDSD) promotes the use of multiple related models to realize a software system systematically. These models usually contain redundant information but are independently edited. This easily leads to inconsistencies among them. To ensure consistency among multiple models, model synchronizations have to be employed, e.g., by means of model transformations, trace links, or triple graph grammars. Model synchronization poses three main problems for MDSD. First, classical model synchronization approaches have to be manually triggered to perform the synchronization. However, to support the consistent evolution of multiple models, it is necessary to immediately and continuously update all of them. Second, synchronization rules are specified at design time and, in classic approaches, cannot be extended at runtime, which is necessary if metamodels evolve at runtime. Finally, most classical synchronization approaches focus on bilateral model synchronization, i.e., the synchronization between two models. Consequently, for more than two models, they require the definition of pairwise model synchronizations leading to a combinatorial explosion of synchronization rules. To remedy these issues, we propose a role-based approach for runtime model synchronization. In particular, we propose role-based synchronization rules that enable the immediate and continuous propagation of changes to multiple interrelated models (and back again). Additionally, our approach permits adding new and customized synchronization rules at runtime. We illustrate the benefits of role-based runtime model synchronization using the Families to Persons case study from the Transformation Tool Contest 2017.

[1]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[2]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[3]  Salvador Martínez Perez,et al.  Reactive model transformation with ATL , 2017, Sci. Comput. Program..

[4]  Michael Lawley,et al.  Model Synchronisation: Definitions for Round-Trip Engineering , 2008, ICMT@TOOLS.

[5]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[6]  Gabor Karsai,et al.  The Graph Rewriting and Transformation Language: GReAT , 2007, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[7]  Uwe Aßmann Automatic Roundtrip Engineering , 2003, Electron. Notes Theor. Comput. Sci..

[8]  Wolfgang De Meuter,et al.  A survey on reactive programming , 2013, CSUR.

[9]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[10]  Frédéric Jouault,et al.  Towards Incremental Execution of ATL Transformations , 2010, ICMT@TOOLS.

[11]  Ákos Horváth,et al.  Incremental evaluation of model queries over EMF models , 2010, MODELS'10.

[12]  Dongxi Liu,et al.  Towards automatic model synchronization from model transformations , 2007, ASE.

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

[14]  Jordi Cabot,et al.  Lazy execution of model-to-model transformations , 2011, MODELS'11.

[15]  Friedrich Steimann,et al.  On the representation of roles in object-oriented and conceptual modelling , 2000, Data Knowl. Eng..

[16]  Uwe Aßmann,et al.  A combined formal model for relational context-dependent roles , 2015, SLE.

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

[18]  Ákos Horváth,et al.  Road to a reactive and incremental model transformation platform: three generations of the VIATRA framework , 2016, Software & Systems Modeling.

[19]  Ivan Kurtev,et al.  State of the Art of QVT: A Model Transformation Language Standard , 2008, AGTIVE.

[20]  Uwe Aßmann,et al.  Enabling View-based Programming with SCROLL: Using roles and dynamic dispatch for etablishing view-based programming , 2015 .

[21]  Holger Giese,et al.  Incremental model synchronization with triple graph grammars , 2006, MoDELS'06.

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

[23]  Sahin Albayrak,et al.  Extending Model Synchronization Results from Triple Graph Grammars to Multiple Models , 2016, ICMT.

[24]  Dániel Varró,et al.  Designing the automatic transformation of visual languages , 2002, Sci. Comput. Program..

[25]  Ákos Horváth,et al.  Viatra 3: A Reactive Model Transformation Platform , 2015, ICMT.

[26]  Martin Hofmann,et al.  Symmetric lenses , 2011, POPL '11.

[27]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

[28]  Dániel Varró,et al.  IncQuery-D: A Distributed Incremental Model Query Framework in the Cloud , 2014, MoDELS.

[29]  Soichiro Hidaka,et al.  A compositional approach to bidirectional model transformation , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[30]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.