«Enabling Hybrid Service-Oriented Architectures»


This page reports on the activities that have been initiated during the first year of the associated team and the preliminary results we obtained in this context.



Objectives


The objectives to be addressed during the first year as been defined in the associated team proposal as:

«Reflecting Sensor as a Service (SeaS) offers a key abstraction for WSN by leveraging the development and the exploitation of WSN systems by multiple consumers. While the service orientation will provide the capability to provision and control the service usage according to the consumer needs, WSN environments will impose the definition of a lightweight approach for interacting with heterogeneous sensors. Within the scope of SeaS, we therefore propose to reify WSN as a RESTful system and to expose sensors as hybrid REpresentational State Transfer (REST) resources. The application of the REST architectural style will i) open up the platform for supporting multiple communication protocol and resource representations, ii) encourage the deployment of Web intermediaries, and iii) increase the portability of existing WSNs applications and reduce the development cost of future WSNs applications upon the occurrences of unpredicted events, such as new user requests, or new industrial standards.»

«Packaging SeaS as reusable components will facilitate the development of service-oriented hybrid systems by isolating services as reusable units of composition with contractually specified services and explicit dependencies. These components will be independently deployed and dynamically reconfigured depending on the evolution of their capabilities and the environment surrounding them. In particular, SeaS will investigate the Service Component Architecture (SCA) standard to define a open development process, based on Software Product Lines (SPL), to express the variability of multi-scale services from design-time to deployment-time to run-time.»



Actions & Achievements


During this first year, the associated team has been focusing on developing two contributions: the REMORA component model [C2,W1,J1,J3,B1] and the DIGIHOME platform [C1,J2,B1]. This choice was motivated by the definition of a sustainable foundation for building multi-scale service-oriented architectures. We therefore considered SCA and REST as the foundations of our works and proposed to extend these technologies to address the objective of the associated team. By adopting these foundations, we therefore developed the following two contributions:


Reflecting Sensor as a Service: «The REMORA Component Model»


REMORA is a lightweight component model designed for Wireless Sensor Networks (WSNs), including other resource-constraint embedded systems. The strong abstraction promoted by this model allows a wide range of embedded systems to exploit it at different software levels from operating system to application [C2,J1].

REMORA provides a very efficient mechanism for event management, as embedded applications are inherently event-driven. REMORA components are described in XML as an extension of the Service Component Architecture (SCA) in order to make WSN applications compliant with the state-of-the-art componentization standards. Additionally, the C-like language for component implementation in REMORA attracts both embedded system programmers and PC-based developers to programming for WSNs. Finally, REMORA features a coherent mechanism for component instantiation and property-based component reconfiguration in order to facilitate lightweight event-based programming in WSNs [J3].

The current version of REMORA has been successfully deployed on the Contiki operating system. Principally, REMORA can be used for application development on any WSN system software platform that is written in C language. To achieve that, the REMORA runtime should be customized in such a way to efficiently use the features and services of the operating system. For example, the REMORA runtime for Contiki is able to read the Contiki-generated events and translate them to corresponding application level events.


Packaging SeaS as reusable components: «The DIGIHOME Service-Oriented Platform»


DIGIHOME exploits the SCA extensibility to incorporate the REST (REpresentational State Transfer) architectural style, and in this way leverages on the integration of multi-scale systems-of-systems (from Wireless Sensor Networks to the Internet). In particular, DIGIHOME detects adaptation situations by integrating context information using an SCA-based architecture. This architecture promotes the modularization of concerns and fosters the application of the REST principles by exploiting the SCA extensibility. The simplicity and data orientation of REST, combined with the SCA independence of implementation technologies, make DIGIHOME an attractive solution to deal with heterogeneity in terms of interactions.

