Advertisement

A Language Framework for Multi-Object Coordination

  • Svend Frølund
  • Gul Agha
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 707)

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.

Keywords

Coordination Pattern Coordination Scheme Consistency Constraint Synchronous Communication Atomicity Constraint 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AB92]
    M. Aksit and L. Bergmans. Obstacles in Object-Oriented Software Development. In Proceedings OOPSLA 92. ACM, October 1992.Google Scholar
  2. [AC93]
    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).Google Scholar
  3. [AFPS93]
    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).Google Scholar
  4. [Agh86]
    G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.Google Scholar
  5. [AGMB91]
    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.Google Scholar
  6. [Ara91]
    C. Arapis. Specifying Object Interactions. In D. Tsichritzis, editor, Object Composition. University of Geneva, 1991.Google Scholar
  7. [BJ87]
    K. P. Birman and T. A. Joseph. Communication Support for Reliable Distributed Computing. In Fault-tolerant Distributed Computing. Springer-Verlag, 1987. LNCS.Google Scholar
  8. [CI92]
    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.Google Scholar
  9. [DHW88]
    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.Google Scholar
  10. [FBB92]
    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.Google Scholar
  11. [Frø92]
    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.Google Scholar
  12. [GCLR92]
    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.Google Scholar
  13. [HHG90]
    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.CrossRefGoogle Scholar
  14. [Hol92]
    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.Google Scholar
  15. [KHPW90]
    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.Google Scholar
  16. [LS82]
    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.Google Scholar
  17. [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.Google Scholar
  18. [MPS91]
    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.Google Scholar
  19. [MWBD91]
    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.Google Scholar
  20. [Neu91]
    Christian Neusius. Synchronizing Actions. In P. America, editor, Proceedings ECOOP’ 91, LNCS 512, pages 128–132, Geneva, Switzerland, July 1991. Springer-Veriag.Google Scholar
  21. [Nie87]
    Oscar Nierstrasz. Active Objects in Hybrid. In Proceedings OOPSLA’ 87, pages 243–253, December 1987. Published as ACM SIGPLAN Notices, volume 22, number 12.CrossRefGoogle Scholar
  22. [OOW91]
    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.Google Scholar
  23. [RdPG91]
    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.Google Scholar
  24. [TS89]
    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.CrossRefGoogle Scholar
  25. [vdBL91]
    J. van den Bos and C. Laffra. PROCOL, a Concurrent Object-Oriented Language with Protocols Delegation and Constraints. Acta Informatica, 28:511–538, 1991.zbMATHCrossRefGoogle Scholar
  26. [WL88]
    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.Google Scholar
  27. [WY91]
    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.Google Scholar
  28. [YMFT91]
    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.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Svend Frølund
    • 1
  • Gul Agha
    • 1
  1. 1.Department of Computer ScienceUniversity of Illinois at Urbana-ChampaignUrbanaUSA

Personalised recommendations