On 07.02.2016 21:39, Jerry Scharf wrote:
> Here is a problem statement that I wrote up about how to move to what I
> think of as a distributed building automation system.

I'm also thinking about (and designing+coding in) this problem space,
albeit with a few key differences.

* I disagree that state should only be inherent in messaging. That means
you have nothing to return to after a crash, reboot, or power failure.
"I have no ide whether the alarm system is armed" is not a reasonable
system state.

* I also disagree that there should be no configuration. Configuration
is necessary. _Something_ shall tell the system what the code for
disarming the alarm is. Or simply which switch(es) control which light(s).

* However, I agree that any one central essential system must be allowed
to fail, if only to continue operation when updating the thing. The
corollary is that processing may indeed happen anywhere, and should be
able to take over quickly when warranted.

Talk is cheap. So are concept papers; I have to admit I'm one of the
persons who have discovered that the hard way. You need a minimal
working system to have a reasonable discussion. Haystack has clients and
servers in multiple languages, including some (albeit at first glance
rather rather incomplete) unit tests, but are these actually *used* by
somebody for anything?

WRT "nest" vs. "thermostat" model: The Nest model is not about
controlling your home. It is about keeping data about your home in the
cloud so that whoever offers the service (Google now owns Nest …) can do
some deep data mining on it. It is also about the complete impossibility
of doing anything whatsoever in your own home as soon as the Internet
connection fails, and of having bricks instead of thermostats if the
company providing their cloud service ever goes belly-up. Or just
decides to no longer support them.

The "thermostat" model is too limited. Heating is in fact a good
example: If I know the actual valve settings at all my thermostats, I
can raise or lower the central heating's temperature appropriately. This
can save a lot of energy, but might be unstable unless there is two-way
communication between these devices.

NB: Project Haystack: the first thing I would do with that body of text
(and code) is to rip out their unit system -- including every single
mention of square feet, °F, or time zones. The code to convert between
units MUST be a function of the user interface, not of every single
agent in the system. That way lies madness.

NB²: "users work with a meta-model" does not make sense. The meta-model
is, per definition, the design of the language which the model is
described in. This is fixed by the system components' design and
implementation. Do you mean that users describe their system at a higher
level of abstraction, i.e. in some kind of macro language? What happens
when the user doesn't provide enough information for the agents to infer
their devices' configuration?

-- Matthias Urlichs


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to