Abstract
Modelling environments (e.g. software development environments) offer tools which build up and maintain complex internal data structures. Therefore, before implementing such tools, it is advisable for the tool developer to formally specify the structure and the operations of these internal data structures. Graph Grammars as an operational specification method have been successfully used for this purpose for many years.
This paper describes an integrated set of tools for building up, maintaining, analyzing and executing such an internal specification described in the language PROGRESS, a graph grammar based VHL-Language. It sketches the characteristics of the PROGRESS environment, its software architecture, the specification of the environment in the language itself, and the implementation which, for the biggest part, have been generated.
The environment will be used for the following two main purposes: (i) for (syntax) checking PROGRESS specifications (at specification time) before implementing an efficiently working system which is equivalent to the specification, and (ii) for rapid prototyping purposes, i.e. for directly executing a specification.
The following paper has to be read in connection with /Sc 90a/ of this volume. Whereas /Sc 90a/ introduces the specification language PROGRESS and its methodological application to a small example the following paper concentrates on the environment's user characteristics and the realization of the environment.
This project was/is partially supported by Stiftung Volkswagenwerk and DFG
Preview
Unable to display preview. Download preview PDF.
7. References
Th. Brandes/C. Lewerentz: GRAS: A Non-standard Data Base System within a Software Development, Proc. of the GTE Workshop on Software Engineering Environments for Programming in the Large, Harwichport, 113–121, (June 1985).
S. Ceri (Ed.): Methodology and Tools for Database Design, North-Holland (1983).
G. Engels/R. Gall/M. Nagl/W. Schäfer: Software Specification using Graph Grammars, Computing 31, 317–346 (1983).
G. Engels/C. Lewerentz/W. Schäfer: Graph Grammar Engineering — A Software Specification Method, in Ehrig et al. (Eds.): Proc. 3rd Int. Workshop on Graph Grammars and Their Application to Computer Science, LNCS 153, 186–201, Berlin: Springer-Verlag (1987).
G. Engels: Graphs as Central Data Structures in a Software Development Environment (in German), Doctoral Thesis, Düsseldorf: VDI-Verlag (1986).
G. Engels/M. Nagl/W. Schäfer: On the Structure of Structures Editors for Different Applications, Proc. 2nd ACM Software Eng. Symp. on Pract. Software Development Environments, SIGPLAN Notices 22, 1, 190–198 (1986).
G. Engels/A. Schürr: A Hybrid Interpreter in a Software Development Environment, Proc. 1st European Software Engineering Conf., LNCS 289, 87–96, Berlin: Springer-Verlag (1980).
G. Engels/W. Schäfer: Program Development Environments — Concepts and Realization (in German), Stuttgart: Teubner Verlag (1989).
H. Göttler: Graph Grammars in Software Engineering (in German), IFB 178, Berlin: Springer-Verlag (1988).
R. Herbrecht: A Graph Grammar Editor (in German), Diploma-Thesis; RWTH Aachen (1989).
S. Horwitz/T. Teitelbaum: Generating Editing Environments Based on Relations and Attributes, ACM TOPLAS 8, 4, 577–608 (1986).
M. Jackel: Formal Specification of the Concurrent Constructs of Ada by Graph Grammars, Doctoral Dissertation, Univ. of Osnabrueck (1986).
Th. Janning: Requirements Engineering and a Mapping to Programming in the Large, Dissertation forthcoming.
C. Lewerentz: Extended Programming in the Large in a Software Development Environment, Proc. 3rd ACM SIGPLAN/SIGSOFT Symp. on Practical Software Engineering Environments, Software Engineering Notes 13, 5, 173–182 (1988).
C. Lewerentz: Interactive Design of Large Program Systems (in German), Doctoral Thesis, IFB 194, Berlin: Springer-Verlag (1988).
P.C. Lockemann/H.C. Mayr: Information System Design: Techniques and Software Support, in H.-J. Kugler (Ed.): Information Processing 86, 617–634, Elsevier Science Publ. (1986).
C. Lewerentz/A. Schürr: GRAS, a Management System for Graph-like Documents, in C. Beeri et al. (Eds.): Prod. 3rd Int. Conf. on Data and Knowledge Bases, 19–31, Los Altos: Morgan Kaufmann Publishers (1988).
M. Nagl: Graph Grammars: Theory, Applications, and Implementations (in German), Braunschweig: Vieweg-Verlag (1979).
M. Nagl: Graph Technology Applied to a Software Project, in Rozenberg, Salomaa (Eds.): The Book of L, 303–322, Berlin: Springer-Verlag (1985).
T. Reps: Generating Language-Based Environments, PH.D. Thesis, Cambridge, Mass.: MIT Press (1984).
W. Schäfer: An Integrated Software Development Environment: Concepts, Design and Implementation (in German) Doctoral Thesis, Düsseldorf; VDI-Verlag (1986).
A. Schürr: Introduction to PROGRESS, an Attribute Graph Grammar Based Specification Language, LNCS 411, 151–165 (1989).
A. Schürr: PROGRESS: A VHL-Language Based on Graph Grammars, this volume.
A. Schürr: Programming by Graph Rewriting Systems — Theoretical Foundations and the Corresponding Language (in German), Doctoral Dissertation, RWTH Aachen (1990).
R.Spielmann: Development of a Basic Layer for Graph Grammar Interpreters (in German), Diploma Thesis, RWTH Aachen (1989).
B. Westfechtel: Revision Control in an Integrated Software Development Environment (in German), Doctoral Dissertation, RWTH Aachen (1990).
A. Zündorf: Control Structures for the Specification Language PROGRESS (in German), Diploma Thesis, RWTH (1989).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nagl, M., Schürr, A. (1991). A specification environment for graph grammars. In: Ehrig, H., Kreowski, HJ., Rozenberg, G. (eds) Graph Grammars and Their Application to Computer Science. Graph Grammars 1990. Lecture Notes in Computer Science, vol 532. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017415
Download citation
DOI: https://doi.org/10.1007/BFb0017415
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54478-4
Online ISBN: 978-3-540-38395-6
eBook Packages: Springer Book Archive