CS62S: Expert Systems Requirements Specification and Design Based on Chap. 12: The Engineering of Knowledge-based Systems: Theory and Practice, A. J. Gonzalez and D. D. Dankel
Specification Design Preliminary design Initial prototype Detailed design
Requirements Specification Problem description State how output will solve problem Identify goals Set specific goals Address need, desires, and concerns of the users Verification and validation
A template for requrements specification See hand out : G. W. Jones, “ Software Engineering”, 1990
Preliminary Design Knowledge representation Reasoning method Development tool Development team
Knowledge representation Rules Logic Structure Frames Objects Semantic networks
Rule-based Diagnostic, classification, and interpretative tasks, are usually better represented by this paradigm Structured paradigm Problems that need deeper understanding of the structural relationships Hybrid systems Incorporate both paradigms and are ideally the best way to represent knowledge in an expert system.
Reasoning method Usually done while deciding on a knowledge representation. Rules require forward, backward, or bi-directional reasoning Selecting a structured knowledge representation, would lead to developing a compatible reasoning method.
Tool selection To build or no to build? (Comercial or customized) If we do not build, how will a suitable tool be selected?
Selecting Commercial Shell Knowledge representation and reasoning paradigm Flexibility Functions Built-in User defined Data structure support (lists, arrays, etc.) External routines Written in different languages
Special requirements Real-time Uncertainty management Interface with external software (databases, spredsheets) Windows enabled Auxiliary features Knowledge-base editor Trace Explanation Testing verification aids Graphical representation
Performance Vendor support Training Help Consulting Cost
Human resources Knowledge Engineer Team leader Expert Development team
Knowledge engineer Competent in the field Organized thinker Patient Friendly Good communication skills Open-minded Confidence Good foundation in knowledge extraction and representation
Team leader Experienced in developing expert systems Have some knowledge of the problem domain
The expert Competent Articulate Self-confident Available Open-minded Personable Enthusiastic
Development team The composition of the team, depend on the size and needs of the expert system.
Initial prototype Implement the the design decisions make in the preceeding step as quickly as possible. Learn about the domain Deep enough to solve some problems User interface should be included Validated and verified similar to that of the final system.
Detailed design Modified structure charts Knowledge diagrams
Modified structure charts Look live conventional structure charts Module may represent related knowledge ’groups’ No one-entry, one-exit requirements Loose coupling – independent of each other Functional cohesion – knowledge within a module relates to a specific problem