Scalable model views over heterogeneous modeling technologies and resources

When engineering complex systems, models are typically used to represent various systems aspects. These models are often heterogeneous in terms of modeling languages, provenance, number or scale. As a result, the information actually relevant to engineers is usually split into different kinds of interrelated models. To be useful in practice, these models need to be properly integrated to provide global views over the system. This has to be made possible even when those models are serialized or stored in different formats adapted to their respective nature and scalability needs. Model view approaches have been proposed to tackle this issue. They provide unification mechanisms to combine and query various different models in a transparent way. These views usually target specific engineering tasks such as system design, monitoring and evolution. In an industrial context, there can be many large-scale use cases where model views can be beneficial, in order to trace runtime and design-time data, for example. However, existing model view solutions are generally designed to work on top of one single modeling technology (even though model import/export capabilities are sometimes provided). Moreover, they mostly rely on in-memory constructs and low-level modeling APIs that have not been designed to scale in the context of large models stored in different kinds of data sources. This paper presents a general solution to efficiently support scalable model views over heterogeneous modeling resources possibly handled via different modeling technologies. To this intent, it describes our integration approach between a model view framework and various modeling technologies providing access to multiple types of modeling resources (e.g., in XML/XMI, CSV, databases). It also presents how queries on such model views can be executed efficiently by benefiting from the optimization of the different model technologies and underlying persistence backends. Our solution has been evaluated on a practical large-scale use case provided by the industry-driven European MegaM@Rt2 project that aims at implementing a runtime  $$\leftrightarrow $$ ↔  design time feedback loop. The corresponding EMF-based tooling support, modeling artifacts and reproducible benchmarks are all available online.

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

[2]  Dimitrios S. Kolovos,et al.  An Approach for Efficient Querying of Large Relational Datasets with OCL based Languages , 2013, XM@MoDELS.

[3]  Hector Garcia-Molina,et al.  Synchronizing a database to improve freshness , 2000, SIGMOD '00.

[4]  Oszkár Semeráth,et al.  Incremental backward change propagation of view models by logic solvers* , 2016, MoDELS.

[5]  Boubekeur Zendagui,et al.  Development of Modelling Frameworks and Viewpoints with Kitalpha , 2014, DSM '14.

[6]  Jesús Sánchez Cuadrado,et al.  A repository for scalable model management , 2013, Software & Systems Modeling.

[7]  Richard F. Paige,et al.  The Design of a Conceptual Framework and Technical Infrastructure for Model Management Language Engineering , 2009, 2009 14th IEEE International Conference on Engineering of Complex Computer Systems.

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

[9]  Jordi Cabot,et al.  MoDisco: A model driven reverse engineering framework , 2014, Inf. Softw. Technol..

[10]  Edward A. Lee,et al.  Modeling Cyber–Physical Systems , 2012, Proceedings of the IEEE.

[11]  Dimitrios S. Kolovos,et al.  Hawk: towards a scalable model indexing architecture , 2013, BigMDE '13.

[12]  Jordi Cabot,et al.  NeoEMF: a Multi-database Model Persistence Framework for Very Large Models , 2016, D&P@MoDELS.

[13]  Richard F. Paige,et al.  Towards Optimisation of Model Queries: A Parallel Execution Approach , 2019, J. Object Technol..

[14]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[15]  Mohamed Jmaiel,et al.  System of systems software architecture description using the ISO/IEC/IEEE 42010 standard , 2017, SAC.

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

[17]  Jordi Cabot,et al.  Mogwaï: A framework to handle complex queries on large models , 2016, 2016 IEEE Tenth International Conference on Research Challenges in Information Science (RCIS).

[18]  Oszkár Semeráth,et al.  Incremental View Model Synchronization Using Partial Models , 2018, MoDELS.

[19]  Davide Di Ruscio,et al.  Model-driven Design-Runtime Interaction in Safety Critical System Development: an Experience Report , 2019, J. Object Technol..

[20]  Patrick Valduriez,et al.  CloudMdsQL: querying heterogeneous cloud data stores with a common language , 2016, Distributed and Parallel Databases.

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

[22]  Martin Gogolla,et al.  Model-Driven Engineering for Design-Runtime Interaction in Complex Systems: Scientific Challenges and Roadmap - Report on the MDE@DeRun 2018 Workshop , 2018, STAF Workshops.

[23]  Mark Rouncefield,et al.  Model-driven engineering practices in industry: Social, organizational and managerial factors that lead to success or failure , 2014, Sci. Comput. Program..

[24]  Dániel Varró,et al.  A research roadmap towards achieving scalability in model driven engineering , 2013, BigMDE '13.

[25]  Dimitrios S. Kolovos,et al.  Comparative analysis of data persistence technologies for large-scale models , 2012, XM '12.

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

[27]  Edward D. Willink Deterministic Lazy Mutable OCL Collections , 2017, STAF Workshops.

[28]  Inderpal Singh Mumick,et al.  Selection of views to materialize in a data warehouse , 1997, IEEE Transactions on Knowledge and Data Engineering.

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

[30]  Jordi Cabot,et al.  The MegaM@Rt2 ECSEL Project: MegaModelling at Runtime — Scalable Model-Based Framework for Continuous Development and Runtime Validation of Complex Systems , 2017, 2017 Euromicro Conference on Digital System Design (DSD).

[31]  Jordi Cabot,et al.  On Lightweight Metamodel Extension to Support Modeling Tools Agility , 2015, ECMFA.

[32]  Jordi Cabot,et al.  Gremlin-ATL: A scalable model transformation framework , 2017, 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[33]  Dimitrios S. Kolovos,et al.  An Efficient Computation Strategy for allInstances() , 2015, BigMDE@STAF.

[34]  Jordi Cabot,et al.  Towards Scalable Model Views on Heterogeneous Model Resources , 2018, MoDELS.

[35]  Tobias Maier,et al.  JSON - JavaScript Object Notation , 2012 .

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

[37]  Nicolas Spyratos,et al.  Update semantics of relational views , 1981, TODS.

[38]  Max Chevalier,et al.  How Can We Implement a Multidimensional Data Warehouse Using NoSQL? , 2015, ICEIS.

[39]  Ákos Horváth,et al.  EMF-IncQuery: An integrated development environment for live model queries , 2015, Sci. Comput. Program..

[40]  Jordi Cabot,et al.  EMF Views: A View Mechanism for Integrating Heterogeneous Models , 2015, ER.

[41]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

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

[43]  Richard F. Paige,et al.  Merging models with the epsilon merging language (EML) , 2006, MoDELS'06.