scholarly journals Incremental execution of rule-based model transformation

Author(s):  
Artur Boronat

Abstract When model transformations are used to implement consistency relations between very large models, incrementality plays a cornerstone role in detecting and resolving inconsistencies efficiently when models are updated. Given a directed consistency relation between two models, the problem studied in this work consists in propagating model changes from a source model to a target model in order to ensure consistency while minimizing computational costs. The mechanism that enforces such consistency is called consistency maintainer and, in this context, its scalability is a required non-functional requirement. State-of-the-art model transformation engines with support for incrementality normally rely on an observer pattern for linking model changes, also known as deltas, to the application of model transformation rules, in so-called dependencies, at run time. These model changes can then be propagated along an already executed model transformation. Only a few approaches to model transformation provide domain-specific languages for representing and storing model changes in order to enable their use in asynchronous, event-based execution environments. The principal contribution of this work is the design of a forward change propagation mechanism for incremental execution of model transformations, which decouples dependency tracking from change propagation using two innovations. First, the observer pattern-based model is replaced with dependency injection, decoupling domain models from consistency maintainers. Second, a standardized representation of model changes is reused, enabling interoperability with EMF-compliant tools, both for defining model changes and for processing them asynchronously. This procedure has been implemented in a model transformation engine, whose performance has been evaluated experimentally using the VIATRA CPS benchmark. In the experiments performed, the new transformation engine shows gains in the form of several orders of magnitude in the initial phase of the incremental execution of the benchmark model transformation and change propagation is performed in real time for those model sizes that are processable by other tools and, in addition, is able to process much larger models.

Author(s):  
Karima Berramla ◽  
El Abbassia Deba ◽  
Abou El Hassen Benyamina ◽  
Djilali Benhamamouch

Model-driven engineering (MDE) is a paradigm based on the intensive use of models throughout the life cycle of an application, where model transformation plays an important role. Various model transformation approaches have been proposed, but developers are still faced with the complexity of model transformation specifications. Most of these approaches are based on the specification of transformation rules with a concrete syntax at a low level where the developer must master the transformation language. The question at this level is how to generate a model transformation specification that must be at a very abstract level, independent of any transformation language. This article aims to propose an approach to generate an abstract representation of transformation rules and these are used to produce a source code written in a chosen transformation language. The transformation rules are calculated semi-automatically by using a matching technique on elements of source and target metamodels. This idea is illustrated by different transformation examples.


Author(s):  
Fazle Rabbi ◽  
Yngve Lamo ◽  
Ingrid Chieh Yu ◽  
Lars Michael Kristensen

Domain specific modelling languages reduce the effort required to specify systems by providing higher level abstractions. Although this is a promising approach for reducing the complexity of system specifications, creating a new domain specific modelling language is a complex task. WebDPF is a web-based metamodelling tool that aims to reduce the effort required to develop domain specific modelling languages. The proposed technique is based on model transformations which enhances a modelling language with auto-completion. WebDPF supports multilevel metamodelling, diagrammatic specification of model constraints, and development, simulation and analysis of model transformation systems. The authors study the termination of the underlying model transformation systems and provide sufficient condition for termination. The tool is equipped with a scalable model navigation facility that enables a modeler to deal with large models.


Author(s):  
Jesús Sánchez Cuadrado ◽  
Javier Luis Cánovas Izquierdo ◽  
Jesús García Molina

Domain Specific Languages (DSL) are becoming increasingly more important with the emergence of Model-Driven paradigms. Most literature on DSLs is focused on describing particular languages, and there is still a lack of works that compare different approaches or carry out empirical studies regarding the construction or usage of DSLs. Several design choices must be made when building a DSL, but one important question is whether the DSL will be external or internal, since this affects the other aspects of the language. This chapter aims to provide developers confronting the internal-external dichotomy with guidance, through a comparison of the RubyTL and Gra2MoL model transformations languages, which have been built as an internal DSL and an external DSL, respectively. Both languages will first be introduced, and certain implementation issues will be discussed. The two languages will then be compared, and the advantages and disadvantages of each approach will be shown. Finally, some of the lessons learned will be presented.


2021 ◽  
Author(s):  
◽  
Konstantīns Gusarovs

