The KOE uses the Inter-Language Unification system (ILU) as it's distributed object system. Objects in the KOE are shared among processes and are accessible via several mechanisms, most notable the KOE namespace. These shared objects are described in a language independent way using interface definitions. Files containing the interface definitions for the KOE are distributed with the KOE software. The documentation for these interfaces assumes you are familiar with the ILU's own definition language, ISL. If you are not, more information can be found in the ILU documentation on interfaces.
The interface definitions are roughly grouped into categories based on their function within the KOE system. Some interfaces describe objects used internally by the system to communicate between KOS processes and components, or objects intrinsic to the system. These include:
Still others are used to described services provided as extensions to the basic KOS system, either through plugins or via Knowbot Programs, or general objects which have proved useful. These include:
These documents describe only the interface and intended semantics for the shared objects of the KOE system. Objects which may have multiple implementations, and for which the implementation details are important are described in more detail in the API section of the documentation. Objects which are specific to plugin or KP services may be described in context in demonstrations which illustrate the use of these services.