Using Model Checking to Detect Deadlocks in Distributed Object Systems
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.
KeywordsSoftware Architecture Object Middleware Model Checking
Unable to display preview. Download preview PDF.
- 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.W. Emmerich. Engineering Distributed Objects. John Wiley & Sons, Apr. 2000.116, 117Google Scholar
- 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.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.C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985. 126Google Scholar
- 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.R. Milner. Communication and Concurrency. Prentice-Hall, 1995. 126Google Scholar
- 11.R. Milner. Communicating and Mobile Systems: the π-calculus. Cambridge University Press, 1999. 126Google Scholar
- 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.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.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.M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996. 127Google Scholar