Skip to main content

Behavioural specification of middleware systems


The number of open specifications of middleware systems and middleware services is increasing. Despite their complexity, they are traditionally described through APIs (the operation signatures) and informal prose (the behaviour). This fact often leads to ambiguities, whilst making difficult a better understanding of what is actually described. In this paper, we adopt software architecture principles for structuring middleware specifications together with LOTOS for formalising their behaviour. The adoption of software architecture principles makes explicit structural aspects of the middleware. Meanwhile, the formalisation enables us to check behavioural properties of the middleware. In order to illustrate our approach, we present a LOTOS specification of the well-known object-oriented middleware CORBA..


  1. [1]

    R. J. Allen. A Formal Approach to Software Architecture. PhD Thesis, School of Computer science, Carnegie Mellon University, 1997.

  2. [2]

    D. Basin, F. Rittinger, L. Viganò. A Formal Analysis of the CORBA Security Service.Lecture Notes in Computer Science, 2272:330–349, 2002.

    Article  Google Scholar 

  3. [3]

    R. Bastide, P. Palanque, O. Sy, D. Navarre. Formal Specification of CORBA Services: Experience and Lessons Learned. InProceedings of OOPSLA, pages 105–117, 2000.

  4. [4]

    R. Bastide, O. Sy, D. Navarre, P. Palanque. A Formal Specification of the CORBA Event Service. InProceedings of FMOODS, pages 371–396, 2000.

  5. [5]

    P. A. Bernstein. Middleware: A Model for Distributed System Services.Communications of the ACM, 39 (2):87–98, 1996.

    Article  Google Scholar 

  6. [6]

    G. Blair, G. Coulson, R. Philippe, M. Papathomas. An Architecture for Next Generation Middleware.Proceedings of Middleware, pages 191–206, 1998.

  7. [7]

    T. Bolognesi, E. Brinksma. Introduction to the ISO Specification Language LOTOS.Computer Networks and ISDN Systems, 14(1): 25–59, 1987.

    Article  Google Scholar 

  8. [8]

    A. T. Campbell, G. Coulson, M. E. Kounavis, M. E.: Managing Complexity: Middleware Explained.IT Professional, 1(5):22–28, 1999.

    Article  Google Scholar 

  9. [9]

    W. Emmerich. Software Engineering and Middleware: A Roadmap.Proceedings of Second International Workshop on Software Engineering and Middleware, pages 119–129, Limerick, Ireland

  10. [10]

    S. F. L. Fernandes, W. J. Silva, M. J. C. Silva, N. S. Rosa, P. R. M. Maciel, D. F. Sadok. On the Generalised Stochastic Petri Net Modelling of Message-Oriented Middleware Systems.Proceedings of the 23rd IEEE International Performance, Computing, and Communications Conference, pages 783–788, 2004.

  11. [11]

    ISO 10476-1: Reference Model of Open Distributed Processing (Part I) — Overview. July (1995)

  12. [12]

    ISO 15437: Enhancements to LOTOS (E-LOTOS) (2001)

  13. [13]

    D. Kreuz. Formal Specification of CORBA Services Using Object-Z.Proceedings of Second IEEE International Conference on Formal Engineering Methods, 1998.

  14. [14]

    V. Matena, M. Hapner. Enterprise JavaBeans. Sun Microsystems (1998)

  15. [15]

    N. Medvidovic, E. Dashofy, R. Taylor. On the Role of Middleware in Architecture based Software Development.International Journal of Software Knowledge Engineering, 13(4):367–393, 2003.

    Article  Google Scholar 

  16. [16]

    N. Medvidovic, R. N Taylor. A Classification and Comparison Framework for Software Architecture Description Languages.IEEE Transactions on Software Engineering, 26(1):70–93, 2000.

    Article  Google Scholar 

  17. [17]

    M. Moriconi, X. Qian, R. A. Riemenschneider. Correct Architecture Refinement.IEEE Transactions on Software Engineering, 21(4): 356–372, 1995.

    Article  Google Scholar 

  18. [18]

    OMG: Common Object Request Broker Architecture — Core Specification (CORBA 3.0) (2002)

  19. [19]

    OMG: CORBAservices: Common Object Services Specification. (1998)

  20. [20]

    F. Plasil, S. Visnovsky. Behavior Protocols for Software Component.IEEE Transacitons on Software Engineering, 28(11): 1056–1076, 2002.

    Article  Google Scholar 

  21. [21]

    W. Rosenberry, D. Kenney, G. Fisher. Understanding DCE. Ed. O’Reilly & Associates, (1993)

  22. [22]

    M. Shaw, D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Ed. Prentice Hall, (1996)

  23. [23]

    F. N. Souza, R. D. Arteiro, N. S. Rosa, P. R. M. Maciel. Using Stochastic Petri Nets for Performance Modelling of Application Servers.Proceedings of the Performance Modelling, Evaluation, and Optimisation of Parallel and Distributed Systems, pages 1–8, 2006.

  24. [24]

    Sun Microsystems Inc. Java Message Service Specification., March (2002)X. B. Young. MyWWWPaperTile. http:/ /www.complete.address, Jan. 1998

  25. [25]

    Sun Microsystems, Inc.: JavaTM Transaction Service Specification. (1999)

  26. [26]

    N. Venkatasubramanian. Safe Composability of Middleware Services.Communications of the ACM, 45(6):49–52, 2002.

    Article  Google Scholar 

  27. [27]

    S. Vinoski. Where is Middleware?.IEEE Internet Computing, 6(2):83–85, 2002.

    Article  Google Scholar 

Download references

Author information



Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and Permissions

About this article

Cite this article

Rosa, N.S., Freire Cunha, P.R. Behavioural specification of middleware systems. J Braz Comp Soc 12, 63–74 (2006).

Download citation

  • Issue Date:

  • DOI:


  • Middleware
  • Software
  • Architecture
  • Formalisation