Abstract
This paper describes a pragmatic framework for modeling, classifying, customizing, and combining various synchronization schemes for object-oriented concurrent programming (OOCP in short). This is achieved by using a general purpose OOCP generic software architecture/platform, named Actalk, The architecture is based on the notions of components, parameterization and inheritance. In this paper we focus on the activity component of an (active) object in order to express control over acceptance and execution of method invocations. Variations on the parameters (namely virtual methods) of the activity component are used to describe and implement various synchronization schemes. At first, our platform helps in classifying and experimenting with various synchronization schemes. Secondly, it helps in reusing them and building-up on previous expertise in order to derivate enhanced or novel schemes. To illustrate this in the paper, we progressively develop various schemes by successive refinements and combinations, starting from two foundational synchronization schemes (namely enabled sets and guards). Before concluding, we briefly discuss some general architectural issues of generic software platforms by comparing the design of the Actalk architecture to some other similar software platforms.
Preview
Unable to display preview. Download preview PDF.
References
G.R. Andrews and F.B. Schneider, “Concepts and Notations for Concurrent Programming,” ACM Computing Surveys, Vol. 15, No 1, pages 3–43, March 1983.
J. Bézivin, “Some Experiments in Object-Oriented Simulation,” Proc. of OOP-SLA'87, Special Issue of ACM SIGPLAN Notices, Vol. 22, No 12, pages 394–405, December 1987.
T. Bouron, J. Ferber, and F. Samuel, “MAGES: a Multi-Agent Testbed for Heterogeneous Agents,” Decentralized Artificial Intelligence, Vol. II, edited by Y. Demazeau and J.-P. Muller, North-Holland, 1991.
J.-P. Briot, “Actalk: a Testbed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment,” Proc. of ECOOP'89, edited by S. Cook, Cambridge University Press, U.K., pages 109–129, July 1989.
J.-P. Briot, “Object-oriented design of a generic scheduler,” Object-Oriented Computing II (Proc. of JSSST WOOC'93), edited by A. Yonezawa, S. Matsuoka, and W. Kato, Lecture Notes/Software Science, No 6, Kindai-Kagaku-Sha, Japan, pages 73–81, 1994.
J.-P. Briot, “Modélisation et Classification de Langages de Programmation Concurrente à Objets: l'Expérience Actalk,” LITP Research Report 94/59, Institut Blaise Pascal, France, October 1994. (Also in Proc. of Conference “Langages et Modèles à Objets (LMO'94),” INRIA/IMAG/PRC-IA, Grenoble, France, pages 153–165, October 1994.)
J.-P. Briot and R. Guerraoui, “A Classification of Various Approaches for Object-Based Parallel and Distributed Programming,” submitted for publication, December 1995.
E. Casais, “An Incremental Class Reorganization Approach,” Proc. of ECOOP'92, edited by O. Lehrmann Madsen, LNCS, No 615, Springer-Verlag, pages 133–152, June 1992.
M. Fazzolare, B.G. Humm, and R.D. Ranson, “Object-Oriented Extendibility in Hermes/ST, a Transactional Distributed Programming Environment,” Proc. of the ECOOP'93 Workshop on Object-Based Distributed Programming, edited by R. Guerraoui, O. Nierstrasz, and M. Riveill, LNCS, No 791, Springer-Verlag, pages 241–261, 1994.
M. Kang and D.D. Grant, “A Kernel Mechanism for Simulating an Object-Oriented Process Sensitive Software Engineering Environment,” Proc. of TOOLS Pacific'94 (TOOLS 15), ISE — Prentice-Hall, pages 57–67, Fall 1994.
L. Lescaudron, J.-P. Briot, and M. Bouabsa, “Prototyping Programming Environments for Object-Oriented Concurrent Languages: a Smalltalk-Based Experience,” Proc. of TOOLS USA'91, ISE — Prentice-Hall, page 449–462, August 1991.
S. Matsuoka and A. Yonezawa, “Analysis of Inheritance Anomaly in Object-Oriented Concurrent Programming Languages,” Research Directions in Concurrent Object-Oriented Programming, edited by G. Agha, P. Wegner, and A. Yonezawa, Mit-Press, pages 107–150, 1993.
J. McAffer, “Meta-level Programming with CodA,” Proc. of ECOOP'95, edited by W. Olthoff, LNCS, No 952, Springer-Verlag, pages 190–214, August 1995.
C. McHale, S. Baker, B. Walsh, and A. Donnelly, “Synchronization Variables,” Technical Report, TCD-CS-94-01, Dept. of Computer Science, University of Dublin, January 1994.
P. Mulet, J. Malenfant, and P. Cointe, “Towards a Methodology for Explicit Composition of Meta-Objects,” Proc. of OOPSLA'95, Special Issue of ACM SIGPLAN Notices, Vol. 30, No 10, pages 316–330, October 1995.
O. Nierstrasz, “Composing Active Objects,” Research Directions in Concurrent Object-Oriented Programming, edited by G. Agha, P. Wegner, and A. Yonezawa, Mit-Press, pages 151–171, 1993.
Object-Oriented Concurrent Programming, edited by A. Yonezawa and M. Tokoro, Computer Systems Series, MIT-Press, 1987.
P. Robert and J.-P. Verjus, “Towards Autonomous Descriptions of Synchronization Modules,” Proc. of IFIP'77, edited by B. Gilchrist, North-Holland, pages 981–986, August 1977.
L. Thomas, “Inheritance Anomaly in True Concurrent Object Oriented Languages: A Proposal,” in Proc. of IEEE TENCON'94, pages 541–545, August 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Briot, JP. (1996). An experiment in classification and specialization of synchronization schemes. In: Futatsugi, K., Matsuoka, S. (eds) Object Technologies for Advanced Software. ISOTAS 1996. Lecture Notes in Computer Science, vol 1049. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60954-7_53
Download citation
DOI: https://doi.org/10.1007/3-540-60954-7_53
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60954-4
Online ISBN: 978-3-540-49747-9
eBook Packages: Springer Book Archive