ESPRIT
The Framework Programme IV (1994-1998)
RTD in Information Technologies
Accompanying Measures for RTD


Applications of Graph Transformation
(APPLIGRAPH)

April 1, 1997 - March 31, 2000


Working Group Proposal
(short version)

as of November 29, 1995


Contents:


Summary

The principal objective of the proposed Working Group is to promote applied graph transformation as a rule-based framework for the specification and development of systems, languages, and tools and to improve the awareness of its industrial relevance.

Graphs are widely used to represent complex states, structured objects, networks, and relations among components. Even wider, rules are used to define permitted actions and transitions. Together, graphs and rules yield the promising paradigm of graph transformation, which provides a rich methodology for modelling information processing systems (including distributed systems) and for analysing their behaviour. The theory of graph transformation has made tremendous progress in the last decade-in particular due to the achievements of the ESPRIT Basic Research Action and Working Groups nos. 3074, 6345, 3299, and 7183 (SEMAGRAPH I and II (Semantics and Pragmatics of Generalised Graph Rewriting), July 1989 - June 1992 and October 1992 - September 1995, and COMPUGRAPH I and II (Computing by Graph Transformation), March 1989 - August 1992 and October 1992 - March 1996).

Based on the well-developed foundations, the time seems ripe now to intensify the research on applications of graph transformation and to work out its technological potentials. The aims of this Working Group are

Considering graph transformation as a formal approach to systems development, significant advances are expected in the following three lines of research.

Language issues. Investigation of features in graph transformation based languages, like typing, modularity, refinement, parallelism, concurrency, distribution, optimisation, and correctness.

Tool issues. Conception and design of support tools for graph transformation based languages including editors, parsers, interpreters, compilers, optimisers, verifiers, and graphical user interfaces.

Application domains. Demonstration of the usefulness of graph transformation by case studies in various areas like definition of visual languages, database models, concurrent and distributed systems, software process modelling, implementation of programming languages.

Among the main activities, the Working Group will organise workshops and meetings and will disseminate information on applied graph transformation by publishing proceedings and handbooks. The goal is to enhance the visibility of graph transformation technology and to prepare the ground for industrial applications.

Objectives

There is a growing need-and market-for innovative information technology including concepts, methods, languages, and tools to support the systematic development of information processing systems in a wide spectrum of applications. The resulting systems are required to be reliable, user-friendly, and efficient. Research in Information Science in the last decade has led to some insights how these requirements may be met. While these four areas of research and technology are usually developed independently of each other, the framework of graph transformation allows to combine and integrate them and offers the chance of mutual stimulation and synergy effects.

Graph transformation links two quite successful concepts: graphs and rules. Graphs are well-known, well-understood, and frequently used means to represent system states, complex objects, diagrams, and networks of various kinds like flowcharts, entity-relationship diagrams, Petri nets, and many more. Rules have proved for a very long time to be extremely useful wherever permitted actions and transitions must be described. Areas like language definition, logic and functional programming, algebraic specification, term rewriting, theorem proving, concurrent processes, expert systems, and others witness the prominent role of rules. The framework of graph transformation combines the potentials and advantages of both, graphs and rules, into a single computational paradigm.

The variety of approaches, the major scientific achievements as well as some working applications are fairly well documented and surveyed in the literature (see, e.g., [CER79,CM95,ENR83,ENRR87,EKR91,Ha92,SE94,PvE93,SPE93]). The significant progress the area of graph transformation has made in the last decade is mainly owed to the activities within the ESPRIT Basic Research Action and Working Groups SEMAGRAPH I and II and COMPUGRAPH I and II.

APPLIGRAPH will rely on the well-developed theory of graph transformation and will carry on the experiences of COMPUGRAPH and SEMAGRAPH. It is intended to be an initiative towards intensified research on applications of graph transformation, the demonstration of its usefulness in selected application domains, and the improvement of the awareness of its industrial relevance and technological potentials. In order to achieve the aims, three lines of research will be pursued: language issues, tool issues, and application domains. The main effort must be laid on making the potentials of graph transformation more visible in application domains by illustrating case studies. In order to provide the necessary support and background, language issues and tool issues need further attention.

1. Language issues.
Graph transformation as a rule-based framework yields a new type of specification and programming languages, ranging from rather specific ones for small application domains to more general-purpose languages. The following topics must be addressed in particular.

1.1 Modularity
It is widely accepted that modularity, together with corresponding techniques for encapsulation and abstraction, is a key issue in any attempt to support the software development process. In order to develop large specifications and programs in a language based on graph transformation, one needs abstraction concepts, structuring principles and control mechanisms.

