ACM Transactions on Embedded Computing Systems · 2019 · 17 citations · 22 references
ComputingComputer ScienceSystems EngineeringContract TheoryContractsFormal MethodsContract ManagementDesign RepresentationSpecification LanguagesAdjoint FormulationConjunction AnalysisContract CompositionContract FormulationDesign Intent CaptureDesign Intent ModelingFormal Specification Of ContractsPerspective Viewpoints
Contract models have been proposed to promote and facilitate reuse and distributed development. In this paper, we cast contract models into a coherent formalism used to derive general results about the properties of their operators. We study several extensions of the basic model, including the distinction between weak and strong assumptions and maximality of the specification. We then analyze the disjunction and conjunction operators, and show how they can be broken up into a sequence of simpler operations. This leads to the definition of a new contract viewpoint merging operator, which better captures the design intent in contrast to the more traditional conjunction. The adjoint operation, which we call separation, can be used to re-partition the specification into different viewpoints. We show the symmetries of these operations with respect to composition and quotient.
22
An axiomatic basis for computer programming
C. A. R. Hoare · Communications of the ACM · 1969 · 3.9K citations · Full text
Bertrand Meyer · Computer · 1992 · 2.1K citations
Computing, Computer Science, Design +15
CATEGORIES FOR THE WORKING MATHEMATICIAN
A. Bowtell · Bulletin of the London Mathematical Society · 1974 · 1.3K citations