PhD Defence: “Middleware and programming models for multi-robot systems”, Stefan-Gabriel Chitic, Vitrine/RobIot room, Chappe Building, 15th of March 2018, at 10h:30

Leave a comment
stefan_chitic

Title

Middleware and programming models for multi-robot systems

Abstract

Despite many years of work in robotics, there is still a lack of established software architecture and middleware for multi-robot systems. A robotic middleware should be designed to abstract the low-level hardware architecture, facilitate communication and integration of new software. This PhD thesis is focusing on middleware for multi-robot system and how we can improve existing frameworks for fleet purposes by adding multi-robot coordination services, development and massive deployment tools. We expect robots to be increasingly useful as they can take advantage of data pushed from other external devices in their decision making instead of just reacting to their local environment (sensors, cooperating robots in a fleet, etc).

This thesis first evaluates one of the most recent middleware for mobile robot(s), Robot operating system (ROS) and continues with a state of the art about the commonly used middlewares in robotics. Based on the conclusions, we propose an original contribution in the multi-robot context, called SDfR (Service discovery for Robots), a service discovery mechanism for Robots. The main goal is to propose a mechanism that allows highly mobile robots to keep track of the reachable peers inside a fleet while using an ad-hoc infrastructure. Another objective is to propose a network configuration negotiation protocol. Due to the mobility of robots, classical peer to peer network configuration techniques are not suitable. SDfR is a highly dynamic, adaptive and scalable protocol adapted from Simple Service Discovery Protocol (SSDP). We conduced a set of experiments, using a fleet of Turtlebot robots, to measure and show that the overhead of SDfR is limited.

The last part of the thesis focuses on programming model based on timed automata. This type of programming has the benefits of having a model that can be verified and simulated before deploying the application on real robots. In order to enrich and facilitate the development of robotic applications, a new programming model based on timed automata state machines is proposed, called ROSMDB (Robot Operating system Model Driven Behaviour). It provides model checking at development phase and at runtime. This contribution is composed of several components: a graphical interface to create models based on timed automata, an integrated model checker based on UPPAAL and a code skeleton generator. Moreover, a ROS specific framework is proposed to verify the correctness of the execution of the models and to trigger alerts. Finally, we conduct two experiments: one with a fleet of Parrot drones and second with Turtlebots in order to illustrates the proposed model and its ability to check properties.

Jury

  •  Prof. Abderrafiaa KOUKAM, Université de Technologie de Belfort-Montbéliard (Reviewer)
  • Prof. Philippe LALANDA, Université́ Joseph Fourier, Saint-Martin-d’Hères (Reviewer)
  • Prof. Noury BOURAQADI, Institut Mines-Telecom, IMT Lille Douai (Member)
  • Dr. Stéphanie CHOLLET, ESISAR, Valence (Member)
  • Prof. Olivier SIMONIN, INSA Lyon (Supervisor)
  • Dr. Julien PONGE, INSA Lyon (Co-Supervisor)

PhD Defense: “Noisy Channel-Output Feedback in the Interference Channel” by Victor Quintero, 12th of December 2017, at 14h, in the amphitheater Émilie du Châtelet – Marie Curie Library – INSA de Lyon

Leave a comment
victor

Jury

  • Prof. Michèle WIGGER, Reviewer, Télécom Paristech, France.
  • Prof. Abdellatif ZAIDI, Reviewer, Université Paris-Est Marne la Vallée, France.
  • Prof. Inbar FIJALKOW, Examiner, Université de Cergy-Pontoise, France.
  • Prof. H. Vincent POOR, Examiner, Princeton University, USA.
  • Prof. Gerhard KRAMER, Examiner, Technische Universität München, Germany.
  • Prof. David GESBERT, Examiner, Eurecom, France.
  • Prof. Jean-Marie GORCE, Thesis Director, Université de Lyon, France.
  • Dr. Samir M. Perlaza, Thesis Advisor, INRIA, France.
  • Prof. Iñaki Esnaola, Guest, University of Sheffield, UK.

