14 research outputs found
The Joys of Graph Transformation
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
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
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
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
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
Transformationen in der modellgetriebenen Software-Entwicklung
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