Research Interests

Service-Oriented Computing

Dynamic service platforms

For the last 4 years I have mainly focused my research efforts on Service-Oriented Computing and issues regarding the management of dynamicity. Regarding service platforms, the adjective dynamic implies that services' availability is likely to evolve over time, and that applications (i.e., service consumers) must consequently adapt to these changes of context. In practice, taking into account the dynamicity of services is a heavy and error-prone task for developers, since services availability cannot be known in advance.

Component Models and Service-Oriented Component Models

That is why I have been interested in service-oriented component models which externally handle extra-functional properties like service dynamics. A simplistic approach distinguishes static binding (i.e., when a service consumer is statically bound to a specific service provider so that it will not use another provider) from dynamic binding which relies on dynamic substitution. In other words, as soon as a service provider becomes unavailable, if another provider of the same service is available, the latter is used to replace the leaving service.

Service disruptions and Service-Level Agreements

My phD thesis highlights the limitations of such approach. In some cases it is wiser to wait for a specific provider to return than replacing it with a different provider that may not offer the same quality of service, and also possibly lose a sessional context. In order to provide a more flexible service binding policy, we proposed an approach based on Service-Level Agreements. Guarantees and requirements regarding service availability and disruptions are specified by parties, so when a service provider is waited for and does not return within the time frame defined in the service contract, the agreement is legally violated. This approach is particularly relevant in mission-critical applications where service disruptions or uncontrolled architecture reconfigurations may have serious consequences. This work has been implemented on iPOJO, an extensible service-oriented component model for the OSGi service platform, since OSGi considers modularity and dynamicity as major concerns.

Ambient intelligence and the Internet of Things

Service disruptions and consequently dynamic SOA issues are very common in the context of machine-to-machine interactions, where devices functionalities can be represented as services. Services life cycles are indeed tightly coupled with the devices states: as soon as a device is unplugged, runs out of energy or moves out of range from a wireless receiver, the service will be disrupted and become unavailable. Machine-to-machine, pervasive and ubiquitous computing, the Internet of Things (even if the concept often refers to RFID and supply chain) or in a wider sense ambient intelligence are other emerging domains that I have tackled during my research activities. Computer resources have evolved for the last decade and objects tend to be more and more equipped with communication capabilities, so that heterogeneous devices can be integrated into new applications (e.g., home and building automation, VANETs, health care, ...).

Still on the OSGi platform, I have participated in the design of a dynamic Architecture Description Language (WADL) to describe sensor-based applications, and in the development of the WireAdminBinder interpreter. WireAdminBinder allows applications to be dynamically composed by connecting data producers and consumers as they enter or leave the service platform, according to our WADL application descriptions.

Regarding RFID technologies and the Internet of Things, I have contributed to the OW2 AspireRFID project. AspireRFID proposes a service-oriented middleware to mediate data from the physical world (e.g., objects identifications by RFID, NFC or other means as well as sensor measurements) to the virtual world (e.g., Information Systems) where business intelligence can be applied. The AspireRFID middleware is domain-independent and has been validated in various scenarii. For instance, a supply-chain demonstration shows a lego train passing goods (lego bricks) in front of several RFID readers to underline middleware traceability functionalities. In an actual experiment led by IUT Valence, a sounding balloon was launched and its trip as well as physical measurements (temperature, pressure, altitude, ...) were tracked by the middleware. That was made possible thanks to several sensors, including a GPS device, which were embedded on the balloon and a cellular phone that periodically transmitted information to the middleware.

During these activities in the ambient intelligence domain, I have had the opportunity to use and experiment several devices, mainly for demonstration purposes, including : SunSPOTs, Lego Mindstorm NXT, Nintendo Wiimote, OneWire and USB temperature sensors, video cameras, GPS, RFID and NFC readers (e.g., cellular phones), iBuddy, NabazTags...