24.11.2014 Views

flex Expert System Toolkit - LPIS

flex Expert System Toolkit - LPIS

flex Expert System Toolkit - LPIS

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1. Introduction 11<br />

Each frame or instance has a set of slots that contain attributes<br />

describing the frame's characteristics. These slots are analogous to fields<br />

within records (using database terminology) except that their expressive<br />

power is greatly extended.<br />

Frames inherit attribute-values from other frames according to their<br />

position in the frame hierarchy. This inheritance of characteristics is<br />

automatic, but can be controlled using different built-in algorithms.<br />

Questions and Answers<br />

Flex has a built-in question and answer sub-system that allows final<br />

applications to query the user for additional input via interactive dialogs.<br />

These screens can be simple pre-defined ones, or complex, sophisticated<br />

screens constructed using Prolog's own screen handling facilities and then<br />

attached to the question and answer sub-system.<br />

Explanations<br />

Flex has a built-in explanation system which supports both how and why<br />

explanations. Explanations can be attached to both rules and questions using<br />

simple because clauses.<br />

Data-driven Programming<br />

Flex offers special procedures which can be attached to collections of<br />

frames, individual frames or slots within frames. These procedures remain<br />

dormant until activated by the accessing or updating of the particular<br />

structure to which they have been attached. There are four different types of<br />

data-driven procedures available within <strong>flex</strong>: launches, demons,<br />

watchdogs, and constraints.<br />

Knowledge Specification Language<br />

Flex has its own expressive English-like Knowledge Specification Language<br />

(KSL) for defining rules, frames and procedures. The KSL enables<br />

developers to write simple and concise statements about the expert's world<br />

and produce virtually self-documenting knowledge-bases which can be<br />

understood and maintained by non-programmers. The KSL supports<br />

mathematical, boolean and conditional expressions and functions along with<br />

set abstractions; furthermore, the KSL is extendable through synonyms and<br />

templates. By supporting both logical and global variables in rules, <strong>flex</strong><br />

avoids unnecessary rule duplication and requires fewer rules than most other<br />

expert systems.<br />

<strong>flex</strong> toolkit

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!