IEEE Transactions on Software Engineering · 1982 · 10 citations · 15 references
ComputingComputer ScienceDesign AutomationFormal MethodsModel-based Systems EngineeringFinite State Machine ModelingFunctional VerificationModel CheckingSpecification LanguagesVerificationAbstractionAbstraction RefinementFinite State Machine SpecificationFormal VerificationRefinementSpecification-based VerificationState Machine ModelsStepwise Refinement
The purpose of this paper is to develop a method for designing and verifying data abstractions using the functional approach. Before doing so, the existing techniques for designing and verifying procedure and data abstractions will be surveyed briefly. These techniques will then be modified and extended to verify data abstractions. By using the concept of a mathematical function, one can model the behavior of a procedure abstraction and give a more uniform and clearer meaning to the stepwise refinement and verification of procedure abstractions. The concept of a state machine is then used as a basis to specify data abstractions. Using state machine specification, a technique for expressing the design of a data abstraction is then given. A method is then developed to verify the design of a data abstraction with respect to its specifications.
15
Proof of correctness of data representations
C. A. R. Hoare · Acta Informatica · 1972 · 967 citations
Program development by stepwise refinement
Niklaus Wirth · Communications of the ACM · 1971 · 959 citations · Full text
Computing, Computer Science, Building Information Modeling +5
Olle Dahl, E. Dijkstra, C. A. R. Hoare · 1972 · 890 citations