Reference &
User Manual
    RTXPS  On-line Reference Manual

      Release Level 2.0
      Release Date 2012 06
      Revision Level 1.0
    Document was last modified on:   Tuesday, 14-Aug-12 08:45 CEST

    One page summary

    RTXPS is a forward-chaining expert system operating in real-time (time aware): the forward chaining loop is executed continuously with a configurable frequency (e.g., synchronized to once per second). If the full set of RULES and any foreground tasks triggered can not be evaluated within this period, a parallel instance (thread) of the forward chaining inference loop is started.

    Several FUNCTIONS obtain, compare and use variables (DESCRIPTORS) from a dynamic Knowledge Base, including ABSOLUTE (systems) and ELAPSED TIME, they read/write user defined TIMERS that measure elapsed time between user defined triggers, setpoints or external events. The TIMERS are also used in the RULES that determine the conditional execution of the FUNCTIONS.

    This makes it possible to execute sequences of conditional and scheduled tasks with complex interdependencies and conditional scheduling or event driven, including the execution and interpretation of dynamic simulation (forecasting) or optimization (operational control) models. These ACTIONS can also be based on the values of remote (real-time) sensors that can update the Dynamic Knowledge Base asynchronously.

    The ACTIONS are executed in a combination of fully embedded (foreground, within the forward chaining inference loop) and background (batch) jobs. Communication and coordination is based on a Dynamic Knowledge Base, implemented in any industry standard relational data base system.

    This data base also serves as repository for any external communication (asynchronous user inputs, monitoring sensor data).

    RTXPS can be run in several distinct modes:

    1. automatic, autonomous, continuously; here the forward chaining loops runs continuously, and is controlled only by the RULES and ACTIONS executed;
      in the continuous mode, an external watchdog monitors the forward chaining loops and restarts if necessary to ensure mission critical reliability.

    2. interactively, which include functions that trigger display, interactive editors, and user dialog in general. Here, the forward chaining loop can be controlled by the user with interactive input: whenever input from the user is requested, the system will wait for that input, unless a TIMEOUT is defined for the dialog with a default continuation without interactive user input.

    3. These two basic modes can also be combined: the autonomous loop runs, and generates and updates an interactive user interface and status display based on dynamic HTML pages; user input via that interface updates the Dynamic Knowledge Base, and will be considered with the next RULE executed that refers to any of the updated Descriptors.

    The dynamically generated and updated (scheduled or event based) HTML pages provide a Status Board or dashboard status indication of the system that RTXPS supervises and controls with the option of direct operator interventions.

    Basic RULE syntax and logic

    RTXPS uses basic production RULES in first order logic.

    The generic RULE syntax is:

      IF   CONDITION1 
    where   CONDITION is short for CONDITION = TRUE, and a construct of the form:
        IF TRUE   (unconditionally true, will always execute)
        IF function()   arbitrary function call, using DESCRIPTORs as arguments
           or uses the dynamic Knowledge Base for its context/input,
           that returns TRUE or FALSE
        IF DESCRIPTOR OPERATOR VALUE (direct comparison/evaluation see below, 
         or triggering  backward chaining inference tree of arbitrary nesting 
         and number of RULES; alternative METHODS/branches and optional defaults guarantee 
         completion of the inference even with limited/lacking data)
    where OPERATOR can be any one of the basic first logic operators:  =,   ≠,   >,   ≥,   <   ≤ .

    Descriptors are user defined (supported by on-line Knowledge Base Editors) variables with a hybrid (numerical and symbolic) representation (symbols linked to intervals of the numerical range). Descriptors are maintained in the Dynamic Knowledge Base, and can be

    • set by RULES
    • set by the user interactively
    • set by external communication channels (e.g., sensor data)

    ACTION can be an arbitrary user defined function (executable), or any one from a set of pre-defined built-in functions such as set_descriptor_value() or html_display().

    Communication channels

    ACTIONS can also trigger various forms of communication, sending dynamically composed messages (reports, alerts, warnings) to a pre-defined group of recipients by updating web pages, Email, SMS (or even fax), directly writing into networked data bases, or any communication protocol based on TCP/IP.

    The communication can also include messages from and to RTUs (Remote Terminal Units) or actuators, triggering or setting relays, or SCADA (supervisory control and data acquisition) systems for industrial control purposes.


    A special case or application of RTXPS is CourseWare, an interactive web-based distance learning tool. CourseWare generates a (conditional) sequence of HTML pages that contain interactive elements such as questions and embedded tests.

    On the basis of course specific RULE sequence (including conditional loops using rule-triggered setpoints), RTXPS decides which action (course content display) is to be conducted next. ACTIONS consist of one or more functions including which one that creates an html page which is sent to the client. Pages can contain in-text functions - tools to display or edit descriptors (embedded questions) or graphical elements which are created dynamically, links to interactive models, or tests to monitor student activity and comprehension.

© Copyright 1995-2018 by:   ESS   Environmental Software and Services GmbH AUSTRIA | print page