Parallel program design: a foundation
Parallel program design: a foundation
Tentative steps toward a development method for interfering programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Assumption/guarantee specifications in linear-time temporal logic
TAPSOFT '95 Selected papers from the 6th international joint conference on Theory and practice of software development
On a method of multiprogramming
On a method of multiprogramming
Guarded commands, nondeterminacy and formal derivation of programs
Communications of the ACM
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
On the Refinement Calculus
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers
Trace Refinement of Action Systems
CONCUR '94 Proceedings of the Concurrency Theory
Reliability assessment through probabilistic refinement
Nordic Journal of Computing
Enhancing Dependability via Parameterized Refinement
PRDC '99 Proceedings of the 1999 Pacific Rim International Symposium on Dependable Computing
Streamlining progress-based derivations of concurrent programs
Formal Aspects of Computing
A Structural Proof of the Soundness of Rely/guarantee Rules
Journal of Logic and Computation
An Algebraic Approach to Refinement with Fair Choice
Electronic Notes in Theoretical Computer Science (ENTCS)
Dynamically Detecting Faults via Integrity Constraints
Methods, Models and Tools for Fault Tolerance
Enforcing Safety and Progress Properties: An Approach to Concurrent Program Derivation
ASWEC '09 Proceedings of the 2009 Australian Software Engineering Conference
Refinement and reachability in event_b
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Progress in deriving concurrent programs: emphasizing the role of stable guards
MPC'06 Proceedings of the 8th international conference on Mathematics of Program Construction
Verification of LTL on b event systems
B'07 Proceedings of the 7th international conference on Formal Specification and Development in B
Deriving real-time action systems controllers from multiscale system specifications
MPC'12 Proceedings of the 11th international conference on Mathematics of Program Construction
Deriving real-time action systems in a sampling logic
Science of Computer Programming
Hi-index | 0.00 |
Action systems have been shown to be applicable for modelling and constructing both sequential and concurrent systems. This paper presents an approach to program construction where the concrete implementation is derived from its specification -- via a series of small refinements -- using incomplete proofs to motivate changes to the program. Formalisation of our approach is provided by enforced properties, which restrict the traces of a program to those that satisfy the enforced properties. The goal of the derivation is to refine a program with enforced properties to a program (with no enforced properties) whose code satisfies the enforced properties. An advantage of this approach is that the code in the earlier versions of the program need not be complete; incorrect execution of the program is avoided by including enforced properties in the specification. Enforced properties may be any temporal formula or relation, and hence we may reason about both safety and progress in a compositional setting.