PolyORB: A Schizophrenic Middleware to Build Versatile Reliable Distributed Applications

  • Thomas Vergnaud
  • Jérôme Hugues
  • Laurent Pautet
  • Fabrice Kordon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3063)


The development of real-time distributed applications requires middleware providing both reliability and performance. Middleware must be adaptable to meet application requirements and integrate legacy components. Current middleware provides only partial solutions to these issues. Moreover, they newer address all of them. Thus, a new generation of middleware is required. We have introduced the schizophrenic middleware concept as an integrated solution to build versatile reliable distributed applications. PolyORB, our implementation of schizophrenic middleware, supports various distribution models: CORBA (Common Object Request Broker Architecture), SOAP (Simple Object Access Protocol), DSA (Ada 95 Distributed System Annex), Message Passing (an adaptation of Java Message Service to Ada 95) and Web Server paradigm (close to what AWS offers). In this paper, we describe the implementation of PolyORB and provide a summary of our experience regarding the issues mentioned above.


Distribution Model Message Passing Simple Object Access Protocol Common Object Request Broker Architecture Code Reuse 
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. [Bak01]
    Baker, S.: Middleware to middleware. In: Proceedings of the 3rd International Symposium on Distributed Objects and Applications (DOA 2001) (September 2001)Google Scholar
  2. [BDV+98]
    Breg, F., Diwan, S., Villacis, J., Balasubramanian, J., Akman, E., Gannon, D.: Java/RMI performance and object model interoperability: Experiments with Java/HPC++ distributed components. In: Proceedings of Workshop on Java for High-Performance Network Computing, May 1998, pp. 91–100 (1998)Google Scholar
  3. [Bri01]
    Briot, E.: XML/Ada: a full XML suite (2001)Google Scholar
  4. [Bud03]
    Budden, T.J.: Decision Point: Will Using a COTS Component Help or Hinder Your DO-178B Certification Effort. STSC CrossTalk. The Journal of Defense Software Engineering (November 2003)Google Scholar
  5. [DB98]
    Dobbing, B., Burns, A.: The Ravenscar tasking profile for high integrity real-time programs. In: Proceedings of SigAda 1998, Washington, DC, USA (November 1998)Google Scholar
  6. [DHTS98]
    Dumant, B., Horn, F., Dang Tran, F., Stefani, J.-B.: Jonathan: an open distributed processing environment in java. In: Proceedings of the IFIP International Conference on Distribut ed Systems Platforms and Open Distributed Processing (1998)Google Scholar
  7. [DKM+94]
    Dietzfelbinger, M., Karlin, A., Mehlhorn, K., Meyer, F., Rohnert, H., Tarjan, R.E.: Dynamic perfect hashing: upper and lower bounds. SIAM Journal on Computing 23(4), 738–761 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  8. [GHJV94]
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Massachusetts (1994)Google Scholar
  9. [HPK03]
    Hugues, J., Pautet, L., Kordon, F.: Refining middleware functions for verification purpose. In: Monterey Workshop on Software Engineering for Embedded Systems: From Requirements to Implementation, Chicago, IL, USA (September 2003)Google Scholar
  10. [MGG96]
    Merle, P., Gransart, C., Geib, J.-M.: CORBAWeb: A generic object navigator. Computer Networks and ISDN Systems 28(7-11), 1269–1281 (1996)CrossRefGoogle Scholar
  11. [Mul93]
    Mullender, S.: Distributed Systems. ACM, New York (1993)zbMATHGoogle Scholar
  12. [Obr03]
    Obry, P.: Ada Web Server (AWS) 1.3 (2003)Google Scholar
  13. [OMG01]
    OMG. Ada Language Mapping Specification, v1.2. OMG, OMG Technical Document formal/2001-10-42 (October 2001)Google Scholar
  14. [OMG03]
    OMG. unreliable Multicast InterORB Protocol specification. OMG, OMG Technical Document ptc/03-01-11 (January 2003)Google Scholar
  15. [PQK+01]
    Pautet, L., Quinot, T., Kordon, F., Hugues, J., Vergnaud, T., et al.: Polyorb (2001),
  16. [PT00]
    Pautet, L., Tardieu, S.: GLADE: a Framework for Building Large Object-Oriented Real-Time Distributed Systems. In: Proceedings of the 3rd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2000), Newport Beach, California, USA (June 2000)Google Scholar
  17. [QPK01]
    Quinot, T., Pautet, L., Kordon, F.: Architecture for a reuseable objectoriented polymorphic middleware. In: Proceedings of PDPTA 2001, Las Vegas, USA (June 2001)Google Scholar
  18. [Qui99]
    Quinot, T.: CIAO: Opening the Ada 95 distributed systems annex to CORBA clients. In: Ada France 1999, Brest, France (September 1999)Google Scholar
  19. [SC97]
    Schmidt, D., Cleeland, C.: Applying patterns to develop extensible and maintainable ORB midd leware. Communications of the ACM, CACM 40(12) (1997)Google Scholar
  20. [SSC98]
    Singhai, A., Sane, A., Campbell, R.: Quarterware for Middleware. In: Proceedings of ICDCS 1998, May 1998, IEEE, Los Alamitos (1998)Google Scholar
  21. [SUN99]
    SUN. Java Message Service (JMS) (1999)Google Scholar
  22. [W3C00]
    W3C. Extensible Markup Language (XML) 1.0, W3C recommandation (2000)Google Scholar
  23. [W3C03]
    W3C. Simple Object Access Protocol (SOAP) 1.2: primer. W3C recommandation (June 2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Thomas Vergnaud
    • 1
  • Jérôme Hugues
    • 1
  • Laurent Pautet
    • 1
  • Fabrice Kordon
    • 2
  1. 1.GET-Télécom Paris – LTCI-UMR 5141 CNRSParis CEDEX 13France
  2. 2.Laboratoire d’Informatique de Paris 6/SRCUniversité Pierre & Marie CurieParis CEDEX 05France

Personalised recommendations