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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
G. Agha. Actors: A model of concurrent computation in distributed systems. MIT Press, 1986.
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.
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.
T. Anion. Specification, simulation, and verification of timing behaviour. PhD thesis, University of Washington, 1993.
F. Andre, D. Herman, and J.P. Verjus. Synchronisation of Parallel Programs. North Oxford Academic, Oxford, 1985.
G.R. Andrews and F.B. Schneider. Concepts and notations for concurrent programming. ACM Computing Surveys, 115(1):3–43, March 1983.
E. Arjomandi, W. O’Farrell, and I. Kalas. Concurrency support for C++: an overview. Technical Report CS-93-03, York University, Canada, August 1993.
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.
B.C. Bayerdorffer. Associative Broadcast and the Communication Semantics of Naming in Concurrent Systems. PhD thesis, The University of Texas at Austin, December 1993.
M. Benveniste and V. Issarny. Concurrent programming notations in the object-oriented language Archie. Technical Report 1882, INRIA-Rennes, December 1992.
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.
N. Carriero and D. Gelernter. Linda in context. Communications of the ACM, 32(4):444–458, April 1989.
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.
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.
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.
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.
B.N. Freeman-Benson and A. Borning. Integrating constraints with an object oriented language. In ECOOP, pages 268–286, June 1992.
S. Frolund. Inheritance of synchronisation constraints in concurrent object oriented programming. In ECOOP, pages 185–196, June 1992.
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.
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.
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.
Object Management Group. Object services architecture, August 1992.
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.
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.
K.B. Kenny and K. Lin. Building flexible real-time systems using the Flex language. IEEE Computer, 24(5):70–78, May 1991.
T. Larrabee and C.L. Mitchell. Gambit: a prototyping approach to video game design. IEEE Software, 1(4):28–36, October 1984.
N. Mansfield. X Window System. A user’s guide. Addison Wesley, 1991.
S. Matsuoka and S. Kawai. Using tuple space communication in distributed object-oriented languages. SIGPLAN Notices, 23(11):276–284, 1988.
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.
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.
B. Meyer. Eiffel: The Language. Prentice Hall, Englewood Cliffs, New Jersey, 1992.
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.
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.
A. Reuveni. The Event Based Language and its Multiple Processor Implementations. PhD thesis, Laboratory for Computer Science, Massachusetts Institute of Technology, 1980.
Y-P. Shan. An event driven Model-View-Controller framework for Smalltalk. In OOPSLA, pages 347–352, October 1989.
G. Starovic. Scheduling and communication with events (unpublished internal document), June 1994.
B. Stroustrup. The C++ Programming Language. 2nd edition. Addison-Wesley, 1991.
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.
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.
C. Tomlinson and V. Singh. Inheritance and synchronisation with enabled-sets. In OOPSLA, pages 103–111, October 1989.
N. Wirth. Programming in Modula-2. Springer-Verlag, 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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