Intelligent run-time partitioning of low-code system models

Over the last 2 decades, several dedicated languages have been proposed to support model management activities such as model validation, transformation, and code generation. As software systems become more complex, underlying system models grow proportionally in both size and complexity. To keep up, model management languages and their execution engines need to provide increasingly more sophisticated mechanisms for making the most efficient use of the available system resources. Efficiency is particularly important when model-driven technologies are used in the context of low-code platforms where all model processing happens in pay-per-use cloud resources. In this paper, we present our vision for an approach that leverages sophisticated static program analysis of model management programs to identify, load, process and transparently discard relevant model partitions - instead of naively loading the entire models into memory and keeping them loaded for the duration of the execution of the program. In this way, model management programs will be able to process system models faster with a reduced memory footprint, and resources will be freed that will allow them to accommodate even larger models.

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

[2]  Ari Jaaksi,et al.  Developing Mobile Browsers in a Product Line , 2002, IEEE Softw..

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

[4]  Juha Kärnä,et al.  Evaluating the Use of Domain-Specific Modeling in Practice , 2009 .

[5]  Marc Zeller,et al.  Towards the Adoption of Model-Based Engineering for the Development of Safety-Critical Systems in Industrial Practice , 2016, SAFECOMP Workshops.

[6]  Gerson Sunyé,et al.  Neo4EMF, A Scalable Persistence Layer for EMF Models , 2014, ECMFA.

[7]  Jean Bézivin,et al.  Towards an advanced model-driven engineering toolbox , 2009, Innovations in Systems and Software Engineering.

[8]  Richard F. Paige,et al.  On the Evolution of OCL for Capturing Structural Constraints in Modelling Languages , 2009, Rigorous Methods for Software Construction and Analysis.

[9]  Dimitrios S. Kolovos,et al.  Automated Analysis, Validation and Suboptimal Code Detection in Model Management Programs , 2014, BigMDE@STAF.

[10]  Richard F. Paige,et al.  Saying Hello World with Epsilon - A Solution to the 2011 Instructive Case , 2011, TTC.

[11]  Samuel B. Williams,et al.  ASSOCIATION FOR COMPUTING MACHINERY , 2000 .

[12]  Parastoo Mohagheghi,et al.  Where Is the Proof? - A Review of Experiences from Applying MDE in Industry , 2008, ECMDA-FA.

[13]  Mark Rouncefield,et al.  Empirical assessment of MDE in industry , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

[15]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[16]  Richard F. Paige,et al.  Partial loading of XMI models , 2016, MoDELS.

[17]  Jesús Sánchez Cuadrado,et al.  Morsa: a scalable approach for persisting and accessing large models , 2011, MODELS'11.

[18]  F. Jouault,et al.  Program Comprehension , 2009 .