Browse Prior Art Database

OPS4 User's Manual Disclosure Number: IPCOM000148064D
Original Publication Date: 1979-Jul-31
Included in the Prior Art Database: 2007-Mar-28
Document File: 52 page(s) / 2M

Publishing Venue

Software Patent Institute

Related People

Forgy, Charles L.: AUTHOR [+2]


Charles L. Forgy

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 5% of the total text.

Page 1 of 52

OPS4 User's Manual

Charles L. Forgy

July, 1979

Department of Computer Science Carnegie-Meilon University Pittsburgh, Pennsylvania 15213

Copyright (C) 1979 Charles L. Forgy

  This research was sponsored by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 3597, monitored by the Air Force Avionics Laboratory under Contract F336 15-784- 155 1.

  The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the US Government.

[This page contains 1 picture or other non-text object]

Page 2 of 52

[This page contains 1 picture or other non-text object]

Page 3 of 52

fable of Contents

I. Introduction
2. Basic Features of the Language

2.1 LISP
2.1.1 LISP Data Types
2.1.2 NIL
2.1.3 Equality
2.2 Working Memory
2.3 Production Memory
2.4 The LHS
2.4-1 Condition Elements
2.4.2 Multiple Condition Elements
2.4.3 Negated Condition Elements
2.4.4 Restrictions on the LHS
2.5 The RHS
2.5.1 Explicit and Default Effects
2.5.2 LHS Primitives in the RHS
2.5.3 RHS functions for Describing Elements


2.5.1 1 Input -Output
2.5.12 Manipulating Production Memory

3. Operation of the Interpreter

3.1 Match
3.2 Conflict Resolution
3.2.1 The Canflict Resolution Algorithm
3.2.2 Adding Elements a Second Time
3.3 Act
3.3.1 Elements Acted Upon Multiple Times

4. Building, Manipulating, and Executing Systems

4.1 Evoking the OPS4 Interpreter
4.2 Adding Praduciions to Production Memory
4.3 Executing a Production System
4.4 Interrupting Processing
4.5 Setting Switches

4.5.1 Directing the LHS Compiler

4.5.2 Tracing Executian
4.5.3 Refreshing Matched Working Memory Elements
4.5.4 Removing Old Working Memory Elements

4.5.5 Rest arfing the Production System
4.6 Examining Working Memory
4.7 Examining Production Memory
4.8 Modifying Existing Production Systems

[This page contains 1 picture or other non-text object]

Page 4 of 52

5. Extending the Base Language

5.1 New LHS Functions
5.2 New Variable Types
5.3 New RHS Functions
5.4 Examining Working Memory
5.5 New Trace Functions
5.6 Tracing

I. A Sample Production System

11. The OPS4 Read Routine 111. A Basic Set of Extensions

[This page contains 1 picture or other non-text object]

Page 5 of 52

1. Introduction

  OPS4 is a member of the class of programming languages known as production
The peculiar properties of production systems make these languages well suited to a few task domains. Because they have a particularly flexible mechanism for determining the flow of control through the program, these languages are used for Artificial Intelligence applications and for complex tasks such as command and control. Because this flexible control mechanism allows the parts of the pro...