Pierre Bourret
Software Engineering Researcher
Contact information
bourretpatgmaildotcom
About me
My life and work
Quick reference
Name: | Pierre Bourret |
Born: | 1983 |
Nationality: |
French and British citizen |
Grade: |
Ph.D. Université de Grenoble |
Specialities: |
Computer Science, Software Engineering |
Spoken languages: |
French: native English: fluent Spanish: basic/learning |
Occupation: |
Software Engineer at CRD Nicolas Bourbaki |
Location: | Grenoble, France |
Short biography
My name is Pierre Bourret. I was born in 1983 in Grasse, a small town of the French Riviera. I began to show an interest for computers programming quite early, in 1995-1996.
I started in 2003 to study computer science at the Université Joseph Fourier of Grenoble, in the middle of the French Alps. I've passed there my Bachelor (2006) and Master's (2008) degrees.
After my studies, I worked as an engineer at the Laboratoire d'Informatique de Grenoble, in the Adele Team, a research lab specialized in software-engineering. During this two-years mission, along with my director Prof. Philippe Lalanda, we've raised several issues about ubiquitous computing applications, especially their development, execution and maintenance.
I thus started in 2010 a PhD under his direction. A few years later, Dr. Clément Escoffier, a former member of our research team, came back from the industry and became my PhD co-supervisor. After a few reorientations, my PhD defence, entitled "Component model for Autonomic-Ready platforms", eventually took place in 2014, october the 24th.
Shortly after, I started to work as a research engineer in the Erods team, specialized in distributed systems. Here I've helped to improve the Roboconf project: a multi-cloud deployment administration tool. During this mission, we started using the emerging OCCI standard to describe the resources we wanted to deploy, in the OCCIware national project.
Almost a year later, I've been contacted to work in a brand new private company, the CRD Nicolas Bourbaki, on the SpherNet project: a ready-for-market infrastructure for IoT, including embedded software on "cell site" antennas and message dispatchers on servers that must handle a tremendous amount of data.
Education
Scio me nihil scire.
Sorry, this section is still under construction. Meanwhile, you can return home.
Publications
Let papers speak and beards be still.
Reports
-
Computer software evolve in more and more complex environments. In order to offer new kinds of services, applications must deal with numerous and sophisticated surrounding devices. Ubiquitous computing envisions a world where such devices and softwares are seamlessly integrated in the physical every-day environment, and the interactions with the provided services are natural.
The design and administration of ubiquitous applications are unfortunately very thorny tasks, as they must address a wide set of constraints. The principles of autonomic computing, that allows the management of complex systems by other dedicated systems, lead to new tracks that help to contain those challenges. This PhD thesis provide a methodology, inspired from the autonomic computing field, that intends to ease the design, support the execution and guide the administration of ubiquitous applications.
Les applications informatiques évoluent dans des environnements de plus en plus complexes. Afin d'offrir de nouveaux types de services, les applications doivent s'intégrer avec les dispositifs environnants, toujours plus nombreux et sophistiqués. L'informatique ubiquitaire propose un monde où les dispositifs et programmes sont intégrés de manière transparente avec l'environnement quotidien, et les interactions avec les service fournis sont naturelles.
La conception et l'administration d'applications ubiquitaires sont hélas des tâches très délicates, car devant prendre en compte un nombre très important de contraintes. Les principes de l'informatique autonomique, qui permettent la gestion de systèmes complexes par d'autres systèmes spécialisés, apportent des solutions permettant de surmonter ces difficultés. Cette thèse propose donc une méthodologie inspirée de l'informatique autonomique, permettant de simplifier la conception, l'exécution et la maintenance d'applications ubiquitaires.
In the last decades, computing environments have been getting more and more complex, filled with miniaturized and sophisticated devices that can handle mobility and wireless communications. Ubiquitous computing, as envisioned by Mark Weiser in 1991, promotes the seamless integration of those computing environments with the real world in order to offer new kinds of applications. However, writing software for ubiquitous environments raises numerous challenges, mainly the problem of how to make an application adapt itself in an ever changing context. From another perspective, as classical softwares were growing in size and complexity, IBM proposed the concept of autonomic computing to help to contain the burden of administering massive and numerous systems.
This PhD thesis is based on an approach where applications are designed in terms of components using and providing services. A development model based on a reference architecture for the conception of ubiquitous applications is proposed, greatly inspired by researches in the autonomic computing field. In this model, the application is managed by a hierarchy of autonomic managers, that base their decisions on a central representation of the system. The fulfilment of this contribution requires to make the underlying middleware more reflexive, in order to support new kinds of runtime adaptations. We also provide a model that depicts the running system and its dynamics in a uniform way, based on REST principles. Applications relying on this reflexive middleware and represented by this model are what we called Autonomic-Ready.
Implementations of our proposals have been integrated in the Apache Felix iPOJO service-oriented component model. The system representation, named Everest, is provided as a OW2 Chameleon subproject. Validation is based on the iCASA pervasive environment development and simulation environment.
Ces dernières décennies, les environnements informatiques sont devenus de plus en plus complexes, parsemés de dispositifs miniatures et sophistiqués gérant la mobilité et communiquant sans fil. L'informatique ubiquitaire, telle qu'imaginée par Mark Weiser en 1991, favorise l'intégration transparente de ces environnements avec le monde réel pour offrir de nouveaux types d'applications. La conception de programmes pour environnements ubiquitaires soulève cependant de nombreux défis, en particulier le problème de rendre une application auto-adaptable dans un contexte en constante évolution. Parallèlement, alors que la taille et la complexité de systèmes plus classiques ont explosé, IBM a proposé le concept d'informatique autonomique afin de réduire le fardeau de l'administration de systèmes imposants et largement disséminés.
Cette thèse se base sur une approche où les applications sont conçues sous la forme de composants utilisant et fournissant des services. Un modèle de développement fondé sur une architecture de référence pour la conception d'applications ubiquitaires est proposé, fortement inspiré des recherches dans le domaine de l'informatique autonomique. Dans ce modèle, les applications sont prises en charge par une hiérarchie de gestionnaires autonomiques, qui appuient leurs décisions sur une représentation centrale du système. La mise en œuvre de cette contribution requiert de rendre la couche d'exécution sous-jacente plus réflexive, en vue de supporter de nouveaux types d'adaptations à l'exécution. Nous proposons également un modèle qui décrit le système à l'exécution et reflète sa dynamique de manière uniforme, suivant les principes du style d'architecture REST. Les applications reposant sur cette couche d'exécution réflexive et représentées par ce modèle sont qualifiées d'Autonomic-Ready.
Li'ensemble de nos propositions a été intégré dans le modèle à composant orienté service Apache Felix iPOJO. Le modèle de représentation du système, nommé Everest, est publié en tant que sous-projet d'OW2 Chameleon. Ces propositions ont été évaluées et validées par la conception et l'exécution d'une application ubiquitaire sur iCASA, un environnement de développement et de simulation.
Conferences
-
The rise of dynamic applications is coming with new development challenges. Indeed, dynamism is a complex concern, difficult to perceive and manage by developers. In the context of a large industrial project dealing with fleet management, we had to deal with important environmental and evolutionary dynamism. To make it easier for the development team, we have used and extended the iPOJO service component model. This paper presents how the dynamism is described in component metadata and how it is managed at runtime. The extensions have been integrated into the Apache Felix iPOJO source code.
-
Software Product Lines (SPLs) engineering aims to develop similar software systems by sharing a common set of software assets. Service-Oriented Computing (SOC) uses services as fundamental elements for developing applications. SOC provide dynamic capabilities that are needed in many product-lines. SPLs provide useful mechanisms for modeling dynamic applications implemented through service compositions. The main contribution of this paper is to propose a three-phase approach that consolidates the two paradigms for developing dynamic service compositions. The proposed approach is supported by an integrated development environment including three tools. The first tool allows specifying product line architecture integrating variability model. The second tool allows defining service compositions via the assembly of service descriptions. Such service compositions are designed following the product line architecture. Executing applications made of service instances can be autonomously built by a runtime infrastructure. The paper exemplifies the use of the presented tools in the home hospitalization domain.
Workshops
-
The highly evolutionary aspect of new application domains, such as pervasive computing, demands new and more adaptable integration solutions. Those solutions should be flexible enough to be modified at runtime and should provide information about its structure and behavior. This paper presents additions made to the Cilia mediation framework in order to built adaptable mediation applications. More precisely, we add reflection capabilities to obtain information about the architectural structure, and the system behavior at runtime. The presented approach shows how it is possible to built such adaptable applications and, in particular, analyze the impact of introspect application behavior and architecture reconfigurations on-the-fly.
Book chapters
-
This chapter introduces the design of a framework to simplify the development of smart home applications featuring self-adaptable capabilities. Building such applications is a difficult task, as it deals with two main concerns a) application design and development for the business logic part, and b) application evolution management at runtime for open environments. In this chapter, the authors propose a holistic approach for building self-adaptive residential applications. They thus propose an architecture-centric model for defining home application architecture, while capturing its variability. This architecture is then sent to a runtime interpreter which dynamically builds and autonomously manages the application to maintain it within the functional bounds defined by its architecture. The whole process is supported by tools to create the architecture model and its corresponding runtime application. This approach has been validated by the implementation of several smart home applications, which have been tested on a highly evolving environment.
Researches
Lost & found
Sorry, this section is still under construction. Meanwhile, you can return home.
Hobbies
Just for fun
Sorry, this section is still under construction. Meanwhile, you can return home.