Abstract
In this thesis, the two-user Gaussian interference channel with noisy channel-output feedback (GIC-NOF) is studied from two perspectives: centralized and decentralized networks.

From the perspective of centralized networks, the fundamental limits of the two-user GIC- NOF are characterized by the capacity region. One of the main contributions of this thesis is an approximation to within a constant number of bits of the capacity region of the two-user GIC-NOF. This result is obtained thanks to the analysis of a simpler channel model, i.e., a two-user linear deterministic interference channel with noisy channel-output feedback (LDIC- NOF). The analysis to obtain the capacity region of the two-user LDIC-NOF provides the main insights required to analyze the two-user GIC-NOF.

From the perspective of decentralized networks, the fundamental limits of the two-user decentralized GIC-NOF (D-GIC-NOF) are characterized by the η-Nash equilibrium (η-NE) region. Another contribution of this thesis is an approximation to the η-NE region of the two-user GIC-NOF, with η > 1. As in the centralized case, the two-user decentralized LDIC-NOF (D-LDIC-NOF) is studied first and the lessons learnt are applied in the two-user D-GIC-NOF. The final contribution of this thesis consists of a closed-form answer to the question: “When does channel-output feedback enlarge the capacity or η-NE regions of the two-user GIC-NOF or two-user D-GIC-NOF?”. This answer is of the form: Implementing channel-output feedback in transmitter-receiver i enlarges the capacity or η-NE regions if the feedback SNR is beyond SNRi*, with i∈{1,2}. The approximate value of SNRi* is shown to be a function of all the other parameters of the two-user GIC-NOF or two-user D-GIC-NOF.


PhD Defense: “Wi-Fi Tracking: Fingerprinting Attacks and Counter-Measures” by Célestin Matte, December 7th at 1:30pm in Amphi Chappe

Leave a comment
aaeaaqaaaaaaaadsaaaajgq1nmy4mte4lwe5zdutndm5nc1hnjgylwyymwnjnzvjnjkymw

Jury

Reviewers :
Nguyen, Benjamin, Professeur des universités, INSA Centre Val de Loire
Rasmussen, Kasper, Associate professor, University of Oxford

Members:
Chrisment, Isabelle, Professeur des universités, Université de Lorraine
Risset, Tanguy, Professeur des universités, INSA Lyon
Neumann, Christoph, Principal scientist, Technicolor

Supervisors :
Minier, Marine, Professeur des universités, Université de Lorraine
Cunche, Mathieu, Maître de conférences, Insa Lyon

Abstract

Wi-Fi Tracking: Fingerprinting Attacks and Counter-Measures

The recent spread of everyday-carried Wi-Fi-enabled devices (smartphones, tablets and wearable devices) comes with a privacy threat to their owner, and to society as a whole. These devices continuously emit signals which can be captured by a passive attacker using cheap hardware and basic knowledge. These signals contain a unique identifier,
called the MAC address. To mitigate the threat, device vendors are currently deploying a countermeasure on new devices: MAC address randomization. Unfortunately, we show that this mitigation, in its current state, is insufficient to prevent tracking.

To do so, we introduce several attacks, based on the content and the timing of emitted signals. In complement, we study implementations of MAC address randomization in some recent devices, and find a number of shortcomings limiting the efficiency of these implementations at preventing device tracking.

At the same time, we perform two real-world studies. The first one considers the development of actors exploiting this issue to install Wi-Fi tracking systems. We list some real-world installations and discuss their various aspects, including regulation, privacy implications, consent and public acceptance. The second one deals with the spread of MAC address randomization in the devices population.

Finally, we present two tools: an experimental Wi-Fi tracking system for testing and public awareness raising purpose, and a tool estimating the uniqueness of a device based on the content of its emitted signals even if the identier is randomized.


HDR Defense: “Contribution to the uplink PHY/MAC analysis for the IoT and BAN applications” by Claire GOURSAUD, 1/12 at 10:30, INSA de Lyon (Amphi Chappe).

Leave a comment
cgoursau

