25 research outputs found

    Verification of model transformations

    Get PDF
    Model transformations are a central element of model-driven development (MDD) approaches such as the model-driven architecture (MDA). The correctness of model transformations is critical to their effective use in practical software development, since users must be able to rely upon the transformations correctly preserving the semantics of models. In this paper we define a formal semantics for model transformations, and provide techniques for proving the termination, confluence and correctness of model transformations

    Direct Semantics of Extended State Machines.

    Full text link

    Process-Integrated Refinement Patterns in UML

    Get PDF
    Abstract: The Unified Modeling Language (UML) is a widely used standard in Model-Driven Engineering (MDE). Using the UML in a software development process means to refine and evolve models in many ways. Firstly, a system model evolves through different layers of abstraction towards an appropriate design in an object-oriented programming language (vertical refinement). Secondly, a set of consecutive revisions is produced within a level (horizontal refinement). Whereas the UML supports the specification of a system at all levels of abstraction, the concept of refinement lacks precise semantics and is open to misconceptions. As a general-purpose modeling language, there are no precise conceptual guidelines on how to use the wide range of UML diagrams in a development process. The semantics of a specific kind of refinement most often requires the context, i.e., the triggering development activity of the enacted process model, to be taken into account. Refinement relationships have to be documented manually, which is a very error-prone and tedious work. In this position paper, we outline our ongoing work on developing a framework for the specification and operationalization of UML refinement patterns

    Evaluation of Model Transformation Approaches for Model Refactoring

    Get PDF
    This paper provides a systematic evaluation framework for comparing model transformation approaches, based upon the ISO/IEC 9126-1 quality characteristics for software systems. We apply this framework to compare five transformation approaches (QVT-R, ATL, Kermeta, UMLRSDS and GrGen.NET) on a complex model refactoring case study: the amalgamation of apparent attribute clones in a class diagram. The case study highlights the problems with the specification and design of the refactoring category of model transformations, and provides a challenging example by which model transformation languages and approaches can be compared. We take into account a wide range of evaluation criteria aspects such as correctness, efficiency, flexibility, interoperability, reusability and robustness, which have not been comprehensively covered by other comparative surveys of transformation approaches. The results show clear distinctions between the capabilities and suitabilities of different approaches to address the refactoring form of transformation problem

    Automated Requirements Formalisation for Agile MDE

    Get PDF
    Model-driven engineering (MDE) of software systems from precise specifications has become established as an important approach for rigorous software development. However, the use of MDE requires specialised skills and tools, which has limited its adoption.In this paper we describe techniques for automating the derivation of software specifications from requirements statements, in order to reduce the effort required in creating MDE specifications, and hence to improve the usability and agility of MDE. Natural language processing (NLP) and Machine learning (ML) are used to recognise the required data and behaviour elements of systems from textual and graphical documents, and formal specification models of the systems are created. These specifications can then be used as the basis of manual software development, or as the starting point for automated software production using MDE

    A logic-based approach for the verification of UML timed models

    Get PDF
    This article presents a novel technique to formally verify models of real-time systems captured through a set of heterogeneous UML diagrams. The technique is based on the following key elements: (i) a subset of Unified Modeling Language (UML) diagrams, called Coretto UML (C-UML), which allows designers to describe the components of the system and their behavior through several kinds of diagrams (e.g., state machine diagrams, sequence diagrams, activity diagrams, interaction overview diagrams), and stereotypes taken from the UML Profile for Modeling and Analysis of Real-Time and Embedded Systems; (ii) a formal semantics of C-UML diagrams, defined through formulae of the metric temporal logic Tempo Reale ImplicitO (TRIO); and (iii) a tool, called Corretto, which implements the aforementioned semantics and allows users to carry out formal verification tasks on modeled systems. We validate the feasibility of our approach through a set of different case studies, taken from both the academic and the industrial domain
    corecore