Overview of the General Concepts¶
While in classical (relation) DBMSs a database contains tables, in kTBS a base contains traces (as well as other kinds of objects that we will describe later).
A trace aims at representing an activity as a set of obsels (observed element). Each obsel has, at least, a type and two timestamps (begin and end). It can also have an arbitrary number of attributes and relations with other obsels. Basically, this is all there is to know about obsels.
A trace is also linked to a trace model, which can be stored in the same base in the kTBS, or anywhere on the web. The trace model describes the obsel types that the trace can contain, their attributes and their relations. A trace model is to a trace roughly what a schema is to a table in an RDBMS —except that a trace model has an identity of its own, and can be shared by several traces.
Finally, traces can either be stored or computed. While stored traces contain data that is explicitly put there by external applications, obsels in computed traces are automatically generated based on a computation. That computation is specified by a method, either built-in or stored in the base together with traces and trace models.