447,507 research outputs found

    Example-driven meta-model development

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s10270-013-0392-yThe intensive use of models in model-driven engineering (MDE) raises the need to develop meta-models with different aims, such as the construction of textual and visual modelling languages and the specification of source and target ends of model-to-model transformations. While domain experts have the knowledge about the concepts of the domain, they usually lack the skills to build meta-models. Moreover, meta-models typically need to be tailored according to their future usage and specific implementation platform, which demands knowledge available only to engineers with great expertise in specific MDE platforms. These issues hinder a wider adoption of MDE both by domain experts and software engineers. In order to alleviate this situation, we propose an interactive, iterative approach to meta-model construction, enabling the specification of example model fragments by domain experts, with the possibility of using informal drawing tools like Dia or yED. These fragments can be annotated with hints about the intention or needs for certain elements. A meta-model is then automatically induced, which can be refactored in an interactive way, and then compiled into an implementation meta-model using profiles and patterns for different platforms and purposes. Our approach includes the use of a virtual assistant, which provides suggestions for improving the meta-model based on well-known refactorings, and a validation mode, enabling the validation of the meta-model by means of examples.This work has been funded by the Spanish Ministry of Economy and Competitivity with project “Go Lite” (TIN2011-24139), and by the R&D programme of Madrid Region with project “eMadrid” (S2009/TIC-1650)

    Model-driven engineering approach to design and implementation of robot control system

    Full text link
    In this paper we apply a model-driven engineering approach to designing domain-specific solutions for robot control system development. We present a case study of the complete process, including identification of the domain meta-model, graphical notation definition and source code generation for subsumption architecture -- a well-known example of robot control architecture. Our goal is to show that both the definition of the robot-control architecture and its supporting tools fits well into the typical workflow of model-driven engineering development.Comment: Presented at DSLRob 2011 (arXiv:cs/1212.3308

    Pattern Reification as the Basis for Description-Driven Systems

    Full text link
    One of the main factors driving object-oriented software development for information systems is the requirement for systems to be tolerant to change. To address this issue in designing systems, this paper proposes a pattern-based, object-oriented, description-driven system (DDS) architecture as an extension to the standard UML four-layer meta-model. A DDS architecture is proposed in which aspects of both static and dynamic systems behavior can be captured via descriptive models and meta-models. The proposed architecture embodies four main elements - firstly, the adoption of a multi-layered meta-modeling architecture and reflective meta-level architecture, secondly the identification of four data modeling relationships that can be made explicit such that they can be modified dynamically, thirdly the identification of five design patterns which have emerged from practice and have proved essential in providing reusable building blocks for data management, and fourthly the encoding of the structural properties of the five design patterns by means of one fundamental pattern, the Graph pattern. A practical example of this philosophy, the CRISTAL project, is used to demonstrate the use of description-driven data objects to handle system evolution.Comment: 20 pages, 10 figure

    UML to XML-Schema Transformation: a Case Study in Managing Alternative Model Transformations in MDA

    Get PDF
    In a Model Driven Architecture (MDA) software development process, models are\ud repeatedly transformed to other models in order to finally achieve a set of models with enough details to implement a system. Generally, there are multiple ways to transform one model into another model. Alternative target models differ in their quality properties and the selection of a particular model is determined on the basis of specific requirements. Software engineers must be able to identify, compare and select the appropriate transformations within the given set of requirements. The current transformation languages used for describing and executing model transformations only provide means to specify the transformations but do not help to identify and select from the alternative transformations. In this paper we propose a process and a set of techniques for constructing a transformation space for a given transformation problem. The process uses a source model, its meta-model and the meta-model of the target as input and generates a transformation space. Every element in that space represents a transformation that produces a result that is an instance of the target meta-model. The requirements that must be fulfilled by the result are captured and represented in a quality model. We explain our approach using an illustrative example for transforming a platform independent model expressed in UML into platform specific models that represent XML schemas. A particular quality model of extensibility is presented in the paper

    An Integrated Service-Oriented Development Platform for Realization of e-Business Systems

    Get PDF
    Enterprises need to be responsive to meet dynamic businesses and requirements. Service-oriented architecture can improve e-Business applications in integration and flexibility. Therefore, service-oriented architecture has been envisioned as an appropriate computational paradigm for e-business applications. This paper proposes a multi-model driven collaborative development platform for building service-oriented e-Business systems. The platform supports service-oriented software engineering and application developments. It employs three views, i.e., business view, process view, and service view to support business and technical consultants’ operations. Consultants can collaborate from distributed sites of, e.g., clients and IT vendors to provide their clients’ with rapid system development and demonstration. The proposed platform is service-oriented and driven by three models, i.e., service meta-model, process model and business model. All of these three models are supported by a semantic reasoning engine to facilitate intelligent service discovery, process execution and business-business integration. A simple example has been used to demonstrate its functionality

    Capturing high-level requirements of information dashboards' components through meta-modeling

    Get PDF
    [EN]Information dashboards are increasing their sophistication to match new necessities and adapt to the high quantities of generated data nowadays.These tools support visual analysis, knowledge generation, and thus, are crucial systems to assist decision-making processes.However, the design and development processes are complex, because several perspectives and components can be involved.Tailoringcapabilities are focused on providing individualized dashboards without affecting the time-to-market through the decrease of the development processes' time. Among the methods used to configure these tools, the software product lines paradigm and model-driven development can be found. These paradigms benefit from the study of the target domain and the abstraction of features, obtaining high-level models that can be instantiated into concrete models. This paper presents a dashboard meta-model that aims to be applicable to any dashboard. Through domain engineering, different features of these tools are identified and arranged into abstract structuresand relationships to gain a better understanding of the domain. The goal of the meta-model is to obtain a framework for instantiating any dashboard to adapt them to different contexts and user profiles.One of the contexts in which dashboards are gaining relevance is Learning Analytics, as learning dashboards are powerful tools for assisting teachers and students in their learning activities.To illustrate the instantiation process of the presented meta-model, a small example within this relevant context (Learning Analytics) is also provided

    A case study in combining formal verification and model-driven engineering

    Get PDF
    International audienceFormal methods are increasingly used in software engineering. They offer a formal frame that guarentees the correctness of developments. However, they use complex notations that might be difficult to understand for unaccustomed users. It thus becomes interesting to formally specify the core components of a language, implement a provably correct development, and manipulate its components in a graphical/ textual editor. This paper constitutes a first step towards using Model Driven Engineering (MDE) technology in an interactive proof development. It presents a transformation process from functional data structures, commonly used in proof assistants, to Ecore Models. The transformation is based on an MDE methodology. The resulting meta-models are used to generate graphical or textual editors. We will take an example to illustrate our approach: a simple domain specific language. This guiding example is a Java-like language enriched with assertions

    Automatic ada code generation using a model-driven engineering approach

    Get PDF
    Currently, Model-Driven Engineering (MDE) is considered one of the most promising approaches for software development. In this paper, a simple but complete example based on state-machines will be used to demonstrate the benefits of this approach. After defining a modelling language (meta-model) for state-machines, a graphical tool will be presented which is aimed at easing the description and validation of state-machine models. These models will then be used as inputs for another tool which will automatically generate the corresponding Ada code, including a simulation program to test the correctness and performance of the implemented application.Proyecto MEDWSA (TIN2006-15175-C05-02)de CICYT y PMPDI-UPCT-2006 programa de la Universidad Politécnica de Cartagena

    Formal support for model driven development with graph transformation techniques

    Full text link
    Also published online by CEUR Workshop Proceedings (CEUR-WS.org, ISSN 1613-0073) In this paper we give an overview of our approach for Model Driven Development (MDD), based on graph transformation techniques. In MDD, models are the primary assets in the development process. They are not only used for documentation, but also for analysis, simulation, code and test cases generation. Thus, model transformation becomes a central activity. As models can be formally described as attributed, typed graphs, we can use formal graph transformation techniques for their manipulation. In this paper, we give an overview of the different kinds of model transformation and suitable graph transformation techniques. Moreover, graph transformation can be combined with meta-modelling for further expressivity. Some of these techniques have been recently implemented in the Metamodelling tool AToM3. We use the tool to introduce an example in the component-based modelling and simulation area

    Tracing program transformations with string origins

    Get PDF
    Program transformations play an important role in domain-specific languages and model-driven development. Tracing the execution of such transformations has well-known benefits for debugging, visualization and error reporting. In this paper we introduce string origins as a lightweight, generic and portable technique to establish a tracing relation between the textual fragments in the input and output of a program transformation. We discuss the semantics and the implementation of string origins using the Rascal meta programming language as an example. Furthermore, we illustrate the utility of string origins by presenting data structures and operations for tracing generated code, implementing protected regions, performing name resolution, and fixing inadvertent name capture in generated code
    corecore