Clement Escoffier - Because Modularity Matters

Main Positions

  • Present 2013

    Researcher

    University of Grenoble, Adele Team, Grenoble

  • 2012 2013

    Head of R&D

    Arrow Group, Paris

  • 2012 2010

    Director of Innovation

    akquinet A.G.,tech@spree, Berlin

  • 2010 2009

    Solution Architect

    akquinet A.G.,tech@spree, Berlin

Education

  • Ph.D. 2008

    Ph.D. in Software Engineering

    University of Grenoble

  • Master2005

    System and Software

    University of Grenoble

  • License (B.A)2003

    Mathematics and Computer Science

    University of Grenoble

Honors and Awards

  • 2014
    IEEE CCNC 2014 - Best Conference Paper Award
    image
    Best Conference Paper Award received for the paper Lessons Learned In Building Pervasive Platforms.
  • 2013
    OW2 Innovation Award
    image
    OW2 Innovation Award received for the Nanoko project. Nanoko is an initiative to provide methodologies, tools and frameworks to build modular and adaptive web applications. It focuses especially on client-side development using web technologies such as JavaScript, HTML5 and CSS3.
  • 2006
    IEEE Service Computing Contest - 2nd place
    image
    2nd place received at the IEEE Service Computing Contest for A Dynamic-SOA Home Control Gateway.

Research Activites

  • image

    Service-Oriented Component Models

    Service-Oriented Component Models infuse service-orientation into traditional component models.

    Service-oriented component models arise from the need to help developers to build modular and dynamic applications. While modularity is addressed by traditional component models, the dynamism has an expensive impact on the development model. To avoid state corruption, and to manage the sudden unavailability of resources, advanced concurrency protocols are required. Unfortunately, there are not trivial, and may lead to very complicated code.

    Service-orientation is dynamic by natures. Services are appearing and disappearing at anytime. Service-oriented component models take care of all this dynamism to let the developer focus on the business logic. In this paradigm, the components are requiring and providing services. More precisely, it tracks, selects and injects volatile services, while taking care of the service publication.

    I develop several service-oriented component models, for different domains. The main and probably the most famous one is iPOJO. Based on OSGi™, it makes the development of dynamic application accessible to any developer, while providing very sophisticated features. h-ubu is a second service-oriented component model developed in JavaScript to make web and mobile application more modular and dynamic. Both frameworks are used in industrial projects.

  • image

    Autonomic-Ready Platforms & Applications

    Platforms providing all the features required to build self-adaptive and autonomic systems.

  • image

    Build Process and Continuous Delivery

    How to improve software delivery, trust and quality.

  • image

    Web and Mobile Applications

    Frameworks and tools to build modular, dynamic and reactive web / mobile applications.

Filter by type:

Sort by year:

Lessons Learned in Building Pervasive Platforms

Clement Escoffier, Stéphanie Chollet, Philippe Lalanda
Conference Paper IEEE Consumer Communications and Networking Conference, 2014, rank B.

Abstract

The purpose of pervasive applications is to be invisible and to require a minimal amount of user attention. But invisibility raises lots of hard challenges, blocking the long-awaited pervasive era to emerge. The device heterogeneity and volatility, security enforcement and context-awareness are just some of the issues a developer must tackle inside the application code. To industrialize such development, we propose to use an application server dedicated to the pervasive environment. Thanks to this server, developers focus on the application, delegating to the server most of the pervasive constraint management. However, providing such a platform is a very difficult task. The pervasive environment constraints must be handled by this server in a consistent way, while being flexible enough to support the different applications. This paper describes the requirements of the pervasive applications and how our platform, named iCASA, deals with them.

Describing Dynamism in Service Dependencies: Industrial Experience and Feedbacks

Clement Escoffier, Pierre Bourret, Philippe Lalanda
Conference Paper IEEE International Conference on Services Computing, 2013, pages 328-335, rank A.

Abstract

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.

h-ubu: an industrial-strength service-oriented component framework for JavaScript applications

Clement Escoffier, Philippe Lalanda, Nicolas Rempulski
Conference Paper ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2013, pages 699-702, rank A.

Abstract

In the last years, we developed web applications requiring a large amount of JavaScript code. These web applications present adaptation requirements. In addition to platform-centric adaptation, applications have to dynamically react to external events like connectivity disruptions. Building such applications is complex and we faced sharp maintainability challenges. This paper presents h-ubu, a service-oriented component framework for JavaScript allowing building adaptive applications. h-ubu is used in industrial web applications and mobile applications. h-ubu is available in open source, as part of the OW2 Nanoko project.

