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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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
America, P.: Inheritance and Subtyping in a Parallel Object-Oriented Language. In: Proceedings of ECOOP'87, Springer LNCS 276, pp 234–242, 1987
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
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
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
van den Bos J., Laffra C.: PROCOL — A concurrent object-oriented language with protocols delegation and constraints, Acta Informatica 28:511–538(1991)
Bloom, T. Evaluating Synchronization Mechanisms. In Seventh International ACM Symposium on Operating System Principles, pages 24–32, 1979.
Balter, R., Lacourte, S., Riveill, M.: The Guide Language, The Computer Journal, vol.37, Dec.94, pp.519–530
Campbell, R.H., Habermann, A.N.: The specification of process synchronization by path expression (Springer LNCS, Vol. 16, 1974, pp. 89–102).
McHale, C.: Synchronization in Concurrent, Object-oriented Languages: Expressive Power, Genericity and Inheritance, PhD Thesis, (http://www.dsg.cs.tcd.ie/) October 1994
Ferenczi, S.: Guarded Methods vs. Inheritance Anomaly. Inheritance Anomaly Solved by nested Guarded Method Calls. ACM SIGPLAN Notices, Vol.30, No.2, Feb. 1995
Florijn, G.: Object Protocols as Functional Parsers, ECOOP'95, Springer LNCS 952, pages 351–373, August 1995
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.
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
Hoare, C.A.R.: Monitors: An Operating System Structuring Concept. Communications of the ACM, 17(10):pages 549–557, October 1974
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
Kafura, D.G., Lee, K.H.: ACT++: Building a Concurrent C++ with Actors. JOOP May/June 1990, pages 25–37
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
Meseguer, J.: Solving the Inheritance Anomaly in Concurrent Object-Oriented Programming. Proceedings of ECOOP'93, LNCS, Springer July 1993
Meyer, B.: Eiffel: the language, Prantice Hall, 1992
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/
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
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
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)
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
Neusius, Ch.: Synchronizing Actions. In: Proc. ECOOP'91, LNCS 512, 1991, pp. 118–132
Nierstrasz, O., Papathomas, M.: Viewing Objects as Paterns of Communicating Agents. In: ECOOP/OOPSLA'90 Proceedings, ACM, 1990
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
Plášil, F., Gróf, M.: An Approach to Overcoming the Inheritance Anomaly, SOFSEM '94 conference, Czech Society for Computer Science, 1994
Plášil, F., Gróf, M.: An Overcoming of Inheritance Anomaly, Département Informatique I.N.T., EVRY, France, TR n∘ 95-05-02
Riveill, M.: Synchronizing Shared Objects. Bull-IMAG/Systèmes, 1994 (ftp: imag.fr)
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
Tomlinson, Ch., Singh, V.: Inheritance and Synchronization with Enabled Sets. In: OOPSLA'89 Conference on Object-Oriented Programming, pages 103–112. ACM, 1989
Author information
Authors and Affiliations
Editor information
Rights 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