14 research outputs found

    The Joys of Graph Transformation

    Get PDF
    We believe that the technique of graph transformation offers a very natural way to specify semantics for languages that have dynamic allocation and linking structure; for instance, object-oriented programming languages, but also languages for mobility. In this note we expose, on a rather informal level, the reasons for this belief. Our hope in doing this is to raise interest in this technique and so generate more interest in the fascinating possibilities and open questions of this area.\u

    Graphical Verification of a Spatial Logic for the Graphical Verification of a Spatial Logic for the pi-calculus

    Get PDF
    The paper introduces a novel approach to the verification of spatial properties for finite [pi]-calculus specifications. The mechanism is based on a recently proposed graphical encoding for mobile calculi: Each process is mapped into a (ranked) graph, such that the denotation is fully abstract with respect to the usual structural congruence (i.e., two processes are equivalent exactly when the corresponding encodings yield the same graph). Spatial properties for reasoning about the behavior and the structure of pi-calculus processes are then expressed in a logic introduced by Caires, and they are verified on the graphical encoding of a process, rather than on its textual representation. More precisely, the graphical presentation allows for providing a simple and easy to implement verification algorithm based on the graphical encoding (returning true if and only if a given process verifies a given spatial formula)

    Graphical Encoding of a Spatial Logic for the pi-Calculus

    Get PDF
    This paper extends our graph-based approach to the verification of spatial properties of Ļ€-calculus specifications. The mechanism is based on an encoding for mobile calculi where each process is mapped into a graph (with interfaces) such that the denotation is fully abstract with respect to the usual structural congruence, i.e., two processes are equivalent exactly when the corresponding encodings yield isomorphic graphs. Behavioral and structural properties of Ļ€-calculus processes expressed in a spatial logic can then be verified on the graphical encoding of a process rather than on its textual representation. In this paper we introduce a modal logic for graphs and define a translation of spatial formulae such that a process verifies a spatial formula exactly when its graphical representation verifies the translated modal graph formula

    Semantical Correctness and Completeness of Model Transformations using Graph and Rule Transformation: Long Version

    Get PDF
    An important requirement of model transformations is the preservation of the behavior of the original model. A model transformation is semantically correct if for each simulation run of the source system we find a corresponding simulation run in the target system. Analogously, we have semantical completeness, if for each simulation run of the target system we find a corresponding simulation run in the source system. In our framework of graph transformation, models are given by graphs, and graph transformation rules are used to define the operational behavior of visual models (called simulation rules). In order to compare the semantics of source and target models, we assume that in both cases operational behavior can be defined by simulation rules. The model transformation from source to target models is given by another set of graph transformation rules. These rules are also applied to the simulation rules of the source model. The result of this rule transformation is compared with the given simulation rules of the target language.The main result in this paper states the conditions for model and rule transformations to be semantically correct and complete. The result is applied to analyze the behavior of a model transformation from a domain-specific visual language for production systems to Petri nets

    A UML/OCL framework for the analysis of fraph transformation rules

    Get PDF
    In this paper we present an approach for the analysis of graph transformation rules based on an intermediate OCL representation. We translate different rule semantics into OCL, together with the properties of interest (like rule applicability, conflicts or independence). The intermediate representation serves three purposes: (i) it allows the seamless integration of graph transformation rules with the MOF and OCL standards, and enables taking the meta-model and its OCL constraints (i.e. well-formedness rules) into account when verifying the correctness of the rules; (ii) it permits the interoperability of graph transformation concepts with a number of standards-based model-driven development tools; and (iii) it makes available a plethora of OCL tools to actually perform the rule analysis. This approach is especially useful to analyse the operational semantics of Domain Specific Visual Languages. We have automated these ideas by providing designers with tools for the graphical specification and analysis of graph transformation rules, including a backannotation mechanism that presents the analysis results in terms of the original language notation

    Towards Mechanised Proofs in Double-Pushout Graph Transformation

    Get PDF

    Transformationen in der modellgetriebenen Software-Entwicklung

    Get PDF
    odellgetriebene Software-Entwicklung ist in den letzten Jahren insbesondere unter Schlagworten wie MDA oder MDD zu einem Thema von allgemeinem Interesse fĆ¼r die Software-Branche geworden. Dabei ist ein Trend weg von der codezentrierten Software-Entwicklung hin zum (Architektur-) Modell im Mittelpunkt der Software-Entwicklung festzustellen. Modellgetriebene Software-Entwicklung verspricht eine stetige und automatisierte Synchronisation von Software-Modellen verschiedenster Ebenen. Dies verspricht eine VerkĆ¼rzung von Entwicklungszyklen und mehr ProduktivitƤt. PrimƤr wird nicht mehr reiner Quellcode entwickelt, sondern Modelle und Transformationen Ć¼bernehmen als eine hƶhere Abstraktionsebene die Rolle der Entwicklungssprache fĆ¼r Software-Entwickler. Software-Architekturen lassen sich durch Modell beschreiben. Sie sind weder auf eine Beschreibungssprache noch auf eine bestimmte DomƤnen beschrƤnkt. Im Zuge der BemĆ¼hungen modellgetriebener Entwicklung lassen sich hier Entwicklungen hin zu standardisierten Beschreibungssprachen wie UML aber auch die EinfĆ¼hrung von domƤnen-spezifischen Sprachen (DSL) erkennen. Auf diese formalisierten Modelle lassen sich schlieƟlich Transformationen anwenden. Diese kƶnnen entweder zu einem weiteren Modell ("Model-to-Model") oder einer textuellen ReprƤsentation ("Model-to-Text") erfolgen. Transformationen kapseln dabei wiederholt anwendbares Entwurfs-Wissen ("Muster") in parametrisierten Schablonen. FĆ¼r die Definition der Transformationen kƶnnen Sprachen wie beispielsweise QVT verwendet werden. Mit AndoMDA und openArchitectureWare existieren Werkzeuge, welche die Entwickler bei der AusfĆ¼hrung von Transformationen unterstĆ¼tzen
    corecore