Abstract:
| We demonstrate how the use of synchronization primitives and thread-ing policies in distributed object middleware can lead to deadlocks. We identify that object middleware only has a few built-in synchronization and threading prim-itives. We suggest to express them as stereotypes in UML models to allow de-signers to model synchronization and threading of distributed object systems at appropriate levels of abstraction. 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 dead-locks. We also discuss how the results of these model checks can be related back to the UML diagrams. |