Jury

  • Pr Philippe CIBLAT, Telecom Paris Tech, Université de Paris-Saclay (reviewer)
  • Pr Mischa DOHLER, King’s College London (reviewer)
  • Pr Visa KOIVUNEN, Aalto University (reviewer)
  • Pr Inbar FIJALKOW, Université Paris Seine, Université Cergy Pontoise
  • Pr André-Luc BEYLOT, Toulouse INP
  • Pr Isabelle GUERIN LASSOUS, Université Claude Bernard – Lyon 1
  • Pr Jean-Marie GORCE, INSA Lyon

Abstract

My research activities are focused on the uplink in Wireless Sensor Networks, BAN, and IoT networks.
In particular, I have focused on the joint study of the PHY and MAC layers, so as to improve the network perfomance. The main hypothesis of my work is that no resources are to be spent for channel estimation or access protocol organization. The data transmission has thus to be performed such as the receiver is able to take advantage of all diversity at disposal, either introduced by the source, any relaying node, or intrinsic diversity.

In the first part, WBAN (Wireless Body Area Networks) are considered. Measurements campaigns have been conducted to create a data set with correlated channel conditions within a BAN, and among several BANs. With these data, we have proposed and evaluated dedicated frame constructions, when localization is performed with 3WR (3 Way Ranging) protocol using UWB (Ultra Wide Band). Such protocol, designed for static nodes, suffers from the intrinsic mobility of WBAN nodes. The challenge was thus to propose a strategy to ensure distance accuracy, position accuracy, and good positioning success probability, even though no channel information is available prior to the transmission. We have also theoretically evaluated how to optimally distribute the available power among a node and a potential relay.

Furthermore, we have considered IoT applications. Within this context, Fountain Codes and intraflow Network Coding were first studied to improve the transmission reliability. Secondly, the specific interference pattern observed in UNB (Ultra Narrow Band) transmission such as in SigFox network was also considered. In this context, the objective is to take advantage of all available diversity in the signal (temporal, spectral, signal strength, multi-receiver, …) to improve the system performance.

These aforementioned challenges are addressed in this HdR dissertation manuscript. I exposed the solutions we proposed during this last decade and the related obtained results through theoretical analysis, simulation and/or experimentation; as well as other potential directions.


PhD Defense: “High-performance Coarse Operators for FPGA-based Computing”, by Matei Istoan, on 6th April

Leave a comment
matei

The defense will take place on Thursday 6th April at 14:00 in the Chappe Amphitheater, Claude Chappe building, INSA Lyon.
The presentation will be held in English with slides in English.

Jury

Reviewers

Paolo IENNE, EPFL Lausanne
Roselyne CHOTIN-AVOT, UPMC Paris

Examiners

David THOMAS, Imperial College London
Frédéric PETROT, ENSIMAG, Saint Martin d’Hères
Olivier SENTIEYS, ENSSAT, Lannion

Advisors

Florent DE DINECHIN, INSA Lyon

Abstract

Field-Programmable Gate Arrays (FPGAs) have been shown to sometimes outperform mainstream microprocessors.
The circuit paradigm enables efficient application-specific parallel computations.
FPGAs also enable arithmetic efficiency: a bit is only computed if it is useful to the final result.
To achieve this, FPGA arithmetic shouldn’t be limited to basic arithmetic operations offered by microprocessors.This thesis studies the implementation of coarser operations on FPGAs, in three main directions.New FPGA-specific approaches for evaluating the sine, cosine and the arctangent have been developed.
Each function is tuned for its context and is as versatile and flexible as possible.
Arithmetic efficiency requires error analysis and parameter tuning, and a fine understanding of the algorithms used.

Digital filters are an important family of coarse operators resembling elementary functions: they can be specified at a high level as a transfer function with constraints on the signal/noise ratio, and then be implemented as an arithmetic datapath based on additions and multiplications.
The main result is a method which transforms a high-level specification into a filter in an automated way.
The first step is building an efficient method for computing sums of products by constants.
Based on this, FIR and IIR filter generators are constructed.

