Parallel program design: a foundation
Parallel program design: a foundation
Social processes and proofs of theorems and programs
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
1983 Invited address solved problems, unsolved problems and non-problems in concurrency
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
An exercise in the formal derivation of parallel programs: maximum flows in graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Formal specification and design of a message router
ACM Transactions on Software Engineering and Methodology (TOSEM)
A case study of Venus and a declarative basis for rule modules
CIKM '96 Proceedings of the fifth international conference on Information and knowledge management
An experience in the formal verification of industrial software
Communications of the ACM - Electronic supplement to the December issue
Modeling deflection networks: design and specification
Proceedings of the 1999 ACM symposium on Applied computing
Formal Derivation of Concurrent Programs: An Example from Industry
IEEE Transactions on Software Engineering
Architecture-Directed Refinement
IEEE Transactions on Software Engineering
Formal Specification and Design of Mobile Systems
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Towards a formal specification of an electronic payment system in CSP-CASL
WADT'04 Proceedings of the 17th international conference on Recent Trends in Algebraic Development Techniques
Hi-index | 14.98 |
The design of an electronic funds-transfer (EFT) system, using the UNITY parallel programming methodology, is presented. The process begins with a high-level specification that captures the essence of transaction processing in the system. In a series of refinement steps, this specification is transformed into one that leads directly to a program suitable for execution on the distributed architecture of the EFT system. Each refinement step involves replacing a data structure by a distributed version that can be implemented efficiently on the target architecture. By defining a correspondence between the replaced data structure and its distributed counterpart, it can be demonstrated formally that each refinement step preserves the intent of the original specification.