Fazilat Hojaji is a PhD student in software engineering at University of Isfahan, Iran. Her current research interests include model execution, tracing of executable models, and dynamic analysis. She has received the B.Sc in Software Engineering from Isfahan University of Technology and M.Sc. in Information Technology Engineering from Amirkabir University of Technology, Tehran, Iran. She is currently the head of development management department of Isfahan Municipality IT organization.
Model-Driven Engineering (MDE) is a development paradigm that aims at coping with the complexity of systems by separating concerns using models. A model is a representation of a particular aspect of a system, and is defined using a Domain-Specific Modeling Language (DSML). A subclass of DSMLs aim at supporting the execution of models, namely executable Domain-Specific Modeling Languages (xDSMLs). An xDSML includes execution semantics that manipulate the concepts of the considered domain. To ensure that an executable model is correct with regard to its intended behavior, dynamic Verification and Validation (V&V) techniques are used to verify the behavior of software systems early in the design process. Yet, existing V&V techniques mainly rely on execution traces to model and analyze the behavior of executable models. An execution trace is a sequence containing all the relevant information about an execution overtime. Traces, however, tend to be overwhelmingly large, making it difficult to analyze the recorded behavior. There exist trace metamodels to represent execution traces, but most of them suffer from scalability problems. Furthermore, existing model execution tracing approaches rely on their own custom trace formats, hindering interoperability and sharing of data among various trace analysis tools. The goal of this thesis is to fill this gap and provide a common trace exchange format for traces, designing scalable trace representations that enables the construction and manipulation of execution traces, obtained from executable models. The first contribution of this thesis comprises a systematic mapping study on existing approaches for tracing executable models. With this study, we aim at identifying and classifying the existing approaches, thereby assessing the state of the art in this area, as well as pointing to promising directions for further research in this area. The second contribution consists in a generic compact trace representation format called Compact Trace Metamodel (CTM) that enables the construction and manipulation of execution traces, obtained from executable models. Compared to existing trace metamodels, the results show significant reduction around 59% in memory and 95% disk consumption. Also, the performance overhead required to the CTM trace construction is small enough around 10% that makes it practically applicable. Moreover, CTM offers a common structure, which allows interoperability between existing trace analysis tools.