Section: Research Program

Programming models for pervasive applications

The pervasive applications can be designed in an ad hoc manner depending on the target area of application. In contrast, the goal of our experiments presented in section 3.3 is to get away from technical aspects, clearing common and reusable mechanisms for all applications studied, and identifying activities redundant in creating the code for these applications. Based on this analysis, the TACOMA research team seeks to build pervasive programming models taking into account the properties of Section 2.1 and incorporating all or part of the work based on the context in sections 3.1 and 3.2 .

To explain part of our approach, consider the example of pervasive games, which is one of our focuses. These games allow users to interact in space with other players or objects in their environment. This is an example of using the composite objects discussed in the previous section. Game development is based on a set of abstractions that allow the structuring of interactions between game objects, for example to treat a collision. We want to be able to rely on this type of abstraction in a pervasive environment. In prior years, the team worked on models for processing object interactions in the physical world to automatically deduct processing. This is the case in particular of the spatial programming: physical space is treated as a tuple-space in which objects are automatically synchronized according to their spatial arrangement. We continue this approach by considering more rich and expressive than the synchronization models using tuples.

This approach, turned toward low-level programming models, does not allow us to process all the applications we study. We are also focused on recent software engineering work in pervasive systems, especially that of service-oriented architectures exploiting IoT resources. Service-orientation is not new: this is to enable the development and evolution of the separate components of an application by reducing their dependence. With loosely-coupled components, the potential to change the application in a dynamic way are extended. The challenge here is to exploit these properties through the framework defined in section 2.1 .