Graphical Input Sketches for Producing Formalised Behavioural Requirements

Formal methods are usually intended to include all the details of the final system in the specification, with the aim of proving that it possesses certain mathematical properties. Telecommunications services are large and complex, making detailed formal specification impractical with current technology (Mataga & Zave, 1993). Fortunately, the behaviour of the services provided to telephone users is often simple enough to sketch and much of the complexity stems from details of the implementation of services. The principal characteristics of a service can be approximated by simple varieties of logic, even though the services themselves cannot usually be formalised. We address the problem of determining these services, from a library of services accompanied by their behavioural approximations, which might be appropriate for re-use, by using graphical input examples to sketch the behaviour desired and a case-based approach to identify behaviourally similar telecommunications services. The simple logic employed also enables the user to evaluate the behaviour of the services without being confronted with the formal representation itself. The CABS system can also perform simple verifications against the input examples and identify when the service does not include all the behaviour exemplified in the input examples. Seventeen telephone features such as call waiting, redirect call, call back and three way call, have been explored and formalised. These services are stored in the case library as cases, each consisting of a set of transition rules. Graphical input examples have been sketched for these features and CABS identifies the corresponding formalised services with high accuracy. If there are no input examples matching the desired behaviour, the logic from the input examples can be used as a starting point for producing a new case.