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

## Abstract

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.

## Keywords

Partial State State Sequence Design Constraint Observable Behavior Prime Constraint## Preview

Unable to display preview. Download preview PDF.

## References

- 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.Dijkstra, E.W., A Discipline of Programming, Prentice-Hall, Englewood Cliffs, N.J., 1976.Google Scholar
- 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.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.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.Furtek, F.C., "Doing Without Values", Ninth International Symposium on Multiple-Valued Logic, Bath, England, 1979, pp. 114–120.Google Scholar
- 7.Furtek, F.C., "The Theory of Constraints", In Preparation.Google Scholar
- 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.Hoare, C.A.R., "An Axiomatic Basis of Computer Programming", Commun. Assoc. Comput. Mach., Vol. 12, October 1969, pp. 576–580.Google Scholar
- 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.Holt, A.W. and F.C. Commoner, Events and Conditions, Applied Data Research, Inc., New York, 1970.Google Scholar
- 12.Hopcroft, J.E. and J.D. Ullman, Formal Languages and Their Relation to Automata, Addison-Wesley, Reading, MA, 1969.Google Scholar
- 13.Knuth, D.E., Letter in SIGACT News, Vol. 9, No. 1, Jan.–March 1977, pp. 8–9.Google Scholar
- 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.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.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.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.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.McCluskey, E.J., "Minimization of Boolean Functions", Bell System Tech. J., Vol. 35, No. 5, November 1956, pp. 1417–1444.Google Scholar
- 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.Millen, J.K., Causal System Security, ESD-TR-78-171, Electronic Systems Division, AFSC, Hanscom AFB, MA, October 1978.Google Scholar
- 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.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.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.Pnueli, A., "The Temporal Semantics of Programs", Lecture Notes in Computer Science, Vol. 70, Springer-Verlag, 1979, pp. 1–20.Google Scholar
- 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.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.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.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.Scott, D., "Mathematical Concepts in Programming Language Semantics", SJCC 72, AFIPS Press, 1972, pp. 225–234.Google Scholar
- 31.Shields, M.W., "Adequate Path Expressions", Lecture Notes in Computer Science, Vol. 70, Springer-Verlag, 1979, pp. 249–265.Google Scholar
- 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.Wedde, H. and J. Winkowski, "Determining Processes by Violations", Lecture Notes in Computer Science, Vol. 53, Springer-Verlag, 1977, pp. 549–559.Google Scholar