Next][Thread Prev][Thread Next][Message
Interoperability, abstract protocols and BSC
- Subject: Interoperability, abstract protocols and BSC
- From: Daniel Berenguer <dberenguer@xxxxxxxxxxxx>
- Date: Wed, 19 Oct 2011 12:20:27 +0200
Dear potential and active developers,
First of all, let me say that I'm posting this message as a way of
generating debate, not controversy. xAP has always worked well for my
needs so I have no special motivation in making things change in any
way. On the other hand. I feel myself somehow obliged to contribute to
this project and I think that a first debate may help us understand
everyone's needs in terms of monitoring&control communications.
In order to not to get too dispersed I'd like to concentrate the
current discussion about the importance of having a standard
inter-operational schema, valid for most M2M applications. Well, I'm
sure that most of us have thought in BSC as our reference schema, our
widest deployed schema which has ensured interoperability among an
important number of Home Automation applications for years. Kevin
Hawkins and the rest of creators of the xAP initiative have always
said that xAP was created with the idea of generating multiple schemas
on top of it. Since I joined this community I've seen a dozen of new
schemas being created, almost all of the being based on personal needs
and focusing very vertical applications. However, time has proven that
BSC is still our preferred schema, maybe for the following reasons:
1- BSC was there from the beginnings
2- It has been integrated in most HA applications available so, in
order to stay interoperable with them, xAP is our only option nowadays
3- BSC is 80% an abstract schema. Except for those informations
contained in "level" and "state", the "text"
field allows the
encapsulation of almost any data (type)
4- BSC is quite simple. Parsing BSC messages is quite straightforward.
Data structures to be maintained around BSC can be simple too.
>From the above strengths, I believe that the "abstraction"
what makes BSC so special. Other abstract protocols have also proven
to be long-lived too; I'm mainly thinking in Modbus, a protocol
created in the 70's that has even a TCP/IP implementation. Even
nowadays, Modbus (in all its forms: RS485 and TCP) is the the widest
deployed protocol in M2M applications. It's entirely abstract so users
can transport whatever information they need, encapsulated in 16-bit
On the other hand, I admit that abstract protocols have a drawback:
some receivers have to know in advance what information is being
received. Since packets don't explicitly explain this, Example: a
heater controller receives information from a remote sensor so the
installer has to tell the controller to take the temperature from that
sensor. In summary, abstract protocols are less PLUG & PLAY than other
more complete protocols.
The above drawback may be of different importance depending on the
target application. Home Automation packs potentially installable by
end-users or low-skilled installers need to be easy to install. Here
the plug & play capability is a plus.This is the case of Lonworks,
EIB, CanOpen, NMEA2000 or any other ultra-complete protocol. In these
cases, protocols are complemented by static data dictionaries,
functional profiles (the most) or self-explanatory packets (the less).
Fortunately, xAP brings us the possibility to navigate at different
levels. Do we need to elaborate a smart control of AV equipment with
ramps, sequences and zones? Want to do it plug&play without having to
configure any static parameter in the AV controller? OK, let's define
a custom xAP schema for controlling AV equipment. Do we need to
control this AV equipment from HomeSeer or HouseBot? Can we configure
the complex parameters into the AV controller using a Web interface
and then just send basic control information from the other software?
OK, BSC is our solution.
And finally my questions:
1- Regarding your experience, do you think that BSC fits most of your
2- What do you like the most/lest about BSC?
3- Do think that an evolution from BSC is necessary?
4- Do you think we need an "interoperable" protocol different
BSC? Please explain.
5- Have you ever created a custom schema for your applications? Which
applications were these custom schemas intended for?
Any other reflection or question is welcome provided that we remain
into the current topic
Thanks in advance for your contribution,
xAP_Development Main Index |
xAP_Development Thread Index |
xAP_Development Home |