Web-ChameRIA-Desktopanwendungen mit HTML5

Daniel Bremer-Tonn, Clement Escoffier
Journal Article Java Magazine, 2012, 1, pages 71.

Abstract

Die Popularität von Webtechnologien auf der Basis von HTML, CSS und JavaScript ist seit Jahren unverändert hoch. Im Zuge der Entwicklung und vor allem der Unterstützung von HTML5 entwickelt sich der Browser zu einer immer ernst zu nehmenderen Anwendungsplattform. Mit chameRIA stellen wir eine Lösung vor, mit der die Möglichkeiten aktueller Webtechnologien für anspruchsvolle und plattformunabhängige Desktopanwendungen genutzt werden können.

Improving user experience by infusing web technologies into desktops

Jonathan Bardin M, Philippe Lalanda, Clement Escoffier, Alice Murphy
Conference Paper ACM international conference on Object oriented programming systems languages and applications, 2011, pages 225-236, rank A*.

Abstract

Modern applications are able to adapt their architecture dynamically in order to tackle requirements, correctives and context changes. Such dynamism is often an echo of complexity and is not well supported by traditional client and user software stacks making complex the design, implementation and maintenance of the end user interface. Meanwhile, the web has seen the emergence of user interface technologies (e.g. HTML5, CSS3, JavaScript) widely adopted by developers to create highly flexible user interfaces. However, such clients are intrinsically bound to run on a web browser which is out of the control of the application. In this paper, we present ChameRIA, an application framework where a browser engine is reified as a component within the framework, thus allowing for better control over the rendering engine. We describe how we preserve a clear separation of concerns between the user interface and the application logic while maintaining coherence between them. We discuss how ChameRIA has been successfully used in two projects: a DRM document reader and a valve control application.

Towards an automatic integration of heterogeneous services and devices

Jonathan Bardin, Philippe Lalanda, Clement Escoffier
Conference Paper IEEE Asia-Pacific Services Computing Conference, 2010, pages 171-178, rank C.

Abstract

The recent evolution of mobile smart devices and their convergence with pervasive computing and software as a service raises new challenges. Developers of applications targeted to these environments have to face at least three major challenges: dynamism, heterogeneity, and distribution. In this paper, we propose a service oriented component framework which addresses these challenges by automatically reifying available services in a distributed pervasive environment. Therefore, the only thing developers have to focus on is writing the business code. We have implemented and validated our framework by using several real applications developed within collaborative projects (including ITEA ANSO project).

Developing User-Centric Applications with H-Omega

Clement Escoffier, Jonathan Bardin, Johann Bourcier, Philippe Lalanda
Conference Article Mobile Wireless Middleware, Operating Systems, and Applications Workshops, 2009, pages 118-123.

Abstract

The recent proliferation of ever smaller and smarter electronic devices, combined with the introduction of wireless communication and mobile software technologies enables the construction of a large variety of pervasive applications. The inherent complexity of such applications along with their non-expert clientele raises the necessity of building middleware solutions. This paper proposes to use the H-Omega application server to build user-centric applications. H-Omega relies on a service oriented component platform, iPOJO, and provides useful technical services for pervasive applications. This paper presents how to easily develop user-centric applications on the top of the H-Omega platform.

Towards a home application server

Clement Escoffier, Johann Bourcier, Philippe Lalanda, Jianqi Yu
Conference Paper IEEE Consumer Communications and Networking Conference, 2008, pages 321-325, rank B.

Abstract

The emergence of smart devices, especially in the home context, will change the way we interact with our environment. However, implementing and maintaining home-control applications is still far from easy. This paper discusses the difficulties encountered during the development of a home gateway. It then introduces a framework that sets the basics of a home application server and allows an easy development of home applications. An implementation is subsequently presented to validate the approach and its benefits.

iPOJO: Un modèle à composant à service flexible pour les systèmes dynamiques

Clement Escoffier
Phd Thesis Université Joseph-Fourier (Grenoble I), December 2008.

Abstract

