Predicate calculus and program semantics
Predicate calculus and program semantics
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Selected papers of the 3rd workshop on Concurrency and compositionality
An explanatory presentation of composition rules for assumption-commitment specifications
Information Processing Letters
ACM Transactions on Programming Languages and Systems (TOPLAS)
Theoretical Computer Science - Special issue on algebraic methodology and software technology
Examples of Program Composition Illustrating the Use of Universal Properties
Proceedings of the 11 IPPS/SPDP'99 Workshops Held in Conjunction with the 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing
An Abstract Account of Composition
MFCS '95 Proceedings of the 20th International Symposium on Mathematical Foundations of Computer Science
Logical Foundations for Compositional Verification and Development of Concurrent Programs in UNITY
AMAST '95 Proceedings of the 4th International Conference on Algebraic Methodology and Software Technology
An Approach to Composition Motivated by wp
FASE '02 Proceedings of the 5th International Conference on Fundamental Approaches to Software Engineering
Hi-index | 0.00 |
Compositional design is concerned with both constructing systems by composing components and with deconstructing systems into proposed sets of components. In bottom-up design, engineers prove system properties given properties of components and a compositional structure. In top-down design, they propose properties of components and a compositional structure given system properties. In this paper we show how the theory of predicate transformers, which has been used so successfully in sequential programming, can be applied to compositional design of systems. The rules of composition we study are more general than the rules employed in sequential programming, and the systems we study are not limited to programs. We exploit theorems about weakest and strongest solutions to equations to obtain a collection of useful predicate transformers, and then we exploit the theory of conjugate transformers to obtain more useful transformers. We show how these transformers are useful for both bottom-up and top-down design.