diff options
Diffstat (limited to 'static/unix-v10/man1/ops5.1')
| -rw-r--r-- | static/unix-v10/man1/ops5.1 | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/static/unix-v10/man1/ops5.1 b/static/unix-v10/man1/ops5.1 new file mode 100644 index 00000000..c7b58b27 --- /dev/null +++ b/static/unix-v10/man1/ops5.1 @@ -0,0 +1,185 @@ +.TH OPS5 1 +.SH NAME +ops5 \- a rule-based production-system environment +.SH SYNOPSIS +.B ops5 +.SH DESCRIPTION +Ops5 is a rule-based language built on Lisp. +A program consists of a collection of +if\(enthen rules and a global `working memory'. +Each rule has a conditional expression, the +.SM `LHS' +and a +sequence of actions, the +.SM `RHS'. +A +.SM LHS +consists of one or more patterns and is +`satisfied' when every pattern +matches an element in working memory. +.PP +The rule interpreter executes a `recognize-act' cycle: +.IP 1. +Match: Evaluate the +.SM LHS\*Ss +of the rules to determine which are satisfied. +.IP 2. +Conflict Resolution: Select one rule from among the ones with satisfied +.SM LHS\*Ss. +If no +.SM LHS\*Ss +is satisfied halt execution. +.IP 3. +Act: Perform the operations specified in the +.SM RHS +of the selected rule. +.PP +The top level commands +in order of usefulness are: +.TP 12 +.B watch +report on firings and working memory changes +.EX +(watch) ;Report current watch level +(watch 0) ;No report +(watch 1) ;Report rule names and working memory time tags +(watch 2) ;Report rule names, working memory time tags + ;and changes to working memory +.EE +.TP +.B load +load working memory and rule declarations +.EX +(load 'billing.l) ;Load file `billing.l' +.EE +.TP +.B run +start the rule interpreter +.EX +(run) ;Run until no rules are satisfied or halt executed +(run 1) ;Run one rule firing +.EE +.TP +.B exit +exit +.I ops5 +.EX +(exit) +.EE +.B +.TP +.B back +back up the rule interpreter +.EX +(back 32) ;Back up 32 rule firings +.EE +.TP +.B wm +display working memory +.EX +(wm 32) ;Display working memory element 32 +.EE +.TP +.B ppwm +display parts of working memory +.EX +(ppwm customer ^record bad) ;Display all customer working memory + ;elements with `bad' records +.EE +.TP +.B pm +display production or rule memory +.EX +(pm good-customer) ;Display rule `good-customer' +.EE +.TP +.B cs +print the conflict set +.EX +(cs) +.EE +.TP +.B matches +print matches for condition elements of a rule +.EX +(matches bad-customer) ;Display matches for rule `bad-customer' +.EE +.TP +.B pbreak +set a break point after a production firing +.EX +(pbreak bad-but-long-term-customer) ;Set break point after rule + ;`bad-but-long-term-customer' +.EE +.TP +.B make +make working memory elements +.EX +;Make a customer working memory element +(make customer ^name Terry ^record bad ^years 22) +.EE +.TP +.B remove +remove working memory elements +.EX +(remove *) ;Remove all working memory elements +(remove 17) ;Remove working memory element 17 +.EE +.TP +.B excise +remove rules +.EX +;Remove `good-customer' and `bad-customer' rules +(excise good-customer bad-customer) +.EE +.TP +.B openfile +open a file +.EX +;Open `ruletrace.ops' as output +;and associate it with traceoutput port +(openfile traceoutput |ruletrace.ops| out) +;Open `answers' as input and associate it with stdin port +(openfile stdin |answers| in) +.EE +.TP +.B closefile +close a file +.EX +(closefile traceoutput stdin) ;Close traceoutput and stdin ports +.EE +.TP +.B default +change default input and output files +.EX +(default nil trace) ;Change trace port back to default +(default traceoutput write) ;Change write port to traceoutput +(default stdin accept) ;Change accept port to stdin +.EE +.TP +.B strategy +select rule interpreter strategy. +.EX +(strategy) ;Report current strategy +(strategy mea) ;Selects mea strategy +(strategy lex) ;Selects lex strategy (default on startup) +.EE +.SH FILES +.TF /usr/lib/lisp +.TP +.F /usr/lib/lisp +lisp library +.SH "SEE ALSO" +Forgy, C. L., +.IR "OPS5 User's Manual" , +Department of Computer Science, +Carnegie-Mellon University, +July, 1981 +.br +lisp (1) +.SH DIAGNOSTICS +When +.I ops5 +stops executing for any reason, you are placed in the +.I lisp +top-level routine. |
