Building modular communication systems in Ada: The Simple-Com approach
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).
KeywordsCode Fragment Type Message Type Extension Multicast Protocol Protocol Stage
Unable to display preview. Download preview PDF.
- ö. 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
- 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
- George Coulouris, Jean Dollimore, and Tim Kindberg. Distributed Systems. Concepts and Design. Addison-Wesley, second edition, 1994.Google Scholar
- 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
- 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
- XTP Forum. Xpress Transfer Protocol Specification. XTP Rev. 4.0. XTP Forum, March 1995.Google Scholar
- 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
- 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
- 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
- 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
- Mark Hayden. Ensemble Reference Manual. Cornell University, 1997.Google Scholar
- 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
- 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
- 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
- S. Mishra, L.L. Peterson, and R.D. Schlichting. Experience with modularity in Consul. Software Practice and Experience, 23(10), October 1993.Google Scholar
- 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
- D.M. Ritchie. A stream input-output system. Bell Laboratories Technical Journal, 63(8):1897–1910, 1984.Google Scholar
- 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