For arithmetic operators to achieve maximum performance, context-specific pipelining is required.
Even if the designer’s knowledge is of great help when building and pipelining an arithmetic datapath, this remains complex and error-prone.
A user-directed, automated method for pipelining has been developed.

This thesis provides a generator of high-quality, ready-made operators for coarse computing cores, which brings FPGA-based computing a step closer to mainstream adoption.
The cores are part of an open-ended generator, where functions are described as high-level objects such as mathematical expressions.


PhD Defense: “How to operate IoT networks with contracts of quality of service (Service Level Agreements)”, by Guillaume Gaillard, on 19th December

Leave a comment
g-gaillard

The defense will take place on Monday 19th December at 10:00 in the Chappe Amphitheater, Claude Chappe building, INSA Lyon.
The presentation will be held in French with slides in English.

Jury

Reviewers

Thierry TURLETTI, Inria- Sophia Antipolis
Pascale MINET, Inria- Paris

Examiners

Pascal THUBERT, Cisco Systems
Philippe OWEZARSKI, CNRS- Toulouse
Isabelle GUÉRIN-LASSOUS, Lyon 1 University

Advisors

Dominique BARTHEL, Orange Labs- Meylan
Fabrice VALOIS, INSA Lyon
Fabrice Theoleyre, CNRS- ICube

This thesis work has been done in collaboration between Orange Labs, INSA Lyon, ICube, and Inria UrbaNet in the CITI Lab.

Abstract

With the growing use of distributed wireless technologies for modern services, the deployments of dedicated radio infrastructures do not enable to ensure large-scale, low-cost and reliable communications. This PhD research work aims at enabling an operator to deploy a radio network infrastructure for several client applications, hence forming the Internet of Things (IoT).
We evaluate the benefits earned by sharing an architecture among different traffic flows, in order to reduce the costs of deployment, obtaining a wide coverage through efficient use of the capacity on the network nodes. We thus need to ensure a differentiated Quality of Service (QoS) for the flows of each application.
We propose to specify QoS contracts, namely Service Level Agreements (SLAs), in the context of the IoT. SLAs include specific Key Performance Indicators (KPIs), such as the transit time and the delivery ratio, concerning connected devices that are geographically distributed in the environment. The operator agrees with each client on the sources and amount of traffic for which the performance is guaranteed. Secondly, we describe the features needed to implement SLAs on the operated network, and we organize them into an SLA management architecture.
We consider the admission of new flows, the analysis of current performance and the configuration of the operator’s relays.
Based on a robust, multi-hop technology, IEEE Std 802.15.4-2015 on TSCH mode, we provide two essential elements to implement the SLAs: a mechanism for the monitoring of the KPIs, and KAUSA, a resource allocation algorithm with multi-flow QoS constraints. The former uses existing data frames as a transport medium to reduce the overhead in terms of communication resources. We compare different piggybacking strategies to find a tradeoff between the performance and the efficiency of the monitoring. With the latter, KAUSA, we dedicate adjusted time-frequency resources for each message, hop by hop. KAUSA takes into account the interference, the reliability of radio links and the expected load to improve the distribution of allocated resources and prolong the network lifetime. We show the gains and the validity of our contributions with a simulation based on realistic traffic scenarios and requirements.
Keywords: Quality of Service, Wireless Sensor Networks, Multi-hop, Internet of Things, Service Level Agreement, Key Performance Indicators, Reliability, Network Management, Network Monitoring, Scheduling, 6TiSCH

 


HDR Defense: “Complexity of Ambient Software: from Composition to Distributed, Contextual, Autonomous, Large-scale Execution”, by Frédéric Le Mouël, on 28th November

Leave a comment
flm

The defense will take place on Monday 28th November at 10:00 in the Chappe amphitheatre, Chappe Building, INSA Lyon.

Jury

Reviewers

Pr Thierry DELOT, Valenciennes University
Pr Daniel HAGIMONT, ENSEEIHT
Pr Michel RIVEILL, Nice Sophia Antipolis University

Examiners

