Events and constraints: a graphical editor for capturing logic requirements of programs

A logic model checker can be an effective tool for debugging software applications. A stumbling block can be that model-checking tools expect the user to supply a formal statement of the correctness requirements to be checked in temporal logic. Expressing non-trivial requirements in logic, however, can be challenging. To address this problem, we developed a graphical tool, called the TimeLine Editor, that simplifies the formalization of certain kinds of requirements. A series of events and required system responses are placed on a timeline. The user converts the timeline specification automatically into a test automaton that can be used directly by a logic model checker or for traditional test-sequence generation. We have used the TimeLine Editor to verify the call processing code for Lucent's PathStar access server against the TelCordia LSSGR [LATA (local access and transport area) Switching Systems Generic Requirements] standards. The TimeLine Editor simplified the task of converting a large body of English prose requirements into formal, yet readable, logic requirements.

[1]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[2]  J. N. Theron,et al.  The Geology of the Cape Town area , 1992 .

[3]  W. Damm,et al.  Specification and verification of system-level hardware designs using time diagrams , 1993, 1993 European Conference on Design Automation with the European Event in ASIC Design.

[4]  Kousha Etessami,et al.  An Until hierarchy for temporal logic , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[5]  Louise E. Moser,et al.  A graphical interval logic for specifying concurrent systems , 1994, TSEM.

[6]  Pierre Wolper,et al.  An Algorithmic Approach for Checking Closure Properties of Temporal Logic Specifications and Omega-Regular Languages , 1998, Theor. Comput. Sci..

[7]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[8]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.

[9]  C. W. Thornthwaite,et al.  Instructions and tables for computing potential evapotranspiration and the water balance , 1955 .

[10]  Gerard J. Holzmann,et al.  Not checking for closure under stuttering , 1996, The Spin Verification System.

[11]  H.J.W.G. Schalke,et al.  The Upper Quaternary of the Cape Flats Area (Cape Province, South Africa) , 1973 .

[12]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[13]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[14]  Chris Harris,et al.  A preliminary investigation of the oxygen and hydrogen isotope hydrology of the greater Cape Town area and an assessment of the potential for using stable isotopes as tracers , 1999 .

[15]  Gerard J. Holzmann,et al.  Automating software feature verification , 2000, Bell Labs Technical Journal.