Skip to main content

The abstract scheme for concurrent programming

  • Conference paper
  • First Online:
Extensions of Logic Programming (ELP 1992)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 660))

Included in the following conference series:

Abstract

We present a new model for concurrent programming, which we call AbstrAct. A system is specified through collections of rules defining all possible state transformations that may occur. The activity of a system is driven by goals (actions) organized in parallel and sequence in a structure called the agenda. Actions in the agenda communicate and synchronize by atomically consulting and updating a global shared space, the blackboard, which may, in general, be regarded as a logic program. An action rule corresponds to an atomic step in the execution of an action in the agenda, that replaces it by a structure of subactions while changing the blackboard; the rule specifies conditions on the current and new blackboard.

We give operational semantics to AbstrAct through a variant of Fair Transition Systems, and ilustrate the expressiveness and programming style of AbstrAct derived languages through small examples.

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. S. Ahuja, N. Carriero, ID. Gelertner. Linda and Friends. IEEE Computer. August 1986.

    Google Scholar 

  2. JM. Andreoli, R. Pareschi. LO and Behold! Concurrent Structured Processes. Proc. of the OOPSLA'90. ACM Press. 1990.

    Google Scholar 

  3. JM. Andreoli, R. Pareschi. Communication as Fair Distribution of Knowledge. Proc. of the OOPSLA'91. ACM Press. 1991.

    Google Scholar 

  4. JM. Andreoli, R. Pareschi. Dynamic Programming as Multiagent Programming. Presented in the Workshop on Object Based Concurrent Programming (at ECOOP). 1991.

    Google Scholar 

  5. H. Bal, J. Steiner, A. Tanenbaum Programming Languages for Distributed Computing Systems. ACM Computing Surveys, Vol. 21, N. 3, September 1989.

    Google Scholar 

  6. A. Brogi, P. Ciancarini. The Concurrent Language, Shared Prolog. ACM TOPLAS, V. 13, N. 1, January 1991.

    Google Scholar 

  7. L. Brownston, R. Farrell, E. Kant, N. Martin. Programming Expert Systems in OPS5: an Introduction to Rule-Based Progamming. Addison-Wesley, Reading, Mass., 1985.

    Google Scholar 

  8. R. Back, R. Kurki-Suonio. Distributed Cooperation with Action Systems. ACM Trans. on Programming Languages and Systems, Vol. 10, N 4, 1988.

    Google Scholar 

  9. N. Carriero, D. Gelernter. “Linda in Context”. Communications of the ACM, Vol. 32, N. 4, April 1989.

    Google Scholar 

  10. N. Carriero, D. Gelertner. How to Write Parallel Programs: A Guide to the Perplexed. ACM Computing Surveys, Vol. 21, N 3. September 1989.

    Google Scholar 

  11. Comments on “Linda in Context”. Technical Correspondence, Communications of the ACM, Vol. 32, N. 10, October 1989.

    Google Scholar 

  12. K. Chandy, J. Misra. Parallel Program Design. Addison-Wesley, Reading, Massachusetts, 1988.

    Google Scholar 

  13. J.Y. Girard. Linear Logic. Theoretical Computer Science, 50 (1). 1987.

    Google Scholar 

  14. D. Harel, A. Pnueli. On the development of Reactive Systems. Logics and Models of Concurrent Systems, Ed. K. Apt, Springer Verlag, 1985.

    Google Scholar 

  15. C. Hoare. Communicating Sequential Processes. Communications of the ACM, Vol. 21, N. 8, August 1978.

    Google Scholar 

  16. L. Lamport. A Temporal Logic of Actions. Technical Report 57. SRC, 1990.

    Google Scholar 

  17. J. Lloyd. Foundations of Logic Programming (second, extended edition). Symbolic Computation Series. Sringer-Verlag. 1987.

    Google Scholar 

  18. R. Milner. Communication and Concurrency. Prentice-Hall, 1989.

    Google Scholar 

  19. A. Pnueli. Application of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends. In Lecture Notes in Computer Science. Eds. J. de Bakker, W. de Roever, G. Rozenberg. Springer-Verlag. 1986.

    Google Scholar 

  20. A. Porto. Logical Action Systems. Proc. of the Logic Programming Workshop, Albufeira. UNL Portugal, 1983.

    Google Scholar 

  21. A. Porto, P. Rosado. Deductions for Actions RT55/91-DI/UNL. Technical Report. Dep. of Computer Science. Universidade Nova de Lisboa. Portugal. April 1991.

    Google Scholar 

  22. P. Rosado. The AbstrAct Language. Technical Report UNL-DI RT-16/92, Departamento de Informática, Universidade Nova de Lisboa, 1992.

    Google Scholar 

  23. V. Saraswat, D. Weinbaum, K.Kahn, E. Shapiro. Detecting Stable Properties of Networks In Concurrent Logic Programming Languages. Proc. of the ACM Conf. on principles of Distributed Computing, ACM Press. 1988.

    Google Scholar 

  24. E. Shapiro. The Family of Concurrent Logic Programming Languages. ACM Computing Surveys, Vol. 21, N. 3, September 1989.

    Google Scholar 

  25. Object-Oriented Concurrent Programming. Eds. A. Yonezawa, M. Tokoro, The MIT Press, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

E. Lamma P. Mello

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Porto, A., Rosado, P. (1993). The abstract scheme for concurrent programming. In: Lamma, E., Mello, P. (eds) Extensions of Logic Programming. ELP 1992. Lecture Notes in Computer Science, vol 660. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56454-3_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-56454-3_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56454-6

  • Online ISBN: 978-3-540-47562-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics