TOWARDS A SEMI-AUTOMATIC TRANSFORMATION PROCESS IN MDA - Architecture and Methodology (original) (raw)

Semi-Automatic Generation of Transformation Rules in Model Driven Engineering: The Challenge and First Steps

2008

Research and practice for Model Driven Engineering (MDE) have significantly progressed over the last decade for dealing with the increase of complexity within systems during their development and maintenance processes by raising the level of abstraction using models as information storage. New significant approaches, mainly Model Driven Architecture (MDA) defined at the OMG (Object Management Group), "Software Factories" proposed by Microsoft and the Eclipse Modeling Framework (EMF) from IBM, are born and have been experimented. As models grow in use for developing systems, transformation between models grow in importance. University and industry are seeking for effective and efficient ways to treat transformation as first-class assets in MDE. In order to produce new and more powerful transformations, we argue that the semi-automatic generation of transformation rules is an important challenge in future MDE development to make it easier, faster, and cost-reduced process. In this paper we propose an extended architecture that aims to semi-automate the process of transformation in the context of MDA. This architecture introduces mapping and matching as first class entities in the transformation process, represented by models and metamodels. We will introduce and discuss briefly two main operations "adaptation" and "derivation" which we consider as core techniques for a semi-automatic transformation process in MDA, along with the first two main techniques of matching and mapping. We will introduce a still theoretical idea already adopted in schema matching field of combining many techniques of matching taken from the literature in order to improve the quality of the obtained mappings. This combination will raise the semi-automation level and thereby significantly contribute to results of higher quality. Finally, an illustrative example is presented and related works are discussed.

Towards Generic Semi-Automatic Transformation Process in MDA

The Model Driven Engineering (MDE) has been proposed to support the development, maintenance and evolution of software systems. In this context several approaches for transformation models have been proposed in the literature. They suffer from two major limitations: i) they have been tested on homogeneous metamodels (e.g., Ecore, UML, Minjava, Kermeta ...), and ii) they use common notions and concepts, such as modeling, matching and processing models. In some approaches they do not distinguish between matching, mapping and transformation. This leads to confusion between these operations. Indeed, it is well recognized that model transformation is at the heart of approaches MDE and it is derived from the mapping model, itself obtained after performing a matching process. In this paper, we propose, in a first part, an extended architecture to semi-automate the process of transformation models. It is the separation of concerns by distinguishing the operations matching, mapping and transformation taking into account several factors (e.g., semantic resources, pre-matching efforts and post-matching efforts...). In the second part, and to test the heterogeneity of metamodels that will be taken as input by matching techniques, we introduce two new types of metamodels representing respectively the multi-agents system platform JADE, and the BPEL language for the web services orchestration. To validate our proposal, our architecture is implemented on a matching technique which details the various steps leading to a semi-automatic transformation process.

A Model Transformation Framework for Model Driven Engineering

se.cs.depaul.edu

Model Driven Engineering(MDE) is a model-centric software development approach aims at improving the quality and productivity of software development processes. While some progresses in MDE have been made, there are still many obstacles in realizing the full ...

Model Transformation Technologies in the Context of Modelling Software Systems}

Programming technologies have improved continuously during the last decades, but from an Information Systems perspective, some well-known problems associated to the design and implementation of an Information Systems persists. Object-Oriented Methods, Formal Specification Languages, Component-Based Software Production... This is just a very short list of technologies proposed to solve a very old and, at the same time, very wellknown problem: how to produce software of quality. Programming has been the key task during the last 40 years, and the results have not been successful yet. This work will explore the need of facing a sound software production process from a different perspective: the non-programming perspective, where by nonprogramming we mainly mean modeling. Instead of talking about Extreme Programming, we will introduce a Extreme Non-Programming (Extreme Modeling-Oriented) approach. We will base our ideas on the intensive work done during the last years, oriented to the objective of generating code from a higher-level system specification, normally represented as a Conceptual Schema. Nowadays, though, the hip around MDA has given a new push to these strategies. New methods propose sound model transformations which cover all the different steps of a sound software production process from an Information Systems Engineering point of view. This must include Organizational Modeling, Requirements Engineering, Conceptual Modeling and Model-Based Code Generation techniques. In this context, it seems that the time of Model Transformation Technologies is finally hereā€¦

Specification of model transformations based on meta templates

methods, 2002

MDA (Model Driven Architecture) attempts to solve some common problems of current software architectures to reduce the complexity of software development: i) separation of technology dependent concepts from the independent concepts, ii) automate the software development process, and iii) separation of domain, technology and technological concerns to avoid the confusions because of the combination of different types of concepts. MDA introduces two basic solutions to solve these problems: i) description of specialized modeling languages and ii) model transformations and mappings. Currently, the first concept (description of specialized modeling language) has been widely studied and there are general solutions and standards (Profiles [5] and MOF [12]). But the second solution has not been well studied yet and practical solutions depend on specific script languages, and the standards that include some kind of mapping proposal make an informal description of the mappings. We are going to introduce some solutions to express complex transformations where the source and target modeling structures are not limited to simple modeling elements.

Applying MDE to the (semi-)automatic development of model transformations

Information and Software Technology, 2013

Context. Model transformations play a key role in any software development proposal based on Model-Driven Engineering principles. However, despite the inherent complexity of developing model transformations, little attention has been paid to the application of MDE principles to the development of model transformations. Objective. In order to: a) address the inherent complexity of model transformations development and b) alleviate the problem of the diversity of the languages that are available for model transformation, this paper proposes applying MDE principles to the development of model transformations. In particular, we have adopted the idea of handling model transformations as transformation models in order to be able to model, transform and generate model transformations. Method. The proposal follows an MDA-based approach that entails the modeling of model transformations at different abstraction levels and the connection of these models by means of model transformations. It has been empirically validated by conducting a set of case studies following a systematic research methodology. Results. The proposal was supported by the introduction of MeTAGeM, a methodological and technical framework for the model-driven development of model transformations that bundles a set of Domain-Specific Languages for modeling model transformations with a set of model transformations to bridge these languages and (semi-)automate model transformations development.

Towards model transformation design patterns

2005

The use of design patterns in software engineering has already been broadly discussed. This is a good way of capitalizing experience and best practice so as to increase reusability. What is true for Object Oriented Programming should also apply to Model Driven Engineering (MDE) . There are many ways to design a metamodel or a model transformation. MDE would benefit from having a large collection of model transformation design patterns. This paper presents some initial work on the construction of a collection of MDE patterns. MDE patterns cover the design of metamodels, transformations, compositions and other operations on models.

On the Specification of Model Transformations through a Platform Independent Approach

Proceedings of the 27th International Conference on Software Engineering and Knowledge Engineering, 2015

Transformations are key artifacts in the MDD (Model Driven Development) approach: a software development project can be defined through a transformation chain converting source models into target models until code, enabling development process automation. Transformations can be complex and demand software processes, languages and techniques to improve their development in order to increase reuse, portability, correctness, and so on. In this context we propose a framework to develop model transformations using MDD. This paper presents a Model Transformation Profile (MTP) defined as the domain specific language of the framework.