The Sensor Service Architecture (SensorSA) is the fundamental architectural framework of the SANY project for the design of sensor-based environmental applications and their supporting service infrastructure.
The SensorSA belongs to the family of service-oriented architectures (SOA) with additional support of event processing and a particular focus on the access, management and processing of information provided by sensors and sensor networks. As such, it contains sensor-specific services. However, in order to provide a higher-level interface to environmental risk management applications that is functionally and semantically richer, it abstracts from the peculiarities of sensors and encompasses generic information processing functionality. Thus, there is a gradual transition to the functionality of a generic service infrastructure.
The foundation for the SensorSA is the SOA approach specified by the European Integrated Project ORCHESTRA in its Reference Model for the ORCHESTRA Architecture (RM-OA) as well as the OGC Sensor Web Enablement architecture. Based upon these architectural frameworks, the SensorSA enables the set-up of open geospatial service platforms for a multitude of thematic applications in different domains. The objective of the SensorSA is to motivate and specify the basic design decisions derived from user requirements and generic architectural principles. Its focus is on a platform neutral specification, i.e. it provides the basic concepts and their interrelationships (conceptual models) and abstract specifications. Full SensorSA specifications can be downloaded from the Downloads section of the sany-ip site.SANY Sensor Service Architecture relies on following design principles:
The SensorSA makes rigorous use of proven concepts and standards in order to decrease dependence on vendor-specific solutions. This helps to ensure the openness of a sensor service network and support the evolutionary development process.
The SensorSA allows the components involved in a sensor service network to be loosely coupled, in which case loose coupling implies the use of mediation to permit existing components to be interconnected without changes.
The SensorSA is independent of technologies, their cycles and their changes, as far as practically feasible. Accordingly it is possible to accommodate changes in technology (e.g. lifecycle of middleware technology) without changing the SensorSA itself. The SensorSA is independent of specific implementation technologies (e.g. middleware,
programming language, operating system).
The SensorSA is designed to evolve, i.e. it shall be possible to develop and deploy the system in an evolutionary way. The SensorSA is able to cope with changes of user requirements, system requirements, organisational structures, information flows and information types in the source systems.
The SensorSA is designed in a way that service network and source systems (i.e. existing information systems, sensors and sensor networks) are architecturally decoupled. The SensorSA does not impose any architectural
patterns on source systems for the purpose of having them collaborate in a service network, and no source system shall impose architectural patterns on a SensorSA. Important here is that a source system is seen as a black
box, i.e. no assumptions about its inner structure are made when designing a service network.
The SensorSA services are independent of the application domain, i.e. they can be used across different thematic domains and in different organisational contexts. Ideally, any update of integrated components (e.g. sensors, applications, systems, ontologies) requires no or only little changes to the users of the SensorSA services.
Services in the SensorSA are designed to support applications that serve the needs of users. They may call other services if this is required to fulfil the functions offered at their interfaces. In an extended situation, chains of service operation calls may be defined in order to realize more complex functionality. In a service network every service instance may call operations of any other service. The Service Viewpoint of the SensorSA categorises service types into functional domains expressing the area of concern for which they are basically designed:
The SensorSA concepts are realised following the guidelines and technologies of standard (Web) service platforms. However, there are competing Web service paradigms on the market with disparate protocol bindings (e.g. SOAP or HTTP) and capability descriptions (e.g. service-oriented or resource-oriented). The technologies for these service platforms rely upon specifications of W3C, OGC and OASIS.
In order to enable service interoperability, the SensorSA separates the platform specification into a core mandatory part and one or more optional platform specific parts. Three platforms are currently supported: W3C Web Services, OGC Web Services and so called RESTful Web Services for the resource-oriented approach.
The SensorSA core mandatory part refers to W3C Web Services which is, according to a decision of the OGC Technical Committee, also the strategic direction for all new specified OGC services. It requires a SOAP envelope embedded into an HTTP message as the transport protocol and WSDL as the service description language. Optionally, HTTP may also be used directly. This enables to also use the OGC Web services as they are specified today.
Optional, RESTful Web Service interfaces rely upon the principle of Representational State Transfer (REST) which means, that the call of service operation is considered as a transfer of state information of uniquely identifiable resources in form of resource representations. In the SensorSA, the resources are typically geospatial resources described in a resource model, e.g. a collection of sensor observations with a known geo-location reference, and their representations, which may be maps, tables or diagrams.
The multi-platform approach of the SensorSA facilitates the reuse and integration of existing software components and the evaluation of other service paradigms.
SensorSA supports two main interaction patterns:
In a classical request/reply interaction pattern, the consumer ‘knows’ the provider and initiates the interaction by "requesting" the information through direct call to a service interface. This interaction pattern is always synchronous, and the consumer has to keep listening until receiving the reply.
In "event driven" interaction, the consumer and the producer are linked through broker. In order to access the information, the consumer first declares interest in getting event notifications by issuing a subscribe operation with an event filter to a notification broker, usually together with a callback address. Independently of this action, the provider publishes events to the broker, e.g. in case of a state change of an underlying resource. The provider is unaware of the consumers that have subscribed to events. It is the task of the broker to analyse the event filters and to determine which consumer should be asynchronously informed by the broker about the event happening.
A-priory, any observation in SensorSA network may be communicated either in event-driven manner, or using the request/reply interaction pattern. Due to practical concerns, the event driven interaction pattern is primarily used in situations where request/reply interactions can not be used , or does not perform adequately. "Event-driven" use cases therefore often include some form of alerting, e.g. "new service/resource available", or "house on fire". However, the choice of interaction pattern may be also dictated by business reasons, e.g. because network configuration does not allow direct access to resources, or because the inexpensive hardware (e.g. smart sensor nodes) can not support relatively resources-hungry web services.
| Basic Interface Types | Enable a common architectural approach for all architecture services, e.g. for the capabilities of service instances |
|---|---|
| Annotation Service | Relates textual terms to elements of an ontology (e.g. concepts, properties, instances). |
| Catalogue Service | Ability to publish, query and retrieve descriptive information (metainformation) for resources of any type. Extends the OGC Catalogue Service by additional interfaces for catalogue cascade management and ontology-based query expansion. |
| Feature Access Service | Selection, creation, update and deletion of features available in a service network. Corresponds to the OGC WFS but is extensible by schema mapping. |
| Identity Managementand Authentication Service | Creates and maintains identities. Supports the management of groups (of identities) as a special kind of identity. Proves the genuineness of identities using a set of given credentials and issues session information. |
| Map and Diagram Service | Enables geographic clients to interactively visualize geographic and statistical data in maps (such as the OGC Web Map Service) or diagrams. |
| Ontology Access Interface | Supports the storage, retrieval, and deletion of ontologies as well as providing a high-level view on ontologies. |
| Policy Enforcement Service | Handles authentication and sends authorisation requests to the Policy Decision Point for non-security enabled Web services. |
| Policy Management and Authorisation Service | Provides a decision on whether some identity (e.g. a user or a service) is authorised to access a certain resource. |
| Profile Management Service | Creates and maintains (user) profiles and their associations to identities. |
| User Management Service | Creates and maintains subjects (users or software components) including groups (of principals) as a special kind of subjects. |
| Web Processing Service (WPS) | Start, stop and result retrieval of information processes (e.g. statistical calculations). |
| Sensor Observation Service (SOS) | Provides uniform access to observations from sensors and sensor systems that is consistent for all sensor types including remote, in-situ, fixed and mobile sensors. |
| Sensor Alert Service (SAS) | Provides a means to register for and to receive sensor alert messages. |
| Sensor Planning Service (SPS) | Provides a standard interface to task any kind of sensor to retrieve collection assets. |
| Web Notification Service (WNS) | Service by which a client may conduct asynchronous dialogues (message interchanges) with one or more other services. |
| OASIS Web Service Notification interfaces | Family of related interfaces that define a standard Web services approach to notification using a topic-based publish/subscribe pattern. |
Within the SensorSA, the uncertainty of data sets is described using the UncertML. UncertML allows the information modeller to describe the uncertainty of a specific data set in an interchangeable way using an XML document conforming to the UncertML schema. This XML document can be embedded in a SensorML document to express information about the uncertainty of some process. In addition, UncertML can also be embedded in an O&M document to express the uncertainty of a specific sensor observation.
All data in SensorSA has an associated uncertainty depending on the available meta-information on how the data was observed (measured) or derived from other data sources.
In the case of data measured by sensors, the uncertainty can be classified into two categories:
In addition to data arising from sensor measurements and observations, SensorSA also handles the results of various processing algorithms, such as spatial and temporal interpolations, or predictions arising from plume modeling. The results of such data processing steps are themselves uncertain, on the one hand due to the uncertainty of the
input data, on the other hand due to the probabilistic or approximate nature of the processing itself. The uncertainty of data arising from processing is typically expressed with one of the following:
In many environmental domains, the results of the measurements, observations or processing are subjected to one or more automatic, semi-automatized and manual "quality assurance" procedures. In the course of data quality assurance, the original data is usually annotated, and parts of the data may be declared invalid, or even corrected. The resulting "quality assured" data typically has lower uncertainty than the raw data,
SensorSA and OGC SWE foresee mechanisms for presenting the annotated data, e.g. by mean of the O&M "composite phenomena", but the quality assurance process itself and the type of annotation is domain dependent and therefore can not be fully specified on a generic level. In SANY, the feasibility of SensorSA-compliant quality assurance has been demonstrated within the Air Quality (SP4) pilot application.
SANY developed a number of reusable software components for building SensorSA applications, including the basic services, value added services with one or more service interfaces, frameworks for building SensorSA applications, and smart sensor components.
Following links give an overview of the reusable components developed within SANY IP:
Sensor Web Enablement is a standardisation effort driven by the Open Geospatial Consortium. Through its liaison with ISO TC211, the OGC is closely involved in the development of often legally binding services published by ISO.
To date, OGC has successfully established its Observation and Measurement specification as a new work item in ISO. In the future, other SWE standards will follow. SensorSA inherits following SWE services and data models:
Consequently, all existing SWE-compliant software components can be used in SensorSA Networks. In SANY, the reference implementations of the OGC SWE services developed by 52 North were used both "as is", and as the basis for own developments (e.g. within Cascading SOS). In addition, SANY partners also developed several prototype SWE services with SOAP and REST bindings.
The Sensor Observation Service (SOS) is the primary interface for accessing sensor data within the SANY architecture. The SOS is a standard Web service interface for requesting, filtering, and retrieving observations and sensor information. This is the intermediary between a client and an observation repository or near real-time sensor channel.
Within SANY, the SOS is used for Web enabling the sensor systems of insitu sensor networks. The SOS is interrogated from the individual application services, e.g. a spatial fusion service, a settlement prediction model service, a temporal fusion service or from the SSE workflow, and is the key building block to facilitate the interrogation of sensors and visualisation of measurements. The SOS implementations are based on the specification of the Open Geospatial Consortium, which comprises three different profiles:
In the SANY implementation pilots, three Sensor Observation Service implementations have been deployed: a) an internal development of SolData, b) the Open Source 52° North Sensor Observation Service and c) the Fusion SOS of Fraunhofer IITB, whose observations are coverages generated by a fusion process. All SOS implementations are of the 1.0.0 version of the OGC SOS standard.
Service The Sensor Planning Service (SPS) is the standard interface for all sensor, model and process tasking operations, whereby the latter two can also be handled with the Web Processing Service. SANY uses the Open Source 52° North SPS implementation as well as the Fraunhofer Fusion SPS that tasks fusion processes. Both are of the 1.0.0 version of the OGC SPS standard.
The following operations are specified within the SPS standard:
In addition to the operations specified by the OGC, the 52° North SPS offers additional functionality, which allows the administration of SPS instances. This includes:
The modular plug-in architecture allows the flexible integration of any kind of sensor data into an SPS instance. It offers an open, well-documented interface that can be used for easily developing plug-ins for connecting new sensors to your SPS. Through its plug-in concept, the integration of new sensors is fully supported and offers the flexibility to adapt an implementation to the specific requirements of your use case.
The Web Notification Service (WNS) is mainly used to support asynchronous communication patterns, where message-originating services have to deliver messages to clients on protocols other than HTTP.
Since SANY mainly analyzed alternative asynchronous interaction patterns using WS-Addressing and WS-Notification standards, the relevance of WNS as a message-indirection service for SANY was rather low.
The WNS used in SANY is an Open Source implementation done by 52° North and based on the OGC WNS Best Practice Paper version 0.0.9. It includes the following set of operations defined in the WNS specification:
The WNS allows the integration of a broad range of communication means for sending notifications. Adding a new communication channel just requires the implementation of a new handler, which forms the bridge between the WNS
business logic and the communication system. By default XMPP and SMTP support are available. Furthermore a handler is available which supports sending SMS, fax and phone messages via the commercial HTTP-to phone/fax/ SMS service 'ecall.ch'.
Thus, the available Web Notification Service implementation already provides a broad range of initially supported communication protocols and a flexible architecture for easily integrating additional notification channels, which even qualifies the WNS to be used within applications setups based on OASIS standard 'WS-Notification'.
Due to the increasing demand for more flexible and dynamic services, communication patterns are required that effectively allow for the decoupling between the notification publisher and subscriber.
The Web Services Notification (WSN) aims to standardise the way in which Web services interact by using ‘Notifications’ or ‘Events’: These specifications provide a standardized way for a Web service, or other entity, to disseminate information to a set of other Web services, without having to have prior knowledge of these other Web Services. They can be thought of as defining ‘Publish/Subscribe for Web services’.
These specifications have many applications, for example in the arenas of system or device management, or in commercial applications such as electronic trading. Another approach called WS-Eventing has been followed by the W3C, but it is not a W3C recommendation yet.
The Sensor Alert Service (SAS) defines an interface that allows nodes to advertise and publish observational data or alerts and corresponding metadata respectively. It also allows clients to subscribe to this data – or any other data that is produced by the SAS based on incoming messages from sensors – within specific thresholds. This observational data might be a single observation result, a complex observation result or even an alert in its nature. Within SANY the SAS has been used by end-users to subscribe to alerts and set alert conditions for the sensors of their choice, provided those sensors publish events through the SAS.
The SANY Sensor Alert Service implemenation is composed of four components:
Two protocols are used for the communication between the sensor, the server and the client. The sensors use SOAP over HTTP to advertise themselves, and the XMPP protocol to publish their data. The client sends the subscriptions and receives the answer on SOAP over HTPP, and receives alert messages from the client on XMPP. The SAS uses the Extensible Messaging and Presence protocol (XMPP) to provide the push-based notification functionality, used for instant messaging. Communication between the MUC and the client or server is done over XMPP. The Web service SOAP bindings are document literal with a wrapped parameter style.
According to the OGC SAS Best Practice Paper version 0.9, the following operations are currently defined:
Sensors advertise to the SAS the data they publish. In return they receive the information where (to which multi user chat) they can publish their data. Thus, three operations for managing such advertisements are implemented:
Finally, three operations are available, which allow clients to subscribe to the information they are interested in and for managing these subscriptions
When subscribing to certain information at a SAS you are able to use the filtering options defined in the SAS specification. This comprises
Have you ever felt the need for more graphic functionalities in a WMS? The "Map and Diagram Service" (MDS) specifications define extensions to the OGC WMS and SLD standards with cartographic features such as diagrams, patterns and custom symbols expressed in Scalable Vector Graphics.
Diagram and other proportional symbol overlays are geo-referenced, and (technically) indistinguishable from regular WMS layers. As a consequence, all WMS client applications are compatible and can be used for viewing thematic layers that can be overlayed on regular cartographic materials. However, the creation of thematic maps on the fly requires dedicated MDS clients that are able to use the extended diagram parameters.
MDS defines several types of diagrams, including pie charts, bar charts, and line charts. Contours (see figure) are another important feature for the effective and intuitive representation of sensor data and interpolated fusion results.
A reference implementation of the Map and Diagram Service specifications is being implemented in the "QGIS map server", which is offered under GPL licence and available for download at:
Download: QGIS Server home page
The development of this service started in ORCHESTRA IP , and continued in SANY IP . The result is an open source application which is mature enough to compete with existing WMS implementations. If you need an application capable of cartographic symbolization while remaining compatible with existing WMS clients, then this is the application you have been looking for. Nevertheless, the usual disclaimer "this application is provided as is, with no express or implied warranty..." applies.
Catalogue services play an important role for the discovery of resources. Conventional catalogues usually contain meta-information about available data and service resources. A typical user query to a conventional catalogue could include ‘give me all services supporting standard interface x’ or ‘give me all datasets in a specific region, where the responsible party is y’.
A catalogue used for the discovery of sensor related meta-information needs to address additional requirements. Typical queries for such a catalogue differ from the conventional ones. Some examples may be: ‘give me all 'temperature' observations in Austria of May 2009’ or ‘give me all entries supporting a specific sensor type’. Looking at these queries it is clear that additional search criteria and specific meta-information are needed, which reflect the needs from the sensor domain.
SANY addressed these challenges in developing a meta-information schema for the catalogue which follows the Observation and Measurement Model (O&M) from the OGC (Cox). This model is used by Sensor Observation Services, which provide the meta-information necessary to answer the queries above. Besides conventional catalogue resource types (data and service) SANY defined the following new meta-information resource types according to the O&M Model for the catalogue:
Following illustration shows the resource types of the so called SANY Application Schema for Meta-information. Each resource type supports mandatory meta-information sections (table of contents and core elements) containing common meta-information elements like ‘title’, ‘keywords’ or ‘source url’. Further meta-information can be provided by specifying optional sections. This has been used for the description of the new resource types. Additionally the ‘Procedure’ resource type supports a SensorML section for a detailed description of sensors.
To support the possibilities of the SANY meta-information schema for the discovery process, the SensorSA Catalogue supports following search criteria ("queryables"):
SensorSA Catalogue supports automatic creation of meta-information. Since the meta-information schema was designed according to O&M, which is also used by the SOS, the Catalogue relies on SOS operations GetCapabilities and DescribeSensor for automatically harvesting of the meta-information necessary to create SANY meta-information documents.
In addition to automatic creation of SANY meta-information documents, the SensorSA catalogue can also harvest INSPIRE meta-information. In this case the information provided by the SOS is not sufficient for the creation of
instance documents compliant with INSPIRE schemas and must be extended. For more information on this, please refer to chapter 8.1.3 of the SANY Book.
To overcome problems with the discovery of unharmonized URNs used in phenomenon or feature of interest descriptions of an SOS, the principle of semantic annotation has been tested. In the test example a SOS provides links to an ontology and a lifting schema, which describes the relation between the ontology concepts and the SOS phenomenons. In order to provide flexibility, the W3C recommendation ‘Semantic Annotation for WSDL and XML Schema’ (SAWSDL) has been used (Farell, Lausen).
The harvesting operation infers from the phenomenon to the related ontology concept and includes the concept into the created meta-information document. The catalogue client provides the user access to the used ontology. The advantage is, that a user using the ontology concepts for his search will get more results than a user performing a search with a-priori knowledge of phenomenons available in the catalogue: a search for the observable property ‘relativeHumidity’ leads to results of a specific SOS. A search for ‘rf ’ leads to results of another SOS using this observable identifier for
the very same phenomenon. But a search using the ontology concept ‘relative_moisture’ related to meteorology leads to results of both SOS.
As an open architecture, SensorSA does not specify what any particular sensor or service does to protect itself. What the SensorSA does include, are security provisions to control access to services that are considered part of the SensorSA. The focus of the Security Framework is on access control. In a nutshell, access to a particular service is controlled in accordance with a policy specified for that service.
SensorSA security framework uses the SAML tickets to define Identities (individual users), Roles (attributes of Identities, indicating their function - e.g. "administrator" role), and Groups (sets of Identities). The Access Control Policies are specified using (Geo)XACML XML dialect.
The SensorSA Security Framework provides the software components that manage policies and identities, and enforce the policy rules. This includes:
SensorSA security framework is published under GPL, and can be downloaded from the "Downloads" section of the SANY-IP web site.
AIT decided to continue the TS-Toolbox development after the project end, and publish most of the components and several example applications under terms of the GPL. Please follow this link for more information.
The Time Series Toolbox (TS Toolbox) is a set of software components and application programming interfaces that simplify the task of building applications that record, process, store and publish time series of observations.
In SANY the TS Toolbox components are used in the following applications: the Cascading SOS Service, the SensorSA Data Acquisition System, Generic Time Viewer, and in the Universal Data Pump – a simple application that provides a convenient way for transporting data from one application, service or file for which a TS-Toolbox data connector exists to another.
The TS Toolbox contains software components for the following functional areas:
The functionalities implemented by TS Toolbox components provide application developers with higher-level building blocks than typical general purpose libraries, and allow rapid development of fully fledged applications. The TS Toolbox also includes example applications that can be either used as they are, or as a basis for developing more complex applications. At a time of publishing this information, the TS-Toolbox included following components:
The TS Toolbox currently includes two reusable implementations of ‘core’ components:
The ‘frontend’ TS Toolbox components provide interfaces to users or other applications. Currently, three frontend components exist:
The ‘data connector’ TS Toolbox components provide access to data using various protocols and data formats; this includes three general purpose data connector implementations:
The TS Toolbox also includes one example of a ‘legacy connector’, which is used to access the air quality data stored in the proprietary data acquisition system 'UWEDAT' monitoring systems (not included in GPL edition). Legacy connectors allow much tighter integration of legacy applications, e.g. real time access; storing altered data back to original service etc., than exporting and/or importing data to integrate those applications.
The Georeferenced Timeseries Viewer (GTV) is a generic desktop application and a toolbox for building specialized applications capable of presenting a common and combined view on time series data stemming from different sources, such as sensors, simulation models or data fusion outputs.
The GTV is implemented in Java on a richt client platform. It is an expert tool for the daily work of decision makers mainly in environmental authorities. The GTV is used as the basis for the ‘Data inspection client’ in Air Quality Monitoring (SP4) Pilot, and the design strongly reflects the requirements inherent to the air quality monitoring domain. Nevertheless, the GTV can be easily adopted to the needs of other environmental domains. The main design goals of GTV were:
The main GTV components are a set of connectors to remote systems and a set of viewer windows, which can be combined and configured in a flexible way. Both, connectors and viewers can be easily added at runtime without the need to recompile or reconfigure the application.
The most interesting GTV feature is the possibility to process the data on the fly using the build in scripting features. In addition to evaluating the data from one or more sources, the script decides which visualization component(s) are invoked to display the result. For example, the data from two sources can be compared and the differences visualized using the symbols on a map or colour-coded tables.
In the future, the existing processing component may be replaced by more powerful TS Toolbox Formula 3 processor component, and the performance improved through inclusion of the caching component.
Within the scope of SANY, the AIT developed three basic viewer components for visualization of the data in tabular form, as x-t graph or on a map. Additional GTV connectors and viewers can be easily added at runtime without the need to recompile or reconfigure the application.
Depending on the acutal configuration, the views may be either independent, or connected and capable of dynamically synchronising their context. For example, the symbols on a map (wind speed and direction) can reflect the time chosen by the user in one of the other two graphs, and browsing through data in tabular form can result in animated maps.
The Georeferenced Timeseries Editor (GTE) is an example how to use the TimeSeries Toolbox V4.x.
Moreover GTE adds viewer components to the TimeSeries ToolBox and is itself also usable as a toolbox to implement applications.
There are 3 files you need if you want to play with the GTE:
bin/gte. Details are in the document above.
Most of the data in a SensorSA network is either directly provided by sensors, or derived form the sensor measurements. Following SANY components allow easy integration of sensor data in SensorSA/OGC SWE compatible networks:
The SensorSA Data Acquisition System (SensorSA DAS) is a network capable appliance developed by AIT, which allows seamless integration of various sensors in a Sensor Service environment based on SensorSA. The main characteristic of SensorSA is the exclusive use of OGC SWE interfaces for all communication.
SensorSA DAS exposes sensor data, management data, and history of alerts over a Sensor Observation Service (SOS) interface. The sensor configuration is performed via Sensor Planning Service (SPS) interface, and the configuration of events and alerts is performed through a Sensor Alert Service (SAS) interface.
AnySen driver has been back-ported to existing UWEDAT monitoring system and used in production environments. Companies interested in integrating AnySen in their own products are kindly asked to contact AIT.
The AnySen driver is a software component for low level data acquisition, which can be used to connect sensors to a Data Acquisition System. It controls the sensor, interprets measurement streams and parses measurements.
AnySen is a part of the Time Series Toolbox and can be easily combined with other toolbox components. The main advantage of AnySen is its capability to read and interpret data from many sensor nodes equipped with a digital interface (e.g. RS232 or LAN). This is achieved by abstracting the sensor protocols and reading the concrete description out of a simple sensor description file. All commands necessary for configuring and retrieving data from an analyser can be configured at run time. When a new sensor is attached to the DAS, the AnySen can trigger an automated configuration process, leading to the sensor level ‘Plug and Measure’.
The configuration can either be read from a central Database, or from the SensorSA Smart Sensor. The configuration possibilities include the protocol description, structure of the measurements, and various meta-information such as the name and unit of the measured phenomenon. This is a significant difference to current DAS concepts, where this meta-information is injected in higher levels, often as part of the application logic.
The GeoMotes are mini-GPS devices (about 30 x 40 x 10mm, antenna included) that provide an accuracy better than one centimeter, thanks to a post data processing based on a differential calculus.
These devices can be embedded in self-powered systems which are connected wirelessly to each other in order to set up a network. Each node, named GeoCube, can continuously provide GPS data to one PC. Furthermore, GeoCube is equipped with a three axis MEMS accelerometer which is able to detect high frequency displacements. Therefore GeoCube is able to send a warning, then GPS data are being recorded and new positions are computed with one hour delay.
A network of GeoCubes is a mesh with wireless links that can monitor a local area of about one square kilometer. This network is small, easy to install and a low cost solution for geohazard predictions. Each node, i.e. each Geocube, is geo-localized with a relative positioning accuracy better than one centimeter in planimetry and two centimeters in altimetry. Moreover, time accuracy of each GeoCube is better than 50ns: it can easily and precisely date or initiate events.
Microns are wireless ad-hoc sensor communication nodes developed by SDA. As opposed to the Geocube, the Micron is a sensor node and not an actual sensor. Up to eight sensors can be connected to a Micron, which in its turn stores and relays observations to the sensor network.
The Micron smart sensor nodes have an integrated battery, which allows a guaranteed autonomy of 2 years. This autonomy may vary depending of the sensors attached and the frequency of measurements. An external power source can be connected, so e.g. photovoltaic panels could also be deployed to power the sensor nodes, and take over the battery powering.
The sensor nodes support different network topologies and are organised ina self-healing network, which means that if a node fails, the other nodes will automatically find another communication route. When several routing paths are possible, they will chose the most efficient path for their data communication.
SensorSA Data Acquisition System allows seamless integration of Microns in SensorSA networks.
The SensorSA ‘Smart Sensor Adapter (SSA)’ is a simple device which allows the user to connect a simple RS-232-based measuring device with automatic identification and registration to the station computer.
The SensorSA SSA has a possibility to provide all information required for automatic configuring of a SensorSA DAS, including e.g. capabilities of the sensor, resolution, accuracy and type of the measurements (units), sensor location, owner, proposals for information processing and more.
When attached to an USB port, the SSA allows the DAS to download its configuration data. In a next step, the DAS uses this information in the similar way it would use the configuration data obtained from the ‘sensor types’ database. Finally, the SSA switches to the ‘transparent’ mode and allows direct communication between the SensorSA DAS and the SSA RS-232 interface.
The current implementation of the SSA is based on a Microchip evaluation board shown above and the firmware supports following operations:
These commands can be sent over the USB connection and will be interpreted by the board until it enters the transparent mode (setTransparent=1 command). Once in transparent mode, the SSA acts as a simple USB to RS-232 bridge, which allows re-using of the existing sensor drivers with no or minimal changes.
Data fusion and modelling is an effective way to add value to existing datasets of sensor measurements. This can be achieved via aggregation of datasets or inference of new data from relationships and patterns within existing datasets. Generic fusion provisions data fusion in a way that separates configuration and data from the algorithmic processing itself, allowing re-use of algorithms and pre/post-processing between datasets. Re-use of algorithms and techniques lowers the cost of development, configuration and deployment of fusion services.
Data fusion and modelling techniques are used to integrate observation data, contextual data and phenomenological models from different sources in order to obtain new environmental information where and when sensor measurements are not available. Observation sensors may include in-situ, airborne and space-borne types, while models may include deterministic and stochastic models.
In addition, data fusion numerical techniques provide a framework for integrating information uncertainties which are generated from sensor measurements and models with various inaccuracies.
In SANY we have developed four distinct types of reusable fusion services:
The following video demonstrations of SANY fusion services are available:
Innovation and impact:
These services have been implemented for environmental decision-supportapplications by various project partners in context with the SensorSA. They were then validated under multiple risk domain applications. These included pilot applications specialising in the prediction of microbial risk of exceedance in bathing waters in the Gulf of Gdansk (Poland), atmospheric pollution risks and false alarms in the City of Linz (Austria) and underground risks of subsidence in the City of Toulon (France).
Causal fusion refers to the indirect prediction of a target variable using a selection of explanatory variables. A number of causal fusion methods have been developed for use within the SANY project, including multiple linear regressions and neural networks. In most cases, historical target and explanatory variables along with real-time explanatory variables from in-situ sensors held in OGC compliant SOSs or from spatial fusion processes are accessed via an OGC compliant WPS. The resultant predictions are supplied to an OGC compliant SOS, and/or viewed through a web-interface. Two types of casual fusion algorithms were used in SANY: multi-linear regressions and neural networks.
Linear regression is used to construct a prediction formula for the target variable, given values of explanatory variables, by minimizing the sum of squared errors of linear fitting. Before constructing the linear regression formula, each explanatory variable is tested in order to determine whether a linear relationship to the target variable exists. The target variable is then predicted as a linear combination of the explanatory variables.
Linear regression is one of the most widely used modelling methods because of its effectiveness and completeness. Although the majority of processes are nonlinear in nature, many of them are well-approximated by linear models.
Linear regression estimates unknown parameters and assesses whether these parameters are statistically significant, which often has a clear meaning to scientific questions. Linear regression also assesses whether the model is statistically significant. The resulting model can be used to predict the target variable and confidence intervals.
Neural networks are mathematical structures which are analogous to biological neural networks. The artificial neurons are set in layers and interconnected with each other. The neural networks are capable of processing non-linear statistical data and modelling complex relationships between inputs and outputs.
The most basic radial basis network consists of three separate layers. The input layer is the explanatory variables. The second layer is a hidden layer of high dimension. The output layer is the response of the network. The network topology is determined by the number of hidden units. One response is involved in this application.
Neural Networks are generally considered a ‘black box’ approach since the model parameters are hard to interpret in terms of physical meanings.
Spatial data fusion services provide spatial trends of environmental parameters using observation data which are collated from a network of in situ sensors. This leads to the prediction of environmental parameters in areas where sensing is not available. The computation and analysis of spatial data uncertainties can also lead to identifying the areas where new sensor observations are required. Three types of spatial fusion algorithms have been developed and tested in SANY:
Krigingi
Kriging is a method of spatial interpolation, which predicts values of an environmental parameter following observations of the same parameter at a finite number of sensors locations. The spatial predictions are simply weighted averages of the observed parameter values, according to the respective distances between the sensor points respective locations. The weights in Kriging are computed so that the variance is minimised. In this sense, Kriging is often called Optimal Interpolation.
The dependency of the interpolation weights on the distances between sensors is manifested in a variogram. The Kriging variogram essentially describes the variance of the difference between two distinct spatial observations. Furthermore, a realistic modelling of the variogram, should be based on reasonably accurate observations and a good understanding of the most dominant environmental processes that influence the spatial and temporal trends of the environmental parameter under study. This is of paramount importance for good Kriging results.
The numerical procedures in Kriging additionally involve the determination of measures of uncertainty when estimating environmental parameters in a spatial domain of interest. The approach leads to a good assessment of how observation sensors should be spatially distributed for achieving minimum uncertainty in spatial fusion.
To support Kriging we have added elevation correction, periodic variable support (e.g. wind direction), automated variogram selection and multi-region variogram support.
Bayesian Maximum Entropy
Data fusion methods based upon Bayesian Maximum Entropy (BME) are able to consider soft sensor data, e.g. the sensor value lies in an interval, and additional phenomenological knowledge in the form of models. The results are statistics encompassing the uncertainty of the spatial/temporal interpolation given the uncertainty of the available information.
The overall BME fusion method is structured in three stages:
If the general knowledge G comprises the mean and covariance, and if S includes only hard data, then the BME estimate coincides with the simple Kriging estimate. Similarly, if G is limited to the variogram and if S includes only hard data, then the BME estimate coincides with the ordinary Kriging estimate.
When applying the BME method in the SensorSAi, the knowledge S is represented as an observation collection described with the O&M model and including uncertainty information in uncertML. The map resulting from the posterior stage
is represented as coverage with associated uncertainty information.
Socio-economic spatial correlation
This spatial correlation algorithm fuses information from an economic impact database about buildings, cracking and the potential economic impact of this cracking with ground displacement sensor data in the Barcelona region. Correlation is between each identified building and the nearest ground displacement measurement. A displacement threshold limit, determined via temporal analysis of the regions historical correlation between displacements and eventual cracking, is used to flag buildings at different likelihoods of cracking. The output is a list of buildings, spatially correlated displacement values for each building, economic information such as tax and rental income and a 'likely cracking' warning flag based on the ground displacement threshold limit.
Temporal fusion can be used to predict the target variable directly from past observations of the target variable itself. The essential difference between temporal fusion and causal fusion is that temporal fusion takes the internal structure of data into account. In the SensorSA time-series data from in-situ sensors are obtained from SOS instances. The resultant predictions from the temporal fusion service are supplied to an OGC compliant SOS instance via a ‘virtual sensor’ controlled by an SPS instance.
Methods for time series analysis are often divided into two domains: timedomain and frequency domain. The frequency domain approach is more suited to exploratory analysis. The time-domain approach is discussed here. Time series usually contains some typical patterns:
Apart from the above regular patterns, an irregular component in the time series reflects non-systematic movements in the process.
The regular patterns can be identified through exploratory analysis or empirical knowledge of the process. At this stage, one must decide the order of trend, i.e., whether it is a random walk or a local linear trend, the existence
of seasonal component and its period, the order of autoregressive and moving average components.
Two temporal fusion algorithems have been investigated in SANY: state-space modelling and Kalman filters
Once data patterns are identified, models for time series can be formed using an autoregressive integrated moving average model or state-space form.
The state-space form has enormous power to handle a wide range of time series models.
The basic structures such as trend and seasonal cycles are expressed explicitly in the model and are easy to interpret. The state-space form consists of a measurement equation and a transition equation. The transition equation contains the dynamics of the system under investigation and generates state variables. The measurement equation relates observable variables to state variables.
After time series are modelled and put in state-space form, the Kalman filter algorithm may be used to produce predictions and smoothing of the statespace vector.
The Kalman filter is an important algorithm in many applications since it facilitates online estimation and enables the estimation and prediction of the state vector to be continually updated as new observations become available.
The Kalman filter is derived on the assumption that the disturbance and initial state vector are normally distributed. It gives optimal estimation of the state vector in the sense that it minimizes the mean square error within the class of linear estimators. It consists of two steps: prediction and update. The prediction step predicts the state variable and the prediction error to the next time step using the transition equation. The update step modifies the prediction once the observation at the current time step becomes available.
The Kalman filter also facilitates maximum likelihood estimation of the unknown parameters in the model. It enables the likelihood function to be calculated via prediction error decomposition. The maximum likelihood estimation can be carried out numerically or by an Expectation Maximization (EM) algorithm. The EM algorithm takes on a simple form comparing to the numerical solution and it always increases the likelihood during the iteration. The EM algorithm also tolerates missing observations and has a natural procedure to adjust the estimators.
To help decision makers to assess and react to particular situations, an implementation architecture for a Decision Support Infrastructure has been designed based upon the SensorSA information models and services. It has the following main capabilities:
One of the key aspects in decision support are the fusion processing services with their ability to predict, in time and in space, the values of observed phenomena. Along with socio-economic data these predictions may also be used for impact assessment. In the course of the SANY project, a web based multi-user Decision Support Infrastructure (Web portal) based on ESA Service Support Environment (SSE) platform has been implemented to perform the above mentioned tasks.
The Web services used by the Decision Support Infrastructure are part of the SensorSA. The Decision Support Infrastructure provides a number of off-the-shelf clients for these Web services. Most of the clients are highly generic and instances of these clients can easily be deployed by a registered service provider on the portal.
The generic usability of these clients is achieved by taking advantage of the service metadata that is available through the GetCapabilities operation and possibly other operations (e.g. DescribeProcess, DescribeTasking) exposed by these services in order to dynamically build the client input forms. All the generic clients supporting OGC compliant SWE services (i.e. SOS, SPS, SAS, and WNS) can be configured to use SOAP instead of pure HTTP to communicate with the server (service instance).
The generic SOS client supports several result models: two standard specialized result models for time series and point spatial coverage and a more generic self-described observation model. The generic SOS client takes advantage of the SensorSA Map and Diagram Service to display contours on the map. For SOS service instances storing fusion results, the generic SOS client is able to display uncertainty information (expressed in UncertML) as well as sampling surface information for multi-point and rectified grid coverages.
Clients are provided to subscribe to and receive events and alarms through various notification mechanisms: the OGC WNS service supports the notification to end users via a number of protocols (e.g. e-mail, SMS, etc) while the OASIS WS-Notification specifications support the notification to consumer services through an intermediate broker. The Decision Support Infrastructure includes a WS-Notification consumer that can be coupled with a WNS server and an Event Panel client to provide a very flexible notification infrastructure. All the Decision Support Infrastructure clients can be configured to transparently support access to secured services i.e. services whose access is controlled by a Policy Enforcement Point according to the SANY security architecture. The clients automatically collect the assertion information for all the identities of the user (multi-domain security) through the SAC Logic which accesses the corresponding Authentication servers. This information (SAML tokens) is inserted in the SOAP header of all the service operations performed by the client. The user’s identities are registered by him using the SAC client.
Based on the Service Oriented Architecture and the ORCHESTRA Reference Model, SANY offers the flexibility to tailor the implementation of SANY to the context of the user, ranging from the invocation of a web service up to the creation of an open platform enabling the trade of information and added value services. Consequently, SANY results are applicable to a great range of environmental risk management applications, and beyond (e.g. for keeping track of the natural resources, climate change, or as a part of a traffic management system.).
Within the project, several prototype applications of interest to GMES were developed and deployed at locations in Austria, France, Hungary, Poland, Spain, and United Kingdom. Short description of the SANY applications is given below. More details canbe foundin the SANY book and in the public deliverables.
Air quality is one of the most important indicators for the sustainable development. The air quality monitoring is therefore required and regulated by the law in all European states. In addition, to existing reporting obligations the
EU-wide initiatives such as INSPIRE and CAFE are gradually introducing the need for the pan-European interoperability and real time exchange of data.
The SANY ‘Air Quality’ pilot is used to validated the usability of the SensorSA based air quality management networks for three main groups of users: network operators, national environmental agencies, and for the European Environmental agency. The SANY Air Quality Management Pilot focuses on the following topics:
SANY Air Quality Pilot demonstrates the feasibility of building ‘INSPIRE-ready’ service networks based on SensorSA components deployed in Austria. This use case integrates the data from all Austrian provinces and the background measurements from the measurement network of the Austrian Environmental Agency.
In order to demonstrate the strengths of a decentralized system, the data from two provinces as well as additional background data are provided through separate SOS service instances. All retrieved data is annotated on-the-fly according to INSPIRE rules for meta-information using the Cascading SOS service. Finally, the relevant meta-information is harvested by special instance of SensorSA catalogue, and published through INSPIRE compliant catalogue service interface.
In addition to providing the INSPIRE-ready metadata model, the SANY Air Quality pilot also implemented functionality to automate the report generation in order to accommodate periodic national and European reporting obligations. an open service architecture for sensor networks.
The retrieval and submission process is the same for all reports, but a parametrized data download service has to be provided to support each individual report. The raw report data is automatically generated from the observations by Formula 3 time series processor embedded in the SensorSA Cascading SOS.
This offers a number of advantages over manual report generation:
Data quality assurance can be a tedious, expensive and sometimes also error-prone process that requires continuous supervision of the highly qualified domain experts. Rather than attempting to completely replace the work of domain experts by automatic quality control procedures, SANY looked into options to support domain experts in their work by automatically identifying suspicious measurements.
In order to achieve this goal, a state-space fusion service has been developed and deployed in the region of Linz. This service continuously monitors all available immission observations and publishes the nowcasts and 24 hours forecasts at 17 measurement locations using the data model similar to the one used by original immission SOS.
In addition to the nowcasts and forecasts, the state-space fusion also provides the confidence intervals for all estimated values. This allows easy identification of the ‘suspicious’ measurement: a measurement can be automatically declared ‘suspicious’ when the difference between data nowcast and actual measurement is larger than the confidence interval advertised by the fusion service.
In SANY, the nowcasting data and the confidence level are visualized by Data Inspection Tool (based on GTV), thus providing the visual aid for experts performing the quality assurance task. The suspicious data can be presented in form of colour-coded tables, special symbols on a map, or by overlapping the time series as shown above.
SP5 prototype can be explored at SP5 application web page. In case the demonstration is currently offline, please contact BMT.
Marine risks arise from a number of sources including natural events, anthropogenic causes and a combination of both. In almost all cases, marine risks have an economic, human and environmental impact. In SANY, short term microbial contamination of both Bathing Waters and Shellfish Waters has been targeted. These designated water areas are subject to extensive regulatory standards, established via EU Directives.
In the case of Bathing Waters, failure to meet regulatory standards can have significant impacts on public health and tourism revenue. Similarly, short term microbial pollution events in Shellfish Waters can have serious consequences for consumer health and cause a reduction in revenue for the local aquaculture industry. Presently, microbial levels in the selected water areas are assessed using laboratory testing. These tests often have a turnaround time of more than 24
hours and, as such, can only determine whether a contamination event has occurred. Improvement in the ability to forecast the risk of short term microbial pollution in designated waters could reduce both the human and economic
impact of such events. The SANY marine risk applications use a number of services developed within the SANY project to access data from sensor networks and assess the likelihood of a contamination event occurring. The use of SANY
Sensor Service Architecture enables: