Abstract
This paper presents a systematic method for the implementation of distributed applications. Our approach contrasts the methods used in the software developments of current interactive applications, which are usually built as a set of independent functions, one of which is called by the operating system each time an event is generated by the environment (network, graphical display, mouse). The latter approach leads to the partitioning of a program into many small unrelated parts, which hinders the development, debugging and portability capabilities. The method presented in this paper avoids this drawback by the use of a concept of synchronous active objects. After a presentation of this concept, the paper gives several examples that provide precise directives to write sound concurrent/distributed applications. It also provides clues on how this approach can fill the gap between the program developments and the theories aimed at the analysis of concurrent/distributed applications. Support in the form of libraries (for C++ and Java) and a specific compiler (sC++) are freely available.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Agha, G., Wegner, P. and Yonezawa, A., “Research directions in concurrent object-oriented programming”, The MIT Press, 1993.
Caromel, D., “Toward a Method of Object-oriented Concurrent Programming”, Communications of ACM, Vol. 36, No. 9, pp. 90–116, Sept. 93.
Chandra, T.D. and Toueg, S., “Unreliable Failure Detectors for Reliable Distributed Systems”, Journal of the ACM, Vol. 43, No. 2, March 1996, pp. 225–267.
Cleaveland, R., Parrow, J., Steffen, B., “The Concurrency Workbench: A semantics-Based Tool for the Verification of Concurrent Systems”, ACM Toplas, Vol. 5, No. 1, January 1993, pp. 36–72.
Dijkstra, E.W., “Hierarchical Ordering of Sequential Processes”, in Operating Systems Techniques, Hoare, C.A.R. and Perrot, R.H., Eds., Academic Press, New York, 1972.
Hoare, C.A.R., “Monitors: An Operating System Structuring Concept”, Communications of the ACM, 12(10), October 1974.
Holzmann, G.J., “Design and Validation of Computer Protocols”, Prentice Hall, 1991.
Jackson M.A.: “Principles of Program Design”, Academic Press, 1975.
Manna Z., Pnueli A.: “Temporal Verification of Reactive Systems”, Springer-Verlag, 1995.
Milner, R., “Communication and Concurrency”, Prentice Hall International, 1989.
Orfali, R., Harkey, D., Edwards, J., “The Essential Distributed Objects Survival Guide”, J. Wiley & Sons, Inc., 1996.
Petitpierre, C., “sC++: Programmation pseudo-parallèle orientée objet”, PPUR, Lausanne, 1998.
Petitpierre, C., “Synchronous C++, A Language for Interactive Applications”, IEEE Computer, September 1998, Vol. 31, No. 9, pp. 65–72.
Rumbaugh, J. et al., “Object-Oriented Modeling and Design”, Prentice Hall International, Englewood Cliffs, NJ, 1991.
West, C.H., “Protocol Validation by Random State Exploration”, in Protocol Specification, Testing and Verification, VI, North-Holland, Amsterdam, 1986, pp. 233–242.
West C.H., “Protocol Validation in Complex Systems”, SIG-COMM′89, Computer Communications Review, Vol. 19, No. 4, September 89, pp. 303–312.
http://ltiwww.epfl.ch/sCxx
http://ltiwww.epfl.ch/sJava
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer Science+Business Media New York
About this chapter
Cite this chapter
Petitpierre, C., Zea, A.J.R. (2000). Implementing Protocols with Synchronous Objects. In: Avresky, D.R. (eds) Dependable Network Computing. The Springer International Series in Engineering and Computer Science, vol 538. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-4549-1_6
Download citation
DOI: https://doi.org/10.1007/978-1-4615-4549-1_6
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-7053-6
Online ISBN: 978-1-4615-4549-1
eBook Packages: Springer Book Archive