La récente évolution de l'informatique a ouvert la voie à de nouveaux types d'applications. En effet, la convergence de l'Internet et de l'informatique ubiquitaire permet le développement d'applications intégrant le monde virtuel dans le monde physique. Cependant, cette convergence a vu émerger de nouveaux besoins tel que le dynamisme. Bien que de nombreux travaux aient étudié cette propriété, la création d'applications pouvant évoluer et réagir aux changements environnementaux et contextuels reste très complexe. Cette thèse s'intéresse à la conception, au développement et à l'exécution d'applications dynamiques. L'approche proposée s'appuie sur les récents efforts réalisés autour des modèles à composant. En effet, iPOJO, le modèle réalisé, combine l'approche à service et la programmation par composant afin d'introduire des caractéristiques de dynamisme au sein d'un modèle à composant. iPOJO propose un langage de composition permettant la conception d'applications nativement dynamiques, tout en facilitant le développement des ces applications. Celles-ci sont décrites de manière à réduire le couplage avec des implémentations de composants spécifiques. Enfin, iPOJO fournit une machine d'exécution. Cette machine propose des mécanismes d'introspection, de reconfiguration et d'extensibilité permettant la supervision d'applications ainsi que l'adaptabilité de cette plate-forme iPOJO à différents domaines. L'implémentation d'iPOJO est hébergée sur le projet Apache Felix. Elle est actuellement utilisée dans différents projets industriels tel que des plates-formes domestiques, le serveur d'applications JEE JOnAS ainsi que l'intergiciel pour téléphone mobile OW2 uGASP.

Autonomic iPOJO: Towards self-managing middleware for ubiquitous systems

Ada Diaconescu, Johann Bourcier, Clement Escoffier
Conference Paper IEEE International Conference on Wireless and Mobile Computing Networking and Communications, 2008, pages 472-477.

Abstract

The recent proliferation of ever smaller and smarter electronic devices, combined with the introduction of wireless communication and mobile software technologies enables the construction of a large variety of pervasive applications, such as home supervision and alarm systems. The inherent complexity of such applications along with their non-expert clientele raises the necessity for autonomic management solutions. Nonetheless, such solutions remain difficult to conceive, as they must deal with the increased volatility, heterogeneity and distribution of the pervasive domain, while ensuring stringent performance and dependability requirements. This paper proposes that reusable support for autonomic management solutions be provided by middleware platforms, along with already existing middleware services, such as security and transactions. Following this approach, a service oriented component platform, iPOJO, was extended with elementary autonomic management capabilities. These include monitoring and effector touch points, as well as embedded autonomic management functions, such as service dependency management. iPOJO is an open source Apache project and has been successfully employed to implement several research projects in the pervasive domain. This paper presents iPOJOpsilas extension with reusable autonomic management middleware services.

iPOJO: an Extensible Service-Oriented Component Framework

Clement Escoffier, Richard S. Hall, Lalanda, Philippe
Conference Paper International Conference on Services Computing, 2007, pages 474-481, rank A.

Abstract

Nowadays, application needs loose-coupling approach allowing asynchronous evolution. Service-oriented computing is a paradigm that utilizes services as fundamental elements for application design, and fulfills loose-coupling requirement. However, services themselves are typically only used to abstract remote functionality; the service-oriented approach proffered by web services does not promote an implementation model managing service dynamism. This paper proposes iPOJO, a service-oriented component to implement services. However, this component model does not only manage dynamic service interactions; it also provides an extensibility mechanism. IPOJO Components can manage other non-functional properties as persistency, security, autonomic management, eventing... To illustrate the approach, the paper presents a usage of iPOJO on a residential gateway.

Dynamically adaptable applications with iPOJO service components

Clement Escoffier, Richard S. Hall
Conference Article Software Composition, 2007, pages 113-128, rank B.

Abstract

Traditional component models and frameworks simplified software system development by enabling developers to break software systems into independent pieces with well-defined interfaces. This approach led to looser coupling among the system pieces and enhanced possibilities for reuse. While the component-based approach led to advancements in the software development process, it still has its limitations. In particular, after a component-based application is developed and deployed it typically is a monolithic and static configuration of components.The advent of service-oriented component (SOC), the rise in popularity of consumer devices, and the ubiquity of connectivity have fostered a growing interest in applications that react dynamically to changes in the availability of various services. To simplify the creation of such dynamic software systems, it is possible to borrow concepts from SOC and include them into a component model, resulting in a service-oriented component model that specifically supports dynamically adaptable applications. This paper presents iPOJO, a service-oriented component framework to help developers implement dynamically adaptable software systems.

