Article

Model Refinement in the Model Driven Architecture Context

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Problem statement: Model Driven Architecture (MDA) is a software development approach based on the design and the transformation of models. In MDA, models are systematically translated to other models and to a source code. Model transformation plays a key role in MDA. Several model transformation languages have been launched lately, aiming to facilitate the translation of input models to output models. The employment of such languages in practical contexts has succeed, although quite often those languages cannot be directly applied to a particular type of model transformation, called refinement. Approach: This study provides a general overview on model refinement and investigates two approaches for model refinement based on Atlas Transformation Language (ATL) referred to as: Refining mode and module superimposition. ATL is a widely adopted language for solving model transformation problems in the MDA approach. Results: This study presents the comparative results obtained from the analysis of the Refining Mode and the Module Superimposition approaches, emphasizing their application benefits. Conclusion: The increasing use of MDA for the design of software systems empowered researches on how developers may benefit from approaches that perform model refinement. The main advantages achieved with the use of the Module Superimposition technique are maintainability and reusability improvement, obtained through module composition and rule superimposition. In its turn, the Refining Mode stands out for its ease of use.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... In this paper we tried to integrate the concept of CBD to develop a mobile enterprise application. We believed that enterprise application uses software components that are being re-used repeatedly; hence, component re-used for mass application developments is necessary [3] [4]. Component Based Development (CBD) is popular methodology to develop a mobile component through component re-used. ...
... In so doing, a model transformation language, e.g., the Atlas Transformation Language (Troya and Vallecillo, 2010), is selected to be used in the creation of a model transformation. A model transformation, as described in (Agner et al., 2012), can be used to insert the PM defined in this method and a PIM into a PIM-into-PSM model transformation. Such approach refers to an endogenous refinement of models based on the UML metamodel. ...
Article
The application of the Model Driven Architecture (MDA) approach to the design of embedded software based on Real-Time Operating Systems (RTOS) is encouraged by the fact that such software has a wide variety of platforms. In this way, the creation of methods for the development of platform models that meet such diversity of platforms is necessary. This study proposes a method called PM-MDA for the development of platform models that design embedded software based on RTOS in the context of MDA. In addition, this study defines the swxRTOS metamodel, a UML 2.0 profile for RTOS based on embedded software design. Such profile defines a set of stereotypes to describe Platform Models (PMs) and is intended to generically describe the services provided by a given embedded system platform of the RTOS. This profile promotes the creation of Platform Models, which will be used as input parameters in the model transformation. Due to the inherent complexity in embedded software design and the existence of a wide variety of platform models, new methods that support the development of such software become crucial.
Article
The Enterprise resource planning (ERP) is business process management software that allows an organization to use a system of integrated applications to manage the business and automate back office functions. ERP software integrates all facets of an operation, including product planning, development, manufacturing processes, sales and marketing. ERP system is not a new concept. This has been used in business industry a long time ago. However, in the fast growing technological advances, the mobile ERP System concept was introduced. The contemplation of ERP to be mobilized is a challenging idea. This paper introduces a mobile ERP system with the concept of SaaS cloud.
Article
The Social Business solutions are developed through the integration of different components. This paper proposed a The web-based Social Business Solution Architecture based on component based development as a software development methodology to simply integrate the different technology building blocks into one web-based solution. The social business solutions should be role-based, relationship driven social, web, and mobile driven.
Conference Paper
Full-text available
Model transformations are increasingly being incorporated in software development processes. However, as systems being developed with transformations grow in size and complexity, the performance of the transformations tends to degrade. In this paper we investigate the factors that have an impact on the execution performance of model transformations. We analyze the performance of three model transformation language engines, namely ATL, QVT Operational Mappings and QVT Relations. We implemented solutions to two transformation problems in these languages and compared the performance of these transformations. We extracted metric values from the transformations to systematically analyze how their characteristics influence transformation execution performance. We also implemented a solution to a transformation problem in ATL in three functionally equivalent ways, but with different language constructs to evaluate the effect of language constructs on transformation performance. The results of this paper enable a transformation designer to estimate beforehand the performance of a transformation, and to choose among implementation alternatives to achieve the best performance. In addition, transformation engine developers may find some of our results useful in order to tune their tools for better performance.
Article
Full-text available
In a collaborative context, the integration of industrial partners deeply depends on the ability to use a collaborative architecture to interact efficiently. In this paper, we propose to tackle this point according to the fact that partners of the collaboration respect the Service-Oriented Architecture (SOA) paradigm. We propose to design such a collaborative architecture according to Model-Driven Architecture (MDA) principles. We aim at using business models to design a logical model of a solution (logical architecture) as a principal step to reach the final collaborative solution. This paper presents the theoretical aspects of this subject and the dedicated transformation rules.
Conference Paper
Full-text available
Model-driven application engineering builds on the concept of model transformations. To weave additional refinement parts into an application model, so-called refinement transformations are used. In many cases these refinement parts are highly variable and configurable. Such a configuration could depend on application specific features. Today, application developers need to define refinement transformations manually, including all possible configuration combinations. Due to the high number of possible initial requirements such a development method is costly and means significant effort. Therefore configurable refinements should be embedded in an overall model-driven application development process. Currently there is a lack of automated support for integrating these configuration decisions into the development process of refinement transformations. In this paper, we introduce a novel approach for automated feature model-based generation of refinement transformations. To express application features, we consider configurations specified by extended feature diagrams. In addition, we provide a running example giving insight into the application of the presented approach.
Conference Paper
Full-text available
Model transformations provide a powerful capability to automate model refinements. However, the use of model transformation languages may present challenges to those who are unfamiliar with a specific transformation language. This paper presents an approach called model transformation by demonstration (MTBD), which allows an end-user to demonstrate the exact transformation desired by actually editing a source model and demonstrating the changes that evolve to a target model. An inference engine built into the underlying modeling tool records all editing operations and infers a transformation pattern, which can be reused in other models. The paper motivates the need for the approach and discusses the technical contributions of MTBD. A case study with several sample inferred transformations serves as a concrete example of the benefits of MTBD.
Article
Full-text available
Introduction Model Driven Engineering (MDE) techniques support extensive use of models in order to manage the increasing complexity of software systems. Appropriate abstractions of software system elements can ease reasoning and understanding and thus limit the risk of errors in large systems. Automatic model transformations play a critical role in MDE since they automate complex, tedious, error-prone, and recurrent software development tasks. Airbus uses automatic code synthesis from SCADE models to generate the code for embedded controllers in the Airbus A380. Commercial tools for model transformations exist. Objecteering and Together from Borland are tools that can automatically add design patterns in a UML class model. Esterel Technologies have a tool for automatic code synthesis for safety critical systems. Other examples of transformations are refinement of a design model by adding details pertaining to a particular target platform, refactoring a model by changing its structure to enhance design quality, or reverse engineering code to obtain an abstract model. These software development tasks are critical and thus the model transformations that automate them must be validated. A fault in a transformation can introduce a fault in the transformed model, which if undetected and not removed, can propagate to other models in successive development steps. As a fault propagates across transformations, it becomes more difficult to detect and isolate. Since model transformations are meant to be reused, faults present in them may result in many faulty models. Model transformations constitute a class of programs with unique characteristics that make testing them challenging. The complexity of input and output data, lack of model management tools, and the heterogeneity of transformation languages pose special problems to testers of transformations. In this paper we identify current model transformation characteristics that contribute to the difficulty of systematically testing transformations. We present promising solutions and propose possible ways to overcome these barriers.
Article
Full-text available
As the complexity of model transformation (MT) grows, the need to rely on formal semantics of MT languages becomes a critical issue. Formal semantics provide precise specifications of the expected behavior of transformations, allowing users to understand them and to use them properly, and MT tool builders to develop correct MT engines, compilers, etc. In addition, formal semantics allow modelers to reason about the MTs and to prove their correctness, something specially important in case of large and complex MTs (with, e.g., hundreds or thousands of rules) for which manual debugging is no longer possible. In this paper we give a formal semantics of the ATL 3.0 model transformation language using rewriting logic and Maude, which allows addressing these issues. Such formalization provides additional benefits, such as enabling the simulation of the specifications or giving access to the Maude toolkit to reason about them.
Conference Paper
Full-text available
This paper presents ATL (ATLAS Transformation Language): a hybrid model transformation language that allows both declarative and imperative constructs to be used in transformation definitions. The paper describes the language syntax and semantics by using examples. ATL is supported by a set of development tools such as an editor, a compiler, a virtual machine, and a debugger. A case study shows the applicability of the language constructs. Alternative ways for implementing the case study are outlined. In addition to the current features, the planned future ATL features are briefly discussed.
Article
Full-text available
Several model-to-model transformation languages have been primarily designed to easily address the syntactic and semantic translation of read-only input models towards write-only output models. While this approach has been proven successful in many practical cases, it is not directly applicable to transformations that need to modify their source models, like refactorings. In this paper we investigate the application of a model-to-model transformation language to in-place transformations, by providing a systematic view of the problem, comparing alternative solutions and proposing a transformation semantics to address this problem in ATL.
Article
In 2003, the Object Management Group (OMG) officially introduced the Model-Driven Architecture (MDA). The specification explains how different OMG standards could be used together. MDA focuses on the concepts of Platform Independent Models and Platform Specific Models, two viewpoints on software systems, and how mappings between these two can be made in order to streamline software development. Through this approach, the functional specification of the system and the implementation specification are separated, allowing for better reuse and portability. An important technique used in MDE is model transformation. A model transformation is a process of automatic generation of a target model from a source model, according to a transformation definition, which is expressed in a model transformation language. This paper focuses on model engineering terminology and theory of model generation. The paper describes overall MDA scenario and emphasizes on model transformation. As model transformation is an important area in model driven development, we have compared various techniques available for model transformation. The paper also focuses on model theory and model composition techniques used for model weaving.
Article
Model transformation is one of the pillars of model-driven engineering (MDE). The increasing complexity of systems and modelling languages has dramatically raised the complexity and size of model transformations as well. Even though many transformation languages and tools have been proposed in the last few years, most of them are directed to the implementation phase of transformation development. In this way, even though transformations should be built using sound engineering principles—just like any other kind of software—there is currently a lack of cohesive support for the other phases of the transformation development, like requirements, analysis, design and testing. In this paper, we propose a unified family of languages to cover the life cycle of transformation development enabling the engineering of transformations. Moreover, following an MDE approach, we provide tools to partially automate the progressive refinement of models between the different phases and the generation of code for several transformation implementation languages. KeywordsModel-driven engineering–Model transformation–Domain-specific languages
Article
During iterative, UML-based software development, various UML diagrams, modeling the same system at different levels of abstraction are developed. These models must remain consistent when changes are performed. In this context, we refine the notion of impact analysis and distinguish horizontal impact analysis–that focuses on changes and impacts at one level of abstraction–from vertical impact analysis–that focuses on changes at one level of abstraction and their impacts on another level. Vertical impact analysis requires that some traceability links be established between model elements at the two levels of abstraction. We propose a traceability analysis approach for UML 2.0 class diagrams which is based on a careful formalization of changes to those models, refinements which are composed of those changes, and traceability links corresponding to refinements. We show how actual refinements and corresponding traceability links are formalized using the OCL. Tool support and a case study are also described.
Article
In the context of Model Driven Engineering, models are the main development artifacts and model transformations are among the most important operations applied to models. A number of specialized languages have been proposed, aimed at specifying model transformations. Apart from the software engineering properties of transformation languages, the availability of high quality tool support is also of key importance for the industrial adoption and ultimate success of MDE. In this paper we present ATL: a model transformation language and its execution environment based on the Eclipse framework. ATL tools provide support for the major tasks involved in using a language: editing, compiling, executing, and debugging.
Article
The Model-Driven Engineering paradigm is aimed at raising the abstraction level of Software Engineering approaches through the systematic use of models as primary artifacts, not only in software design and development, but also to understand, interact, configure, and modify the runtime behavior of software. It tries to overcome the wall between the documentation and the real state of the implementation. For that matter, our long-term goal seeks to reach a higher degree of interoperability among available meta-modeling technologies through bridges among technological spaces (TS bridges). The proposed system provides several ATL (ATLAS Transformation Language) transformations that enable the application of measuring operations over ATL transformation models and rules, and the generation of different complementary end-user models, such as SVG charts and (X)HTML reports. For this work, we have evaluated a set of meta-modeling TS bridges among UML, MOF, Ecore, KM3, and Microsoft DSL Tools. These results provide quantitative measurements of the declarative and imperative constructs of these transformations and relative quality factors as well. In addition to this, all the top-level results extracted from the measurement of these TS bridges are merged into one unique model in order to assist in performing a comparative study among them. This comparative study suggests that it is feasible to apply automatic transformations over transformation models, i.e. meta-transformations. In this regard, there are many open research trends towards complete management, validation, optimization, and inference of TS bridges between complementary meta-modeling technologies. Copyright © 2010 John Wiley & Sons, Ltd.
Article
As the application of model transformation becomes increasingly commonplace, the focus is shifting from model transformation languages to the model transformations themselves. The properties of model transformations, such as scalability, maintainability and reusability, have become important. Composition of model transformations allows for the creation of smaller, maintainable and reusable transformation definitions that together perform a larger transformation. This paper focuses on composition for two rule-based model transformation languages: the ATLAS Transformation Language (ATL) and the QVT Relations language. We propose a composition technique called module superimposition that allows for extending and overriding rules in transformation modules. We provide executable semantics as well as a concise and scalable implementation of module superimposition based on ATL.
Conference Paper
The current software development approaches that support developers in providing enterprise centric computing solutions have been falling short of expectations in handling some of the most trivial issues like changes in requirements, changing technologies, multiple platforms and platform interoperability. Model Driven Development (MDD) approach for software development is aimed at leveraging models to cater to these challenges. Model Driven Architecture (MDA) based on MDD and supported by UML, MOF and other standards is fast becoming a dominant approach for software development these days. This paper is an attempt to provide a state-of-the-art review of MDA concepts and summarizes various advantages and disadvantages of MDA.
Transforming models with ATL. Satellite Events MoDELS DOI: 10
  • F Jouault
  • I Kurtev Jouault
  • F Allilaire
  • J Bezivin
  • I Kurtev
Jouault, F. and I. Kurtev, 2006. Transforming models with ATL. Satellite Events MoDELS 2005 Conf., 3844: 128-138. DOI: 10.1007/11663430_14 Jouault, F., F. Allilaire, J. Bezivin and I. Kurtev, 2008. ATL: A model transformation tool. Sci. Comput. Programm., 72: 31-39. DOI: 10.1016/j.scico.2007.08.002
ATL/User Guide-The ATL Language. The Eclipse Foundation
  • Eclipse
Eclipse, 2012. ATL/User Guide-The ATL Language. The Eclipse Foundation.