Skip to main content

System specification and refinement in temporal logic

  • Invited Talk I
  • Conference paper
  • First Online:
Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 652))

Abstract

We consider two types of specifications of reactive systems: requirement specification which lists properties the system should satisfy, and System specification which describes the response of the system to each incoming input. Some of the differences between these two styles of specification are analyzed with the conclusion that both types are needed in an orderly system development.

Traditionally, temporal logic was used for requirement specification while process algebras, such as csp and ccs, were used for system specification. Recent developments, mainly represented in Lamport's temporal logic of actions (tla), demonstrated that temporal logic can be used effectively also for system specification.

This paper explores the use of temporal logic for systems specification, evaluates some of the advantages and disadvantages of such a use, and demonstrates the use of temporal logic for refinement and systematic development of systems. To allow simulation of a single high level step by several lower level steps, we go back to the temporal logic tlr which is based on a dense time domain, such as the reals.

This research was supported in part by the European Community ESPRIT Basic Research Action Project 6021 (REACT).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Lamport. The existence of refinement mappings. In Proc. 3rd IEEE Symp. Logic in Comp. Sci., pages 165–175, 1988.

    Google Scholar 

  2. M. Abadi, L. Lamport, and P. Wolper. Realizable and unrealizable concurrent program specifications. In Proc. 16th Int. Colloq. Aut. Lang. Prog., volume 372 of Lect. Notes in Comp. Sci., pages 1–17. Springer-Verlag, 1989.

    Google Scholar 

  3. B. Alpern and F.B. Schneider. Defining liveness. Info. Proc. Lett., 21:181–185, 1985.

    MathSciNet  Google Scholar 

  4. A. Bernstein and P. K. Harter. Proving real time properties of programs with temporal logic. In Proceedings of the Eighth Symposium on Operating Systems Principles, pages 1–11. ACM, 1981.

    Google Scholar 

  5. H. Barringer, R. Kuiper, and A. Pnueli. A really abstract concurrent model and its temporal logic. In Proc. 13th ACM Symp. Princ. of Prog. Lang., pages 173–183, 1986.

    Google Scholar 

  6. J.P. Burgess. Basic tens logic. In D. Gabbay and F. Guenthner, editors, Handbook of Philosophical Logic, volume II, pages 89–133. D. Reidel Publishers, 1984.

    Google Scholar 

  7. K.M. Chandy and J. Misra. Parallel Program Design. Addison-Wesley, 1988.

    Google Scholar 

  8. E.S. Chang, Z. Manna, and A. Pnueli. The safety-progress classification. In sub-series F: Computer and System Science, NATO Advanced Science Institutes Series. Springer-Verlag, 1992.

    Google Scholar 

  9. R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench. In J. Sifakis, editor, Automatic Verification Methods for Finite State Systems, volume 407 of Lect. Notes in Comp. Sci. Springer-Verlag, 1989.

    Google Scholar 

  10. E. Diepstraten and R. Kuiper. Abadi, lamport, and stark: Towards a proof theory for stuttering, dense domains and refinmement mappings. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors, Stepwise Refinement of Distributed Systems: Models, Formalism, Correctness, Lecture Notes in Computer Science 430, pages 208–238. Springer-Verlag, 1990.

    Google Scholar 

  11. R.E. Fairley. Software Engineering Concepts. McGraw-Hill, 1985.

    Google Scholar 

  12. D. Harel. Statecharts: A visual formalism for complex systems. Sci. Comp. Prog., 8:231–274, 1987.

    Article  Google Scholar 

  13. [HLN+90] D. Harel, H. Lachover, A. Naamad, A. Pnueli, M. Politi, R. Sherman, A. Shtull-Trauring, and M. Trakhtenbrot. Statemate: A working environment for the development of complex reactive systems. IEEE Trans. Software Engin., 16:403–414, 1990.

    Article  Google Scholar 

  14. B.T. Hailpern and S.S. Owicki. Modular verification of computer commuincation protocols. IEEE Trans. on Commun., COM-31(1):56–68, 1983.

    Article  Google Scholar 

  15. C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, London, 1984.

    Google Scholar 

  16. L. Lamport. Proving the correctness of multiprocess programs. IEEE Trans. Software Engin., 3:125–143, 1977.

    Google Scholar 

  17. L. Lamport. Specifying concurrent program modules. ACM Trans. Prog. Lang. Sys., 5:190–222, 1983.

    Article  Google Scholar 

  18. L. Lamport. What good is temporal logic. In R.E.A. Mason, editor, Proc. IFIP 9th World Congress, pages 657–668. North-Holland, 1983.

    Google Scholar 

  19. L. Lamport. The temporal logic of actions. Technical report, Digital Equipment Corporation, Systems Research Center, 1991.

    Google Scholar 

  20. N. Lynch and M. Tuttle. An introduction to input/output automata. CWI-Quarterly, 2(3):219–246, 1989.

    Google Scholar 

  21. R. Milner. A Calculus of Communicating Systems. Lec. Notes in Comp. Sci. 94, Springer-Verlag, 1980.

    Google Scholar 

  22. Z. Manna and A. Pnueli. Completing the temporal picture. Theor. Comp. Sci., 83(1):97–130, 1991.

    Article  Google Scholar 

  23. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, New York, 1991.

    Google Scholar 

  24. J.S. Ostroff. Temporal Logic of Real-Time Systems. Advanced Software Development Series. Research Studies Press (John Wiley & Sons), Taunton, England, 1990.

    Google Scholar 

  25. A. Pnueli. The temporal logic of programs. In Proc. 18th IEEE Symp. Found. of Comp. Sci., pages 46–57, 1977.

    Google Scholar 

  26. A. Pnueli. Specification and development of reactive systems. In H.-J. Kugler, editor, Information Processing 86, pages 845–858. IFIP, North-Holland, 1986.

    Google Scholar 

  27. A. Pnueli. The temporal semantics of concurrent programs. Theoretical Computer Science, 13:1–20, 81.

    Google Scholar 

  28. A.P. Sistla, E.M. Clarke, N. Francez, and A.R. Meyer. Can message buffers be axiomatized in temporal logic? Inf. and Cont., 63(1,2):88–112, 1984.

    Article  Google Scholar 

  29. E.W. Stark. Foundations of a Theory of Specificaitons for Distributed Systems. PhD thesis, M.I.T, 1984.

    Google Scholar 

  30. E.W. Stark. Proving entailments between conceptual state specifications. Theor. Comp. Sci., 56:135–154, 1988.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rudrapatna Shyamasundar

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pnueli, A. (1992). System specification and refinement in temporal logic. In: Shyamasundar, R. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1992. Lecture Notes in Computer Science, vol 652. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56287-7_92

Download citation

  • DOI: https://doi.org/10.1007/3-540-56287-7_92

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56287-0

  • Online ISBN: 978-3-540-47507-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics