Using Model Checking to Detect Deadlocks in Distributed Object Systems

  • Nima Kaveh
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1999)


We demonstrate how the use of synchronization primitives and threading policies in distributed object middleware can lead to dead- locks. We identify that object middleware only has a few built-in syn- chronization and threading primitives. We suggest to express them as stereotypes in UML models to allow designers to model synchronization and threading of distributed object systems at appropriate levels of ab- straction. We define the semantics of these stereotypes by a mapping to a process algebra. This allows us to use model checking techniques that are available for process algebras to detect the presence or absence of deadlocks. We also discuss how the results of these model checks can be related back to the UML diagrams.


Software Architecture Object Middleware Model Checking 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    R. Allen and D. Garlan. A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology, 6(3):213–249, June 1997. 127CrossRefGoogle Scholar
  2. 2.
    S.-C. Cheung and J. Kramer. Checking Safety Properties Using Compositional Reachability Analysis. ACM Transactions on Software Engineering and Methodology, 8(1):49–7, 1999. 126CrossRefGoogle Scholar
  3. 3.
    R. Cleaveland, J. Parrow, and B Steffen. The Concurrency Workbench: A Semantics Based Tool for the Verification of Concurrent Systems. ACM Transactions on Programming Languages and Systems, 15(1):36–72, 1993. 127CrossRefGoogle Scholar
  4. 4.
    E. di Nitto and D. Rosenblum. Exploiting ADLs to Specify Architectural Styles Induced by Middleware Infrastructures. In Proc. of the 21st Int. Conf. on Software Engineering, Los Angeles, California, pages 13–22. ACM Press, 1999. 127Google Scholar
  5. 5.
    W. Emmerich. Engineering Distributed Objects. John Wiley & Sons, Apr. 2000.116, 117Google Scholar
  6. 6.
    W. Emmerich and N. Kaveh. Model Checking Distributed Objects. In B. Balzer and H. Obbink, editors, Proc. of the 4th International Software Architecture Workshop, Limerick, Ireland, 2000. To appear. 116Google Scholar
  7. 7.
    M. Gaspari and G. Zavattaro. A Process Algebraic Specification of the New Asynchronous CORBA Messaging Service. In Proceedings of the 13th European Conference on Object-Oriented Programming, ECOOP’99, volume 1628 of Lecture Notes in Computer Science, pages 495–518. Springer, 1999. 127Google Scholar
  8. 8.
    C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985. 126Google Scholar
  9. 9.
    J. Magee and J. Kramer. Concurrency: Models and Programs-From Finite State Models to Java Programs. John Wiley, 1999. 118, 122, 126Google Scholar
  10. 10.
    R. Milner. Communication and Concurrency. Prentice-Hall, 1995. 126Google Scholar
  11. 11.
    R. Milner. Communicating and Mobile Systems: the π-calculus. Cambridge University Press, 1999. 126Google Scholar
  12. 12.
    C. Nentwich, W. Emmerich, A. Finkelstein, and A. Zisman. Browsing Objects in XML. Research Note RN/99/41, University College London, Dept. of Computer Science, 1999. 126Google Scholar
  13. 13.
    Object Management Group. The Common Object Request Broker: Architecture and Specification Revision 2.0. 492 Old Connecticut Path, Framingham, MA 01701, USA, July 1995. 122Google Scholar
  14. 14.
    Object Management Group. XML Meta Data Interchange (XMI)-Proposal to the OMG OA&DTF RFP 3: Stream-based Model Interchange Format (SMIF). 492 Old Connecticut Path, Framingham, MA 01701, USA, Oct. 1998. 126Google Scholar
  15. 15.
    M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996. 127Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Nima Kaveh
    • 1
  1. 1.Dept. of Computer ScienceUniversity College LondonLondonUK

Personalised recommendations