Efficient search as a means of executing specifications

  • Craig A. Damon
  • Daniel Jackson
Regular Sessions Session 2: Tools I
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1055)


The utility of directly executing formal specifications is briefly touched upon and the concept of exhaustive search as a means of execution is introduced. A mechanism for improving the efficiency of such searches is presented in some detail. Finally, the results of an implementation of the mechanism are presented.


model generation constraint satisfaction exhaustive testing formal specifications executable specifications 


  1. [ASU86]
    A. Aho, R. Sethi and J. Ulman, Compilers Principles, Techniques and Tools, Addison Wesley 1986.Google Scholar
  2. [Fu92]
    N. E. Fuchs. Specifications are (preferably) executable. Software Engineering Journal, 1992, 7, (5), pp 323–334.Google Scholar
  3. [HJ89]
    I. J. Hayes and C. B. Jones, Specifications are not (necessarily) executable, Software Engineering Journal, 1989, 4, (6), pp 330–338.Google Scholar
  4. [JD95]
    D. Jackson and C. A. Damon. Semi-Executable Specifications, Technical Report CMU-CS-95-216, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, 1995.Google Scholar
  5. [Ja96]
    D. Jackson, Nitpick: A Checkable Specification Language, Workshop of Formal Methods in Software Practice (FMSP '96), San Diego, 1996.Google Scholar
  6. [JD96]
    D. Jackson and C. A. Damon. Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector. Proc. ISSTA 96, San Diego, CA, 1996.Google Scholar
  7. [JJD96]
    D. Jackson, S. Jha and C. Damon. Faster Checking of Software Specifications by Eliminating Isomorphs. Proc. Principles of Programming St. Petersburg, Florida, USA, 1996.Google Scholar
  8. [KK88]
    L. Kanal and V. Kumar, Ed. Search in Artificial Intelligence, Springer-Verlag, New York, 1988.Google Scholar
  9. [SF91]
    N. M. Sadeh and M. S. Fox. Variable and Value ordering Heuristics for Hard Constraint Satisfaction Problems: An Application to Job Shop Scheduling, Technical Report CMU-RI-TR-91-23, Robotics Institute, Carnegie Mellon University, Pittsburgh, PA, 1991.Google Scholar
  10. [Sla94]
    J. K. Slaney. Finder: Finite Domain Enumerator, System Description. Proc. 12th International Conference on Automated Deduction, Lecture Notes in Artificial Intelligence series, Springer Verlag, Berlin, 1994, pp. 798–801.Google Scholar
  11. [Spi89]
    J. M. Spivey, The Z Notation: A Reference Manual, Prentice-Hall International, 1989.Google Scholar
  12. [Val91]
    S. H. Valentine. Z-, an executable subset of Z. In J. E. Nicholls (ed.), Z User Workshop, York, 1991. Springer-Verlag Workshops in Computing 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Craig A. Damon
    • 1
  • Daniel Jackson
  1. 1.School of Computer ScienceCarnegie Mellon UniversityPittsburgh

Personalised recommendations