1 Representing and Verifying Intentions in Telephony Features Using Abstract Data Types Bernard Stepien and Luigi Logrippo Telecommunications Software Engineering Research Group Department of Computer Science, University of Ottawa Ottawa, Ont. Canada, K1M 6N5 (bernard | luigi)@csi.uottawa.ca Abstract. Feature intentions describe the intended behavior of telephony features. A method for formally specifying feature intentions by abstract data types is given. Fur- ther, a method for detecting violation of certain types of feature intentions at the design stage is provided. Specification languages considered are SDL, Prolog, and LOTOS. If the specification is in LOTOS, detection can be helped by the use of goal- oriented execution. Examples of specification and detection are provided, namely involving Originating Call Screening and Call Forwarding. 1. Introduction [CGL94] provide a survey of the many types of feature interactions possible in tele- communications systems, and propose some categorization schemes. In one of these they distinguish among three main causes of feature interactions: violation of fea- ture assumptions, limitations on network support, and intrinsic problems in distrib- uted systems. [BW94] categorize the different techniques to deal with the problem in the three following categories: avoidance, detection, and resolution. In this paper, we propose a new detection technique, which can be used at the design and specification stage, to find interactions caused by violations of feature assumptions and by intrin- sic problems in distributed systems. Feature interactions are not necessarily a problem. Some are intended and some are undesirable. In this context, it is difficult sometimes to base detection on service specifications alone, that cover only the procedural or technological aspects of fea- tures. In many instances, features are meant to implement some subscriber’s wishes or intentions. An undesired feature interaction can thus be defined as a violation of intentions. This concept is reflected by many authors in their work at various levels of their analysis. For example [LL94] distinguish between procedural and behavioral specifications of features and [GV94] distinguish between technological and policy features. In the first case, the authors use procedural and behavioral specifications concurrently to detect feature interactions. In the second case, the authors separate feature interactions into two groups and decide to address the policy features that reveal mainly intention violations. Technological feature interactions are detectable by inspection of the procedural specification. Feature interactions resulting from vio- lations of intentions however cannot be always detected from such inspection alone