skip to main content
article
Open access

Conjoining specifications

Published: 01 May 1995 Publication History

Abstract

We show how to specify components of concurrent systems. The specification of a system is the conjunction of its components' specifications. Properties of the system are proved by reasoning about its components. We consider both the decomposition of a given system into parts, and the composition of given parts to form a system.

Supplementary Material

Appendix (acm-appendix.pdf)
Appendix to Conjoining specifications

References

[1]
ABADI, M. AND LAMPORT, L. 1994. An old-fashioned recipe for real time. ACM ~ans. Program. Lang. Syst. 16, 5 (Sept.), 1543-1571.
[2]
ABADI~ M. AND LAMPORT, L. 1993. Composing specifications. A CM Trans. Program. Lang. Syst. 15, 1 (Jan.), 73-132.
[3]
ABADI, M. AND LAMPORT, L. 1991. The existence of refinement mappings. Theor. Comput. Sci. 82, 2 (May), 253-284.
[4]
ABADI, M. AND PLOTKIN, G. 1993. A logical view of composition. Theor. Comput. Sci. 113, 1 (June), 3-30.
[5]
ABRAMSKY, S. AND JAGADEESAN, R. 1994. Games and full completeness for multiplicative linear logic. J. Symb. Logic 59, 2 (June), 543-574.
[6]
ALPERN, B. AND SCHNEIDER, F. B. 1985. Defining liveness. Inf. Process. Left. 21, 4 (Oct.), 181-185.
[7]
BERTHET, C. AND CERNY, E. 1988. An algebraic model for asynchronous circuits verification. IEEE Trans. Comput. 37, 7 (July), 835-847.
[8]
COLLETTE, P. 1993. Application of the composition principle to Unity-like specifications. In TAPSOFT'93: Theory and Practice of Software Development, M.-C. Gaudel and J.-P. Jouannaud, Eds. Lecture Notes in Computer Science, vol. 668. Springer-Verlag, Berlin, 230-242.
[9]
JONES, C. B. 1983. Specification and design of (parallel) programs. In Information Processing 83: Proceedings of the IFIP 9th World Congress, R. E. A. Mason, Ed. North-Holland, Amsterdam, 321-332.
[10]
KURSHAN, R. P. AND LAMPORT, L. 1993. Verification of a multiplier: 64 bits and beyond. In Computer-Aided Verification, C. Courcoubetis, Ed. Lecture Notes in Computer Science, vol. 697'. Springer-Verlag, Berlin, 166-179. Proceedings of the 5th International Conference, CAV'93.
[11]
LAMPORT, L. 1994. The temporal logic of actions. A CM Trans. Program. Lang. Syst. 16, 3 (May), 872-923.
[12]
LAMPORT, L. 1989. A simple approach to specifying concurrent systems. Commun. A CM 32, 1 (Jan.), 32-45.
[13]
LAMPORT, L. 1983. What good is temporal logic? In Information Processing 83: Proceedings of the IFIP 9th World Congress, R. E. A. Mason, Ed. North-Holland, Amsterdam, 657-668.
[14]
MEAD, C. AND CONWAY, L. 1980. Introduction to VLSI Systems. Addison-Wesley, Reading, Mass., chap. 7.
[15]
MISRA, J. AND CHANDY, K. M. 1981. Proofs of networks of processes. IEBE Trans. Softw. Eng. SE-7, 4 (July), 417-426.
[16]
PANDYA, P. K. AND JOSEPH, U. 1991. P-A Iogic~a compositional proof system for distributed programs. Distrib. Comput. 5, 1, 37-54.
[17]
PNUELI, A. 1984. In transition from global to modular temporal reasoning about programs. In Logics and Modeb of Concurrent Systems, K. R. Apt, Ed. NATO ASI Series, Springer- Verlag, Berlin, 123-144.
[18]
PNUELX, A. 1981. The temporal semantics of concurrent programs. Theor. Comput. Sci. 13, 45-60.
[19]
STARK, E. W. 1985. A proof technique for rely/guarantee properties. In Fo~ndation$ of ~of~are Technology and Theoretical Computer Science, S. N. Maheshwari, Ed. Lecture Notes in Computer Science, vol. 206. Springer-Verlag, Berlin, 369-391.
[20]
ZAV~., P. AND JACKSON, M. 1993. Conjunction as composition. A CM Trans. Softw. Eng. Method. 2, 4 (Oct.), 379-411.

Cited By

View all

Recommendations

Reviews

D. John Cooke

The authors show that writing specifications of a finite set of components in a certain fashion enables their logical conjunction to represent the system arising from their parallel combination. The idea is disarmingly simple, but in practice the possibility of interference between components can make proving correctness rather complicated. Several examples illustrate the ideas and potential difficulties well. The authors discuss TLA, the temporal logic of actions, which is used to represent both specifications and implementation designs. The standard way of specifying a system in TLA has three components: an initial requirement, a description of transient behavior, and liveness requirements. The kernel of the paper is section 4, which discusses the decomposition theorem. Detailed proofs are consigned to an appendix available by ftp from various sites; nevertheless, the paper still requires the reader to fill in many small details. This paper provides an important step in furthering our understanding of complex systems. To those familiar with TLA, the paper will be easy to follow. To others, it will require some backtracking and substantial verification of claims made in this text.

Jan Hendrik Jongejan

The authors present a method for deducing properties of a concurrent system by reasoning about its components. Specifications are given in the Temporal Logic of Actions (TLA). Both the decomposition of a system (into its components) and the composition of a system (out of a set of components) are studied. First, an informal overview is presented: complete systems and open systems are introduced, the latter being the main subject of interest. Open systems interact with an environment that they do not control. A specification for an open system is written in the assumption/guarantee style. That is, we assume a certain behavior from the environment, and then guarantee the specified behavior of the system. A typical TLA component specification would have a canonical form ?x: Init ?? N v ?L , where Init is an initial predicate, the notation ? N v stands for “always take an N step or else state function v does not change,” and L is a conjunction of fairness conditions. The N is the disjunction of Q M , describing the steps taken by the component, and Q E , describing the steps taken by the environment. Next, implementation is introduced as implication between specifications: A?B . Several other operators are also presented. One of the two main results is the decomposition theorem, which enables us to prove when a system decomposed into components P i is implemented by a lower-level system with components P ? i , by using the proofs that each P ? i implements P i . The last part of the paper studies composition of a system specification from its component specifications: the composition theorem. The paper clearly addresses theoretically oriented computing scientists. For the method to be of practical importance, however, a lot of work still has to be done. For instance, the notation chosen is cumbersome. It uses a lot of symbols, special operators, indices, and so on (for example, M &d14; <__?__Pub Caret> on pp. 516–517). Also, the proof steps needed are cumbersome. (Most proofs have not been included in the paper, but are in a separate appendix, which can be had by anonymous ftp from ACM or Princeton. However, they were not present on either site when I tried to access them.)

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems  Volume 17, Issue 3
May 1995
128 pages
ISSN:0164-0925
EISSN:1558-4593
DOI:10.1145/203095
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1995
Published in TOPLAS Volume 17, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. composition
  2. concurrent programming
  3. decomposition
  4. liveness properties
  5. modular specification
  6. safety properties
  7. temporal logic

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)93
  • Downloads (Last 6 weeks)13
Reflects downloads up to 27 Dec 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media