Project Title:
A Software Engineering Approach Towards Validation of Knowledge-Based Systems
06.04-1400
911831
A Software Engineering Approach Towards Validation of Knowledge-Based Systems
Vigyan, Inc.
30 Research Drive
Hampton
VA
23666-1325
Mala
Mehrotra
804-865-1400
JSC
NAS9-18706
107
06.04-1400
911831
Abstract:
A Software Engineering Approach Towards Validation of Knowledge-Based Systems
Currently, most expert-system shells do not address software engineering issues for
developing, maintaining, and verifying expert systems. As a result, large expert
systems tend to be incomprehensible, difficult to debug or to modify, and almost
impossible to verify or to validate. Partitioning rule-based systems into rule groups
that reflect the underlying subdomains of the problem should enhance the comprehensibility,
maintainability, and reliability of expert-system software. The firm will automatically
structure a given rule base so that verification-aid tools can test the behavior
of each of these subunits individually, as well as in relationship to each other.
Preliminary studies of rule-based structuring have provided insight into the various
parameters that affect the grouping process and have shown the feasibility of this
approach. More analysis will need to be done to understand the interplay of distance
metrics, clustering strategies, various objective functions to be optimized for grouping,
and evaluation criteria used to judge the quality of the resultant groups. A significant
secondary benefit of this approach will be the formulation of software engineering
guidelines to aid the grouping process. Such an environment would help in the verification
and validation of knowledge-based systems, allowing them to be used in commercial
and critical applications with more confidence.
Currently, expert systems cannot be used in critical applications since they are
not amenable to existing verification and validation techniques. An integrated environment
for expert system verification and validation can overcome this barrier thus opening
up a wide range of important applications.
rule groups, verification, validation, knowledge-based systems, clustering, pattern-matching