Software engineering is continuously evolving, and its tasks are expanding. Nowadays, it includes not only software code development, but business process analysis as well. Information that is gained as a result of such analysis can be used for model that describe processes under automation development. Model driven software engineering also includes application of such models for automated software code or other artefact generation. In comparison to so called “model-based” engineering, model driven engineering uses strictly defined models and its processing algorithms during whole software lifecycle. While ideas, that model driven software engineering is based upon, seem to provide several benefits – for example, initial system representation understood not only by developers, but also by business area experts and, possibly, customers – its adoption is still in the initial phase. This can be explained by both the low level of automation, as well as, inappropriate source model usage. In this thesis, author offers a possible solution to this problem by defining transformation rules for so called Two-Hemisphere Model. This model is a combination of business process and concept diagrams and offered transformation rules allow for a software code generation from it. Additionally, improvements for the Two-Hemisphere model are offered. These improvements are required for enabling of code generation. Also, an algorithm for defining class relationships that can be used also outside of model driven software engineering is described. In this thesis author provides an insight to defined transformation rules by using pseudocode, as well as, an example of its’ application and resulting Java programming language code that was generated from the example model.


Author(s):  
Liliana María Favre

The model-driven architecture (MDA) is an approach to model-centric software development. The concepts of models, metamodels, and model transformations are at the core of MDA. Model-driven development (MDD) distinguishes different kinds of models: the computation-independent model (CIM), the platform-independent model (PIM), and the platform-specific model (PSM). Model transformation is the process of converting one model into another model of the same system, preserving some kind of equivalence relation between them. One of the key concepts behind MDD is that models generated during software developments are represented using common metamodeling techniques. In this chapter, we analyze an integration of MDA metamodeling techniques with knowledge developed by the community of formal methods. We describe a rigorous framework that comprises the NEREUS metamodeling notation (open to many other formal languages), a system of transformation rules to bridge the gap between UML/OCL and NEREUS, the definition of MDA-based reusable components, and model/metamodeling transformations. In particular, we show how to integrate NEREUS with algebraic languages using the Common Algebraic Specification Language (CASL). NEREUS focuses on interoperability of formal languages in MDD.


Author(s):  
Liliana Favre

The model-driven architecture (MDA) is an approach to model-centric software development. The concepts of models, metamodels, and model transformations are at the core of MDA. Model-driven development (MDD) distinguishes different kinds of models: the computation-independent model (CIM), the platform-independent model (PIM), and the platform-specific model (PSM). Model transformation is the process of converting one model into another model of the same system, preserving some kind of equivalence relation between them. One of the key concepts behind MDD is that models generated during software developments are represented using common metamodeling techniques. In this chapter, we analyze an integration of MDA metamodeling techniques with knowledge developed by the community of formal methods. We describe a rigorous framework that comprises the NEREUS metamodeling notation (open to many other formal languages), a system of transformation rules to bridge the gap between UML/OCL and NEREUS, the definition of MDA-based reusable components, and model/metamodeling transformations. In particular, we show how to integrate NEREUS withalgebraic languages using the Common Algebraic Specification Language (CASL). NEREUS focuses on interoperability of formal languages in MDD.


Author(s):  
Robert Wilms ◽  
David Inkermann ◽  
Vadym Finn Cemmasson ◽  
Michael Reik ◽  
Thomas Vietor

AbstractEngineering Changes (ECs) are substantial elements of the design process of technical products and are in particular relevant for companies due to enormous additional costs and time delays they can cause. In order to better understand ECs and realize efficient Engineering Change Management (ECM), different approaches exist. One aspect of ECM are change propagation analysis, which try to analyze knock-on effects of an EC on other product elements or the development process. How ECs can propagate is in particular difficult to assess for complex products realized within different engineering domains (mechanical, electrical and software engineering). To address this challenge, ECs are classified, strategies to cope with ECs are presented and change propagation approaches are analyzed in this paper. Thereby a lack of indicators for cross-domain propagation is identified. To overcome this issue, the distinction of domain-specific and cross-domain linkage types is proposed and a set of linkage types is presented. Further research is motivated to integrate these linkage types in product models while also considering processes and organizational structures as additional dimensions of ECM.


Sign in / Sign up

Export Citation Format

Share Document