Graph Transformation for Specification and Programming - Andries, Marc; Engels, Gregor; Habel, Annegret; Hoffmann, Berthold; Kreowski, Hans-Jörg; Kuske, Sabine; Plump, Detlef; Schürr, Andy; Taentzer, Gabriele
The framework of graph transformation combines the potentials and advantages of both, graphs and rules, into a single computational paradigm. In this paper we survey recent developments in applying graph transformation as a rule-based framework for the specification and development of systems, languages, and tools. After presenting the basic features of graph transformation, we discuss a spectrum of applications including the evaluation of functional expressions, the specification of an interactive graphical tool, an example specification for abstract data types, and the definition of a visual database query language. The case studies indicate the need for a graph transformation language that provides suitable structuring principles and is independent of a particular graph transformation approach. To this end, we sketch the basic features of the new graph- and rule-centered language Grace, currently under development, that permits systematic and structured specification and programming based on graph transformation.

Definition of an Encapsulated Hierarchical Graph Data Model: Static Aspects, Part 1. - Busatto, Giorgio; Engels, Gregor

Object-oriented Specification of Coordinated Collaboration - Engels, Gregor; Groenewegen, Luuk; Kappel, Gerti

Horizontal and Vertical Structuring of Typed Graph Transformation Systems - Heckel, Reiko; Corradini, Andrea; Ehrig, Hartmut; Löwe, Michael

Towards Measurable Process Models - de Bunje, Tineke; Engels, Gregor; Groenewegen, Luuk; Heus, Michael; Matsinger, Aart (Proceedings of the Workshop on Software Process Technology (EWSPT 1996), Nancy (France))

Pragmatic and Semantic Aspects of a Module Concept for Graph Transformation Systems - Ehrig, Hartmut; Engels, Gregor (Selected papers from the 5th International Workshop on Graph Gramars and Their Application to Computer Science, Williamsburg, VA (USA))
The paper presents a conceptual framework for a module concept for graph transformation systems from a software engineering as well as from a theoretical point of view. The basic idea is to reuse concepts, which are known within or without the graph grammar field, to structure large specifications. These are the concept of distributed graph transformation systems, the concept of inheritance of specifications, and the import-export-interface concept. All these concepts are presented in a uniform framework based on the syntactical notion of a graph class specification and its semantics given by a graph transformation system. This is the basis for an explicit integration of these concepts and a corresponding specification language, to be discussed in a subsequent paper.

Comprehensive Support for Change: Generic, Multi-dimensional (Software) Engineering Frameworks (position paper) - Engels, Gregor; Zamperoni, Andreas (Proceedings of the Workshop on Requirements Engineering in a Changing World (satellite event of the Conference on Advanced Information Systems Engineering (CAISE 1996)), Crete (Greece))

Reuse of Software Process Fragments is Reuse of Software, too - Groenewegen, Luuk; Engels, Gregor (Proceedings of the 10th International Software Process Workshop (ISPW 1996), Ventron (France))
By means of a special sofnvare process model component we have been successful in specifring somare process model evolution, This component also handles much reuse of software process model fragments. To handle the reuse of the software as it is being produced by a software process, another extra component can be added to the model for that software process. It is argued why this extra component is comparable to the special component for evolution.

Automatic Integration of Safety Invariants into Z Specifications - Heckel, Reiko; Conrad, Mirko; Egger, Gottfried; Hiemer, Jörg (Proceedings of the Workshop on Tools for System Development and Verifcation)
This extended abstract describes a mechanism to automatically incorporate safety requirements into operational specifications written in Z. For every individual operation the global (i.e. operation independent) safety invariants are transformed into a predicate which is used to extend the original precondiction of the operation. The operation constructed this way shows the same beavior as the original one whenever its post state satisfies the invariant. Otherwise it refuses to do anything. The construction of the precondition can be carried out automatically and a corresponding tool development is in progress.

Graph Grammars with Negative Application Conditions - Habel, Annegret; Heckel, Reiko; Taentzer, Gabriele (Fundamenta Informaticae)

Horizontal and Vertical Structuring of Typed Graph Transformation Systems - Heckel, Reiko; Corradini, Andrea; Ehrig, Hartmut; Löwe, Michael (Mathematical Structures in Computer Science)

