Skip to content

Data Model

Oleksandr Nikitin edited this page Oct 3, 2016 · 8 revisions

Hypergraph of linked facts with data and metadata

  • User

  • tenant owning things that are happening, resource root

  • logical context owner

  • tx time authority

  • TX time

  • logical time, causal, relative to other TX times, usually serialized at physical_viewpoints

  • may contain links to ptime but this is hard to do and better done in logical context

  • Space/Universe/Provider

  • managed or unmanaged object provider/locator/sync channel

  • logical storage too

  • provider of rules for the logical context

  • side effect handler

  • Physical Viewpoint

  • representation/reflection of an inference agent/system performing the derivations, required to reason about performance and resources

  • Logical Context

  • user-chosen subset/viewpoint of the universe containing inference traits/flavors

  • inference rules, coercion/canonicalization rules (always logical, don't belong to universe apart from physical_viewpoint), construction/deconstruction rules

  • acquisition keys like precision or source trust

  • target context eg criteria of what data we choose to use/disclose, permissions belong here

  • logical_viewpoint eg the task that we're currently solving, or just session.

  • Event Locator

  • physical time, relative to universe, stuff like GPS coordinates also belongs here; not strictly mandatory but really useful

  • Domain Data

  • may overlap with Event Locator, all other data.

Sync Model

We totally need to support both state-based and event-based sync, even given the complications that necessarily arise.

State-based sync happens ONLY between managed + unmanaged objects, syncing unmanaged + unmanaged is undecidable.

Clone this wiki locally