ESR 11: Intelligent Run-Time Partitioning of Low-Code System ModelsSorour Jahanbin
University of York (United-Kingdom)
Over the last decade, several dedicated languages have been proposed to support common model management activities such as model validation, transformation and code generation. Compared to general-purpose programming languages, dedicated languages such as OCL, ATL and ETL provide a more concise/tailored syntax and additional opportunities for analysis and optimisation. As low-code software systems become more complex, underlying system models grow proportionally in both size and complexity. Existing model management program execution engines evidently struggle with very large models. The aim of this project is to design and implement next-generation execution engines for model management languages, which will leverage sophisticated static program analysis 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.
This project will enable model management languages and engines to eliminate the overhead of loading unimportant parts of models (i.e. parts that they will never access) and of unnecessarily keeping obsolete parts (i.e. parts that have already been processed and are guaranteed not to be accessed again) in memory. In this way, model management programs will be able to process low-code system models faster and with a reduced memory footprint, and resources will be freed that will allow them to accommodate even larger models. For example, a model compiler that only exercises 20% of a model, will have the capacity to process models that are 5 times as big with the same memory footprint.