Pr Isabelle GUÉRIN LASSOUS, Claude Bernard Lyon 1 University
Pr Fabrice VALOIS, INSA de Lyon
MCF Philippe ROOSE, Pau et Pays de l’Adour University

Abstract

Combined with the development of middleware in the 1990-2000, the Ambient Intelligence has shaped the 2020 scenarios. With a growing number of devices, smartphones, sensors, connected watches, glasses, etc., these scenarios however suffer. With increasing constraints of energy consumption, size and mobility, the deployment, management and programming of these environments have become greatly complex. Middleware present good properties of abstraction – allowing modularity and an efficient reuse – and interconnection – allowing openness and safety of systems. Hence, they play a paramount role in the current deployment of the Internet of Things.

During last years, my contributions have focused on studying, finding solutions to three middleware issues in this context: dynamism, scalability and autonomy. Several platforms have been developed to validate the scientific and technologic choices performed. Jooflux and ConGolo are JVM-based approaches integrating dynamism in-application, either explicitly with ConGolo contextual programming, or implicitly with transparent aspect weaving of Jooflux. AxSeL, ACOMMA and MySIM are service-oriented approaches capturing the dynamism with dynamic and contextual service loading/unloading, collaborative execution, and semantic QoS-based service composition. CANDS allows to manipulate and manage very important information flow on very large service graphs while preserving millisecond-response time. Pri-REIN improves it with quality of service.

An important result has been to show that the autonomy property is strongly correlated with the middleware application domains, and was particularly tested in smart cities with guidance application, in-street parking management and traffic optimisation.

These works have strongly been supported by five defended thesis.

For future works, I will consider specific IoT issues to reduce the human intervention: large-scale initial deployment, safe and secure management, and distributed au autonomous decision-making inferring locally a global behaviour – i.e. Small Data.

 


PhD Defense: “Cooperative communications with Wireless Body Area Networks for motion capture”, by Arturo Jimenez Guizar, on 27th September

Leave a comment
arturo

The defense will take place on Tuesday 27th September at 10:00 in the Chappe amphitheatre, Chappe Building, INSA Lyon.

It will be in French with slides in English

Jury

Reviewers

JULIEN-VERGONJANNE Anne, Limoges University
BERDER Olivier, Rennes 1 University

President of the jury

LE RUYET Didier, Conservatoire National des Arts et Métiers

Examiner

UGUEN Bernard, Rennes 1 University

Advisors

GORCE Jean-Marie, INSA de Lyon
GOURSAUD Claire, INSA de Lyon

Abstract

Wireless Body Area Networks (WBAN) refers to the family of “wearable” wireless sensor networks (WSN) used to collect personal data, such as human activity, heart rate, sleep sequences or geographical position.

This thesis aims at proposing cooperative algorithms and cross-layer mechanisms with WBAN to perform large-scale individual motion capture and coordinated group navigation applications.

For this purpose, we exploit the advantages of jointly cooperative and heterogeneous WBAN under full/half-mesh topologies for localization purposes, from on-body links at the body scale, body-to-body links between mobile users of a group and off-body links with respect to the environment and the infrastructure. The wireless transmission relies on an impulse radio Ultra-Wideband (IR-UWB) radio (based on the IEEE 802.15.6 standard), in order to obtain accurate peer-to-peer ranging measurements based on Time of Arrival (ToA) estimates. Thus, we address the problem of positioning and ranging estimation through the design of cross-layer strategies by considering realistic body mobility and channel variations.

Our first contribution consists in the creation of an unprecedented WBAN measurement database obtained with real experimental scenarios for mobility and channel modelling. Then, we introduce a discrete-event (WSNet) and deterministic (PyLayers) co-simulator tool able to exploit our measurement database to help us on the design and validation of cooperative algorithms. Using these tools, we investigate the impact of nodes mobility and channel variations on the ranging estimation. In particular, we study the “three-way ranging” (3-WR) protocol and we observed that the delays of 3-WR packets have an impact on the distances estimated in function of the speed of nodes. Then, we quantify and compare the error with statistical models and we show that the error generated by the channel is bigger than the mobility error.