The definition and application of ubiquitous bindings in the platform enable spontaneous communication by means of standard protocols (e.g.,UPnP and SLP), and furnish context provider selection (based on QoC attributes). On the other hand, the modularized architecture of DIGIHOME allows the definition of variants for the platform, called DIGIHOME objects, that can be deployed on resource-constrained devices. The functionality of these objects is exposed as services, accessible via several protocols, which can be accessed by clients that do not have to be part of the platform. Furthermore, the clear separation of concerns in the DIGIHOME architecture encourages the exploitation of WSNs for simple processing and local decision making. The suitability of our platform for context integration was evaluated with different discovery and context representations. Additionally, the platform applies CEP (Complex Event Processing) technology that detects application-specific situations.

We claim that the modularization of concerns fostered by DIGIHOME and materialized in a service-oriented architecture, makes it easier to incorporate new services and devices in smart home environments. The benefits of the DIGIHOME platform are demonstrated on smart home scenarios covering home automation, emergency detection, and energy saving situations. Future work includes further tests using some sensor nodes as context information providers, which will execute DIGIHOME objects based on the REMORA Framework. We also plan to exploit the FraSCAti's reconfiguration capabilities in order to integrate new communication and discovery protocols at runtime.




Meetings & Visits


During the first year, the following meetings and visits have been organized:

Event.
The 3rd edition of CAMPUS workshop has been jointly organized by the associated team partners and a special theme on «sensor as a service» was emphasized as part of this event.

Perspectives. We plan to organize longer visits and exchanges during the second year of the project.


Publications & Submissions


ACCEPTED (3)

[C1] RESTful Integration of Heterogeneous Devices in Pervasive Environments. Daniel Romero, Gabriel Hermosillo, Amirhosein Taherkordi, Russel Nzekwa, Romain Rouvoy and Frank Eliassen. In 10th IFIP International Conference on Distributed Applications and Interoperable Systems (DAIS’10). p. 1–14 of LNCS 6115 (Springer). Amsterdam, Netherlands. June 7–9, 2010.
[C2] Programming Sensor Networks Using REMORA Component Model. Amirhosein Taherkordi, Frédéric Loiret, Azadeh Abdolrazaghi, Romain Rouvoy, Quan Le-Trung and Frank Eliassen. In 6th IEEE International Conference on Distributed Computing in Sensor Systems (DCOSS'10). p. 45–62 of LNCS 6131 (Springer). Santa Barbara, California, USA. June 21–23, 2010.
[W1] A Component-based Approach for Service Distribution in Sensor Networks. Amirhosein Taherkordi, Romain Rouvoy and Frank Eliassen. In 5th International Workshop on Middleware Tools, Services and Run-Time Support for Sensor Networks (MidSens'10). Bangalore, India. November, 2010. To appear.

SUBMITTED (2)

[J1] A Generic Component-based Approach for Programming and Tuning Sensor Software. Amirhosein Taherkordi, Frédéric Loiret, Romain Rouvoy and Frank Eliassen. In The Oxford Computer Journal. July, 2010. Under submission.
[J2] The DigiHome Service-Oriented Platform. Daniel Romero, Gabriel Hermosillo, Amirhosein Taherkordi, Russel Nzekwa, Romain Rouvoy, Frank Eliassen. In Wiley Software Practice & Experience (SPE), Wiley. July, 2010. Under submission.

PREPARED (3)

[J3] Optimizing Sensor Network Reprogramming via In-situ Reconfigurable Components. Amirhosein Taherkordi, Frédéric Loiret, Romain Rouvoy and Frank Eliassen. In ACM Transaction On Sensor Networks (TOSN). October, 2010. To be submitted.
[B1] RESTful Service Development for Resource-constrained Environments. Amirhosein Taherkordi, Daniel Romero, Romain Rouvoy and Frank Eliassen. In Book on REST: Practice and Experience, October 2010. To be submitted.
[W2] Using Feedback Control Loop Models at Runtime for Managing Self-Adaptive Systems. Lucas Provensi, Russel Nzekwa, Frank Eliassen and Romain Rouvoy. To be submitted.