Contract-Oriented Specifications
نویسندگان
چکیده
In classes developed using design-by-contract, contracts contain assertions that formalise preconditions, postconditions and invariants. To be sure that contracts are complete, they can be derived from specifications. For classes in a data structures library, equational specifications are appropriate. However, a conventional equational specification cannot usually be mapped directly to contracts. Instead, a second, contract-oriented, equational specification can be devised, with two key properties: it can be proved that the contractoriented specification implies the original specification; and the contract-oriented specification can be mapped systematically to contracts. These two properties combine to increase confidence that the contracts capture the same abstraction as the equational specification.
منابع مشابه
Static Verification for Code Contracts
The Code Contracts project [3] at Microsoft Research enables programmers on the .NET platform to author specifications in existing languages such as C# and VisualBasic. To take advantage of these specifications, we provide tools for documentation generation, runtime contract checking, and static contract verification. This talk details the overall approach of the static contract checker and exa...
متن کاملDetermining the Specifications of Human Resource Management Processes in Matrix Organization: A Meta-Synthesis Oriented Study
This article has no abstract.
متن کاملThe Stability Problem for Verification of Concurrent Object-Oriented Programs
Modular static verification of concurrent object-oriented programs remains a challenge. This paper discusses the impact of concurrency on the use and meaning of behavioural specifications, and in particular on method contracts and class invariants. Atomicity of methods is often advocated as a solution to the problem of verification of multithreaded programs. However, in a design-by-contract fra...
متن کاملTransformation of UML Interaction Diagrams
Testing is an important means to ensure the quality of software systems. Contract specification can be used to formally specify the cluster level of object-oriented software, which can then be tested using TACCLE, an advanced methodology for object-oriented testing. The use of formal specifications as a testing base has many advantages. However, such specifications are not easily understood and...
متن کاملValidation of Contract Decomposition by Testing
In this cand.scient. thesis we propose a strategy for testing validity of decomposition of contract oriented specifications. The strategy is based on Abadi and Lamport’s Composition Theorem for the Temporal Logic of Actions and test case generation from executable specifications. A composition rule, inspired by the Compositon Theorem, is formulated in a semantics based on timed streams. A subse...
متن کامل