Communicating sequential processes
Communicating sequential processes
Statecharts: A visual formalism for complex systems
Science of Computer Programming
The concurrency workbench: a semantics-based tool for the verification of concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communication and concurrency
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Checking safety properties using compositional reachability analysis
ACM Transactions on Software Engineering and Methodology (TOSEM)
Enterprise JavaBeans
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Concurrency: state models & Java programs
Concurrency: state models & Java programs
A workbench for synthesising behaviour models from scenarios
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Revised Papers from the Second International Workshop on Engineering Distributed Objects
EDO '00 Revised Papers from the Second International Workshop on Engineering Distributed Objects
Using Model Checking to Detect Deadlocks in Distributed Object Systems
EDO '00 Revised Papers from the Second International Workshop on Engineering Distributed Objects
vUML: A Tool for Verifying UML Models
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Automatic synthesis of deadlock free connectors for COM/DCOM applications
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Distributed component technologies and their software engineering implications
Proceedings of the 24th International Conference on Software Engineering
Deadlock-free software architectures for COM/DCOM applications
Journal of Systems and Software - Special issue on: Component-based software engineering
Connectors Synthesis for Deadlock-Free Component-Based Architectures
Proceedings of the 16th IEEE international conference on Automated software engineering
A formal approach for designing CORBA-based applications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Netstub: a framework for verification of distributed java applications
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Dreadlocks: efficient deadlock detection
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Algon: From Interchangeable Distributed Algorithms to Interchangeable Middleware
Electronic Notes in Theoretical Computer Science (ENTCS)
A Rule-based System for Web site Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Quality analysis of dependable systems: a developer oriented approach
Architecting dependable systems
A component-oriented model for the design of safe multi-threaded applications
CBSE'05 Proceedings of the 8th international conference on Component-Based Software Engineering
ISPA'07 Proceedings of the 5th international conference on Parallel and Distributed Processing and Applications
Hi-index | 0.00 |
The behaviour of a distributed system is largely determined by the use of synchronization primitives and threading policies of the underlying middleware. The inherent parallel nature of distributed systems may cause liveness problems, such as deadlocks and livelocks. An increasing number of distributed systems is built using object middleware. We exploit the fact that modern object middleware offers only a few built-in synchronization and threading primitives by suggesting UML stereotypes to represent each of these primitives in distributed object design. We define the semantics of the stereotypes using a process algebra. We use that semantics to translate UML diagrams into behaviourally equivalent process algebra representations and can then use model checking techniques to find potential deadlocks. The paper also shows how the model checking results can be related back to the original UML diagrams.