▹Model-based systems engineering
▹Modeling language engineering
▹Theory of modeling and simulation, multi-paradigm modeling, multi-semantics, multi-abstraction
▹Process modeling, simulation and optimization
▹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 and lately, blended modeling.
▹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. Have a look at the work of the Modelling, Simulation and Design Lab (MSDL), where MPM originates from, and of which I had been a member of previously.
▹Blended modeling focuses on enabling a seamless interaction with the underlying model through multiple notations. The vertical consistency between the abstract syntax and the concrete syntaxes is temporarily exchanged for a superior modeling experience. Such an approach, therefore, aids the modeling of complex heterogeneous systems directly on the human-computer interaction level. This topic is being actively researched in the BUMBLE ITEA3 project.
My research often manifests in software tools. Below is a selection of the important ones.
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 tool from the update site https://istvandavid.com/proxima.
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.