Partners header

Embedded Expert System Specifications

The expert system uses Descriptors as its basic variables, which are linked and processed in Rules.

Descriptors

The complete syntax of a descriptor is:
  
       DESCRIPTOR  
       <descriptor_name>  
       A  <alias_for_descriptor_name>  
       T  <descriptor_type>  
       U  <unit>  
       V  <range> / <range> / <range> / ...  
       R  <rule#> / <rule#> / ...  
       TB <table#> / <table#> / ...  
       F  <function>  
       IF <interface function>  
       G  <gis_function> <gis_overlay>  
       Q  <question>  
       MODEL  
       <model_name>  
       T <model_type>  
       I <input_descriptor> / <input_descriptor> /  
       O <output_descriptor> / <output_descriptor> /  
       ENDMODEL  
       ALTERNATIVE  
       <alternative>  
       <alternative defs>  
       ENDALTERNATIVE  
       LAYOUT  
       X <window x-coordinate>  
       Y <window y-coordinate>  
       WIDTH <window width>  
       HEIGHT <window height>  
       BGCOLOR <window bgcolor>  
       BORDER_WIDTH <window borderwidth>  
       BORDER_COLOR <window bordercolor>  
       FORMAT <value selector format_string>  
       DELTA <value selector increment>  
       HYPER_INFO <hyperinfo path>   
       HYPER_X <hyperinfo x-coordinate>  
       HYPER_Y <hyperinfo x-coordinate>  
       HYPER_WIDTH <hyperinfo width>  
       HYPER_HEIGHT <hyperinfo height>  
       HYPER_TWIDTH <hyperinfo backgroundwin width>  
       HYPER_THEIGHT <hyperinfo backgroundwin height>  
       HYPER_FGCOLOR <hyperinfo foreground color>  
       HYPER_BGCOLOR <hyperinfo background color>  
       HYPER_KEYCOLOR <hyperinfo keyword color>  
       HYPER_HIKEYCOLOR <hyperinfo highlight color>  
       HYPER_SWBORDERC <hyperinfo border color>  
       ENDLAYOUT  
       ENDDESCRIPTOR  

A simple example for a descriptor of the reservoir expert system is retention_time:

  
 DESCRIPTOR  
 retention_time  
 T S  
 U days  
 V very_small[   0,  360] /   
 V small     [ 360, 1080] /   
 V medium    [1080, 1800] /  
 V large     [1800, 3600] /   
 V very_large[3600, 7200] /  
 R 7777007 /  
 Q What is the average retention time, in days,   
 Q for the reservoir ? rtention time is the theoretical  
 Q period the average volume of water spends in the reservoir,  
 Q estimated as the ratio of volume to throughflow.  
 ENDDESCRIPTOR  

Rules

The simple rule syntax that is used in conjunction with the hybrid numerical and symbolic descriptors is:

  
IF   <condition>  
THEN <action>  
<condition> := <condition <logical operator> <condition>  
            := descriptor <comparative operator> <operand>  
            := descriptor <singular operator>  
            := TRUE  
<action>    := descriptor = <assigned value>  
            := descriptor <meta operator> <constant>  
<assigned value> := <operand> <arithmetic operator> <assigned value>  
                 := descriptor  
                 := <constant>  
<logical operator>     := AND | OR  
<comparative operator> :=  < | > | <= | >= | == | !=  
<singular operator>    := EXISTS | NOT_EXISTS  
<arithmetic operator>  := [ | ] | * | / | + | -   
<meta operator>        := INCREASES_BY | DECREASES_BY  
                       := BECOMES  
<operand>   := descriptor  
            := <constant>  
<constant>  := string  
            := number  

Rules can result in the absolute assignment of descriptor values, their relative, incremental modification, or they can be used to control the inference strategy depending on context. Rules can also include simple formulas; more complex functions can be used through the generic model interface.

An example for a rule used in the reservoir expert system is:

  
   RULE 1020231  
   IF      average_reservoir_depth  == small  
   AND     retention_time            < 30  
   THEN    reservoir_stratification  = unlikely  
   ENDRULE  

Also, the user can call up a knowledge base browser, that allows to navigate in the tree structure of the knowledge base within the context of individual problems. The browser can descend the inference tree, displaying sets of rules referring to a list of descriptors and allow to inspect individual descriptor definitions.

The possibility to integrate models in place of rules in an expert system and at the same time use embedded rule-based components in models provides a very rich repertoire of building blocks for interactive software systems.

The flexibility to use, alternatively or conjunctively, both qualitative symbolic and quantitative numerical methods in one and the same application allows the system to be responsive to the information at hand, and the users requirements and constraints. This combination of methods of analysis, and the integration of data bases, geographical information systems, and hypertext, allows to efficiently exploit whatever information, data and expertise is available in a given problem situation.

An example for a descriptor of the reservoir expert system with an external model (in this particular case the inflow_model) is mean_annual_inflow:

  
mean_annual_inflow  
T S  
U Mill.m3  
V very_small[0,30] / small[30,150] / medium[150,3000] /  
V large[3000,30000] / very_large[30000,300000] /  
MODEL  
inflow_model  
T local_wait  
I hemisphere / east_west / longitude / latitude /  
O mean_annual_inflow /  
ENDMODEL  
Q what is the long term average mean annual inflow,  
Q in Million meter cubed, to the reservoir  
ENDDESCRIPTOR  

A model of human problem solving recursively refines and redefines a problem as more information becomes available or certain alternatives are excluded. This responsiveness to the problem situation and the information available, and the ability to adjust as more information becomes available, that is in a sense, learn, is a characteristic of intelligent systems.


Copyright 1995-2002 by:   ESS   Environmental Software and Services GmbH AUSTRIA