Using higher-order logic for modular specification of real-time distributed systems

  • Glenn H. MacEwen
  • David B. Skillicorn
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 331)

Abstract

The problem of specifying and verifying modular components of real-time distributed systems is investigated, and a theory for a distributed real-time logic (DRTL), based on Jahanian and Mok's RTL, is presented. DRTL is proposed as a good basis in which to express the semantics of higher level specification languages.

In looking for a method for composing specifications written in DRTL an analogy is found in Gordon's method for the specification of digital circuits, in which predicates are used to represent devices and higher-order logic is used for composition and proof. A signal on a wire, represented by a function of time, is taken to be analogous to a stream of event occurrences, represented by function that gives the time of the ith occurrence. A difference from hardware design, however, is the fact that event occurrence streams, unlike wires, are typed and there are some fundamental restrictions on how they can be combined in a specification. Another difference from hardware design is that real-time components cannot be composed quite so freely as with digital devices.

A requirements language and a design language have been developed to express specifications for real-time distributed systems based on a programming environment using message-passing and processes. These languages are not discussed, but the expression of their semantics in DRTL is presented as an example of how component predicate specification can be combined with DRTL to produce modular specifications. Extensions to allow functional, as well as temporal, specification are briefly discussed.

Keywords

Event Function Notification Event Naming Convention Input Event Physical Node 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    M.R. Barbacci and J.M. Wing, “Specifying Functional and Timing Behavior for Real-Time Systems,” Proceedings of the Conference on Parallel Architectures and Languages, (June 1987).Google Scholar
  2. 2.
    G. Berry, S. Moisan, and J-P. Rigault, “ESTEREL: Towards a Synchronous and Semantically Sound High Level Language for Real-Time Applications,” IEEE Real-Time Systems Symposium, pp. 30–37 (December 1983).Google Scholar
  3. 3.
    A. Camilleri, M. Gordon, and T. Melham, Hardware Verification Using Higher-Order Logic, Computer Laboratory, Cambridge University (June 11, 1987).Google Scholar
  4. 4.
    M. Coulas, G. H. MacEwen, and G. Marquis, “RNet: A Hard Real-Time Distributed Programming System,” IEEE Transactions on Computers C-36(8) pp. 917–932 (August 1987).Google Scholar
  5. 5.
    J.S. Crow and others, SRI Specification and Verification System, Computer Science Laboratory, SRI International, Menlo Park, CA (May 1986).Google Scholar
  6. 6.
    J. A. Goguen, “OBJ as a Theorem Prover,” SRI-CSL-88-4, SRI International, Menlo Park, CA (April 1988).Google Scholar
  7. 7.
    M.J.C. Gordon, “Why Higher-Order Logic is a Good Formalism for Specifying and Verifying Hardware,” Formal Aspects of VLSI Design, North Holland, (1986).Google Scholar
  8. 8.
    M.J.C. Gordon, “HOL: A Machine-Oriented Formulation of Higher-Order Logic,” Technical Report 68, Computer Laboratory, Cambridge University (June 15, 1987).Google Scholar
  9. 9.
    F. Jahanian and A.K. Mok, “Safety Analysis of Timing Properties in Real-Time Systems”, IEEE Transactions on Software Engineering SE-12(9) pp. 890–904 (September 1986).Google Scholar
  10. 10.
    G. H. MacEwen and T. A. Montgomery, “Expressing Requirements for Distributed Real-time Systems,” Fourth Workshop on Real-time Operating Systems, pp. 125–128 IEEE Computer Society, (July 1987).Google Scholar
  11. 11.
    G.H. MacEwen and T.A. Montgomery, The RNet Programming System Report 87-4: Requirements Language Semantics, Department of Computing and Information Science, Queen's University, Kingston, Ontario (November 17, 1987).Google Scholar
  12. 12.
    G.H. MacEwen and T.A. Montgomery, The RNet Programming System Report 87-1: Requirements Language Definition, Department of Computing and Information Science, Queen's University, Kingston, Ontario (November 12, 1987).Google Scholar
  13. 13.
    G.H. MacEwen and T.A. Montgomery, The RNet Programming System Report 87-3: Distributed Real-time Logic, Department of Computing and Information Science, Queen's University, Kingston, Ontario (November 22, 1987).Google Scholar
  14. 14.
    J.S. Ostroff and W.M. Wonham, “Modelling, Specifying, and Verifying Real-Time Embedded Computer Systems,” Proceedings of the IEEE Real-Time System Symposium, pp. 124–132 (December 1987).Google Scholar
  15. 15.
    J.S. Ostroff, “Modular Reasoning in the ESM/RTTL Framework For Real-Time Systems,” Technical Report CS-88-03, Computer Science Department, York University, North York, Ontario (April 1988).Google Scholar
  16. 16.
    P.Caspi, D. Pilaud, N. Halbwachs, and J.A. Plaice, “LUSTRE: A Declarative Language for Programming Synchronous Systems,” Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 178–188 (January 1987).Google Scholar
  17. 17.
    A. Zwarico and I. Lee, “Proving a Network of Real-Time Processes Correct,” Proceedings of the IEEE Real-Time System Symposium, pp. 169–177 (December 1985).Google Scholar
  18. 18.
    A. Zwarico, “An Algebra of Time Dependent Processes,” Ph.D. Thesis, University of Pennsylvania, Philadelphia (in preparation).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Glenn H. MacEwen
    • 1
  • David B. Skillicorn
    • 1
  1. 1.Department of Computing and Information ScienceQueen's UniversityKingstonCanada

Personalised recommendations