In a second time, we extend our study for the position estimation. Thus, we analyze different strategies at MAC layer through scheduling and slot allocation algorithms to reduce the impact of mobility. Then, we propose to optimize our positioning algorithm with an extended Kalman filter (EKF), by using our scheduling strategies and the statistical models of mobility and channel errors. Finally, we propose a distributed-cooperative algorithm based on the analysis of long-term and short-term link quality estimators (LQEs) to improve the reliability of positioning. To do so, we evaluate the positioning success rate under three different channel models (empirical, simulated and experimental) along with a conditional algorithm (based on game theory) for virtual anchor choice. We show that our algorithm improve the number of positions estimated for the nodes with the worst localization performance.

 


PhD Defense: “Data aggregation in Wireless Sensor Networks”, by Jin Cui, on 27th June

Leave a comment
jcui

The defense will take place on Monday 27th June at 14:30 in the Chappe amphitheatre, Chappe Building, INSA Lyon.

The presentation will be in English.

Jury

Reviewers

MINET Pascale, Inria
DIAS DE AMORIM Marcelo, CNRS

Examinators

BEYLOT André-Luc, ENSEEIHT
ROUSSEAU Franck, ENSIMAG
BOUSSETTA Khaled, Université Paris 13

Advisor

VALOIS Fabrice,INSA Lyon

Abstract

Wireless Sensor Networks (WSNs) have been regarded as an emerging and promising field in both academia and industry. Currently, such networks are deployed due to their unique properties, such as self-organization and ease of deployment. However, there are still some technical challenges needed to be addressed, such as energy and network capacity constraints. Data aggregation, as a fundamental solution, processes information at sensor level as a useful digest, and only transmits the digest to the sink. The energy and capacity consumptions are reduced due to less data packets transmission. As a key category of data aggregation, aggregation function, solving how to aggregate information at sensor level, is investigated in this thesis.

We make four main contributions:

Firstly, we propose two new networking-oriented metrics to evaluate the performance of aggregation function: aggregation ratio and packet size coefficient. Aggregation ratio is used to measure the energy saving by data aggregation, and packet size coefficient allows to evaluate the network capacity change due to data aggregation. Using these metrics, we confirm that data aggregation saves energy and capacity whatever the routing or MAC protocol is used.

Secondly, to reduce the impact of sensitive raw data, we propose a data-independent aggregation method which benefits from similar data evolution and achieves better recovered fidelity.

Thirdly, a property-independent aggregation function is proposed to adapt the dynamic data variations. Comparing to other functions, our proposal can fit the latest raw data better and achieve real adaptability without assumption about the application and the network topology.

Finally, considering a given application, a target accuracy, we classify the forecasting aggregation functions by their performances. The networking-oriented metrics are used to measure the function performance, and a Markov Decision Process is used to compute them. Dataset characterization and classification framework are also presented to guide researcher and engineer to select an appropriate functions under specific requirements.


PhD Defense: “Fluxional compiler : seamless shift from development productivity to performance efficiency, in the case of real-time web applications”, by Étienne Brodu, on 21st June

Leave a comment
etienne brodu

The defense will take place at 14.00 in Amphi Chappe, and will be in French with slides in English.

Jury

Reviewers

Gaël THOMAS, Telecom Sud Paris

Frédéric LOULERGUE, LIFO

Examiners

Floréal MORANDAT, LaBRI

Frédéric OBLÉ, Atos Worldline

Advisor

Stéphane FRÉNOT, INSA Lyon

Abstract

Most of the now popular web services started as small projects created by few individuals, and grew exponentially. Internet supports this growth because it extends the reach of our communications world wide, while reducing their latency. During its development, an application must grow exponentially, otherwise the risk is to be outpaced by the competition.

In the beginning, it is important to verify quickly that the service can respond to the user needs: Fail fast. Languages like Ruby or Java became popular because they propose a productive approach to iterate quickly on user feedbacks. A web application that correctly responds to user needs can become viral. Eventually, the application needs to be efficient to cope with the traffic increase.

