Skip to main content

Ada-concurrency specified by graph grammars

  • Part II Technical Contributions
  • Conference paper
  • First Online:
Graph-Grammars and Their Application to Computer Science (Graph Grammars 1986)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 291))

Abstract

This paper demonstrates a notion for formal semantics specification of concurrent programming languages and applies it to the concurrent part of the programming language Ada. The abstract syntax of an Ada program is given by a graph representation called the program graph. This program graph is the input for an abstract interpreter consisting of a set of graph rewriting rules. Therefore, this interpreter is a graph rewriting system, i. e. a graph grammar. A derivation step in this graph grammar allows the parallel application of a finite set of sequential rewriting rules, thus modelling the independent progress of parallel tasks. It is shown that the notion successfully copes with Ada concurrency, including dynamic creation of tasks, task hierarchies, synchronization, and timing considerations. The abstract implementation by an interpreter gives rise to some considerations concerning the precision of the informal, official Ada Standard and the adequacy of some language features, especially with respect to the interaction of exception handling and concurrency.

This paper gives an extended abstract of the main ideas of [SPEC].

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Bibliography

  1. Apt, K. R., Francez, N., de Roever, W.: A proof system for communicating sequential processes; ACM TOPLAS vol. 2, no. 3, 1980

    Google Scholar 

  2. Broy, M. Extensional behaviour of concurrent, nondeterministic communicating systems; Universität Passau. Bericht MIP 8506, 1985

    Google Scholar 

  3. Engels, G., Schäfer, W.: Graph grammar engineering: a method for the development of an integrated programming support environment; Osnabrücker Schriften zur Mathematik, Reihe I 5/82

    Google Scholar 

  4. Hoare, C. A. R.: Communicating sequential processes; CACM 21.8.78, p. 666–677

    Google Scholar 

  5. Lewerentz, C., Nagl, M.: A formal specification language for software systems defined by graph grammars, in Pape, U: Proceedings WG'84 in graphtheoretic concepts in computer science; Teubner, Linz, 1984

    Google Scholar 

  6. Ada Programming Language, Military Standard 22.01.1983; American National Standards Institute (ANSI/MIL-STD-1815A-1983)

    Google Scholar 

  7. Nagl, M.: Einführung in die Programmiersprache Ada; Braunschweig/Wiesbaden, Vieweg, 1982

    Google Scholar 

  8. Nagl, M.: Graph Grammatiken — Theorie, Implementierung, Anwendung; Braunschweig/Wiesbaden, Vieweg, 1979

    Google Scholar 

  9. Pratt, T. W.: A theory of programming languages, part I; The University of Texas, Austin, 1975

    Google Scholar 

  10. Jackel, M.: Formale Spezifikation nebenläufiger Konstrukte von Ada mit Graphgrammatiken; Dissertation, Osnabrück, 1986

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hartmut Ehrig Manfred Nagl Grzegorz Rozenberg Azriel Rosenfeld

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jackel, M. (1987). Ada-concurrency specified by graph grammars. In: Ehrig, H., Nagl, M., Rozenberg, G., Rosenfeld, A. (eds) Graph-Grammars and Their Application to Computer Science. Graph Grammars 1986. Lecture Notes in Computer Science, vol 291. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18771-5_58

Download citation

  • DOI: https://doi.org/10.1007/3-540-18771-5_58

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18771-4

  • Online ISBN: 978-3-540-48178-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics