Abstract
We consider the question of composition in system design, a fundamental issue in engineering. More precisely, we are interested in deducing system properties from components properties and vice-versa. This requires system and component specifications to be “compositional” in some sense. Depending on what systems are and how they are composed, this problem is satisfactorily solved (e.g., sequential composition of terminating programs) or remains a hot research topic (e.g., concurrent composition of reactive systems). In this paper, we aim at providing a logical framework in which composition issues can be reasoned about independently from the kind of systems and the laws of composition under consideration. We show that many composition related statements can be expressed in terms of predicate transformers in a way that presents interesting similarities with program semantics descriptions based on weakest precondition calculus.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Martín Abadi and Leslie Lamport. Composing specifications. ACM Transactions on Programming Languages and Systems, 15(1):73–132, January 1993.
Martín Abadi and Leslie Lamport. Conjoining specifications. ACM Transactions on Programming Languages and Systems, 17(3):507–534, May 1995.
Martín Abadi and Stephan Merz. An abstract account of composition. In Jivrí Wiedermann and Petr Hajek, editors, Mathematical Foundations of Computer Science, volume 969 of Lecture Notes in Computer Science, pages 499–508. Springer-Verlag, September 1995.
Martín Abadi and Gordon Plotkin. A logical view of composition. Theoretical Computer Science, 114(1):3–30, June 1993.
R. Alur, T.A. Henzinger, and O. Kupferman. Alternating-time temporal logic. In 38th Annual Symposium on Foundations of Computer Science, pages 100–109. IEEE Computer Society Press, 1997.
K. Mani Chandy and Michel Charpentier. An experiment in program composition and proof. Formal Methods in System Design, 20(1):7–21, January 2002.
K. Mani Chandy and Jayadev Misra. Parallel Program Design: A Foundation. Addison-Wesley, 1988.
K. Mani Chandy and Beverly Sanders. Reasoning about program composition. http://www.cise.ufl.edu/~sanders/pubs/composition.ps.
Michel Charpentier. Making Unity properties compositional: the transformer ∈, the predicate SIC and the property type next U . Unpublished research report, September 1999.
Michel Charpentier. Reasoning about composition: A predicate transformer approach. In Specification and Verification of Component-Based Systems (SAVCBS 2001), pages 42–49. Workshop at OOPSLA 2001, October 2001.
Michel Charpentier and K. Mani Chandy. Examples of program composition illustrating the use of universal properties. In J. Rolim, editor, International workshop on Formal Methods for Parallel Programming: Theory and Applications (FMPPTA’99), volume 1586 of Lecture Notes in Computer Science, pages 1215–1227. Springer-Verlag, April 1999.
Michel Charpentier and K. Mani Chandy. Towards a compositional approach to the design and verification of distributed systems. In J. Wing, J. Woodcock, and J. Davies, editors, World Congress on Formal Methods in the Development of Computing Systems (FM’99), (Vol. I), volume 1708 of Lecture Notes in Computer Science, pages 570–589. Springer-Verlag, September 1999.
Michel Charpentier and K. Mani Chandy. Reasoning about composition using property transformers and their conjugates. In J. van Leeuwen, O. Watanabe, M. Hagiya, P.D. Mosses, and T. Ito, editors, Theoretical Computer Science: Exploring New Frontiers of Theoretical Informatics (IFIP-TCS 2000), volume 1872 of Lecture Notes in Computer Science, pages 580–595. Springer-Verlag, August 2000.
Michel Charpentier and K. Mani Chandy. Theorems about composition. In R. Backhouse and J. Nuno Oliveira, editors, International Conference on Mathematics of Program Construction (MPC 2000), volume 1837 of Lecture Notes in Computer Science, pages 167–186. Springer-Verlag, July 2000.
Pierre Collette. Design of Compositional Proof Systems Based on Assumption-Commitment Specifications. Application to Unity. Doctoral thesis, Faculté des Sciences Appliquées, Université Catholique de Louvain, June 1994.
Pierre Collette. An explanatory presentation of composition rules for assumptioncommitment specifications. Information Processing Letters, 50:31–35, 1994.
Pierre Collette and Edgar Knapp. Logical foundations for compositional verification and development of concurrent programs in Unity. In International Conference on Algebraic Methodology and Software Technology, volume 936 of Lecture Notes in Computer Science, pages 353–367. Springer-Verlag, 1995.
Pierre Collette and Edgar Knapp. A foundation for modular reasoning about safety and progress properties of state-based concurrent programs. Theoretical Computer Science, 183:253–279, 1997.
Edsger W. Dijkstra and Carel S. Scholten. Predicate calculus and program semantics. Texts and monographs in computer science. Springer-Verlag, 1990.
J.L. Fiadeiro and T. Maibaum. Verifying for reuse: foundations of object-oriented system verification. In I. Makie C. Hankin and R. Nagarajan, editors, Theory and Formal Methods, pages 235–257. World Scientific Publishing Company, 1995.
Leslie Lamport. Composition: A way to make proofs harder. In W.-P. de Roever, H. Langmaack, and A. Pnueli, editors, Compositionality: The Significant Difference (COMPOS’97), volume 1536 of Lecture Notes in Computer Science, pages 402–423. Springer-Verlag, September 1997.
Zohar Manna and Amir Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992.
Jayadev Misra. A logic for concurrent programming: Progress. Journal of Computer and Software Engineering, 3(2):273–300, 1995.
Jayadev Misra. A logic for concurrent programming: Safety. Journal of Computer and Software Engineering, 3(2):239–272, 1995.
Beverly A. Sanders and Hector Andrade. Model checking for open systems. Submitted for publication, 2000.
Rob T. Udink. Program Refinement in Unity-like Environments. PhD thesis, Utrecht University, September 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Charpentier, M. (2002). An Approach to Composition Motivated by wp . In: Kutsche, RD., Weber, H. (eds) Fundamental Approaches to Software Engineering. FASE 2002. Lecture Notes in Computer Science, vol 2306. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45923-5_1
Download citation
DOI: https://doi.org/10.1007/3-540-45923-5_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43353-8
Online ISBN: 978-3-540-45923-1
eBook Packages: Springer Book Archive