Abstract
In this report, we present a powerful new synchronisation mechanism called scheduling predicates. These predicates—there_are_no, there_exists and for_ all—allow the programmer to schedule the order of execution of operations based on relative arrival times, values of parameters, and built-in synchronisation counters.
Since many synchronisation problems are, in fact, scheduling problems, these facilitate much simpler and clearer solutions to such problems. We also show that this mechanism subsumes and unifies the existing declarative synchronisation mechanisms used in some object-oriented languages, and extends the number of problems for which a purely declarative approach is possible.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
The Programming Language Ada Reference Manual. Published in: Lecture Notes in Computer Science, Vol 155, Springer-Verlag, 1983.
Sten Andler. Predicate Path Expressions. In Sixth Annual ACM Symposium on Principles of Programming Languages, pages 226–236, San Antonio, Texas, 1979.
Françoise André, Daniel Herman, and Jean-Pierre Verjus. Synchronisation of Parallel Programs. Studies in Computer Science. North Oxford Academic, 1985. Original French language edition (Synchronisation de Programmes Parallèles, Dunod) ©BORDAS 1983.
Gregory R. Andrews. Synchronising Resources. ACM Transactions on Programming Languages and Systems, 3(4):405–430, October 1981.
Colin Atkinson. An Object-Oriented Language for Software Reuse and Distribution. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, London SW7 2BZ, February 1990.
Toby Bloom. Evaluating Synchronisation Mechanisms. In Seventh International ACM Symposium on Operating System Principles, pages 24–32, 1979.
Per Brinch Hansen. Distributed Processes: A Concurrent Programming Concept. Communications of the ACM, 21(11):934–941, November 1978.
R. H. Campbell and A. N. Habermann. The Specification Of Process Synchroni-sation by Path Expressions. In Lecture Notes in Computer Science, No. 16, pages 89–102. Springer Verlag, 1973.
Denis Caromel. Concurrency: An Object-Oriented Approach. In Jean Bézivin, Bertrand Meyer, and Jean-Marc Nerson, editors, TOOLS 2 (Technology of Object-Oriented Languages and Systems), pages 183–197. Angkor, 1990.
D. Decouchant, S. Krakowiak, M. Meysembourg, M. Riveill, and X. Rousset de Pina. A Synchronisation Mechanism for Typed Objects in a Distributed System. Presented at the workshop on“Object-Based Concurrent Programming”, OOPSLA '88, San Diego, September 1988. Abstract in ACM Sigplan Notices, 24(4):105–107, April 1989.
D. Decouchant, P. le Dot, and M. Riveill. A Synchronisation Mechanism for an Object Oriented Distributed System. Bull-IMAG, Z. I. de Mayencin — 2, rue Vignate, 38610 Gières — France, February 1990.
Stefano Genolini, Andrea Di Maio, Cinzia Cardigno, Stephen Goldsack, and Colin Atkinson. Specifying Synchronisation Constraints in a Concurrent Object-Oriented Language. In Technology of O-O Languages and Systems (TOOLS '89).
J. E. Grass and R. H. Campbell. Mediators: A Synchronisation Mechanism. In Proceedings of the Conference on Distributed Computer Systems, pages 468–477. IEEE, September 1986.
C.A.R. Hoare. Monitors: An Operating System Structuring Concept. Communications of the ACM, 17(10):549–557, October 1974.
C.A.R. Hoare. Communicating Sequential Processes. Communications of the ACM, 21(8):666–677, August 1978.
Ciaran McHale. Pasm: A Language for Teaching Concurrency. B.A. project report, Department of Computer Science, Trinity College, Dublin 2, Ireland, April 1989.
Christian Neusius. Synchronising Actions. In Pierre America, editor, ECOOP '91, pages 118–132, Geneva, Switzerland, July 1991. Springer-Verlag. Available as Volume 512 of Lecture Notes in Computer Science.
O. M. Nierstrasz. Active Objects in Hybrid. In Norman Meyrowitz, editor, 00P-SLA '87 Proceedings. ACM. Special issue of ACM SIGPLAN Notices, 22(12):243–253.
David P. Reed and Rajendra K. Kanodia. Synchronisation with Eventcounts and Sequencers. Communications of the ACM, 22(2):115–123, February 1979.
Steven Ericsson Zenith. Linda coordination language: subsystem kernel architecture (on transputers). Research Report YALEU/DCS/RR-794, Yale University, Departmemt of Computer Science, New Haven, Connecticut. USA., 29 May 1990.
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
McHale, C., Walsh, B., Baker, S., Donnelly, A. (1992). Scheduling predicates. In: Tokoro, M., Nierstrasz, O., Wegner, P. (eds) Object-Based Concurrent Computing. ECOOP 1991. Lecture Notes in Computer Science, vol 612. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55613-3_9
Download citation
DOI: https://doi.org/10.1007/3-540-55613-3_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55613-8
Online ISBN: 978-3-540-47260-5
eBook Packages: Springer Book Archive