Communicating sequential processes
Communicating sequential processes
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Model checking
The Theory and Practice of Concurrency
The Theory and Practice of Concurrency
Propositional modal logic of programs
STOC '77 Proceedings of the ninth annual ACM symposium on Theory of computing
rCOS: a refinement calculus of object systems
Theoretical Computer Science - Components and objects
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
A formal language for electronic contracts
FMOODS'07 Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systems
Model checking contracts: a case study
ATVA'07 Proceedings of the 5th international conference on Automated technology for verification and analysis
Hi-index | 0.00 |
Contracts specify properties of an interface to a software component. We consider the problem of defining a full contract that specifies not only the normal behaviour, but also special cases and tolerated exceptions. In this paper we focus on the behavioural properties of use cases taken from the Common Component Modelling Example (CoCoME), proposed as a benchmark to compare different component models. We first give the full specification of the use cases in the deontic-based specification language CL, and then we concentrate on three particular properties in order to compare deontic and operational specifications. We conjecture that operational specifications are well suited for normal cases, but are less easily extended for exceptional cases. This hypothesis is investigated by comparing specifications in CSP (operational) with specifications in CL. The outcome of the experiment supports the conjecture and demonstrates clear differences in the basic descriptive power of the formalisms.