totalperspective / oolon

Bloom implementation for Clojure/ClojureScript leaning on Datomic datalog
https://github.com/totalperspective/oolon
Eclipse Public License 1.0
10 stars 0 forks source link

Specifying Invariants #21

Open bahulneel opened 8 years ago

bahulneel commented 8 years ago

As we add novelty to the DB we should be able to specify invariants over the DB which should be maintained by the system as it executes. Should an invariant be broken we should be able to find the fact that first caused the break and then use the lineage to show the origin of the breakage.

bahulneel commented 8 years ago

We should be able to specify invariants at both the module and agent levels. Additionally we may want to specify invariants over an entire DB (assuming we have a way to compose agents).