Implementing home-control applications on service platform

Johann Bourcier, Clement Escoffier, Philippe Lalanda
Conference Paper IEEE Consumer Communications and Networking Conference, 2007, rank B.

Abstract

Towards an autonomic approach for edge computing

Mikael Desertot, Clement Escoffier, Didier Donsez
Journal Article Concurrency and Computation: Practice and Experience, Wiley Online Library, 2007, 19(14), pages 1901-1916.

Abstract

A Multi-Protocol Service-Oriented Platform for Home Control Applications

Didier Donsez, Johann Bourcier, Clement Escoffier, Philippe Lalanda, André Bottaro
Conference Paper IEEE Consumer Communications and Networking Conference, 2007, pages 1174-1175, rank B.

Abstract

A Dynamic-SOA Home Control Gateway.

Johann Bourcier, Chazalet, Antonin, Mikael Desertot, Clement Escoffier, Cristina Marin
Conference Paper IEEE SCC, 2006, pages 463-470, rank A.

Abstract

The convergence of smart field devices and business services stands to profoundly change the way we interact with our environment. This is especially true in the home context. In this paper, we present an open architecture and a dynamic service-oriented gateway running home services. The gateway is based on the OSGi standard and provides mechanisms to integrate different service technologies.

Developing an OSGi-like service platform for .NET

Clement Escoffier, Didier Donsez, Richard S. Hall
Conference Paper IEEE Consumer Communications and Networking Conference, 2006, rank B.

Abstract

Towards a reference model for implementing the Fractal specifications for Java and the .NET platform

Lionel Seinturier, Nicolas Pessemier, Clement Escoffier, Didier Donsez
Conference Paper ECOOP - Workshop Fractal, 2006.

Abstract

So far, several implementations of the Fractal specifications have been proposed. These implementations propose frameworks for programming with Fractal in a target language (Java, C, Smalltalk, C++). The general principles of implementing the specifications are common to all these frameworks. However, as far as we know, no concrete piece of software or no common set of internal interfaces have ever been shared between them. In this paper, we report on a reference model which has been set up to support several implementations on the Fractal Specifications. This model has been derived to build a Java personality called AOKell, and FractNet, a personality for the languages of the .NET framework. The originality of this model is to be based on the concepts of Aspect-Oriented Programming (AOP). Section 2 presents the general architecture of the reference architecture. Section 3 reports on the two personalities, AOKell and FractNet. Section 4 shows some performance measurements. Section 5 concludes this paper.

Autonomic management of edge servers

Mikael Desertot, Clement Escoffier, Philippe Lalanda, Didier Donsez
Conference Article Self-Organizing Systems, 2006, pages 216-229, rank C.

Abstract

Nowadays, one of the biggest challenges for companies is to cope with the high cost of their information technologies infrastructure. Edge computing is a new computing paradigm designed to allocate on-demand computing and storage resources. Those resources are web cache servers scattered over the ISP backbones. We argue that this paradigm could be applied for on-demand full application hosting, helping reduce cost. In this paper, we present a J2EE dynamic server able to deploy/host J2EE applications on demand and its autonomic manager. For that, we reengineer and experiment JOnAS, an open-source J2EE static server. Two management policies of the autonomic manager were stressed by a simulation of a worldwide ISP network.

Autonomic management of J2EE edge servers

Mikael Desertot, Clement Escoffier, Didier Donsez
Conference Paper International workshop on Middleware for Grid Computing, 2005, pages 1-6, rank C.

Abstract

Nowadays, one of the biggest challenges for companies is to cope with the high cost of their information technologies infrastructure. Edge computing is a new computing paradigm designed to allocate on-demand computing and storage resources. Those resources are web cache servers scattered over the ISP backbones. We argue that this paradigm could be applied for on-demand full application hosting, helping reduce cost. In this paper, we present a J2EE dynamic server able to deploy/host J2EE applications on demand and its autonomic manager. For that, we reengineer and experiment JOnAS, an open-source J2EE static server. Two management policies of the autonomic manager were stressed by a simulation of a worldwide ISP network.

Implémentation de plates-formes dynamiques de services avec .NET

Clement Escoffier, Didier Donsez
Conference Paper Conférence Française des Systèmes d’Exploitation, 2005, pages 51-62.

Abstract

