▹Model-based software and systems engineering
▹Multi-paradigm modeling, multi-semantics, multi-abstraction
▹Digital Twins, Cyber-(Bio)Physical Systems
▹Machine learning and AI-aided software and systems engineering
▹Software quality assurance
▹Elements of methodical innovation
Nowadays engineered systems have reached a previously unprecedented complexity. Systems are becoming faster, safer, more autonomous, reliable and durable. To cope with this ever increasing complexity, engineering is best approach through models. A model is an abstraction of the reality, and as such, it allows its users to focus only on the most essential aspects of the problem at hand.
Model-based and model-driven techniques treat models as first-class citizens in engineering processes, allowing engineers to reason about a set of distinguished properties of the system before it gets realized. Modeling tools, to this end, provide engineers with the required facilities to derive their many models from reality, and use them in various analysis and simulation activities.
One specific source of the complexity of modern systems is their inherent heterogeneity. We used to build steam engines, now we are building autonomous drones. It is not the task of one single discipline to deliver a system anymore. Rather, it takes a coordinated, collaborative effort from experts of different domains.
Collaborative modeling aims to augment model-based and model-driven techniques with collaborative facilities. My research focuses on some (overlapping) paradigms supporting this aim, most importantly: multi-paradigm modeling, multi-view modeling, and inconsistency management in multi-model settings.
Multi-paradigm modeling (MPM) advocates modeling every aspect of the system at the most appropriate level(s) of abstraction, using the most appropriate formalism(s). Domain-specific knowledge can be naturally channeled into engineering processes based on the MPM paradigm. Therefore, MPM is especially suitable for handling the heterogeneity aspect of modern systems engineering.
My research often manifests in software tools. Below is a selection of the important ones.
lowkey is a low-level and transparent framework for real-time collaborative framework for multi-level and multi-view modeling. At the bottom layer of the architecture of lowkey, conflict-free replicated data types (CRDT) take care of preventing inconsistencies before they happen. The physical metamodel built on top of these data types allows for defining arbitrary numbers of linguistic models, which are in a type-instance relationship with each other.
The framework is available as a Python implementation from its GitHub repository.
–I. David and E. Syriani. “Real-time Collaborative Multi-Level Modeling by Conflict-Free Replicated Data Types“. Soft. Syst. Model. [Preprint] [bib]
–I. David, E. Syriani, and C. Masson. “Extensible Conflict-Free Replicated Datatypes for Real-time Collaborative Software Engineering“. In: Proceedings of the 17th Conference on Computer Science and Intelligence Systems (FedCSIS). 2022. [bib]
PROxIMA is a tool in which process modeling meets inconsistency management. It supports reasoning about inconsistencies between the models in heterogeneous collaborative modeling settings. Based on the FTG+PM formalism, the tool provides various facilities for modeling the engineering process along with the properties of the engineered system; and optimizing the process for multiple objectives, most notably: minimal transit time and fully managed inconsistency hotspots. More details in my PhD thesis.
The tool is available as an Eclipse implementation. More details, including the update site, on the official website: proximatools.org and the GitHub organization.
–I. David, J. Denil, K. Gadeyne, and H. Vangheluwe. “Engineering Process Transformation to Manage (In)consistency“. In: Proceedings of the 1st International Workshop on Collaborative Modelling in MDE (COMMitMDE 2016) co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2016), St. Malo, France, October 4, 2016. Vol. 1717. CEUR Workshop Proceedings. CEUR-WS.org, 2016, pp. 7–16. [Preprint] [bib]
–I. David, B. Meyers, K. Vanherpen, Y. Van Tendeloo, K. Berx, and H. Vangheluwe. “Modeling and Enactment Support for Early Detection of Inconsistencies in Engineering Processes“. In: Proceedings of MODELS 2017 Satellite Event: Workshops (ModComp, ME, EXE, COMMitMDE, MRT, MULTI, GEMOC, MoDeVVa, MDETools, FlexMDE, MDEbug), Posters, Doctoral Symposium, Educator Symposium, ACM Student Research Competition, and Tools and Demonstrations co-located with ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS 2017), Austin, TX, USA, September, 17, 2017. Vol. 2019. CEUR Workshop Proceedings. CEUR-WS.org, 2017, pp. 145–154. [Preprint] [bib]
–I. David, J. Denil, and H. Vangheluwe. “Process-oriented Inconsistency Management in Collaborative Systems Modeling“. In: 16th International Industrial Simulation Conference 2018, ISC 2018. Eurosis, 2018, pp. 54–61. [Preprint] [bib]
–I. David. “A Foundation for Inconsistency Management in Model-Based Systems Engineering“. PhD thesis. University of Antwerp, Belgium, July 2019. [pdf] [presentation] [bib]
Between 2012-2016 I was a contributor to the VIATRA project. VIATRA is a scalable reactive model transformation framework for the Eclipse platform. My core contributions covered the reactive transformation module, and based on this, the complex event processing module, VIATRA-CEP.
VIATRA-CEP is the prototype implementation of our streaming model transformation concept.
-G . Bergmann, I. David, Á. Hegedüs, Á. Horváth, I. Ráth, Z. Ujhelyi, and D Varró. “VIATRA 3: A Reactive Model Transformation Platform“. In: Theory and Practice of Model Transformations – 8th International Conference, ICMT@STAF 2015, L’Aquila, Italy, July 20-21, 2015. Proceedings. Vol. 9152. Lecture Notes in Computer Science. Springer, 2015, pp. 101–110. [Preprint] [bib]
–I. David, I. Ráth, and D. Varró. “Foundations for Streaming Model Transformations by Complex Event Processing“. In: Softw. Syst. Model. 17.1 (2018), pp. 135–162. [Open access] [bib]
–I. David, I. Ráth, and D. Varró. “Streaming Model Transformations By Complex Event Processing“. In: Model-Driven Engineering Languages and Systems – 17th International Conference, MODELS 2014, Valencia, Spain, September 28 – October 3, 2014. Proceedings. Vol. 8767. Lecture Notes in Computer Science. Springer, 2014, pp. 68–83. (Acceptance rate: 26%. Invited for submission to MODELS14 Special Issue in SoSyM.) [Preprint] [bib]