Building modular communication systems in Ada: The Simple-Com approach

  • JesÚs M. González-Barahona
  • Pedro de-las-Heras-Quirós
  • José Centeno-González
  • Francisco Ballesteros
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1411)


This paper is devoted to study the use, in the Simple_Com system, of several mechanisms provided by the Ada programming language (type extension, dynamic dispatching, encapsulation, generics, etc.). The Simple_Com system is a toolbox for building protocols of different qualities of service (both unicast and multicast). It is flexible, extensible, portable, and provides clean and simple interfaces. Many of its features are possible thanks to the extensive use of those Ada mechanisms.

The Simple_Com system is useful for building distributed applications (using the protocols already provided), or to design and test new protocols (either combining some of the pieces provided, or building new ones).


Code Fragment Type Message Type Extension Multicast Protocol Protocol Stage 
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. [1]
    ö. Babaoglu, R. Davoli, L. Giachini, and M. Baker. Relacs: A communications infrastructure for constructing reliable applications in large-scale distributed systems. Technical Report UBLCS-94-15, Laboratory for Computer Science, University of Bologna, Italy, 1994.Google Scholar
  2. [2]
    Kenneth Birman and Thomas Joseph. Exploiting virtual synchrony in distributed systems. In Proceedings of the 11th ACM Symposium on Operating Systems Principles, November 1987.Google Scholar
  3. [3]
    K.P. Birman and T.A. Joseph. Reliable communication in the presence of failures. ACM Transactions on computer Systems, 5(1):47–76, 1987.CrossRefGoogle Scholar
  4. [4]
    George Coulouris, Jean Dollimore, and Tim Kindberg. Distributed Systems. Concepts and Design. Addison-Wesley, second edition, 1994.Google Scholar
  5. [5]
    D. Dolev and D. Malki. The design of the Transis system. In Daugstuhl Workshop on Unifying Theory and Practice in Distributed Computing, September 1995.Google Scholar
  6. [6]
    P.E. Ezhilchelvan, R.A. Macedo, and S.K. Shrivastava. A fault-tolerant group communication protocol. Technical report, Computer Laboratory, University of Newcastle upon Tyne, Newcastle upon Tyne, United Kingdom, August 1994.Google Scholar
  7. [7]
    XTP Forum. Xpress Transfer Protocol Specification. XTP Rev. 4.0. XTP Forum, March 1995.Google Scholar
  8. [8]
    JesÚs M. González-Barahona. Simple-Com: A Modular Communication Architecture. PhD thesis, E.T.S.I de Telecomunicacion, Universidad Politécnica de Madrid, Madrid, Spain, feb 1998.Google Scholar
  9. [9]
    JesÚs M. González-Barahona, José Centeno González, and Pedro de las Heras Quirós. Overview of the Simple-Com system. In V Jornadas de Concurrencia, Vigo, Spain, June 1997.Google Scholar
  10. [10]
    JesÚs M. González-Barahona, Pedro de las Heras Quirós, and José Centeno González. Lower_Layer: A family of interfaces to transport communication protocols. Ada User Journal, December 1997. Accepted for publication, date could change.Google Scholar
  11. [11]
    Vassos Hadzilacos and Sam Toueg. Fault-tolerant broadcasts and related problems. In Sape Mullender, editor, Distributed Systems, pages 97–145. Addison-Wesley, second edition, 1993.Google Scholar
  12. [12]
    Mark Hayden. Ensemble Reference Manual. Cornell University, 1997.Google Scholar
  13. [13]
    N.C. Hutchinson and L.L. Peterson. The x-k rnel: An architecture for implementing network protocols. IEEE Transactions on Software Engineering, 17, January 1991.Google Scholar
  14. [14]
    J. Miranda, A. álvarez, S. Arévalo, and F. Guerra. Drago: An Ada extension to program fault-tolerant distributed applications. In Ada-Europe '96, 1996.Google Scholar
  15. [15]
    S. Mishra, L.L. Peterson, and R.D. Schlichting. Consul: A communication substrate for fault-tolerant distributed programs. Distributed Systems Engineering Journal, 1(2), December 1993.Google Scholar
  16. [16]
    S. Mishra, L.L. Peterson, and R.D. Schlichting. Experience with modularity in Consul. Software Practice and Experience, 23(10), October 1993.Google Scholar
  17. [17]
    L.E. Moser, P.M. Melliar-Smith, D.A. Agarwal, R.K. Budhia, and C.A. Lingley-Papadopoulos. Totem: A fault-tolerant multicast group communication system. Communications of the ACM, 39(4), April 1996.Google Scholar
  18. [18]
    L.L. Peterson, N.C. Bucholz, and R.D. Schlichting. Preserving and using context information in interprocess communication. ACM Transactions on Computer Systems, 7(3):217–246, 1989.CrossRefGoogle Scholar
  19. [19]
    D.M. Ritchie. A stream input-output system. Bell Laboratories Technical Journal, 63(8):1897–1910, 1984.Google Scholar
  20. [20]
    Robbert van Renesse, Kenneth P. Birman, and Silvano Maffeis. Horus: A flexible group communication system. Communications of the ACM, 39(4):76–83, April 1996.CrossRefGoogle Scholar
  21. [21]
    Brian Whetten, Todd Montgomery, and Simon Kaplan. A high performance totally ordered multicast protocol. In Theory and Practice in Distributed Systems, volume LCNS 938. Springer Verlag, 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • JesÚs M. González-Barahona
    • 1
  • Pedro de-las-Heras-Quirós
    • 1
  • José Centeno-González
    • 1
  • Francisco Ballesteros
    • 1
  1. 1.GSyCUniversidad Carlos III de MadridLeganésSpain

Personalised recommendations