A domain-specific metamodeling language (DSM2L) enables language engineers to define a family of similar metamodel-based languages. In recent years, several DSM2Ls have been developed for various domains, e.g., traceability, variability management, process modeling, and metamodeling feature models. However, there is no consensus on an engineering approach for constructing a DSM2L. To address this problem, we consider a DSM2L as a software product line (SPL), in which the software products are the family of languages. Based on this assumption, we propose a roadmap to develop a DSM2L using an SPL engineering framework. To investigate the pros and cons of the roadmap, the MoDEBiTE metamodeling language is engineered in the domain of bidirectional transformations. In order to validate the proposal of engineering a DSM2L, an experiment with six transformation cases is performed on MoDEBiTE. The results of the experiment show the applicability, usefulness, and validity of MoDEBiTE, demonstrating the validity of the proposal.
Model-Driven Engineering is a development paradigm that uses models instead of code as primary development artifacts. In this paper, we focus on executable models, which are used to abstract the behavior of systems for the purpose of verifying and validating (V&V) a system’s properties. Model execution tracing (i.e., obtaining and analyzing traces of model executions) is an important enabler for many V&V techniques including testing, model checking, and system comprehension. This may explain the increase in the number of proposed approaches on tracing model executions in the last years. Despite the increased attention, there is currently no clear understanding of the state of the art in this research field, making it difficult to identify research gaps and opportunities. The goal of this paper is to survey and classify existing work on model execution tracing, and identify promising future research directions. To achieve this, we conducted a systematic mapping study where we examined 64 primary studies out of 645 found publications. We found that the majority of model execution tracing approaches has been developed for the purpose of testing and dynamic analysis. Furthermore, most approaches target specific modeling languages and rely on custom trace representation formats, hindering the synergy among tools and exchange of data. This study also revealed that most existing approaches were not validated empirically, raising doubts as to their effectiveness in practice. Our results suggest that future research should focus on developing a common trace exchange format for traces, designing scalable trace representations, as well as conducting empirical studies to assess the effectiveness of proposed approaches.
Our paper entitled “Leveraging product line engineering for the development of domain-specific metamodeling languages” was accepted in the Journal of Computer Languages.
Our paper entitled “Model Execution Tracing: A Systematic Mapping Study” was accepted in the Software and Systems Modeling (SoSyM) journal.
This paper presents a solution for the Quality-based Software-Selection and Hardware-Mapping problem using the ACO algorithm. ACO is one of the most successful swarm intelligence algorithms for solving discrete optimization problems. The evaluation results show that the proposed approach generates correct results for all evaluated test cases.
Also, better results in terms of performance and scalability are given in comparison with the ILP and EMFeR approaches.
Selecting Dr. Bahman Zamani as the outstanding researcher of the faculty of Computer Engineering in 2018.
Congratulations to Dr. Bahman Zamani for being selected as the outstanding researcher of the faculty of Computer Engineering in 2018.
Model transformation, in a simple definition, is a program that accepts a model as input and generates another model as output. Model transformations are the cornerstone of model-driven engineering (MDE), hence testing them and ensuring the correctness of their implementation is a critical task. A challenging aspect of testing model transformations is to generate test models that both conform to their meta-model and satisfy the defined constraints. There exist several solutions for generating test models. Epsilon Model Generation (EMG) is a language for generating appropriate test models. EMG uses random operations for producing test models, hence it is possible that some tests have the same structure and the same value, i.e., they are redundant. In this paper, we propose an approach for generating appropriate test models, i.e., test models which are valuable from the tester’s point of view. In this approach, the tester specifies the number of model elements that should be generated in the test model, as well as how they are linked. Our approach is based on the idea of enriching the EMG language with equivalence partitioning technique. The idea of partitioning is that testing a member in an equivalence class is as good as testing the whole class. We have evaluated the proposed method via a case study. The results show the superiority of the proposed approach over EMG.