Graph Computation Models
Total Page:16
File Type:pdf, Size:1020Kb
Annegret Habel Mohamed Mosbah (Eds.) Graph Computation Models Second International Workshop, GCM 2008 Leicester, United Kingdom, September 2008 Proceedings Preface GCM 2008 is the second workshop of a series that serves as a forum for re- searchers that are interested in graph computation models. The scope of the workshop concerns graph computation models on graphical structures of various kinds (like graphs, diagrams, visual sentences and others). A variety of computa- tion models have been developed using graphs and graph transformations. These models include features for programming languages and systems, paradigms for software development, concurrent calculi, local computations and distributed al- gorithms, biological or chemical computations. Graph transformations can be an intermediate representation of a computation. In addition to being visual and intuitive, this representation also allows the use of mathematical methods for analysis and manipulation. The aim of the workshop is to bring together researchers interested in all aspects of computation models based on graphs and graph transformation tech- niques, and their applications. A particular emphasis is made for models and tools describing general solutions. The workshop includes tutorials and invited papers, contributed papers, and system demonstrations. The tutorials and invited papers introduce different types of graph transformations and their use to study computation models. The contributed papers consider specific topics of graph transformation models and their applications. The topics of the papers range from sequential graph transfor- mation, extended graph rewrite rules, efficient pattern matching of the left-hand side of a rule to a host graph, and the termination of a controlled graph transfor- mation system to parallel graph transformations in distributed adaptive design. The system demonstrations based on graph computation models range from alpha-versions to fully developed products that are used in education, research or being prepared for commercialisation. Accordingly, the proceedings of GCM 2008 consists of three parts. The first part comprises the extended abstracts of the tutorial and invited talks, the second part presents the contributed papers, and the third part contains extended abstracts of existing systems. We would like to thank the members of the program commitee and the secondary reviewers for their enormous help in the selection process. Moreover, we would like to express our gratitude to the local organizers Reiko Heckel (Chair) and D´enes Bisztray (Workshop chair) who did a great job. July 2008 Annegret Habel and Mohamed Mosbah Program Chairs GCM 2008 Organization GCM 2008 is organized as a satellite workshop of the 4th International Con- ference on Graph Transformation (ICGT 2008), Leicester (United Kingdom), September 7 - 13, 2008 and takes place on September 8, 2008. Program commitee Frank Drewes Umea (Sweden) Rachid Echahed IMAG, Grenoble (France) Emmanuel Godard Marseille (France) Stefan Gruner Pretoria (South Africa) Annegret Habel (Co-chair) Oldenburg (Germany) Dirk Janssens Antwerp (Belgium) Hans-J¨orgKreowski Bremen(Germany) Mohamed Mosbah (Co-chair) Bordeaux 1(France) Detlef Plump York (United Kingdom) Table of Contents Tutorial and Invited Talks Modelling computational and logistic processes by autonomous units .... 1 Hans-J¨org Kreowski From Actors to Aspects: Programming with Graph Transformations ..... 2 Dirk Jannsens An Introduction to GP ............................................ 3 Detlef Plump Local Computations in Graphs: Impact of Synchronization on Distributed Computability ......................................... 4 Jeremie Chalopin Full Papers Graph Rewrite Rules with Structural Recursion ....................... 5 Berthold Hoffmann, Edgar Jakumeit, and Rubino Geiß Assuring Strong Termination of Controlled Graph Transformation by Means of Petri Nets ............................................... 17 Renate Klempien-Hinrichs and Melanie Luderer Position Papers Efficient Graph Rewriting System Using Local Event-driven Pattern Matching ................................................... ..... 28 Bilal Said and Olivier Gasquet Editing Nested Constraints and Application Conditions ................ 35 Karl Azab Parallel Graph Transformations in Distributed Adaptive Design ......... 43 Leszek Kotulski and Barbara Strug V Systems Demonstrations Visidia: An Environment for Programming Distributed Algorithms ...... 51 Mohamed Mosbah AGG: A Tool Environment for Algebraic Graph Transformation ........ 51 Gabriele Taentzer Author Index ................................................ 52 VI Modelling computational and logistic processes by autonomous units Hans-J¨org Kreowski University of Bremen Abstract. The notion of a community of autonomous units is a graph- transformational device for the modelling of computational and - in par- ticular - logisitic processes that co-exist, run and interact in the same en- vironment. The units may communicate and cooperate with each other, their process runs may be sequential, parallel, or concurrent. In the talk, the framework will be introduced and some computational aspects stressed. From Actors to Aspects: Programming with Graph Transformations Dirk Jannsens University of Antwerp Abstract. The obvious advantage of computational models that di- rectly manipulate discrete structures or graphs is that they allow one to work on a convenient level of abstraction, close to intuition about networks, object diagrams, or system states in general, and avoiding cumbersome coding into strings or formulas. In Graph Transformation systems, one takes the view that the desired manipulations can be ob- tained though local changes, embodied by rules: not only is the applica- tion of rules controlled by pattern matching, but it is also assumed that the changes are restricted to the pattern; i.e. the part of the structure that is not involved in a rule application remains unchanged. The tutorial gives an overview of opportunities and challenges related to the use of graph transformation as a model of computation. As a starting point, work concerning Actor languages is used, which is based on very simple mathematics and should hence be accessible to a public not acquainted with the existing theory of graph transformation. Then issues concerning concurrency and modularity are discussed, as well as the challenges caused by the need to introduce more control and generic- ity than present in the basic mechanism. Finally we discuss how proposed solutions to these challenges are used in recent work about refactoring and model transformation, and we outline some further potential appli- cations to aspect-oriented or delegation-based languages, as well as to topics outside of traditional computing science, such as self-assembly or natural computing. An Introduction to GP Detlef Plump The University of York Abstract. GP is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing pro- grammers from dealing with low-level data structures. GP’s design aims at syntactic and semantic simplicity, to facilitate formal reasoning about programs. The language core consists of just four constructs: single-step application of a set of graph-transformation rules, sequential composi- tion, branching and looping. This talk introduces GP by a number of example programs, presents a formal semantics in the style of Plotkin’s structural operational semantics, and briefly describes the current imple- mentation. Particular attention will be given to GP’s powerful branching and looping constructs which allow to hide destructive tests and to iter- ate arbitrary subprograms. Local Computations in Graphs: Impact of Synchronization on Distributed Computability Jeremie Chalopin University of Marseille Abstract. In this talk, I will present different distributed models that can be expressed by graph relabelling systems. In these models, a com- putation step can be described by the application of a local relabelling rule that enables the modification of the states of neighboring vertices. These models represent different level of synchronization between adja- cent processes. We are interested in the computational power of these different models. In order to highlight the differences between these models, we study two classical problems in distributed computing: naming and election. The study of these problems enables to give a hierarchy between the different models and it enables to understand what kind of results are general enough to be expressed in each model. Graph Rewrite Rules with Structural Recursion Berthold Hoffmann1, Edgar Jakumeit2, and Rubino Geiß2 3 1 Universit¨at Bremen and DFKI-Lab Bremen, Germany 2 Universit¨at Karlsruhe (TH), Germany 3 LPA GmbH Frankfurt/Main, Germany Abstract. Graph rewrite rules, programmed by sequencing and itera- tion, suffice to define the computable functions on graphs—in theory. In practice however, the control program may become hard to formulate, hard to understand, and even harder to verify. Therefore, we have ex- tended graph rewrite rules by variables that are instantiated by a kind of hyperedge replacement, before the so instantiated rules are applied to a graph. This way, rules can be defined recursively over the structure of the graphs where they apply, in a fully declarative way. Generic rules with variables and recursive rule instantiation have been implemented in the graph rewrite tool GrGen. 1 Introduction Graph rewriting is a basis for rule-based