La demande afin de concevoir des applications dont l’ architecture évolue dynamiquement en cours d’exécution est très en vogue aujourd’ hui. Les plates-formes dynamiques de services (PDS) permettent de concevoir une application comme un ensemble de services fournis et requis qui peuvent apparaître et disparaître au cours de l’ exécution de l’ application. OSGi est le standard de fait des PDS pour des applications dont les services sont tous exécutés dans la même machine virtuelle Java. .NET étant le compétiteur de Java, il nous est apparu intéressant de proposer une PDS centralisée semblable à OSGi au dessus de la CLR .NET. Cet article propose 4 implémentations d’ une telle PDS pour la CLR .NET.

Administration autonomique dans le contexte du Edge Computing

Clement Escoffier
Master Thesis Université Joseph-Fourier (Grenoble I), June 2005.

Abstract

Le Edge Computing consiste a rapprocher les ressources (de calcul et de données) des usagers dans un réseau d'opérateur ou de distribution de contenu (multimédia, flux, ...). En vue de diminuer les coûts de maintenance et d'augmenter la qualité de services d'un système, l'approche de l'informatique autonomique semble être une voie prometteuse. Ce rapport étudie l'intégration d'une boucle de rétro-action "intelligente" pour le Edge Computing. L'approche que nous proposons est applicable (et appliquée) à l'administration de plates-formes générales de serveurs IT et à sa déclinaison dans le contexte du "Edge Computing". Elle est basée sur la définition d'un ensemble de règles d'adaptation exécutées au sein d'un gestionnaire autonomique.

Current Teaching

  • 2014 2013

    Continuous Integration and Delivery

    Fifth year, Esisar, Grenoble Institute of Technologies, Valence

  • 2014 2013

    Software Engineering

    Master, Grenoble University, Grenoble

Teaching History

  • 2010 2010

    OSGi™ and Apache Felix iPOJO

    Fith year, ParisTech, Paris

  • 2008 2007

    Concurrent Programming

    Graduated students, Tufts University, Medford, MA

  • 2008 2007

    Dynamic Software Architecture

    Graduated students, Tufts University, Medford, MA

  • 2008 2007

    Software Project (C)

    Third year, ENSIMAG, Grenoble Institute of Technologies, Grenoble

  • 2007 2006

    Software Engineering Project

    Fourth year, ENSIMAG, Grenoble Institute of Technologies, Grenoble

  • 2007 2006

    Algorithm Crash Class

    Fourth year, ENSIMAG, Grenoble Institute of Technologies, Grenoble

  • 2006 2005

    Software Engineering Project

    Fourth year, ENSIMAG, Grenoble Institute of Technologies, Grenoble

  • 2006 2005

    Algorithm

    Third year, ENSIMAG, Grenoble Institute of Technologies, Grenoble

  • 2004 2005

    Introduction to Java

    DEUG Mathematics and Biology, Université Joseph Fourier, Valence.

Research Activites

  • image

    Apache Felix iPOJO

    A flexible and extensible service component model for OSGi™.

    iPOJO is a service component runtime aiming to simplify OSGi application development. It natively supports ALL the dynamism of OSGi. iPOJO is made to run the modern applications exhibiting modularity and requiring runtime adaption and autonomic behavior.

    I've created iPOJO in 2006, and still maintain it. iPOJO is used in academic and industrial projects. In 2013, iPOJO was downloaded more than 70000 times.

  • image

    Nanoko & h-ubu

    Frameworks and Tools to build modular and dynamic mobile applications.

    Foremost, Nanoko targets :
    • developers that use HTML5/JS as server generated content and do not use these technologies as autonomous clients (disconnected)
    • server side developers (ex: JEE) that wait for a client side technology integrating the same industrial development process
    • JavaScript developer still coding big and unmaintanable scripts or libs, and will find strong benefits in component-oriented programing models
    Check the Nanoko page.
  • image

    Wisdom

    Build modular and dynamic Web applications.

At My Office

You can find me at my office located at Grenoble University (Campus of Saint Martin d'Hères).

Address:

220 rue de la Chimie, Bâtiment C, Office 200
38400 Saint Martin d'Hères, France

Postal Adress

You can send me mails and parcels using the following address:

Clement Escoffier
Office 200, Bâtiment C
220 Rue de la Chimie
BP 53 - 38041 Grenoble Cedex 9
France