108 research outputs found

    Multilevel Coupled Model Transformations for Precise and Reusable Definition of Model Behaviour

    Full text link
    The use of Domain-Specific Languages (DSLs) is a promising field for the development of tools tailored to specific problem spaces, effectively diminishing the complexity of hand-made software. With the goal of making models as precise, simple and reusable as possible, we augment DSLs with concepts from multilevel modelling, where the number of abstraction levels are not limited. This is particularly useful for DSL definitions with behaviour, whose concepts inherently belong to different levels of abstraction. Here, models can represent the state of the modelled system and evolve using model transformations. These transformations can benefit from a multilevel setting, becoming a precise and reusable definition of the semantics for behavioural modelling languages. We present in this paper the concept of Multilevel Coupled Model Transformations, together with examples, formal definitions and tools to assess their conceptual soundness and practical value.Comment: Journal of Logical and Algebraic Methods in Programming. Available online 11 January 2019. In Press, Accepted Manuscrip

    A formalisation of deep metamodelling

    Full text link
    The final publication is available at Springer via http://dx.doi.org/10.1007/s00165-014-0307-xMetamodelling is one of the pillars of model-driven engineering, used for language engineering and domain modelling. Even though metamodelling is traditionally based on a two-metalevel approach, several researchers have pointed out limitations of this solution and proposed an alternative deep (also called multi-level) approach to obtain simpler system specifications. However, this approach currently lacks a formalisation that can be used to explain fundamental concepts such as deep characterisation, double linguistic/ontological typing and linguistic extension. This paper provides such a formalisation based on the Diagram Predicate Framework, and discusses its practical realisation in the metaDepth tool.This work was partially funded by the SpanishMinistry of Economy and Competitiveness (project “Go Lite” TIN2011- 24139)

    Enforcement of Patterns by Constraint-Aware Model Transformations

    Get PDF
    Patterns are descriptions and solutions for recurring problems in software design and implementation. In this paper, some ideas towards a formal approach to the specification of patterns in model-driven engineering (MDE) is presented. The approach is based on the Diagram Predicate Framework which provides a formal approach to (meta)modelling, model transformation and model management in MDE. In particular, patterns are defined as diagrammatic specifications and constraint-aware model transformations are adapted to enforce patterns. Moreover, running examples are used to illustrate the facade design pattern in structural models

    Scalable verification of model transformations

    Get PDF
    -Model transformations are crucial in model driven engineering (MDE). Automatic execution of model transformations improves software development productivity. However, model transformations should be verified to ensure that the models produced or the transformations satisfy some expected properties. In a previous work we presented a verification approach of graph-based model transformation systems based on relational logic. The approach encodes model transformation systems as Alloy specifications which are examined by the Alloy Analyzer. But experiments showed scalability and performance problems in the approach when complex relations were present in the systems. To solve these problems, we extend our previous work by using three techniques: 1) we change the encoding to decrease the arity of relations in the derived Alloy specifications; 2) we decompose the expressions for the pattern matching into sub-expressions using unique elements; 3) we use annotations to decrease the complexity of the metamodel and the model transformation rules. The results of our experiments indicate that the new techniques lead to better scalability and performance

    A formal approach to modeling and model transformations in software engineering

    Get PDF
    Proceedings of Doctoral Symposium held in conjunction with Formal Methods , Turku Centre for Computer Science. Ed. Elena TroubitsynaA software model is an abstract representa- tion of a softwaresystem which can be used to describe, at a higher abstraction level, different aspects of of the software system. Since the beginning of computer science, raising the abstracting level of software systems has been a continuous goal for many computer scientists. this ha lead to the usage of models and model languages in software development processes. Currently in addition to documentation purposes, models are increasingly used to automati- cally generate and integrate parts of the systems that they describe.As a consequence, there is a need for formal modeling languages and formal transformation definition techniques which can be employed to automatically translate between (and integrate) models. Therefore, a major focus of our research is on the formalization of modeling and model transforamtion in the generic formalism. Diagrammatic Predicate Logic (DPL). This paper provides an overview of the state-of-the-art ofour ongoing research on analysis of modeling and model transforamtions based on the DPL framework

    Diagrammatic software specification

    Get PDF

    A tool for the convergence of multilevel modelling approaches

    Get PDF
    Multilevel Modelling is a powerful paradigm that can improve the way we create and use models. The community and approaches related to Multilevel Modelling have been constantly growing, and the need to agree on some basic concepts, semantics and vocabulary has become paramount. In this paper, we present a tool that can provide empirical data and practical instrumentation to aid in the discussion of the foundational concepts of the paradigm. We outline the structure, modules and applications of the tool in detail, and explain how they can be employed for different tasks that can benefit the Multilevel Modelling community. To illustrate these benefits, we also describe several experiments carried out with the tool and their positive results.publishedVersio

    Multilevel Typed Graph Transformations

    Get PDF
    Multilevel modeling extends traditional modeling techniques with a potentially unlimited number of abstraction levels. Multilevel models can be formally represented by multilevel typed graphs whose manipulation and transformation are carried out by multilevel typed graph transformation rules. These rules are cospans of three graphs and two inclusion graph homomorphisms where the three graphs are multilevel typed over a common typing chain. In this paper, we show that typed graph transformations can be appropriately generalized to multilevel typed graph transformations improving preciseness, flexibility and reusability of transformation rules. We identify type compatibility conditions, for rules and their matches, formulated as equations and inequations, respectively, between composed partial typing morphisms. These conditions are crucial presuppositions for the application of a rule for a match---based on a pushout and a final pullback complement construction for the underlying graphs in the category Graph---to always provide a well-defined canonical result in the multilevel typed setting. Moreover, to formalize and analyze multilevel typing as well as to prove the necessary results, in a systematic way, we introduce the category Chain of typing chains and typing chain morphisms.Comment: In the proceedings of the 13th International Conference on Graph Transformation (ICGT 2020

    AI-powered model repair: an experience report—lessons learned, challenges, and opportunities

    Get PDF
    Artificial intelligence has already proven to be a powerful tool to automate and improve how we deal with software development processes. The application of artificial intelligence to model-driven engineering projects is becoming more and more popular; however, within the model repair field, the use of this technique remains mostly an open challenge. In this paper, we explore some existing approaches in the field of AI-powered model repair. From the existing approaches in this field, we identify a series of challenges which the community needs to overcome. In addition, we present a number of research opportunities by taking inspiration from other fields which have successfully used artificial intelligence, such as code repair. Moreover, we discuss the connection between the existing approaches and the opportunities with the identified challenges. Finally, we present the outcomes of our experience of applying artificial intelligence to model repair.publishedVersio
    corecore