All Packages  Class Hierarchy  This Package  Previous  Next  Index

Interface jtelos.Individual

public interface Individual
extends Proposition
This interface represents individuals in Telos. These include omegaclasses and non-omegaclasses. It includes the three primtive types but not primitive literals. It also does not include any attribute or attribute class. Primitive types include Telos String, Integer and Real types. Non-primitve individuals include tokens, simple classes, metaclasses, metametaclasses, etc. and omegaclasses.

The three primitive types for each KB are available through the following methods in the interface KB:

Individuals also include five builtins for each level of Telos instantiation:

In this API omegaclasses are also individuals. They are available through methods in KB as well. See the Omegaclass interface for their descriptions.

Below is a generic Telos individual represented with relationships to other individuals and attributes. These are relationships are described in the unimplemented Java interface Relations. Below this diagram are specific diagrams showing the semantics of various Telos individuals.

Tokens

Tokens represent the bottom level of instatntion hierarchy in Telos. Invoking the level() method on them returns the constant TOKEN_LEVEL in the Levels interface. Tokens are (Telos) instances of simple classes. They declare attributes that take any Telos individual (at any level of instantiation) or primtive literal as a target . They also have no inheritance characteristics. This means no token extends (subclasses) another token. So they cannot inherit attributes. In this API we refer to "TOKEN" as the unique simple class builtin for each KB of which all tokens are direct Telos instances (by default). It is available by invoking the TOKEN() method in the interface KB.

Simple Classes

Simple classes are (Telos) instances of metaclasses. Invoking the level() method on them returns the constant SIMPLE_CLASS_LEVEL in the Levels interface. They also have Telos instances which are tokens. They declare attributes taking any Telos individual (at any level of Telos instantiation) or primitive literal as a target. They can inherit them from other simple classes. TOKEN is the builtin simple class, of which all other simple classes are Telos subclasses and all tokens are Telos instances. SIMPLE_CLASS is the unique builtin metaclass for each KB, of which all simple classes are direct Telos instances (by default). The latter is accessed by the method SIMPLE_CLASS() in the interface KB.

Metaclasses

Metaclasses are instantiated by simple classes. Invoking the level() method on them returns the constant METACLASS_LEVEL in the Levels interface. They declare attributes taking any Telos individual (at any level of Telos instantiation) or primitive literal as a target. They are also instances of Metameatclasses which are represented by Individuals's with level() equal to M2CLASS_LEVEL. SIMPLE_CLASS is the supreme builtin metaclass, from which all other metaclasses inherit (Telos inheritance) and of which all simple classes are Telos instances. METACLASS is the supreme builtin M2class, of which all metaclasses are direct Telos instances (by default).

See Also:
Proposition, Attribute, Levels


All Packages  Class Hierarchy  This Package  Previous  Next  Index