A Logic Abstract Machine for Active Object-Oriented Databases
We show how a fragment of the logical data language LDL++
can be used to define an abstract machine supporting the
essence of active/deductive object-oriented databases.
We exhibit a compilation into the mentioned logic
language of the basic features of the object model,
including the schema definition language, the query language
with multiple roles, the basic update operations, and a
form of active rules.
The target logic language, which is essentially Datalog
extended with non-determinism and a form of stratified
negation, has been chosen with a twofold aim.
On one side, it should provide an abstract implementation level,
where the object model is declaratively reconstructed
and its semantics clarified.
On the other side, the proposed compilation should form
the basis of a realistic implementation, as LDL++ can be
efficiently executed, and supports real side effects.