Because of the evolution of software development techniques in the recent years, the role of models as artifacts has fundamentally changed. Nowadays, models and modeling techniques are transitioning from a solely design time feature to the runtime foundations of intelligent systems. Such runtime or live models aim at explicitly representing the prevailing state of the underlying system. Therefore, maintaining them requires efficient processing of
complex model changes as well as defining and executing flexible model transformations associated with the change patterns of the model.
This thesis aims at improving the existing techniques of change-driven model transformations (CDMT) by refining the characterization of complex model
changes. That is, instead of defining a model change by its pre-state and post-state patterns, this thesis presents a technique to distinguish complex
model changes based on the series of atomic changes they consists of. This is achieved by interpreting model changes as events and by reusing the techniques of complex event processing (CEP).
Through the thesis, three important achievements will be presented. First, a general-purpose complex event processing engine (VIATRA3-CEP) and its domain-specific textual modeling language (VEPL, the VIATRA3-CEP Event Pattern Language), which enables defining atomic and complex event patterns as well as defining executable actions (e.g. model transformations) and associate them with occurrences of defined event patterns. Second, a novel approach for design, implementation and execution of change-driven model transformations, featuring the VIATRA3-CEP engine in a specialized fashion, integrated with external engineering models supervised by the graph pattern matching engine EMF-IncQuery. Third, the results of performance and scalability benchmarks, as important aspects of application of the system.
The feasibility of the approach as well as the system's features are demonstrated by a detailed case study motivated by business information systems, focusing on the execution of model transformations in a simulation environment of a transaction system.
It is an important result of this project, that the presented tools and techniques are easily applicable in real-life engineering scenarios on well-defined points of development workflows in the domain of event processing and change-driven model transformations. Some constraints of applicability arise from the overall performance of the engine and the limitations in the descriptive power of the event modeling language, which should be handled as a future work.