Object


An object consists of a quantity of data, that in some way defines the state of the object or
the properties of the object. The data quantity can be very simple, as for an And-gate, where
it consists of a boolean value that is true or false. However, a PID controller has a more
complex quantity of data. It contains gain, integration time, output, force etc. It consists
of a mix of digital, analogous and integer values. Some values are configured in the development
environment and some are calculated in runtime.

The quantity of data is called the body of the object. The body is divided in attributes, where
every attribute has a name and a type. The body of an And-gate consists of the attribute Status
which is of type Boolean, while the body of a PID controller consists of 47 attributes: ProcVal,
SetVal, Bias, ForceVal etc.

All PID objects have their quantity of data structured in the same way, you say they are a member
of the same class. The PID objects are members of the PID class, and the And-gates are members
of the And class. A class is a kind of model of how objects that belong to the class appear,
for example what the attributes are, and the name and type of the attributes.

Besides a body, an object also has a header. In the header, the class and identity of the
object is found, and also its relation to other objects. The objects are ordered in a tree
structure, and in the header there are links to the parent, and the closest siblings of the
object.