Software Product Description ___________________________________________________________________ PRODUCT NAME: DEC OPS5 for OpenVMS, Version 4.0A SPD 27.04.07 DESCRIPTION DEC OPS5 is a development environment (Compiler, Run-Time Library, and DECwindows Motif(R)-based programming/debugging environment) for con- structing high performance, forward chaining, rule-based applications. A rule (or production) is defined as an "if-then" statement consist- ing of a conditional part, called the Left Hand Side (LHS), and an ac- tion sequence, called the Right Hand Side (RHS). Rules operate on in- memory objects that represent concepts or entities in the real world. These objects, called Working Memory Objects, are composed of a set of attributes and their associated values. During each recognize-act cycle, OPS5 examines the LHS of all active rules to determine which rules' LHS conditions are satisfied given the current state of visible Working Memory Objects. It then applies con- flict resolution criteria to determine which rule should have its ac- tion sequence executed. Actions can modify the state of Working Mem- ory Objects. This cycle is repeated until no more rules are satisfied or until a rule explicitly halts processing. A rule-based language differs from a conventional programming language in that rules are not processed in sequential order, rather, the or- der of execution is driven by the current state of working memory data. DEC OPS5 is the preferred tool for developing high-performance, com- mercial quality rule-based systems. Systems developed with DEC OPS5 are well suited to solve problems in: o Configuration o Selection DIGITAL May 1993 AE-GJ25G-TE o Diagnosis o Process monitoring and control o Scheduling o Planning o Decision support o Rapid prototyping Applications involving these problems are found in such industries as petrochemical, insurance, banking, transportation, aerospace, educa- tion, and government. DEC OPS5 is an evolution of the OPS5 language as described in the OPS5 User's Manual by Charles L. Forgy, Department of Computer Science, Carnegie- Mellon University. DEC OPS5 for OpenVMS is the first in a new line of rule-based language products with enhanced functionality over OPS5. DEC OPS5 for OpenVMS provides an upward compatible migration path for users of VAX OPS5 V3.0 or earlier versions. The DEC OPS5 language is also available in source-compatible form on the RISC/ULTRIX and DEC OSF/1(R) platforms with some minor restrictions. Refer to the DEC OPS5 for RISC Software Product Description (SPD 39.31.xx) for details. Applications written in DEC OPS5 can call routines written in other languages, and those routines can, in turn, call the DEC OPS5 Run-time system. A main program written in another language can also call a DEC OPS5 application. Features o Call-out with automatic argument type conversion o Disjunctions of Condition Elements o DECwindows Motif support for the OPS5 Development Environment 2 o New set of NAS-compliant Run-Time Library routines, including data type conversion functions o A built-in SQL interface to DEC Rdb for OpenVMS for easy database access o Single inheritance relations between classes of objects o Default values for attributes o Multi-valued attributes including new match predicates o Unique Object identifiers o WMHISTORY and PPCLASS debugging commands o COPY action o CONCAT function DEC OPS5 for OpenVMS consists of three components: the Compiler, the Run-Time System, and Development Environment. 3 Compiler DEC OPS5 achieves high performance through a compiled language imple- mentation, and utilizes a technique called the Rete Match Algorithm to represent the interdependencies of rules and data in a highly ef- ficient way. The Rete network greatly speeds up the pattern-matching (inference) operation by eliminating the need for exhaustive redundant tests at execution time. The DEC OPS5 compiler translates the Rete Network into position-independent VAX instructions, into a standard VAX/OpenVMS ob- ject module. By default, DEC OPS5 automatically generates an executable image, or the user can opt to modularly compile several OPS5 files to be linked together later into an executable or shareable image, possibly includ- ing object modules from other languages. This capability facilitates the integration of DEC OPS5 programs into larger applications that include components developed in other lan- guages. These implementation techniques enable DEC OPS5 applications to run faster and allow better integration than techniques using interpreter- or LISP-based forward-chaining implementations of rule-based languages. DEC OPS5 also features an incremental compiler, callable at run-time, that greatly facilitates the prototyping, debugging and testing of DEC OPS5 applications. SQL Interface DEC OPS5 provides a built-in interface to SQL (Structured Query Lan- guage) that allows users to easily read data from a DEC Rdb for Open- VMS database into working memory, and write working memory data to a database. The SQL interface consists of built-in RHS actions that al- low fetch, insert, and update operations with either a simple, one- to-one mapping between object class names and database table names, and a corresponding one-to-one mapping between objects and tuples, or a more flexible form which supports arbitrary mappings. 4 Installation of the DEC OPS5 SQL interface is optional, and requires DEC Rdb for OpenVMS. Run-Time System DEC OPS5 Run-time system implements the rule inference mechanism by sequencing through all the rules in a program called the recognize- act cycle. The cycle consists of the following steps: 1. Recognize - Examine the current contents of working memory to lo- cate all objects that satisfy the LHSs of rules. 2. Conflict Resolution - Select one rule with a satisfied LHS; if there is no satisfied LHS, then halt. 3. Act - Execute the RHS of the selected rule. 4. Return to Step 1. DEC OPS5 Run-time system also includes a command interpreter that lets the user control the running of DEC OPS5 programs, and issues debug- ging commands, including: o A BUILD command for incrementally compiling a startup, production, or catcher into a running program. o A RESTART command for resetting execution context and reexecuting the startup. DEC OPS5 Run-time system also provides a set of service routines callable from other languages. Development Environment DEC OPS5 provides an optional DECwindows Motif based Development En- vironment that integrates the steps required to create, run, debug, and revise DEC OPS5 programs. Users can create or modify source code, then test, debug, and correct the altered program without recompil- ing and relinking the entire program. 5 Development Environment Features o Standard DECwindows Motif interface with user-customizable options o Integrated text editor (choice of QuickEdit, VAXTPU-based EVE, or user's choice) o One or more trace windows o One-to-one correspondence between modules and OpenVMS files o Single-user system with temporary and permanent source code databases o Task-oriented and context-sensitive on-line Help o Uses any bitmapped graphics display that supports DECwindows Mo- tif (operates correctly on color display but does not make special use of color) o Executes stand-alone on a VAXstation or AXP workstation, or in DECwin- dows Motif client/server mode (DEC OPS5 running on an OpenVMS com- pute server and graphics running on a DECwindows Motif display server) Installation of the DEC OPS5 Development Environment component is op- tional. Users without access to bitmapped display devices or DECwin- dows Motif can still develop applications by using individual DCL com- mands to edit, compile, link, debug and run DEC OPS5 programs, using character-cell terminals. HARDWARE REQUIREMENTS Processor and/or hardware configurations as specified in the System Support Addendum (SSA 27.04.07-x). SOFTWARE REQUIREMENTS For Systems Using Terminals (No DECwindows Motif Interface): 6 For OpenVMS AXP Systems o OpenVMS AXP Operating System For OpenVMS VAX Systems o OpenVMS VAX Operating System For Workstations Running DECwindows Motif: For OpenVMS AXP Systems o OpenVMS AXP Operating System o DECwindows Motif for OpenVMS AXP For OpenVMS VAX Systems o OpenVMS VAX Operating System o VMS DECwindows Motif Refer to the System Support Addendum (SSA 27.04.07-x) for availabil- ity and required versions of prerequisite/optional software and for information regarding components of DECwindows. ORDERING INFORMATION DEC OPS5 Development Envirionment for OpenVMS: Software Licenses: Personal Use (OpenVMS AXP and OpenVMS VAX): QL-913AA-2B Traditional (OpenVMS AXP): QL-0JJA*-** Traditional (OpenVMS VAX): QL-913A*-** Software Media: QA-913AA-** Software Documentation: QA-913AA-GZ Software Product Services: QT-913A*-** 7 o Denotes variant fields. For additional information on available li- censes, services, and media, refer to the appropriate price book. SOFTWARE LICENSING Licensees of DEC OPS5 may reproduce and distribute delivery applica- tions software developed with DEC OPS5, provided such programs are: (1) in accordance with the provisions of Licensee's standard software license; (2) with Licensee's copyright notice included on such pro- grams; or (3) if conditions (1) or (2) are not met, with Digital's COPY- RIGHT notice included on such programs. This software is furnished under the licensing provisions of Digital Equipment Corporation's Standard Terms and Conditions. For more in- formation about Digital's licensing and policies, contact your local Digital office. License Management Facility Support: This layered product supports the OpenVMS License Management Facil- ity. License units for this product are allocated on an Unlimited System Use plus Personal Use basis. Each Personal Use License allows one identified individual to use the layered product. For more information on the License Management Facility, refer to the appropriate OpenVMS Operating System Software Product Description or documentation set. SOFTWARE PRODUCT SERVICES A variety of services are available from Digital. For more informa- tion, contact your local Digital office. 8 SOFTWARE WARRANTY Warranty for this software product is provided by Digital with the pur- chase of a license for the product as defined in the Software Warranty Addendum of this SPD. (R) OSF/1 and Motif are registered trademarks of Open Software Foundation, Inc. [TM] The DIGITAL Logo, Alpha AXP, AXP, CI, DEC, DECwindows, Digi- tal, MicroVAX, OpenVMS, TK, VAX, VAXcluster, VAXft, VAXserver, VAXstation, DEC OPS5, Rdb/VMS, and VMS are trademarks of Digi- tal Equipment Corporation. 9