CHAIMS Glossary

CallID: See invocation handle.
 

CHAIMS: An acronym for Compiling High-level Access Interfaces for Multi-site Software. Main components are CLAM and CPAM, and the infrastructure supporting it (CHAIMS compiler, wrapper templates, repository).
 

CHAIMS Compliant: A megamodule or megaprogram that correctly implements the CHAIMS protocol.
 

CHAIMS Complier: Builds a megaprogram client stub. See CSRT.
 

CHAIMS Language: The programming language used to write CHAIMS clients. Consists of several key primitives: setup, setparam, getparam, estimate, invoke, examine, extract, and terminate, plus two shortcut primitives: invex (for invoke-extract) and exwdone (for extract-when-done).
 

CHAIMS Protocol: The interfaces between the compiled megaprogram (client) and the megamodules (services) including the primitive statements. There exists a slightly different CHAIMS protocol for each distribution system like CORBA, RMI or DCE.

 

CLAM: Acronym for: Composition Language for Autonomous Megamodules. See CHAIMS Language.
 

ClientID: A system maintained data structure used to uniquely identify a megaprogram as a client. The clientID is part of the CHAIMS protocol and is needed by the megamodules.
 

Composer: synonym to megaprogrammer.
 
 
CPAM: Acronym for: CHAIMS Protocols for Automonous Megamodules. See CHAIMS Protocol.
 

CSRT: An acronym for Client Side Run Time. The executable client consisting of the compiled megaprogram plus all necessary stubs.
 

Getparam: One of the CHAIMS language primitives used to get default values of methods' input parameters within a megamodule as well as of global variables of a megamodule.
 

Estimate: One of the CHAIMS language primitives used to establish performance characteristics of a megamodule's method execution.
 

Examine: One of the CHAIMS language primitives used to query the status of availability of potential results from a megamodule's method execution.
 

Extract: One of the CHAIMS language primitives used to obtain results from a megamodule's method execution.
 

Exwdone:  For Extract-when-done. One of the CHAIMS language primitive shotcuts used to obtain results from a megamodule's method execution in case the results are necessary to go further in the sequence of methods' invocations in the megaprogram (avoids the wait loop to examine if results are ready before extracting them).

 
Helper Modules: Helper modules are megamodules that offer basic functions like general input/output or simple arithmetic over basic CHAIMS types. Helper modules are part of the CHAIMS system. Some of them are implemented as local megamodules.
 

Invocation Handle: A system maintained data structure used to uniquely identify an invocation (within a megamodule). The megaprogram uses invocation handles, the CHAIMS protocol and the wrappers use callID's. The invocation handles of the megaprogram are mapped into callID's by the CHAIMS compiler.
 

Invocation: Thread of execution generated by a method call.
 

Invoke: One of the CHAIMS language primitives used to initiate remote execution of a megamodule's method.
 

Invex:  For Invoke-Extract. One of the CHAIMS language primitive shotcuts used to initiate remote execution of a megamodule's method and get back the results. Used to synchronously get the results in case they are needed at the method's invocation time.
 

Local Megamodules: Most megamodules in CHAIMS are distributed and autonomous. Certain megamodules (e.g. some helper modules) can be local to the megaprogram. They are accessed by one of the local CHAIMS protocols, and, in contrast to distributed  megamodules, there exists one instance of a local megamodule for each instance of a megaprogram. Helper modules often are but do not have to be local megamodules.
 

Megaprogram: A client program written in the CHAIMS language.
 

Megaprogrammer: A programmer that writes megaprograms. Synonym to composer.
 

Megaprogramming: What a megaprogrammer does.
 

Megamodule: A service on a server that understands the CHAIMS protocol.
 

Megamodule Handle: A system maintained data structure used to uniquly identify a megamodule. Used in the megaprogram.
 

Method: One available service for a megamodule.
 

Module: See megamodule.
 

Opaque Data: Data generated and consumed by megamodule services but not visible to the megaprogram client. Encoded using ASN.1.
 

Primitive Statement: One of the following statements: setup, setparam, getparam, estimate, invoke, examine, extract, terminate, invex, and exwdone. See CHAIMS Language.
 

Repository: Logical database where meta information about megamodules is located. The repository is filled by the megamodule providers, and is read by the megaprogrammer as well as by the CHAIMS compiler. So far, the repository is a mere text file.
 

Scheduler: A model free optimizer that uses the estimate primitive to establish execution order.
 

Setparam: One of the CHAIMS language primitives used to define global variables of a megamodule or any of its methods' input parameters.
 

Setup: One of the CHAIMS language primitives used to establish connection between a megaprogram and a megamodule as a thread context.
 

Terminate: One of the CHAIMS language primitives used to end the execution of a particular invocation of a megamodule, or of all invocations within a megamodule along with the connection to that megamodule.
 

Wrappers: A technique to bring a non-CHAIMS service into a CHAIMS Compliant megamodule.
 
 

10/30/98 db: changing definition for helper modules. Old definition: Helper modules are megamodules that offer basic functions like input/output or arithmetic. Certain helper modules (e.g. the general I/O-megamodule) are part of the CHAIMS system.