Skip to main content

Scheduling predicates

  • Conference paper
  • First Online:
Object-Based Concurrent Computing (ECOOP 1991)

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

Included in the following conference series:

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.

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. The Programming Language Ada Reference Manual. Published in: Lecture Notes in Computer Science, Vol 155, Springer-Verlag, 1983.

    Google Scholar 

  2. Sten Andler. Predicate Path Expressions. In Sixth Annual ACM Symposium on Principles of Programming Languages, pages 226–236, San Antonio, Texas, 1979.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Gregory R. Andrews. Synchronising Resources. ACM Transactions on Programming Languages and Systems, 3(4):405–430, October 1981.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. Toby Bloom. Evaluating Synchronisation Mechanisms. In Seventh International ACM Symposium on Operating System Principles, pages 24–32, 1979.

    Google Scholar 

  7. Per Brinch Hansen. Distributed Processes: A Concurrent Programming Concept. Communications of the ACM, 21(11):934–941, November 1978.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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).

    Google Scholar 

  13. 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.

    Google Scholar 

  14. C.A.R. Hoare. Monitors: An Operating System Structuring Concept. Communications of the ACM, 17(10):549–557, October 1974.

    Google Scholar 

  15. C.A.R. Hoare. Communicating Sequential Processes. Communications of the ACM, 21(8):666–677, August 1978.

    Google Scholar 

  16. Ciaran McHale. Pasm: A Language for Teaching Concurrency. B.A. project report, Department of Computer Science, Trinity College, Dublin 2, Ireland, April 1989.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. David P. Reed and Rajendra K. Kanodia. Synchronisation with Eventcounts and Sequencers. Communications of the ACM, 22(2):115–123, February 1979.

    Google Scholar 

  20. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ciaran McHale .

Editor information

M. Tokoro O. Nierstrasz P. Wegner

Rights and permissions

Reprints 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

Publish with us

Policies and ethics