Embedded Expert System Syntax

The embedded expert system can server a number of functions:

  • estimation of parameters, e.g., for simulation models;
  • checking completeness, consistency, and plausibility of user specifications;
  • interpretation of complex (model generated) data sets.
For a complex application example, see the Environmental Impact Assessment example.

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


The complete syntax of a descriptor is:
       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>
       T <model_type>
       I <input_descriptor> / <input_descriptor> /
       O <output_descriptor> / <output_descriptor> /
       <alternative defs>
       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>

A simple example for a descriptor of the reservoir expert system is 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.


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

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:

U Mill.m3
V very_small[0,30] / small[30,150] / medium[150,3000] /
V large[3000,30000] / very_large[30000,300000] /
T local_wait
I hemisphere / east_west / longitude / latitude /
O mean_annual_inflow /
Q what is the long term average mean annual inflow,
Q in Million meter cubed, to the reservoir
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-2019 by:   ESS   Environmental Software and Services GmbH AUSTRIA | print page