Formal specification-a key to service interactions analysis

A demonstration is given of the use of formal specification to analyse service interaction between the CW service (call-waiting) and the CFB service (call-forwarding-busy). In particular, the interaction identified agrees with T.F. Bowen el al. (1989) informal observation. Informal analysis may suffice for simple services but for complex services, the precision of formal specifications is essential. The problem of specifying a large specification with many services is mitigated by limiting the analysis to shared data. Further enhancement can be made through automation which requires specifications to be written in formal language. Some of the automation techniques are: symbolic execution, theorem provers and prototyping systems. Z and Object-Z are ideal for specifying services as they provided a rich set of mathematical objects e.g. sets, functions, sequences etc. for modelling services. Furthermore Z and Object-Z specifications can be prototyped in Prolog, e.g. a Z operation can be converted to Y.-J. Lin's (1990), Prolog state-translation predicates.