Skip to main content

Implementing Protocols with Synchronous Objects

  • Chapter
Dependable Network Computing

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agha, G., Wegner, P. and Yonezawa, A., “Research directions in concurrent object-oriented programming”, The MIT Press, 1993.

    Google Scholar 

  2. Caromel, D., “Toward a Method of Object-oriented Concurrent Programming”, Communications of ACM, Vol. 36, No. 9, pp. 90–116, Sept. 93.

    Google Scholar 

  3. 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.

    Article  MathSciNet  MATH  Google Scholar 

  4. 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.

    Article  Google Scholar 

  5. 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.

    Google Scholar 

  6. Hoare, C.A.R., “Monitors: An Operating System Structuring Concept”, Communications of the ACM, 12(10), October 1974.

    Google Scholar 

  7. Holzmann, G.J., “Design and Validation of Computer Protocols”, Prentice Hall, 1991.

    Google Scholar 

  8. Jackson M.A.: “Principles of Program Design”, Academic Press, 1975.

    Google Scholar 

  9. Manna Z., Pnueli A.: “Temporal Verification of Reactive Systems”, Springer-Verlag, 1995.

    Google Scholar 

  10. Milner, R., “Communication and Concurrency”, Prentice Hall International, 1989.

    Google Scholar 

  11. Orfali, R., Harkey, D., Edwards, J., “The Essential Distributed Objects Survival Guide”, J. Wiley & Sons, Inc., 1996.

    Google Scholar 

  12. Petitpierre, C., “sC++: Programmation pseudo-parallèle orientée objet”, PPUR, Lausanne, 1998.

    MATH  Google Scholar 

  13. Petitpierre, C., “Synchronous C++, A Language for Interactive Applications”, IEEE Computer, September 1998, Vol. 31, No. 9, pp. 65–72.

    Article  Google Scholar 

  14. Rumbaugh, J. et al., “Object-Oriented Modeling and Design”, Prentice Hall International, Englewood Cliffs, NJ, 1991.

    Google Scholar 

  15. West, C.H., “Protocol Validation by Random State Exploration”, in Protocol Specification, Testing and Verification, VI, North-Holland, Amsterdam, 1986, pp. 233–242.

    Google Scholar 

  16. West C.H., “Protocol Validation in Complex Systems”, SIG-COMM′89, Computer Communications Review, Vol. 19, No. 4, September 89, pp. 303–312.

    Google Scholar 

  17. http://ltiwww.epfl.ch/sCxx

    Google Scholar 

  18. http://ltiwww.epfl.ch/sJava

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics