IOTDB - the story so far

I'd thought I'd summarize my / IOTDB's beliefs as shared in the previous
emails so far. I only have one more major email to write about the JSON-LD
models. There's a hell of lot more that can be written (e.g. reachability,
Thing composition) but I'll leave it here for now.

1)  JSON-Dictionary / Thing Manipulation Equivalency

Manipulating Things, reading sensors, etc can entirely be modelled by
reading, writing and observing changes to JSON Dictionaries.

2) REST mapping

Manipulating Things using web services only requires GET, PUT and PATCH
operations on a URL representing a Thing. This is basically a Lemma of 1).

3) Multiple Dictionaries per Thing

Things have multiple JSON Dictionaries associated with them, namely for the
State, for the Metadata, and Model. The State frequently changes, the
Metadata less frequently, and the Model is essentially static. These
Dictionaries are independent of each other, but obviously all work well
together.

4) Introspection

We should be able to understand the State of a Thing by introspecting the
Model. The Model is a semantic description of all the attributes of the
State, written in JSON-LD. Entire user interfaces should and can be written
simply through introspection.

5) Interstitial State Must Be Modelled

Interstitial state is the time between when we say "do something" and when
we find out it is actually done. Real Things have a real human noticeable
interstitial time lag.

6) Parallel Attributes

With most manipulable Things, Attributes almost always come in pairs: one
for controlling a particular aspect of a Thing, and one for reading actual
value of that Aspect. They are almost semantically identical, except for
this one differentiation. Having to double all descriptions and attributes
is incredibly annoying and mentally taxing.

7) IState and OState

The Parallel Attributes issue can be cleanly swept away by saying Things
have to different types of states: one for holding the actual state of a
Thing (the istate) and one for holding commands issued to a Thing (the
ostate). Not all attributes have to be in both states, it entirely depends
on the Thing.

D.

Received on Thursday, 4 June 2015 18:59:06 UTC