Skip to main content

Inheriting synchronization protocols via sound enrichment rules

  • Conference paper
  • First Online:
Book cover Modular Programming Languages (JMLC 1997)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1204))

Included in the following conference series:

Abstract

This paper introduces a method for inheriting PROCOL-like synchronization protocols to control access to objects. A synchronization mechanism should allow for incremental changes to the synchronization code through inheritance. To our knowledge, among the few existing synchronization mechanisms supporting such incremental modifications there is none based on the protocol paradigm. We present the novel concept of enrichable protocols which can be incrementally modified via, in principle, context-sensitive enrichment rules. With the intention to reflect the intuitive requirement that the synchronization policy associated with a base class should not be turned “upside-down” in subclasses, we derive the sound enrichment relation concept. To make it practically useful, we provide an algorithm for testing the relation; the algorithm is based on the mapping claim proven in the paper.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Programming Language Ada. Language and Standard Libraries. Draft Version 5.0. IR-MA-1363-4, Ada 9X Mapping/Revision Team, Intermetrics, Inc., 733 Concord Avenue, Cambridge, Massachusetts 02138 (ANSI/ISO DIS 8652 Draft International Standard, June 1994

    Google Scholar 

  2. America, P.: Inheritance and Subtyping in a Parallel Object-Oriented Language. In: Proceedings of ECOOP'87, Springer LNCS 276, pp 234–242, 1987

    Google Scholar 

  3. America, P., van der Linden,F.: A Parallel Object-Oriented Language with Inheritance and Subtyping. In: Proceedings of OOPSLA'90, ACM SIGPLAN Notices, Vol.25, Oct. 1990

    Google Scholar 

  4. America, P.: Designing an Object-Oriented Programming language with Behavioral Subtyping. In: Proceedings of the Workshop on Foundations of Object-Oriented Languages, Springer LNCS 489, pp 60–90, 1991

    Google Scholar 

  5. Atkinson, C.: An Object-Oriented Language for Software Reuse and Distribution. PhD thesis, Department of Computing, Imperial College of Science, Technology and Medicine, University of London, February 1990

    Google Scholar 

  6. van den Bos J., Laffra C.: PROCOL — A concurrent object-oriented language with protocols delegation and constraints, Acta Informatica 28:511–538(1991)

    Google Scholar 

  7. Bloom, T. Evaluating Synchronization Mechanisms. In Seventh International ACM Symposium on Operating System Principles, pages 24–32, 1979.

    Google Scholar 

  8. Balter, R., Lacourte, S., Riveill, M.: The Guide Language, The Computer Journal, vol.37, Dec.94, pp.519–530

    Google Scholar 

  9. Campbell, R.H., Habermann, A.N.: The specification of process synchronization by path expression (Springer LNCS, Vol. 16, 1974, pp. 89–102).

    Google Scholar 

  10. McHale, C.: Synchronization in Concurrent, Object-oriented Languages: Expressive Power, Genericity and Inheritance, PhD Thesis, (http://www.dsg.cs.tcd.ie/) October 1994

    Google Scholar 

  11. Ferenczi, S.: Guarded Methods vs. Inheritance Anomaly. Inheritance Anomaly Solved by nested Guarded Method Calls. ACM SIGPLAN Notices, Vol.30, No.2, Feb. 1995

    Google Scholar 

  12. Florijn, G.: Object Protocols as Functional Parsers, ECOOP'95, Springer LNCS 952, pages 351–373, August 1995

    Google Scholar 

  13. Frolund, S.: Inheritance of synchronization constraints in concurrent object-oriented programming languages. In O. Lehrmann Madsen, editor, Proc. ECOOP'92, pages 185–196. Springer LNCS 615, 1992.

    Google Scholar 

  14. Grass, J.E., Campbell, R.H.: Mediators: A synchronization mechanism. Proceedings of the 6th International Conference on Distributed Systems (ICDCS), Cambridge, pp 468–477, IEEE 1986

    Google Scholar 

  15. Hoare, C.A.R.: Monitors: An Operating System Structuring Concept. Communications of the ACM, 17(10):pages 549–557, October 1974

    Google Scholar 

  16. Kafura, D.G., Lee, K.H.: Inheritance in actor based concurrent object-oriented languages. In: Proceedings of ECOOP'89, pages 131–145. Cambridge University Press, 1989

    Google Scholar 

  17. Kafura, D.G., Lee, K.H.: ACT++: Building a Concurrent C++ with Actors. JOOP May/June 1990, pages 25–37

    Google Scholar 

  18. Kleindienst, J., Plášil, F., Tůma, P.: Lessons Learned from Implementing the CORBA Persistent Object Service, Proceedings of OOPSLA'96, ACM SIGPLAN Notices, pages 150–167, Vol. 31, Number 10, October 1996

    Google Scholar 

  19. Meseguer, J.: Solving the Inheritance Anomaly in Concurrent Object-Oriented Programming. Proceedings of ECOOP'93, LNCS, Springer July 1993

    Google Scholar 

  20. Meyer, B.: Eiffel: the language, Prantice Hall, 1992

    Google Scholar 

  21. Mikušík, D.: Implementing Protocols with Inheritance and Enrichment Rules, TR 96-3, Department of Software Engineering, Faculty of Mathematics and Physics, Charles University, available at http://www.uivt.cas.cz/∼kleindie/

    Google Scholar 

  22. Matsuoka, S., Taura, K., Yonezawa, A.: Highly Efficient and encapsulated Re-use of Synchronization Code in Concurrent Object-Oriented languages. Proceedings of OOPSLA'93, pages 109–126, ACM 1993

    Google Scholar 

  23. McHale, C., Walsh, B., Baker, S., Donnelly, A.: Evaluating Synchronization Mechanisms: The Inheritance Matrix. TR TCD-CS-92-18, Department of CS, Trinity College, Dublin. July1992

    Google Scholar 

  24. Matsuoka, S., Wakita, K., Yonezawa, A.: Synchronization Constrains with Inheritance: What is not possible — so what is? TR 10, Department of Information Science, University of Tokyo, 1990 (ftp: is.s.u-tokyo.ac.jp)

    Google Scholar 

  25. Matsuoka, S., Yonezawa, A.: Analysis of Inheritance Anomaly in Object-Oriented Concurrent Programming Languages. In: Agha, G., Wegner, P., Yonezava, A., editors: Research Directions in Object-Based Concurrency, MIT Press, 1993

    Google Scholar 

  26. Neusius, Ch.: Synchronizing Actions. In: Proc. ECOOP'91, LNCS 512, 1991, pp. 118–132

    Google Scholar 

  27. Nierstrasz, O., Papathomas, M.: Viewing Objects as Paterns of Communicating Agents. In: ECOOP/OOPSLA'90 Proceedings, ACM, 1990

    Google Scholar 

  28. Papathomas, M.: Concurrency issues in object-oriented languages. In: Tsichritzis, D., editor: Object Oriented Development, Chapter 12, pp 207–245. Université de Genève, 1989

    Google Scholar 

  29. Plášil, F., Gróf, M.: An Approach to Overcoming the Inheritance Anomaly, SOFSEM '94 conference, Czech Society for Computer Science, 1994

    Google Scholar 

  30. Plášil, F., Gróf, M.: An Overcoming of Inheritance Anomaly, Département Informatique I.N.T., EVRY, France, TR n∘ 95-05-02

    Google Scholar 

  31. Riveill, M.: Synchronizing Shared Objects. Bull-IMAG/Systèmes, 1994 (ftp: imag.fr)

    Google Scholar 

  32. Tomlinson, Ch., Kim, W., Scheevel, M., Singh, V., Will, B., Agha, G.: Rosette: An Object-oriented Concurrent Systems Architecture. SIGPLAN Notices, Vol.24, No.4, 1989

    Google Scholar 

  33. Tomlinson, Ch., Singh, V.: Inheritance and Synchronization with Enabled Sets. In: OOPSLA'89 Conference on Object-Oriented Programming, pages 103–112. ACM, 1989

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hanspeter Mössenböck

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Plášil, F., Mikušík, D. (1997). Inheriting synchronization protocols via sound enrichment rules. In: Mössenböck, H. (eds) Modular Programming Languages. JMLC 1997. Lecture Notes in Computer Science, vol 1204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62599-2_45

Download citation

  • DOI: https://doi.org/10.1007/3-540-62599-2_45

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62599-5

  • Online ISBN: 978-3-540-68328-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics