PRODUCT NAME: VAX OPS5, Version 3.0 SPD 27.04.04 PRODUCT DESCRIPTION VAX OPS5 is DIGITAL's high-performance implementation of the OPS5 language as described in the OPS5 User's Manual by Charles L. Forgy, Department of Computer Science, Carnegie-Mellon University. VAX OPS5 is the tool of choice for developing commercial quality rule-based systems. With Version 3.0, VAX OPS5 provides a DECwindows-based Development Environment that integrates the steps required to create, run, debug, and revise VAX OPS5 programs. Production (rule-based) systems developed with VAX OPS5 can solve problems in configuration, selection, diagnosis, process monitoring and control, scheduling, planning, decision support, and rapid prototyping. Applications involving all these problems are found in such industries as petrochemical, insurance, banking, transportation, aerospace, education, and government. A production system is a computer program consisting entirely of "if-then" statements called productions or rules. Production systems maintain two databases: working memory and production memory. Working memory contains a model of the current state of the problem; production memory stores the rules that solve the problem. Productions are structured such that if a set of conditions about working memory is true, a specified set of actions should be executed. The two parts of a production are called the Left Hand Side (LHS) for the conditional part and the Right Hand Side (RHS) for the action sequence. The VAX OPS5 run-time system sequences through all the productions in a system in what is called the recognize-act cycle. The cycle consists of the following steps: 1. Recognize -- Examine the current contents of working memory to locate all elements that satisfy the LHSs of productions. 2. Conflict Resolution -- Select one production with a satisfied LHS; if there is no satisfied LHS, then halt. 3. Act -- Execute the RHS of the production. 4. Return to Step 1. A production system differs from a conventional programming language that has an "if-then" structure in that productions are not processed in sequential order. Only those productions with satisfied LHSs are evaluated, and only one of them is selected for execution. The result of executing the selected production is some modification to working memory rather than the assignment of values to variables. There is no need for loops or conditional branches as in conventional languages. Production systems written in VAX OPS5 can call routines written in other VMS languages, and those routines can, in turn, call the VAX OPS5 system. The VAX OPS5 product directory contains files that define the support routines for the following VMS languages: VAX Ada, VAX BASIC, VAX BLISS-32, VAX C, VAX FORTRAN, and VAX PASCAL. VAX OPS5 Version 3.0 consists of three components: the Development Environment, the Compiler, and the Run-Time System. Development Environment With the Development Environment, users can create or modify source code, then test, debug, and correct the altered program quickly with the new instructions in effect. Features include: oo Standard DECwindows interface with user-customizable options oo Integrated text editor (choice of QuickEdit, VAXTPU-based EVE, or user's choice) oo One or more trace windows oo One-to-one correspondence between modules and VMS files oo Single-user system with temporary and permanent source code databases oo Task-oriented and context-sensitive on-line help oo Uses any bitmapped graphics display that supports DECwindows (operates correctly on color display but does not make special use of color) oo Executes stand-alone on a VAXstation or in DECwindows client/server mode (VAX OPS5 running on a VMS compute server and graphics running on a DECwindows display server) Installation of the VAX OPS5 Development Environment component is optional. Users without access to bitmapped display devices or DECwindows can still develop applications by using individual DCL commands to edit, compile, link, and run VAX OPS5 programs. This mode of development is appropriate for systems running VMS Workstation Software (VWS) or that have only character-cell terminals such as the VT200 and VT300 series. Compiler VAX OPS5 features a high-performance incremental compiler. It creates a network that embodies a highly efficient representation of the interdependencies of productions, called the Rete Network. This network eliminates redundant tests that would otherwise be performed in an exhaustive pattern-matching (inference) operation. The compiler translates the Rete Network into position-independent VAX instructions, and the output is a standard object module that can be linked into VMS executable or shareable images. This facilitates integration into the broader VAX environment (for example, working with applications developed in other languages). The compiled Rete Network gives VAX OPS5 application performance that is typically much faster than interpreter- or LISP-based OPS5 implementations. The performance and integration of VAX OPS5 offer significant advantages over other implementations of OPS5. Run-Time System The run-time system is a suite of routines that form part of an application's running image. All the routines reside in memory and can be shared among users -- a competitive feature of VAX OPS5. Also included are a command interpreter that adds to user control of running VAX OPS5 programs and other service routines. Features include: oo Run-time system support routines for interfacing to routines written in other VMS languages. oo BUILD command for incrementally compiling a startup, production, or catcher into a running program. oo RESTART command for resetting execution context and reexecuting the startup. oo No separate run-time license required for application delivery. HARDWARE REQUIREMENTS VAX, MicroVAX or VAXstation configuration as specified in the System Support Addendum (SSA 27.04.04-x). The performance and memory usage of DECwindows applications are particularly sensitive to system configuration. Less memory may be required on the client system (the system where the software is installed and executed) if the server (the component that displays the application) resides on another system. More memory may be required on a system with several applications running or may be desirable to improve the performance of an application. SOFTWARE REQUIREMENTS For VAX systems using terminals: (No DECwindows interface) oo VMS Operating System For VAXstations running VWS: oo VMS Operating System oo VMS Workstation Software For VAXstation systems running DECwindows: oo VMS Operating System (and necessary components of VMS DECwindows) Refer to the System Support Addendum for availability and required versions of prerequisite/optional software and for information regarding components of VMS DECwindows. ORDERING INFORMATION Software Licenses: QL-913A*-** Software Media: QA-913AA-** Software Documentation: QA-913AA-GZ Software Product Services: QT-913A*-** * Denotes variant fields. For additional information on available licenses, services and media refer to the appropriate price book. SOFTWARE LICENSING Licensees of VAX OPS5 may reproduce and distribute delivery applications software developed with VAX 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 programs; or (3) if conditions (1) or (2) are not met, with DIGITAL's COPYRIGHT notice included on such programs. This software is furnished under the licensing provisions of DIGITAL's Standard Terms and Conditions. For more information about DIGITAL's licensing and policies, contact your local DIGITAL office. LICENSE MANAGEMENT FACILITY This product supports the VMS License Management Facility. License units for this product are allocated on a CPU-capacity basis. For more information on the License Management Facility, refer to the VMS Operation System Software Product Description (SPD 25.01.xx) or the License Management Facility Manual of the VMS Operating System documentation set. For more information about DIGITAL's licensing terms and policies, contact your local DIGITAL office. SOFTWARE PRODUCT SERVICES A variety of services are available from DIGITAL. For more information contact your local DIGITAL office. SOFTWARE WARRANTY Warranty for this software product is provided by DIGITAL with the purchase of a license for the product as defined in the Software Warranty Addendum of this SPD.