Abstract Data Type (ADT) is a powerful tool having a very good mathematic basis called many-sorted algebra and is also combined into several Formal Description Techniques (FDTs). By using ADT, a protocol or a software system can be specified in a very abstract way. It also facilitates the verification and validation of the specified system. However, in practice ADT is rarely used because it is difficult for a non-ADT expert to specify. As a consequence of this, in order to promote the widespread use of ADT and FDT, a support method for ADT specification is necessary. Unfortunately, there is almost no such a support method so far. We propose an ADT specification support method in terms of support system based on Case-Based Reasoning (CBR) which is a kind of problem solving by reusing solutions of the existing similar problem with some appropriate modifications. CBR has been used in some researches. But there is no research which uses this technique for ADT specification support so far. The support system can ease the specification of ADT and prevent the user from spending too much time and effort in specifying the whole ADT from the beginning. Our support system consists of four parts: (1) Case base of ADTs; (2) Requirement Acquisition Template; (3) Search mechanism for finding the most similar case in (1); (4) Modifier for modifying the retrieved case to meet the requirement of user. Among these parts, the core of the support system is the search mechanism which is based on the definition of similarity of ADTs. In this paper, we first propose an ADT specification model which defines a data carrier part of an ADT as a combination of constructors of four patterns. Based on the specification model, a similarity definition is given. Furthermore, we have designed the support system. Finally, in order to evaluate the effectiveness of the system, we experimented with data types of service and protocol in the data communication field. From the evaluation, the effectiveness of the system is ensured.
ASJC Scopus subject areas
- Information Systems