A Hybrid Query Language for the Extended Entity Relationship Model - Andries, Marc; Engels, Gregor (Journal of Visual Languages and Computing)
We present the hybrid query language HQL/EER for an Extended Entity-Relationship model. As its main characteristic, this language allows a user to usebothgraphical and textual elements in the formulation of one and the same query. We demonstrate the look-and-feel of this query language by means of examples, and show how syntax and semantics of this language are formally defined using programmed graph rewriting systems. Although we present the language in the context of the EER model, the concept of hybrid languages is applicable in the context of other database models as well. We illustrate this claim by discussing a prototype implementation of a Hybrid Query Tool based on an object-oriented approach, namely the Object Modeling Technique (OMT).

Tight Integration on One Document: The Programming Environment - Engels, Gregor; Nagl, Manfred; Schäfer, Wilhelm; Westfechtel, Bernhard (Building Tightly Integrated Software Development Environments: The IPSEN Approach)

Attributed Graph Transformations with Controlled Application of Rules - Heckel, Reiko; Müller, Jürgen; Taentzer, Gabriele; Wagner, Annika (Proceedings of the Colloquium on Graph Transformation and its Application in Computer Science)
We present a combination of recent extensions to single-pushout graph transformations, as there are attribution, application conditions and amalgamated graph transformations and add a simple transaction concept on top of this formalism. Thereby, we provide the formal basis for several examples, where these concepts are used in combination.

Record Linkage of Anonymous Data by Control Numbers - Thoben, Wilfried; Appelrath, Hans-Jürgen; Sauer, Stefan (Proceedings of the 18th Annual Conference of the Gesellschaft für Klassifikation, Oldenburg (Germany))

Embedding of Conditional Graph Transformations - Heckel, Reiko (Proceedings of the Colloquium on Graph Transformation and its Application in Computer Science)
Single pushout graph transformations at injective matches are extended by negative application conditions. It is shown, how right-sided application conditions can be transformed into equivalent left-sided ones. Based on this result, conditional derived rules are introduced and a theorem, similiar to the double pushout embedding theorem is shown. Finally, three variants of contextual application conditions are discussed with respect to their expressive power and expected results.

Graphische Spezifikation ausgewählter Teile von AGG - einem algebraischen Graphgrammatiksystem - Conrad, Mirko; Gajewsky, Magdalena; Holl-Biniasz, Rainer; Rudolf, Michael; Demuth, Jochen; Weber, Stephan; Heckel, Reiko; Müller, Jürgen; Taentzer, Gabriele; Wagner, Annika

Specialization of Object Life Cycle Definitions - Ebert, Jürgen; Engels, Gregor
Several object-oriented modeling approaches propose to describe the dynamic behaviour of objects by state transition diagrams. None of them provides precise rules or conditions for the interrelation between the behaviour description of classes and those of their subclasses. In this paper, we discuss this interrelation in detail. It turns out that one has to distinguish between the observable and the invocable behaviour of objects and that different compatibility requirements between the diagrams exist depending on the type of behaviour.

Encapsulated Hierarchical Graphs, Graph Types, and Meta Types - Engels, Gregor; Schürr, Andy

Coordination by Behavioural Views and Communication Patterns - Groenewegen, Luuk; Engels, Gregor (Proceedings of the 4th European Workshop on Software Process Technology (EWSPT 1995), Noordwijkerhout (The Netherlands))

A Compositional Approach to Structuring and Refinement of Typed Graph Grammars - Corradini, Andrea; Heckel, Reiko (Proceedings of the Joint COMPUGRAPH/SEMAGRAPH Workshop on Graph Rewriting and Computation (SEGRAGRA 1995), Volterra (Italy))
Based on a categorical semantics that has been developed for typed graph grammars we uses colimits (pushouts) to model composition and (reverse) graph grammar morphisms to describe refinements of typed graph grammars. Composition of graph grammars w.r.t. common subgrammars is shown to be compatible with the semantics, i.e. the semantics of the composed grammar is obtained as the composition of the semantics of the component grammars. Moreover, the structure of a composed grammar is preserved during a refinement step in the sense that compatible refinements of the components induce a refinement of the composition. The concepts and results are illustrated by an example.

GRAPHIT: Graphical Support and Integration of Formal and Semiformal Methods for Software Specification and Development - Bardohl, Bernhard; Bardohl, Roswitha; Castro, Paulo; Ehrig, Hartmut; Heckel, Reiko; Ribeiro, Leila; Nunes, Daltro; Martini, Alfio (Proceedings of the 3rd German-Brazilian Workshop on Information Technology (1995), Berlin (Germany))
The overall aim of this paper is a proposal how to bridge the gap between formal specification techniques developed in research projects and semi--formal or informal specifications used in industrial practice. The main idea to overcome these problems is to develop graphical support for formal methods in order to increase acceptance by practitioners and to provide means for integration of formal and semi--formal methods. More specifically suitable concepts will be developed to combine algebraic specifications, Petri Nets, and Graph Grammars with each other and with distinguished graphical components to be used by industrial partners.

Encapsulated Hierarchical Graphs, Graph Types, and Meta Types - Engels, Gregor; Schürr, Andy (Proceedings of the Joint COMPUGRAPH/SEMAGRAPH Workshop on Graph Rewriting and Computation (SEGRAGRA 1995), Volterra (Italy))
Currently existing graph grammar-based specification languages have serious problems with supporting any kind of “specification-in-the-large” activities. More precisely, they have deficiencies with respect to modeling hierarchical data structures or specifying meta activities like manipulation of graph schemata. Furthermore, already proposed graph grammar module concepts are still too abstract to be useful in practice. Our contribution addresses these problems by introducing a new hierarchical graph data model with an infinite number of schema, meta-schema, etc. layers. It forms the base for a forthcoming concrete modular graph grammar specification language where in addition information hiding aspects like explicit export and import interfaces are expressible.

Ensuring Consistency of Conditional Graph Grammars - A constructive Approach - Heckel, Reiko; Wagner, Annika (Proceedings of the Joint COMPUGRAPH/SEMAGRAPH Workshop on Graph Rewriting and Computation (SEGRAGRA 1995), Volterra (Italy))

Fundamentals of Object-Oriented Languages, Systems, and Methods
During the last decades there has been progress within the object-oriented community in agreeing on what object- orientedness means. The role of object identity, specialization, inheritance, and dynamic binding have been examined. However, a careful look at articles written by people with a theory, programming language, database, and software engineering background shows that the semantical understanding of the same features still differs considerably. A well-known example is the feature of inheritance, which has quite a different meaning for persons from the database comunity with a semantic data model background and persons form the programming language community with a compiling technique background This observation also applies to the literaute on object-oriented software development methods. Here, object -oriented analysis and design methods are often heavily influenced by semantic data modelling consepts- An implemantion of an object-orinted design by an objeckt-oriented progamming language usually causes more difficulties than expected although the "same" object-oriente paradigm is used...

Graph Gramars and Their Application to Computer Science, 5th International Workshop (1994), Selected Papers

Berücksichtigung von Datenschutzaspekten in einem bevölkerungsbezogenen Krebsregister - Thoben, Wilfried; Appelrath, Hans-Jürgen; Rettig, Jens; Sauer, Stefan (Proceedings of the conference on Medizin und Information, Biometrie und Epidemiologie (GMDS 1994), Dresden (Germany))
Die Pilotphase 1993/ 94 zum Aufbau eines Niedersächsischen Krebsregister untersucht das im Entwurf des Bundeskrebsregistergesetzes vorgesehen Modell für ein bevölkerungsbezogenes Krebsregister. Darin werden die Krebsmeldungen in einer Vertrauensstelle erfaßt und die personenidentifizierenden Daten vor der Übermittlung an die Registerstelle anonymisiert, wo sie dann zu einem bevölkerungsbezogenen Krebsregister verdichtet und epidemiologischer Forschung zur Verfügung gestellt werden ([1], [2], [3]). Dieses sogenannte „Michaelis“-Modell erlaubt eine bevölkerungsbezogene Registrierung von Krebsfällen unter Berücksichtigung datenschutzrechtlicher Aspekte („Informationelles Selbstbestimmungsrecht“) der einzelnen Betroffenen. In vier Teilprojekten werden dabei in der Modellregion Weser-Ems die Integration krebsregistrierender Einrichtungen, die Chiffrierung/ Dechiffrierung von Krebsmeldungen, der Abgleich anonymisierter Meldungen in der Registerstelle und die Entwicklung eines epidemiologischen Informationssystem betrachtet ([4], [5]).

Structural and Behavioural Views on OMT-Classes - Ebert, Jürgen; Engels, Gregor (Proceedings of the International Symposium on Object-Oriented Methodologies and Systems (ISOOMS 1994), Palermo (Italy))
Object-oriented specification languages provide means to specify the static structure, as well as the allowed dynamic behaviour of objects. Here, the dynamic behaviour is usually described by giving the methods and a state transition diagram which defines the allowed sequences of methods on objects of a certain class. Specialized classes are defined using the inheritance relationship. In order to enable reusability while guaranteeing type substitutability, subclass specifications have to be compatible with respect to static and dynamic aspects with their corresponding superclass specifications. Classes have to provide a large shopping list of operations to satisfy the needs of all possible users. The interests of specific users are often restricted to a subset of operations and thus to a restricted behaviour. This paper describes a formalization of class descriptions given by attributes, operations, as well as state transition diagrams. It defines compatibility between sub- and superclasses and introduces the notion of views in the sense of hiding parts of a class description. It turns out that a view has the same properties as a (virtual) superclass.

