Skip to main content

Visual concurrent object-based programming in GARP

  • Submitted Presentations
  • Conference paper
  • First Online:
PARLE '89 Parallel Architectures and Languages Europe (PARLE 1989)

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

Abstract

We describe a hybrid graphical/textual model for concurrent object-based programming. In this model, graph grammars are used to specify the set of topologies (processes and their interconnections) that a concurrent system can evolve, while the behavior of individual processes is specified textually. This allows a clean separation of naming and topology control issues from those of describing individual components of the system. In our model a concurrent system is a collection of processes, connected into a topology constrained by the language of the graph grammar for the system, which communicate by message passing and mutate the topology of the system by requesting application of the productions in the grammar to the topology.

We overview graph grammars and explain how they are used to construct object-based concurrent systems with good software engineering characteristics. We then present a concrete language based on the model, and illustrate its use with a client-server example.

Supported in part by the National Science Foundation under grant CCR-8809479 and by the AT&T Illinois Software Engineering Project.

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.

References

  1. Reference Manual for the Ada Programming Language. Technical Report MIL-STD 1815, United States Department of Defense.

    Google Scholar 

  2. Gul Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. M.I.T. Press, Cambridge, Mass., 1986.

    Google Scholar 

  3. W. C. Athas and C. L. Seitz. Cantor User Report. Technical Report 5232:TR:86, California Institute of Technology, January 1987.

    Google Scholar 

  4. Hartmut Ehrig, Manfred Nagl, and Grzegorz Rozenberg (eds). Proceedings of the second International Workshop on Graph Grammars and their Application to Computer Science, Lecture Notes in Computer Science 153. Springer-Verlag, Heidelberg, 1982.

    Google Scholar 

  5. C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, August 1978.

    Google Scholar 

  6. G. Kahn and D. MacQueen. Coroutines and networks of parallel processes. In Information Processing 77, pages 993–998, Academic Press, 1978.

    Google Scholar 

  7. Simon M. Kaplan and Roy H. Campbell. Designing and prototyping in grads. In Proceedings IEE/BCS Symposium on Software Engineering, July 1988.

    Google Scholar 

  8. Simon M. Kaplan, Steven K. Goering, and Roy H. Campbell. Specifying concurrent systems with Δ-grammars. In Proceedings International Workshop on Software Specification and Design, Pittsburg, April 1989.

    Google Scholar 

  9. Simon M. Kaplan and Gail E. Kaiser. Garp: graph abstractions for concurrent programming. In ESOP '88, Springer-Verlag, March 1988.

    Google Scholar 

  10. Barbara Liskov and Robert Scheifler. Guardians and actions: linguistic support for robust, distributed programs. ACM TOPLAS, 5(3):381–404, July 1983.

    Google Scholar 

  11. R. Milner. A calculus of communicating systems. In Lecture Notes in Computer Science, LNCS 92, Springer-Verlag, Berlin, 1980.

    Google Scholar 

  12. M. Nagl, G. Engels, R. Gall, and W. Schafer. Software specification by graph grammars. In Hartmut Ehrig, Manfred Nagl, and Grzegorz Rozenberg, editors, Graph Grammars and their Application to Computer Science, LNCS 153, pages 267–287, Springer-Verlag, 1982.

    Google Scholar 

  13. Manfred Nagl. Set theoretic approaches to graph grammars. In Hartmut Ehrig, Manfred Nagl, and Grzegorz Rozenberg, editors, Graph Grammars and their Application to Computer Science, LNCS 291, pages 41–54, Springer-Verlag, 1987.

    Google Scholar 

  14. C. A. Petri. Concurrency. In Net Theory and Applications, LNCS 84, Springer-Verlag, Berlin, 1980.

    Google Scholar 

  15. J. Rees and W. Clinger (Editors). Revised (3) report on the algorithmic language scheme. Sigplan Notices, 21(12):37–79, December 1986.

    Google Scholar 

  16. Robert E. Strom and Shaula Yemini. The nil distributed systems programming language: a status report. In S. D. Brookes, A. W. Roscoe, and G. Winskel, editors, Seminar On Concurrency, LNCS 197, pages 512–523, Springer-Verlag, New York, 1985.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Eddy Odijk Martin Rem Jean-Claude Syre

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goering, S.K., Kaplan, S.M. (1989). Visual concurrent object-based programming in GARP. In: Odijk, E., Rem, M., Syre, JC. (eds) PARLE '89 Parallel Architectures and Languages Europe. PARLE 1989. Lecture Notes in Computer Science, vol 366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51285-3_40

Download citation

  • DOI: https://doi.org/10.1007/3-540-51285-3_40

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51285-1

  • Online ISBN: 978-3-540-46184-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics