RuleWorks

Glossary

An imagemap of  the alphabet


active

1. Moving; functioning.

2. In RuleWorks, the active entry block is the one that is running; more precisely, it is the one whose call frame is on top of the stack.

ancestor

In RuleWorks, an object class that is directly or indirectly the parent of another class; its parent, or its parent's parent, and so on.

atom

1. An indestructible unit of matter.

2. In RuleWorks, the basic unit of data: can be an integer, a floating-point number, a symbol, or an instance identifier.

attribute

1. A quality or characteristic belonging to a person or thing.

2. In RuleWorks, one part of a Working Memory Object (WMO); it has a name and a value and describes some characteristic of the associated WMO. A reference to an attribute consists of the attribute operator (^) followed by the attribute name.

3. In database terminology, a field.

attribute-value tests

An attribute name followed by some value expression that represents a constraint upon the possible values of the attribute that must be satisfied for a WMO to match.



call frame

A standard data structure built ("pushed") on the execution stack during a procedure call, and retrieved ("popped off") during a return from procedure.

catcher

In RuleWorks, an executable construct that fires after a specified number of recognize-act cycles.

class

1. A set, collection, group, or configuration containing members having or thought to have at least one characteristic in common.

2. A group of objects bound by common characteristics that are unique to members of that group. For example, dog objects and cat objects share common characteristics that enable them both to belong to the class of objects called Animals.

3. Used as a shortened form of the term object class.

4. A grouping of objects formed on the basis of common dates or versions that can be used to create a base level. CMS uses the term class in this way.

class specificity

A criterion of conflict resolution that refers to the position of object classes in the inheritance hierarchy. Rules that have higher class specificity (that is, whose condition elements match classes lower in the inheritance hierarchy) have higher priority. For example, a rule that matches an object of class DOG has higher priority than a rule that matches an object of class ANIMAL.

compound attribute

A single attribute that has multiple scalar values.

compound element

A single scalar value within a compound value.

compound predicate

A predicate that represents a constraint upon a compound attribute.

compound value

An ordered collection of scalar values belonging to a variable or to a compound attribute.

compound variable

A variable bound to a compound value.

condition element (CE)

The expression on the LHS of a rule that establishes one of a set of conditions that must be satisfied by a single object in order for the rule to fire.

conflict resolution

The procedure used to determine which instantiation in the conflict set fires next.

conflict set

A list of instantiations that are eligible to fire. The conflict set is updated each recognize-act cycle.

construct

A unit of RuleWorks source code that is enclosed in parentheses. The first token after the opening parenthesis must be a keyword that defines the type of the construct (for example, RHS action, ON-ENTRY statement, and so on).


default value

A predefined value that is used for an attribute if one is not explicitly specified at the time an object is created.

descendant

In RuleWorks, an object class that directly or indirectly inherits from a parent class.


element

1. One item in a collection, for example, one value of a compound value.

2. A fundamental, essential, or irreducible constituent of a composite entity.

See also compound element and condition element.

element-wise access

Accessing an element in a compound attribute using an index expression.

element-wise modification

a change to a single element in a compound attribute that leaves all other existing values untouched. See also group-wise modification.


fill value

1. Something added to augment weight or size or to fill space.

2. In RuleWorks, a place holder used when the length of a compound attribute is dynamically increased during an element-wise modification.

fire

In RuleWorks, a shorthand way to express "given a selected instantiation, execute the actions in the RHS of the instantiation's rule."


group-wise modification

A replacement of the entire contents of the compound attribute.

See also element-wise modification.


hierarchy

1. A collection of entities organized according to rank, capacity, generality, or authority.

2. In RuleWorks, the collection of object classes organized according to generality.

$ID variable

A variable bound or matched to the ^$ID attribute of a WMO on the LHS of a rule; used to copy, modify, or remove WMOs.


inheritance

1. The act of receiving (property or characteristics) from an ancestor.

2. In RuleWorks, the relationship between a class and its parent class. Classes inherit membership, attributes, and default values for attributes.

instance identifier

An atom of data type INSTANCE-ID that uniquely identifies an object in working memory, that is, a particular instance of an object class.

instantiation

A rule and all of the WMOs that match the CEs in it. Instantiations are placed in the conflict set.

interelement match

A constraint upon matching that uses attribute values from two different condition elements and (typically) two different objects.

intraelement match

A constraint upon matching that uses attribute values from a single condition element (and object).




left-hand side (LHS)

The collection of condition elements in a rule that must all be satisfied for the rule to be eligible to fire.


membership

An object's inclusion in a class, or other organized grouping.

module

In RuleWorks Version 1.1, source code contained in one or more files that can be compiled with a single OPS5 command. RuleWorks programs can consist of a single module or multiple modules.


negated condition element

A condition element in which the condition stated cannot be true for the rule to be satisfied and therefore eligible to fire.


object

See working-memory object


parent class

A class in a class inheritance hierarchy that is connected to one or more subclasses.

persistent database

A stable storage database that maintains elements beyond the run-time environment, for example, an SQL database.

predicate

1. A statement or assertion relating two or more objects or values in a specific way.

2. In RuleWorks, a constraint of some kind between the value of an attribute in an object and some other value expression. For example, in ^x > 0 and ^name = smith, the greater-than and equals signs are the predicates.

print form

The character string used by RuleWorks when writing an atom. The print form of a symbol may be different from the characters you gave to RuleWorks. See found. For examples; see also read form.



read form

The characters read by RuleWorks when creating an atom.

recency

A criterion of conflict resolution that refers to the order in which WMOs are created. The more recent the WMOs in an instantiation, the higher its priority for execution.

recognize-act cycle

The pattern-matching procedure followed by the RuleWorks run-time system. It consists of the following steps:

Match Examine the current contents of working memory to locate all combinations of objects that satisfy the condition elements in the left-hand sides of the program's rules. Place all instantiations in the conflict set.

Select Using an ordered sequence of criteria, select one instantiation from the conflict set. If the conflict set is empty (because no left-hand side has been satisfied) the program halts.

Act Execute the actions on the right-hand side of the selected rule.

You can think of the match and select steps together as recognizing which is the best rule to fire (be executed), thus the term recognize-act cycle.

refraction

A criterion of conflict resolution whereby the same instantiation of a rule cannot be executed more than once.

right-hand side (RHS)

The collection of language constructs (known as actions) in a rule that are executed when an instantiation of that rule is selected.

root

The highest class in an inheritance hierarchy. RuleWorks implicitly defines the root class to be named $ROOT.

rule

An executable construct that fires when some combination of objects in working memory matches specified conditions. Each rule has a name and consists of a set of conditions called the left-hand side (LHS), and a set of actions called the right-hand side (RHS).


specificity

See class specificity and test specificity.

SQL (Structured Query Language)

A standardized data definition and data manipulation language for relational databases. Using SQL, a user can create a database, load it with data, and read and update both data and data definitions.

statement

A RuleWorks construct that is executable, such as a rule or an "ON-" statement.

subclass

The relationship between an object class and its parent class.


test specificity

A criterion of conflict resolution that refers to the total number of attribute-value tests on the LHS of a rule. Rules that have higher specificity, that is, more LHS tests, have higher priority.

time-tag

A unique number assigned to each WMO when it is created or changed. This number acts as a time stamp and is used to identify which WMOs are more recent than others for purposes of conflict resolution.



visible

1. Able to be seen; perceptible.

2. In RuleWorks, that portion of working memory which can be matched by rules.


working memory

The in-memory database that stores objects describing a problem and the current state of its solution.

working-memory object (WMO)

A component of working memory that is an instance of a class and has attributes and values. The attributes and their values describe the object's characteristics.