As modeled systems become more and more complex, consistency problems become more prominent, especially if the model is developed throughout multiple phases or iterations and from different views and concerns. In [46, 136, 69, 124], several challenges dealing with the consistency of model and model transformations, and with developing efficient DSML tools are identified, examples of which are discussed below.
1.1.1
Developing Efficient Techniques for Constructing Con-
sistent Models
During software development, model inconsistency can easily occur due to several rea- sons such as lack of information, misunderstandings, and the incremental development of models from various aspects.
Resolving and handling incomplete and inconsistent models is a crucial challenge in model-driven engineering (MDE) since it requires high facilities related to the do- main. For example, it demands the understanding of the domain structure and its constraints, detecting the inconsistencies in the given instance model, and identifying which repair actions must or could be applied and in which order. Moreover, guiding the modelers in repairing models in a semi-automated way is promising for building models efficiently and getting the desired ones, especially if the models have to be constructed throughout several iterations, at different times and from different per- spectives. The interactive construction of models is promising for producing desired models.
Furthermore, the need for instance models grows with the steady increase of domains and topics to which model-driven engineering (MDE) is applied. In particular, there is a growing need for generating large instances of a given meta-model [70, 118].
Large and diverse modelsare needed in various applications like model transformation
testing, benchmark model queries, or validating the suitability of MDE tools to deal with large input models.
Additionally, the development of DSML tools is a general challenge since each DSML needs its own set of tools, e.g., tools for repairing and generating consistent mod- els. Although there are technologies that help developers to build tools for a given DSML, developing and evolving them using manual techniques can be expensive. They require high skills related to considered problems, meta-modeling, and tool de- velopments. MDE must be supported by meta-tools (developer tools) for building or generating tools for a given DSML [46].
The data interchangeability among tools is one of the main problems facing software development. To enable interoperation between tools, the artifacts produced by one tool should be at least accessible from other tools [24]. As stated in [85, 136], exporting a diagram from one tool to another has not been accomplished yet with ease. MDE has to be supported by compatible and standardized tools [85, 136] to guarantee the information interchange and interoperability between tools.
Even though MDE can benefit from using generic techniques from other software engineering domains for solving consistency problems, specific features such as inter-
activity, compatibility, and scalability cannot yet be addressed by existing solutions
from other software engineering domains because translating models from one form to another introduces more complexity than it removes [136], for instance. Therefore, various research approaches still need to be explored and evolved.
Goal 1: Developing techniques that construct consistent models of a given meta- model not only automatically but also interactively so that the modeler can control the construction process. This semi-automated model construction is promising for producing desired models. The techniques can construct a consistent model from a given model being potentially inconsistent. Moreover, the techniques should be meta-model agnostic, i.e., generic and can be instantiated to any given domain meta- model and deal with its instances. Furthermore, for a given domain (meta-model), meta-tools for automatically generating DSML tools for constructing (repairing and
generating) models have to be developed to ease and accelerate the development process. The tools and the tools’ outputs should be compatible and standard to support the interchangeability between tools. Additionally, the soundness should be presented, and the techniques should scale.
1.1.2
Developing Efficient Techniques for Ensuring the Con-
sistency of Model Transformations
Applying a model transformation to a consistent model may yield an inconsistent result, and thus, errors may occur. Inconsistent results may affect the applicability of the transformations. Consequently, transformation-based automation becomes un- trustworthy, error-prone, and even impossible. For example, when defining modeling languages and their operations (e.g., editing operations) on models, the operations must produce results that belong to the language. Moreover, DSML users may use the operations in a way (not thought by the developers), which leads to a transformation crash or create inconsistent models. Further, in a concurrent and distributed system, each state should fulfill some required invariants such as safety properties, and each refactoring should preserve the model consistency. Making sure that all constraints are considered (implemented) is a challenge and can be hard [145].
In [136, 145], several open challenges are identified dealing with the quality of the modeled system, namely with the consistency of model transformations such as: How to define modeling techniques that enable and enforce model correctness by construc- tion? Newly, the international conference of model transformations (ICMT’19)1put
forward several challenges such as: How to ensure that model transformations produce expected results? How to foster the trust in and use of model transformations?
Goal 2: For a given set of constraints, and a set of model transformation rules, our goal is to develop techniques to automatically enhance the behavior of transformation rules to respect the given set of constraints, i.e., the resulting model after applying a model transformation rule is consistent w.r.t. the set of constraints. Moreover, to foster trust in the use of model transformations, the soundness of the techniques has to be ensured, and the techniques should behave efficiently.