Tool Support for Generation of Target System Specifications

A target system specification is derived from the domain model by tailoring it according to the requirements specified for the target system. The process of generating a target system specification consists of gathering the requirements in terms of domain features, retrieving from the domain model the corresponding components to support those features, and reasoning about inter-feature and feature/object dependencies to ensure consistency. The Knowledge-Based Requirements Elicitation Tool (KBRET) has been developed to facilitate the process of generating target system specifications from the domain model. KBRET is implemented in CLIPS (C Language Integrated Production System), developed at NASA/Johnson Space Center.

The architecture of KBRET consists of two types of knowledge: domain independent and domain dependent knowledge. The domain independent knowledge provides control knowledge for the various functions supported by KBRET. These functions include a browser, a feature selector, a dependency checker, and a target system generator. The domain dependent knowledge represents the multiple views of an application domain model, including the feature/object dependencies. This knowledge is derived from the object repository by the Domain Dependent Knowledge Base Extractor tool, which structures this knowledge as CLIPS facts.

The separation of domain-independent and domain-dependent knowledge is essential for providing scale-up and maintainability of domain specifications for large domains. Also, since the domain-independent knowledge is independent of the application domain, it can be used with domain-dependent knowledge from any application domain to generate target system specifications in that domain.

To generate the target system specification, KBRET enters into a dialog with the target system engineer and elicits the requirements for the target system. KBRET also provides facilities for browsing the domain model. During the requirements elicitation process, KBRET presents the domain model features and the target system engineer can choose the features that are desired in the target system. Whenever a feature is selected for the target system, the associated feature/object dependencies are enforced. For example, when a feature with some prerequisite features is selected, those prerequisite features, if not already selected, are also included in the target system. Similarly, before deleting a feature from the target system, dependency checking is performed to ensure that it is not required by any other target system feature.

Once feature selection for the target system has been completed, KBRET begins the process of assembling the target system. The domain kernel object types are automatically included in the target system. Depending upon the features selected for the target system, the corresponding variant and optional object types are included. When all the object types required to support the selected features for the target system are assembled, the target system engineer is presented with the target system features and object types. KBRET also outputs two files containing the target system information that is used in tailoring the domain picture files to derive the multiple views for the target system.

Using the two files generated by KBRET, the Target System Specification Generator (TSSG) tool tailors the domain model graphical views and generates a set of graphical views for the target system. The target system views differ from those of the domain model in two ways. First, the optional objects that are not selected for the target system are removed. Secondly, in the case where one or more variants of a domain object type are selected, the object type is replaced by its variant(s).