Download presentation
Presentation is loading. Please wait.
Published byChloe Camilla Waters Modified over 9 years ago
1
FreeShell Live Final Presenation Jonathan Birch | Greg Chabala | Bryan Kimbro | Mark Sparks
2
Overview Introduction Introduction Expert systems Expert systems Expert system shells Expert system shells Original FreeShell Original FreeShell Requirements Requirements Project design and plan Project design and plan Demo Demo Retrospective Retrospective
3
Introduction FreeShell Live is an upgrade of FreeShell, an expert system shell program developed as a senior project in 2003. FreeShell Live is an upgrade of FreeShell, an expert system shell program developed as a senior project in 2003.
4
Client / Management Client - Dr. Xudong Yu Client - Dr. Xudong Yu Uses expert system shell to teach CS 490 – Expert Systems Uses expert system shell to teach CS 490 – Expert Systems Upper Management – Dr. Bernard Waxman / Dr. Bryon Ehlmann Upper Management – Dr. Bernard Waxman / Dr. Bryon Ehlmann
5
What is an Expert System? Software that contains a collection of rules Software that contains a collection of rules Helps users to form conclusions from known facts Helps users to form conclusions from known facts Used to stand in for trained experts in situations where it would be inconvenient to use a human Used to stand in for trained experts in situations where it would be inconvenient to use a human
6
Here’s an example: User: Should I carry an umbrella? User: Should I carry an umbrella? System: Is it raining? System: Is it raining? User: No User: No System: What does the sky look like? System: What does the sky look like? User: Cloudy User: Cloudy System: What is the barometric pressure in µPa? System: What is the barometric pressure in µPa? User: 1000 User: 1000 System: There is a 90% chance you should carry an umbrella. System: There is a 90% chance you should carry an umbrella.
7
How do they work? Expert systems have two main parts: Expert systems have two main parts: The Knowledge Base - a database of variables and rules relating to a problem The Knowledge Base - a database of variables and rules relating to a problem The Inference Engine - software that uses logic techniques to “solve” the knowledge base The Inference Engine - software that uses logic techniques to “solve” the knowledge base
8
How do they work? When a question is answered, the software uses the rules to forward chain and deduce new information. When a question is answered, the software uses the rules to forward chain and deduce new information. Afterwards, the inference engine backward chains to decide what new information would be most useful. The system then asks the user for this information. Afterwards, the inference engine backward chains to decide what new information would be most useful. The system then asks the user for this information.
9
What does FreeShell do? FreeShell is an expert system shell. It provides an interface for users to build knowledge bases. FreeShell is an expert system shell. It provides an interface for users to build knowledge bases. Once a knowledge base is complete, users can run the system through the interface. Once a knowledge base is complete, users can run the system through the interface.
10
Why make FreeShell Live? Old interface was hard to use Old interface was hard to use Wanted ability to publish expert systems as web pages Wanted ability to publish expert systems as web pages Old program had major bugs Old program had major bugs Limited editing ability Limited editing ability
11
Functional Requirements Knowledge base editor with a GUI that allows expert users to create knowledge bases Knowledge base editor with a GUI that allows expert users to create knowledge bases Web-based GUI that allows casual users to run the expert system Web-based GUI that allows casual users to run the expert system Certainty factor algebra to deal with uncertainty and probability Certainty factor algebra to deal with uncertainty and probability
12
Functional Requirements Completeness Checking Completeness Checking Contradiction Checking Contradiction Checking Ability to ask “Why?” Ability to ask “Why?”
13
Design system must run on Windows (2000/NT/XP) platform Design system must run on Windows (2000/NT/XP) platform Web-based GUI must run in Internet Explorer 6.0 or higher Web-based GUI must run in Internet Explorer 6.0 or higher GUIs must be designed for ease of use GUIs must be designed for ease of use System must be designed to respond quickly to users System must be designed to respond quickly to users Non-Functional Requirements
14
System must be well documented and easy to modify System must be well documented and easy to modify Documentation must include a tutorial and sample knowledge bases Documentation must include a tutorial and sample knowledge bases
15
Use Case Model
16
Design - Tools Software Software Microsoft Visual Studio.NET Microsoft Visual Studio.NET Languages Languages Visual Basic.NET Visual Basic.NET Visual C++.NET Visual C++.NET JavaScript JavaScript HTML HTML
17
Design – System Interface design Interface design Largely carried over from previous system Largely carried over from previous system Some major screen changes and additions Some major screen changes and additions Persistent data Persistent data Flat text file corresponding to knowledge base Flat text file corresponding to knowledge base HTML file for Publish-to-Web functionality HTML file for Publish-to-Web functionality
18
Design - Interface Knowledge Base Editor
19
Design - Interface
20
Design – Test Plan Module Testing Module Testing Integration Testing Integration Testing After the knowledge base editor and publish-to-web functionality is completed, integration testing will be performed After the knowledge base editor and publish-to-web functionality is completed, integration testing will be performed System Testing System Testing After each development cycle, the system will be testing using HCI methods After each development cycle, the system will be testing using HCI methods Acceptance Testing Acceptance Testing Throughout the development cycle, the system will be exhibited to our client to ensure his needs are met Throughout the development cycle, the system will be exhibited to our client to ensure his needs are met
21
Team Organization
22
Planned Project Lifecycle Modified Evolutionary Delivery
23
Planned Schedule
24
What we produced Demonstrate system here.
25
Actual Schedule
26
Retrospective – Publish Implemented using Dynamic HTML Implemented using Dynamic HTML No experienced team members No experienced team members Unable to find useful reference – what we were doing was original Unable to find useful reference – what we were doing was original Tried to use a self-submitting form - this was impossible Tried to use a self-submitting form - this was impossible Found a solution using Document.InnerHTML, but time was lost Found a solution using Document.InnerHTML, but time was lost
27
Retrospective – Publish Intended to use inference engine logic from FreeShell Intended to use inference engine logic from FreeShell FreeShell code was poorly commented / formatted FreeShell code was poorly commented / formatted Once code was understood, it was discovered to be incorrect Once code was understood, it was discovered to be incorrect Successfully coded a new inference engine from scratch, but more time lost Successfully coded a new inference engine from scratch, but more time lost
28
Retrospective - Interface Planned interface was found to lack necessary features, this forced a redesign Planned interface was found to lack necessary features, this forced a redesign After review of interface, a more significant overhaul was found to be necessary After review of interface, a more significant overhaul was found to be necessary
29
What is an expert system? Expert System Expert System Expert System Expert System Emulates the knowledge of real expert Emulates the knowledge of real expert Consists of a knowledge base and an inference engine Consists of a knowledge base and an inference engine Often used for diagnosis – a nurse can use an expert system to make a diagnosis that would normally require a doctor Often used for diagnosis – a nurse can use an expert system to make a diagnosis that would normally require a doctor
30
Interface Design
31
Testing Code reading Code reading Acceptance testing Acceptance testing Usability testing Usability testing Tyler ran the system and broke it Tyler ran the system and broke it
32
Reflections We used the old KBE to start developing. We should have scrapped it. We used the old KBE to start developing. We should have scrapped it.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.