logo
    Model-Driven Engineering for End-Users in the Loop in Smart Ambient Systems
    4
    Citation
    37
    Reference
    10
    Related Paper
    Citation Trend
    Abstract:
    At the heart of cyber-physical and ambient systems, the user should permanently benefit from applications adapted to the situation and her/his needs. To do this, she/he must be able to configure her/his software environment and be supported as much as possible in that task. To this end, an intelligent “engine” assembles software components that are present in the ambient environment at the time and makes unanticipated applications emerge. The problem is to put the user “in the loop”, i.e., provide adapted and intelligible descriptions of the emerging applications, and present them so that the user can accept, modify or reject them. Besides, user feedback must be collected to feed the engine’s learning process. Our approach relies on Model-Driven Engineering (MDE). However, differently from the regular use of MDE tools and techniques by engineers to develop software and generate code, our focus is on end-users. Models of component assemblies are represented and made editable for them. Based on a metamodel that supports modeling and de- scription of component-based applications, a user interface provides multi-faceted representations of the emerging applications and captures user feedback. Our solution relies on several domain- specific languages and a transformation process, based on the established MDE tools (Gemoc studio, Eclipse Modeling Framework, EcoreTools, Sirius, Acceleo). It works in conjunction with the intelligent engine that builds the emerging applications and to which it provides learning data.
    Keywords:
    Model-driven architecture
    Component (thermodynamics)
    Metamodeling
    Eclipse
    Model Transformation
    Interface (matter)
    Background: In model-driven development, model transformation transforms one model to another between different phases of software engineering. In model transformation, metamodel plays a vital role which defines the abstract syntax of models and the interrelationship between their elements. A unified metamodel defines an abstract syntax for both source and target models when they share core elements. Theoretical approaches define language and platform independent representation of models in software engineering. This paper investigates the theoretical foundation to this unified meta-modelling for their consistent transformation. Objective: This paper aims to define the formal foundations to the unified metamodel for generating implementation from design specifications and model reusability. Method: In this paper, the study considers transformation from design to implementation and vice versa using theoretical foundations to build a verified software system. Results: The related tools provide a formal representation of the design phase for verification purpose. Our approach provides a set-theoretical foundation to the unified metamodel for model transformation from USE (UML/OCL) to Spec#. In other words, our approach defines the formal foundation to define a model which consists of all the required properties for verification at the design and implementation phase. Conclusion: This paper introduced a new set of the theoretical framework which acts as an interface between the design and implementation to generate verified software systems.
    Metamodeling
    Model Transformation
    Reusability
    Model-driven architecture
    Recently, Model Driven Engineering (MDE) has been proposed for supporting the development, maintenance and evolution of software systems. Model Driven Architecture (MDA), Software Factories and Eclipse Modeling Framework (EMF) are representative MDE approaches. These MDE approaches have some concepts and techniques in common such as modeling, metamodels and model transformation. However, other concepts and techniques should be envisaged such as metamodel matching. In this paper, we discuss some issues and provide some insights into metamodel matching. For this purpose, we use UML and the C# platform to illustrate our approach and to evaluate our Mapping Tool for MDE (MT4MDE) and Semi-Automatic Matching Tool for MDE (SAMT4MDE). Afterwards, comparisons with other tools are presented.
    Metamodeling
    Model-driven architecture
    Eclipse
    Model Transformation
    Metadata modeling
    Citations (20)
    According to the model-driven engineering paradigm, one of the entry requirements when realizing a seamless tool chain for the development of software is the definition of metamodels, to regulate the specification of models, and model transformations, for automating manipulations of models. In this context, we present a metamodel definition for the Rubus component model, an industrial solution used for the development of vehicular embedded systems. The metamodel includes the definition of structural elements as well as elements for describing timing information. In order to show how, using model-driven engineering, the integration between different modeling levels can be automated, we present a model-to-model transformation between models conforming to EAST-ADL and models described by means of the Rubus component model. To validate our solution, we exploit a set of industrial automotive applications to show the applicability of both the Rubus component model metamodel and the model transformation.
    Metamodeling
    Component (thermodynamics)
    Model Transformation
    Model-driven architecture
    Model-based design
    Conceptual model
    Citations (15)
    Recently, Model Driven Engineering (MDE) has been proposed for supporting the development, maintenance and evolution of software systems. Model Driven Architecture (MDA), Software Factories and Eclipse Modeling Framework (EMF) are representative MDE approaches. These MDE approaches have some concepts and techniques in common such as modeling, metamodels and model transformation. However, other concepts and techniques should be envisaged such as metamodel matching. In this paper, we discuss some issues and provide some insights into metamodel matching. For this purpose, we use UML and the C# platform to illustrate our approach and to evaluate our Mapping Tool for MDE (MT4MDE) and Semi-Automatic Matching Tool for MDE (SAMT4MDE). Afterwards, comparisons with other tools are presented.
    Metamodeling
    Model-driven architecture
    Eclipse
    Model Transformation
    Metadata modeling
    Citations (26)
    Software development is witnessing the increasing need of version management techniques for supporting the evolution of model-based artefacts. In this respect, metamodels can be considered one of the basic concepts of model-driven engineering and are expected to evolve during their life-cycle. As a consequence, models conforming to changed metamodels have to be updated for preserving their well-formedness. This paper deals with the co-adaptation problems by proposing higher-order model transformations which take a difference model recording the metamodel evolution and produce a model transformation able to co-evolve the involved models.
    Metamodeling
    Model Transformation
    Model-driven architecture
    Software evolution
    Model-Driven Development
    Citations (248)
    Model Transformation is a software engineering mechanism for transforming one model into another model between different phases to develop a software system. A metamodel defines the abstract syntax of models and the interrelationships between model elements. Model transformation approaches use different metamodels to represent source and target model of the system. This paper investigates for a unified metamodel when they share set of core representations in different phases and checks the possibilities for multidirectional transformation for code generation, upgradation and migration purposes.
    Metamodeling
    Model Transformation
    Model-driven architecture
    Reusability
    Metamodeling and model transformations are the key concepts in Model Driven Development (MDD) approaches as they provide a mechanism for automated development of well structured and maintainable systems. However, neither defining a metamodel nor developing a model transformation is an easy task. In this paper, we provide an overview of metamodeling and model transformations in MDD and discuss about the use of a MDD approach in Modeling and Simulation (M&S). In order to support the development of successful model transformations, we define the criteria for the evaluation of model transformations.
    Metamodeling
    Model Transformation
    Model-Driven Development
    Model-driven architecture
    Citations (27)
    Model-driven engineering is a wide-spread paradigm in modern software engineering. During the last couple of years, many tools and languages have been developed, which are especially designed for model transformations — a discipline which is needed in many model-driven engineering approaches. While most of the existing model-to-model tools and languages are tailored towards batch transformations for specific model instances, they lack support for generic transformation problems, where the metamodel is unknown beforehand. In this paper we present a two-step meta-code generation approach that derives a metamodel-specific modelto-model transformation from a model-to-text transformation. The approach has been successfully applied to the problem of product derivation in model-driven software product lines.
    Metamodeling
    Model Transformation
    Model-driven architecture
    Software product line
    Model-Driven Development
    Code (set theory)
    Citations (0)