Model Synchronization with the Role-oriented Single Underlying Model

Models@runtime (M@RT) suffer from information fragmentation across heterogeneous runtime models conforming to several metamodels that are filled with information from a source model. This creates an amount of related models with replicated information. In contrast, a recent approach to software engineering utilizes Single Underlying Model (SUM) to generate views of a software system on demand. The views represent fragments specifying required information for model instances. This results in an increasingly complex source model which is consistent from scratch and views with relations between each other that require complex processes to maintain consistency. Thus, to hold the views and models consistent at runtime, an intuitive approach for the creation of an adaptable SUM should be introduced that permits runtime synchronization and adaptation of views. We propose utilizing the concept of roles in the domain of SUM-based software engineering and M@RT. Based on existing work in the area of role modeling, we present a Role-oriented Single Underlying Model approach that provides a natural way to create views from a running model. We show how the role concept simplifies the creation of runtime models as views from a SUM, provide an incremental view update approach, and introduce a flexible adaptation mechanism. Finally, we illustrate our approach with two example views to explain the benefits of a role-oriented SUM.

[1]  Jordi Cabot,et al.  A feature-based survey of model view approaches , 2017, Software & Systems Modeling.

[2]  Erik Burger,et al.  View-based model-driven software development with ModelJoin , 2016, Software & Systems Modeling.

[3]  Hui Song,et al.  Generating synchronization engines between running systems and their model-based views , 2009, MODELS'09.

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

[5]  Arthur M. Keller,et al.  Algorithms for translating view updates to database updates for views involving selections, projections, and joins , 1985, PODS.

[6]  Dirk Riehle,et al.  The Role Object Pattern , 1997 .

[7]  Colin Atkinson,et al.  A multi-level modeling environment for SUM-based software engineering , 2013 .

[8]  Erik Burger Flexible views for rapid model-driven development , 2013 .

[9]  Uwe Aßmann,et al.  A Metamodel Family for Role-Based Modeling and Programming Languages , 2014, SLE.

[10]  Jordi Cabot,et al.  EMF Profiles: A Lightweight Extension Approach for EMF Models , 2012, J. Object Technol..

[11]  Fahad Rafique Golra,et al.  Addressing modularity for heterogeneous multi-model systems using model federation , 2016, MODULARITY.

[12]  Colin Atkinson,et al.  A Deep View-Point Language for Projective Modeling , 2017, 2017 IEEE 21st International Enterprise Distributed Object Computing Conference (EDOC).

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

[14]  Hartmut Ehrig,et al.  From state- to delta-based bidirectional model transformations: the symmetric case , 2011, MODELS'11.

[15]  Steffen Becker,et al.  Towards a Tool-Oriented Taxonomy of View-Based Modelling , 2012, Modellierung.

[16]  Umeshwar Dayal,et al.  On the Updatability of Relational Views , 1978, VLDB.

[17]  Ákos Horváth,et al.  Query-driven incremental synchronization of view models , 2014, VAO '14.

[18]  Thomas Vogel,et al.  Incremental model synchronization for efficient run-time monitoring , 2009, MODELS'09.

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

[20]  Schahram Dustdar,et al.  MORSE: A Model-Aware service environment , 2009, 2009 IEEE Asia-Pacific Services Computing Conference (APSCC).

[21]  Andy Schürr,et al.  Non-materialized Model View Specification with Triple Graph Grammars , 2006, ICGT.

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

[23]  Stephan Herrmann,et al.  Object Teams: Improving Modularity for Crosscutting Collaborations , 2002, NetObjectDays.

[24]  Andy Schürr,et al.  Efficient Model Synchronization with View Triple Graph Grammars , 2014, ECMFA.

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

[26]  Richard F. Paige,et al.  Constructing and Navigating Non-invasive Model Decorations , 2010, ICMT@TOOLS.