Abstract
We have developed language support for the expression of multi-object coordination. In our language, coordination patterns can be specified abstractly, independent of the protocols needed to implement them. Coordination patterns are expressed in the form of constraints that restrict invocation of a group of objects. Constraints are defined in terms of the interface of the objects being invoked rather than their internal representation. Invocation constraints enforce properties, such as temporal ordering and atomicity, that hold when invoking objects in a group. A constraint can permanently control access to a group of objects, thereby expressing an inherent access restriction associated with the group. Furthermore, a constraint can temporarily enforce access restrictions during the activity of individual clients. In that way, constraints can express specialized access schemes required by a group of clients.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
M. Aksit and L. Bergmans. Obstacles in Object-Oriented Software Development. In Proceedings OOPSLA 92. ACM, October 1992.
G. Agha and C.J. Callsen. ActorSpace: An Open Distributed Programming Paradigm. In 1993 ACM Conference on Principles and Practice of Parallel Programming (PPOPP), 1993. (To be published).
G. Agha, S. Frølund, R. Panwar, and D. Sturman. A Linguistic Framework for Dynamic Composition of Dependability Protocols. In Dependable Computing for Critical Applications III. International Federation of Information Processing Societies (IFIP), Elsevier Science Publisher, 1993. (To be published).
G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.
C. Atkinson, S. Goldsack, A. D. Maio, and R. Bayan. Object-Oriented Concurrency and Distribution in DRAGOON. Journal of Object-Oriented Programming, March/April 1991.
C. Arapis. Specifying Object Interactions. In D. Tsichritzis, editor, Object Composition. University of Geneva, 1991.
K. P. Birman and T. A. Joseph. Communication Support for Reliable Distributed Computing. In Fault-tolerant Distributed Computing. Springer-Verlag, 1987. LNCS.
R. H. Campbell and N. Islam. A Technique for Documenting the Framework of an Object-Oriented System. In Proceedings of the Second International Workshop on Object Orientation in Operating Systems, September 1992.
D. L. Detlefs, M. P. Herlihy, and J. M. Wing. Inheritance of Synchronization and Recovery Properties in Avalon/C++. IEEE Computer, 21(12):57–69, December 1988.
Bjorn N. Freeman-Benson and Alan Borning. Integrating Constraints with an Object-Oriented Language. In O. Lehrmann Madsen, editor, Proceedings ECOOP’ 92, LNCS 615, pages 268–286, Utrecht, The Netherlands, July 1992. Springer-Verlag.
Svend Frølund. Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming Languages. In O. Lehrmann Madsen, editor, Proceedings ECOOP’ 92, LNCS 615, pages 185–196, Utrecht, The Netherlands, July 1992. Springer-Verlag.
Rachid Guerraoui, Riccardo Capobianchi, Agnes Lanusse, and Pierre Roux. Nesting Actions through Asynchronous Message Passing: the ACS Protocol. In O. Lehrmann Madsen, editor, Proceedings ECOOP’ 92, LNCS 615, pages 170–184, Utrecht, The Netherlands, July 1992. Springer-Verlag.
Richard Helm, Ian M. Holland, and Dipayan Gangopadhyay. Contracts: Specifying Behavioral Compositions in Object-Oriented Systems. In Proceedings OOPSLA/ECOOP’ 90, pages 169–180, October 1990. Published as ACM SIGPLAN Notices, volume 25, number 10.
Ian M. Holland. Specifying Reusable Components Using Contracts. In O. Lehrmann Madsen, editor, Proceedings ECOOP’ 92, LNCS 615, pages 287–308, Utrecht, The Netherlands, July 1992. Springer-Verlag.
G. E. Kaiser, W. Hseush, S. S. Popovich, and S. F. Wu. Multiple Concurrency Control Policies in an Object-Oriented Programming System. In Proceedings of the Second Symposium on Parallel and Distributed Processing, Dallas Texas. IEEE, December 1990.
Barbara Liskov and Robert Scheifler. Guardians and Actions: Linguistic Support for Robust, Distributed Programs. In Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, pages 7–19, Albuquerque, New Mexico, January 1982. ACM.
[LVB+92]_D. C. Luckham, J. Vera, D. Bryan, L. Augustin, and F. Belz. Partial Orderings of Event Sets and Their Application to Prototyping Concurrent Timed Systems. In Proceedings of the 1992 DARPA Software Technology Conference, April 1992.
S. Mishra, L. L. Peterson, and R. D. Schlichting. Consul: A Communication Substrate for Fault-Tolerant Distributed Programs. Technical report, University of Arizona, Tucson, 1991.
C. McHale, B. Walsh, S. Baker, and A. Donnelly. Scheduling Predicates. In M. Tokoro, O. Nierstrasz, and P. Wegner, editors, Object-Based Concurrent Computing, pages 177–193. Springer-Verlag, July 1991. LNCS 612.
Christian Neusius. Synchronizing Actions. In P. America, editor, Proceedings ECOOP’ 91, LNCS 512, pages 128–132, Geneva, Switzerland, July 1991. Springer-Veriag.
Oscar Nierstrasz. Active Objects in Hybrid. In Proceedings OOPSLA’ 87, pages 243–253, December 1987. Published as ACM SIGPLAN Notices, volume 22, number 12.
M. H. Olsen, E. Oskiewicz, and J. P. Warne. A Model for Interface Groups. In Tenth Symposium on Reliable Distributed Systems, Pisa, Italy, 1991. IEEE.
Stefano Crespi Reghizzi, Guido Galli de Paratesi, and Stefano Genolini. Definition of Reusable Concurrent Software Components. In P. America, editor, Proceedings ECOOP’ 91, LNCS 512, pages 148–166, Geneva, Switzerland, July 1991. Springer-Verlag.
Chris Tomlinson and Vineet Singh. Inheritance and Synchronization with Enabled Sets. In Proceedings OOPSLA’ 89, pages 103–112, October 1989. Published as ACM SIGPLAN Notices, volume 24, number 10.
J. van den Bos and C. Laffra. PROCOL, a Concurrent Object-Oriented Language with Protocols Delegation and Constraints. Acta Informatica, 28:511–538, 1991.
C. T. Wilkes and R. J. LeBlanc. Distributed Locking: A Mechanism for Constructing Highly Available Objects. In Seventh Symposium on Reliable Distributed Systems, Ohio State University, Columbus, Ohio, 1988. IEEE.
K. Wakita and A. Yonezawa. Linguistic Supports for Development of Distributed Organizational Information Systems in Object-Oriented Concurrent Computation Frameworks. In Proceedings of the First Conference on Organizational Computing Systems, Atlanta Georgia. ACM, September 1991.
Y. Yokote, A. Mitsuzawa, N. Fujinami, and M. Tokoro. Reflective Object Management in the Muse Operating System. In Proceedings of the 1991 International Workshop on Object Orientation in Operating Systems, Palo Alto, California, October 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Frølund, S., Agha, G. (1993). A Language Framework for Multi-Object Coordination. In: Nierstrasz, O.M. (eds) ECOOP’ 93 — Object-Oriented Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 707. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47910-4_18
Download citation
DOI: https://doi.org/10.1007/3-540-47910-4_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57120-9
Online ISBN: 978-3-540-47910-9
eBook Packages: Springer Book Archive