1 / 32

FreeShell Live Final Presenation

FreeShell Live Final Presenation. Jonathan Birch | Greg Chabala | Bryan Kimbro | Mark Sparks. Overview. Introduction Expert systems Expert system shells Original FreeShell Requirements Project design and plan Demo Retrospective. Introduction.

Download Presentation

FreeShell Live Final Presenation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FreeShell LiveFinal Presenation Jonathan Birch | Greg Chabala | Bryan Kimbro | Mark Sparks

  2. Overview • Introduction • Expert systems • Expert system shells • Original FreeShell • Requirements • Project design and plan • Demo • Retrospective

  3. Introduction • 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 • Uses expert system shell to teach CS 490 – Expert Systems • Upper Management – Dr. Bernard Waxman / Dr. Bryon Ehlmann

  5. What is an Expert System? • Software that contains a collection of rules • 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

  6. Here’s an example: • User: Should I carry an umbrella? • System: Is it raining? • User: No • System: What does the sky look like? • User: Cloudy • System: What is the barometric pressure in µPa? • User: 1000 • System: There is a 90% chance you should carry an umbrella.

  7. How do they work? • Expert systems have two main parts: • 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

  8. How do they work? • 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.

  9. What does FreeShell do? • FreeShell is an expert systemshell. It provides an interface for users to build knowledge bases. • 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 • Wanted ability to publish expert systems as web pages • Old program had major bugs • Limited editing ability

  11. Functional Requirements • 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 • Certainty factor algebra to deal with uncertainty and probability

  12. Functional Requirements • Completeness Checking • Contradiction Checking • Ability to ask “Why?”

  13. Non-Functional Requirements • Design system must run on Windows (2000/NT/XP) platform • Web-based GUI must run in Internet Explorer 6.0 or higher • GUIs must be designed for ease of use • System must be designed to respond quickly to users

  14. Non-Functional Requirements • System must be well documented and easy to modify • Documentation must include a tutorial and sample knowledge bases

  15. Use Case Model

  16. Design - Tools • Software • Microsoft Visual Studio .NET • Languages • Visual Basic .NET • Visual C++ .NET • JavaScript • HTML

  17. Design – System • Interface design • Largely carried over from previous system • Some major screen changes and additions • Persistent data • Flat text file corresponding to knowledge base • HTML file for Publish-to-Web functionality

  18. Design - Interface Knowledge Base Editor

  19. Design - Interface

  20. Design – Test Plan • Module Testing • Integration Testing • After the knowledge base editor and publish-to-web functionality is completed, integration testing will be performed • System Testing • After each development cycle, the system will be testing using HCI methods • Acceptance Testing • 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 • No experienced team members • Unable to find useful reference – what we were doing was original • Tried to use a self-submitting form - this was impossible • Found a solution using Document.InnerHTML, but time was lost

  27. Retrospective – Publish • Intended to use inference engine logic from FreeShell • FreeShell code was poorly commented / formatted • Once code was understood, it was discovered to be incorrect • 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 • After review of interface, a more significant overhaul was found to be necessary

  29. What is an expert system? • Expert System • Emulates the knowledge of real expert • 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

  30. Interface Design

  31. Testing • Code reading • Acceptance testing • Usability testing • Tyler ran the system and broke it

  32. Reflections • We used the old KBE to start developing. We should have scrapped it.

More Related