The SID Creator – A Visual Approach for Integrating Sensors with the Sensor Web<br />Arne Bröring, Felix Bache, Thomas Bartoschek, Corné v. Elzakker<br />AGILE, 20th April 2011<br />
Motivation: Sensor Plug & Play<br />Arne Broering - firstname.lastname@example.org<br />
Problem: Interoperability Gap<br />Application Layer<br />Sensor Web Layer<br />Sensor Layer<br />Arne Broering - email@example.com<br />
Sensor Interface Descriptors (SID)<br />Bridging Sensor Protocol <-> SWE Protocol<br />Model to declaratively describe sensor interface:<br />Communication protocol<br />Sensor commands<br />Processing steps<br />Metadata association<br />SID instances: re-usable and exchangeable<br />Generic SID Interpreter translates:<br /> Sensor protocol Sensor Web protocol<br />Arne Broering - firstname.lastname@example.org<br />
Sensor Interface Descriptors (SID)<br />Sensor Web Layer<br />Sensor Layer<br />Arne Broering - email@example.com<br />
SID Model<br />Arne Broering - firstname.lastname@example.org<br />
How to generate SID instances?<br /> The SID Creator<br />Arne Broering - email@example.com<br />
UseCase: School Weather Station<br />10 high schoolstudents<br />10 universitystudents<br />Task<br />Integrateweatherstationwith<br /> a Sensor Observation Service<br />“Think Aloud” method<br />Arne Broering - firstname.lastname@example.org<br />
UseCase: School Weather Station<br />
Creation of an SID<br />Sensor Data:<br />Station|16.09.2010_12:56|10530Q|#<br />Status|16.09.2010_12:56|72|#<br />Wind01|16.09.2010_12:56|42.0|23.0|#<br />:<br />Block<br />Field<br />SID:<br />Structure Separation:<br />Block = #<br />Field = |<br />Decimal Numbers = .<br />Data Block 1:<br /> Field 1 = Block_Identifier Value: Wind01<br /> Field 2 = time<br /> Field 3 = wind_speed<br /> Field 4 = wind_direction<br />:<br />
Association with Observation Metadata<br />Observed Property := „Wind Speed“<br />Phenomenon Time<br />Result<br />Feature := „High School Havixbeck“<br />23 m/s 16.9.2010 13:45<br />Unit of measure<br />Procedure := „DAVIS_123“<br />Observation Offering:= Weather<br />Arne Broering - email@example.com<br />
Evaluation of UsabilityStudy<br />Arne Broering - firstname.lastname@example.org<br />
Evaluation of UsabilityStudy<br />Successfulcreation of SID:<br />High School students: 2 / 10<br />University students: 6 / 10<br />Fully / partly / notunderstood SID?<br />High School students: 4, 3, 3<br />University students: 9, 1, 0<br />SID creationeasierthanadapterimplementation?<br />5 / 5 students: yes<br />Arne Broering - email@example.com<br />
Conclusions & Outlook<br /> SID Creator facilitatessensorintegration<br />SID Creator doesnotyetsupportfull SID model<br />Not all sensorprotocolscanbedescribed.<br />Vision:<br />Sharing of SID instancesamongusercommunities<br />Creation of SIDsbysensormanufactures<br />Arne Broering - firstname.lastname@example.org<br />
Questions?<br />Thank you!<br />Arne Broering<br />SID project @ 52°North: http://52north.org/sid<br />Sensor Web lab @ IfGI: http://swsl.uni-muenster.de<br />
Okay, let’s start by looking at our motivation behind those developments:Assuming, close to the lovely Utrecht, there is some kind of industrial fire (e.g. a waste dump is burning) and this causes a dispersion of pollutants into the air. In this scenario, the disaster management organization has already a Sensor Web, based on OGC’s SWE services, in place. Through this Sensor Web, it can access sensors to get an overview of the situation or to compute dispersion models.However, the density of available wind sensor data is not high enough. So, the disaster management organization decides to deploy new wind sensors in the region in an on-the-fly manner.The newly deployed sensors have to be made available within the SensorWeb so that the existing applications can directly utilize the gathered observations. So what’s necessary is some kind of plug&play of sensors, which currently doesn’t really work with the SWE architecture...
… and this is due to the fact that our SWE service interfaces (e.g. SOS, SPS, SAS… here on the Sensor Web Layer) are intentionally designed from an application-oriented perspective (and not from a sensor perspective), so that applications have an interoperable access to the sensor functionality.So far, the connection between sensors and SWE services is not yet sufficiently described.Actually, we have here (on the sensor layer) a huge variety of protocols and the connection of those protocols to SWE services is so far usually established, by manually adapting the SWE service implementation.
an extension of OGC SWE's Sensor Model Language, to describe the sensor protocol of a particular sensor type in a declarative way. By means of a generic SID interpreter the native sensor protocol can be translated to SWE protocols. The SID interpreter is independent of a particular sensor technology, and can communicate with any sensor whose protocol can be described by a SID. Hence, a repository of SID instances allows users to choose an SID instance which then serves as a “driver” to make the sensor functionality available for the Sensor Web.Current SWE standards do not deal with actual sensor protocols, and the connection between sensors and SWE services is usually established by manually adapting the internals of the SWE service implementation to the specific sensor interface. Such sensor "drivers" have to be built for each kind of sensor interface, which leads to extensive efforts in developing large-scale systems. To tackle this issue we have developed a model for Sensor Interface Descriptors (SID) which enables the declarative description of sensor interfaces, including the definition of the communication protocol, sensor commands, processing steps and metadata association. The model is designed as a profile and extension of OGC SWE's Sensor Model Language standard. In this model, a SID is defined in XML for each kind of sensor protocol. SID instances for particular sensor types can be reused in different scenarios and can be shared among user communities. A SID interpreter can be built which translates between various sensor protocols and SWE protocols, hence closing the described interoperability gap. The SID interpreter is independent of any particular sensor technology, and can communicate with any sensor whose protocol can be described by a SID. The SID interpreter transfers retrieved sensor data to a Sensor Observation Service, and transforms tasks submitted to a Sensor Planning Service to actual sensor commands.
Let me illustrate our approach to solve this issue: the concept of Sensor Interface Descriptors.This slide shows a typical SWE deployment scenario.We have our sensor (here) and our SWE services (at the top, here) *click* and usually in between some kind of Data Acquisition System, or a sensor network sink.A sensor communicates with the data acquisition system in its specific sensor protocol over a transmission technology such as ISDN or GSM*click: SID sichtbar* So, to integrate this sensor with the SWE services, we developed a SensorML application schema/profile, called Sensor Interface Descriptors, which can be used to describe the sensor protocol in a declarative way. So what we need is an SID instance for the sensor… * click: SID interpreter sichtbar* ...Then, based on the SID schema one can build sensor technology independent SID interpreters, which runs on the DAS and uses the SID (so the sensor protocol definition) * click: Pfeilsichtbar* to translate the protocol to the SWE world.It registers a sensor at a SWE service and uploads sensor data to SOS or SAS and is responsible for the opposite communication direction and forwards tasks received by an SPS to a sensor.
This slide gives an overview of the SID model (which is implemented as an XML schema and has been published as such at the OGC in the meantime).It is nicely integrated in SensorML. All the blue classes here are added to the SensorML schema. *click* The SID (now surrounded in red) is strictly encapsulated within the SensorML structure. This way, it can be easily replaced or removed. This characteristic is important to make it possible to reuse the SID in different use cases for sensors with same interfaces. The ability of reusing SIDs also enables sharing SIDs for particular sensor types among user communities.For these reasons, the approach developed here, encapsulates all SID specific information within the sml:interface element of the sml:System.The SID schema extends the OSI layer model and adds certain types to those layers. These types will be explained later on.…
A simple wizardbasedgraphicaluserinterfaceallowingyou to specifybasicsensormetadata and definingtheprotocol of a sensortype.
Weevaluatedthisnewtool in a usecasestudy, where 10 high schoolstudents and 10 universitystudentsweretasked to integrate …
- - After each test, the participant was asked to complete a questionnaire. For example, the participants were asked whether they think they have fully/partly/not understood the principle of the SID concept and whether it can replace manual implementation of adapters between sensor and SOS. The answer to this question should indicate a self-report measure about how sure the participant is of what he/she just did.
-- question whether the SID creator in its current design has enough functionality to support all kinds of sensor types. It is assumed that complex sensor interfaces still require a manual implementation of adapters.