Advertisement

Inheritance of synchronization constraints in concurrent object-oriented programming languages

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

Abstract

We analyse how inheritance of synchronization constraints should be supported. The conclusion of our analysis is that inheritance of synchronization constraints should take the form of incrementally more restrictive constraints for derived subclasses. Our conclusion is based on the view that combinations of behavior in object-oriented languages yield subclasses that extend superclass behavior. We give a notation for describing synchronization constraints. In our notation, synchronization constraints can be inherited and aggregated. We present a number of examples that illustrate the fundamental concepts captured by our notation. Synchronization constraints are described as restrictions that apply to invocation of methods. Application of restrictions is pattern-based, which allows the same restriction to apply to multiple methods and multiple restrictions to apply to the same method.

Keywords

Instance Variable Method Invocation Deadlock Avoidance Synchronization Constraint Synchronization Property 
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. 1.
    P. America and F. van der Linden. A Parallel Object-Oriented Language with Inheritance and Subtyping. In OOPSLA '90 Proceedings, 1990.Google Scholar
  2. 2.
    G. Bracha and W. Cook. Mixin-based Inheritance. In OOPSLA '90 Proceedings, 1990.Google Scholar
  3. 3.
    N. Carriero, D. Gelernter, and J. Leichter. Distributed Data Structures in Linda. In POPL '86 Proceedings, 1986.Google Scholar
  4. 4.
    D. Decouchant, P. Le Dot, M. Rivelli, C. Roisin, and X. Rousset de Pina. A Synchronization Mechanism for an Object Oriented Distributed System. In Eleventh International Conference on Distributed Computing Systems. IEEE, 1991.Google Scholar
  5. 5.
    A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983.Google Scholar
  6. 6.
    J. E. Grass and R. H. Campbell. Mediators: A Synchronization Mechanism. In Sixth International Conference on Distributed Computing Systems. IEEE, 1986.Google Scholar
  7. 7.
    C. Houck. Run-Time Support for Distributed Actor Programs. Master's thesis, University of Illinois at Urbana-Champaign, 1992. Forthcoming.Google Scholar
  8. 8.
    J. L. Knudsen. Name Collision in Multiple Classification Hierarchies. In ECOOP'88 European Conference on Object-Oriented Programming. Springer Verlag, 1988.Google Scholar
  9. 9.
    B. B. Kristensen, O. L. Madsen, B. MØller-Pedersen, and K. Nygaard. The BETA Programming Language. In B. D. Schriver and P. Wegner, editors, Research Directions in Object-Oriented Programming. MIT Press, 1987.Google Scholar
  10. 10.
    B. B. Kristensen, O. L. Madsen, B. MØller-Pedersen, and K. Nygaard. Classification of Actions or Inheritance Also for Methods. In ECOOP'87 European Conference on Object-Oriented Programming. Springer Verlag, 1987.Google Scholar
  11. 11.
    S. Matsuoka, K. Wakita, and A. Yonezawa. Analysis of Inheritance Anomaly in Concurrent Object-Oriented Languages. ECOOP/OOPSLA'90 Workshop on Object-Based Concurrent Systems, August 1990.Google Scholar
  12. 12.
    S. Matsuoka, K. Wakita, and A. Yonezawa. Synchronization Constraints With Inheritance: What is Not Possible — So What is? Technical Report 10, Department of Information Science, the University of Tokyo, 1990.Google Scholar
  13. 13.
    C. Neusius. Synchronizing Actions. In ECOOP'91 European Conference on Object-Oriented Programming. Springer Verlag, 1991.Google Scholar
  14. 14.
    O. Nierstrasz and M. Papathomas. Towards a Type Theory for Active Objects. In D. Tsichritzis, editor, Object Management. University of Geneva, 1990.Google Scholar
  15. 15.
    O. Nierstrasz and M. Papathomas. Viewing Objects as Patterns of Communicating Agents. In OOPSLA '90 Proceedings, 1990.Google Scholar
  16. 16.
    E. Shibayama. Reuse of Concurrent Object Descriptions. In A. Yonezawa and T. Ito, editors, Concurrency: Theory, Language, and Architecture. Springer Verlag, 1991. LNCS 491.Google Scholar
  17. 17.
    A. Silberschatz, J. Peterson, and P. Galvin. Operating Systems Concepts. Addison-Wesley, third edition, 1991.Google Scholar
  18. 18.
    B. Stroustrup. An Overview of C++. Sigplan Notices, October 1986.Google Scholar
  19. 19.
    K. S. Thomsen. Inheritance on Processes, Exemplified on Distributed Termination Detection. International Journal of Parallel Programming, 16(1), February 1987.Google Scholar
  20. 20.
    C. Tomlinson and V. Singh. Inheritance and Synchronization with Enabled-Sets. In OOPSLA '89 Proceedings, 1989.Google Scholar
  21. 21.
    United States Department of Defense. Reference Manual for the Ada Language, draft, revised mil-std 1815 edition, july 1982.Google Scholar
  22. 22.
    J. van den Bos and C. Laffra. PROCOL, a Concurrent Object-Oriented Language with Protocols Delegation and Constraints. Acta Informatica, 28:511–538, 1991.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

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

Personalised recommendations