1.2 Parallelism and concurrency
The Working Group aims at coordinating the development of a language in which the communication between concurrently active system components can be more easily described and controlled. This is based on the generalisation of notions developed for Petri nets, such as processes and true concurrency semantics, to graph transformation and can be considered as a step towards a wider applicability of Petri nets.

1.3 Optimisation and correctness
On the one hand, graphs have a mathematically well-understood logic theory, and rule-basedness of graph transformation on the other hand leads to induction principles. Both together provide a powerful framework for correctness proofs, semantic analysis, and optimisations including consistency checking and symbolic reduction.

1.4 Language design
The key issue in this area is the direct use of graph transformation as a new type of specification and programming language. Since data structures can often be viewed as graphs, such languages provide comfortable and intuitive means to develop reliable software. This is demonstrated by the promising experiences with the language PROGRES (Aachen) and CONCURRENT CLEAN (Nijmegen), suggesting an intensification of this line of research.

2. Tool issues.
Support tools for graph transformation based languages will be designed and used to produce specifications of applications, to analyse them, and to animate and prototype applications. The development of tools will give necessary feedback about the usefulness and the efficiency of developed languages.

2.1 Editors, analysers, and parsers
For a rather long time graph transformation users had to write, check, and animate their specifications by hand. Nowadays the situation is gradually improving with the appearance of graph transformation environments that offer valuable support for editing graphs and graph transformation rules via a visual interface. It is time now, to exchange the experiences of different research groups, to identify reusable components, and to distribute knowledge about existing developments.

2.2 Interpreters, compilers, and optimisers
Interpreters for languages based on graph transformation allow to inspect the reduction process in an interactive way. This can be of great help in program construction. The drawback of interpreters is their inefficiency. Therefore, the execution of real-world applications require a state-of-the-art compiler in addition. Here, optimisation techniques play an important role.

2.3 Graphical user interfaces
Due to the natural visual representation of graphs, their transformation corresponds to the animation of visual objects. This is the key idea of combining graph transformation tools with a graphical interface and of visualising and animating graphs, rules, and transformations at various levels of abstraction.

2.4 Generating and prototyping tools
End users of a specified language or system must not be forced to read and understand the specification of the underlying graph transformation system. They need the opportunity to test a generated prototype while the user interface hides any specification details. It may even abstract from the underlying graph data model using a variety of different user interface metaphors.

3. Application domains.
The usefulness of graph transformation will be demonstrated by case studies in various areas, making the technological potential of the paradigm more visible. The specification of applications will give necessary feedback for the refinement and development of languages and concepts, and the application of tools will give feedback about the appropriateness of their interfaces, functionality, etc. and of their underlying languages.

3.1 Visual languages
Graph-based specification languages have been used successfully as an easy-to-use and well-formalised paradigm to specify the syntax of visual languages (Aachen, Leiden), and this approach towards visual syntax definition might very well become the ``BNF'' of visual language research. This requires powerful graph parsing algorithms, tools which support the definition of visual syntax, and syntax-directed graphical editors.

3.2 Database models and information systems
Visual database languages and systems are becoming more and more important. As demonstrated by the work on the GOOD model (Antwerp), graph transformation is adequate for the description of general purpose Object Oriented Databases and graph manipulations are easier to understand than textual ones. Now, the use of graph transformation for more specialised types of databases has to be investigated.

3.3 Concurrent and distributed systems
Petri nets and their high-level variants are widely accepted as a specification formalism for concurrent and distributed systems. They enjoy an elegant, well-understood semantics expressing concurrency in a direct way. Graph transformation smoothly generalises most pleasant properties of nets and overcomes some of the deficiencies of Petri nets, like the restricted state representation and the lack of dynamic system changes. Therefore graph transformation systems look very promising for the specification of distributed systems whose topologies are changing in time.

3.4 Computer-supported cooperative work and distributed business process re-engineering
Computer Supported Cooperative Work (CSCW) is an active field of research, addressing the problem of modelling the dynamic features of cooperative work. Similarly, Distributed Business Process Re-engineering (DBPR), is concerned with the challenging task of restructuring enterprises and work processes. Graph transformation systems provide a non-ambiguous and consistent representation of networks of cooperating agents which can be used to cover all the dynamic aspects of such models, still maintaining a clear semantics. The use of graph transformation in DBPR as planned for the projects KORPUS and MOKASSIN (Bremen) allows for the first time the adequate handling of distributed and parallel business processes.

3.5 Design and implementation of programming languages
Graph transformation provides a powerful model to design and implement programming languages for applications that demand parallel and distributed evaluation. This is convincingly demonstrated by the language Concurrent Clean (Nijmegen). A central aim must be to test the suitability of such programming languages for writing real-world applications.

3.6 Specification of software engineering models
The GRIDS project (Leiden) provides a formally based, multi-dimensional software engineering model and tool that integrates ``partial'' models of software processes, system architectures, and views onto the system, to enhance real-life, large-scale software development. It has been described using the programmed graph rewriting system PROGRES (Aachen) and provides the basis for further developments in this direction.

Related projects

The Working Group as such cannot perform the necessary research, but will provide a forum and organisational frame for the exchange of information on and coordination of the research activities in this area performed by the members and supported from other sources. APPLIGRAPH members participate in the following European and national projects (existing and proposed) related to graph transformation:

Projects with industrial partners or sponsors. GRIDS, with TNO Institute of Applied Geoscience, 1992-1996 (Leiden, cf. 3.6), IRIS (image retrieval application, supported by IBM (Bremen), KORPUS with Mercedes-Benz AG and DASA, supported by the government of Bremen; begin 1996) (Bremen, cf. 3.4), and MOKASSIN with MTW shipyard Inc., Bremer Vulkan Verbund AG, and PS Systemtechnik Inc., supported by the German Federal Ministry for Research and Technology; begin 1996) (Bremen, cf. 3.4)

European research projects. ESPRIT BR Actions ACCLAIM (no. 7195, Advanced Concurrent Constraint Languages: Application, Implementation and Methodology [Pisa]), CONFER (no. 6454, Concurrency and Functions: Evaluation and Reduction [Pisa]), and Parallel Computing (Nijmegen),ESPRIT BR Working Groups ASMICS (no. 6317, Algebraic and Syntactic Methods in Computer Science [Berlin]), CALIBAN (no. 6067, Casual Calculi Based on Nets [Leiden]), COMPUGRAPH II (no. 7183, Computing by Graph Transformation [Antwerp, Berlin, Bremen, Leiden, Pisa]), PROMOTER (no. 7082, Process Modeling Techniques: Basic Research [Leiden]), SEMAGRAPH II (no. 6345, Semantics and Pragmatics of Generalised Graph Rewriting [Nijmegen]), and COMPASS II (no. 6112, A Comprehensive Approach to Program Development and System Specification [Bremen, Berlin, Rome]), ESPRIT Tropics project (Tip-m 2427 [Nijmegen]), and ESPRIT IV proposal COMPASS III (A Comprehensive Approach to Program Development and System Specification [Bremen, Berlin, Rome]).

National research projects. Graduiertenkollegs Communication Based Systems (DFG no. GRK 86/2-96 [Berlin]) and Informatics and Technology (DFG no. Sp 230/6-7 [Aachen]), DFG-Forschergruppe SUKITS, Software and Communication Structures in Technical Systems (no. Na 134/5-2 [Aachen]), Performance and Reliability of Object-Oriented Systems (NFWO no. GO 22296 [Antwerp]), DFG projects Structuring and Analysis of Algebraic Graph Transformation Systems (no. Eh65/7-1 [Berlin]) and Collage Grammars (no. Kr 964/4-2 [Bremen]), and proposal for DFG project Theoretical Foundations of the Redevelopment of Software Systems (Based on Graph Transformations) [Berlin].

Moreover, 8 of the 12 key members of the proposed Working Group participate in the TMR research network proposal GETGRATS (General Theory of Graph Transformation Systems) coordinated by Ugo Montanari. It emphasises foundational and training aspects of graph transformation and will therefore be an ideal complement of APPLIGRAPH.

APPLIGRAPH should be seen in succession of the two ESPRIT Basic Research Working Groups COMPUGRAPH I and II. It will extend and strengthen the applied side of COMPUGRAPH rather than just continue activities. This is witnessed, for example, by the change in the consortium with several new members (Herzog, Nagl, Paredaens, Plasmeijer, Weber) from practical and applied computer science.

Applied computer science and industry becomes more and more aware that the dynamics in modern information and communication infrastructures cannot be controlled without an underlying unifying paradigm for the engineering and, even more important in the future, re-engineering of systems.

If the known advantages of graph transformation can be integrated into these techniques for system engineering, major progress can be expected with respect to reliability, controllability, compactness, and uniformity of description, and easier understanding and changing of industrial software systems. The focus of the APPLIGRAPH project on languages, tools, and application-oriented case studies ensures that a big step in this direction will be done.

Activities

The Working Group will organise one major event per year and several smaller meetings (varying from subgroup meetings to business and team leader meetings).

Workshops and symposium. For the first year an APPLIGRAPH Workshop is planned assembling the members and scientific correspondents and further experts of the field. In 1997, the 6th International Workshop on Graph Grammars and their Application to Computer Science will be (co-)organised by members of the Working Group. In the third year, an APPLIGRAPH Symposium on Perspectives and Industrial Relevance of Graph Transformation will be organised to bring together researchers in the field with interested people from industry, and in particular from software industry.

Business meetings. Adjoint to each of the three major events, there will be a business meeting of the members of the Working Group for organisational purposes. It is also intended to have extra team leader meetings, if necessary, for the planning and coordination of Working Group activities.

Subgroup meetings. In addition to the three major events, subgroup meetings will be held on particular research topics two or three times a year. Each subgroup meeting will have about 10 participants and will be organised by one of the Working Group teams either as a separate event or joint to a European conference. Up to now, the following topics for subgroup meetings are envisaged:

Contact with industry. The Working Group will contact people from software industry and strive to interest them for graph transformation with the aim to establish close connections to industry for future cooperation. This may lead to the formation of an Advisory Board for planning projects on the industrial application of graph transformation.

Continuing regular research. Clearly, the members of the Working Group will continue to carry out research on topics of interest in graph transformation as described above, and they are expected to present their work at major international conferences. In addition, the Working Group will make efforts in information dissemination as is detailed below.

Information dissemination

The members of the Working Group have authored and co-authored many journal papers and conference contributions on graph transformation in the last years and will continue to do so. Particular efforts will be made to enhance the visibility of the area of graph transformation by regular presentations at major conferences and by the provision of survey papers and state-of-the-art reports.

A handbook on Foundations of Graph Transformation, edited by G. Rozenberg, will soon appear with World Scientific Publishers. The Working Group plans to publish two further handbooks on applied graph transformation (one volume on Specification and Programming by Graph Transformation, the other on Parallelism and Concurrency in Graph Transformation) both together covering the topics of APPLIGRAPH. In addition, the Working Group will support the editing of the proceedings of the 6th International Workshop on Graph Grammars and their Application in Computer Science that are regularly published in the Springer LNCS series.

The Working Group will run a WWW site to inform about its achievements and activities and to provide access to finished papers. For the mutual and fast exchange of information among the members of the Working Group and interested people from outside, an electronic bulletin board will be installed. The idea is to use internet facilities as a permanent newsletter. The information collected in this way will be put together into an annual progress report.

Management

The Working Group APPLIGRAPH is planned for a period of three years, starting in 1996. It will be organised as a network of 8 research teams (see below) encouraging and supporting bilateral, multilateral, and common activities. The working group coordinator will be supported by a manager and three area coordinators. The organisations of the major events are considered as additional tasks.

Working group coordinator: Hans-Jörg Kreowski

Working group manager: Detlef Plump

Area coordinators:

Event organisers:

The Working Group coordinator is responsible for the organisational and administrative management of the Working Group. He acts as the principal contact person with the Commission and ensures that the progress reports are worked out and delivered to the Commission in time. Together with the Bremen team he manages the WWW site of the Working Group and the electronic bulletin board. In these tasks he is supported by the manager.

Each area coordinator supports the Working Group coordinator and coordinates the work within the respective area. He ensures that the contributions to the reports reach the Working Group coordinator in time, and he coordinates the subgroup meetings in his area.

Participants

The following research teams will participate in APPLIGRAPH. Team leaders and further team members are listed. The team leaders are considered as key personnel responsible for the work done by the teams; their CVs are provided in the annex.

University of Technology Aachen: Manfred Nagl (team leader), Andy Schürr, Andreas Winter, Bernhard Westfechtel, Carl-Arndt Krapp

University of Antwerp: Dirk Janssens, Jan Paredaens (team leaders), Jan Van den Bussche, Marc Gemis

Technical University of Berlin: Hartmut Ehrig, Herbert Weber (team leaders), Ingo Claßen, Michael Löwe, Julia Padberg, Gabi Taentzer, Reiko Heckel, Jürgen Müller, Annika Wagner

University of Bremen: Otthein Herzog (team leader), Hans-Jörg Kreowski (team leader and Working Group coordinator), Detlef Plump (Working Group manager), Frank Drewes, Berthold Hoffmann, Christoph Klauck, Renate Klempien-Hinrichs, Sabine Kuske

University of Leiden: Gregor Engels, Grzegorz Rozenberg (team leaders), Marc Andries, Egbert Boers, Joost Engelfriet, Jetty Kleijn, Pieter Koopman, Jan Rekers, Andreas Zamperoni, Vincent Zweije

University of Nijmegen: Rinus Plasmeijer (team leader), Marko van Eekelen, Sjaak Smetsers, Erik Barendsen, John van Groningen, Peter Achten, Marco Pil, Pascal Serrarens, Ronny Wichers Schreur

University of Pisa: Ugo Montanari (team leader), Roberto Bruni, Andrea Corradini, Andrea Maggiolo Schettini, Marco Pistore, Pantaleone Rosa, Francesca Rossi

University of Rome: Francesco Parisi-Presicce (team leader), Stefano Levialdi, Piero Mussio, Luigi Cinque, Paolo Bottoni

The table below indicates to which of the topics and subtopics the teams will contribute.

Contributions of teams to topics and subtopics
Language issues Tool issues Application domains
1.1 1.2 1.3 1.4 2.1 2.2 2.3 2.4 3.1 3.2 3.3 3.4 3.5 3.6
Aachen * ******** ***
Antwerp ** * *
Berlin *** ** **
Bremen * ** ** ***
Leiden *** ** *** ***
Nijmegen *** *** *
Pisa *** ***
Rome ** *** *** *

APPLIGRAPH will correspond and cooperate with other experts in the field and related applied areas. The list of scientific correspondents includes: Virginio Cantoni (Pavia, Italy), Heiko Dörr (Daimler-Benz AG, Berlin, Germany), Maria Francesca Costabile (Bari, Italy), Jürgen Ebert (Koblenz, Germany), Herbert Göttler (Mainz, Germany), Marc Gyssens (Limburg, Belgium), Annegret Habel (Hildesheim, Germany), T. Harju (Turku, Finland), Neil Jones (DIKU, Denmark), Simon Peyton Jones (Glasgow, Great Britain), Alfonso Pierantonio (L'Aquila, Italy), Wilhelm Schäfer (Paderborn, Germany), Hans-Jürgen Schneider (Erlangen, Germany), Gabriel Valiente Feruglio (Barcelona, Spain)

References

[CER79] Volker Claus, Hartmut Ehrig, Grzegorz Rozenberg, editors. Proc. First Intl. Workshop on Graph Grammars and Their Application to Computer Science and Biology, volume 73 of Lecture Notes in Computer Science. Springer, 1979.

[CM95] Andrea Corradini, Ugo Montanari, editors. Proc. Final Workshop of the ESPRIT BR Working Groups SEMAGRAPH II and COMPUGRAPH II (SEGRAGRA '95). Elsevier, 1995.

[EKR91] Hartmut Ehrig, Hans-Jörg Kreowski, Grzegorz Rozenberg, editors. Proc. Fourth Intl. Workshop on Graph Grammars and Their Application to Computer Science, volume 532 of Lecture Notes in Computer Science. Springer, 1991.

[ENR83] Hartmut Ehrig, Manfred Nagl, Grzegorz Rozenberg, editors. Proc. Second Intl. Workshop on Graph Grammars and Their Application to Computer Science, volume 153 of Lecture Notes in Computer Science. Springer, 1983.

[ENRR87] Hartmut Ehrig, Manfred Nagl, Grzegorz Rozenberg, Azriel Rosenfeld, editors. Proc. Third Intl. Workshop on Graph Grammars and Their Application to Computer Science, volume 291 of Lecture Notes in Computer Science. Springer, 1987.

[SE94] Hartmut Ehrig, Hans Jürgen Schneider, editors. Proc. Intl. Workshop on Graph Transformations in Computer Science, volume 776 of Lecture Notes in Computer Science. Springer, 1994.

[Ha92] Annegret Habel. Hyperedge Replacement: Grammars and Languages, volume 643 of Lecture Notes in Computer Science. Springer, Berlin, 1992.

[PvE93] Rinus Plasmeijer, Marko van Eekelen. Functional Programming and Parallel Graph Rewriting. International Computer Science Series. Addison-Wesley, Amsterdam, 1993.

[SPE93] Ronan Sleep, Rinus Plasmeijer, Marko van Eekelen, editors. Term Graph Rewriting, Theory and Practice. Wiley & Sons, Chichester, New York, Brisbane, Toronto, Singapore, 1993.


Back to the APPLIGRAPH home page