Object-Oriented System Development: Will the New Approach Solve Old Problems? - Engels, Gregor; Kappel, Gerti (Proceedings of the IFIP 13th World Computer Congress on Information Processing, Hamburg (Germany))
Object-oriented system development is wideley recognized as improving productivity and reducing system maintenance costs. However, existing approaches have not sufficiently addressed the following three questions which are equally important to users and researchers. Firstly, what are the benefits of object-oriented system development compared to traditional approaches? Secondly, what are the essential features of an objectoriented life cycle model to fulfill the benefits of object-oriented development? And thirdly, what are the pitfalls of object-oriented development and how to cope with them? The paper investigates answers to all three questions in concert.

Towards a Module Concept for Graph Transformation Systems: The Software Engineering Perspective - Engels, Gregor; Ehrig, Hartmut (Proceedings Colloquium on Graph Transformation and its Application in Computer Science)

Observable or Invocable Behaviour - You Have to Choose - Ebert, Jürgen; Engels, Gregor

Syntax and Semantics of Hybrid Database Languages - Andries, Marc; Engels, Gregor (Proceedings of the International Workshop on Graph Transformations in Computer Science (1993), Dagstuhl (Germany))
We present the hybrid query language HQL/EER for an Extended Entity-Relationship model. As its main characteristic, this language allows a user to freely mix graphical and textual formulation of a query. We show how syntax and semantics of this hybrid language are formally defined by means of a slightly extended version of PROGRES, a specification formalism based on programmed and attributed graph rewriting systems.

Specification of coordinated behaviour by SOCCA - Engels, Gregor; Groenewegen, Luuk (Proceedings of the Third European Workshop on Software Process Technology (EWSPT 1994), Villard de Lans (France))

Visual Specification of Complex Database Actions - Engels, Gregor; Löhr, Perdita (Proceedings of the 2nd International East/West Database Workshop, Klagenfurt (Germany))
The paper presents an approach to specify in an integrated way by visual, diagrammatic languages the structural and behavioural aspects of database applications. Hereby, well-known extended Entity-Relationship diagrams are employed to specify the structural aspects. The behavioural aspects of a database application are specified by using ViAL (Visual Action Language). ViAL specifications are a special kind of data (or better object) flow diagrams, where so-called elementary actions are used as basic building blocks. These elementary actions are automatically derived from a given EER diagram. They guarantee that after finishing their execution all inherent integrity constraints are fulfilled. The paper explains the features of the language ViAL and gives some illustrating examples.

Visuelles Spezifizieren von komplexen Aktionen auf Datenbankstrukturen - Löhr-Richter, Perdita; Engels, Gregor (GI-Datenbank Rundbrief)

Design Representation - Ebert, Jürgen; Engels, Gregor (Encyclopedia of Software Engineering)
This article gives an overview on how to represent the outcome of the software design phase in design documents. The descriptive aspects of the design description languages are stressed. The focus is on sequential systems and the description is arranged according to the main paradigms that are used in indentifying software components. Following a general discussion on how to represent software architectures of large systems, each design paradigm is discussend separately with its basic concepts, its historical background and its main variants. Some multiparadigmatic approaches are discussed, as well which integrate several of the aspects introduced before.

SOCCA: Specifications of Coordinated and Cooperative Activities - Engels, Gregor; Groenewegen, Luuk (Software Process Modelling and Technology)

Integrationsaspekte bei verteilter Software-Entwicklung - Engels, Gregor; Verrijn-Stuart, A.A. (Fortschritt-Berichte VDI)

A Hybrid Query Language for the Extended Entity Relationship Model - Andries, Marc; Engels, Gregor

Towards a Module Concept for Graph Transformation Systems - Ehrig, Hartmut; Engels, Gregor

Abstracts COMPUGRAPH II Workshop - Engels, Gregor; Rozenberg, Grzegorz

Modular, Visual Specifications of Software Processes - Engels, Gregor; Groenewegen, Luuk (Proceedings of the Workshop on Software Process (ISPW 1993), Wadern (Germany))