But it is difficult for an application to be at once productive and efficient. When the user base becomes too important, it is often required to switch the development approach from productivity to efficiency. No platform conciliates these two objectives, so it implies to rewrite the application into an efficient execution model, such as a pipeline. It is a risk as it is a huge and uncertain amount of work. To avoid this risk, this thesis proposes to maintain the productive representation of an application with the efficient one.

Javascript is a productive language with a significant community. It is the execution engine the most deployed, as it is present in every browser, and on some servers as well with Node.js. It is now considered as the main language of the web, ousting Ruby or Java. Moreover, the Javascript event-loop is similar to a pipeline. Both execution models process a stream of requests by chaining independent functions. Though, the event-loop supports the needs in development productivity with its global memory, while the pipeline representation allows an efficient execution by allowing parallelization.

This thesis studies the possibility for an equivalence to transform an implementation from one representation to the other. With this equivalence, the development team can follow the two approaches concurrently. It can continuously iterate the development to take advantage of their conflicting objectives.

This thesis presents a compiler that allows to identify the pipeline from a Javascript application, and isolate its stages into fluxions. A fluxion is named after the contraction between function and flux. It executes a function for each datum on a stream. Fluxions are independent, and can be moved from one machine to the other, so as to cope with the increasing traffic. The development team can begin with the  productivity of the event-loop representation. And with the transformation, it can progressively iterate to reach the efficiency of the pipeline representation.

 

Résumé

La plupart des grands services web commencèrent comme de simples projets, et grossirent exponentiellement. Internet supporte cette croissance en étendant les communications et réduisant leur latence. Pendant son développement, une application doit croître exponentiellement, sans quoi elle risque de se faire dépasser par la compétition.
Dès le début, il est important de s’assurer de répondre aux besoins du marché : Fail fast. Des langages comme Ruby ou Java sont devenus populaires en proposant la productivité nécessaire pour itérer rapidement sur les retours utilisateurs. Une application web qui répond correctement aux besoins des utilisateurs peut être adoptée de manière virale. Mais à terme, une application doit être efficace pour traiter cette augmentation de trafic.
Il est difficile pour une application d’être à la fois productive et efficace. Quand l’audience devient trop importante, il est souvent nécessaire de remplacer l’approche productive pour un modèle plus efficace. Aucune plateforme de développement ne permet de concilier ces deux objectifs, il est donc nécessaire de réécrire l’application vers un modèle plus efficace, tel qu’un pipeline. Ce changement représente un risque. Il implique une quantité de travail conséquente et incertaine. Pour éviter ce risque, cette thèse propose de maintenir conjointement les représentations productives et efficaces d’une même application.
Javascript est un langage productif avec une communauté importante. C’est l’environnement d’exécution le plus largement déployé puisqu’il est omniprésent dans les navigateurs, et également sur certains serveurs avec Node.js. Il est maintenant considéré comme le langage principal du web, détrônant Ruby ou Java. De plus, sa boucle évènementielle est similaire à un pipeline. Ces deux modèles d’exécution traitent un flux de requêtes en chaînant des fonctions les unes après les autres. Cependant, la boucle évènementielle permet une approche productive grâce à sa mémoire globale, tandis que le pipeline permet une exécution efficace du fait de sa parallélisation.
Cette thèse étudie la possibilité pour une équivalence de transformer une implémentation d’une représentation vers l’autre. Avec cette équivalence, l’équipe de développement peut suivre les deux approches simultanément. Elle peut itérer continuellement pour prendre en compte les avantages des deux approches.
Cette thèse présente un compilateur qui permet d’identifier un pipeline dans une application Javascript, et d’isoler chaque étape dans une fluxion. Une fluxion est nommée par contraction entre fonction et flux. Elle exécute une fonction pour chaque datum sur le flux. Les fluxions sont indépendantes, et peuvent être déplacées d’une machine à l’autre pour amortir l’augmentation du trafic. L’équipe de développement peut commencer à développer avec la productivité de la boucle évènementielle. Et avec la transformation, elle peut itérer pour progressivement atteindre l’efficacité du pipeline.