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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
S. Ahuja, N. Carriero, ID. Gelertner. Linda and Friends. IEEE Computer. August 1986.
JM. Andreoli, R. Pareschi. LO and Behold! Concurrent Structured Processes. Proc. of the OOPSLA'90. ACM Press. 1990.
JM. Andreoli, R. Pareschi. Communication as Fair Distribution of Knowledge. Proc. of the OOPSLA'91. ACM Press. 1991.
JM. Andreoli, R. Pareschi. Dynamic Programming as Multiagent Programming. Presented in the Workshop on Object Based Concurrent Programming (at ECOOP). 1991.
H. Bal, J. Steiner, A. Tanenbaum Programming Languages for Distributed Computing Systems. ACM Computing Surveys, Vol. 21, N. 3, September 1989.
A. Brogi, P. Ciancarini. The Concurrent Language, Shared Prolog. ACM TOPLAS, V. 13, N. 1, January 1991.
L. Brownston, R. Farrell, E. Kant, N. Martin. Programming Expert Systems in OPS5: an Introduction to Rule-Based Progamming. Addison-Wesley, Reading, Mass., 1985.
R. Back, R. Kurki-Suonio. Distributed Cooperation with Action Systems. ACM Trans. on Programming Languages and Systems, Vol. 10, N 4, 1988.
N. Carriero, D. Gelernter. “Linda in Context”. Communications of the ACM, Vol. 32, N. 4, April 1989.
N. Carriero, D. Gelertner. How to Write Parallel Programs: A Guide to the Perplexed. ACM Computing Surveys, Vol. 21, N 3. September 1989.
Comments on “Linda in Context”. Technical Correspondence, Communications of the ACM, Vol. 32, N. 10, October 1989.
K. Chandy, J. Misra. Parallel Program Design. Addison-Wesley, Reading, Massachusetts, 1988.
J.Y. Girard. Linear Logic. Theoretical Computer Science, 50 (1). 1987.
D. Harel, A. Pnueli. On the development of Reactive Systems. Logics and Models of Concurrent Systems, Ed. K. Apt, Springer Verlag, 1985.
C. Hoare. Communicating Sequential Processes. Communications of the ACM, Vol. 21, N. 8, August 1978.
L. Lamport. A Temporal Logic of Actions. Technical Report 57. SRC, 1990.
J. Lloyd. Foundations of Logic Programming (second, extended edition). Symbolic Computation Series. Sringer-Verlag. 1987.
R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
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.
A. Porto. Logical Action Systems. Proc. of the Logic Programming Workshop, Albufeira. UNL Portugal, 1983.
A. Porto, P. Rosado. Deductions for Actions RT55/91-DI/UNL. Technical Report. Dep. of Computer Science. Universidade Nova de Lisboa. Portugal. April 1991.
P. Rosado. The AbstrAct Language. Technical Report UNL-DI RT-16/92, Departamento de Informática, Universidade Nova de Lisboa, 1992.
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.
E. Shapiro. The Family of Concurrent Logic Programming Languages. ACM Computing Surveys, Vol. 21, N. 3, September 1989.
Object-Oriented Concurrent Programming. Eds. A. Yonezawa, M. Tokoro, The MIT Press, 1987.
Author information
Authors and Affiliations
Editor information
Rights 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