Words in italics can be found in this glossary.


BACKGROUND TASK - A process that executes under the control of the system interpreter. It is also known as a spawned process.


C - A high-level language that is compiled into executable code. LLAMA is written in C.

COLON - A token that initializes a definition composed of a macro name and a sequence of macros and primitives followed by the semicolon. The colon is simply “:”.

COMPILER - A Procedure that accepts tokens delimited by colon and semicolon and assembles a list of pointers to those tokens, enters the definition into the dictionary and allows execution of the defined macro by the interpreter.

CONDITIONAL - a primitive that potentially disrupts sequential program flow. Used for imbedded decision making.


DATA - A collection of usable information that is transmitted to G2 in the form of data strings.

DATA ELEMENT - A single value or singular piece of information.

DATA STRING - A collection of data elements preceded by an identifier.

DEFINITION - A list of pointers to macros and primitives that make up the body of a macro. Created using the colon function.

DICTIONARY - A linked-list of pointers that define the currently available macros and primitives in the LLAMA system. Dictionaries are found in threaded interpreters. The dictionary grows as more macros are defined.


FORTH - A threaded interpreter, a high level language that consists of a compiler and interpreter with predefined macros and primitives. Functionality is very dependent on stack usage. A special class of high-level languages that contain both compilers and interpreters.


G2 - An Expert System Product from GENSYM that provides the high-level control for LLAMA through a radio link. G2 is the host system and runs under UNIX.

GENERIC PERFORMANCE - A performance that is time-invariant implying that it can be compiled as a macro and called upon on demand.


IDENTIFIER - A word that precedes data elements in a data string to help G2 identify what type of data is arriving.

INTERPRETER - A procedure that accepts tokens and executes them based on proper threaded interpreter principles. Executes the functions immediately, unlike a compiler, which must first compile code to execute.


LLAMA - A collection of OS-9 modules that perform various robot control functions.


MACRO - a word used to represent a predefined sequence of operations. The macro will be composed of primitives, macros and numbers. Also called a “secondary.”

MACRO NAME - The name given to the macro which is assigned by the compiler.


NUMBER - An integer that is placed onto the stack as it is received. One of the three valid types of tokens accepted by LLAMA.


OS-9 - A Multi-tasking Operating System primarily for 68000 processors. OS-9 operates with a very small kernel an can use very little RAM compared to UNIX. OS-9 does this by having reentrant modules and explains why LLAMA can have many spawned interpreters.


PERFORMANCE - A collection of macros, numbers and primitives that perform a task when executed.

PERFORMANCE ORDER - Macros and primitives that are able to be executed under prescribed conditions as a spawned process in LLAMA.

PRIMITIVE - A function chosen by the system designer to be on the “atom” level of execution, in other words, this is a function that can not be broken down any further into simpler constituents.


SEMICOLON - Terminates a colon definition.

SENSOR BLACKBOARD - A data area that contains up-to-date sensor reading. Any currently active process may obtain readings from the sensor blackboard.

SPAWNED PROCESS - A process which executes concurrently in OS-9 with other processes.

STACK - A Last-in First-Out buffer that typically contains 32-bit signed integer values known as numbers.

SYSTEM, THE - Refers to G2 and LLAMA operating together.

SYSTEM INTERPRETER - The control process that contains a compiler and interpreter. This process also creates spawned processes.


THREADED INTERPRETER - A class of processes that execute macros by identifying their execution addresses in a list called a definition.

TOKEN - Any word in the input stream delimited by a whitespace. This can be a primitive, macro, or number.


UNIX - A Multi-tasking operating system that was developed at Bell Labs and is written in C. G2 runs under UNIX.


VIRTUAL FUNCTION - Functions that belong to the class of primitives and behave much like them, yet are coded at a lower level (in C) from more than one primitive. This is important because it allows the system designer to create new functions that did not exist in the original expert modules. In effect, these functions simulate desired system behavior.


WHITESPACE - A single control character that delimits tokens, such as line-feed, carriage-return, space, tab, etc.