51,632 research outputs found

    Evaluation of Kermeta for Solving Graph-based Problems

    Get PDF
    Kermeta is a meta-language for specifying the structure and behavior of graphs of interconnected objects called models. In this paper,\ud we show that Kermeta is relatively suitable for solving three graph-based\ud problems. First, Kermeta allows the specification of generic model\ud transformations such as refactorings that we apply to different metamodels\ud including Ecore, Java, and Uml. Second, we demonstrate the extensibility\ud of Kermeta to the formal language Alloy using an inter-language model\ud transformation. Kermeta uses Alloy to generate recommendations for\ud completing partially specified models. Third, we show that the Kermeta\ud compiler achieves better execution time and memory performance compared\ud to similar graph-based approaches using a common case study. The\ud three solutions proposed for those graph-based problems and their\ud evaluation with Kermeta according to the criteria of genericity,\ud extensibility, and performance are the main contribution of the paper.\ud Another contribution is the comparison of these solutions with those\ud proposed by other graph-based tools

    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

    PQL - A Descriptive Language for Querying, Abstracting and Changing Process Models

    Get PDF
    The increasing adoption of process-aware information systems (PAISs) has resulted in large process repositories comprising large and complex process models. To enable context-specific perspectives on these process models and related data, a PAIS should provide techniques for the flexible creation and change of process model abstractions. However, existing approaches focus on the formal model transformations required in this context rather than on techniques for querying, abstracting and changing the process models in process repositories. This paper presents a domain-specific language for querying process models, describing abstractions on them, and defining process model changes in a generic way. Due to the generic approach taken, the definition of process model abstractions and changes on any graph-based process notation becomes possible. Overall, the presented language provides a key component for process model repositories

    Generic Model Refactorings

    Get PDF
    Many modeling languages share some common concepts and principles. For example, Java, MOF, and UML share some aspects of the concepts\ud of classes, methods, attributes, and inheritance. However, model\ud transformations such as refactorings specified for a given language\ud cannot be readily reused for another language because their related\ud metamodels may be structurally different. Our aim is to enable a\ud flexible reuse of model transformations across various metamodels.\ud Thus, in this paper, we present an approach allowing the specification\ud of generic model transformations, in particular refactorings, so\ud that they can be applied to different metamodels. Our approach relies\ud on two mechanisms: (1) an adaptation based mainly on the weaving\ud of aspects; (2) the notion of model typing, an extension of object\ud typing in the model-oriented context. We validated our approach by\ud performing some experiments that consisted of specifying three well\ud known refactorings (Encapsulate Field, Move Method, and Pull Up Method)\ud and applying each of them onto three different metamodels (Java,\ud MOF, and UML)

    Towards rule-based visual programming of generic visual systems

    Full text link
    This paper illustrates how the diagram programming language DiaPlan can be used to program visual systems. DiaPlan is a visual rule-based language that is founded on the computational model of graph transformation. The language supports object-oriented programming since its graphs are hierarchically structured. Typing allows the shape of these graphs to be specified recursively in order to increase program security. Thanks to its genericity, DiaPlan allows to implement systems that represent and manipulate data in arbitrary diagram notations. The environment for the language exploits the diagram editor generator DiaGen for providing genericity, and for implementing its user interface and type checker.Comment: 15 pages, 16 figures contribution to the First International Workshop on Rule-Based Programming (RULE'2000), September 19, 2000, Montreal, Canad
    • …
    corecore