Model Transformation Based on Meta Templates (original) (raw)
Related papers
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 ...
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.
2018 XLIV Latin American Computer Conference (CLEI), 2018
Model-Driven Software Engineering (MDSE) is a development method in which models are used to generate software. Despite documented advantages, projects employing MDSE may fail due to development challenges. In this paper, we study and document these challenges by conducting an up-to-date systematic mapping that goes beyond reviewing MDSE studies: we also include two derived paradigms (Model-Oriented Programming and Models at Run-time). Therefore, we present a systematic mapping with two objectives: The first objective was to identify specific domains in which MDSE is successful, while the second objective was to identify what are the challenges to apply this methodology to general purpose development processes. Following the review of 4859 studies (3727 are unique), we have identified the application and technological domains in which MDSE projects are more likely to succeed. We also discuss challenges presented by 17 primary studies. The analysis of the results indicate that MDSE a...
Integrated formal methods, 2002
The Object Management Group's (OMG) Model Driven Architecture (MDA) strategy envisages a world where models play a more direct role in software production, being amenable to manipulation and transformation by machine. Model Driven Engineering (MDE) is wider in scope than MDA. MDE combines process and analysis with architecture. This article sets out a framework for model driven engineering, which can be used as a point of reference for activity in this area. It proposes an organisation of the modelling 'space' and how to locate models in that space. It discusses different kinds of mappings between models. It explains why process and architecture are tightly connected. It discusses the importance and nature of tools. It identifies the need for defining families of languages and transformations, and for developing techniques for generating/configuring tools from such definitions. It concludes with a call to align metamodelling with formal language engineering techniques.
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.
Supporting Model-Driven Development
Handbook of Research on Emerging Advancements and Technologies in Software Engineering, 2014
The adoption of Model-Driven Development (MDD) is increasing and it is widely recognized as an important approach for building software systems. In addition to traditional development process models, an MDD process requires the selection of metamodels and mapping rules for the generation of the transformation chain which produces models and application code. However, existing support tools and transformation engines for MDD do not address different kinds of software process activities, such as application modeling and testing, to guide the developers. Furthermore, they do not enable process modeling nor the (semi) automated execution of activities during process enactment. MoDErNE (Model Driven Process-Centered Software Engineering Environment) uses process-centered software engineering environment concepts to improve MDD process specification and enactment by using a metamodeling foundation. This chapter presents model driven development concept issues and the MoDErNE approach and ...
Model-driven engineering: A survey supported by the unified conceptual model
Computer Languages, Systems & Structures, 2015
During the last decade a new trend of approaches has emerged, which considers models not just documentation artefacts, but also central artefacts in the software engineering field, allowing the creation or automatic execution of software systems starting from those models. These proposals have been classified generically as Model-Driven Engineering (MDE) and share common concepts and terms that need to be abstracted, discussed and understood. This paper presents a survey on MDE based on a unified conceptual model that clearly identifies and relates these essential concepts, namely the concepts of system, model, metamodel, modeling language, transformations, software platform, and software product. In addition, this paper discusses the terminologies relating MDE, MDD, MDA and others. This survey is based on earlier work, however, contrary to those, it intends to give a simple, broader and integrated view of the essential concepts and respective terminology commonly involved in the MDE, answering to key questions such as: What is a model?, What is the relation between a model and a metamodel?, What are the key facets of a modeling language?, How can I use models in the context of a software development process?, What are the relations between models and source code artefacts and software platforms?, and What are the relations between MDE, MDD, MDA and other MD approaches?
Specification of model transformation and weaving in model driven engineering
2007
ABSTRACT Last years witnessed an increasing intricacy of both software systems and technologies. A number of platforms (eg CORBA, J2EE, .NET) have been introduced which often came in bundle with their own programming language (eg C++, Java, C#). This has made the software development process a difficult and expensive task.
Informatik Spektrum, 2008
The model-driven architecture (MDA) paradigm is well-known and widely used in the field of model-based software development. However, there are still some issues that are problematic and that need to be dealt with carefully. In this paper we present a metaphor that explains how MDA grows in complexity as problems faced become more difficult or “wicked”, and how a method designed to be powerful, flexible and MDA-compliant can eventually become, in effect, a “jigsaw puzzle”. This jigsaw puzzle is not merely the result of having a collection of methodological “pieces” with routes across them, but also arises as a result of the criteria underlying the MDA abstraction layers. We compare MDA to other research fields such as human-computer interaction, model management and method engineering, and we use as an example the OO-Method, a software development method based on MDA-compliant model transformations. We focus on a methodological piece that is conceived to allow the specification of interaction requirements by means of interface sketches. These sketches are supported by a task model that serves as a sound basis for formalisation and allows the application of model transformation in order to obtain subsequent models. A case study illustrates the requirements capture method together with the software development process defined by the OO-Method. The whole process presented in the case study represents one of the possible routes that can be followed when developing a software system with the OO-Method.