234 research outputs found

    Finite satisfiability verification in UML class diagrams: a comparative study

    Get PDF
    Unified Modeling Language class diagrams are widely used for modeling, playing a key role in the analysis and design of information systems, especially in development contexts that use modeling oriented methodologies. Therefore, it is relevant to ensure the creation and maintenance of correct class diagrams. With the use of class diagrams it is possible to specify classes, relations and restrictions, however, such diagrams are subject to modeling errors made by their authors and may degenerate into incorrect diagrams. A common cause of incorrect diagrams refers to the definition of contradictory and inconsistent constraints, leading to finite satisfiability problems. Several approaches to the verification of finite satisfiability are currently available, supported by different tools. Through this work, we proceed with the identification and comparison of the existing approaches for the verification of finite satisfiability in class diagrams, determining the effectiveness and efficiency of the proposed tools

    Model Correctness Patterns as an Educational Instrument

    Get PDF
    UML class diagrams play a central role in modeling activities. Given the difficulty in producing high quality models, modelers must be equipped with an awareness of model design problems and the ability to identify and correct such models. In this paper we observe the role of class diagram correctness patterns as an educational instrument for improving class diagram modeling. We describe a catalog of correctness and quality design (anti)-patterns for class diagrams. The patterns characterize problems, analyze their causes and provide repairing advice. Pattern specification requires an enhancement of the class diagram meta-model. The pattern classification has a major role in clarifying design problems. Finally, we describe an actual experiment of using the catalog for teaching modeling

    Step 0: An Idea for Automatic OCL Benchmark Generation

    Get PDF
    Model Driven Engineering (MDE) is an important software development paradigm. Within this paradigm, models and constraints are essential components for expressing specifications of a software artefact. Object Constraint Language (OCL), a specification language that allows users to freely express constraints over different model features. However, one major issue is that the lack of OCL benchmarks makes difficult to evaluate existing and newly created OCL tools. In this paper, we present our initial idea about automatic OCL benchmark generation. The purpose of this paper is to show a developing idea rather than presenting a more formal and complete approach. Our idea is to use an OCL metamodel to sketch abstract syntax trees for OCL expressions, and solve generated typing constraints to produce the concrete OCL expressions. We illustrate this idea by using an example, discuss our work-in-progress and outline challenges to be tackled in the future

    Verification and Validation of UML/OCL Object Componenets Models

    Get PDF

    Design and Implementation of a Conceptual Modeling Assistant (CMA)

    Get PDF
    This Master's Thesis de nes an architecture for a Conceptual Modeling Assistant (CMA) along with an implementation of a running prototype. Our CMA is a piece of software that runs on top of current modeling tools whose purpose is to collaborate with the conceptual modelers while developing a conceptual schema. The main functions of our CMA are to actively criticize the state of a conceptual schema, to suggest actions to do in order to improve the conceptual schema, and to o er new operations to automatize building a schema. On the one hand, the presented architecture assumes that the CMA has to be adapted to a modeling tool. Thus, the CMA permits the inclusion of new features, such as the detection of new defects to be criticized and new operations a modeler can execute, in a modeling tool. As a result, all modeling tools to which the CMA is adapted bene t of all these features without further work. On the other hand, the construction of our prototype involves three steps: the de nition of a simple, custom modeling tool; the implementation of the CMA; and the adaptation of the CMA to the custom modeling tool. Furthermore, we also present and implement some examples of new features that can be added to the CMA

    Lightweight String Reasoning in Model Finding

    Get PDF
    International audienceModels play a key role in assuring software quality in the model-driven approach. Precise models usually require the definition of well-formedness rules to specify constraints that cannot be expressed graphically. The Object Constraint Language (OCL) is a de-facto standard to define such rules. Techniques that check the satisfiability of such models and find corresponding instances of them are important in various activities, such as model-based testing and validation. Several tools for these activities have been developed, but to our knowledge, none of them supports OCL string operations on scale that is sufficient for, e.g., model-based testing. As, in contrast, many industrial models do contain such operations, there is evidently a gap. We present a lightweight solver that is specifically tailored to generate large solutions for tractable string constraints in model finding, and that is suitable for directly express the main operations of the OCL datatype String. It is based on constraint logic programming (CLP) and constraint handling rules (CHR), and can be seamlessly combined with other constraint solvers in CLP. We have integrated our solver into the EMFtoCSP model finder, and we show that our implementation efficiently solves several common string constraints on a large instances

    On a Graph-Based Semantics for UML Class and Object Diagrams

    Get PDF
    In this paper we propose a formal extension of type graphs with notions that are commonplace in the UML and have long proven their worth in that context: namely, inheritance, multiplicity, containment and the like. We believe the absence of a comprehensive and commonly agreed upon formalisation of these notions to be an important and, unfortunately, often ignored omission. Since our eventual aim (shared by many researchers) is to give unambiguous, formal semantics to the UML using the theory of graphs and graph transformation, in this paper we propose a set of definitions to repair this omission. With respect to previous work in this direction, our aim is to arrive at more comprehensive and at the same time simpler definitions.\u

    Lightweight String Reasoning for OCL

    Get PDF
    International audienceModels play a key role in assuring software quality in the modeldriven approach. Precise models usually require the definition of OCL expressions to specify model constraints that cannot be expressed graphically. Techniques that check the satisfiability of such models and find corresponding instances of them are important in various activities, such as model-based testing and validation. Several tools to check model satisfiability have been developed but to our knowledge, none of them yet supports the analysis of OCL expressions including operations on Strings in general terms. As, in contrast, many industrial models do contain such operations, there is evidently a gap. There has been much research on formal reasoning on strings in general, but so far the results could not be included into model finding approaches. For model finding, string reasoning only contributes a sub-problem, therefore, a string reasoning approach for model finding should not add up front too much computational complexity to the global model finding problem. We present such a lightweight approach based on constraint satisfaction problems and constraint rewriting. Our approach efficiently solves several common kinds of string constraints and it is integrated into the EMFtoCSP model finder
    corecore