This section defines some of the terminology used throughout this manual.
abstraction The definition of new classes to describe the common
properties and behavior of a group of objects.
action A function executed by a construct (such as the RHS of
a rule) which typically has no return value, but
performs some useful action (such as the printout
action) (see section 12).
activation A rule is activated if all of its conditional elements
are satisfied and it has not yet fired based on a
specific set of matching pattern entities that caused
it to be activated. Note that a rule can be activated
by more than one set of pattern entities. An activated
rule that is placed on the agenda is called an
activation.
active instance The object responding to a message which can be
referred to by ?self in the messageís handlers.
agenda A list of all rules that are presently ready to fire.
It is sorted by salience values and the current
conflict resolution strategy. The rule at the top of
the agenda is the next rule that will fire.
antecedent The LHS of a rule.
bind The action of storing a value in a variable.
class Template for describing the common properties (slots)
and behavior (messagehandlers) of a group of objects
called instances of the class.
class precedence list A linear ordering of classes which describes the path
of inheritance for a class.
command A function executed at the toplevel command prompt
(such as the reset command) typically having no return
value.
command prompt In the interactive interface, the ìCLIPS>î prompt
which indicates that CLIPS is ready for a command to
be entered.
condition A conditional element.
conditional A restriction on the LHS of a rule which must be
element satisfied in order for the rule to be applicable (also
referred to as a CE).
conflict resolution A method for determining the order in which rules
strategy should fire among rules with the same salience. There
are seven different conflict resolution strategies:
depth, breadth, simplicity, complexity, lex, mea, and
random.
consequent The RHS of a rule.
constant A nonvarying single field value directly expressed as
a series of characters.
constraint In patterns, a constraint is a requirement that is
placed on the value of a field from a fact or instance
that must be satisified in order for the pattern to be
satisfied. For example, the ~red constraint is
satisfied if the field to which the constraint is
applied is not the symbol red. The term constraint is
also used to refer to the legal values allowed in the
slots of facts and instances.
construct A high level CLIPS abstraction used to add components
to the knowledge base.
current focus The module from which activations are selected to be
fired.
current module The module to which newly defined constructs that do
not have a module specifier are added. Also is the
default module for certain commands which accept as an
optional argument a module name (such as
list-defrules).
daemon A messagehandler which executes implicitly whenever
some action is taken upon an object, such as
initialization, deletion, or slot access.
deffunction A nonoverloaded function written directly in CLIPS.
deftemplate fact A deftemplate name followed by a list of named fields
(slots) and specific values used to represent a
deftemplate object. Note that a deftemplate fact has
no inheritance. Also called a nonordered fact.
deftemplate object An informal term for the entity described by a
deftemplate. A deftemplate object is simply an
informal term for the collections of slots (without
specific values) which define a deftemplate.
Deftemplate objects do not have inheritance
deftemplate pattern A list of named constraints (constrained slots). A
deftemplate pattern describes the attributes and
associated values of a deftemplate object. Also called
a nonordered pattern.
delimiter A character which indicates the end of a symbol. The
following characters act as delimiters: any
nonprintable ASCII character (including spaces, tabs,
carriage returns, and line feeds), a double quote,
opening and closing parenthesis ì(î and ì)î, an
ampersand ì&î, a vertical bar ì|î, a less than ì<î, a
semicolon ì;î, and a tilde ì~î.
dynamic binding The deferral of which messagehandlers will be called
for a message until runtime.
encapsulation The requirement that all manipulation of instances of
userdefined classes be done with messages.
expression A function call with arguments specified.
externaladdress The address of an external data structure returned by
a function (written in a language such as C or Ada)
that has been integrated with CLIPS (see section 2.3.1
for more details).
external function A function written in an external language (such as C
or Ada) defined by the user or provided by CLIPS and
called from within CLIPS rules.
facet A component of a slot specification for a class, e.g.
default value and cardinality.
fact An ordered or deftemplate (nonordered) fact. Facts are
the data about which rules reason and represent the
current state of the world.
factaddress A pointer to a fact obtained by binding a variable to
the fact which matches a pattern on the LHS of a rule.
factidentifier A shorthand notation for referring to a fact. It
consists of the character ìfî, followed by a dash,
followed by the factindex of the fact.
factindex A unique integer index used to identify a particular
fact.
factlist The list of current facts.
field A placeholder (named or unnamed) that has a value.
fire A rule is said to have fired if all of its conditions
are satisfied and the actions then are executed.
float A number that begins with an optional sign followed
optionally in order by zero or more digits, a decimal
point, zero or more digits, and an exponent
(consisting of an e or E followed by an integer). A
floating point number must have at least one digit in
it (not including the exponent) and must either
contain a decimal point or an exponent (see section
2.3.1 for more details).
focus As a verb, refers to changing the current focus. As a
noun, refers to the current focus.
focus stack The list of modules that have been focused upon. The
module at the top of the focus stack is the current
focus. When all the activations from the current focus
have been fired, the current focus is removed from the
focus stack and the next module on the stack becomes
the current focus.
function A piece of executable code identified by a specific
name which returns a useful value or performs a useful
side effect. Typically only used to refer to functions
which do return a value (whereas commands and actions
are used to refer to functions which do not return a
value).
generic dispatch The process whereby applicable methods are selected
and executed for a particular generic function call.
generic function A function written in CLIPS which can do different
things depending on what the number and types of its
arguments.
inference engine The mechanism provided by CLIPS which automatically
matches patterns against the current state of the
factlist and list of instances and determines which
rules are applicable.
inheritance The process whereby one class can be defined in terms
of other class(es).
instance An object is an instance of a class. Throughout the
documentation, the term instance usually refers to
objects which are instances of userdefined classes.
instance (of a An object which can only be manipulated via messages,
userdefined class) i.e all objects except symbols, strings, integers,
floats, multifields and externaladdresses.
instanceaddress The address of an instance of a userdefined class (see
section 2.3.1 for more details).
instancename A symbol enclosed within left and right brackets (see
section 2.3.1 for more details). An instancename
refers to an object of the specified name which is an
instance of a userdefined class.
instanceset An ordered collection of instances of userdefined
classes. Each member of an instanceset is an instance
of a set of classes, where the set can be different
for each member.
instanceset A userdefined expression which is evaluated for every
distributed action instanceset which satisfies an instanceset query.
instanceset query A userdefined boolean expression applied to an
instanceset to see if it satisfies further userdefined
criteria.
integer A number that begins with an optional sign followed by
one or more digits (see section 2.3.1 for more
details).
LHS LeftHand Side. The set of conditional elements that
must be satisfied for the actions of the RHS of a rule
to be performed.
list A group of items with no implied order.
logical name A symbolic name that is associated with an I/O source
or destination.
message The mechanism used to manipulate an object.
message dispatch The process whereby applicable messagehandlers are
selected and executed for a particular message.
messagehandler An implementation of a message for a particular class
of objects.
messagehandler The property used by the message dispatch to select
precedence between handlers when more than one is applicable to a
particular message.
method An implementation of a generic function for a
particular set of argument restrictions.
method index A shorthand notation for referring to a method with a
particular set of parameter restrictions.
method precedence The property used by the generic dispatch to select a
method when more than one is applicable to a
particular generic function call.
module A workspace where a set of constructs can be grouped
together such that explicit control can be maintained
over restricting the access of the constructs by other
modules. Also used to control the flow of execution of
rules through the use of the focus command.
module specifier A notation for specifying a module. It consists of a
module name followed by two colons. When placed before
a construct name, itís used to specify which module a
newly defined construct is to be added to or to
specify which construct a command will affect if that
construct is not in the current module.
multifield A sequence of unnamed placeholders each having a
value.
multifield value A sequence of zero or more singlefield values.
nonordered fact A deftemplate fact.
number An integer or float.
object A symbol, a string, a floatingpoint or integer number,
a multifield value, an external address or an instance
of a userdefined class.
order Position is significant.
ordered fact A sequence of unnamed fields.
ordered pattern A sequence of constraints.
overload The process whereby a generic function can do
different things depending on the types and number of
its arguments, i.e. the generic function has multiple
methods.
pattern A conditional element on the LHS of a rule which is
used to match facts in the factlist.
pattern entity An item that is capable of matching a pattern on the
LHS of a rule. Facts and instances are the only types
of pattern entities available.
patternmatching The process of matching facts or instances to patterns
on the LHS of rules.
polymorphism The ability of different objects to respond to the
same message in a specialized manner.
primitive type object A symbol, string, integer, float, multifield or
externaladdress.
relation The first field in a fact or fact pattern. Synonomous
with the associated deftemplate name.
RHS RightHand Side. The actions to be performed when the
LHS of a rule is satisfied.
rule A collection of conditions and actions. When all
patterns are satisfied, the actions will be taken.
salience A priority number given to a rule. When multiple rules
are ready for firing, they are fired in order of
priority. The default salience is zero (0). Rules with
the same salience are fired according to the current
conflict resolution strategy.
sequence An ordered list.
shadowed A messagehandler that must be explicitly called by
messagehandler another messagehandler in order to execute.
shadowed method A method that must be explicitly called by another
method in order to execute.
singlefield value One of the primitive data types: float, integer,
symbol, string, externaladdress, instancename, or
instanceaddress.
slot Named singlefield or multifield. To write a slot give
the field name (attribute) followed by the field
value. A singlefield slot has one value, while a
multifield slot has zero or more values. Note that a
multifield slot with one value is strictly not the
same as a single field slot. However, the value of a
singlefield slot (or variable) may match a multifield
slot (or multifield variable) that has one field.
slotaccessor Implicit messagehandlers which provide read and write
access to slots of an object.
specificity (class) A class that precedes another class in a class
precedence list is said to be more specific. A class
is more specific than any of its superclasses.
specificity (rule) A measure of how ìspecificî the LHS of a rule is in
the patternmatching process. The specificity is
determined by the number of constants, variables, and
function calls used within LHS conditional elements.
string A set of characters that starts with double quotes (")
and is followed by zero or more printable characters
and ends with double quotes (see section 2.3.1 for
more details).
subclass If a class inherits from a second class, the first
class is a subclass of the second class.
superclass If a class inherits from a second class, the second
class is a superclass of the first class.
symbol Any sequence of characters that starts with any
printable ASCII character and is followed by zero or
more characters (see section 2.3.1 for more details).
top level In the interactive interface, the ìCLIPS>î prompt
which indicates that CLIPS is ready for a command to
be entered.
value A single or multifield value.
variable An symbolic location which can store a value.