62 research outputs found

    Creating Well-Structured Specifications in MOFLON

    Get PDF
    Considering the growing popularity of model-based development, specifications become more complex. As a consequence, graph-based modeling tools have to take measures to handle this complexity. In this paper, we present the metamodeling environment MOFLON which has been developed on top of the FUJABA Toolsuite during the last few years at our department. We focus one of MOFLON's strongest advantages, i.e. the realization of the abstraction and modularization features introduced by the recent UML 2.0 Infrastructure specification. The new concept of package merge allows to reuse and refine existing models without modifying the original. Subset and redefinition relationships become useful tools to refine associations due to the automatic propagation mechanism generated by the MOFLON code generator. We show how the user can organize large specifications using these concepts and how they effect graph transformation rules and code generation

    Using domain specific languages to capture design knowledge for model-based systems engineering

    Get PDF
    Design synthesis is a fundamental engineering task that involves the creation of structure from a desired functional specification; it involves both creating a system topology as well as sizing the system's components. Although the use of computer tools is common throughout the design process, design synthesis is often a task left to the designer. At the synthesis stage of the design process, designers have an extensive choice of design alternatives that need to be considered and evaluated. Designers can benefit from computational synthesis methods in the creative phase of the design process. Recent increases in computational power allow automated synthesis methods for rapidly generating a large number of design solutions. Combining an automated synthesis method with an evaluation framework allows for a more thorough exploration of the design space as well as for a reduction of the time and cost needed to design a system. To facilitate computational synthesis, knowledge about feasible system configurations must be captured. Since it is difficult to capture such synthesis knowledge about any possible system, a design domain must be chosen. In this thesis, the design domain is hydraulic systems. In this thesis, Model-Driven Software Development concepts are leveraged to create a framework to automate the synthesis of hydraulic systems will be presented and demonstrated. This includes the presentation of a domain specific language to describe the function and structure of hydraulic systems as well as a framework for synthesizing hydraulic systems using graph grammars to generate system topologies. Also, a method using graph grammars for generating analysis models from the described structural system representations is presented. This approach fits in the context of Model-Based Systems Engineering where a variety of formal models are used to represent knowledge about a system. It uses the Systems Modeling Language developed by The Object Management Group (OMG SysMLℱ) as a unifying language for model definition.M.S.Committee Chair: Paredis, Chris; Committee Member: McGinnis, Leon; Committee Member: Schaefer, Dir

    What Algebraic Graph Transformations Can Do For Model Transformations

    Get PDF
    Model transformations are key activities in model-driven development (MDD). A number of model transformation approaches have emerged for different purposes and with different backgrounds. This paper focusses on the use of algebraic graph transformation concepts to specify and verify model transformations in MDD

    Refactoring of UML models using AGG

    Get PDF
    Model refactoring is an emerging research topic that is heavily inspired by refactoring of object-oriented programs. Current-day UML modeling environments provide poor support for evolving UML models and applying refactoring techniques at model level. As UML models are intrinsically graph-based in nature we propose to use graph transformations to specify and apply model refactoring. More in particular, we use a specific graph transformation tool, AGG, and provide recommendations of how AGG may be improved to better support model refactoring. These recommendations are based on a small experiment that we have carried out with refactoring of UML class diagrams and state machines

    Support for Bidirectional Model-to-Text Transformations

    Get PDF
    In recent years, model-driven approaches and processes have established themselves as pragmatic and feasible solutions with tangible advantages. Transformations play a central role in any model-driven solution and, as interest in textual modelling grows, providing concepts and tools for supporting a high-level and declarative speciïŹcation of bidirectional model-to-text transformations becomes a vital area of research. Our paper identiïŹes important areas and scenarios for model-to-text transformations that are not or only partially supported by currently existing solutions. Based on the requirements of a real-world case study, we introduce a new concept that has been inspired by a successful bidirectional model-to-model transformation approach: Triple Graph Grammars

    Combining SysML and Model Transformations to Support Systems Engineering Analysis

    Get PDF
    As modern systems become increasingly complex, there is a growing need to support the systems engineering process with a variety of formal models, such that the team of experts involved in the process can express and share knowledge precisely, succinctly and unambiguously. However, creating such formal models can be expensive and time-consuming, making a broad exploration of different system architectures cost-prohibitive. In this paper, we investigate an approach for reducing such costs and hence enabling broader architecture space exploration through the use of model transformations. Specifically, a method is presented for verifying design alternatives with respect to design requirements through automated generation of analyses from formal models of the systems engineering problem. Formal models are used to express the structure of design alternatives, the system requirements, and experiments to verify the requirements as well as the relationships between the models. These formal models are all represented in a common modeling language, the Object Management Group’s Systems Modeling Language (OMG SysMLTM). To then translate descriptive models of system alternatives into a set of corresponding analysis models, a model transformation approach is used to combine knowledge from the experiment models with knowledge from reusable model libraries. This set of analysis models is subsequently transformed into executable simulations, which are used to guide the search for suitable system alternatives. To facilitate performing this search using commercially available optimization tools, the analyses are represented using the General Algebraic Modeling System (GAMS). The approach is demonstrated on the design of a hydraulic subsystem for a log splitter

    Towards rigorously faking bidirectional model transformations

    Get PDF
    Bidirectional model transformations (bx) are mechanisms for auto-matically restoring consistency between multiple concurrently modified models. They are, however, challenging to implement; many model transformation languages not supporting them at all. In this paper, we propose an approach for automatically obtaining the consistency guarantees of bx without the complexities of a bx language. First, we show how to “fake” true bidirectionality using pairs of unidirectional transformations and inter-model consistency constraints in Epsilon. Then, we propose to automatically verify that these transformations are consistency preserving — thus indistinguishable from true bx — by defining translations to graph rewrite rules and nested conditions, and leveraging recent proof calculi for graph transformation verification

    Definition of a Type System for Generic and Reflective Graph Transformations

    Get PDF
    This thesis presents the extension of the graph transformation language SDM (Story Driven Modeling) with generic and reflective features as well as the definition of type checking rules for this language. The generic and reflective features aim at improving the reusability and expressiveness of SDM, whereas the type checking rules will ensure the type-safety of graph transformations. This thesis starts with an explanation of the relevant concepts as well as a description of the context in order to provide the reader with a better understanding of our approach. The model driven development of software, today considered as the standard paradigm, is generally based on the use of domain-specific languages such as MATLAB Simulink and Stateflow. To increase the quality, the reliability,and the efficiency of models and the generated code, checking and elimination of detected guideline violations defined in huge catalogues has become an essential, but error-prone and time-consuming task in the development process. The MATE/MAJA projects, which are based on the use of the SDM language, aim at an automation of this task for MATLAB Simulink/Stateflow models. Modeling guidelines can be specified on a very high level of abstraction by means of graph transformations. Moreover, these specifications allow for the generation of guideline checking tools. Unfortunately, most graph transformation languages do not offer appropriate concepts for reuse of specification fragments - a MUST, when we deal with hundreds of guidelines. As a consequence we present an extension of the SDM language which supports the definition of generic rewrite rules and combines them with the reflective programming mechanisms of Java and the model repository interface standard JMI. Reusability and expressiveness are not the only aspects we want to improve. Another fundamental aspect of graph transformations must be ensured: their correctness in order to prevent type errors while executing the transformations. Checking and testing the graph transformations manually would ruin the benefit obtained by the automation of the guideline checking and by the generic and reflective features. Therefore, we propose in this work a type-checking method for graph transformations. We introduce a new notation for rules of inference and define a type system for SDM. We also proposed an algorithm to apply this type system. We illustrate and evaluate both contributions of our work by applying them on running examples. Proposals for other additional SDM features as well as for possible improvements of our type checking open new perspectives and future research to pursue our work

    Model Federation in toolchains

    No full text
    In this paper we introduce the toolchain topic as a federation of models based on an abstraction of dif ferents tool definitions. We consider the toolchain in the context of embedded systems, in particular the co-design which implies a co-engineering approach with many tools. Our main goal is to define a tool integration model to carry out an abstraction of several data formats and for a do main model as a reference vocabulary. This model gathers the concepts for managing the development process artif acts and the roles attributed to these artifacts over th e process. We have experimented this approach during the europ een ARTEMIS iFEST project over the OSLC layer (Open Services for Lifecycle Collaboration)
    • 

    corecore