Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal specification: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Validated Designs For Object-oriented Systems
Validated Designs For Object-oriented Systems
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
CoBoxes: Unifying Active Objects and Structured Heaps
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
A verified implementation of priority monitors in java
FoVeOOS'11 Proceedings of the 2011 international conference on Formal Verification of Object-Oriented Software
A model-driven approach to teaching concurrency
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
Testing is the more widely used approach to (partial) system validation in industry. The introduction of concurrency makes exhaustive testing extremely costly or just impossible, requiring shifting to formal verification techniques. We propose a methodology to design and verify a concurrent system that splits the verification problem in two independent tasks: internal verification of shared resources, where some concurrency aspects like mutual exclusion and conditional synchronisation are isolated, and external verification of processes, where synchronisation mechanisms are not relevant. Our method is language independent, non-intrusive for the development process, and improves the portability of the resulting system. We demonstrate it by actually checking several properties of an example application using the TLC model checker.