Systematic software development using VDM (2nd ed.)
Systematic software development using VDM (2nd ed.)
The Z notation: a reference manual
The Z notation: a reference manual
CLAM specification for provably correct compilation of CLP( R ) programs
Specification and validation methods
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Specification case studies in RAISE
Specification case studies in RAISE
Specification in B: An Introduction Using the B Toolkit
Specification in B: An Introduction Using the B Toolkit
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
Java and the Java Virtual Machine: Definition, Verification, Validation with Cdrom
Raise Method Manual
ZB '00 Proceedings of the First International Conference of B and Z Users on Formal Specification and Development in Z and B
MFCS '90 Proceedings of the Mathematical Foundations of Computer Science 1990
Tool-Assisted Specification and Verification of the JavaCard Platform
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
A Practical Method for Rigorously Controllable Hardware Design
ZUM '97 Proceedings of the 10th International Conference of Z Users on The Z Formal Specification Notation
More Powerful Z Data Refinement: Pushing the State of the Art in Industrial Refinement
ZUM '98 Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
Formal Methods for Industrial Products
ZB '00 Proceedings of the First International Conference of B and Z Users on Formal Specification and Development in Z and B
Retrenchment: An Engineering Variation on Refinement
B '98 Proceedings of the Second International B Conference on Recent Advances in the Development and Use of the B Method
Invariants, Frames and Postconditions: a Comparison of the VDM and B Notations
FME '93 Proceedings of the First International Symposium of Formal Methods Europe on Industrial-Strength Formal Methods
Using PVS to Prove a Z Refinement: A Case Study
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
Description and Simulation of Microprocessor Instruction Sets Using ASMs
ASM '00 Proceedings of the International Workshop on Abstract State Machines, Theory and Applications
A Logical Operational Semantics of Full Prolog. Part I: Selection Core and Control
CSL '89 Proceedings of the 3rd Workshop on Computer Science Logic
Abstract State Machines: A Method for High-Level System Design and Analysis
Abstract State Machines: A Method for High-Level System Design and Analysis
ICECCS '95 Proceedings of the 1st International Conference on Engineering of Complex Computer Systems
ASM Refinement and generalizations of forward simulation in data refinement: a comparison
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
Retrenching the Purse: Finite Exception Logs, and Validating the Small
SEW '06 Proceedings of the 30th Annual IEEE/NASA Software Engineering Workshop
Engineering and theoretical underpinnings of retrenchment
Science of Computer Programming
Retrenching the Purse: Hashing Injective CLEAR Codes, and Security Properties
ISOLA '06 Proceedings of the Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation
Patterns to guide practical refactoring: examples targetting promotion in Z
ZB'03 Proceedings of the 3rd international conference on Formal specification and development in Z and B
Retrenching the purse: finite sequence numbers, and the tower pattern
FM'05 Proceedings of the 2005 international conference on Formal Methods
Hi-index | 0.00 |
Some of the success stories of model based refinement are recalled, as well as some of the annoyances that arise when refinement is deployed in the engineering of large systems. The way that retrenchment attempts to alleviate such inconveniences is briefly reviewed. The Mondex Electronic Purse formal development provides a highly credible testbed for examining how real world refinement difficulties can be treated via retrenchment. The contributions of retrenchment to integrating the real implementation with the formal development are surveyed, and the extraction of commonly occurring 'retrenchment patterns' is recalled. One of the Mondex difficulties, the 'Balance Enquiry Quandary' is treated in detail, and the way that retrenchment is able to account for the system behaviour is explained. The problem is reconsidered using generalised forward refinement, and the simplicity of the resolution of the quandary, both by retrenchment, and by generalised forward refinement, inspires the creation of a genuine (1,1) forward refinement forMondex, something long thought impossible. The forward treatment exhibits a similar balance enquiry quandary to the backward refinement, as it must, given that both are refinements of an atomic action to a non-atomic protocol, and the forward quandary is dealt with as easily by retrenchment as is the backward case. The simplicity of the retrenchment treatment foreshadows a general purpose retrenchment Atomicity Pattern for dealing with atomic-versus-finegrained situations.