Abstract
The assumption/commitment (also called rely/guarantee) style has been advocated for the specification of interactive components of distributed systems. It suggests the structuring of specifications into assumptions about the behavior of the component's environment and into commitments that are fulfilled by the component, provided the environment fulfills these assumptions. One of its motivations is to achieve modularity (also called compositionality) for state transition specifications of system components. Another reason for writing specifications in this format lies in proof rules that refer to this format. We define the assumption/commitment formats for functional system specifications. In particular, we work out a canonical decomposition of system specifications following the assumption/commitment format into safety and liveness aspects. We demonstrate the format of assumption/commitment specifications by a number of examples. Finally, we discuss the methodological significance of the assumption/commitment format in the stepwise development of specifications.
Similar content being viewed by others
References
M. Abadi and L. Lamport, “Composing, specifications,” Digital Systems Research Center, SRC Report 66, Oct. 1990.
J.W. de Bakker, W.-P. de Roever, and G. Rozenberg (Eds.), “Stepwise refinement of distributed systems,” Lecture Notes in Computer Science 430, Springer, 1990.
J.D. Brock and W.B. Ackermann, “Scenarios: A model of nondeterminate computation,” in J. Diaz and I. Ramos (Eds.), Lecture Notes in Computer Science 107, Springer, 1981, pp. 225–259.
M. Broy, “Functional specification of time sensitive communicating systems,” REX Workshop. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg (Eds.), Lecture Notes in Computer Science 430, Springer, 1990, pp. 153–179.
M. Broy, “Compositional refinement of interactive systems,” Digital Systems Research Center, SRC Report 89, July 15, 1992. To appear in JACM.
M. Broy, F. Dederichs, C. Dendorfer, and R. Weber, Characterizing the behaviour of reactive systems by trace Sets,” Technische Universität München, Institut für Informatik, TUM-I9102.
K.M. Chandy and J. Misra, Parallel Program Design: A Foundation, Addison Wesley, 1988.
F. Dederichs and R. Weber, “Safety and liveness from a methodological point of view,” Information Processing Letters, Vol. 36, No. 1, pp. 25–30, 1990.
C.B. Jones, “Specification and design of (parallel) programs,” in R.E.A. Mason (Ed.), Information Processing 83, North Holland, 1983, pp. 321–332.
C.B. Jones, Systematic Program Development Using VDM, Prentice Hall, 1986.
L. Lamport, “Specifying concurrent program modules,” ACM Toplas, Vol. 5, No. 2, pp. 190–222, April 1983.
P.K. Pandya, “Some comments on the assumption-commitment framework for compositional verification of distributed programs,” in J.W. de Bakker, W.P. de Roever, and G. Rozenberg (Eds.), Lecture Notes in Computer Science 430, Springer, 1990, pp. 622–640.
E.D. Stark, “A proof technique for rely/guarantee properties,” Lecture Notes in Computer Science 206, Springer, 1985.
K. Stølen, “Development of parallel programs on shared data structures,” Manchester University Technical Report, UNCS 1991-1-1.
K. Stølen, F. Dederichs, and R. Weber, “Assumption/commitment rules for networks of asynchronously communicating agents,” Technische Universität München, Institut für Informatik, TUM-I9302.
Rights and permissions
About this article
Cite this article
Broy, M. A Functional Rephrasing of the Assumption/Commitment Specification Style. Formal Methods in System Design 13, 87–119 (1998). https://doi.org/10.1023/A:1008618722275
Issue Date:
DOI: https://doi.org/10.1023/A:1008618722275