Application of the Composition Principle to Unity-like Specifications

The problem of composing mutually dependent rely-guarantee specifications arises in the hierarchical development of reactive or concurrent systems. The composition principle has been proposed as a logic-independent solution to this problem. In this paper, we apply it to Unity-like rely-guarantee specifications. For that purpose, we interpret Unity formulas in Abadi and Lamport's compositional model. Then, the premises of the composition rule are reduced to proof obligations that can be carried out in the existing Unity proof system. The approach is illustrated by an example, the composition of mutually dependent specifications of concurrent buffers.

[1]  Xu Qiwen,et al.  A Theory of State-based Parallel Programming: Part 1 , 1991 .

[2]  Jayadev Misra Specifying Concurrent Objects as Communicating Processes , 1990, Sci. Comput. Program..

[3]  Ambuj K. Singh Specification of Concurrent Objects Using Auxiliary Variables , 1991, Sci. Comput. Program..

[4]  Zohar Manna,et al.  The anchored version of the temporal framework , 1988, REX Workshop.

[5]  Leslie Lamport,et al.  The temporal logic of actions , 1994, TOPL.

[6]  Eugene W. Stark Proving Entailment Between Conceptual State Specifications , 1988, Theor. Comput. Sci..

[7]  Amir Pnueli,et al.  Now you may compose temporal logic specifications , 1984, STOC '84.

[8]  K. Mani Chandy Parallel program design , 1989 .

[9]  Martín Abadi,et al.  An old-fashioned recipe for real time , 1994, TOPL.

[10]  Jim Woodcock,et al.  Using VDM with Rely and Guarantee-Conditions - Experiences from a Real Project , 1988, VDM Europe.

[11]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

[12]  Ketil Stølen,et al.  A Method for the Development of Totally Correct Shared-State Parallel Programs , 1991, CONCUR.

[13]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[14]  Martín Abadi,et al.  Composing Specifications , 1989, REX Workshop.

[15]  K. Mani Chandy,et al.  Proofs of Networks of Processes , 1981, IEEE Transactions on Software Engineering.

[16]  Martín Abadi,et al.  The Existence of Refinement Mappings , 1988, LICS.

[17]  Hans Henrik Løvengreen,et al.  Refinement and Composition of Transition-based Rely-Guarantee Specification with Auxiliary Variables , 1990, FSTTCS.

[18]  Antonio Pizzarello,et al.  An Industrial Experience in the Use of UNITY , 1991, Research Directions in High-Level Parallel Programming Languages.

[19]  Martín Abadi,et al.  A logical view of composition and refinement , 1991, POPL '91.

[20]  Bengt Jonsson,et al.  On Decomposing and Refining Specifications of Distributed Systems , 1989, REX Workshop.