A Factory to Design and Build Tailorable and Verifiable Middleware

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


Heterogeneous non-functional requirements of Distributed Real-Time Embedded (DRE) system put a limit on middleware engineering: the middleware must reflect application requirements, with limited runtime impact. Thus, building an application-tailored middleware is both a requirement and a challenge.

In this paper, we provide an overview of our work on the construction of middleware. We focus on two complementary projects: the definition of middleware that provides strong support for both tailorability and verification of its internals; the definition of a methodology that enables the automatizing of key steps of middleware construction.

We illustrate how our current work on PolyORB, Ocarina and the use of Petri Nets allows designer to build the middleware that precisely matches its application requirements and comes with precise proof of its properties.


Model Check Application Requirement Call Sequence Incoming Request Behavioral Description 
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. [AdSSK03]
    Apvrille, L., de Saqui-Sannes, P., Khendek, F.: TURTLE-P: Un profil UML pour la validation d’architectures distribuees. In: Colloque Francophone sur l’Ingńierie des Protocoles (CFIP), Paris, France, October 2003, Hermes, Paris (2003)Google Scholar
  2. [BHI04]
    Baarir, S., Haddad, S.: Exploiting Partial Symmetries in Well-formed nets for the Reachability and the linear Time Model Checking Problems. In: Proceedings of the 7th Workshop on Discrete Event Systems (WODES’04), Reims, France, Sept. (2004)Google Scholar
  3. [BMR+96]
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, New York (1996)Google Scholar
  4. [BSPN00]
    Bastide, R., Sy, O., Palanque, P., Navarre, D.: Formal specifications of corba services: Experience and lessons learned. In: Proceedings of the ACM Conference on Object-Oriented Programmng, Systems, Languages and Applications (00PSLA’2000), Minneapolis, Minnesota, USA, ACM Press, New York (2000)Google Scholar
  5. [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
  6. [CDFH91]
    Chiola, G., Dutheillet, C., Franceschini, G., Haddad, S.: On Well-Formed Coloured Nets and their Symbolic Reachability Graph. In: High-Level Petri Nets. Theory and Application, LNCS (1991)Google Scholar
  7. [DDH+03]
    Deng, W., Dwyer, M.B., Hatcliff, J., Jung, G., Robby, Singh, G.: Model-checking middleware-based event-driven real-time embedded software. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, Springer, Heidelberg (2003)Google Scholar
  8. [DHTS98]
    Dumant, B., Horn, F., Tran, F.D., Stefani, J-B.: Jonathan: an open distributed processing environment in java. In: Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing, Springer, Heidelberg (1998)Google Scholar
  9. [FLV00]
    Feiler, P.H., Lewis, B., Vestal, S.: Improving predictability in embedded real-time systems. Technical Report CMU/SEI-2000-SR-011, université Carnegie Mellon (December 2000),
  10. [HKP06]
    Hugues, J., Kordon, F., Pautet, L.: A framework for DRE middleware, an application to DDS. In: Proceedings of the 9th IEEE International Symposium on Object-oriented Real-time distributed Computing (ISORC’06), Gyeongju, Korea, April 2006, pp. 224–231. IEEE Computer Society Press, Los Alamitos (2006)Google Scholar
  11. [HR]
    Hamez, A., Renault, X.: PetriScript Reference Manual. LIP6,
  12. [ISO94]
    ISO. Quality management and quality assurance - vocabulary. ISO 8402:1994 (1994)Google Scholar
  13. [Jon94]
    Jonsson, B.: Compositional specification and verification of distributed systems. ACM Transactions on Programming Languages and Systems (TOPLAS) (1994)Google Scholar
  14. [KP04]
    Kaddour, M., Pautet, L.: A middleware for supporting disconnections and multi-network access in mobile environments. In: Proceedings of the Perware workshop at the 2nd Conference on Pervasive Computing (Percom), Orlando, Florida, USA, March (2004)Google Scholar
  15. [KP05]
    Kordon, F., Pautet, L.: Toward next-generation toward next-generation middleware? IEEE Distributed Systems Online 5(1) (2005)Google Scholar
  16. [LAA04]
    LAAS. The RT-LOTOS Project (2004),
  17. [Lew03]
    Lewis, B.: architecture based model driven software and system development for real-time embedded systems (2003), available at
  18. [MPY+04]
    Memon, A., Porter, A., Yilmaz, C., Nagarajan, A., Schmidt, D.C., Natarajan, B.: Skoll: Distributed Continuous Quality Assurance. In: Proceedings of the 26th IEEE/ACM International Conference on Software Engineering (ICSE), Edinburgh, Scotland, May 2004, ACM Press, New York (2004)Google Scholar
  19. [PSCS01]
    Pyarali, I., Spivak, M., Cytron, R., Schmidt, D.C.: Evaluating and Optimizing Thread Pool Strategies for RT-CORBA. In: Proceedings of the ACM SIGPLAN workshop on Languages, compilers and tools for embedded systems, ACM Press, New York (2001)Google Scholar
  20. [RGS95]
    Rajkumar, R., Gagliardi, M., Sha, L.: The Real-Time Publisher/Subscriber Inter-Process Communication Model for Distributed Real-Time Systems: Design and Implementation. In: Proceeding of the 1st IEEE Real-Time Technology and Applications Symposium, Denver, Colorado, USA, May 1995, IEEE Computer Society Press, Los Alamitos (1995)Google Scholar
  21. [RKK06]
    Rugina, A.-E., Kanoun, K., Kaâniche, M.: Aadl-based dependability modelling. Technical Report 06209, LAAS-CNRS (April 2006)Google Scholar
  22. [RSRS99]
    Rumpe, B., Schoenmakers, M., Radermacher, A., Schürr, A.: UML + ROOM as a standard ADL? In: Proc. ICECCS’99 Fifth IEEE International Conference on Engineering of Complex Computer Systems, IEEE Computer Society Press, Los Alamitos (1999)Google Scholar
  23. [SAE04a]
    SAE. Aadl, annex d: Language compliance and application program interface (Sept. 2004), available at
  24. [SAE04b]
    SAE. Architecture Analysis & Design Language (AS5506) (Sept. 2004), available at
  25. [SB03]
    Schmidt, D.C., Buschmann, F.: Patterns frameworks and middleware: Their synergistic relationships. In: Proceedings of the 25th International Conference on Software Engineering (2003)Google Scholar
  26. [SLM98]
    Schmidt, D., Levine, D., Mungee, S.: The design and performance of real-time object request brokers. Computer Communications 21 (1998)Google Scholar
  27. [Sou89]
    Soussy, Y.: Compositions of Nets via a communication medium. In: 10th International Conference on Application and theory of Petri Nets, Bonn, Germany, June (1989)Google Scholar
  28. [TMDM03]
    Thierry-Mieg, Y., Dutheillet, C., Mounier, I.: Automatic symmetry detection in well-formed nets. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 82–101. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  29. [VHPK04]
    Vergnaud, T., Hugues, J., Pautet, L., Kordon, F.: PolyORB: a schizophrenic middleware to build versatile reliable distributed applications. In: Proceedings of the 9th International Conference on Reliable Software Techologies Ada-Europe 2004 (RST’04), Palma de Mallorca, Spain, June (2004)Google Scholar
  30. [VZ06]
    Vergnaud, T., Zalila, B.: Ocarina: a Compiler for the AADL. Technical report, Télécom Paris (2006), available at

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Jérôme Hugues
    • 1
  • Fabrice Kordon
    • 2
  • Laurent Pautet
    • 1
  • Thomas Vergnaud
    • 1
  1. 1.GET-Télécom Paris – LTCI-UMR 5141 CNRS, 46, rue Barrault, F-75634 Paris CEDEX 13France
  2. 2.Université Pierre & Marie Curie, Laboratoire d’Informatique de Paris 6/MoVe 4, place Jussieu, F-75252 Paris CEDEX 05France

Personalised recommendations