Functional Description of Parallel Processes - Koopman, Pieter; Groenewegen, Luuk; Engels, Gregor (Proceedings of the conference SION Computing Science in the Netherlands (CSN '92), The Netherlands)

Visual Specifications of Conceptual Database Schemata (Abstract) - Engels, Gregor

CADDY: A Highly Integrated Environment to Support Conceptual Database Design - Engels, Gregor; Löhr-Richter, Perdita (Proceedings of the Fifth International Workshop on Computer-Aided Software Engineering (CASE 1992), Montreal (Canada))
This experience report describes the development of the CASE environment CADDY Computer-Aided Design of non-traditional Databases 1 which oflers an integrated set of tools for specifying, analyzing, and prototyping a database application on a conceptual level. This environment was designed and implemented during the last four years at Braunschweig Technical University (Germany). The process of developing this environment consisted of a sequence of development steps, where each step corresponded to (at least) one of five main tasks. The intention of this report is to describe these five tasks. At the end, we will critically reflect on the achieved results and solved problems, but also on still open questions of the CADDY environment.

Specification of Coordinated Behaviour in the Software Development Process - Engels, Gregor; Groenewegen, Luuk (Proceedings of the Second European Workshop on Software Process Technology (EWSPT 92), Trondheim, Norway)

SQL/EER - Syntax and Semantics of an Entity-Relationship-Based Query Language - Hohenstein, Uwe; Engels, Gregor (Information Systems)
This paper presents the high-level query language SQL/EER for an extended Entity-Relationship model (EER model). SQL/EER directly supports all the concepts of the EER model and takes into account well-known features that are integral part of contemporary query languages, e.g. arithmetic and aggregate functions. In contrast to usual descriptions of query languages, we give SQL/EER a complete formal specification of syntax and sematics. This syntax is defined by using an attribute grammar which fixes the context-free structure and the context-sensitive rules. The operational semantics is defined by formally translating SQL/EER queries into queries of an existing, semantically well-defined calculus. The attribute grammar is extended to cover this translation, too. The query language SQL/EER is used in a database design environment. In this context, the formal specification of its syntax and the semantics has been used to implement a syntax-directed editor and a query interpreter for SQL/EER.

Building Integrated Software Development Environments, Part I: Tool Specification - Engels, Gregor; Lewerentz, Claus; Nagl, Manfred; Schäfer, Wilhelm; Schürr, Andy (ACM Transactions on Software Engineering and Methodology (TOSEM))
The conceptual modeling approach of the IPSEN (Integrated Project Support Environment) project for building highly integrated environments is based on using attributed graphs to model and implement arbitrary object structures, in particular all kinds of software documents and their relationships. A language based on graph grammars, called PROGRESS (Programmed Graph REwriting SyStems), and a suitable method for the application of this language, called graph grammar engineering, have been developed over the last ten years. This language and method are being extensively used for specifying the complex graph structures of internal document representations as well as for specifying the functionality of all tools (editors, browsers, analyzers, debuggers) working on these internal representations. This paper explains the language and the method for applying the language based on a pragmatic nontrivial example of a software production process and its corresponding documents. In particular, it is shown why and how a graph grammar-based strongly typed language is perfectly suitable to formally specify highly integrated software tools. In addition, it is shown that the implementation of these tools (i.e., an environment composed of these tools) is systematically being derived from the formal specifications.

Conceptual Modelling of Database Applications Using an Extended ER Model - Engels, Gregor; Gogolla, Martin; Hohenstein, Uwe; Hülsmann, Klaus; Löhr-Richter, Perdita; Saake, Gunter; Ehrich, Hans-Dietrich (Data & Knowledge Engineering)
In this paper, we motivate and present a data model for conceptual design of structural and behavioural aspects of databases. We follow an object centered design paradigm in the spirit of semantic data models. The specification of structural aspects is divided into modelling of object structures and modelling of data types used for describing object properties. The specification of object structures is based on an Extended Entity--Relationship (EER) model. The specification of behavioural aspects is divided into the modelling of admissible database state evolutions by means of temporal integrity constraints and the formulation of database (trans)actions. The central link for integrating these design components is a descriptive logic--based query language for the EER model. The logic part of this language is the basis for static constraints and descriptive action specifications by means of pre- and postconditions. A temporal extension of this logic is the specification language for temporal integrity constraints. We emphasize that the various aspects of a database application are specified using several appropriate, but yet compatible formalisms, which are integrated by a unifying common semantic.

Incremental Design of Conceptual Database Schemata with CADDY - Löhr-Richter, Perdita; Engels, Gregor