Skip to main content

An Event Based Object Model for Distributed Programming

  • Conference paper
OOIS’ 95

Abstract

This paper describes the rationale and design of a new distributed systems programming model based on events, constraints, and objects1. The paper describes the inter-object communication or invocation mechanism, and the way in which concurrency, synchronisation, and timing properties are expressed and controlled. The invocation mechanism is unusual in that it is event-based. It encourages loose coupling among the objects and a high degree of encapsulation for each object. Concurrency, synchronisation, and timing properties are expressed in a uniform way using constraints which may be associated with objects and events.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Agha. Actors: A model of concurrent computation in distributed systems. MIT Press, 1986.

    Google Scholar 

  2. G. Agha and C.J. Callsen. Actorspaces: A model for scalable heterogenous computing. Technical Report UIUCDCS-R-92-1766 and UILU-ENG-92-1746, Department of Computer Science, University of Illinois at Urbana-Champaign, November 1992.

    Google Scholar 

  3. M. Aksit, J. Bosch, W. van der Sterren, and L. Bergmans. Real-time specification inheritance anomalies and real-time filters. In ECOOP, pages 386–407, July 1994.

    Google Scholar 

  4. T. Anion. Specification, simulation, and verification of timing behaviour. PhD thesis, University of Washington, 1993.

    Google Scholar 

  5. F. Andre, D. Herman, and J.P. Verjus. Synchronisation of Parallel Programs. North Oxford Academic, Oxford, 1985.

    Google Scholar 

  6. G.R. Andrews and F.B. Schneider. Concepts and notations for concurrent programming. ACM Computing Surveys, 115(1):3–43, March 1983.

    Article  Google Scholar 

  7. E. Arjomandi, W. O’Farrell, and I. Kalas. Concurrency support for C++: an overview. Technical Report CS-93-03, York University, Canada, August 1993.

    Google Scholar 

  8. J-P. Banatre, M. Banatre, and F. Ployette. The concept of Multi-function: a general structuring tool for distributed operating system. In Proc. of the 6th IEEE Distributed Computing Conference, pages 478–485, 1986.

    Google Scholar 

  9. B.C. Bayerdorffer. Associative Broadcast and the Communication Semantics of Naming in Concurrent Systems. PhD thesis, The University of Texas at Austin, December 1993.

    Google Scholar 

  10. M. Benveniste and V. Issarny. Concurrent programming notations in the object-oriented language Archie. Technical Report 1882, INRIA-Rennes, December 1992.

    Google Scholar 

  11. V. Cahill, A. Condon, D. Kelly, S. McGerty, K. O’Connell, G. Starovic, and B. Tangney. Moonlight: VOID shell specification. Deliverable 1.5.1., March 1995.

    Google Scholar 

  12. N. Carriero and D. Gelernter. Linda in context. Communications of the ACM, 32(4):444–458, April 1989.

    Article  Google Scholar 

  13. S. Chakravarthy and D. Mishra. Snoop: an expressive event specification language for active databases. Technical Report UF-CIS-TR-93-007, University of Florida, Computer and Information Sciences, March 1993.

    Google Scholar 

  14. B. Dascarathy. Timing constraints of real-time systems: constructs for expressing them, methods of validating them. IEEE Transactions on Software Engineering, SE-11(1):80–86, January 1985.

    Article  Google Scholar 

  15. D. Decouchant, S. Krakowiak, M. Meysembourg, M. Riveill, and X.R. de Pina. A synchronisation mechanism for typed objects in a distributed system. In OOPSLA, pages 105–107, 1988.

    Google Scholar 

  16. M. Donner, D. Jameson, and W. Moran. Events: a structuring mechanism for a realtime runtime system. In Proc. of the Real-Time Systems Symposium, pages 22–30, December 1989.

    Google Scholar 

  17. B.N. Freeman-Benson and A. Borning. Integrating constraints with an object oriented language. In ECOOP, pages 268–286, June 1992.

    Google Scholar 

  18. S. Frolund. Inheritance of synchronisation constraints in concurrent object oriented programming. In ECOOP, pages 185–196, June 1992.

    Google Scholar 

  19. D. Garlan and D. Notkin. Formalising design spaces: implicit invocation mechanism. In Lecture Notes in Computer Science 551: VDM Formal Software Development Methods, pages 31–44, 1991.

    Google Scholar 

  20. N.H. Gehani, H.V. Jagadish, and O. Shmueli. Event specification in an active object-oriented database. In Proc. of the ACM SIGMOD International Conference on Management of Data, pages 81–90, San Diego, California, June 1992.

    Google Scholar 

  21. R. Gerber and S. Hong. Semantics-based compiler transformations for enhanced schedulability. In Proceedings of IEEE Real-Time Systems Symposium, pages 232–242. IEEE Computer Society Press, December 1993.

    Google Scholar 

  22. Object Management Group. Object services architecture, August 1992.

    Google Scholar 

  23. Y. Ishikawa, H. Tokuda, and C.W. Mercer. Object-oriented real-time language design: constructs for timing constraints. In ECOOP/OOPSLA, pages 289–298, October 1990.

    Google Scholar 

  24. F. Jahanian, R. Rajkumar, and S. Raju. Runtime monitoring of timing constraints in distributed real-time systems. Technical Report CSE-TR 212-94, University of Michigan, April 1994.

    Google Scholar 

  25. K.B. Kenny and K. Lin. Building flexible real-time systems using the Flex language. IEEE Computer, 24(5):70–78, May 1991.

    Google Scholar 

  26. T. Larrabee and C.L. Mitchell. Gambit: a prototyping approach to video game design. IEEE Software, 1(4):28–36, October 1984.

    Article  Google Scholar 

  27. N. Mansfield. X Window System. A user’s guide. Addison Wesley, 1991.

    Google Scholar 

  28. S. Matsuoka and S. Kawai. Using tuple space communication in distributed object-oriented languages. SIGPLAN Notices, 23(11):276–284, 1988.

    Article  Google Scholar 

  29. S. Matsuoka and K. Wakita. Synchronisation constraints with inheritance: what is not possible — so what is? Technical Report 90-010, Department of Information Science, The University of Tokyo, 1990.

    Google Scholar 

  30. S. Menon, P. Dasgupta, and R.J. LeBlanc. Asynchronous event handling in distributed object-based systems. In Proc. the 13th Conference on Distributed Computing Systems, pages 383–390, Pittsburgh, Pennsylvania, May 1993.

    Google Scholar 

  31. B. Meyer. Eiffel: The Language. Prentice Hall, Englewood Cliffs, New Jersey, 1992.

    MATH  Google Scholar 

  32. Karl O’Connell, Vinny Cahill, Andrew Condon, Stephen McGerty, Gradimir Starovic, and Brendan Tangney. The VOID shell: A toolkit for the development of distributed video games and virtual worlds. In To appear in the Proceedings of the Workshop on Simulation and Interaction in Virtual Environments, 1995.

    Google Scholar 

  33. B. Oki, M. Pfluegl, A. Siegel, and D. Skeen. The Information Bus — an architecture for extensible distributed systems. In ACM Symposium on Principles of Operating Systems, pages 58–68, 1993.

    Google Scholar 

  34. A. Reuveni. The Event Based Language and its Multiple Processor Implementations. PhD thesis, Laboratory for Computer Science, Massachusetts Institute of Technology, 1980.

    Google Scholar 

  35. Y-P. Shan. An event driven Model-View-Controller framework for Smalltalk. In OOPSLA, pages 347–352, October 1989.

    Google Scholar 

  36. G. Starovic. Scheduling and communication with events (unpublished internal document), June 1994.

    Google Scholar 

  37. B. Stroustrup. The C++ Programming Language. 2nd edition. Addison-Wesley, 1991.

    Google Scholar 

  38. K.J. Sullivan and D. Notkin. Reconciling environment integration and software evolution. ACM Transactions on Software Engineering and Methodology, 1(3):229–268, July 1992.

    Article  Google Scholar 

  39. Brendan Tangney, Andrew Condon, Vinny Cahill, and Neville Harris. Requirements for parallel programming in object-oriented distributed systems. The Computer Journal, 37(6), August 1994. Also technical report TCD-CS-94-03, Dept. of Computer Science, Trinity College Dublin.

    Google Scholar 

  40. C. Tomlinson and V. Singh. Inheritance and synchronisation with enabled-sets. In OOPSLA, pages 103–111, October 1989.

    Google Scholar 

  41. N. Wirth. Programming in Modula-2. Springer-Verlag, 1982.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag London Limited

About this paper

Cite this paper

Starovic, G., Cahill, V., Tangney, B. (1996). An Event Based Object Model for Distributed Programming. In: Murphy, J., Stone, B. (eds) OOIS’ 95. Springer, London. https://doi.org/10.1007/978-1-4471-1009-5_7

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-1009-5_7

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-76010-8

  • Online ISBN: 978-1-4471-1009-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics