O-Telos is the variant of Telos (originally defined by John Mylopoulos, Alex Borgida, Manolis Koubarakis and others) that is used by the ConceptBase system. This list is the complete set of pre-defined axioms of O-Telos and thus defines the semantics of a O-Telos database (without user-defined rules and constraints). The subsequent axioms are written in a first-order logic syntax but all can be converted to Datalog with negation (though there is some choice in the conversion wrt. mapping to rules or constraints).
The following axioms are taken from papers on Telos (i.e. formulated by Mylopoulos, Borgida, Koubarakis, Stanley and Greenspan): axioms 2, 3, 4, 10, 12, 13, 14. Axiom 1 is probably also in an earlier Telos paper though we could not immediately find it there. The axioms 15 and 16 are similar to the structural ISA constraint of Taxis [MBW80] for attributes. In O-Telos, we do however not inherit attributes downward to subclasses but rather constrain refined attributes at subclasses in the sense of co-variance. Moreover, attributes in O-Telos are objects as well, hence the notion of specialization is more complicated than for the Taxis case. Axiom 17 is needed to be able to uniquely match an attribution predicate to a most specific attribute. This is utilized in the compilation of logical expressions, in particular for generating triggers that only evaluate the affected logical expressions when an update occurs. The remaining axioms 18-28 are also specific to O-Telos. They define the five predefined objects in O-Telos. Axiom 29 takes care that objects cannot refer via its source/destination parts to objects that were defined later than the object itself. This virtually forbids to define an link between two objects when one of the objects is not yet defined. While this sounds natural, we need to posutlate it. Otherwise, we can’t guarantee that we can refer to any object by a name. Axioms 30 and 31 are used to transfer instantiation and attribution facts from the extensional databases to the intensional database. They have more a technical purpose in the mapping of logical expressions to Datalog.
While O-Telos has just five predefined objects and 31 predefined axioms, the ConceptBase system has many more pre-defined objects to provide a better modeling experience and for representing concepts like query classes, active rules, functions etc. They are in a way also predefined but are less essential in understanding the foundations. So, O-Telos is the foundation of ConceptBase but ConceptBase has more pre-defined constructs than those mentioned in the axioms of O-Telos.
Axiom 15 is only applicable to attribute classes, i.e. where the attribute value is an object that potentially can have instances. If the attribute value is for example a number, then ConceptBase will not enforce the axiom. We leave the formula unchanged, since classes for numbers such as Integer, are not part of the axiomatization.
ConceptBase allows to add user-defined rules and constraints. The semantics of an O-Telos database including such rules and constraints is the perfect model of the deductive database with the P(o,x,n,y) as the only extensional predicate and all axioms and user-defined rules/constraints as deductive rules. Note that integrity constraints can be rewritten to deductive rules deriving the predicate inconsistent.
This list of axioms is excerpted from M.A. Jeusfeld: Änderungskontrolle in deduktiven Objektbanken. Dissertation Universität Passau, Germany, 1992. Available as Volume DISKI-19 from INFIX-Verlag, St. Augustin, Germany or via link (in German).
Axioms 19-21 have been corrected after Christoph Radig found an example that led to the undesired instantiation of an individual object to #Inst or #Spec, respectively.