42 research outputs found

    Using a Triple Graph Grammar for State Machine Implementations

    Get PDF
    Typical techniques of model-driven development use graph transformations to manipulate models and use generators to produce source code. In this contribution we suggest to use graph transformations instead of generators in order to get a closer connection between model and code. We define a Triple Graph Grammar for the mapping from a modeling tool data format to source code and derive a sample set of transformation rules from this. Thereby both truly simultaneous manipulation of model and code is enabled as well as virtually simultaneous manipulation by direct propagation of changes from code to model and back again

    Counterexample visualization and explanation for function block diagrams

    Get PDF

    Using metrics for assessing the quality of ATL model transformations

    Get PDF
    Model transformations play a pivotal role in model-driven engineering. Since they are in many ways similar to traditional software artifacts, they have to be treated similarly. Therefore, it is necessary to assess their quality. We propose to use metrics to assess various quality attributes of model transformations In this paper, we focus on model transformations created using ATL, which ATL is currently one of the most widely used model transformation formalisms. We have collected metrics data from a heterogeneous collection of seven model transformations. The quality of the same transformations has been evaluated manually by nineteen ATL experts. We assess whether the metrics are appropriate predictors for the quality attributes by correlating the metrics data with the expert data. To support or refute the correlations, we also acquired qualitative statements from the ATL experts. Although the study was intended as a first exploration of the relation between metrics and quality attributes, some significant correlations were found that are supported by statements of the participants

    Constructive Use of Errors in Teaching the UML Class Diagram in an IS Engineering Course

    Get PDF
    A class diagram is one of the most important diagrams of Unified Modeling Language (UML) and can be used for modeling the static structure of a software system. Learning from errors is a teaching approach based on the assumption that errors can promote learning. We applied a constructive approach of using errors in designing a UML class diagram in order to (a) categorize the students’ errors when they design a class diagram from a text scenario that describes a specific organization and (b) determine whether the learning-from-errors approach enables students to produce more accurate and correct diagrams. The research was conducted with college students (N = 45) studying for their bachelor’s degree in engineering. The approach is presented, and the learning-from-errors activity is illustrated. We present the students’ errors in designing the class diagram before and after the activity, together with the students’ opinions about applying the new approach in their course. Twenty errors in fundamental components of the class diagram design were observed. The students erred less after the activity of learning from errors. The displayed results show the relevance and potential of embedding our approach in teaching. Furthermore, the students viewed the learning-from-errors activity favorably. Thus, one of the benefits of our developed activity is increased student motivation. In light of the improved performance of the task, and the students’ responses to the learning-from-errors approach, we recommend that information systems teachers use similar activities in different fields and on various topics

    Semantics of OCL specified with QVT

    Get PDF
    The Object Constraint Language (OCL) has been for many years formalized both in its syntax and semantics in the language standard. While the official definition of OCL's syntax is already widely accepted and strictly supported by most OCL tools, there is no such agreement on OCL's semantics, yet. In this paper, we propose an approach based on metamodeling and model transformations for formalizing the semantics of OCL. Similarly to OCL's official semantics, our semantics formalizes the semantic domain of OCL, i.e. the possible values to which OCL expressions can evaluate, by a metamodel. Contrary to OCL's official semantics, the evaluation of OCL expressions is formalized in our approach by model transformations written in QVT. Thanks to the chosen format, our semantics definition for OCL can be automatically transformed into a tool, which evaluates OCL expressions in a given context. Our work on the formalization of OCL's semantics resulted also in the identification and better understanding of important semantic concepts, on which OCL relies. These insights are of great help when OCL has to be tailored as a constraint language of a given DSL. We show on an example, how the semantics of OCL has to be redefined in order to become a constraint language in a database domai

    A taxonomy of tool-related issues affecting the adoption of model-driven engineering

    Get PDF
    Although poor tool support is often blamed for the low uptake of model-driven engineering (MDE), recent studies have shown that adoption problems are as likely to be down to social and organizational factors as with tooling issues. This article discusses the impact of tools on MDE adoption and practice and does so while placing tooling within a broader organizational context. The article revisits previous data on MDE use in industry (19 in-depth interviews with MDE practitioners) and reanalyzes that data through the specific lens of MDE tools in an attempt to identify and categorize the issues that users had with the tools they adopted. In addition, the article presents new data: 20 new interviews in two specific companies—and analyzes it through the same lens. A key contribution of the paper is a loose taxonomy of tool-related considerations, based on empirical industry data, which can be used to reflect on the tooling landscape as well as inform future research on MDE tools

    Quality and perceived usefulness of process models

    Full text link
    Modeling is now an essential ingredient in business process management and information systems development. The general usefulness of models in these areas is therefore generally accepted. It is also undisputed that the quality of the models has a significant impact on their usefulness. In the literature we can find any number of quality metrics, but hardly any study that investigates their relation with (perceived) usefulness and none that considers their relative impact on usefulness. We take a look at some of the most frequent quality dimensions and their relative impact on the perceived usefulness of models

    Using a Dynamic Domain-Specific Modeling Language for the Model-Driven Development of Cross-Platform Mobile Applications

    Get PDF
    There has been a gradual but steady convergence of dynamic programming languages with modeling languages. One area that can benefit from this convergence is modeldriven development (MDD) especially in the domain of mobile application development. By using a dynamic language to construct a domain-specific modeling language (DSML), it is possible to create models that are executable, exhibit flexible type checking, and provide a smaller cognitive gap between business users, modelers and developers than more traditional model-driven approaches. Dynamic languages have found strong adoption by practitioners of Agile development processes. These processes often rely on developers to rapidly produce working code that meets business needs and to do so in an iterative and incremental way. Such methodologies tend to eschew “throwaway” artifacts and models as being wasteful except as a communication vehicle to produce executable code. These approaches are not readily supported with traditional heavyweight approaches to model-driven development such as the Object Management Group’s Model-Driven Architecture approach. This research asks whether it is possible for a domain-specific modeling language written in a dynamic programming language to define a cross-platform model that can produce native code and do so in a way that developer productivity and code quality are at least as effective as hand-written code produced using native tools. Using a prototype modeling tool, AXIOM (Agile eXecutable and Incremental Objectoriented Modeling), we examine this question through small- and mid-scale experiments and find that the AXIOM approach improved developer productivity by almost 400%, albeit only after some up-front investment. We also find that the generated code can be of equal if not better quality than the equivalent hand-written code. Finally, we find that there are significant challenges in the synthesis of a DSML that can be used to model applications across platforms as diverse as today’s mobile operating systems, which point to intriguing avenues of subsequent research
    corecore