Design and validation of computer protocols
Design and validation of computer protocols
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Specification and verification of an object request broker
Proceedings of the 20th international conference on Software engineering
Deadlock detection in distribution object systems
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Symbolic Model Checking
The NCSU Concurrency Workbench
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Proceedings of the 25th International Conference on Software Engineering
Next Generation Application Integration: From Simple Information to Web Services
Next Generation Application Integration: From Simple Information to Web Services
Building test constraints for testing middleware-based distributed systems
SEM'02 Proceedings of the 3rd international conference on Software engineering and middleware
Model checking publish-subscribe systems
SPIN'03 Proceedings of the 10th international conference on Model checking software
Towards fine-grained automated verification of publish-subscribe architectures
FORTE'06 Proceedings of the 26th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Hi-index | 0.00 |
Distributed applications are usually concurrent and nondeterministic. For this reason, formal verification on their design specifications is an essential technique for us to gain more confidence in the correctness of the behavioral aspects of our design before putting them into coding stage. Message-Oriented Middleware (MOM) is widely used to simplify the task of interprocess communications in distributed applications. To model the MOM-based applications for verification purpose, the services provided by MOM must also be integrated into the models. However, MOM modeling is non-trivial. While providing highlevel program interfaces which shield programmers from the complexity of the underlying operating systems and networks, MOM may also conceals under such interfaces the concurrency and nondeterminism present in the underlying networks. This increases the possibility of misinterpretting the behavior of the applications, which in turn causes design errors. An over-abstracted MOM model based on Application Programming Interface may bury such design errors while an over-detailed model may consume too much resource and render the verification infeasible. As a guideline for MOM modeling, we present several formal models of various behavioral aspects of MOM in terms of Promela, the specification language used in SPIN model checker. Based on our empirical study, we also discuss the impact of incorporating these formal models in different settings into the MOM-based application models, in terms of increased state space for model checking.