Specification and verification of real-time, distributed systems using the theory of constraints

  • Frederick C. Furtek
Wednesday Morning
Part of the Lecture Notes in Computer Science book series (LNCS, volume 87)


A technique for the specification and verification of real-time, distributed systems is proposed. It provides a unified representation for both internal design and externally observable behavior and an automated procedure for deriving the external behavior associated with a design. The approach is applicable to both hardware and software, and can handle systems in which timing, concurrency, indeterminacy, and ongoing behavior are important considerations.

Although the approach contains elements of switching theory and automata theory, it diverges from other models with the definition of a constraint as an incompatibility among successive states. The proposed verification technique centers around an algorithm (incorporating the resolution principle and coded in LISP) that takes as input an acceptor for a set of design constraints and generates as output an acceptor for the set of prime constraints. A description of external behavior is obtained from this acceptor by pruning out all constraints involving hidden variables. It is anticipated that from this description it will be possible to verify properties relating to consistency, equivalence, deadlock, computer security, and fault tolerance.


Partial State State Sequence Design Constraint Observable Behavior Prime Constraint 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Campbell, R.H. and A.N. Habermann, "The Specification of Process Synchronization by Path Expressions", Lecture Notes in Computer Science, Vol. 16, Springer-Verlag, 1974, pp. 90–102.Google Scholar
  2. 2.
    Dijkstra, E.W., A Discipline of Programming, Prentice-Hall, Englewood Cliffs, N.J., 1976.Google Scholar
  3. 3.
    Floyd, R.W., "Assigning Meanings to Programs", Mathematical Aspects of Computer Science, Vol. 19, Schwartz, J.T., ed., American Mathematical Society, Providence, R.I., 1967, pp. 19–32.Google Scholar
  4. 4.
    Furtek, F.C., "Constraints and Compromise", Foundations of Secure Computation, (DeMillo, R.A., D.P. Dobkin, A.K. Jones, R.J. Lipton, ed.), Academic Press, 1978, pp. 189–204.Google Scholar
  5. 5.
    Furtek, F.C., A Validation Technique for Computer Security Based on the Theory of Constraints, ESD-TR-78-182, Electronic Systems Division, AFSC, Hanscom AFB, MA, December 1978.Google Scholar
  6. 6.
    Furtek, F.C., "Doing Without Values", Ninth International Symposium on Multiple-Valued Logic, Bath, England, 1979, pp. 114–120.Google Scholar
  7. 7.
    Furtek, F.C., "The Theory of Constraints", In Preparation.Google Scholar
  8. 8.
    Greif, I., "A Language for Formal Problem Specification", Commun. Assoc. Comput. Mach., Vol. 20, No. 12, December 1977, pp. 931–935.Google Scholar
  9. 9.
    Hoare, C.A.R., "An Axiomatic Basis of Computer Programming", Commun. Assoc. Comput. Mach., Vol. 12, October 1969, pp. 576–580.Google Scholar
  10. 10.
    Holt, A.W., et al., Final Report of the Information System Theory Project, RADC-TR-68-305, Rome Air Development Center, Griffis AFB, NY, September 1968.Google Scholar
  11. 11.
    Holt, A.W. and F.C. Commoner, Events and Conditions, Applied Data Research, Inc., New York, 1970.Google Scholar
  12. 12.
    Hopcroft, J.E. and J.D. Ullman, Formal Languages and Their Relation to Automata, Addison-Wesley, Reading, MA, 1969.Google Scholar
  13. 13.
    Knuth, D.E., Letter in SIGACT News, Vol. 9, No. 1, Jan.–March 1977, pp. 8–9.Google Scholar
  14. 14.
    Lautenbach, K. and H. Wedde, "Generating Control Mechanisms by Restrictions", Lecture Notes in Computer Science, Vol. 45, Springer-Verlag, 1976, pp. 416–422.Google Scholar
  15. 15.
    Luckham, D., "The Resolution Principle in Theorem-Proving", Machine Intelligence 1, (Collins, N.L. and D. Michie, ed.), American Elsevier, N.Y., 1967, pp. 47–61.Google Scholar
  16. 16.
    Lynch, N.A. and M.J. Fischer, On Describing the Behavior and Implementation of Distributed Systems, Technical Report GIT-ICS-79/03, School of Information and Computer Science, Georgia Institute of Technology, May 1979.Google Scholar
  17. 17.
    Maggiolo-Schettini, A., H. Wedde, and J. Winkowski, "Modeling a Solution for a Control Problem in Distributed Systems by Restrictions", Lecture Notes in Computer Science, Vol. 70, Springer-Verlag, 1979, pp. 226–248.Google Scholar
  18. 18.
    Manna, Z. and R. Waldinger, "The Logic of Computer Programming", IEEE Transactions on Software Engineering, Vol. SE-4, No. 3, May 1978, pp. 199–229.Google Scholar
  19. 19.
    McCluskey, E.J., "Minimization of Boolean Functions", Bell System Tech. J., Vol. 35, No. 5, November 1956, pp. 1417–1444.Google Scholar
  20. 20.
    Millen, J.K., "Constraints and Multilevel Security", Foundations of Secure Computation, (R.A. DeMillo, D.P. Dobkin, A.K. Jones, R.J. Lipton, ed.), Academic Press, 1978, pp. 205–222.Google Scholar
  21. 21.
    Millen, J.K., Causal System Security, ESD-TR-78-171, Electronic Systems Division, AFSC, Hanscom AFB, MA, October 1978.Google Scholar
  22. 22.
    Parnas, D.L., "A Technique for Module Specification with Examples", Commun. Assoc. Comput. Mach., Vol. 15, No. 5, May 1972, pp. 330–336.Google Scholar
  23. 23.
    Petri, C.A., Communication with Automata, Supplement 1 to RADC-TR-65-377, Vol. 1, Rome Air Development Center, Griffiss AFB, New York, 1966. [Originally published in German: Kommunikation mit Automaten, Schriften des Rheinisch-Westfalischen Institutes fur Instrumentelle Mathematik an der Universitat Bonn, Hft. 2, Bonn, 1962.]Google Scholar
  24. 24.
    Pnueli, A., "The Temporal Logic of Programs", 19th Ann. Symp. on Found. of Comput. Sci., Providence, R.I., November 1977, pp. 46–57.Google Scholar
  25. 25.
    Pnueli, A., "The Temporal Semantics of Programs", Lecture Notes in Computer Science, Vol. 70, Springer-Verlag, 1979, pp. 1–20.Google Scholar
  26. 26.
    Pratt, V.R., "Semantical Considerations on Floyd-Hoare Logic", Proc. 17th Ann. IEEE Symp. Found. of Comp. Sci., 1976, pp. 109–121.Google Scholar
  27. 27.
    Pratt, V.R., "Process Logic: Preliminary Report", Conf. Record of 6th Ann. Symp. on Prin. of Prog. Lang., San Antonio, Texas, January 1979, pp. 93–99.Google Scholar
  28. 28.
    Robinson, J.A., "A Machine-Oriented Logic Based on the Resolution Principle", J. Assoc. Comput. Mach., Vol. 12, 1965, pp. 23–41.Google Scholar
  29. 29.
    Robinson, L. and K.N. Levitt, "Proof Techniques for Hierarchically Structured Programs", Commun. Assoc. Comput. Mach., Vol. 20, No. 4, April 1977, pp. 271–283.Google Scholar
  30. 30.
    Scott, D., "Mathematical Concepts in Programming Language Semantics", SJCC 72, AFIPS Press, 1972, pp. 225–234.Google Scholar
  31. 31.
    Shields, M.W., "Adequate Path Expressions", Lecture Notes in Computer Science, Vol. 70, Springer-Verlag, 1979, pp. 249–265.Google Scholar
  32. 32.
    Tison, P., "Generalization of Consensus Theory and Application to the Minimization of Boolean Functions", IEEE Trans. Computers, Vol. EC-16, No. 4, August 1967, pp. 446–456.Google Scholar
  33. 33.
    Wedde, H. and J. Winkowski, "Determining Processes by Violations", Lecture Notes in Computer Science, Vol. 53, Springer-Verlag, 1977, pp. 549–559.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Frederick C. Furtek
    • 1
  1. 1.The Charles Stark Draper Laboratory, Inc.Cambridge

Personalised recommendations