7 research outputs found

    ModGraph - Generating Executable EMF Models

    Get PDF
    Model driven software engineering aims at creating high level executablemodels which may be interpreted or compiled. For efficient execution ofoperations on model instances code generators play an important role. A wellestablished tool for structural modeling and code generation is the Eclipse Modeling Framework (EMF). We extended EMF by behavior modeling within ModGraph, a tool to model behavior by graph transformation rules. Each rule corresponds to an operation modeled in the Ecore class diagram. This paper focuses on ModGraph’s code generator. Therefore I describe the matching of graph transformation rules as well as the exact translation of a rule and its seamless injection into the existing EMF Java code. A running example of a simple calendar application complements the explanation

    ModGraph meets Xcore: Combining Rule-Based and Procedural Behavioral Modeling for EMF

    Get PDF
    Model-driven software engineering aims at increasing productivity bydeveloping high-level executable models. The Eclipse Modeling Framework (EMF)significantly contributes toward this goal. Unfortunately, EMF supports only structural models based on the Ecore metamodel. Recently, Xcore has been developed to extend EMF with behavioral modeling. To this end, Xcore provides a single textual language for both structural and behavioral modeling. While Xcore follows a procedural approach to behavioral modeling, ModGraph is an EMF-based tool based on a rule-based paradigm (graph transformation rules, which allow to specify behavior in a declarative way). The combination of EMF, Xcore, and ModGraph results in an environment for model-driven software engineering which provides full-fledged support for both structural and behavioral modeling. Altogether, we obtain an environment in which software engineers are concerned only with models rather than with programs

    7th International Workshop on Graph Based Tools (GraBaTs 2012): Preface

    Get PDF
    The 7th International Workshop on Graph Based Tools is the continuation of the GraBaTs series of workshops which provides a forum for researchers and practitioners interested in the development and application of graph-based tools. The purpose of this workshop is to survey the state of the art of graph-based tools, bring together developers of graph-based tools in different application fields and to encourage new tool development cooperations. GraBaTs 2012 is the 7th edition in a line of workshops which started 10 years ago at ICGT'02

    Modellgetriebene Entwicklung mit Graphtransformationen

    Get PDF

    Automatic Integration of Ecore Functionality into Java Code

    Get PDF
    Modellgetriebene Softwareentwicklung erlaubt schnelleres und vereinfachtes Entwickeln von Software durch das Bereitstellen einer höheren Abstraktionsebene als Code. Modellgetriebene Programme generieren Code oft teilweise oder vollständig mithilfe von Modellen. Aus diesem Grund benötigt man ein geeignetes Modell, um modellgetriebene Prozesse verwenden zu können. Das Eclipse Modeling Framework bietet das sogenannte Ecore Metametamodell, welches das Erstellen von Metamodellen ermöglicht, die für modellgetriebene Softwareentwicklung genutzt werden können. Mithilfe des Eclipse Modeling Frameworks ist es möglich, Java Code zu generieren. Dieser generierte Code folgt spezifischen Mustern. Zum Beispiel unterscheidet er für jede Klasse zwischen Schnittstelle und Implementierung. Viele Programme sind auf diese spezifischen Muster angewiesen und können deshalb nur mit Java Code verwendet werden, welcher diese Muster enthält. Das ist üblicherweise Code, der mithilfe eines Ecore Metamodells generiert wurde. In dieser Arbeit stellen wir einen Ansatz für die automatische Integration von Ecore Funktionalität in Java Code vor. Dieser Ansatz ermöglicht die Verwendung von Ecore-abhängigen Programmen mit existierendem Java Code. Um die Integration von Ecore Funktionalität zu ermöglichen, entwickelt diese Arbeit einen Ansatz für die Extraktion von Ecore Metamodellen aus Java Code. In ihrem Zentrum steht eine Abbildung von Elementen des impliziten Java Metamodells auf Elemente des Ecore Metametamodells. Diese Extraktion kann unabhängig von der Integration von Ecore Funktionalität als Reverse Engineering Programm verwendet werden. Wir erbringen einen Nachweis für die Korrektheit unseres Ansatzes, indem wir Ecore Funktionalität in zwei Java Projekte integrieren und auf diese dann eine Modelltransformation anwenden, was zuvor nur auf Code, der aus Ecore Metamodellen generiert wurde, möglich war

    Actes des Sixièmes journées nationales du Groupement De Recherche CNRS du Génie de la Programmation et du Logiciel

    Get PDF
    National audienceCe document contient les actes des Sixièmes journées nationales du Groupement De Recherche CNRS du Génie de la Programmation et du Logiciel (GDR GPL) s'étant déroulées au CNAM à Paris du 11 au 13 juin 2014. Les contributions présentées dans ce document ont été sélectionnées par les différents groupes de travail du GDR. Il s'agit de résumés, de nouvelles versions, de posters et de démonstrations qui correspondent à des travaux qui ont déjà été validés par les comités de programmes d'autres conférences et revues et dont les droits appartiennent exclusivement à leurs auteurs

    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
    corecore