Agenda Control ShellTopIndexGlossaryGoTo Top

Glossary

alist
An association list.

association list
A list of conses representing an association of keys with values. The car of each cons is the key and the cdr is the value associated with that key.

atomic operation
A computation that, once started, is completed without being interrupted by another thread.

autorun forms
Forms in a module file that are to be evaluated conditionally when the file is loaded based on the value of *autorun-modules*. Part of the Module Manager Facility.

blackboard repository
The internal storage containing all unit instance and space instance objects and associated retrieval data structures.

boolean dimension
A dimension of :boolean dimension type where :boolean dimension values are either true (non-nil) or false (nil).

broadcast streamer
An object that is used as a saving or sending destination for multiple journal  and network streamers.

circular list
A list that has no termination because it includes an earlier portion of itself in its successive sublists.

class
An object that uniquely (directly or indirectly) determines the structure and behavior of a set of other objects. Members of this set are called instances of the class.

class designator
A class or a symbol that names a class.

class option
An option that refers to a class as a whole or to all the slots of the class.

comparison type
A symbol that indicates the way that dimension values are compared. For an :ordered dimension value, one of: number, fixnum, short-float, single-float, double-float, or long-float. For an :enumerated dimension value, one of: eq, eql, equal, or equalp. For a :boolean dimension value: t.

composite dimension value
A dimension value that is a set, sequence, or series of dimension values.

condition variable
A condition variable provides an atomic means for a thread to release a lock (or recursive lock) that it holds and go to sleep until it is awakened by another thread. Once awakened, the lock that it was holding is reacquired atomically before the awakened thread is allowed to do anything else. A Portable Threads condition-variable object includes the lock that is associated with the condition variable, and the condition-variable object can be used directly as a lock.

cons
An object with two components called the car and the cdr. Conses are used to construct lists.

dimension
A conceptual extent within which values that share some relationship can be placed. GBBopen uses dimensionality to relate the extent representations of unit instances, space instances, and retrieval patterns.

GBBopen supports three dimension types:

  1. ordered dimensions (:ordered)
  2. enumerated dimensions (:enumerated)
  3. boolean dimensions (:boolean)

Real-world dimensions (such as time and location) can be represented as ordered dimensions.

dimension name
A symbol used to identify a dimension. In general, two dimensions with different dimension types should not be given the same dimension name.

dimension type
The interpretation associated with a dimension of a unit class, a space instance, or a retrieval pattern; one of :ordered, :enumerated, or :boolean.

dimension value
The value that can be used to position a unit instance on a dimension in one or more space instances.

dimension-value type
The interpretation associated with a dimension value of a unit instance; one of :point, :interval, :mixed (both points and intervals), :element, or :boolean. The dimension-value types :point, :interval, and :mixed indicate values in an ordered dimension, :element indicates a value in an enumerated dimension, and :boolean indicates a value in a boolean dimension.

dimensional extent
The dimensions of a space instance.

dotted list
A list that is terminated by a non-nil atom rather than the empty list, nil.

enumerated dimension
A dimension of :enumerated dimension type where :element dimension values are individual elements from an extensible set of discrete elements.

ESET
A keys-only table that automatically transitions between list and hash-table implementations. The keys are compared using eq.

ET
A key-and-value table that automatically transitions between list and hash-table implementations. The keys are compared using eq.

event
An activity that is noticed, and signaled, by GBBopen.

event class
An object that is a subclass of standard-event-class.

