Inheriting synchronization protocols via sound enrichment rules

  • František Plášil
  • Daniel Mikušík
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1204)


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.


Synchronization Mechanism Path Expression Synchronization Code Enrichable Protocol Springer LNCS 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Ada94]
    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 1994Google Scholar
  2. [Ame87]
    America, P.: Inheritance and Subtyping in a Parallel Object-Oriented Language. In: Proceedings of ECOOP'87, Springer LNCS 276, pp 234–242, 1987Google Scholar
  3. [Ame90]
    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. 1990Google Scholar
  4. [Ame91]
    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, 1991Google Scholar
  5. [Atk90]
    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 1990Google Scholar
  6. [BL91]
    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. [Blo79]
    Bloom, T. Evaluating Synchronization Mechanisms. In Seventh International ACM Symposium on Operating System Principles, pages 24–32, 1979.Google Scholar
  8. [BLR94]
    Balter, R., Lacourte, S., Riveill, M.: The Guide Language, The Computer Journal, vol.37, Dec.94, pp.519–530Google Scholar
  9. [CH74]
    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. [CMH95]
    McHale, C.: Synchronization in Concurrent, Object-oriented Languages: Expressive Power, Genericity and Inheritance, PhD Thesis, ( October 1994Google Scholar
  11. [Fer95]
    Ferenczi, S.: Guarded Methods vs. Inheritance Anomaly. Inheritance Anomaly Solved by nested Guarded Method Calls. ACM SIGPLAN Notices, Vol.30, No.2, Feb. 1995Google Scholar
  12. [Flo95]
    Florijn, G.: Object Protocols as Functional Parsers, ECOOP'95, Springer LNCS 952, pages 351–373, August 1995Google Scholar
  13. [Fro92]
    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. [GC86]
    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 1986Google Scholar
  15. [Hoa74]
    Hoare, C.A.R.: Monitors: An Operating System Structuring Concept. Communications of the ACM, 17(10):pages 549–557, October 1974Google Scholar
  16. [KL89]
    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, 1989Google Scholar
  17. [KL90]
    Kafura, D.G., Lee, K.H.: ACT++: Building a Concurrent C++ with Actors. JOOP May/June 1990, pages 25–37Google Scholar
  18. [KPT96]
    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 1996Google Scholar
  19. [Mes93]
    Meseguer, J.: Solving the Inheritance Anomaly in Concurrent Object-Oriented Programming. Proceedings of ECOOP'93, LNCS, Springer July 1993Google Scholar
  20. [Mey92]
    Meyer, B.: Eiffel: the language, Prantice Hall, 1992Google Scholar
  21. [Mik96]
    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∼kleindie/Google Scholar
  22. [MTY93]
    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 1993Google Scholar
  23. [MWBD92]
    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. July1992Google Scholar
  24. [MWY90]
    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: Scholar
  25. [MY93]
    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, 1993Google Scholar
  26. [Neu91]
    Neusius, Ch.: Synchronizing Actions. In: Proc. ECOOP'91, LNCS 512, 1991, pp. 118–132Google Scholar
  27. [NP90]
    Nierstrasz, O., Papathomas, M.: Viewing Objects as Paterns of Communicating Agents. In: ECOOP/OOPSLA'90 Proceedings, ACM, 1990Google Scholar
  28. [Pap89]
    Papathomas, M.: Concurrency issues in object-oriented languages. In: Tsichritzis, D., editor: Object Oriented Development, Chapter 12, pp 207–245. Université de Genève, 1989Google Scholar
  29. [PG94]
    Plášil, F., Gróf, M.: An Approach to Overcoming the Inheritance Anomaly, SOFSEM '94 conference, Czech Society for Computer Science, 1994Google Scholar
  30. [PG95]
    Plášil, F., Gróf, M.: An Overcoming of Inheritance Anomaly, Département Informatique I.N.T., EVRY, France, TR n∘ 95-05-02Google Scholar
  31. [Riv94]
    Riveill, M.: Synchronizing Shared Objects. Bull-IMAG/Systèmes, 1994 (ftp: Scholar
  32. [Roset89]
    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, 1989Google Scholar
  33. [TS89]
    Tomlinson, Ch., Singh, V.: Inheritance and Synchronization with Enabled Sets. In: OOPSLA'89 Conference on Object-Oriented Programming, pages 103–112. ACM, 1989Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • František Plášil
    • 1
    • 2
  • Daniel Mikušík
    • 1
  1. 1.Faculty of Mathematics and Physics, Department of Software EngineeringCharles UniversityPrague 1Czech Republic
  2. 2.Institute of Computer ScienceCzech Academy of SciencesPragueCzech Republic

Personalised recommendations