next up previous

Appendix A Glossary

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.




next up previous