A knowledge base approach to the specification of non-functional real-time system requirements
During the late seventies it became necessary to partition the system development life-cycle into layers of conceptualisation and abstraction to provide enhanced information hiding and thus a smoother transition from specification to implementation. The existence of system requirements analysis as a specific initial phase of system development requiring tailor-made methods and tools became apparent. Requirements specifications comprise two distinct forms: functional and nonfunctional. There was a prolific growth in the number of requirement specification methods during the eighties resulting from the need to overcome the inadequacies in specifications developed during the seventies. Current methods encourage the elicitation of the functional system requirement but exhibit a lack of formality and exhaustiveness when dealing with non-functionality. Representation is usually provided in the form of structured text in data dictionaries with minimal guidance in elicitation. While them is a considerable body of knowledge on these non-functional requirements, the application of this knowledge is patchy and except in a few cases has not been developed into definitions or procedures. Furthermore, while methods recognise the existence of non-functional requirements there is little detail of how to maintain traceability of these constraints into the implementation. System requirements specification tools were developed during the eighties to support existing methods. Many such tools are automated aids to the extent that they provide basic consistency checking and implement the laws which form the basis of the method they support. Few can be viewed as "intelligent" (i.e. possess a knowledge base and reasoning mechanism). Of those prototype tools which adopt a knowledge-based approach, application scope is limited to the specification of information systems on an academic rather than an industrial scale. Few involve the specification of non-functionality. This thesis involves the elicitation of non-functional requirements for real-time systems, particularly large, complex, embedded systems which are representative of practical applications. A survey of relevant publications, an industrial case study with the collaborating organisation (British Aerospace Military Aircraft Limited) and a number of examples from systems analysis courses revealed the existence of a process of system description using attributes: each system can be identified by a unique set of attributes associated with a specific non-functional requirement hierarchy. A knowledge-based approach is proposed to provide support for analysts in the cognition of those nonfunctional requirements relevant to theft specific problem domain. The user is prompted to respond to questions relating to the attributes of the problem under analysis, the content of each question being derived from knowledge resident within the rule base. When a satisfactory match is determined, the appropriate non-functional requirement hierarchy is presented for consideration and optional manipulation. Deriving such a categoriser for determination of the best match to a set of system attributes is particularly suited to an elicitation system using pattern recognition based on a Holland classifier. The design of the problem solution, the implemention of a prototype tool on a Sun workstation using the SmalltaJk object-oriented environment, and an industrial evaluation of the prototype tool are described.
Networked Digital Library of Theses and Dissertations