event function
A function that is associated with one or more event specifications and is called whenever such an event occurs. (See signal-event for the required event-function arguments for each event metaclass.

event instance
An object whose class is a subclass of standard-event-instance.

event metaclass
One of five “types” of event. Every event class has one of the following event metaclasses: non-instance-event-class, instance-event-class, space-instance-event-class, nonlink-slot-event-class, or link-slot-event-class.

executable KS activation
A pending KS activation that meets the criteria for execution, such as having a rating above the minimum KSA execution rating in effect for the control shell.

executed KS activation
A KS activation that has completed execution and will, therefore, not be operated on again by the control shell.

extended event-class specification
A specification of one or more event classes as indicated by one of the following:

extended unit-class specification
A specification of one or more unit classes as indicated by one of the following:

extended unit-class or instance specification
A specification of one or more unit instances or one or more unit classes as indicated by one of the following:

extended unit-classes specification
A specification of one or more unit classes as indicated by one of the following:

feature
A symbol in the list value of the variable *features*. The features in this features list are used to control conditional compilation and implementation-specific behaviors.

form
An object (including an expression) to be evaluated.

function designator
An object that specifies a function. Either: a symbol (denoting the function named by that symbol in the global environment), or a function object (denoting itself). The term “function” is often used to denote a function designator, with the term “function object” used when referring specifically to a function object.

function object
An object of type function. The term “function” is often used to denote a function designator, with the term “function object” used when referring specifically to a function object.

fixnum
An integer between most-negative-fixnum and most-positive-fixnum inclusive.

generalized boolean
An object used as a truth value, where nil represents false and all other objects represent true.

generalized reference
A reference to a location storing a value as if to a variable.

generic function
A function whose behavior depends on the classes or identities of the arguments supplied to it.

incomplete unit instance
A forward-referenced unit instance created during the loading of a blackboard repository or journal file or the reading of a network stream. An incomplete unit instance does not reside on any space instance or have all of its saved/sent slot values present until it becomes "complete" by loading or receiving a form containing the instance's full details.

incomposite dimension value
A dimension value that is a single point, interval, element, or boolean (i.e., not a composite dimension value).

initialization argument list
A list of alternating names and values used to initialize or reinitialize instances of classes. If more than one name and value pair has the same name, only the first such pair is used to provide the value.

instance
An object whose structure and behavior is uniquely (directly or indirectly) determined by a class object.

instance name
An object that uniquely identifies an instance of a unit class. The same object can be used to identify instances of different unit classes, but the same instance name cannot be used with two instances of the same class.

interval
A cons, two-element list, or two-element array containing the start and end value representing the set of real numbers between them, inclusive.

journal
A file containing changes made to the blackboard repository that can be loaded in order to perform the recorded changes.

journal streamer
An object that is used as a saving destination for journaling functions.

journaling
Writing changes made to the blackboard repository to a file that can be loaded in order to perform the recorded changes. Journaling can be used with or without repository saving to recreate a blackboard repository.

keyword symbol
A symbol whose home package is the keyword package.

knowledge source
The expertise associated with a collaborating computational entity in a blackboard application (often abbreviated as “KS”). More specifically, a KS is an object containing the expertise and other information associated with a computational entity. A ks object is also a unit instance, but KSs are normally described by their more specific categorization.

KS activation
The application of a KS to a specific computational context (often abbreviated as “KSA”). More specifically, a KSA is a ksa-class object representing the KS activation. A ksa is also a unit instance, but they are normally described by their more specific categorization.

KS execution
The execution of a KS activation.

ks class
An object that is a subclass of standard-unit-class that is used to represent a KS.

ksa class
An object that is a subclass of standard-ksa-class that is used to represent a KSA.

left-leaning red-black tree
An LLRB tree.

LLRB tree
A binary search tree that is roughly balanced, keeping the worst-case time for operations such as inserting, deleting, and finding values proportional to the height of the tree. Left-leaning red-black (LLRB) trees are a simpler version of red-black trees introduced by Sedgewick in 2008 where all red links must lean left except during inserts and deletes.

link
A bi-directional relationship between two unit instances represented by a pair of pointers, one at each unit instance pointing to the other unit instance. GBBopen's link operators maintain the bi-directional consistency of link pointers.

link slot
A slot designated for the outgoing pointers of links associated with that slot.

link-pointer object
An object that can be used as a pointer in a link slot. A link-pointer object must have a link-instance-of method defined for it whose result returns the unit instance to be used as the link pointer.

link-slot place
A form which is suitable for use as a generalized reference to a link slot. Typical examples of link-slot-place forms include:
  (slot-accessor unit-instance)
  (slot-value unit-instance slot-name)
where:
 
slot-accessor     is a symbol specifying an accessor function for a link slot
unit-instance     is a unit instance
slot-name     is a symbol naming a link slot in unit-instance

lock
A mutual-exclusion object that allows multiple threads to synchronize activities or access to shared resources. A lock has two states, unlocked or locked by a specific thread. Once a lock is held by a thread, any other threads attempting to lock it will block. When the lock-holding thread unlocks (releases) the lock, one of the blocked threads will acquire (lock) it and proceed. If the thread that is holding the lock attempts to re-acquire it, an error is signaled (see recursive lock).

metaobject
An instance of a metaobject class.

metaobject class
A class object that is a subclass of exactly one of the following classes: class, slot-definition, generic-function, method, and method-combination.

module
A set of related files that form a component, library, or application. Part of the Module Manager Facility.

namestring
A string that represents a filename.

network streamer

An object that is used as a sending destination for network streaming functions.

network streaming
Sending unit instances (and space instances, changes made to the blackboard repository, and commands to a streamer node (typically in another Common Lisp image).

non-keyword symbol
A symbol whose home package is not the keyword package.

obviated KS activation
An unexecuted KS activation that has been deemed unnecessary and will therefore never be executed.

Offset Universal Time
A non-negative integer number of seconds measured from the beginning of a time base later than the year 1900 (ignoring leap seconds). Offset Universal Time is Universal Time that is offset by an integer time-base value so that the most often used Offset Universal Time values in an application are fixnums.

ordered dimension
A dimension of :ordered dimension type where :point, :interval, and :mixed dimension values are points or intervals on a continuous, real-number extent.

ordering dimension
The dimension whose dimension values are used to order a series-composite dimension value.

ordered queue
A doubly linked, ordered queue. A GBBopen queue is headed by an object that is a subclass of ordered-queue.

package designator
A string designator (denoting a string that designates the name or nickname of a package) or a package (denoting itself).

passive socket
A socket that is used to accept a connection initiation to a specific service port.

patch
A modification to the existing code of an application that is loaded after the regular application code, either at startup or into an executing application.

path expression
A regular expression representing one or more space-instance paths.

pathname
A structured representation of the name of a file. A pathname has six components: host, device, directory, name, type, and version.

pathname designator
A namestring (denoting the corresponding pathname), a stream associated with a file (denoting the pathname used to open the file), or a pathname (denoting itself).

pending KS activation
A KS activation that has not been executed or obviated.

periodic function
A function of no arguments that is run repeatedly at a specified interval, at a resolution as brief as supported by sleep. A separate thread is spawned to manage the periodic invocations of the specified function.

A count can also be provided for the periodic function. When specified, this value is decremented prior to each invocation of the function and, when it is no longer positive, the periodic-function thread is terminated.

predicate function
A function that returns a generalized-boolean value.

proper list
A list terminated by the empty list. (The empty list is a proper list.)

property
(of a property list) 1. A pair of elements in a property list representing the name of a property and its associated value. 2. The value of a property.

property list
A list containing an even number of elements that represent alternating names (sometimes called indicators or keys) and their associated values.

pseudo-probability

A discretized fixnum representation for probability values that maps probability values in the range [0.0..1.0] to integers in the range [0..1000].

pseudo-probability-ln

A discretized fixnum representation for the natural logarithm of a pseudo-probability value. Pseudo-probability-ln values range from [-6907756..0].

queue
A doubly linked queue. A GBBopen queue is headed by an object that is a subclass of queue. GBBopen queues that maintain a sorted ordering of queue elements are provided by ordered queues.

queue element
An object that is a subclass of queue-element.

quiescence
A control-shell state when no more executable KSAs are in the queue of pending KSAs.

rating
An integer between -32768 and 32767 inclusive, used by the Agenda Shell to order pending KSAs (see rating).

recursive lock
A mutual-exclusion object that allows multiple threads to synchronize activities or access to shared resources. A recursive lock has two states, unlocked or locked by a specific thread. Once a recursive lock is held by a thread, any other threads attempting to lock it will block. When the lock-holding thread unlocks (releases) the recursive lock, one of the blocked threads will acquire (lock) it and proceed. If the thread that is holding the recursive lock attempts to re-acquire it, that thread is allowed to proceed as if it had acquired the lock (without error or blocking, see lock).

relative directory
A directory defined in relation to another directory definition. Part of the Module Manager Facility.

REPL command
A keyword command that can be entered at the top level read-eval-print loop (REPL) in your Common Lisp environment. REPL commands (some with arguments) provide convenient shortcuts for often-used operations.

retrieval pattern
A list argument to filter-instances, find-instances, and map-instances-on-space-instances specifying the dimension value requirements for selecting unit instances to be returned.

required module
A sequence of modules that must be compiled (if needed) and loaded, in order, before the requiring module is compiled (if needed) and loaded. Part of the Module Manager Facility.

root directory
A fixed anchor directory for a tree of relative directory definitions. Part of the Module Manager Facility.

scheduled function
An object that contains a function that may be scheduled to run at an absolute or relative time. When that specified time arrives, the function is invoked with a single argument: the scheduled-function object.

A repeat interval can also be specified for the scheduled function. When specified, this value is used whenever the function is invoked to schedule the function again at a new time relative to the current invocation.

Scheduled functions can be scheduled to a resolution of one second. Periodic function invocations at brief time intervals are provided by periodic functions.

series-composite dimension value
A dimension value that is a series of dimension values that are ordered by the dimension values of another dimension (the series-composite ordering dimension).

series-composite ordering dimension
The dimension whose values are used to order a series-composite dimension value.

sequence-composite dimension value
A dimension value that is a sequence of dimension values.

set-composite dimension value
A dimension value that is a set of dimension values.

slot
A component of an object that can store a value.

space
Pertaining to a space class or space instance.

space class
An object that is a subclass of standard-space-class.

space instance
An object whose class is a subclass of standard-space-instance. A space instance is also a unit instance, but space instances are normally described by their more specific categorization.

space-instance path
A complete list of space-instance names, starting with the most distant indirect parent space-instance name, that uniquely identifies a space instance in the blackboard repository.

standard-gbbopen-instance
An object whose class is a subclass of standard-gbbopen-instance. It is a superclass of standard-event-instance and standard-unit-instance.

storage specification
A specification of how unit instances are to be stored on a space instance.

streamer
An object that is used as a saving or sending destination for journaling or network-streaming functions.

streamer node

A logical “host” for sending and receiving streamed updates to unit instances and to the blackboard repository. Each streaming node is resolved uniquely by host and port and should be defined with a unique name. Although multiple streaming nodes can be defined for the same Common Lisp image, typically only one streaming node is defined per image.

streamer queue
A thread local queue of changes associated with a streamer that are being held until in memory until the queue is written or cleared.

string designator
An object that denotes a string. One of: a character (denoting a singleton string that has the character as its only element), a symbol (denoting the string that is its name), or a string (denoting itself).

subclasses
The classes that inherit from a class.

subevents
The classes that inherit from an event class.

system name
A keyword associating a set of REPL commands, directory definitions, and module definitions with a specific library or application.

thread
A thread in a multi-threaded Common Lisp implementation or a Lisp process in a Common Lisp that provides multiprocessing.

thread-local binding

A dynamic binding that is visible only to a single thread.

three-way comparison test
A function of two arguments that returns: a negative fixnum if the first argument is less than the second argument, zero if the two arguments are equal, and a positive fixnum if the first argument is greater than the second argument.

time zone
A rational number between -24 (inclusive) and 24 (inclusive) that represents a time zone as a number of hours offset from Greenwich Mean Time. A non-integral time zone must be a multiple of 1/3600.

unit
Pertaining to a unit class or unit instance.

unit class
An object that is a subclass of standard-unit-class.

unit instance
An object whose class is a subclass of standard-unit-instance. A space instance is also a unit instance, but space instances are normally described by their more specific categorization.

Universal Time
A non-negative integer number of seconds measured from the beginning of the year 1900 (ignoring leap seconds).

variable symbol
A symbol that can accept a binding.

The GBBopen Project


Agenda Control ShellTopIndexGlossaryGoTo Top