Réseaux urbains de capteurs sans-fil : Applications, caractérisation et protocoles - Thèse Informatique
Réseaux urbains de capteurs sans-fil : Applications, caractérisation et protocoles - thèse Informatique
- Revenir à l'accueil
Autres thèses en informatique :
APISENSE-a-distribut..> 05-Jan-2015 08:09 5.7M
APISENSE-terminaux-i..> 04-Jan-2015 21:53 5.4M
Addition-formulae-on..> 04-Jan-2015 21:26 3.0M
Architecture-de-comm..> 05-Jan-2015 08:04 4.4M
Catalogage-de-petits..> 05-Jan-2015 08:06 3.8M
Classification-et-ca..> 04-Jan-2015 11:58 1.3M
Collaboration-de-tec..> 04-Jan-2015 21:27 2.4M
Completion-combinato..> 05-Jan-2015 08:11 2.6M
Contributions-a-la-v..> 04-Jan-2015 21:51 5.4M
Cryptographie-sur-le..> 05-Jan-2015 08:01 3.4M
Detection-de-rails-m..> 05-Jan-2015 08:04 5.1M
Environnements-urbai..> 05-Jan-2015 08:03 6.3M
Equilibrage-de-charg..> 04-Jan-2015 21:25 3.2M
Evaluation-analytiqu..> 05-Jan-2015 08:07 3.5M
Faciliter-le-develop..> 04-Jan-2015 21:56 4.4M
Factorisation-matric..> 04-Jan-2015 11:59 2.7M
Generation-automatiq..> 03-Jan-2015 22:04 2.6M
Gestion-de-la-variab..> 04-Jan-2015 21:55 4.8M
Idéalisation-d-asse..> 04-Jan-2015 11:57 2.1M
Inference-d-invarian..> 04-Jan-2015 11:58 1.5M
Integration-de l-inf..> 04-Jan-2015 21:25 3.4M
Intelligence-en-essa..> 05-Jan-2015 08:03 5.6M
Interrogation-de-gra..> 03-Jan-2015 22:04 2.9M
La-gestion-du-trafic..> 03-Jan-2015 22:01 4.1M
Langage-de-mashup-Th..> 04-Jan-2015 21:24 4.1M
Les-logiciels-de-ges..> 03-Jan-2015 22:03 3.1M
Lh-rs-p2p-une-nouvel..> 04-Jan-2015 11:59 2.7M
Mesure-de-la-fragili..> 04-Jan-2015 21:24 3.8M
Meta-modelisation-du..> 04-Jan-2015 21:56 4.1M
Methode-de-classific..> 04-Jan-2015 11:58 1.3M
Methode-de-game-desi..> 05-Jan-2015 08:10 4.2M
Methodes-sequentiell..> 04-Jan-2015 21:27 2.2M
Mise-en-oeuvre-appli..> 04-Jan-2015 21:54 4.4M
Modele-et-experience..> 05-Jan-2015 08:01 3.8M
Modelisation-d-une-a..> 04-Jan-2015 21:53 5.0M
Modelisation-et-dete..> 04-Jan-2015 11:57 1.6M
Normalisation-et-App..> 03-Jan-2015 22:01 4.1M
Nouvelles-approches-..> 05-Jan-2015 08:09 2.3M
Planification-d-une-..> 05-Jan-2015 08:06 4.1M
Prise-en-compte-de-l..> 03-Jan-2015 22:04 2.8M
Qualification-system..> 04-Jan-2015 21:26 2.8M
Reconnaissance-de-co..> 03-Jan-2015 22:03 3.6M
Segmentation-supervi..> 04-Jan-2015 11:58 1.3M
Services-de-repartit..> 03-Jan-2015 21:59 4.7M
Techniques-visuelles..> 04-Jan-2015 21:27 2.7M
The-Emergence-of-Mul..> 03-Jan-2015 22:05 2.5M
Trigraphes-de-Berge-..> 03-Jan-2015 22:02 3.9M
Un-ilot-formel-pour-..> 05-Jan-2015 08:07 3.1M
Vers-une-capitalisat..> 03-Jan-2015 22:00 4.6M
Congrès d'informatique :
Application-Agnostic..> 03-Jan-2015 21:16 2.1M
Continuity-Editing-f..> 03-Jan-2015 17:35 4.0M
Double-WP-Vers-une-p..> 03-Jan-2015 17:36 4.0M
Effective-Reproducib..> 03-Jan-2015 21:18 2.0M
Enforcing-reuse-and-..> 03-Jan-2015 21:17 2.0M
Extracting-Bounded-s..> 03-Jan-2015 21:19 4.0M
Fingerprint-Quality-..> 03-Jan-2015 21:16 2.1M
GPU-Load-Balance-Gui..> 03-Jan-2015 21:18 4.0M
Minkowski-sum-of-pol..> 03-Jan-2015 21:17 2.0M
Quality-Assessment-o..> 03-Jan-2015 21:16 2.1M
Rester-statique-pour..> 03-Jan-2015 17:35 4.0M
The-Power-of-Polynom..> 03-Jan-2015 21:16 2.1M
Cours d'informatique :
Analyse-numerique-Co..> 03-Jan-2015 17:33 3.0M
Approches-m-k-firm-p..> 03-Jan-2015 17:27 3.7M
COURS-LA-CULTURE-INF..> 03-Jan-2015 17:25 3.8M
CRYPTANALYSE-DE-RSA-..> 03-Jan-2015 17:33 3.0M
Cours-Interconnexion..> 03-Jan-2015 17:34 3.0M
Cours-d-Analyse-et-C..> 03-Jan-2015 17:22 3.9M
Efficient-C++finite-..> 03-Jan-2015 17:30 3.5M
Efficient-C++finite-..> 03-Jan-2015 17:31 3.2M
Fondements-de-l-Info..> 03-Jan-2015 17:22 4.0M
INTRODUCTION-A-L-INF..> 03-Jan-2015 17:24 3.8M
Informatique-et-Ling..> 03-Jan-2015 17:24 3.8M
Initiation-a-l-infor..> 03-Jan-2015 17:26 3.8M
Intelligence-Artific..> 03-Jan-2015 15:16 2.5M
Introduction-a-l-ana..> 03-Jan-2015 17:27 3.7M
Introduction-a-la-ge..> 03-Jan-2015 17:26 3.8M
Le-routage-externe-B..> 03-Jan-2015 17:32 3.1M
Le-systeme-d-informa..> 03-Jan-2015 17:32 3.1M
Lecture1_Linear_SVM_..> 03-Jan-2015 14:57 2.4M
Lecture2_Linear_SVM_..> 03-Jan-2015 14:56 2.4M
Lecture3_Linear_SVM_..> 03-Jan-2015 14:56 2.4M
Lecture4_Kenrels_Fun..> 03-Jan-2015 14:55 2.4M
Lecture5_Kernel_SVM...> 03-Jan-2015 14:55 2.4M
Lecture6_SVDD.pdf.htm 03-Jan-2015 14:54 2.4M
Lecture7_Cross_Valid..> 03-Jan-2015 14:54 2.4M
Lecture8_Multi_Class..> 03-Jan-2015 14:57 2.4M
Lecture9_Multi_Kerne..> 03-Jan-2015 14:53 2.5M
Lecture10_Outilier_L..> 03-Jan-2015 14:53 2.5M
Les-reseaux-sans-fil..> 03-Jan-2015 15:17 2.5M
NooJ-pour-l-Intellig..> 03-Jan-2015 17:30 3.2M
Outils-Logiques-pour..> 03-Jan-2015 15:15 2.8M
Presentation-de-la-r..> 03-Jan-2015 17:33 3.0M
Projet-IP-SIG-Signal..> 03-Jan-2015 15:16 2.5M
Robotique-Mobile-PDF..> 03-Jan-2015 15:16 2.6M
Systeme-informatique..> 03-Jan-2015 15:17 2.5M
Systemes-Multi-Agent..> 03-Jan-2015 17:28 3.5M
Tutoriel-Android-TP-..> 03-Jan-2015 14:57 2.3M
Understanding-SVM-th..> 03-Jan-2015 14:57 2.4M
Une-histoire-de-la-m..> 03-Jan-2015 17:28 3.5M
Une-introduction-aux..> 03-Jan-2015 17:31 3.1M
Vers-une-signalisati..> 03-Jan-2015 17:25 3.8M
R´eseaux urbains de capteurs sans-fil : Applications,
caract´erisation et protocoles
Pr´esent´ee Devant, Quentin Lampin
To cite this version:
Pr´esent´ee Devant, Quentin Lampin. R´eseaux urbains de capteurs sans-fil : Applications, caract´erisation
et protocoles. Networking and Internet Architecture. INSA de Lyon, 2014. French.
HAL Id: tel-01095797
https://hal.inria.fr/tel-01095797
Submitted on 16 Dec 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.N d’ordre 2014-ISAL-0001
Année 2014
Thèse
Réseaux urbains de capteurs sans-fil :
Applications, caractérisation et protocoles
Présentée devant
L’Institut National des Sciences Appliquées de Lyon
pour obtenir
Le grade de docteur
Par
Quentin Lampin
Projet INRIA Urbanet, Laboratoire CITI, INSA de Lyon
Ecole doctorale : InfoMaths
Spécialité : Informatique
Soutenue le 30 janvier 2014 devant la Commission d’examen
Jury
Marcelo Dias de Amorim Dir. Recherche au CNRS, UPMC Rapporteur
(Paris, France)
Mischa Dohler Prof. au King’s College London Rapporteur
(London, United Kingdom)
Xavier Lagrange Prof. à Telecom Bretagne Rapporteur
(Cesson Sévigné, France)
Daniel Kofman Prof. à Telecom ParisTech Examinateur
(Paris, France)
Pascal Thubert Pr. Research Scientist à Cisco Systems Examinateur
(Mougins, France)
Fabrice Valois Prof. à l’INSA de Lyon Directeur de thèse
(Villeurbanne, France)
Isabelle Augé-Blum MdC. à l’INSA de Lyon Co-encadrante de thèse
(Villeurbanne, France)
Dominique Barthel Ing. à Orange Labs Co-encadrant industriel
(Meylan, France)iiiii
Résumé des travaux de thèse
Les réseaux de capteurs sans-fil sont composés de dispositifs électroniques conçus pour
mesurer une grandeur physique de l’environnement dans lequel ils sont déployés et pour
acheminer ces mesures à un système d’information. Dans nos travaux de thèse, nous avons
étudié les architectures de réseau (longue-portée vs multi-sauts) et les protocoles de communication
associés (MAC et routage) afin de déterminer les configurations les mieux
indiquées pour des scénarios typiques d’un réseau de capteurs pour la Ville Intelligente
(Smart Cities). Après avoir recensé les caractéristiques de ces applications en matière de
trafic et de Qualité de Service attendue, nous avons construit des modèles analytiques
permettant de comparer les différentes familles de protocoles MAC en terme de taux de
livraison et de consommation d’énergie. Ces travaux permettent ainsi de motiver le choix
d’un protocole synchrone ou asynchrone, à contention ou à accès direct, en fonction du scé-
nario applicatif et du déploiement de réseau considéré. Ces travaux ont notamment mené
à la définition d’un schéma de synchronisation quasi-optimal en terme de consommation
d’énergie au niveau des capteurs pour un scénario de collecte de données. Ces résultats
incluent également un modèle mathématique identifiant l’algorithme de contention à coût
énergétique minimum pour un taux de livraison cible. Nous fournissons également les expressions
en forme-close de la consommation d’énergie moyenne et du taux de livraison
pour les méthodes de partage d’accès au medium de communication couramment utilisées.
Ces résultats et modèles sont ensuite utilisés dans une étude comparative des architectures
réseaux prédominantes dans les déploiements urbains de capteurs sans-fil, c’est à dire les
architectures longue-portée et multi-sauts. Dans ces travaux, nous montrons que l’architecture
réseau à radio longue-portée et bas-débit, typiquement d’une portée supérieure à
1km & 100bits/s de débit, présente une consommation d’énergie moindre pour des déploiements
peu denses en capteurs et pour des volumes de trafic faibles, c’est à dire moins de
5000 capteurs par passerelle de collecte et moins de 4 trames de données par capteur et par
jour. Une densification du réseau ou une intensification des collectes d’information nécessite
au contraire l’usage d’un réseau multi-sauts à débit supérieur, typiquement 20kbits/s et
100-400m de portée radio. Nos modélisations, calibrées pour des capteurs actuellement en
production par un partenaire industriel, montrent que de tels déploiements sont en mesure
de supporter 4 fois plus de trafic applicatif et jusqu’à deux fois plus de nœuds dans le dé-
ploiement pour un scénario de relève de compteurs. Sur la base des résultats de cette étude,
c’est à dire l’architecture et les choix de protocoles adaptés à chaque scénario de déploiement,
nous proposons ensuite un ensemble d’optimisation des protocoles de communication
permettant d’améliorer la Qualité de Service et la dépense énergétique des compteurs. Ces
optimisations comportent trois volets. Nous proposons dans un premier temps une mé-
thode d’accès au médium de communication permettant l’allocation de plusieurs instants
de transmission en une phase unique de tournoi. Cette optimisation vise à réduire le pôle de
consommation majoritaire des réseaux multi-sauts, tel qu’identifié dans l’étude précédente.
Le protocole résultant, nommé Cascading Tournament MAC Protocol (CT-MAC), résout
l’allocation de plusieurs instants de transmission en une unique phase de compétition et de
manière distribuée. Comparé aux protocoles existants, où chaque instant de transmission
fait l’objet d’un tournoi distinct, CT-MAC réduit la consommation d’énergie de l’arbitrage
du médium. Nos simulations montrent en effet une puissance dissipée inférieure de 12% à
celui du protocole SCP-MAC. Ce gain résulte de la réduction de la fréquence d’échantillonnage
du médium, c’est à dire Carrier Sense, d’un facteur égal au nombre d’instants résolus
simultanément par tournoi. Nous proposons ensuite un mécanisme de relayage adaptatif
pour l’architecture de réseau longue-portée. Le protocole associé, nommé The Self-Adaptingiv
Receiver Initiated MAC protocol (SARI-MAC), est conçu de manière à pallier aux ‘trous’
de couverture que présentent les systèmes radio longue-portée lorsqu’ils sont déployés dans
un habitat urbain dense. Pour cela, SARI-MAC propose d’exploiter certains nœuds du
réseau, choisis pour leurs ressources en énergie, en tant que relais pour leurs voisins dont
le bilan radio est insuffisant pour respecter les exigences de Qualité de Service de l’application.
SARI-MAC est un protocole MAC asynchrone, initié récepteur dont les paramètres
s’adaptent automatiquement aux conditions de trafic et aux contraintes de cycle d’activité
imposées par la durée de vie souhaitée des nœuds capteurs et par la législation. SARI-MAC
exhibe une consommation énergétique inférieure de 50% à celle du protocole de l’état de
l’art RI-MAC. Par ailleurs, contrairement à ce dernier, SARI-MAC est en mesure d’adapter
ces paramètres de fonctionnement aux conditions de trafic, sans intervention extérieure.
Finalement, nous proposons un schéma de routage opportuniste appelé The QoS oriented
Opportunistic Routing Protocol (QOR). QOR est un protocole de routage qui tire profit
des liens radio longue portée, opportunistes afin d’améliorer la fiabilité et la latence des
transmissions de données dans un réseau de collecte. Pour ce faire, QOR propose une structure
de routage combinée à un schéma d’adressage permettant d’identifier un ensemble de
nœuds du déploiement jouant le rôle de relais entre une source et la passerelle de collecte.
Ces nœuds relais exécutent un algorithme d’acquittement en cascade garantissant la fiabilité
des transmissions et l’absence de duplication de trames applicatives. D’après nos
simulations, QOR montre une amélioration significative du taux de livraison (+15% sur le
taux de livraison), une diminution des latences de livraison (jusqu’à 40% inférieurs) et une
baisse de la consommation d’énergie (5%) lorsqu’il est comparé au protocole développé par
l’IETF et standardisé en 2012, RPL.
Thesis summary
Wireless Sensors are small electronic devices made for measuring physical properties
of their environment and communicating them wirelessly to an information system. In
this thesis, we study existing network architectures (long-range vs multihop) and protocols
(MAC and routing protocols) to devise the best-suited configuration for typical urban
wireless Sensor Network use-cases, i.e. applications, QoS/energy constraints and network
topology.
To that effect, we provide comprehensive analytical models to compare the different
families of MAC protocols in terms of Delivery Rate and Energy Consumption, e.g. synchronous
vs asynchronous, contention-based vs direct access etc. Headlines results include
a near-optimal synchronization scheme with regards to the overall energy consumption
in a data collection use-case, a mathematical framework to devise the least energy-cost
contention algorithm for a given Delivery Rate and closed-form expressions of the Energy
Consumption and Delivery Rate for popular access control protocols.
These results are then synthesised in a comparison study of the two prevailing urban
sensors network architectures, i.e. long-range and multihop. We show that long-range sensor
networks are best-suited for low-traffic and sparser network topologies, i.e. less than 4
frames per node per day with less than 5000 nodes sharing the same collection gateway,
or sink. Indeed, in our model setup, i.e. 100 bit/s to 2400bits/s radio chips, such networks
perform better in terms of energy efficiency versus Delivery Rate than our reference multihop
architecture. Higher traffic loads and denser network topologies, however, demand
switching to a multihop network operating a synchronous MAC protocol on higher bitrate
radios. In our modelisation setup, i.e. a commercial 19.2Kbits radio chip, multihop networks
are shown to cope with up to 4 times more trafic and 2 times more nodes in thev
topology than long-range networks.
Based on the analysis of the architectures best suited for each use-case scenario, i.e.
low traffic loads/sparse network and high traffic loads/dense network, we identify suitable
optimisations to improve the QoS performance and energy efficiency of said architectures.
Those optimisations are threefold. First, we improve on the energy efficiency of the arbitration
of the medium access by defining a cascading tournament contention algorithm.
This protocol, named Cascading Tournament MAC Protocol (CT-MAC), resolve multiple
timeslots allocation in a single, energy efficient contention tournament. Compared to prior
existing works, where each medium access is solved independently, CT-MAC decreases the
energy expenditure of the medium arbitration by up to 12%. This gain is achieved by
reducing the medium polling, i.e. carrier sense, frequency by up to the number of simultaneous
access that are resolved in a single tournament. Second, we propose an adaptive
relaying scheme for the long-range network architecture named The Self-Adapting Receiver
Initiated MAC protocol (SARI-MAC). This scheme is an attempt to cope with coverage
holes that occurs when using long-range in a dense urban habitat by letting sensor nodes
relay communications of nodes whose link budgets are incompatible with the QoS requirements
of the network. To that effect, we propose a receiver-initiated MAC protocol that
self-adapts to the traffic condition so that the duty-cycle of relayers is kept as low as
possible with respect to the load of frames to relay. SARI-MAC shows a decrease of the
energy-consumption of up to 50% when compared to the existing state-of-the-art protocol
RI-MAC. Unlike RI-MAC, SARI-MAC also proves to self-adapt to the traffic condition of
all the setups of our study, without the need of calibrating its parameters.
Finally, we proposed an opportunistic relaying scheme named QOR, The QoS oriented
Opportunistic Routing Protocol. QOR is a routing protocol that exploits long-range,
opportunistic radio links to provide faster and more reliable transmissions. To that effect,
QOR proposes a joint routing structure and addressing scheme that allows identifying
a limited set of nodes than can become opportunistic relayers between a source sensor
and the sink. Those nodes then follow an original cascaded acknowledgement mechanism
that brings reliable acknowledgment and ensures a replication-free forwarding of the data
frames. QOR shows a significant decrease of the delivery delay with up to 40% shorter
delays in our simulation setups. QOR also improves on the reliability of the transmissions
(up to 15% more deliveries) and on the energy consumption (5% less energy consumption).Table des matières
1 Introduction 1
1.1 Réseaux de capteurs sans-fil . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 La ville intelligente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Qualité de Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 Architecture et dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5 Contributions et organisation du document . . . . . . . . . . . . . . . . . . 3
1.5.1 Chapitre 2 : Qualité de Service et réseaux urbains de capteurs sans-fil 3
1.5.2 Chapitre 3 : État de l’art . . . . . . . . . . . . . . . . . . . . . . . . 3
1.5.3 Chapitre 4 : Protocole d’accès au médium radio et dimensionnement :
accès synchrone ou asynchrone ? . . . . . . . . . . . . . . . . . . . . 4
1.5.4 Chapitre 5 : Dimensionnement et choix d’un algorithme de contention
pour protocole d’accès synchrone . . . . . . . . . . . . . . . . . . . . 4
1.5.5 Chapitre 6 : Choix et dimensionnement de l’architecture et du protocole
MAC d’un réseau de capteurs sous exigences de Qualité de
Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.6 Chapitre 7 : The Cascading Tournament Protocol (CT-MAC) : augmenter
la durée de vie du réseau par la factorisation du coût énergé-
tique de l’arbitrage au médium de communication . . . . . . . . . . 5
1.5.7 Chapitre 8 : The Self-Adapting Receiver-Initiated MAC protocol (SARIMAC)
: amélioration de la couverture et la capacité d’un réseau de
collecte longue portée par un relayage adaptatif . . . . . . . . . . . . 5
1.5.8 Chapitre 9 : The QoS-oriented Opportunistic Routing protocol (QOR) :
amélioration conjointe du taux de livraison, du délai et de la durée
de vie des capteurs par l’usage opportuniste des liens longue distance
et fluctuants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
I Réseaux urbains de capteurs, applications, protocoles, définition
des besoins et challenges 7
2 Qualité de Service et réseaux urbains de capteurs sans-fil 9
2.1 Caractéristiques des réseaux de capteurs urbains . . . . . . . . . . . . . . . 9
2.1.1 Matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Spectre radio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.4 Environnement radio . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Applications de la ville intelligente et Qualité de Service . . . . . . . . . . . 14
2.2.1 Télé-relève de compteurs . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.2 Gestion de l’éclairage public . . . . . . . . . . . . . . . . . . . . . . . 15
viTABLE DES MATIÈRES vii
2.2.3 Gestion de parcs de stationnement . . . . . . . . . . . . . . . . . . . 16
2.2.4 Surveillance de la pollution . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.5 Gestion des déchets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Synthèse et problèmes clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3.1 Mutualisation du réseau et charge de trafic . . . . . . . . . . . . . . 17
2.3.2 Respect des taux de perte maximum sur les données . . . . . . . . . 17
2.3.3 Respect du délai de livraison . . . . . . . . . . . . . . . . . . . . . . 17
2.3.4 Contraintes matérielles et passage à l’échelle . . . . . . . . . . . . . . 17
2.3.5 Durée de vie des nœuds capteurs . . . . . . . . . . . . . . . . . . . . 18
2.4 Quels mécanismes et protocoles pour répondre aux exigences de Qualité de
Service et de durée de vie ? . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.1 Couche physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.2 Couche liaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.3 Couche réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.4 Couche transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.5 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5 Synthèse sur le choix des protocoles étudiés, adéquation avec les contraintes
des réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.1 Protocoles MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5.2 Protocoles de Routage . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6 Scénarios, modèles et hypothèses . . . . . . . . . . . . . . . . . . . . . . . . 22
2.6.1 Réseaux de télé-relève à radio longue portée . . . . . . . . . . . . . . 22
2.6.2 Réseaux multi-sauts . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.7 Synthèse sur le contexte, réseaux urbains de capteurs sans-fil et Qualité de
Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 État de l’art 25
3.1 Protocoles de contrôle d’accès au médium radio . . . . . . . . . . . . . . . . 25
3.1.1 Taxonomie fonctionnelle des protocoles de contrôle d’accès au médium 25
3.1.2 Protocoles synchrones à planification . . . . . . . . . . . . . . . . . . 28
3.1.3 Protocoles synchrones à contention . . . . . . . . . . . . . . . . . . . 33
3.1.4 Protocoles asynchrones à contention . . . . . . . . . . . . . . . . . . 39
3.1.5 Protocoles à accès direct . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.1.6 Protocoles hybrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.1.7 Synthèse sur les protocoles de contrôle d’accès au médium de communication
pour réseaux urbains de capteurs sans-fil . . . . . . . . . 50
3.2 Protocoles de routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2.1 Taxonomie fonctionnelle des protocoles de routage . . . . . . . . . . 50
3.2.2 Protocoles à topologie hiérarchique . . . . . . . . . . . . . . . . . . . 53
3.2.3 Protocoles à topologie plane . . . . . . . . . . . . . . . . . . . . . . . 56
3.2.4 Protocoles à construction réactive . . . . . . . . . . . . . . . . . . . . 57
3.2.5 Protocoles à construction pro-active . . . . . . . . . . . . . . . . . . 58
3.2.6 Protocoles à états de liens/nœud . . . . . . . . . . . . . . . . . . . . 60
3.2.7 Protocoles à vecteur de distance . . . . . . . . . . . . . . . . . . . . 61
3.2.8 Protocoles à coordonnées géographiques . . . . . . . . . . . . . . . . 62
3.2.9 Critères de sélection des éléments de la topologie . . . . . . . . . . . 65
3.2.10 Protocoles à décision de routage par l’émetteur . . . . . . . . . . . . 65
3.2.11 Protocoles à décision de routage par le récepteur . . . . . . . . . . . 66viii TABLE DES MATIÈRES
3.2.12 Synthèse sur les protocoles de routage pour réseaux urbains de capteurs
sans-fil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.3 Synthèse de l’état de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.3.1 Protocoles pour réseaux de télé-relève à radio longue portée . . . . . 67
3.3.2 Protocoles pour réseaux de télé-relève multi-sauts . . . . . . . . . . . 67
II Une étude analytique sur le choix et le dimensionnement de l’architecture
et des protocoles pour réseaux urbains de capteurs sans-fil 69
4 Protocole d’accès au médium radio et dimensionnement : accès synchrone
ou asynchrone ? 71
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2 Dépendance des communications à la synchronisation . . . . . . . . . . . . . 71
4.3 Taxonomie des protocoles de synchronisation d’horloge pour réseaux de capteurs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3.1 Modèles de synchronisation distribué et hiérarchique . . . . . . . . . 74
4.3.2 Modèles de synchronisation unidirectionel et bidirectionel . . . . . . 75
4.3.3 Modèles de synchronisation locale et globale . . . . . . . . . . . . . . 75
4.4 Adéquation des modèles de synchronisation aux réseaux de capteurs urbains 76
4.5 Synchronisation Maître-Esclave . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.5.1 Dimensionnement du préambule et consommation d’énergie . . . . . 78
4.6 Optimisation du coût énergétique de la synchronisation selon le modèle
maître-esclave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.6.1 Construction du préambule de synchronisation optimal . . . . . . . . 81
4.6.2 Construction de la date optimale . . . . . . . . . . . . . . . . . . . . 82
4.6.3 Implémentation du modèle quasi-optimal . . . . . . . . . . . . . . . 82
4.6.4 Adaptation du modèle en présence de bruit et d’interférence . . . . . 83
4.7 Généralisation du modèle maître-esclabe au réseau multi-sauts . . . . . . . . 83
4.8 Modèle de consommation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.8.1 Réseau de télé-relève à radio longue portée . . . . . . . . . . . . . . 85
4.8.2 Réseau de télé-relève multi-sauts . . . . . . . . . . . . . . . . . . . . 85
4.9 Application au choix du mode de synchronisation d’un protocole de contrôle
d’accès au médium pour réseau multi-sauts . . . . . . . . . . . . . . . . . . 86
4.9.1 Scénario et hypothèses de l’étude . . . . . . . . . . . . . . . . . . . . 88
4.9.2 Évaluation de la consommation d’énergie . . . . . . . . . . . . . . . 88
4.10 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5 Dimensionnement et choix d’un algorithme de contention pour protocole
d’accès synchrone 91
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2 Modélisation des mécanismes de contention . . . . . . . . . . . . . . . . . . 92
5.2.1 Fenêtre de contention . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2.2 Séquence à priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.3 Décision de transmission . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.2.4 Collisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3 État de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3.1 Algorithmes à tonalité simple : ATS . . . . . . . . . . . . . . . . . . 95
5.3.2 Algorithmes à longue tonalité : ALT . . . . . . . . . . . . . . . . . . 96
5.3.3 Algorithmes à décompte binaire : ADB . . . . . . . . . . . . . . . . . 97TABLE DES MATIÈRES ix
5.3.4 Mesure de probabilité à distribution uniforme . . . . . . . . . . . . . 98
5.3.5 Mesure de probabilité à distribution géométrique croissante tronquée 99
5.4 Calcul de la probabilité de collision . . . . . . . . . . . . . . . . . . . . . . . 99
5.5 Estimation de la consommation d’énergie . . . . . . . . . . . . . . . . . . . 101
5.5.1 Dimensionnement des intervalles de la fenêtre de contention . . . . . 101
5.6 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6 Choix et dimensionnement de l’architecture et du protocole MAC d’un
réseau de capteurs sous exigences de Qualité de Service 105
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.2 Réseaux de capteurs urbains multi-sauts . . . . . . . . . . . . . . . . . . . . 106
6.2.1 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.2.2 Dimensionnement de la période d’activité . . . . . . . . . . . . . . . 107
6.2.3 Dimensionnement de la fenêtre de contention . . . . . . . . . . . . . 109
6.2.4 Impact sur le délai de livraison . . . . . . . . . . . . . . . . . . . . . 111
6.2.5 Calcul de la puissance dissipée . . . . . . . . . . . . . . . . . . . . . 114
6.3 Réseaux de capteurs urbains à radio longue portée . . . . . . . . . . . . . . 120
6.3.1 Modélisation et scénario . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.3.2 Protocoles et performances . . . . . . . . . . . . . . . . . . . . . . . 122
6.3.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.4 Recommandations pour une architecture de réseaux de capteurs urbains :
Synthèse générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
III Protocoles adaptés à la collecte de données dans un réseau urbain138
7 Protocole MAC synchrone pour réseaux de capteurs urbains sans-fil
multi-sauts : CT-MAC 140
7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.2 Description du protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.2.1 Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
7.2.2 Étape 1 : Classement des nœuds émetteurs . . . . . . . . . . . . . . 142
7.2.3 Étape 2 : Suppression des doublons dans le classement . . . . . . . . 142
7.2.4 Étape 3 : Annonces des émissions . . . . . . . . . . . . . . . . . . . . 144
7.2.5 Étape 4 : Transmission des trames de données . . . . . . . . . . . . . 146
7.3 Discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
7.3.1 Implémentation de la détection de transmission . . . . . . . . . . . . 147
7.3.2 Optimisation de la loi de distribution du tirage de l’étape 1 . . . . . 148
7.3.3 Optimisation de l’usage des instants de transmission . . . . . . . . . 153
7.4 Analyse de performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
7.4.1 Environnement de simulation, scénarios et critères d’évaluation . . . 154
7.4.2 Conditions d’expérimentation . . . . . . . . . . . . . . . . . . . . . . 158
7.4.3 Résultats pour une topologie physique en clique . . . . . . . . . . . . 159
7.4.4 Résultats pour une topologie multi-sauts . . . . . . . . . . . . . . . . 162
7.4.5 Synthèse des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . 163
7.4.6 Discussion : Adaptation aux variations de trafic . . . . . . . . . . . . 165
7.5 Synthèse sur CT-MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167x TABLE DES MATIÈRES
8 Protocole de relayage adaptatif pour réseau urbain de capteurs sans-fil
longue portée : SARI-MAC 169
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.2 Description de SARI-MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
8.2.1 Vue globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
8.2.2 Annonce de la fenêtre de réception . . . . . . . . . . . . . . . . . . . 171
8.2.3 Annonce des intentions de transmission . . . . . . . . . . . . . . . . 171
8.2.4 Publication de l’échéancier des transmissions . . . . . . . . . . . . . 172
8.2.5 Transmissions des trames de données . . . . . . . . . . . . . . . . . . 173
8.2.6 Auto-adaptation des paramètres du protocole . . . . . . . . . . . . . 174
8.3 Analyse de Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
8.3.1 Environnement de simulation, scénarios et critères d’évaluation . . . 179
8.3.2 Conditions d’expérimentation . . . . . . . . . . . . . . . . . . . . . . 181
8.3.3 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.3.4 Synthèse des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . 186
8.4 Synthèse sur SARI-MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
9 Protocole de routage opportuniste pour réseau urbain de capteurs sans-fil
multi-sauts : QOR 188
9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
9.2 Intérêt de l’approche et défis . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
9.3 Description de QOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
9.3.1 Plan de contrôle : topologie de routage et adressage . . . . . . . . . . 191
9.3.2 Plan de données : règles de relayage et mécanisme d’acquittement . . 193
9.4 Analyse de performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
9.4.1 Environnement de simulation, scénarios et critères d’évaluation . . . 196
9.4.2 Résultats sur topologie en grille régulière . . . . . . . . . . . . . . . . 198
9.4.3 Résultats sur topologie "aléatoire" . . . . . . . . . . . . . . . . . . . 202
9.4.4 Synthèse des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . 204
9.5 Synthèse sur QOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
10 Conclusion et travaux futurs 206
10.1 Résumé des contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
10.2 Perspectives et travaux futurs . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Annexes 209
A Étude préliminaire sur la priorisation de l’accès au médium selon la classe
de service 211
A.1 Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
A.2 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
A.3 Calcul de la Probabilité d’accéder, de façon unique, au medium pour un
nœud de classe de service i ........................... 211
A.4 Calcul de la Probabilité de collision . . . . . . . . . . . . . . . . . . . . . . . 212
A.5 Études de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
A.5.1 2 classes de service, un trafic majoritaire non prioritaire et un trafic
d’alarme sporadique . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
A.5.2 3 classes de service, un trafic majoritaire non prioritaire, un trafic
priorisé et un trafic d’alarme sporadique . . . . . . . . . . . . . . . . 213CHAPITRE
1 Introduction
1.1 Réseaux de capteurs sans-fil
En septembre 1999, le magazine hebdomadaire BusinessWeek présente les réseaux de
capteurs sans-fil comme l’une des 21 technologies les plus importantes à développer au cours
du 21ème siècle [1]. Financée entre autres par deux programmes de l’agence américaine pour
les projets de recherche avancée de défense (DARPA) : DSN (Distributed Sensor Networks)
et SensIT (Sensor Information Technology), la communauté scientifique a mis au point des
dispositifs électroniques autonomes appelés nœuds capteurs.
Ces dispositifs sont capables d’effectuer une mesure physique et de la transmettre par
voix hertzienne. À cette fin, ces nœuds s’organisent en réseaux de mesure, appelés réseaux
de capteurs sans-fil, et sont connectés aux systèmes d’information par le biais de passerelles.
Deux types de topologie réseau peuvent être adoptés dans le déploiement de réseaux de
capteurs sans-fil : topologie en étoile à l’instar d’un réseau cellulaire et topologie multi-sauts
à l’instar des travaux menés par le groupe de travail IETF MANET [2] et IETF ROLL [3].
Les similitudes avec les réseaux sans-fil classiques sont néanmoins limitées et justifient le
développement de protocoles de communication adaptés. Les réseaux sans-fil traditionnels
présupposent en effet que les nœuds de communication sont peu nombreux 1 et que leurs
ressources matérielles sont abondantes. A l’opposé, les nœuds capteurs possèdent des ressources
limitées en énergie, en mémoire et dans une moindre mesure en capacité de calcul,
les déploiements présentent de fortes densités et les applications sur réseaux de capteurs
induisent des motifs de trafic spécifiques à la collecte de mesures [4].
Ces caractéristiques ont fait l’objet de nombreux travaux de recherche (voir Chap.
3), identifiant les verrous technologiques à débloquer afin que les réseaux de capteurs deviennent
une réalité technique :
Efficacité énergétique À contrario des réseaux ad-hocs sans-fil classiques, les nœuds
capteurs sont alimentés sur pile, bien souvent soudée sur le circuit imprimé, et leur
remplacement est coûteux voire impossible. La durée de vie des nœuds capteurs, la
maintenance et in fine la faisabilité technique d’un déploiement de réseau de capteurs
sans-fil sont donc directement affectés par la consommation d’énergie des dispositifs,
motivant ainsi le développement de protocoles de communication efficaces en énergie.
Passage à l’échelle Les applications associées aux réseaux de capteurs prévoient des densités
de déploiement de plusieurs ordres de grandeur supérieures à celles rencontrées
dans les réseaux de communication existants 2 alors que les ressources matérielles
sont quant à elles plusieurs ordres de grandeurs inférieures 3.
Auto-configuration et auto-adaptation du réseau La topologie d’un réseau de capteurs
et le trafic supporté sont sujets à de fortes variations au cours de la vie du
réseau. Des nœuds capteurs peuvent en effet être ajoutés ou disparaître du réseau et
les liens radios fluctuent en raison de l’environnement radio. Enfin, le trafic généré
1. jusqu’à quelques centaines voire milliers de nœuds.
2. les travaux menés par le laboratoire MIS/CITY d’Orange Labs incluent des scénarios considérant
des densités de voisinage radio supérieurs à 10 000 nœuds.
3. le détail est disponible dans le Chapitre 2.
1CHAPITRE 1. INTRODUCTION
par les applications peut également varier en fonction des mesures effectuées. Ces
changements de topologie et de trafic nécessitent des mécanismes d’adaptation ou de
re-configuration des protocoles. Une intervention humaine, manuelle, au niveau des
nœuds capteurs n’est pas envisageable de part le nombre de capteurs par réseau. Les
protocoles employés doivent donc être capables de supporter ces variations et éventuellement
de s’auto-adapter ou de s’auto-configurer pour respecter les contraintes
d’opération du réseau.
1.2 La ville intelligente
Au delà de ces verrous technologiques et donc de la viabilité technique des réseaux de
capteurs sans-fil, se pose la question de la viabilité économique et donc des applications et
services qui peuvent être déployés. D’après [5], plus de 70% de la population vit aujourd’hui
dans des zones urbaines en Amérique du Nord et du Sud, en Europe et en Océanie. Les
projections actuelles prévoient que la population urbaine sera majoritaire sur l’ensemble
des continents en 2035 et atteindra 68% en valeur moyenne à l’horizon 2050.
L’augmentation de la population urbaine et la densification des villes introduisent de
nouveaux défis de gestion et de gouvernance des espaces urbains : la gestion du trafic et de
la signalisation, des parcs de stationnement, des déchets, de la relève des compteurs d’eau,
d’électricité, de gaz, etc [4]. Les méthodes de gérance traditionnelle, basées sur l’intervention
manuelle d’agents, deviennent inadéquates en regard des densités de population urbaines
observées, l’agglomération de Tokyo représente par exemple 37.2 millions d’habitants en
2011 [5].
Les réseaux de capteurs apportent justement une solution technique à l’automatisation
de ces tâches de gérance, en permettant par exemple de télé-relever les compteurs ou de
renseigner sur la disponibilité d’une place de parking. Consciente de l’intérêt de ces réseaux,
la commission Européenne finance des projets Européens sur le sujet de la Ville Intelligente
et a mandaté les principaux organismes de standardisation européens, ETSI, CENELEC,
CEN pour définir un standard pour la télé-relève de compteurs en Europe [6].
Traditionnellement, ces tâches de gérance étaient supportées par les entreprises ou
communes responsables de la délivrance des services au particulier : GrDF était en charge de
la relève des compteurs de gaz, ErDF de celle des compteurs d’électricité, les communes de
la relève des conteneurs à déchêts, etc. Ces acteurs étaient ainsi en charge de l’ensemble des
activités de la chaîne de valeur. L’apparition des réseaux de capteurs a permis l’ouverture
de nouveaux marchés par externalisation de l’activité de relève des compteurs. En Europe,
le marché de la télé-relève concerne 500 millions de compteurs d’électricité, de gaz et d’eau.
En considérant une facturation indicative de 1 euro par relève mensuelle, le chiffre d’affaire
annuel potentiel représente 6 milliards d’euros en Europe.
Le positionnement d’opérateur de réseaux de capteurs sans-fil pour la ville, tel que
choisi par France Telecom, induit de nouveaux défis au développement de protocoles de
communication pour réseaux de capteurs : la Qualité de Service et la mutualisation du
réseau entre plusieurs applications et services.
1.3 Qualité de Service
La monétisation de l’opération d’un réseau de transport de données nécessite une
contractualisation des termes de fonctionnement du réseau par laquelle l’opérateur s’engage
sur les performances offertes sur le trafic de données du contractant. La formalisation de ces
engagements est consignée dans un contrat de service ou SLA (Service Level Agreement).
2CHAPITRE 1. INTRODUCTION
Ces garanties sont associées à des clauses de pénalités financières en cas de non respect des
engagements par l’opérateur, mettant ainsi en évidence l’importance de l’adéquation entre
les performances fournies par le réseau et les performances attendues.
Le plus souvent exprimées en terme de fiabilité et de délai de livraison, les exigences de
Qualité de Service ne peuvent être satisfaites indépendamment des exigences d’efficacité
énergétique, de passage à l’échelle, d’auto-configuration et d’auto-adaptation. En effet, afin
de réduire la consommation d’énergie, les protocoles de contrôle d’accès au médium pour
réseaux de capteurs réduisent l’activité de la radio et par la même occasion les ressources
de transmission disponibles. Similairement, afin de respecter les contraintes de mémoire
des capteurs, seule une fraction des nœuds à portée radio est mémorisée dans la table de
voisinage et utilisée pour les communications. Le choix des tiers avec lesquels un nœud
peut communiquer affecte significativement les performances du réseau et doit donc être
réalisé de façon à respecter les exigences de Qualité de Service. Ces constats motivent ainsi
le développement de protocoles dont la conception intègre ces différentes exigences.
1.4 Architecture et dimensionnement
D’après une étude interne Orange Labs, le coût estimatif chargé de l’installation d’un
nœud capteur est de 150 euros. En considérant un relevé mensuel par dispositif, l’installation
d’un capteur nécessite une opération sur une durée supérieure à 12 ans pour amortir
le déploiement. Cette contrainte de durée d’opération nécessite de réduire l’activité de la
radio des capteurs au strict nécessaire et donc implique que le trafic généré par l’application
sature les ressources radios disponibles. Ceci nous amène à réévaluer l’hypothèse de faible
trafic généralement retenue dans la conception de protocoles pour réseaux de capteurs et
pose le problème du dimensionnement des protocoles de communications en fonction de
la durée d’opération cible du réseau et des exigences de trafic et de Qualité de Service de
l’application.
1.5 Contributions et organisation du document
1.5.1 Chapitre 2 : Qualité de Service et réseaux urbains de capteurs
sans-fil
Le Chapitre 2 présente les caractéristiques des réseaux de capteurs sans-fil, leur modé-
lisation et un ensemble représentatif d’applications pour la ville intelligente. Pour chacune
de ces applications sont détaillées les propriétés de trafic et les exigences de Qualité de
Service. Suite à cet exposé, nous détaillons les mécanismes d’une pile protocolaire pour
capteur permettant d’atteindre les objectifs de Qualité de Service. Nous montrons ainsi
l’importance des protocoles de contrôle d’accès au médium radio et de routage pour la
réalisation des objectifs de Qualité de Service dans les réseaux de capteurs sans-fil urbains.
Nous proposons ainsi un recensement et une classification de ces applications à partir des
projets auxquels les Orange Labs ont pu participer.
1.5.2 Chapitre 3 : État de l’art
Le Chapitre 3 recense les protocoles de la littérature selon la nature des mécanismes qui
les composent. Nous édifions ainsi une taxonomie fonctionnelle des protocoles de contrôle
d’accès au médium et de routage en vue d’identifier les familles de protocoles pertinentes
dans l’étude du choix et du dimensionnement de l’architecture et des protocoles pour une
3CHAPITRE 1. INTRODUCTION
application de télé-relève de compteurs. Pour chaque famille identifiée, nous illustrons son
fonctionnement par la description d’un ou plusieurs protocoles représentatifs, choisis pour
leur notoriété, originalité ou performance.
1.5.3 Chapitre 4 : Protocole d’accès au médium radio et dimensionnement
: accès synchrone ou asynchrone ?
Le Chapitre 4 s’intéresse à la dépendance d’une communication entre nœuds capteurs
à la synchronisation de leurs horloges. Nous étudions l’adéquation de solutions synchrones
et asynchrones à l’architecture du réseau, longue portée ou multi-sauts et aux exigences de
trafic et de Qualité de Service des applications cibles. Nous complétons cette analyse par
une étude du coût énergétique de la synchronisation à des fins de communication et nous
en dérivons un protocole quasi-optimal en termes de consommation d’énergie. Enfin, nous
déduisons de ces résultats les domaines d’intérêt de chaque méthode d’accès, synchrone et
asynchrone.
1.5.4 Chapitre 5 : Dimensionnement et choix d’un algorithme de contention
pour protocole d’accès synchrone
Le Chapitre 5 étudie l’arbitrage à l’accès au médium par contention rendu nécessaire
par la synchronisation des instants de transmission et de réception des nœuds capteurs, tel
que recommandé dans le Chapitre précédant. Nous abordons tout d’abord la modélisation
des algorithmes et mécanismes de contention de la littérature. Dans cette démarche, nous
montrons en particulier qu’un algorithme de contention peut être modélisé sous forme d’un
espace probabilisé. Nous en déduisons la probabilité d’une collision entre transmissions
selon l’algorithme choisi et les propriétés du tirage aléatoire et exhibons une expression
littérale en forme close de la probabilité de collision. Nous dérivons l’énergie dépensée
en moyenne par un nœud en compétition pour transmettre et le dimensionnement du
mécanisme de contention permettant de supporter le trafic cible et les exigences de taux
de livraison du réseau.
1.5.5 Chapitre 6 : Choix et dimensionnement de l’architecture et du
protocole MAC d’un réseau de capteurs sous exigences de Qualité
de Service
Le Chapitre 6 synthétise les études des Chapitres 2, 4 et 5 et applique leurs résultats
à l’étude du dimensionnement d’un réseau de capteurs selon l’architecture choisie, longue
portée ou multi-sauts, et selon les exigences de trafic et Qualité de Service des applications.
Pour cela, nous modélisons dans un premier temps un réseau multi-sauts utilisant un
protocole d’accès synchrone, conformément aux conclusions du chapitre 4. Nous déduisons
de ce modèle le dimensionnement du cycle d’activité radio des nœuds capteurs et dérivons
le coût énergétique nécessaire à l’établissement d’une transmission respectant un taux de
livraison donné.
Nous modélisons ensuite une architecture réseau radio longue portée, et étudions le
coût énergétique des différents protocoles de contrôle d’accès envisageables pour ce type
d’architecture. Nous en dérivons des recommandations quant aux protocoles à implémenter
sur ce type d’architecture en fonction du trafic à supporter.
Enfin, nous proposons une comparaison des coûts énergétiques associés aux deux types
d’architecture pour différents type de déploiements, de volume de trafic et d’exigences de
4CHAPITRE 1. INTRODUCTION
Qualité de Service. Nous concluons par des recommandations sur le type d’architecture à
retenir en fonction du trafic à supporter et des exigences de Qualité de Service.
Sur la base des résultats de cette étude, c’est à dire l’architecture et les choix de protocoles
adaptés à chaque scénario de déploiement, nous proposons ensuite un ensemble
d’optimisation des protocoles de communication permettant d’améliorer la Qualité de Service
et la dépense énergétique des compteurs. Ces optimisations comportent trois volets.
1.5.6 Chapitre 7 : The Cascading Tournament Protocol (CT-MAC) :
augmenter la durée de vie du réseau par la factorisation du coût
énergétique de l’arbitrage au médium de communication
Nous proposons le protocole de contrôle d’accès au médium nommé : The Cascading
Tournament Protocol (CT-MAC). CT-MAC est un protocole MAC synchrone exploitant
un tournoi en cascade afin d’allouer plusieurs ressources de communication dans une phase
unique de compétition. Contrairement aux protocoles localisés existants pour lesquels la
phase de contention amène à une décision binaire concernant l’accès au médium radio,
c’est-à-dire accès immédiat ou report de tentative, CT-MAC construit un ordonnancement
des transmissions. L’ordre des transmissions est déduit localement par chaque nœud capteur
en compétition en fonction de son observation du canal radio lors de la phase de
compétition. Cet ordonnancement est utilisé pour associer les compétiteurs aux ressources
de transmission et permet ainsi de factoriser le coût de l’affectation d’une ressource à un
nœud. Dans ce travail, nous montrons que cette caractéristique permet à CT-MAC d’augmenter
la durée de vie des nœuds capteurs et de supporter des variations de trafic sans
adaptation de la période de réveil des nœuds capteurs, réalisation délicate dans un réseau
synchrone. En outre, l’itération en cascade du processus de compétition permet de garantir
une faible probabilité de collision et donc un taux de livraison élevé.
1.5.7 Chapitre 8 : The Self-Adapting Receiver-Initiated MAC protocol
(SARI-MAC) : amélioration de la couverture et la capacité d’un
réseau de collecte longue portée par un relayage adaptatif
Nous proposons également The Self-Adapting Receiver-Initiated MAC protocol (SARIMAC).
SARI-MAC est un protocole MAC initié récepteur conçu pour opérer une fonction
de relayage dans une architecture de réseau de capteurs longue portée. SARI-MAC utilise
un mécanisme conjoint de compétition à l’accès au médium radio et d’estimation de population.
Les communications sont initiées par les récepteurs qui annoncent le début d’une
fenêtre de contention par l’envoi d’une trame balise. Par l’observation des transmissions
dans la fenêtre de contention, les récepteurs évaluent le nombre de tentatives de transmission
à leur intention et adaptent la fréquence d’envoi des balises et les dimensions de la
fenêtre de contention. Ce paramétrage est calculé de manière à garantir, à moindre coût
énergétique, les contraintes de Qualité de Service exprimées en délai et fiabilité de livraison.
En présence d’un trafic s’amplifiant, la fréquence d’envoi des balises s’accroit de manière
à supporter l’afflux de trafic et afin de minimiser le temps d’échantillonnage du canal par
les transmetteurs. Lorsque le trafic faiblit, les nœuds capteurs susceptibles de relayer des
trames de données diminuent la fréquence des balises diminuant ainsi leur consommation
d’énergie et l’occupation du médium radio.
5CHAPITRE 1. INTRODUCTION
1.5.8 Chapitre 9 : The QoS-oriented Opportunistic Routing protocol (QOR) :
amélioration conjointe du taux de livraison, du délai et de la durée
de vie des capteurs par l’usage opportuniste des liens longue
distance et fluctuants
Nous proposons aussi le protocole de routage QoS oriented Opportunistic Routing for
Wireless Sensor Networks (QOR). QOR est un protocole de routage opportuniste par
lequel le choix du prochain saut est délégué à un sous-ensemble des capteurs recevant la
trame concernée. Le choix de ce sous-ensemble est défini par le détenteur de la trame
de manière à garantir la transmission. Le choix du relayeur parmi ce sous-ensemble est
quant à lui réalisé de manière distribuée par les récepteurs en fonction d’une métrique
de progrès dans la topologie. Ce découplage du choix des transmetteurs potentiels et du
transmetteur effectif permet de maximiser la fiabilité des transmissions et de minimiser le
délai de livraison de manière conjointe, rompant ainsi avec l’approche par compromis de
la littérature.
6Première partie
Réseaux urbains de capteurs,
applications, protocoles, définition
des besoins et challenges
7CHAPITRE
2 Qualité de Service et ré-
seaux urbains de capteurs
sans-fil
Ce Chapitre détaille le contexte de ce travail de thèse. Nous présentons en premier lieu
la composition des nœuds capteurs et leur déploiement selon l’architecture radio retenue :
longue portée ou multi-sauts. Nous recensons également les bandes du spectre radio utilisées
et leurs caractéristiques. Nous présentons ensuite les applications de la Ville Intelligente et
leurs exigences de Qualité de Service, scénarios qui serviront de référence dans le reste de
nos études. Enfin, nous proposons une synthèse des défis qu’implique le dimensionnement
d’un réseau urbain de capteurs sans-fil sous exigence de Qualité de Service. De la description
de ces défis, nous motivons notre choix d’étudier spécifiquement les protocoles de contrôle
d’accès au médium radio et les protocoles de routage.
2.1 Caractéristiques des réseaux de capteurs urbains
2.1.1 Matériel
Nous proposons ici un descriptif fonctionnel des constituants d’un nœud capteur. Leur
architecture matérielle se conforme généralement à la configuration suivante (Fig. 2.1) :
Sonde, capteur Le dispositif de mesure peut alternativement être intégré au nœud capteur
ou raccordé à celui-ci par un port série, par exemple SPI (Serial Port Interface).
Micro-contrôleur Le micro-contrôleur est en charge de l’exécution des routines de lecture
des mesures, du traitement des données et de l’exécution de la pile protocolaire réseau.
Les micro-contrôleurs considérés dans les applications pour la ville urbaine présentent
en général une architecture 16 ou 32 bits.
Mémoire Souvent intégrée avec le micro-contrôleur, la mémoire dont disposent les nœuds
capteurs est généralement de quelques kilo-octets de RAM (typiquement 4Ko) et
une centaine de kilo-octets de flash partagée entre le système d’exploitation, la pile
protocolaire et les applications.
Circuit radio Les circuits radio considérés sont, à l’instar du CC1101 [7], des circuits à
basse consommation et bas débit. Ils présentent un débit d’une dizaine de kilo-bits
par seconde pour une consommation de l’ordre de 50mW en émission ou réception.
2.1.2 Déploiement
Au contraire des infrastructures cellulaires de téléphonie dont le déploiement est orienté
couverture, le déploiement des nœuds capteurs est le plus souvent dicté par le lieu où
est prise la mesure du capteur (orienté mesure). Une partie des nœuds existants, le plus
souvent issus du remplacement de compteurs de gaz et d’eau à relève visuelle, sont ainsi
enfouis dans le sol dans des regards en béton ou situés dans des conduites, gaines ou
armoires techniques. Deux architectures cœxistent quant à la manière de raccorder ces
nœuds capteurs aux passerelles de collecte et la figure 2.2 les illustre.
9CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
Figure 2.1 – Exemple de nœud capteur sans-fil. Ici, un nœud de la société Coronis [8],
groupe Elster.
Les déploiements à topologie en étoile exploitent des techniques de contrôle de puissance,
de codage et de modulation robustes, et utilisent des porteuses dont la longueur
d’onde garantit une bonne pénétration dans les matériaux de construction urbaine. Une
antenne à gain élevé est installée au niveau de la passerelle, permettant ainsi une communication
bi-directionnelle entre la passerelle et chacun des nœuds capteurs. En contrepartie
à la simplicité de cette architecture, les débits disponibles sont de l’ordre de quelques
centaines à quelques milliers de bits par seconde.
Les déploiements à topologie multi-sauts nécessitent que certains des dispositifs du
réseau relaient les émissions des nœuds capteurs hors de portée de la passerelle. Cette tâche
peut être accomplie par certains nœuds capteurs ou par des équipements spécialisés, appelés
répéteurs. Ces réseaux permettent généralement l’usage de radios à débits supérieurs (10-
20 kbits/s) au prix d’une complexité accrue : nécessité d’un protocole de routage, nœuds
capteurs ou équipements spécialisés permettant le relayage de trames, etc.
2.1.3 Spectre radio
Les réseaux de capteurs sans-fil urbains utilisent des plages de fréquences radio non
licenciées pour communiquer. D’après [9], les plages utilisables en Europe pour ces applications
sont au nombre de 3 : 169,4 à 169,8 MHz, 433,05 à 434, 79 MHz et 868 à 870 MHz.
La Figure 2.3 recense leurs principales caractéristiques.
2.1.3.1 Bande 169 MHz
Anciennement utilisée par le système européen de paging ERMES, la bande 169, 4 !
169, 8 MHz a été en partie réaffectée suite à l’apparition du service de messagerie SMS
sur GSM, rendant obsolètes les systèmes de paging existants. Cette adaptation du plan de
fréquence, actée en 2005 [10] et amendée en 2008 [11] par la commission européenne, définit
6 nouvelles applications de la bande : applications à l’aide auditive, alarmes sociales, suivi
et surveillance de marchandises, réseaux mobiles professionnels et télé-relève de compteurs.
Sur les 400 kHz que comporte la bande, 75 KHz de bande sont réservés à la télé-relève
de compteurs. La Puissance Apparente Rayonnée (P.A.R) est limitée à 500 mW et le cycle
d’activité radio est limité à 10%, c’est à dire pour chaque seconde passée à transmettre la
radio doit respecter un silence de 9 secondes.
10CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
Figure 2.2 – Déploiements de capteurs urbains : topologie en étoile (gauche) et topologie
multi-sauts (droite)
Figure 2.3 – Bandes de fréquences non licenciées utilisées pour le déploiement de réseaux
de capteurs sans-fil urbains
2.1.3.2 Bande 433 MHz
La bande 433, 05 ! 434, 79 MHz est une bande de fréquence pour applications Industrielles,
Scientifiques et Médicales (ISM) dont l’usage est partagé avec les équipements
de radio-communication à courte portée (Short Ranged Devices ou SRD) et équipements
longue portée licenciés.
L’usage de cette bande pour des applications de réseaux de capteurs urbains est contrainte
par les recommandations décrites dans le document [9], c’est à dire une P.A.R de 10 mW
et un cycle d’activité inférieur à 10%.
2.1.3.3 Bande 868 MHz
La bande de fréquence 863 ! 870 MHz est une bande de fréquence pour équipements
de radio-communication à courte portée (SRD). Les sous-bandes G1 à G4, c’est à dire de
868 à 870 MHz, sont utilisables pour les applications portées par les réseaux de capteurs
11CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
urbains. Les contraintes d’exploitation de ces sous-bandes sont répertoriées sur la Figure
2.4.
Figure 2.4 – Bande 868 MHz, sous-bandes G1, G2, G3 et G4 : contraintes d’exploitation
2.1.4 Environnement radio
Lors d’une transmission sans-fil, le signal perçu par le récepteur résulte de la superposition
de plusieurs copies du signal émis ayant suivi des chemins de propagation différents,
par réflexion et réfraction sur des surfaces planes, diffraction sur des arrêtes d’obstacle et
par éparpillement (scattering) sur les surfaces rugueuses. Chacune de ces copies présente
une puissance, une phase et une polarisation qui lui est propre. Cette propagation multichemins
est à l’origine d’interférences inter-symboles (la réception du symbole courant est
affectée par la réception de symboles antérieurs) et intra-symbole (un symbole d’une des
copies du signal reçu interfère avec le même symbole d’une autre copie). À ce signal se
superposent finalement un bruit électromagnétique large bande (lignes électriques, moteurs,
circuits électriques, etc) et bande étroite (autres dispositifs de communication dans
la bande).
L’impact de l’environnement sur le signal transmis est habituellement modélisé par
une composition des phénomènes d’affaiblissement de propagation (pathloss), de masquage
(shadowing), d’évanouissement (fading), de bruit et d’interférence, comme représenté par
la Figure 2.5.
Pathloss Les modèles de pathloss rendent compte de l’affaiblissement du signal reçu en
fonction de la distance entre la source et le récepteur. Le modèle le plus simple, appelé
modèle en espace libre ou modèle de Friis, rend compte de la dispersion de l’énergie d’un
signal de longueur d’onde ! émis par une antenne de gain Gt dans un espace vide et
reçue par une antenne de gain Gr située à une distance d. Le rapport entre la puissance
reçue et la puissance émise est donné par GtGr( !
4⇧d )2 [13]. Le modèle usuellement utilisé
dans les simulateurs de réseau, e.g. celui que nous utilisons : WSNet [14], est le modèle
12CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
Figure 2.5 – Évolution de la puissance reçue en fonction de la distance à la source [12].
de propagation à deux rayons : two-ray (Ground Reflection) model. Ce modèle prend en
compte la réflexion induite par la présence d’une surface plane, dans notre cas, le sol. Ce
signal réfléchi est reçu avec une phase et une amplitude différente, causant alternativement
des interférences destructives et constructives, comme illustré par la Figure 2.6). Compte
Figure 2.6 – Modèle de propagation à deux rayons [13].
tenu des propriétés de déploiement, le rapport entre la puissance reçue et la puissance émise
par une antenne située à une hauteur ht et la puissance reçue par une antenne située à une
hauteur hr est donné par : GtGrh2
t h2
r
d4 .
13CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
Fading et shadowing Les modèles de fading et shadowing rendent compte de la variabilité
de la puissance du signal reçu à une échelle allant jusqu’à quelques centaines de
longueurs d’onde. Cette variabilité peut être causée par des phénomènes d’évanouissement
du signal, e.g. interférence destructrice entre trajets multiples d’un même signal , ou par
des phénomènes de masquage dus à la présence d’obstacles à la propagation, e.g. bâtiment.
Parmi les modèles couramment utilisés, on note le modèle de fading de Rayleigh pour
les communications sans ligne de vue directe entre les antennes (non-Line Of Sight) et le
modèle de Rice lors qu’une ligne de vue directe est disponible [13].
La Figure 2.7 présente des tests de propagation que nous avons réalisés sur le site Orange
Labs de Meylan. Dans ce scénario, un nœud émet un signal déterministe (séquence pseudoaléatoire)
en continu. Le signal reçu est comparé au signal émis et son RSSI (Received Signal
Strength Indication) est mesuré tous les dixièmes de millisecondes. La courbe de RSSI
obtenue, courbe supérieure en violet, montre la variabilité du signal reçu à une distance
fixe de l’émetteur et la courbe inférieure nous indique la distribution des différences entre
le signal reçu et le signal émis. On constate que le signal présente des variations de plus
de 20 dB et que la distribution des erreurs présente une forte corrélation temporelle. Ce
constat motive une analyse et donc une modélisation plus fine de l’environnement radio
que les modèles classiquement utilisés [15]. Dans nos analyses, en raison de l’absence de ces
modèles, nous utilisons les modèles disponibles dans WSNet, i.e. modèle de propagation à
deux rayons, fading de Rayleigh et modèle de bruit blanc gaussien.
Figure 2.7 – Expérimentation sur la variabilité du RSSI et taux d’erreur binaire
2.2 Applications de la ville intelligente et Qualité de Service
Dans le cadre du projet ANR VERSO ARESA 2 [16], un recensement des applications
des réseaux de capteurs urbains a été effectué [4], nous synthétisons ici son contenu.
14CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
2.2.1 Télé-relève de compteurs
Des réseaux de capteurs sont déployés afin d’automatiser la relève des compteurs chez
les particuliers. Les applications de ces réseaux concernent principalement les parcs de
compteurs de gaz, d’eau et d’électricité. Dans notre description, nous omettons le scénario
des compteurs d’électricité car ils correspondent à une problématique différente de celle que
nous traitons. Les nœuds capteurs pour la télé-relève de compteurs électriques ont en effet
accès à une source de courant et à un médium de communication dédié (Courant Porteur
en Ligne).
Dans une application de télé-relève de compteurs de gaz ou d’eau, les indices des compteurs
sont relevés entre 1 fois par jour et 4 fois par heure. Ces valeurs sont transmises
périodiquement par le nœud capteur à la passerelle. La période de ces transmissions varie
entre une journée et un quart d’heure pour des tailles de trame de données d’une dizaine
d’octets (période d’un quart d’heure) à un millier d’octets (période d’une journée). Le taux
de perte acceptable pour une telle application est de l’ordre de 1% et le délai de livraison
est peu contraint (de l’ordre de la période de relève). À ce trafic orienté des nœuds capteurs
vers la passerelle, ou convergecast, s’ajoute des trames de contrôle de la passerelle
vers les nœuds capteurs. Ces trames de contrôle servent notamment à la mise à jour des
configurations des nœuds ou à l’activation des actuateurs dans le réseau (ouvrir/fermer
une vanne). La transmission de ces trames est très peu fréquente avec une espérance d’une
transmission par an mais présente des contraintes de Qualité de Service plus exigeantes :
1% de taux de perte et 1h de délai maximum.
Le volume total de trafic généré pour une ville est fonction de la taille et de la densité
de la ville. Nous considérons des scénarios urbains allant de quelques centaines de nœuds
capteurs par passerelle jusqu’à une dizaine de milliers (cas de l’agglomération parisienne).
2.2.2 Gestion de l’éclairage public
La gestion de l’éclairage public correspond à l’instrumentation des éclairages de ville
et de leurs armoires d’alimentation. L’objectif de cette instrumentation est de diminuer les
coûts de maintenance de ces réseaux en permettant le remplacement préventif des ampoules
défectueuses.
Dans ce scénario, les nœuds capteurs relèvent et transmettent toutes les 10 à 15 mn
les caractéristiques des ampoules servant à l’éclairage public. Ces données sont agrégées
au niveau des armoires électriques auxquelles sont raccordées les ampoules puis transmises
périodiquement à la passerelle à raison d’une transmission par jour avec un taux de perte
acceptable de 1% et un délai de livraison de l’ordre de la période de transmission.
Des trames de contrôles permettent la configuration des éclairages urbains (réglage des
horaires d’allumage et d’extinction). La période d’envoi de ces trames de la passerelle vers
les armoires électriques puis vers les nœuds capteurs est estimée à une semaine. Enfin des
trames d’alerte originant des nœuds capteurs sont transmises à la passerelle lorsqu’une
ampoule défectueuse est détectée. Ces deux derniers types de trafic sont sujet à un taux
de perte acceptable de 0.1% et un délai maximum de livraison d’une minute.
La volumétrie de données dépend de la taille de la ville. Le nombre de supports d’éclairage
varie de quelques centaines de supports d’éclairages pour une petite ville à une centaine
de milliers pour Paris intra-muros [17] soit environ de quelques unités à quelques milliers
d’armoires électriques raccordées par réseau pour un nombre indicatif d’une centaine de
supports par armoire. Les tailles des trames de données émises par l’armoire et les nœuds
capteurs sont estimées respectivement à une centaine de kilo-octets et à une centaine d’octets.
15CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
2.2.3 Gestion de parcs de stationnement
La gestion de parcs de stationnement par réseaux de capteurs sans-fil a pour objectif
de renseigner l’usager de la disponibilité de places de stationnement en temps réel. Cette
application implique le déploiement de capteurs magnétométriques dans le sol, sous les
emplacements de stationnement. Ces nœuds capteurs détectent la présence d’un véhicule
et transmettent les changements de disponibilité des emplacements à la passerelle. On
considère entre une dizaine et une centaine de nœuds capteur par passerelle. Le trafic est
évènementiel et lié aux flux d’usagers et dépend du type de parc de stationnement : déposeminute(un
évènement par place toutes les 5 mn en moyenne) ou stationnement longue durée
(6 h), etc. Le taux de perte acceptable est de l’ordre de 1% et le délai de livraison inférieur
à 10 s avec la contrainte du respect sur l’ordre des remontées. Les trames de données font
une centaine de bits.
2.2.4 Surveillance de la pollution
Les réseaux de capteurs sans-fil pour la surveillance de la pollution fournissent des
mesures périodiques d’indices de pollution (air, bruit, composés chimiques dangereux, etc.)
afin, par exemple, d’alimenter un site d’information sur la qualité de l’air. La relève d’indices
de pollution implique un trafic périodique des nœuds capteurs vers la passerelle dont la
période varie entre la minute et l’heure. Le taux de perte associé varie entre 10% lors les
taux de pollution sont faibles et 1% lorsqu’ils deviennent critiques et le délai maximum de
livraison est de l’ordre de la période de relève. Les trames de données font de l’ordre de la
centaine d’octets.
Le déploiement de cette application est principalement localisé dans les villes de taille
moyenne et grande ou à proximité d’une source de pollution (raffinerie, incinérateur, entrepôts
de produits toxiques). Un déploiement compte environ 200 capteurs pour une agglomération
de taille moyenne (ex. Clermont-Ferrand).
2.2.5 Gestion des déchets
Afin d’optimiser les tournées de relève des déchets, les containers sont équipés d’un
détecteur de remplissage et d’un nœud capteur sans-fil transmettant sur demande l’état
du container. Le trafic associé est de type événementiel et est estimé à une requête par
semaine et par container. Le taux de perte associé est de l’ordre de 1%, le délai de remontée
de l’information de l’ordre de l’heure et la taille des trames de données est de l’ordre de 50
bits.
2.3 Synthèse et problèmes clés
Comme l’illustre le Tableau 2.1, le trafic majoritaire en volume supporté par les réseaux
de capteurs sans-fil urbains provient de transmissions des nœuds capteurs vers les passerelles
(convergecast). À ce type de scénario correspondent des caractéristiques de trafic et
de Qualité de Service très variables d’une application à une autre : le volume de données
journalier par nœud capteur varie entre une dizaine d’octets et un kilo-octets pour une
période de transmission d’une dizaine de minutes à une journée. Le taux de perte acceptable
est compris entre 0.1% et 10% (généralement 1%) alors que les délais de livraison
sont généralement peu contraints (de l’ordre de grandeur de la période de transmission).
Le trafic de la passerelle vers les nœuds capteurs présente en général un volume de
données négligeable en comparaison au trafic convergecast. En revanche, les contraintes de
16CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
Application trafic période (moy.) volume journalier qualité de service
Télé-relève nœud vers passerelle 15 min à 1 j 1 Ko/nœud perte max. 1%
gaz, eau périodique 10-10 000 nœuds/passerelle délai max. 15 min à 1 j
passerelle vers nœuds 1 an négligeable perte max. 1%
sporadique délai max. 1h
Éclairage nœud vers armoire 10 à 15 min 10 Ko/nœud perte max. 1%
public périodique 100 nœuds/passerelle délai max. 10 à 15 min
nœud vers armoire 4 ans négligeable perte max. 0, 1%
apériodique délai max. 10 à 15 min
Parc nœud vers passerelle 5mn à 6 h 100 o -10 Ko/nœud perte max. 1%
stationnement sporadique 10-100 nœuds/passerelle délai max. 10 s, ordre
passerelle vers nœuds 1 an négligeable perte max. 1%
périodique 1j
Surveillance nœud vers passerelle 1 min à 1 h 2 Ko -30 Ko/nœud perte max. 1% à 10%
pollution périodique 10-1000 nœuds/passerelle délai max. 1 min à 1 h
passerelle vers nœuds 1 an négligeable perte max. 1%
périodique délai max. 30 s
Gestion nœud vers passerelle 1 semaine 10 o/nœud perte max. 1%
des déchets sur demande 10-100 nœuds/passerelle délai max. 1 h
Table 2.1 – Applications des réseaux de capteurs urbains : principales caractéristiques
Qualité de Service qui y sont associées sont davantage exigeantes : 1% de taux de perte
acceptable, quelques dizaines de secondes à quelques minutes de délai maximum.
2.3.1 Mutualisation du réseau et charge de trafic
La mutualisation des applications sur un même réseau entraîne une charge de trafic
accrue. En conséquence du trafic prédominant parmi ces applications, i.e. convergecast, les
nœuds proches de la passerelle sont davantage sollicités en raison de leur participation à
l’acheminement des données des nœuds plus éloignés. Si elle n’est pas prise en compte, cette
variation spatiale du trafic peut être à l’origine de congestions et de collisions à l’accès au
médium de communication rendant difficile le respect des contraintes de Qualité de Service.
2.3.2 Respect des taux de perte maximum sur les données
La plupart des applications considérées exige des taux de perte inférieurs ou égaux au
pour-cent sur les communications entre les nœuds capteurs et la passerelle, et ce, malgré
un environnement radio difficile.
2.3.3 Respect du délai de livraison
Le cycle d’activité de la radio, imposé par la législation, peut entraîner des temps
d’attente avant transmission importants. Dans un réseau multi-saut, ce temps d’attente se
cumule à chaque saut et peut excéder le délai maximum toléré.
À ces objectifs de Qualité de Service dictés par l’application, s’ajoutent les contraintes
matérielles et l’objectif de durée de vie des nœuds capteurs.
2.3.4 Contraintes matérielles et passage à l’échelle
Les nœuds capteurs considérés embarquent environ 4 Ko de RAM consommée à hauteur
de 3 Ko à 3, 5 Ko par le système d’exploitation et la pile protocolaire de base. La
RAM restante pour le fonctionnement des protocoles à Qualité de Service, en particulier
la mémorisation des voisins, est de l’ordre de 0, 5 à 1 Ko, soit, comme l’illustre la Figure
2.8, l’équivalent d’une cinquantaine à une centaine d’enregistrements de 64 bits.
17CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
Figure 2.8 – Utilisation de la mémoire RAM pour un nœud capteur possédant 4 Kilooctets
de RAM et fonctionnant sous Contiki [18]. Les entrées de la table de voisinage sont
de 64bits.
2.3.5 Durée de vie des nœuds capteurs
La viabilité économique du déploiement d’un réseau urbain de capteurs sans-fil exige
une durée de vie pour le nœud capteur d’une dizaine à une quinzaine d’années. Comme
l’illustre la Figure 2.9, cette exigence implique de limiter l’activité de la radio et de respecter
un cycle d’activité de la radio inférieur à 0.3% (0.16 mW de puissance dissipée moyenne).
Sur cette Figure, nous avons rapporté à titre indicatif la durée de vie lorsque la radio est
allumée en permanence, i.e. environ deux semaines. Ce constat motive le développement
de protocoles différents de ceux utilisés pour les réseaux MANET [2] qui nécessitent une
radio constamment alimentée. Nous avons aussi rapporté la durée de vie d’une pile de type
LiSOCl2 de classe industrielle inutilisée, i.e. seul l’auto-décharge est à l’œuvre. La durée de
vie correspondante est de 33 ans. Il est donc inenvisageable de déployer un réseau urbain
de capteurs sans-fil dont la durée de vie attendue excède la trentaine d’années.
2.4 Quels mécanismes et protocoles pour répondre aux exigences
de Qualité de Service et de durée de vie ?
Dans cette Section, nous recensons les mécanismes et leviers pouvant être utilisés afin
de répondre aux exigences de Qualité de Service et de durée de vie. Dans un souci de
clarté, nous empruntons la représentation en couche proposée par le modèle OSI [19] et
nous listons les mécanismes depuis les couches basses, proches du matériel, vers les couches
hautes, applicatives. L’objectif est ici d’identifier sur quels mécanismes orienter la suite des
travaux.
18CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
Figure 2.9 – Durée de vie des nœuds capteurs en fonction de la puissance moyenne dissipée.
Exemple sur une pile Lithium-thionyl chloride (Li-SOCl2) de capacité 5800 mAh sous 3.6
V.
2.4.1 Couche physique
Certains circuits radio permettent de paramétrer leur mode d’opération à l’instar du
CC1101 de Texas Instruments [7]. Parmi ces modes, on trouve le choix de la modulation,
le type de codage correcteur et la puissance de transmission. Ces éléments de configuration
permettent d’influer sur la fiabilité et le débit des communications.
2.4.1.1 Modulation
Le type de modulation dicte l’alphabet des symboles utilisés par la radio pour transmettre
et donc le débit binaire de la transmission. La relation entre le débit symbole par
seconde (Ds), la taille de l’alphabet (M) et le débit binaire par seconde (Db) est donné par
la relation : DB = log2(M)Ds. Choisir une modulation possédant un alphabet plus important
permet ainsi d’augmenter le débit binaire et donc de réduire le temps d’occupation du
médium radio et de fait la probabilité d’interférence entre communications. Le choix de la
modulation a également un impact sur le taux de succès des transmissions en présence de
bruit. Si l’augmentation de la taille de l’alphabet permet d’augmenter le débit binaire, il
diminue également l’énergie par bit d’information (Eb) pour une puissance reçue donnée.
Ainsi, plus le rapport Eb
N0 est faible, plus le taux d’erreur est élevé. Le choix de la modulation,
et plus généralement de la technologie radio, est donc sujet à un compromis entre
robustesse et débit des communications. Dans le Chapitre 6, nous étudions les implications
de deux stratégies antagonistes : utiliser des liens radio longue distance bas débit afin de
construire une topologie de collecte en étoile et utiliser des liens radio à débit plus élevé
dans une topologie multi-sauts.
19CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
2.4.1.2 Codage, détection et correction d’erreurs
L’usage d’un code correcteur consiste à coder l’information à transmettre de manière à
y ajouter de la redondance. Cette redondance permet au récepteur de détecter d’éventuelles
erreurs induites par le canal de transmission et de les corriger. Il existe deux familles principales
de codes correcteurs : les codes en bloc (Reed-Solomon, Golay, BCH, Hamming) et
les codes convolutionnels. La contrepartie de l’usage d’un code correcteur est l’augmentation
de l’information transmise et donc une augmentation du temps d’occupation et de la
consommation d’énergie. Nous verrons dans le Chapitre 9 que l’usage d’acquittements et
de retransmissions, et donc d’un mécanisme de détection de corruption d’une trame reçue
est nécessaire afin de garantir les taux de livraison cibles dans une architecture à topologie
multi-sauts.
2.4.1.3 Puissance d’émission
En augmentant la puissance d’émission, on augmente potentiellement la puissance reçue
par le destinataire et donc l’énergie par symbole : Es. Ainsi, on peut augmenter la portée
radio, utiliser des modulations à plus haut débit ou diminuer le taux d’erreur binaire induit
par la présence de bruit. La contrepartie d’une telle approche est un accroissement de
l’interférence entre nœuds voisins dans la topologie. Cette approche est d’ailleurs souvent limitée
par les circuits radio existants qui proposent seulement quelques niveaux d’émissions,
e.g. 0dBm, 14dBm ou 27dBm pour les technologies considérées [8].
2.4.2 Couche liaison
Dans la pile de communication, la couche MAC définit le protocole d’accès aux ressources
radio. Elle définit ainsi l’ensemble des opérations qui mènent à la transmission
d’une trame d’information entre deux nœuds à portée de communication. Le protocole
d’établissement d’une communication affecte de manière évidente la fiabilité et le délai des
transmissions et nous recensons ici les mécanismes permettant de respecter les contraintes
de Qualité de Service :
2.4.2.1 Mécanisme d’adaptation du cycle d’activité de la radio
Le cycle d’activité du circuit radio est dicté par les commandes transmises par le protocole
de contrôle d’accès au médium. Ce cycle d’activité définit les instants où la radio est
en mesure de recevoir et de transmettre. En adaptant ce cycle d’activité, le protocole MAC
régit la fréquence des opportunités de communication, et donc le délai d’accès au médium
et le débit effectif, c’est à dire la capacité disponible pour la transmission de données. Ce
critère, comme le montre le Chapitre 6 est fondamental au problème d’optimisation de la
consommation d’énergie pour un volume de trafic et ses exigences de Qualité de Service.
2.4.2.2 Mécanismes de compétition à l’accès
Afin d’éviter une éventuelle collision entre transmissions, les nœuds peuvent participer
à un processus de compétition dont l’issue détermine l’accès au médium. Le mécanisme
le plus simple est une détection avant transmission (carrier sense). Un nœud souhaitant
transmettre essaie au préalable de détecter un signal en cours d’émission. Si un signal est
détecté, la transmission est reportée, autrement la transmission est initiée. Ce mécanisme
de base peut être adapté afin de diminuer davantage la probabilité d’une collision, par
exemple en introduisant un temps d’écoute aléatoire avant transmission. Parce que les
20CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
collisions affectent directement le taux de livraison des trames de données, un mécanisme de
compétition à l’accès correctement dimensionné est essentiel afin de répondre aux exigences
de Qualité de Service des applications cibles. Pour cette raison, nous dédions le Chapitre
5 à l’étude de ces mécanismes et à leur dimensionnement.
2.4.2.3 Mécanismes de contrôle des transmissions
Outre l’établissement de la transmission, le protocole de contrôle d’accès définit les
mécanismes attestant du succès de la communication. Ces mécanismes comprennent le
Contrôle de Redondance Cyclique (CRC) et le retour éventuel d’un acquittement (ACK)
vers la source de la transmission. Ils permettent d’éventuellement retransmettre les trames
de données non livrées et donc ont une influence significative sur le taux de livraison des
trames de données applicatives. Une preuve de ce résultat est disponible dans le Chapitre
9.
2.4.3 Couche réseau
La couche réseau, et plus particulièrement le protocole de routage définit la succession
de transmissions qui doivent être exécutées afin d’acheminer une information d’un nœud
à un autre dans un réseau multi-sauts. Cette tâche est assurée par deux mécanismes : le
plan de contrôle, qui construit et maintient la topologie de routage, et le plan de données,
qui assure l’acheminement des trames dans la topologie.
2.4.3.1 Construction de la topologie de routage
Le plan de contrôle vise à établir une topologie de routage pérenne et garante de
l’existence sur le long terme de chemins entre chaque paire de source et destinataire du
réseau. La sélection des liens qui composent ces chemins est sujette à des algorithmes de
décision visant à optimiser la structure dans l’objectif de répondre aux exigences de Qualité
de Service.
2.4.3.2 Transit des trames de données
Le plan de données consiste en l’ensemble des mécanismes qui sont exécutés lorsqu’une
trame de données nécessite d’être transmise. Ils incluent le choix d’une des trajectoires
dans la topologie, le mode de relayage utilisé, la détection de boucles de routage, etc.
Dans le Chapitre 9, nous montrons l’importance d’une topologie et d’un algorithme de
relayage performant afin de répondre aux exigences de Qualité de Service.
2.4.4 Couche transport
La couche transport est en charge du contrôle de bout en bout de la communication
entre un émetteur et son destinataire. Traditionnellement, dans les réseaux filaires, la Qualité
de Service est implémentée à ce niveau. Les protocoles associés peuvent, à l’instar de
TCP [20], prendre en charge le contrôle du flux de données en implémentant un ordonnancement
des trames de données, des mécanismes d’acquittement (ACK, NACK), du contrôle
de congestion, etc.
2.4.5 Applications
Afin de compléter le recensement des mécanismes à Qualité de Service, nous citons
ceux propres à l’applicatif. Une application peut en effet intégrer dans son fonctionnement
21CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
des mécanismes d’acquittement des données, de contrôle d’erreur sur les trames, et ce,
similairement aux mécanismes disponibles en couche liaison. De même que pour la couche
transport, notre étude ne porte pas sur ces mécanismes car déjà présents dans les couches
liaisons et données.
2.5 Synthèse sur le choix des protocoles étudiés, adéquation
avec les contraintes des réseaux de capteurs
Dans ce travail, nous focalisons notre étude sur les mécanismes des couches liaison et
réseau. Nous résumons ici les motivations d’un tel choix.
2.5.1 Protocoles MAC
Parce qu’ils régissent l’activité du circuit radio et l’établissement d’une communication
entre émetteurs et récepteurs, les protocoles de contrôle d’accès au médium permettent de
conjuguer les contraintes de Qualité de Service du trafic applicatif et l’objectif de durée
de vie des nœuds capteurs. Nous étudions donc plus particulièrement les mécanismes de
compétition à l’accès (Chap. 5) et les mécanismes d’adaptation du cycle d’activité à la
charge de trafic dans le but de respecter les exigences de Qualité de Service (Chapitres 6
et 8).
2.5.2 Protocoles de Routage
Le protocole de routage est en charge d’établir et maintenir un ensemble de chemins
garantissant les exigences de Qualité de Service et permettant d’assurer les performances à
long terme du réseau. Pour ces raisons, dans le Chapitre 9, nous étudions l’impact du mode
de relayage , i.e. opportuniste ou classique, sur les performances d’un réseau multi-sauts
et montrons comment construire une topologie de routage permettant d’assurer un taux
de livraison conforme aux exigences d’une application de télé-relève.
2.6 Scénarios, modèles et hypothèses
Nous illustrons maintenant les scénarios, modèles et hypothèses considérés dans ce
travail de thèse.
Dans les Chapitres 6, 7, 8 et 9, nous étudions une architecture de réseau urbain de
capteurs sans-fil dédiée à une application de télé-relève. Dans ce cadre, nous considérons
deux déclinaisons de réseaux : les réseaux de télé-relève à radio longue portée et les réseaux
multi-sauts.
2.6.1 Réseaux de télé-relève à radio longue portée
Correspondant à l’usage applicatif conventionnel d’une télé-relève périodique de compteurs
de gaz ou d’eau, nous considérons le scénario d’un réseau de capteurs sans-fil à topologie
en étoile. Afin de parvenir à une pénétration suffisante des matériaux, ces réseaux
exploitent de manière privilégiée la bande de fréquences la plus basse : 169 MHz. Dans
ce scénario, les nœuds capteurs transmettent périodiquement leurs trames de données à
leur passerelle d’attache. Nous considérons une période maximale de transmission de 24h
(relève quotidienne) et minimale de 1h (relève horaire).
22CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
Afin de modéliser ce scénario, nous supposons l’existence d’un mécanisme de contrôle de
puissance garantissant un niveau de puissance reçue à la passerelle suffisant pour négliger
les pertes dues à la propagation et au bruit large bande (en garantissant par exemple un
rapport signal à bruit de 10dB supérieur au seuil de sensibilité de la radio de la passerelle).
Cette hypothèse garantit la réception d’une trame en l’absence de collision, c’est à dire
lorsque le support temporel de la trame n’en recouvre aucun autre. En présence d’une
collision, la réception échoue car les trames en collision sont reçues avec la même puissance.
2.6.2 Réseaux multi-sauts
Dans l’optique d’un déploiement de réseau opéré de capteurs multi-sauts, nous considérons
un parc de compteurs exploitant la bande de fréquence 868 MHz. Nous omettons
la bande de fréquence 433 MHz en raison de la cœxistence de systèmes licenciés à forte
puissance dans la bande ainsi qu’en raison de la faible P.A.R autorisée pour les systèmes
non licenciés. La bande 169MHz est également omise en raison de la faible largeur de bande
disponible (75KHz) et donc des faibles débits disponibles. Nous considérons un circuit radio
émettant à basse puissance (1mW à 25mW) et présentant un débit de 19.2Kbits/s. Dans
l’étude des réseaux multi-sauts, nous considérons deux modélisations de la topologie : la
clique et la topologie multi-sauts.
2.6.2.1 Topologie en clique
Pour les études théoriques et afin de modéliser les milieux confinés à forte densité de
nœuds capteurs (Chapitres 4, 5 et 7), tels les gaines et conduits techniques, nous considérons
un modèle de clique. Dans ce modèle, les nœuds capteurs sont à portée de communication
les uns des autres. Lorsque les supports temporels de deux transmissions se recouvrent, les
deux trames sont dites en collision et leur réception est impossible.
2.6.2.2 Topologies multi-sauts
Afin d’illustrer le comportement des protocoles étudiés en multi-sauts, nous considérons
deux types de topologie : une grille régulière à maille carrée avec la passerelle de collecte au
centre et une topologie aléatoire dont les propriétés statistiques sont issues d’un déploiement
existants de capteurs (Chap. 9 pour la description des topologies). La grille régulière
permet, par ses éléments de symétrie, de caractériser le comportement des protocoles de
routage en fonction du nombre de sauts de la source à la passerelle alors que la topologie
aléatoire, dont les propriétés sont issues d’un déploiement existant, permet d’étudier les
protocoles sur un déploiement davantage réaliste.
2.7 Synthèse sur le contexte, réseaux urbains de capteurs
sans-fil et Qualité de Service
Dans ce Chapitre, nous avons présenté le contexte applicatif, réglementaire et matériel
d’un déploiement de réseau urbain de capteurs sans-fil et nous faisons ici la synthèse des
faits marquants, défis et challenges que soulèvent de tels réseaux.
D’après les applications identifiées sur réseau urbain de capteurs sans-fil, le trafic sur un
réseau urbain de capteurs sans-fil est dominé par l’application de télé-relève de compteurs
gaz et eau (jusqu’à 10 000 compteurs par passerelle, une remontée par heure et 1Ko par
remontée). Cette application se caractérise par un taux de livraison cible de 99%, des
contraintes en délai de l’ordre de la période de génération des trames de données et un
23CHAPITRE 2. QUALITÉ DE SERVICE ET RÉSEAUX URBAINS DE CAPTEURS SANS-FIL
trafic de type convergecast. Dans la suite de nos travaux, nous considérons donc en priorité
les exigences de Qualité de Service et le type de trafic associés à cette application. Dans ce
contexte, les principaux défis lors du déploiement d’un réseau urbain de capteurs sans-fil
sont les suivants : le choix de l’architecture radio et le dimensionnement du cycle d’activité
et des mécanismes d’arbitrage de l’accès au médium. Ces défis nécessitent ainsi une étude
des différentes classes d’architecture et de protocoles en termes de consommation d’énergie
selon la durée de vie souhaitée, le volume de trafic supporté et les exigences en taux et
délai de livraison, i.e. les exigences de Qualité de Service. Cette étude est proposée dans
les Chapitres 4, 5 et 6.
Pour chacun des couples architecture/protocoles retenus, nous proposons dans les Chapitres
7, 8 et 9 des protocoles spécifiques, adaptés aux exigences de Qualité de Service et
à l’attente de durée de vie du réseau.
24CHAPITRE
3 État de l’art
Dans le Chapitre précédent (Chap. 2), nous avons présenté le contexte applicatif et
réglementaire des réseaux urbains de capteurs sans-fil. Nous avons également recensé les
usages possibles de ces réseaux et les exigences de Qualité de Service associées. Nous avons
en particulier constaté que les applications de télé-relève de compteurs dominent, en termes
de trafic, le volume de données collectées et que les mécanismes intégrés aux protocoles
de contrôle d’accès au médium radio et aux protocoles de routage sont les plus à même
d’influer sur le respect des exigences de Qualité de Service et sur la durée de vie des nœuds
capteurs.
Nous proposons maintenant de recenser les protocoles de la littérature selon la nature
des mécanismes qui les composent. Nous édifions ainsi une taxonomie fonctionnelle des
protocoles de contrôle d’accès au médium et de routage en vue d’identifier les familles
de protocoles pertinentes dans l’étude du choix et du dimensionnement de l’architecture
et des protocoles pour une application de télé-relève de compteurs. Pour chaque famille
identifiée, nous illustrons son fonctionnement par la description d’un ou plusieurs protocoles
représentatifs, choisis pour leur notoriété, originalité ou performance.
Les protocoles de contrôle d’accès sont traités en Section 3.1 et les protocoles de routage
en Section 3.2.
3.1 Protocoles de contrôle d’accès au médium radio
Parce qu’il régit l’activité radio des nœuds et les ressources de communication, le protocole
de contrôle d’accès au médium détermine la consommation d’énergie et les ressources
de communication disponibles. De fait, il détermine la durée de vie des nœuds capteurs
et influe significativement sur les performances en termes de taux de livraison et de délai.
Dans cet état de l’art nous tâchons de décrire les protocoles de la littérature selon les mé-
canismes et propriétés fondamentales qui les composent. Les mécanismes pertinents seront
par la suite étudiés en détail dans les Chapitres 4, 5 et 6.
3.1.1 Taxonomie fonctionnelle des protocoles de contrôle d’accès au mé-
dium
L’approche que nous proposons ici consiste à identifier les objectifs élémentaires auxquels
répond un protocole de contrôle d’accès au médium. Celle-ci généralise les états de
l’art classifiant les protocoles par similarité, e.g. [21] et ceux classifiant les protocoles de
manière généalogique [22].
Avant de lister les critères de classification retenus, nous rappelons l’objectif global d’un
protocole de contrôle d’accès au médium, à savoir permettre la transmission d’une
trame de données entre un émetteur et éventuellement plusieurs récepteurs.
Afin de réaliser cette transmission, plusieurs conditions doivent ainsi être réunies : émetteurs
et récepteurs doivent tomber d’accord sur une date de transmission. À cette date, les
émetteurs doivent être en mesure d’émettre et les récepteurs de recevoir. Les émetteurs et
25CHAPITRE 3. ÉTAT DE L’ART
récepteurs associés doivent également s’assurer que leurs émissions respectives n’empêcheront
pas la réception de leurs trames, i.e. absence de collision.
À partir de cette description fonctionnelle, nous pouvons déduire les critères de classifi-
cation fondamentaux des familles de protocoles de contrôle d’accès au médium, à savoir la
définition de l’instant d’accès au médium, la négociation de l’accès au médium
et la signalisation de la transmission.
3.1.1.1 Classification selon le mécanisme de définition de l’instant d’accès au
médium
Dans cette étude, nous recensons deux mécanismes canoniques de définition de l’instant
d’accès au médium : l’accès synchrone et l’accès asynchrone.
Un accès synchrone consiste à maintenir la synchronisation des horloges des nœuds
émetteurs et récepteurs. Dans cette base de temps commune sont définies de manière univoque
des dates auxquelles peuvent avoir lieu les transmissions. Ce mécanisme de synchronisation
peut alternativement être intégré comme mécanisme à part entière du protocole
de contrôle d’accès, c’est le cas par exemple dans [23], ou délégué à un protocole tiers,
e.g. [24]. Dans cet état de l’art nous ne traitons que les mécanismes intégrés aux protocoles
de contrôle d’accès au médium. Les mécanismes dédiés font l’objet d’un état de l’art à part
dans le Chapitre 4.
Un accès asynchrone, tel qu’illustré par BMAC [25], XMAC [26] etc., consiste au
contraire à établir une date de transmission lorsqu’une trame doit être émise. On qualifie
donc cette approche de réactive, et par opposition, l’accès synchrone est dit proactif.
Comme le montre le Chapitre 4, les approches synchrone et asynchrone répondent
toutes deux à un même objectif, à savoir minimiser la consommation d’énergie liée à la
signalisation des instants de transmission. L’approche asynchrone vise ainsi à minimiser la
consommation en présence de trafics faibles alors que l’approche synchrone cible les trafics
importants 1.
Certains protocoles proposent d’hybrider les mécanismes d’accès synchrone et asynchrone.
À l’instar de Funneling-MAC [27], cette approche propose deux modes de fonctionnement
concurrents impliquant respectivement une synchronisation d’une partie des
nœuds capteurs du réseau et un mode asynchrone pour le reste.
3.1.1.2 Classification selon le mécanisme de négociation de l’accès au médium
La négociation de l’accès au médium correspond aux mécanismes employés par les
nœuds afin de décider du droit d’usage du médium de communication. Cette négociation
peut être réalisée de manière pro-active ou réactive. Dans le premier cas on parle de négociation
par planification, e.g. PEDAMACS [28], TSMP [29], ARISHA [30], GMAC [31],
c’est à dire que la résolution de l’ordre des accès aura été réalisée avant les tentatives
d’accès au médium. Dans le second cas, on parle d’accès par contention si un mécanisme
d’évitement de collision est employé, e.g. BMAC [25], XMAC [26], ou d’accès direct, e.g.
ALOHA [32], dans le cas contraire.
Accès par planification Un accès par planification n’est possible que lorsque les
horloges des nœuds capteurs sont synchronisées. Un tel mécanisme tire partie de la connaissance
de la topologie physique, logique et des flux de trafic afin d’allouer les ressources de
1. Le Chapitre 4 identifie l’approche optimale en fonction du trafic considéré. En deçà d’une trame par
jour et voisinage radio, l’approche asynchrone est moins énergivore. Au delà de ce volume de trafic, une
approche synchrone doit être privilégiée.
26CHAPITRE 3. ÉTAT DE L’ART
transmission, i.e. les instants de transmission. La planification des accès aux ressources peut
être réalisée de manière centralisée, e.g. TSMP [29], ou distribuée, e.g. TRAMA [33].
Dans les deux cas, la planification présuppose : (1) un trafic de contrôle permettant
l’échange de ces informations et (2) une stabilité temporelle des conditions d’opération
du réseau, i.e. environnement radio stable et des flux de trafic stationnaires. Dans ces
conditions, un tel accès garantit un accès sans collision et peu de trafic de contrôle. En
revanche, lorsque l’environnement radio présente de fortes variations temporelles, telles que
celles observées et reportées sur la Figure 2.7 du Chapitre 2, les performances ainsi que la
consommation d’énergie de tels protocoles se dégradent.
Accès par contention Les protocoles à accès par contention, e.g. BMAC [25], XMAC
[26], SIFT [34], SCP-MAC [35] se basent sur des mécanismes de tournoi afin d’allouer les
instants de transmission. Dans un tel tournoi participent les nœuds souhaitant réserver
une ressource de communication. Cette participation consiste à signaler le besoin d’une
ressource par un signal de contrôle. De l’ordre des signaux de contrôle est déduite la résolution
de l’accès au médium de communication. De tels mécanismes de tournoi peuvent être
déclinés pour un accès synchrone, e.g. SCP-MAC [35], comme pour un accès asynchrone
e.g. X-MAC.
Pour un accès synchrone par contention, on distingue ainsi les mécanismes de
contention à rôles différenciés, e.g. ZMAC [36], DMAC [37], des mécanismes à contention
simple, e.g. SMAC [23], SCP-MAC [35]. Les protocoles à accès par contention à rôles
différenciés usent de mécanismes d’ordonnancement partiel de manière à définir les actions
que peuvent exécuter les nœuds capteurs : recevoir, envoyer ou dormir, au contraire des
protocoles à contention simple. Un mécanisme de contention à rôles différenciés use ainsi
de mécanismes de planification afin d’améliorer les performances du réseau lorsque l’environnement
radio présente peu de variabilité. Ce sont donc des solutions intermédiaires
entre l’accès par planification et l’accès par contention simple.
Pour un accès asynchrone par contention, on distingue les protocoles pour lesquels
une communication est initiée par l’émetteur, e.g. BMAC [25], XMAC [26] et ceux
pour lesquels une communication est initiée par le récepteur, e.g. RI-MAC [38]. Avec un
protocole à initiation par l’émetteur, la signalisation de la transmission est prise en charge
par l’émetteur. Cette prise en charge nécessite la transmission d’un signal permettant
d’informer la destination de la communication à venir. Comme nous le montrons dans
le Chapitre 4, ce signal implique une occupation du médium de communication. Avec un
protocole à initiation par le récepteur, le récepteur est en charge d’annoncer sa disponibilité
en réception. Ce schéma nécessite l’envoi d’un message court par le récepteur et une écoute
longue par l’émetteur. Comme l’expliquent les Chapitres 2 et 8, le choix d’un mode d’accès
par rapport à l’autre dépend du cycle d’activité autorisé dans la bande de fréquence utilisée
et de la consommation des nœuds en émission et en réception.
Accès direct L’accès direct consiste à restreindre l’émission d’une trame de données au
strict minimum. Aucun mécanisme de négociation d’accès n’est utilisé, e.g. ALOHA [32] et
ses dérivés. Cette approche se justifie dans certains cas particuliers de topologies physiques,
e.g. lorsque les nœuds capteurs émettent directement à la passerelle, sans possibilité de
détection des trames des autres nœuds capteurs. Un tel scénario se produit en particulier
dans le cas d’une architecture de réseau urbain de capteurs sans-fil longue portée (voir
Chap. 6).
27CHAPITRE 3. ÉTAT DE L’ART
3.1.1.3 Taxonomie proposée
Sur la base de la classification fonctionnelle que nous venons d’exposer, nous proposons
la taxonomie de la Figure 3.1. Sur ce schéma sont représentées les deux grandes familles de
protocoles de contrôle d’accès au médium radio, à savoir à accès synchrone et à accès
asynchrone et les hybridations de ces deux familles, classifiées en tant que hybride.
Pour chacune de ces grandes familles nous recensons les sous-familles, à savoir à accès
par planification, contention et à accès direct pour les protocoles synchrones et à accès
par contention initiée émetteur, contention initiée récepteur et à accès direct
pour les protocoles asynchrones. Enfin, pour chacune de ces sous-familles, nous détaillons
les protocoles selon leurs caractéristiques les plus marquantes : planification centralisée ou
distribuée, signalisation par préambule ou répétition de données, etc.
Nous illustrons maintenant chacune de ces familles de protocoles par un exemple choisi
dans la littérature, la description de cet exemple permettant de mettre en lumière les principales
hypothèses de fonctionnement, le comportement attendu du protocole et finalement
de juger de l’adéquation de la famille de protocoles avec le contexte d’une application de
télé-relève sur réseau urbain de capteurs sans-fil.
3.1.2 Protocoles synchrones à planification
Afin d’illustrer cette famille de protocoles, nous présentons les protocoles PEDAMACS
[28] qui est un protocole synchrone à planification centralisée et TRAMA [33], un protocole
synchrone à planification décentralisée.
3.1.2.1 Protocoles à planification centralisée
Exemple : PEDAMACS PEDAMACS est un protocole de contrôle d’accès à planifi-
cation centralisée. À l’instar des autres protocoles de cette catégorie, e.g. ARISHA [30],
TSMP [29], BitMAC [39], GMAC [31] etc., son fonctionnement se décompose en 5 phases :
synchronisation des horloges, apprentissage de la topologie physique, en particulier
de la matrice de connectivité des nœuds du réseau, apprentissage des flux de trafic,
construction de l’échéancier des communications et transmission des données.
Dans PEDAMACS, l’apprentissage de la topologie est réalisée par la diffusion par la passerelle
de trames nommées topology learning. Ces trames émises périodiquement permettent
de réaliser la synchronisation des horloges des nœuds capteurs, condition nécessaire à l’établissement
d’un échéancier des transmissions. PEDAMACS fait l’hypothèse que ces trames
sont reçues par l’ensemble du réseau, i.e. la passerelle émet à une puissance suffisante pour
couvrir l’intégralité de la topologie. Par cette hypothèse, les auteurs de PEDAMACS s’affranchissent
d’un problème fondamental auquel sont confrontés les protocoles synchrones
à planification : la synchronisation d’un réseau multi-sauts. Nous présentons une solution
à ce problème dans le Chapitre 4.
Une fois le réseau synchronisé, la passerelle initie la phase de construction de la topologie
de collecte. L’objectif de cette phase est de construire une topologie en forme d’arbre
de recouvrement enraciné à la passerelle. À cette fin, la passerelle diffuse une trame de
construction de la topologie de collecte (tree construction packet). Cette trame contient
une métrique correspondant au coût pour rejoindre la passerelle par la route annoncée
(par exemple le nombre de sauts). Cette trame est retransmise par les nœuds capteurs avec
une métrique mise à jour pour refléter l’addition d’un nœud supplémentaire à la route,
l’accès étant réalisé suivant le protocole CSMA/CA [40]. Ici, on observe deux spécificités
des protocoles à planification centralisée : (1) le couplage de l’arbitrage de l’accès
au médium de communication et de la topologie de routage et (2) la phase
28CHAPITRE 3. ÉTAT DE L’ART
Figure 3.1 – Taxonomie proposé pour l’état de l’art sur les protocoles de contrôle d’accès au médium
29CHAPITRE 3. ÉTAT DE L’ART
de construction de la topologie nécessite des mécanismes d’accès par contention.
La première spécificité découle de la nécessité de connaître les flux de trafic, i.e. les
échanges de paquets entre nœuds, afin de pouvoir allouer les ressources de communication.
En conséquence, une telle méthode d’accès est à la merci des variations de la topologie
physique, i.e. apparition ou disparition de liens. La spécificité (2) découle de la nécessité
d’un arbitrage de l’accès au médium de communication afin d’éviter les collisions entre
trames échangées. En l’absence de connaissance à priori de la topologie et des flux, les
seuls mécanismes d’arbitrage disponibles sont ceux à contention. On constate ainsi qu’un
mécanisme de contrôle d’accès à base de planification est donc nécessairement bi-modal,
i.e. emploie deux méthodes d’accès distinctes, et implique donc une complexité accrue du
protocole.
Une fois la topologie logique construite, les nœuds transmettent leur vue locale de la
topologie physique et logique, c’est à dire les nœuds à portée radio et les voisins dans la
topologie logique. Cette transmission est réalisée en multi-sauts suivant la topologie de
routage, l’accès étant également réalisé en CSMA/CA. Cette étape du protocole assure la
remontée des informations nécessaires au mécanisme d’allocation de ressources de communication.
On constate ici que la fréquence de ces remontées conditionne l’adéquation de
l’allocation des ressources aux besoins des différents trafics et la durée de vie des nœuds.
En effet, si ces remontées ont lieu trop peu fréquemment, les ressources allouées peuvent
ne pas correspondre aux exigences du trafic, i.e. sous-provision sur un lien. Ces remontées
doivent par ailleurs être d’autant plus fréquentes que l’environnement radio, et donc
la topologie physique, est variable. En effet, les mécanismes d’allocation se basent sur les
voisinages radio de chaque nœud afin d’éviter les collisions entre les nœuds. Une solution
naïve à ces deux problèmes seraient de transmettre fréquemment ces informations, au prix
d’une consommation énergétique accrue et donc d’une durée de vie moindre.
Une fois le réseau synchronisé, la topologie logique construite et les informations des
topologies physique et logique remontées à la passerelle, cette dernière construit un échéancier
des communication selon un algorithme à base de coloriage de graphe de manière à
garantir un accès au médium sans collision et de garantir à chaque nœud du réseau de
pouvoir transmettre entre chaque trame de synchronisation. Cet échéancier est ensuite
transmis par la passerelle dans des trames d’ordonnancement émises périodiquement.
Figure 3.2 – Protocole PEDAMACS
Les transmissions entre nœuds suivent ensuite cet échéancier jusqu’à la publication
d’un nouveau. Un exemple d’un tel échéancier est donné sur la Figure 3.2. Ici, l’échéancier
coordonne les transmissions de 4 nœuds, nommés N1 à N4. Chaque ligne temporelle décrit
30CHAPITRE 3. ÉTAT DE L’ART
les actions successives entreprises par le nœud correspondant. Ainsi, d’après l’échéancier,
le nœud N2 émet une trame à destination de N4 dans le premier intervalle de temps publié,
puis le nœud N1 émet une trame à destination de N3, etc. Sous réserve d’une information
à jour de la topologie physique et des flux de trafic, une telle planification garantit des
transmissions sans collision.
Analyse des protocoles à accès par planification centralisée En résumé, on constate
que de tels protocoles nécessitent de la part de la passerelle de connaître la topologie physique
telle que perçue par chaque nœud du réseau, i.e voisinages radio, la topologie logique
et les flux de trafic afin d’allouer les ressources de communication. Afin de répondre aux
exigences du trafic à supporter, l’information requise pour l’allocation doit être mise à
jour de manière à prendre en compte les variations de la topologie physique et du trafic.
Comme annoncé dans le Chapitre 2, l’environnement radio urbain présente une variabilité
temporelle importante en raison de l’activité humaine et de l’interférence. Cette variabilité
entraîne une fluctuation des voisinages radio et nécessite, en conséquence, une adaptation
de l’allocation des ressources. Cette adaptation ne peut être réalisée que par une mise à
jour fréquente de l’information de topologie, impliquant de fait une consommation énergétique
accrue pour le trafic de contrôle ou une inadéquation des allocations aux
exigences de trafic.
Afin de limiter la surconsommation énergétique liée à la mise à jour de l’information de
topologie, une solution envisageable de décentraliser l’algorithme de planification. Constatant
qu’un ordonnancement centralisé nécessite la diffusion des prévisions de
trafic à l’échelle du réseau et entraîne donc une consommation d’énergie importante,
des protocoles à ordonnancement distribué ont été proposés. Ces protocoles [33], [41], [42]
construisent l’échéancier de transmission à partir d’une information de voisinage uniquement.
Les nœuds capteurs échangent ainsi leur connaissance du voisinage ainsi que leur
prédiction de trafic pour construire l’ordonnancement des communications. Généralement,
ces protocoles nécessitent que chaque nœud connaisse son 2-voisinage et les flux de trafic
associés. Afin d’illustrer cette catégorie de protocoles, nous détaillons le fonctionnement du
protocole TRaffic-Adaptive Medium Access.
3.1.2.2 Protocoles à planification décentralisée
Exemple : TRAMA TRAMA [33] est un protocole de contrôle d’accès à planification
décentralisée, ainsi que [41], [42]. À l’instar des protocoles de contrôle d’accès à planification
centralisée, les protocoles de contrôle d’accès à planification décentralisée présentent 5
phases de fonctionnement : synchronisation des horloges (externe au protocole ou
pas), apprentissage de la topologie physique, apprentissage des flux de trafic,
construction de l’échéancier des communications et transmission des données.
Dans TRAMA, l’apprentissage de la topologie est réalisée par le sous-protocole
appelé Neighbor Protocol (NP). Le protocole NP définit le mécanisme d’échange des informations
de voisinage. À la suite du déroulement du protocole NP, chacun des nœuds
capteurs du réseau connaît son 2-voisinage. Pour ce faire, chaque nœud propage des trames
de signalisation (signaling packets) selon un mode d’accès aléatoire au médium. Ces trames
de signalisation contiennent l’adresse du nœud émetteur ainsi qu’une liste des voisins nouvellement
détectés et des voisins disparus (pour lesquels aucune trame de signalisation n’a
été reçue depuis un temps pré-déterminé). Parallèlement au protocole NP, un protocole de
synchronisation est supposé opérer. On observe ici l’une des principales différences avec
le fonctionnement d’un protocole synchrone à planification centralisée : l’information des
31CHAPITRE 3. ÉTAT DE L’ART
tables de voisinage d’un nœud n’est propagée que dans le 2-voisinage, limitant ainsi le
volume de messages émis.
L’apprentissage des flux de trafic dans le 2-voisinage est réalisé par le sous-protocole
appelé Schedule Exchange Protocol (SEP). Le protocole SEP définit la trame d’annonce
de l’échéancier des transmissions (schedule packet). Cette trame contient une prédiction
des communications à venir entre le nœud émetteur et ses nœuds voisins. L’information
concernant chaque transmission est transmise sous forme de bitmap : un nœud possédant
4 voisins transmettra des bitmaps de taille 4 dont chacun des champs correspond à un
nœud voisin, un bit de valeur 1 signifiant qu’une transmission est prévue et 0 signifiant le
contraire. L’identité des nœuds voisins associés à chaque bit est déduite de l’ordre d’apparition
dans les trames de signalisation envoyées par le nœud émetteur. On retrouve ici
l’hypothèse d’un trafic prédictible et le couplage entre la topologie et l’allocation
des ressources, les nœuds sont en effet supposés capables de prédire quand et à
qui ils envoient leurs trames à venir. On constate néanmoins que l’algorithme prend des
décisions locales (basées sur des informations du 2-voisinage radio) permettant ainsi de
répondre localement à la variabilité du réseau, limitant ainsi le trafic de contrôle induit par
une éventuelle variation locale de l’environnement radio.
Enfin, la transmission des données est arbitrée selon le sous-protocole Adaptive
Exchange Algorithm (AEA). Ce dernier définit en effet le comportement d’un nœud capteur
(réception, émission ou sommeil) dans chacun des intervalles de temps, l’attribution des
intervalles de temps pour transmettre étant déduite de la longueur des files d’attentes des
nœuds capteurs.
Analyse des protocoles à accès par planification décentralisée On observe que les
protocoles à accès par planification décentralisée sont similaires en tout point aux protocoles
à accès par planification centralisée. Leur fonctionnement est constitué des mêmes phases,
à savoir : synchronisation des horloges, apprentissage de la topologie physique,
apprentissage des flux de trafic, construction de l’échéancier des communications
et transmission des données. Ainsi, les mêmes conclusions peuvent être tirées
pour ces protocoles, en notant un impact moins sévère de la variabilité de l’environnement
radio sur le trafic de contrôle.
3.1.2.3 Synthèse des protocoles à accès par planification
Ces protocoles font tous l’hypothèse d’une connaissance a priori des flux de trafic et
d’une stabilité de l’environnement radio pour fonctionner. Dans ces conditions, ils sont en
mesure de planifier des accès sans collision au médium radio afin de garantir les exigences
de trafic. Dans l’hypothèse d’un environnement radio maîtrisé, i.e. pas d’interférent, et
sous réserve de faibles fluctuations de la qualité des liens radio, de tels protocoles peuvent
réduire la fréquence des remontées d’information et ainsi limiter la consommation du réseau.
Cependant, compte tenu des propriétés de l’environnement radio urbain (voir Chapitres 2
et 9), ces hypothèses ne sont pas vérifiées, signifiant un coût accru du trafic de contrôle et
une inadéquation des allocations de ressources aux exigences de trafic.
Ces observations nous amènent à étudier des mécanismes d’allocation réactive de ressource,
c’est à dire pour lesquels l’arbitrage de l’accès est réalisé lorsque celui-ci est né-
cessaire. Ainsi, l’arbitrage prend en compte l’état courant de l’environnement radio et
l’allocation n’est pas mise en péril par la variabilité de l’environnement radio. Les protocoles
en question sont dit à contention et peuvent être déclinés en version synchrone,
e.g. [35], [23], [43], ou asynchrone, e.g. [25], [26], [44].
32CHAPITRE 3. ÉTAT DE L’ART
3.1.3 Protocoles synchrones à contention
À l’instar des protocoles à planification, les protocoles synchrones à contention synchronisent
les horloges des nœuds du réseau afin de définir une base de temps commune.
En revanche, la négociation de l’accès est réalisée de manière réactive et se décline sous
la forme d’un mécanisme de tournoi dont l’issue conditionne le choix de d’émission des
nœuds. Les différentes formes de ces mécanismes sont décrites en détail dans le Chapitre
5.
Nous rappelons que l’arbitrage par contention, et donc de manière réactive, se justifie
par la variabilité temporelle de l’environnement radio et en particulier de la topologie
physique. Une telle approche peut être implémentée telle quelle, on parlera dans ce cas de
contention simple, e.g. SMAC [23] et SCP-MAC [35], ou conjointement à des mécanismes
de planification partielle, on parlera de contention à rôles différenciés, e.g. ZMAC [36],
DMAC [37].
3.1.3.1 Protocoles synchrones à contention simple
Exemples : SMAC et SCPMAC Dans les protocoles à contention simple [23], [35],
[43], [45], les candidats à l’émission participent à des processus de compétition à chaque
intervalle d’activité, et ce, sans restriction. Ainsi, un nœud souhaitant émettre une trame de
données participe successivement aux compétitions de tous les intervalles d’activité jusqu’à
réussir la transmission de la trame.
Ces protocoles se décomposent classiquement en 3 étapes : synchronisation des horloges,
compétition à l’accès et transmission des données. La première peut être
alternativement intégrée au protocole, à l’instar du protocole SMAC présenté ci-après ou
externalisée, comme dans SCP-MAC. La compétition à l’accès utilise l’une des méthodes
exposées dans le Chapitre 5. Enfin, la transmission des données se déroule selon le résultat
du mécanisme de compétition.
On constate en premier lieu que ces protocoles présentent deux étapes de moins que les
protocoles à planification, ils ne nécessitent en effet pas d’apprendre la topologie et les flux
de trafic. Ils présentent donc une implémentation moins complexe et un trafic de contrôle
moindre.
Afin d’illustrer cette classe de protocoles, nous présentons les protocoles Sensor MAC
(SMAC) [23], retenu pour avoir défini un mécanisme de synchronisation des cycles d’activité,
et Scheduled Channel Polling (SCP-MAC) [35] parce qu’il propose une méthode à
la fois efficace en énergie et en évitement de collision. SCP-MAC est par ailleurs détaillé
davantage dans le Chapitre 7 où il sert de de protocole de comparaison à notre proposition :
CT-MAC.
SMAC Le protocole Sensor-MAC propose de synchroniser les horloges des nœuds capteurs
afin de délimiter des phases d’activités et de sommeil communes à tous les nœuds.
De cette façon, SMAC contrôle les périodes d’activité de la radio. Compte tenu des observations
du Chapitre 2, i.e. la radio est l’élément dissipant le plus d’énergie parmi les
constituants d’un capteur, SMAC propose un moyen efficace de garantir une durée de vie
cible des capteurs, c’est à dire en bornant le duty-cycle, ou rapport cyclique d’activité des
nœuds. Pour cela, SMAC présente 3 phases de fonctionnement : une phase de synchronisation
des cycles d’activité et une phase double de compétition par contention et de
transmission des données, comme indiqué sur la figure 3.3.
Afin de synchroniser les horloges, SMAC propose que les nœuds diffusent périodiquement
un message de synchronisation (SYNC ) annonçant leur cycle d’activité. De cette
33CHAPITRE 3. ÉTAT DE L’ART
Figure 3.3 – Protocole SMAC
façon, chaque nœud apprend les périodes d’activité de ses voisins et peut donc établir une
transmission avec eux. De façon à minimiser le nombre d’échéanciers, les nœuds choisissent
leurs périodes d’activité en fonction des messages de synchronisation de leur voisinage. Un
nœud cherchant à établir son échéancier va ainsi écouter le médium radio dans l’attente
d’un message SYNC. Si un message SYNC est reçu, le nœud adopte le même échéancier
que l’annonce et diffuse à son tour un message SYNC. Si aucun message SYNC n’est reçu
dans un intervalle de temps pré-défini, le nœud s’attribue alors un échéancier au hasard et
annonce son cycle d’activité. Finalement, si les voisins du nœud adoptent des échéanciers
différents, le nœud les adoptent tous. On constate ici qu’un tel processus amène à définir
des cycles d’activité commune entre nœuds voisins, avec idéalement un cycle commun à
l’ensemble des nœuds. Dans une topologie multi-sauts dense, cette approche présente cependant
des limites. En effet, en raison du temps d’attente avant transmission des messages
de synchronisation, des nœuds à plusieurs sauts l’un de l’autre risquent d’adopter des pé-
riodes d’activité distinctes, forçant les nœuds intermédiaires à activer leurs circuits radio
pendant une durée accrue, e.g. un nœud intermédiaire doit allumer sa radio durant un
intervalle de temps correspondant à l’union, au sens ensembliste, des périodes d’activités
auxquelles il adhère. On note également que se pose la question du dimensionnement de la
période d’activité, une période d’activité trop longue par rapport au trafic entraînant une
dépense énergétique inutile (idle listening) alors qu’une période trop courte ne permet pas
de supporter le trafic.
Lorsqu’un nœud cherche à transmettre un message unicast à un voisin, il attend leur
période d’activité commune. L’émetteur effectue ensuite une détection de transmission
(carrier sense ou CS) après un temps d’attente aléatoire. Si le médium radio est inoccupé,
l’émetteur transmet une requête de transmission (Request To Send ou RTS) et attend l’autorisation
du récepteur (Clear To Send ou CTS). Une fois le message CTS reçu, l’émetteur
transmet la trame de données et attend une trame d’acquittement (acknowledgement ou
ACK). Si le médium est occupé par une transmission ou si l’émetteur ne reçoit pas de
trame CTS, l’émetteur éteint sa radio et réitère sa tentative à la prochaine période d’activité
commune avec le récepteur.
34CHAPITRE 3. ÉTAT DE L’ART
En résumé, une telle méthode d’accès présente l’intérêt de définir une période de temps
où émetteurs et récepteurs ont leurs circuits radio simultanément activés et une période
d’inactivité où les circuits radio sont éteints afin de limiter la consommation d’énergie des
nœuds. En revanche, le mécanisme de synchronisation, tel qu’il est défini force certains
nœuds de la topologie à supporter de multiples cycles d’activités et donc une période
d’activité radio plus longue qu’espérée. La définition de la période d’activité est également
problématique et se confronte au problème d’écoute passive (idle listening) et de capacité
(support du trafic).
SCP-MAC Le protocole SCP-MAC [35] propose une solution au problème d’écoute
passive. Pour cela, SCP-MAC propose de synchroniser le réveil et la détection d’énergie
des nœuds capteurs du réseau sur la base d’un mécanisme externe, tel que défini dans
le Chapitre 4. De cette façon, il suffit à un nœud d’émettre un court signal de réveil
lorsque les nœuds effectuent leur détection d’énergie afin d’avertir son voisinage d’une
transmission imminente. Si aucun n’est détecté, le nœud peut éteindre immédiatement
son circuit radio, limitant ainsi l’énergie dissipée inutilement en écoute passive. SCP-MAC
maîtrise également le taux de livraison des trames de données en proposant une compétition
à l’accès au médium radio en deux étapes, chacune éliminatoire : la première pour la
transmission du signal du réveil et la deuxième pour la transmission de la donnée.
Figure 3.4 – Protocole SCP-MAC
La Figure 3.4 illustre le fonctionnement de SCP-MAC. Une fois les horloges synchronisées,
les nœuds R, S1 et S2 se réveillent périodiquement et effectuent une détection de
signal. Cette période de réveil est dimensionnée de manière à supporter le trafic. À chaque
réveil, les nœuds éteignent immédiatement leurs circuits radio si aucune émission n’est
détectée, limitant ainsi leur consommation. Lorsqu’un nœud souhaite émettre, il participe
à la première étape de compétition arbitrant l’envoi du signal d’émission. Le mécanisme
de contention employé est similaire à un algorithme de contention de type ATS dont la
description est fournie dans le Chapitre 5. Ce mécanisme se base sur une fenêtre de contention,
débutant avant l’instant de réveil des nœuds récepteurs. Un nœud souhaitant émettre
35CHAPITRE 3. ÉTAT DE L’ART
tire un intervalle de la fenêtre de contention au hasard et réalise une détection d’énergie. Si
aucune émission n’est détecté, il transmet alors un signal d’occupation. Ce signal d’occupation
est prolongé le temps nécessaire pour garantir que l’ensemble du voisinage radio réalise
une détection d’énergie. Un deuxième temps d’attente aléatoire et une nouvelle détection
d’énergie sont spécifiés avant l’envoi de la trame de données qui suit le signal d’occupation.
Ce mécanisme de compétition en cascade permet ainsi de départager les nœuds qui
auraient émis simultanément leurs signaux d’occupation.
En résumé, la consommation de fond de SCP-MAC, c’est à dire en l’absence de trafic,
est induite par la détection périodique et par la consommation du mécanisme de synchronisation.
Sous hypothèse d’une comparaison à mécanisme de synchronisation identique, SCPMAC
présente donc la consommation énergétique la plus faible possible, i.e. une simple
détection d’énergie. Pour cette raison, nous considérons ce protocole comme référence dans
notre étude de CT-MAC, proposé dans le Chapitre 7.
Analyse des protocoles synchrones à accès par contention simple La famille des
protocoles synchrones à accès par contention propose de synchroniser les cycles d’activités
des nœuds du réseau afin de leur permettre de communiquer. Au contraire des protocoles à
accès planifié, l’arbitrage de l’accès au médium est réalisé de manière réactive, i.e. lorsque
les nœuds souhaitent émettre. De cette façon, ces protocoles s’affranchissent de l’hypothèse
de connaissance précise des flux de trafic et de la topologie physique. Ils sont de fait plus ré-
siliants à la variabilité de l’environnement radio du milieu urbain. Nous avons par ailleurs
identifié un protocole efficace en énergie, SCP-MAC [35], pour lequel la consommation
énergétique n’est issue que d’une détection d’énergie périodique et du mécanisme de synchronisation
en fonctionnement. Ce protocole, combiné au mécanisme de synchronisation
proposé dans le Chapitre 4, est utilisé comme protocole de référence dans le Chapitre 7.
D’après la description du protocole, nous identifions deux études à mener afin de dimensionner
un tel protocole pour une application de télé-relève de compteurs : le dimensionnement
de la période d’activité et le dimensionnement du mécanisme de contention. Ces travaux
sont entrepris dans les Chapitres 5 et 6.
3.1.3.2 Protocoles synchrones à contention et rôles différenciés
Exemples : Crankshaft et DMAC Afin de compléter notre description des protocoles
synchrones à contention, nous proposons maintenant une analyse des protocoles à
contention et rôles différenciés, e.g. [36], [37], [46], [47]. Ces protocoles se démarquent des
protocoles à contention simple par la définition de règles de préséance, voire d’exclusion
à l’accès au médium de communication. Ces règles peuvent alternativement découler de
paramètres de configuration des nœuds, à l’instar de Crankshaft [46], ou de la position de
ces nœuds dans la topologie logique, à l’instar de DMAC [37].
Nous choisissons d’illustrer ce type de protocoles par la présentation de Crankshaft [46],
dont les règles d’accès sont dictées par les adresses MAC des nœuds, et de DMAC [37] dont
les règles d’accès sont choisies d’après des critères topologiques.
Crankshaft Le protocole Crankshaft [46] est un protocole de contrôle d’accès synchrone
pour lequel l’accès au médium est conditionné par l’adresse MAC de ces derniers. Le protocole
Crankshaft [46] propose de diviser le temps en trames (frames) et les trames en
intervalles de temps (slots). Ces intervalles de temps sont déclinés en intervalles dits de
broadcast pour la diffusion et unicast pour les trames dont le destinataire est unique. Ces
slots unicasts sont dimensionnés de manière à contenir une fenêtre de contention, une trame
36CHAPITRE 3. ÉTAT DE L’ART
de données de taille maximale et une trame d’acquittement. Les nœuds souhaitant transmettre
une trame au détenteur du slot utilisent un mécanisme de compétition à l’accès
similaire à celui de S-MAC, c’est à dire une détection de transmission après un temps
d’attente aléatoire.
L’accès à ces intervalles unicast est sujet à une règle d’accès : une trame ne peut
être émise dans un intervalle unicast que si l’adresse MAC du destinataire modulo le
nombre d’intervalles unicast est égale à l’indice de l’intervalle. Ainsi, dans une trame,
chaque nœud se voit attribuer un unique intervalle dans lequel il peut recevoir. Cette règle
limite ainsi le nombre de compétiteurs potentiels dans la fenêtre de contention. En faisant
l’hypothèse d’une répartition uniforme des adresses des nœuds dans l’espace d’adressage,
le nombre effectif de compétiteurs potentiels par intervalle est en effet divisé par le nombre
d’intervalles unicast de la fenêtre.
D’après les auteurs, cette méthode améliore la consommation d’énergie par rapport à
des protocoles à contention simple, e.g. SCP-MAC [35], mais supporte un trafic moindre,
en particulier dans un scénario de télé-relève de compteur, en présence d’un trafic de
type convergecast. L’explication d’un tel résultat est la suivante : la règle d’accès signifie
qu’un nœud exécutant Crankshaft n’effectue qu’une seule détection d’énergie par trame,
i.e. l’intervalle unicast dans lequel il peut recevoir, contre une détection par intervalle pour
SCP-MAC. Dans ces conditions, si le nombre de trames par unité de temps est grand
par rapport au trafic à supporter, e.g. sur-allocation des ressources de communication par
rapport aux besoins, Crankshaft présente une consommation d’énergie plus faible. Cette
propriété n’est en revanche pas vérifiée si le nombre d’intervalles par unité de temps, i.e. le
nombre de ressources de communication, est dimensionné afin de supporter le trafic. Dans
ce cas, Crankshaft n’est plus en mesure de supporter le trafic en raison de la règle d’accès
et de la variation spatiale du trafic du à la convergence du trafic. Nous montrons dans le
Chapitre 6 que le dimensionnement du cycle d’activité est justement un élément clé de
l’adéquation de la configuration du réseau aux exigences de Qualité de Service et de durée
de vie, ce qui exclue de fait une telle approche.
DMAC Nous présentons maintenant le protocole DMAC [37] qui propose de réglementer
l’accès au médium radio selon une information de topologie de routage.
DMAC propose en effet de coupler la construction de la topologie et les règles d’accès
au médium de communication. DMAC fait ainsi l’hypothèse d’une topologie logique sous
forme d’arbre de recouvrement. Chaque nœud est supposé connaître la distance logique
qui le sépare de la passerelle ; ici sa profondeur dans l’arbre. Cette distance dicte les rôles
supportés par les nœuds capteurs au cours du temps, comme l’illustre la Figure 3.5. Un
nœud de rang n se comporte en tant que récepteur lorsque les nœuds du rang n + 1 se
comportent en tant que transmetteurs, ne permettant ainsi de supporter que les trafics
des nœuds vers la passerelle. Dans ce cadre, en présence d’un faible trafic, l’acheminement
d’une trame de données depuis un nœud feuille de l’arbre jusqu’à la passerelle est réalisé
de manière continue, i.e. la trame est ré-émise à chaque saut juste après avoir été reçue.
De cette façon, le délai de bout-en-bout est minimisé.
Cette approche, intéressante pour supporter des trafics à forte contrainte temporelle, a
cependant un intérêt limité dans le contexte d’une application de télé-relève de compteurs.
Nous montrons en effet dans le Chapitre 6 que le dimensionnement du cycle d’activité
dans le but de supporter le volume de trafic permet déjà de répondre aux exigences de
délai décrites dans le Chapitre 2. Notons par ailleurs que cette approche ne s’applique qu’à
des trafics orientés des nœuds capteurs vers la passerelle.
37CHAPITRE 3. ÉTAT DE L’ART
Figure 3.5 – Protocole DMAC
Analyse des protocoles synchrones à accès par contention et rôles différenciés
Nous venons d’illustrer la famille des protocoles synchrones à accès par contention et rôles
différenciés en exposant les protocoles Crankshaft et DMAC. Nous constatons que ces protocoles
exploitent des règles d’accès privilégiant l’accès au médium de certains nœuds de
façon à optimiser un critère de performance donné dans un contexte particulier, e.g. le
délai de bout-en-bout dans le cas d’un trafic des nœuds vers la passerelle comme proposé
par DMAC. Ces optimisations sont tributaires d’hypothèses de fonctionnement souvent
contradictoires avec le contexte d’un réseau urbain de capteurs sans-fil, e.g. sur-provision
des ressources de transmission par rapport au volume de trafic. Pour cette raison, dans la
suite des travaux, nous focalisons notre étude sur les protocoles synchrones à contention
simple dont les résultats pourront être ré-utilisés, si nécessaire en réintégrant les optimisations
proposées par les protocoles à rôles différenciés. Ainsi, dans le Chapitre 9, nous
étudions un mécanisme de relayage d’acquittement basé sur un ordonnancement similaire
à celui proposé par DMAC.
3.1.3.3 Synthèse des protocoles synchrones à accès par contention
À l’instar des protocoles à base de planification, les protocoles synchrones à accès par
contention proposent de synchroniser les périodes actives des nœuds du réseau afin de leur
permettre de communiquer. En introduisant un mécanisme de compétition à l’accès, ces
protocoles sont capables d’arbitrer et de résoudre les accès concurrents au médium de communication.
Cette méthode d’accès, dite par contention, ne dépend pas d’une connaissance
a priori du comportement de l’environnement radio ou de la topologie logique, i.e. des
flux de trafic. De fait, ces protocoles sont à même de supporter la variabilité induite pour
l’environnement urbain et sont pour cette raison étudiés dans la suite de nos travaux.
Nous notons néanmoins que ces protocoles supposent l’existence d’un mécanisme de
synchronisation des horloges des nœuds du réseau, entraînant une complexité d’implé-
mentation accrue. Ce choix signifie également une consommation d’énergie nécessaire au
maintien de la synchronisation, i.e. alimentation d’un oscillateur à quartz et trafic de synchronisation.
De ce fait, nous nous interrogeons sur la pertinence d’un mécanisme de synchronisation
pro-active des nœuds et nous concluons sur cette question dans le Chapitre 4
qui comparent la consommation d’énergie des protocoles synchrones et asynchrones. Nous
présentons donc au préalable la famille des protocoles asynchrones à contention.
38CHAPITRE 3. ÉTAT DE L’ART
3.1.4 Protocoles asynchrones à contention
En l’absence d’un mécanisme de synchronisation pro-active des horloges des nœuds,
une date définie dans le référentiel temporel d’un nœud peut être différente de la même
date définie dans le référentiel d’un autre nœud. Pour cette raison, les périodes d’activité
radio des nœuds peuvent ne pas se recouvrir. Dans un tel scénario et en l’absence d’un mé-
canisme de synchronisation réactive, deux nœuds sont dans l’incapacité de se transmettre
une trame de données. Les mécanismes canoniques permettant de répondre à ce problème
sont présentés et étudiés dans le Chapitre 4 et nous présentons ici les protocoles appelés
asynchrones dans la littérature et que nous qualifierons de synchronisation réactive dans
ce travail 2.
Ces protocoles, e.g. [25], [38], [48], [49], [50], [26], [44], [51], [52], [53], [54], [55] se
décomposent en deux familles selon l’initiateur de la transmission. Dans le deux cas, l’établissement
d’une transmission comporte les 3 étapes suivantes : négociation de l’accès,
signalisation de l’émission et transmission. Dans le cas d’un protocole à accès initié par
l’émetteur, la négociation de l’accès et la signalisation est assurée par l’émetteur alors
que pour un protocole à accès initié par le récepteur, la signalisation est assurée par
le récepteur et la négociation est partagée entre les émetteurs et le récepteur.
3.1.4.1 Accès initié par l’émetteur
Les protocoles asynchrones à accès par contention et initié par l’émetteur, e.g. Non
Persistent CSMA with Preamble Sampling [48], BMAC [25], MFP [44] et XMAC [26],
proposent de déléguer la fonction de négociation et de signalisation aux nœuds souhaitant
émettre. Ces protocoles peuvent être classifiés en 2 sous-familles selon la nature de la signalisation
de l’émission : la première famille fait l’usage d’un préambule ou d’une séquence de
préambules, à l’instar de Non-Persistent CSMA with Preamble Sampling [25], [44], [48],etc,
et l’autre utilise directement les données pour signaler l’émission, e.g. [51], [52], [55]. L’ensemble
de ces protocoles est souvent classifié sous l’appellation preamble sampling protocols
[mac-essentials], nous présentons ici une classification alternative. Les protocoles liés à
l’usage de préambule gardent la dénomination preamble sampling protocols et on attribue
aux protocoles à répétition de la trame de données l’appellation data sampling protocols.
Afin d’illustrer ces différentes catégories, nous présentons les protocoles suivants : Non Persistent
CSMA with Preamble Sampling [48], Micro Frame Preamble MAC (MFP) [44] et
XMAC [26] pour les protocoles à échantillonnage de préambule, SpeckMAC-d [51] et
MX-MAC [55] pour les protocoles à répétition de la trame de données.
Non Persistent CSMA with Preamble Sampling Nous présentons en premier lieu
le protocole Non Persistent CSMA with Preamble Sampling (NP-CSMA-PS) [48], son implémentation
étant l’application directe de la méthode canonique de synchronisation par
échantillonage de préambule. NP-CSMA-PS suppose que les nœuds activent périodiquement
leur radio pour détecter la présence d’un signal d’occupation. Si aucune transmission
n’est détectée, le nœud éteint de suite sa radio. Dans le cas contraire, il écoute la
transmission jusqu’à la réception de la trame de données. De façon à garantir la réception
intégrale de la trame de données, le nœud émetteur préfixe la trame de données d’un signal
de réveil (préambule) d’une durée supérieure à la période d’échantillonnage des nœuds,
2. Il nous semble en effet plus pertinent de parler de synchronisation réactive compte tenu que les
mécanismes proposés consistent à signaler le commencement d’une trame de données, ce qui en soit est
une synchronisation des horloges sur une date commune.
39CHAPITRE 3. ÉTAT DE L’ART
comme illustré par la Figure 3.6. La fiabilité des transmissions est assurée par l’usage d’un
acquittement.
Figure 3.6 – Protocole NP-CSMA-PS
On constate ici qu’en présence d’un trafic faible et de trames de données de petite taille,
l’occupation du médium de communication et donc la consommation d’énergie est dominée
par l’envoi du préambule. Les auteurs de BMAC [25] montrent par ailleurs que la fréquence
des détections et donc la taille du préambule peut être adaptée au trafic à supporter de
façon à minimiser la consommation d’énergie globale des nœuds. Dans le Chapitre 4, nous
proposons une méthode de calcul de cet optimum pour un volume de trafic donné et nous
l’appliquons au dimensionnement d’un protocole asynchrone idéal.
Les protocoles que nous présentons ci-après, MFP et XMAC, sont des optimisations de
la méthode canonique que propose NP-CSMA-PS.
MFP Le protocole Micro Frame Preamble MAC (MFP) [44] propose quant à lui de
diminuer la consommation induite au niveau du récepteur en scindant le long préambule
en une succession de petites trames. Chacune de ces trames inclut un compteur annonçant
la date du début de la transmission ainsi que l’adresse du destinataire en cas de trame
unicast et un hash des données en cas de trame broadcast. Comme illustré par la Figure
3.7, ce schéma de préambule permet de diminuer le temps d’écoute du préambule par le
récepteur (overhead) et limite le phénomène de surécoute, i.e. un nœud écoute une trame
de données ne lui étant pas destinée (annonce de la destination dans les micro-préambules).
Les propriétés d’une telle approche sont les suivantes : (1) le coût énergétique à l’émetteur
est similaire à celui d’NP-CSMA-PS et (2) le coût au récepteur est conditionné par la
taille du micro-préambule, elle-même conditionnée par la taille des adresses MAC utilisées.
Ainsi, le coût énergétique supporté par le récepteur est proche de la limite théorique, à savoir
la dépense énergétique strictement nécessaire pour recevoir l’adresse de destination et
les données, alors que le coût supporté par l’émetteur peut être significativement amélioré.
Afin d’évaluer la dépense énergétique moyenne optimale à l’émetteur, supposons une
répartition uniforme des instants de génération de trames de données. Supposons également
des instants de réveil périodiques pour chaque nœud, de période !T . Dans ces conditions,
40CHAPITRE 3. ÉTAT DE L’ART
Figure 3.7 – Protocole MFP
l’espérance sur le temps moyen entre le début de la séquence de micro-préambules et le
réveil du récepteur est de "T
2 . Ainsi, en moyenne, la longueur utile de la séquence de
micro-préambules est de "T
2 . En première approximation, la consommation à l’émetteur
peut donc être divisée par deux. C’est ce que cherche à atteindre le protocole suivant :
XMAC [26].
XMAC Le protocole XMAC [26] reprend le principe de micro-préambules et ajoute
une période d’écoute entre ces derniers. Les émetteurs alternent ainsi entre émission d’un
micro-préambule et écoute du canal, comme indiqué par la Figure 3.8. Cette alternance
approxime le comportement d’une radio full-duplex et permet au récepteur de répondre
par une trame d’acquittement (early ack). À la réception de la trame d’acquittement,
l’émetteur interrompt la transmissions des préambules et transmet immédiatement la trame
de données. De cette façon, XMAC présente une séquence de préambule d’une longueur
moyenne proche de "T
2 , soit la longueur utile moyenne précédemment citée. Ceci réduit
ainsi le temps d’établissement de la transmission de données et son coût énergétique. La
contrepartie de cette méthode est la nécessité d’une double détection du médium à chaque
période d’activité, contre une unique pour NP-CSMA-PS et MFP. En raison de l’alternance
entre émission et écoute de l’émetteur, la séquence radio est en effet composée de micropréambules
espacés dans le temps par une période d’écoute. Ainsi un récepteur doit réaliser
deux détections, espacées de cette même période d’écoute afin d’être en mesure de détecter
la séquence de micro-préambules, et donc d’être notifié d’une émission à venir. On constate
ainsi qu’en l’absence de trafic ou pour des trafics très faibles, ce double échantillonnage
entraîne une surconsommation d’énergie par rapport aux solutions sans interruption de la
séquence de préambules. En revanche, cette solution présente une occupation du médium
et une consommation d’énergie plus faible pour des trafics importants.
Nous observons que ces trois protocoles utilisent un signal de contrôle spécifique afin
d’établir une date commune entre nœuds émetteurs et récepteurs et transmettent ensuite
la trame de données. En présence de trames de données de taille restreinte, e.g. d’une taille
équivalente ou inférieure à une adresse MAC, émettre directement la trame de données en
41CHAPITRE 3. ÉTAT DE L’ART
Figure 3.8 – Protocole XMAC
lieu et place de micro-préambules, i.e. par répétition de la trame de données, permet
de diminuer la durée d’activité du récepteur. En effet, avec une telle implémentation,
le temps moyen passé par un récepteur à recevoir la trame de donnés est donné par la
formule : 3"data
2 où !data est la durée d’émission de la trame. Avec un implémentation à
base de micro-préambule cette durée est donnée par : 3"micro preambule
2 + !data. Ainsi avec
l’approximation !micro preambule = !data, le temps passé en réception est 25% plus court
en émettant directement la trame de données.
SpeckMAC-D Le protocole SpeckMAC-D [51] implémente la solution canonique de la
répétition de la trame de données.
Figure 3.9 – Protocole SpeckMAC-D
Comme illustré par la figure 3.9, l’émetteur répète la transmission pendant une durée
supérieure à la période d’échantillonnage du récepteur plus la durée de la trame. De cette
façon, le récepteur a la garantie de pouvoir écouter la trame dans son intégralité, quelque
42CHAPITRE 3. ÉTAT DE L’ART
soit le déphasage entre le début de l’émission et son réveil.
MX-MAC Le protocole MX-MAC [55], illustré par la Figure 3.10 reprend les mêmes
idées que celles développées dans X-MAC, à savoir émulation d’une radio full-duplex par
alternance d’émission et d’écoute, et les applique à la solution de la répétition de la trame
de données. L’émetteur alterne en effet entre transmission de la trame de données et écoute
du médium radio. Cette période d’écoute permet au récepteur d’acquitter la réception de
la trame de données et d’interrompre la transmission des données. Similairement à XMAC,
cette solution nécessite l’usage d’un double échantillonnage du médium radio pour attester
de l’absence d’une transmission.
Figure 3.10 – Protocole MX-MAC
Nous venons d’observer l’intérêt d’une telle approche pour des trames de données de
faible taille et nous nous intéressons donc à son application dans le cadre de l’application
de télé-relève considérée et décrite dans le Chapitre 2. Nous observons tout d’abord que le
point d’équivalence des deux méthodes est obtenu lorsque 3"micro preambule
2 +!data = 3"data
2
soit !data = 3!micro preambule. Nous rappelons que les trames de données font de l’ordre de
600 bits et nous considérons des adresses MACs d’environ 50 bits 3. Les trames de données
sont donc de l’ordre de 10 fois plus longues que les micro-préambules. Dans ces conditions,
les protocoles à échantillonnage de préambule présentent une consommation d’énergie et
une occupation du médium plus faible. Pour cette raison, nous les omettons dans nos études
ultérieures.
3.1.4.2 Accès initié par le récepteur
Nous venons d’étudier les protocoles d’accès au médium pour lesquels la transmission
d’une trame de données est initiée par l’émetteur. Cette approche nécessite l’émission d’un
préambule, ou séquence de préambule dont la longueur maximale est de l’ordre de la période
d’échantillonnage du médium : !T . Nous avons déduit de l’analyse de ces protocoles que
la durée moyenne minimale du signal de transmission est de l’ordre de "T
2 . Ainsi, pour
une période d’échantillonnage d’une seconde et une trame de données de 600bits, la durée
moyenne du préambule est plus de 15 fois supérieure à celle des données. Avec une telle
3. à titre d’exemple, les trames de 802.15.4 utilisent une adresse MAC courte de 16bits ou de 48bits
sinon.
43CHAPITRE 3. ÉTAT DE L’ART
approche l’occupation du medium de communication est dominée par du trafic de contrôle,
résultant en une faible utilisation utile des ressources de communication.
Les protocoles à initiation par le récepteur, e.g. [49], [38], proposent de remplacer ce
préambule par un message envoyé par le récepteur qui annonce sa période d’écoute. Les
émetteurs échantillonnent périodiquement le médium jusqu’à détecter et recevoir la trame
d’annonce du destinataire. La phase de négociation de l’accès commence lorsque la trame
d’annonce du récepteur est détectée.
Afin d’illustrer cette classe de protocoles, nous présentons le protocole Receiver-Initiated
(RI-MAC ) [38], qui servira de protocole de référence dans l’étude de performance du Chapitre
8.
RI-MAC Le protocole RI-MAC est un protocole pour lequel les communications sont
initiées par le récepteur. Ce protocole s’appuie sur des trames standardisées 802.15.4 [56].
Comme illustré par la figure 3.11, le nœud récepteur émet périodiquement une trame
d’annonce, nommée beacon. Lorsque un nœud souhaite transmettre une trame de donnée,
il échantillonne le canal radio jusqu’à ce qu’il détecte le préambule puis reçoive la trame
d’annonce de son destinataire. Une fois la trame d’annonce reçue, l’émetteur transmet la
trame de données.
Figure 3.11 – Protocole RIMAC
Si le récepteur détecte une transmission à la suite de l’envoi de la trame d’annonce mais
n’arrive pas à la décoder, alors il renvoie de suite une autre trame d’annonce contenant les
paramètres d’une fenêtre de contention. Les nœuds émetteurs choisissent alors un temps
d’attente aléatoire avant de transmettre et effectuent une détection de transmission avant
de transmettre.
On observe donc que les protocoles d’accès initiés récepteurs sont symétriques à ceux
44CHAPITRE 3. ÉTAT DE L’ART
initiés émetteurs en ce qui concerne les états de la radio : la période durant laquelle le
préambule est émis par l’émetteur est en effet remplacé par une écoute du médium et
l’écoute périodique du médium est remplacée par une émission périodique.
Pour que l’approche initiée par le récepteur présente une occupation du médium inférieure
à l’approche initiée par l’émetteur, il est nécessaire que l’occupation du médium
liée aux trames d’annonce soit inférieure à l’occupation engendrée par les préambules. Afin
d’étudier le compromis entre l’approche initiée par le récepteur et celle par l’émetteur,
considérons le scénario suivant : N nœuds partagent le même voisinage radio. Chacun de
ces nœuds génère ! trames de données par unité de temps, chacune de ldonnees bits, et
reçoit la même quantité de trames. La période d’annonce récepteur est de !T r, chaque
annonce faisant lannonce bits. La période d’échantillonnage de l’approche initiée émetteur
est de !T e. On appelle Db le débit binaire de la radio. Avec ces notations, l’occupation du
médium est donnée par la formule :
ratiooccupation =
(
N(lannonce
Db"T r + !ldonnees
Db ) initié récepteur
!N( "T e
2 + ldonnees
Db ) initié émetteur (3.1)
Si l’on suppose que la période d’annonce récepteur et la période d’échantillonnage de
l’approche initiée récepteur vérifient !T r = N!T e = 1
!, i.e. la période d’activité des
nœuds est dimensionnée de façon à supporter le trafic entrant en l’absence de collision et
sans limitation de file d’attente (buffer de taille infinie) alors les deux méthodes d’accès
sont équivalentes pour !lim = Db
2N lannonce . Pour une valeur ! inférieure, l’approche initiée
émetteur présente un ratio d’occupation plus faible que celle initiée récepteur et on constate
le contraire pour une valeur supérieure. Si l’on considère un réseau multi-sauts tel que décrit
dans le Chapitre 2, i.e. Db = 19, 2KBits/s, 50 nœuds par voisinage radio et une annonce
équivalente à 100bits alors la frontière entre les domaines d’intérêt est !lim = 2⇤50⇤100
19,2⇤1024 ⇡
0.5. Dans ces conditions, en deçà d’une trame toutes les deux secondes par nœud, l’approche
initiée émetteur présente un taux d’occupation moindre que l’approche initiée récepteur.
En outre, avec ces mêmes scénario et dimensionnement, la période moyenne d’écoute
d’un émetteur suivant l’approche initiée récepteur est multiplié par N en présence d’un
faible trafic (! << 1
"T r ). En effet, en l’absence de synchronisation des activités des nœuds
émetteurs et récepteurs, le temps moyen passé en écoute est de !T r = N!T e. Dans de
tels circonstances, un protocole initié récepteur présente donc une consommation d’énergie
supérieure à un protocole initié émetteur.
Compte-tenu de ces résultats, il convient de s’interroger sur les scénarios favorables
aux protocoles initiés récepteurs. D’après l’équation 3.1, on constate que le nombre de
nœuds émettant des trames d’annonces a un impact majeur sur l’occupation du médium.
L’approche initiée récepteur est donc à privilégier lorsque le nombre de récepteurs potentiels
est petit en comparaison du nombre de nœuds émetteurs, e.g. le scénario de relayage défini
dans le Chapitre 8. Dans l’hypothèse d’un unique récepteur, l’équation 3.1 devient :
ratiooccupation =
(lannonce
Db"T r + N!ldonnees
Db initié récepteur
!N( "T e
2 + ldonnees
Db ) initié émetteur
avec !T r = !T e afin de prendre en compte que tout le trafic est maintenant reçu par le
même nœud.
Dans ces conditions, le point de fonctionnement équivalent est alors !lim = NDb
2lannonce .
Avec les mêmes valeurs numériques que précédemment, l’approche initiée récepteur présente
une occupation du médium inférieur à celle initiée émetteur dès lors que !lim < 4915
trames/s.
45CHAPITRE 3. ÉTAT DE L’ART
Pour ces raisons, nous considérons l’approche initiée récepteur pour le scénario de réseau
de relève de compteurs à radio longue portée et plus particulièrement dans le cadre de
notre proposition de nœuds relai, tel que décrit dans le Chapitre 8. En effet, dans ce
scénario, un faible nombre de nœuds relais, donc un faible nombre de récepteurs, est utilisé
afin d’améliorer la connectivité et les performances du réseau, en particulier en diminuant
l’occupation du médium de communication.
3.1.4.3 Synthèse des protocoles asynchrones à accès par contention
Les protocoles asynchrones à accès par contention choisissent de ne synchroniser les
horloges des compteurs que lorsqu’une transmission est nécessaire. Ainsi, les nœuds s’affranchissent
de la consommation d’énergie liée au maintien de l’horloge locale, i.e. l’alimentation
de l’oscillateur à quartz et le trafic de synchronisation pro-active. La contrepartie
d’une telle approche est un signal d’annonce dont la durée excède celle nécessaire à la
transmission des données ou alternativement une période d’écoute d’une durée similaire au
signal d’annonce.
Le choix d’un accès à synchronisation pro-active ou réactive/asynchrone, dépend donc
du volume de trafic supporté par le réseau. En l’absence de trafic ou pour des volumes
très faibles, un accès à synchronisation réactive semble être la solution adéquate, en raison
de l’absence de trafic de synchronisation et l’arrêt de l’oscillateur à quartz. En revanche,
pour des trafics importants, un accès synchrone épargne l’envoi d’un long signal d’annonce
à la fois coûteux en énergie et en occupation du médium et semble donc être la solution
adéquate. Il est donc impossible de conclure en l’état sur le type de protocole à adopter
et une étude sur le coût énergétique de chaque approche doit être menée afin d’émettre
une recommandation sur la méthode d’accès à privilégier. Cette étude est menée dans le
Chapitre 4.
Les protocoles que nous venons de présenter, à savoir à accès par planification, à accès
synchrone par contention et à accès asynchrone par contention ne différent que par la
complexité de mise en œuvre et leurs hypothèses de fonctionnement. On note en particulier
qu’ils reposent tous sur des mécanismes visant à arbitrer l’accès au médium de façon à éviter
les accès concurrents. Ces mécanismes sont associés à un trafic de signalisation et ont donc
un coût énergétique associé. Il convient donc de s’intéresser à ce coût, ce que nous faisons
dans les Chapitres 4, 5 et 6, et d’étudier les protocoles qui n’emploient pas de mécanismes
d’arbitrage, i.e. les protocoles à accès direct.
3.1.5 Protocoles à accès direct
En l’absence de mécanisme de planification ou de négociation de l’accès, un protocole
de contrôle d’accès se restreint aux fonctions élémentaires d’émission et de réception. En
émission, ces actions se limitent à activer le circuit radio en mode émission, remplir l’entête
MAC de la trame et la soumettre à la radio pour émission. En réception, le protocole
consiste à activer le mode de réception du circuit radio, comparer l’adresse de destination
à l’adresse du nœud lorsqu’une trame est reçue et éventuellement soumettre la trame de
données à la couche supérieure. Les protocoles de la littérature qui illustrent le mieux cette
famille sont ALOHA [32] et ses dérivés : [32], [48]. Ces protocoles peuvent se décliner en
version synchrone ou asynchrone.
3.1.5.1 Protocoles asynchrones à accès direct
Cette classe de protocoles est composée d’ALOHA [32] et des protocoles asynchrones qui
en sont dérivés, e.g. ALOHA with Preamble Sampling [48]. Nous illustrons ici le protocole
46CHAPITRE 3. ÉTAT DE L’ART
canonique, ALOHA [32].
ALOHA ALOHA [32] est un protocole de communication conçu à l’origine pour des
communications entre des stations radios situées dans l’archipel d’Hawaii et un satellite.
Un ordinateur de calcul de type main frame était alors partagé entre l’université d’Honolulu
et les centres de recherches affiliés, disséminés sur l’ensemble de l’archipel. Compte tenu des
distances entre les différents sites et de la directivité des antennes paraboliques utilisées,
les stations radio étaient dans l’incapacité de détecter les émissions des autres stations.
Dans un tel scénario, similaire à celui d’un réseau de relève de compteurs à radio longue
portée, les concepteurs ont donc ôté les mécanismes de négociation du protocole de contrôle
d’accès pour privilégier un mode d’accès aléatoire (random) au médium. Pour ces raisons,
les communications sont dites à accès direct.
La Figure 3.12 illustre un tel mode d’accès au médium. Ici, le récepteur R (satellite),
est en écoute permanente. Les stations S1 et S2 émettent leurs trames de données sur le
médium dès lors qu’elles sont soumises à la couche MAC.
Figure 3.12 – Protocole ALOHA
Une telle méthode d’accès présente deux contreparties importantes si elle est utilisée
dans un réseau urbain de capteurs sans-fil : (1) la durée de vie du récepteur est faible si ce
dernier n’est pas alimenté par le secteur et (2) les performances se dégradent rapidement
lorsque le trafic s’accroît.
La première contrepartie s’explique par l’écoute permanente que doit entretenir le nœud
récepteur. Dans ces conditions, d’après le Chapitre 2, la durée de vie indicative d’un compteur
dont le circuit radio est allumé en permanence est en effet de deux semaines, bien
loin de l’objectif d’une durée de vie de 15 ans. Une solution permettant d’assurer un cycle
d’activité de la radio est présentée par le protocole ALOHA with Preamble Sampling [48],
présenté ci-après.
La seconde contrepartie provient du risque de collisions entre émissions. En effet en
l’absence de planification ou de négociation des accès, deux trames peuvent être émises
simultanément et entraîner des erreurs de décodage à la réception. Les performances d’un
tel système peuvent cependant être améliorées en synchronisant les instants de transmission.
Une telle solution est présentée dans la section suivante et l’étude de performance
comparant protocoles à accès direct et protocoles à accès par contention est fournie dans
le Chapitre 6.
47CHAPITRE 3. ÉTAT DE L’ART
ALOHA with Preamble Sampling ALOHA with Preamble Sampling est une adaptation
d’ALOHA dont le but est de réduire la consommation du nœud récepteur. À cette
fin, les nœuds récepteurs effectuent un échantillonnage périodique du médium radio et
éteignent leur radio entre chaque échantillon. À l’instar des protocoles à échantillonnage de
préambule, les nœuds émetteurs transmettent un préambule long avant la trame de données
afin d’en garantir la réception. Ce protocole est ainsi similaire à NP-CSMA-PS dans
son implémentation, la seule différence résidant dans l’absence de détection conditionnant
l’émission sur le médium.
3.1.5.2 Protocoles synchrones à accès direct
Comme décrit auparavant et détaillé dans l’étude des protocoles à accès direct du Chapitre
6, les protocoles asynchrones à accès direct supportent peu de trafic en raison de la
probabilité de collision entre émissions 4. Il est cependant possible d’améliorer ces performances
en synchronisant les instants d’émission, à l’instar du protocole Slotted ALOHA [57].
Slotted ALOHA [57] consiste à maintenir une synchronisation entre les nœuds capteurs
et la passerelle afin de délimiter des intervalles de temps supportant chacun une émission.
Chaque émission ne peut démarrer qu’au début d’un de ces intervalles, limitant ainsi la
probabilité d’une collision. Le détail des calculs permettant de comparer les performances
des protocoles ALOHA et Slotted ALOHA sont disponibles dans le Chapitre 6 et la Figure
3.13 explique de manière intuitive ce résultat.
Figure 3.13 – Protocole Slotted ALOHA
Afin de se convaincre de l’intérêt de la synchronisation et de la discrétisation des instants
de transmissions, considérons le scénario proposé par la Figure 3.13. Ici, les nœuds S1 et
S2 génèrent des trames de données à deux instants séparés d’une durée inférieure à la
longueur d’une émission. Avec un accès direct non synchrone les supports temporels des
deux trames se recouvrent, comme l’illustre la Figure 3.13. Avec un accès direct synchrone,
S2 attend l’instant de transmission suivant pour émettre, évitant ainsi une collision avec
la trame de S1.
4. voir Chapitre 6 pour les grandeurs numériques.
48CHAPITRE 3. ÉTAT DE L’ART
3.1.6 Protocoles hybrides
Afin de compléter cette taxonomie, nous présentons 2 exemples des hybridations possibles,
e.g. [27], [32], [54],entre les différentes familles de protocoles présentées ci-dessus.
Nous présentons ainsi les protocoles WiseMAC [58] et Multimode Hybrid MAC (MHMAC
) [54] qui proposent d’hybrider les accès synchrone et asynchrone, le premier afin
d’optimiser l’usage du médium de communication et le second afin d’adapter le mode
d’accès au trafic supporté par le réseau.
WiseMAC Le protocole WiseMAC [58] propose d’hybrider les méthodes d’accès synchrone
et asynchrone afin de minimiser l’occupation du médium et la sur-écoute pour
un scénario de communication descendante, i.e. de la passerelle vers les nœuds. Le scé-
nario considéré est le suivant : le réseau est constitué de points d’accès en charge de la
collecte des informations générées par les nœuds du réseau. Chaque nœud est à un saut
d’un point d’accès avec lequel il communique de manière exclusive. Le point d’accès est
supposé écouter de manière permanente le médium alors que les nœuds échantillonnent
le médium périodiquement afin de détecter une éventuellement émission du point d’accès.
Alors qu’une solution à synchronisation purement réactive impliquerait une signalisation
dont la longueur maximale est égale à la période d’échantillonnage des nœuds, WiseMAC
propose que le point d’accès apprenne les dates de réveil des nœuds. Ainsi le point d’accès
peut restreindre la durée de son émission, comme illustré par la Figure 3.14.
Figure 3.14 – Protocole WiseMAC
MH-MAC Le protocole Multimode Hybrid MAC (MH-MAC ) [54] définit quant à lui
deux modes de fonctionnement : synchrone à accès planifié et asynchrone similaire à celui
de X-MAC [26]. Le choix du mode de fonctionnement est pilotable par la couche application
et nécessite de la part de l’application de connaître par avance les flux de trafic, à l’instar
des protocoles classiques à planification.
49CHAPITRE 3. ÉTAT DE L’ART
3.1.7 Synthèse sur les protocoles de contrôle d’accès au médium de communication
pour réseaux urbains de capteurs sans-fil
Nous venons de présenter une classification des protocoles MAC basée sur la nature des
mécanismes employés. Nous distinguons ainsi les protocoles à synchronisation pro-active, ou
simplement appelés synchrones, des protocoles à synchronisation réactive ou asynchrones.
D’après cette première analyse, la seconde famille est à privilégier lorsque les trafics sont
relativement faibles et la première en présence de trafics relativement conséquents. Afin
de quantifier les termes relativement faibles et relativement conséquents, nous proposons
une étude de la consommation énergétique d’un réseau de télé-relève selon le type de
synchronisation employée (pro-active/réactive) dans le Chapitre 4.
Nons observons également que les protocoles de la littérature se classifient dans trois
familles selon le type d’arbitrage à l’accès utilisé. On distingue en effet les protocoles à
accès planifié, à accès par contention et à accès direct. En raison de la variabilité de l’environnement
radio du milieu urbain, nous privilégions les méthodes d’accès par contention
et par accès direct aux protocoles à accès planifié.
Nous proposons ainsi une étude des méthodes de contention dans le Chapitre 5 et
appliquons ces résultats afin de comparer les performances d’une architecture de télé-
relève de compteurs sans-fil à base de radio longue-portée selon un accès direct et d’une
architecture multi-sauts selon un accès synchrone par contention.
3.2 Protocoles de routage
Nous établissons maintenant une taxonomie des protocoles de routage. À l’instar de
notre taxonomie des protocoles MAC, celle-ci a pour objectif d’identifier les familles de
mécanismes de construction de la topologie de routage et les règles de routage associées afin
d’identifier celles répondant aux besoins d’une application de télé-relève telle que décrite
dans le Chapitre 2. Nous excluons les radios longue portée de notre argumentation, conçues
pour opérer sur une topologie en étoile et donc sans routage, et nous supposons un réseau
multi-sauts constitué d’une passerelle et d’un ensemble homogène de nœuds compteurs
sans-fils.
3.2.1 Taxonomie fonctionnelle des protocoles de routage
Notre démarche de classification est similaire à celle utilisée pour les protocoles de
contrôle d’accès au médium. Nous identifions dans un premier temps les briques fonctionnelles
qui composent un protocole de routage et nous étudions les mécanismes associés
à la lumière des contraintes d’un scénario de télé-relève de compteurs en milieu urbain.
Dans cette étude, nous examinons les fonctions suivantes : l’identification et la sélection
des chemins permettant d’acheminer les trames de données, i.e. la construction de la
topologie de routage et le choix du ou des nœuds intermédiaires dans la topologie
de routage pour une trame donnée (forward decision). Dans la suite de cette étude,
nous faisons référence à la première fonction sous l’appellation plan de contrôle et la
deuxième sous l’appellation plan de données.
3.2.1.1 Plan de contrôle
Le plan de contrôle a pour objectif d’identifier et de sélectionner les nœuds et les liens de
la topologie physique permettant d’acheminer les trames de données. L’ensemble des nœuds
et liens sélectionnés est appelé topologie de routage. La topologie est dite hiérarchique
50CHAPITRE 3. ÉTAT DE L’ART
lorsque les nœuds exercent des fonctions différenciées et plane dans le cas contraire. Celleci
peut être construite de manière pro-active à l’instar de CTP [59] ou RPL [3], de manière
réactive comme LOAD-ng [60] ou bien implicitement [61].
Les protocoles de routage à topologie plate se distinguent également par leurs mé-
thodes d’évaluation et de sélection de liens. Les algorithmes se basent alternativement sur
une diffusion globale, e.g. [3], [59], [62], ou une diffusion localisée, e.g. [63], [64], [65],
des critères d’évaluation et de sélection de liens. Certains protocoles proposent même de
s’affranchir du trafic de contrôle, ils fonctionnent donc sans diffusion. Parmi les critères
utilisés, on distingue les critères de nœud (node state), e.g. énergie résiduelle, capacité
mémoire, charge de trafic, position géographique, des critères de liens (link state) : bande
passante, latence, fiabilité du lien et des critères topologiques physiques et logiques, e.g.
densité du voisinage radio, hop count (nombre de nœuds intermédiaires jusqu’à la passerelle).
Dans les protocoles à diffusion globale, ces critères peuvent être utilisé en l’état
par les algorithmes de construction de topologie de routage, on parle alors de protocole à
état de lien, ou sous forme agrégée, le plus souvent scalaire, c’est le cas des protocoles
à vecteur de distance. Les protocoles à diffusion localisée présentent quant à eux une
particularité : une information localisée associée à la connaissance de la source et de la
destination d’une trame de données doivent être suffisantes pour acheminer la dite trame.
Cette contrainte restreint ainsi les critères à des coordonnées géographiques ou
dérivés à l’instar de [63], [66].
3.2.1.2 Plan de données
Le plan de données est constitué des mécanismes et algorithmes de décision nécessaires
à la prise en charge et l’aiguillage des trames de données dans la topologie logique. Dans
cet état de l’art, nous distinguons les protocoles pour lesquels les décisions de routage sont
prises par les émetteurs, e.g. [3], [62], et ceux pour lesquels les décisions sont prises par les
récepteurs, e.g. [67], [68]. Nous nous référons à ces mécanismes sous les appellations respectives
de décision de l’acheminement à l’émission et décision de l’acheminement
à la réception.
3.2.1.3 Taxonomie proposée
Suite à ces classifications, nous adoptons la taxonomie présentée par la Figure 3.15.
Celle-ci est motivée par notre objectif d’identifier les familles de mécanismes et de protocoles
répondant aux exigences de notre scénario d’étude, à savoir une application de
télé-relève de compteurs en milieu urbain. Pour cela, elle distingue et représente les diffé-
rents choix auxquels sont confrontés les concepteurs d’un protocole de routage pour réseaux
de capteurs, à savoir le choix d’un type de topologie de routage, son mode de construction,
la nature des informations et des critères de sélection des chemins et le lieu du processus de
décision de routage. Pour chacune des alternatives proposées, signalées par un encadré sur
la Figure 3.15, nous représentons les associations de mécanismes possibles par un lien en
trait plein. À titre d’exemple, cette taxonomie nous apprend qu’une topologie plane peut
être construite de manière pro-active, selon un protocole à vecteur de distances en utilisant
des critères de performance agrégés mais qu’un protocole à vecteur de distances ne peut se
baser sur un critère de performance non agrégé.
À partir de cette taxonomie, nous tâchons maintenant d’argumenter notre choix d’étudier
les performances des protocoles à vecteur de distances utilisant des critères de performance
agrégés et opérant un processus de décision à l’émetteur ou au récepteur. Nous
adoptons pour cela une approche itérative dans laquelle nous décidons d’abord du type de
51CHAPITRE 3. ÉTAT DE L’ART
Figure 3.15 – Taxonomie proposée pour l’état de l’art sur les protocoles de routage
52CHAPITRE 3. ÉTAT DE L’ART
topologie, puis du mode de construction de la topologie et enfin de la nature de l’information
utilisée, chaque étape permettant de restreindre l’horizon des protocoles considérés.
3.2.2 Protocoles à topologie hiérarchique
Notre première étude consiste à argumenter le choix d’une topologie hiérarchique ou
plane et nous nous intéressons tout d’abord aux protocoles de routage dit à topologie
hiérarchique. Ces protocoles, e.g. [69], [70], [71], [72], [73], [74], [75], [76], [77], proposent
de différencier les rôles des nœuds du réseau. Cette différentiation consiste à confier les
rôles de maintenance de la topologie et d’acheminement des trames de données à certains
nœuds du réseau, dits nœuds à rôle dominant et minoritaires par leur nombre. Plusieurs
sous-familles de protocoles hiérarchiques peuvent être distinguées selon les mécanismes
d’élection de ces nœuds et leur organisation, e.g. en grappes [69], en épines dorsales [78],
etc. Ces démarches limitent le volume de trafic de contrôle [79] et facilitent le filtrage,
l’agrégation et/ou la compression des trames de données lorsque les grandeurs physiques
observées par le réseau présentent de fortes corrélations spatiales, les nœuds à rôle dominant
étant un point d’agrégation des trafics des nœuds voisins [69].
Nous proposons maintenant d’argumenter leur adéquation à un scénario de télé-relève
en milieu urbain. Nous présentons pour cela le protocole LEACH [69], un protocole de
routage hiérarchique basés sur des techniques de mise en grappe.
LEACH Le protocole LEACH est un exemple très simple de protocole hiérarchique qui
permet d’expliciter les points d’intérêts et les contreparties d’une telle famille de protocoles.
On retrouve en effet dans LEACH les caractéristiques élémentaires d’un protocole
hiérarchique, à savoir l’organisation de la topologie de routage autour de nœuds à rôle
dominant, appelés cluster heads ou nœuds CHs, auxquels sont rattachés les autres nœuds
du réseau. Dans LEACH, la construction de la topologie dépend d’une évaluation des liens
entre capteurs. Cette évaluation est basée sur un critère de lien simple : la puissance de
signal reçue : Received Signal Strenght Indicator (RSSI). Ce critère est utilisé de façon à
identifier les nœuds proches. Les ensembles de nœuds proches sont appelés grappes. Une
fois les grappes construites sont nominés les nœuds CHs. LEACH propose d’élire les nœuds
CHs selon un tirage aléatoire et une liste tabou. Ainsi, périodiquement (à chaque round
r), chaque nœud n’ayant pas un rôle dominant le round précédant tire une valeur aléatoire
dans l’intervalle [0, 1] et la compare à une valeur seuil T(p) avec p le ratio de nœuds
dominant souhaité :
T(p) = p
1 ! p ⇤ (r ⇤ mod(1/p))
Tout nœud dont la valeur tirée excède la valeur seuil devient alors dominant pour une durée
d’un round et prend en charge la collecte des trames en provenance des nœuds capteurs et
leur relayage vers le puits comme l’illustre la figure 3.16.
Les protocoles à topologie hiérarchiques diffèrent principalement par les heuristiques
ou algorithmes d’élection des nœuds à rôle dominant et par les fonctions remplies par ces
derniers. Les protocoles HEED [75] et energy-LEACH [80] proposent par exemple d’utiliser
un critère de nœud, l’énergie résiduelle, pour nominer les nœuds à rôle dominant. Dans ces
protocoles, les nœuds capteurs possédant l’énergie résiduelle la plus importante ont une
plus grande probabilité d’obtenir un rôle dominant. De cette façon, ces protocoles visent
à uniformiser la consommation d’énergie entre les nœuds capteurs afin de prévenir l’épuisement
prématuré de leur batterie. Les protocoles TEEN [72] et APTEEN [73] proposent
quant à eux de réaliser des fonctions d’agrégation et de filtrage des données au sein des
53CHAPITRE 3. ÉTAT DE L’ART
Figure 3.16 – Protocole LEACH
nœuds CHs avec pour postulat que seul un sous-ensemble des données générées par les
capteurs a un intérêt ou la pertinence d’être remonté.
Compte tenu de ce descriptif et dans le contexte d’un réseau urbain de capteurs sans-fil,
ces approches se heurtent à plusieurs problèmes : les limitations matérielles des capteurs,
la nature des données télé-relevées, la règlementation sur l’usage des bandes radio non
licenciées et la variabilité de l’environnement radio.
Le premier problème concerne les faibles possibilités de filtrage ou d’agrégation des
nœuds à rôle dominant en raison des faibles ressources mémoires. Les nœuds capteurs
disposent en effet de quelques kilo-octets de stockage et ne sont en mesure de stocker que
quelques trames de données 5. Par ailleurs, contrairement aux applications de monitoring
environnemental, le trafic généré par une application de télé-relève de compteurs ne présente
pas ou peu de redondance spatiale, chaque capteur représentant la consommation d’un
client différent. De fait, les possibilités de filtrage sont également très limitées.
Le second problème résulte de la règlementation du cycle d’activité radio dans les
bandes ISM non licenciées. Comme décrit dans le Chapitre 2, le cycle d’activité peut être
limité à 1% voire 0,1% selon la bande radio utilisée, limitant de fait le volume de données
que peut supporter un nœud à rôle dominant et donc le nombre de nœuds attachés. En
supposant par exemple une émission de 250ms 6 sur une bande à 0,1% de cycle d’activité,
un nœud dominant ne peut supporter plus de 345 trames par jour, incluant le trafic de
données et de contrôle.
Enfin, les protocoles de routage à topologie hiérarchique souffrent de la variabilité de
l’environnement radio. Afin de motiver cette assertion, nous présentons les résultats de
travaux que nous avons mené sur le taux de livraison à partir du réseau déployé pour le
projet collaboratif ANR ARESA [81]. Le projet collaboratif ANR ARESA s’est achevé
5. 600 bits environ pour une application de télé-relève de compteurs.
6. Conformément aux résultats des Chapitres 4 et 6, on suppose ici une durée d’émission dominée par
le préambule de synchronisation, les données ne nécessitant que 30 ms de temps d’émission.
54CHAPITRE 3. ÉTAT DE L’ART
à l’été 2009 avec le déploiement d’un réseau d’une trentaine de nœuds capteurs sans-
fil, dont la topologie physique est représentée par la Figure 3.17. Ce réseau, composé de
compteurs sans-fils comportait des capteurs de comptage de véhicules et de piétons, de
mesure d’humidité, de température et de comptage de gaz sur un parc de 240 000m2 mêlant
zones de parking, bâtiments, sous-bois et plaine dégagées. Sur la base de cette topologie et
Figure 3.17 – Topologie du démonstrateur ANR ARESA
des traces de connectivité, dont le détail est fourni dans le Chapitre 9 (Fig.9.1), nous avons
étudié la dépendance de la connectivité 7 des compteurs à la passerelle en fonction de la
redondance de chemin dans la topologie de routage [81]. Comme illustré par la Figure 3.18,
lorsque le nombre de liens utilisés par nœud pour l’acheminement des données est faible,
la connectivité est inférieure à 60%.
Cette étude montre qu’une approche visant à concentrer le trafic sur quelques nœuds/liens
du réseau peut de solder par des taux de livraison très inférieurs aux exigences applicatives,
i.e. 99% pour une télé-relève de compteurs gaz/eau.
Cette étude pose la question de la pertinence d’une approche hiérarchique pour une
application de télé-relève en milieu urbain. La fiabilité des transmissions dépend en effet
du lien entre les nœuds à rôle dominant et les nœuds attachés. Ce constat révèle l’une des
difficultés majeures auxquelles sont confrontés les algorithmes de formation des grappes
et d’élection des nœuds à rôle dominant. Ces algorithmes sont en effet confrontés à un
problème triple : un problème de couverture : il faut rattacher l’ensemble des nœuds à
un nœud à rôle dominant ; un problème de consommation d’énergie : compte tenu de la
consommation d’énergie accrue des nœuds rôle dominant, il est en effet préférable d’en
élire un nombre restreint ; un problème de fiabilité des communications : un lien fiable
7. La connectivité représente ici la probabilité d’acheminement d’une trame en supposant l’usage de
l’ensemble des chemins mis à disposition par la topologie.
55CHAPITRE 3. ÉTAT DE L’ART
Figure 3.18 – Topologie du démonstrateur ANR ARESA
entre chaque nœud à rôle dominant et les nœuds attachés est une condition indispensable
au respect des objectifs de QoS des applications cibles.
Pour ces raisons, nous considérons maintenant les alternatives aux protocoles à topologie
hiérarchique, à savoir les protocoles à topologie plane.
3.2.3 Protocoles à topologie plane
Au contraire des protocoles à topologie hiérarchique, les nœuds exécutant un protocole
à topologie plane supportent tous un rôle similaire. Ainsi, tout nœud du réseau est susceptible
de participer à l’acheminement des trames de données. Une telle approche permet
donc d’exploiter davantage de liens de la topologie physique et de répartir la charge de trafic
de manière plus homogène que l’approche hiérarchique. En revanche, en raison de l’implication
d’un plus grand nombre de nœuds dans l’acheminement des données, l’approche à
topologie plane est également susceptible de générer davantage de trafic de contrôle [79].
De fait, le choix de topologie nécessite l’étude du compromis entre le gain de fiabilité sur
l’acheminement des données que procure l’approche à topologie plane et le coût énergétique
associé. Pour cela, nous référençons les différentes méthodes de construction de la topologie
et discutons de leur implication sur le trafic de contrôle et sur la consommation des nœuds
capteurs.
La construction d’une topologie de routage nécessite d’identifier les chemins potentiels
vers chaque destination. À cette fin, les nœuds du réseau échangent des trames de contrôle
leur permettant d’acquérir l’information nécessaire à cette identification. Cette information
peut concerner les liens, e.g. la puissance de signal reçue ou RSSI (Received Signal Strength
56CHAPITRE 3. ÉTAT DE L’ART
Indicator ) [69], ou les nœuds, e.g. l’énergie résiduelle à disposition d’un nœud. La diffusion
de cette information ainsi que la construction de la topologie peut être réalisée de manière
pro-active, i.e. en prévision des flux de données, ou de manière réactive, lorsqu’une trame
de données nécessite la découverte d’un chemin vers sa destination. Afin d’argumenter le
choix d’une de ces approches, nous présentons pour chacune un protocole représentatif.
3.2.4 Protocoles à construction réactive
Nous étudions dans un premier temps l’approche par construction réactive de la topologie,
e.g. [60], [82]. Cette approche consiste à initier la phase de découverte d’un chemin
vers une destination seulement lorsqu’une trame lui est destinée. Cette approche suppose
un faible nombre de flux applicatifs, une faible fréquence de génération des trames de données
et un réseau de petite taille [60]. Afin d’illustrer une telle famille de protocoles, nous
présentons le protocole LOAD-ng.
The Lightweight On-demand Ad hoc Distance-vector Routing Protocol - Next
Generation LOAD-ng [60] est un protocole de routage en cours d’élaboration à l’IETF
au moment de la rédaction de ce manuscrit. Similaire à AODV [82], LOAD-ng est un protocole
de routage à construction réactive de la topologie basé sur une découverte de route par
inondation de messages de contrôle. Un nœud routeur implémentant LOAD-ng exé-
cute les actions suivantes lorsqu’une trame nécessite d’être transmise : si aucune route n’est
connue vers la destination, le nœud génère un message Route Request (RREQ) contenant
son adresse et l’adresse de la destination et le diffuse à son voisinage radio. Ce message est
propagé de proche en proche, par diffusions successives, de manière à inonder l’ensemble
du réseau et à être entendu par le nœud destination. Une fois le message RREQ reçu, la destination
génère alors un message Route Reply (RREP) transmise en unicast sur le chemin
inverse suivi par le message RREQ. Ce chemin peut être identifié de deux manières : par ajout
des adresses des nœuds traversés dans le message RREQ ou par mémorisation de l’adresse
du nœud précédemment traversé au niveau de chaque nœud du réseau. Dans LOAD-ng,
la seconde solution est retenue, privilégiant ainsi une taille réduite des messages au détriment
de l’occupation mémoire des nœuds. Une fois la route établie, la trame de données
est acheminée sur le chemin déterminé et la mémorisation du couple source/destination à
chaque nœud du chemin permet de s’affranchir de la re-découverte à chaque nouvelle trame
de données.
D’après cette description, les protocoles à construction réactive de la topologie sont
à privilégier pour un déploiement comprenant peu de nœuds et un trafic applicatif à la
fois faible par son volume et par la diversité des sources et destinations, conformément
à leurs hypothèses de fonctionnement. En effet, l’établissement de chaque route nécessite
l’inondation de messages de contrôle à l’échelle du réseau. Par ailleurs, afin de s’affranchir
de l’inondation du réseau à chaque nouvelle trame applicative, chaque chemin découvert
nécessite l’installation et la mémorisation de la route sur chaque nœud participant à l’acheminement
des données. Ce constat soulève donc la question de l’adéquation d’une approche
réactive pour une appplication de télé-relève en milieu urbain. Comme décrit dans le Chapitre
2 (Tableau 2.1), un déploiement de compteurs de gaz/eau sans-fil peut compter jusqu’à
plusieurs milliers de nœuds par passerelle, impliquant un trafic de contrôle et des exigences
en mémoire non négligeable.
Afin d’estimer le volume de trafic de contrôle, considérons un réseau de N nœuds,
distribués uniformément sur un disque d’aire normalisée autour d’une passerelle. Supposons
une densité de voisinage radio égale à d. Supposons par ailleurs un mécanisme d’inondation
idéal, i.e. un unique message est généré par voisinage radio. Dans ces conditions, nous
57CHAPITRE 3. ÉTAT DE L’ART
obtenons une borne inférieure sur le nombre de messages nécessaires pour inonder un
message RREQ, tel qu’utilisé par un protocole de routage réactif : N
d . D’après la description
de LOAD-ng, on peut estimer le nombre de messages RREQ générés pour découvrir une route
depuis chaque compteur vers la passerelle à : N2
d . Pour chaque route découverte est généré
un message RREP retransmis de proche en proche depuis la passerelle vers la source. En
supposant que la route découverte est toujours celle de plus court chemin dans la topologie
physique, le nombre moyen d’émissions par message RREP généré à la passerelle est 2
3
qN
d
8
soit 2N
3
qN
d pour l’ensemble des routes découvertes. Pour un réseau de 5000 nœuds et une
densité moyenne de voisinage radio de 50, la découverte de l’ensemble des routes de la
topologie nécessite de l’ordre de 500 000 messages de contrôle, l’équivalent de 100 jours de
trafic applicatif pour une relève quotidienne de compteurs.
3.2.5 Protocoles à construction pro-active
Les protocoles de routage à construction pro-active, e.g. [3], [62], [59] tirent partie de la
connaissance a priori des destinations du trafic du réseau de façon à construire et maintenir,
de manière optimisée, les routes permettant d’acheminer les trames de données. À l’instar
de [3], [62], [59], etc., les protocoles à construction pro-active de la topologie privilégient
une construction de la topologie initiée par les destinations, dans le cas d’un réseau de
télé-relève de compteurs, la passerelle. Les topologies physiques ainsi construites prennent
le plus souvent la forme d’un arbre, e.g. [59], ou d’un Graphe Acyclique Dirigé (DAG) à
l’instar de RPL [3]. Afin d’illustrer cette famille de protocoles, nous présentons maintenant
le protocole de routage RPL qui servira de protocole de référence dans le Chapitre 9.
Routing Protocol for Low-power and Lossy Networks Le protocole Routing Protocol
for Low-power and Lossy Networks RPL [3] est issu des travaux du groupe IETF
ROLL [83]. RPL est un protocole IPv6 conçu et optimisé pour supporter le trafic dominant
d’un réseau de télé-relève de compteurs, à savoir le trafic convergent des compteurs vers la
passerelle. Pour cela, la topologie est initiée par les passerelles du réseau, nommées LBR 9.
La construction de cette topologie est réalisée grâce à la diffusion de trames de contrôle
appelées DODAG Information Objects (DIOs), émises par chaque nœud capable d’acheminer
des trames de données pour autrui. Ces trames contiennent des informations sur la
topologie de routage et une ou plusieurs métriques de performance caractérisant le chemin
annoncé par le nœud en question. À la réception de ces dites trames, les nœuds du réseau
choisissent les voisins dans la topologie de routage auxquels ils délèguent l’acheminement
de leurs trames de données. Une fois ce choix fait, ils annoncent à leur tour un chemin vers
la passerelle dans un DIO dont les métriques reflètent les performances du chemin annoncé.
La topologie ainsi créée est un graphe acyclique dirigé orienté destination ou Destination
Oriented Directed Acyclic Graph (DODAG) (voir Fig. 3.19) et optimisée d’après les critères
de performance ou fonctions d’objectif retenus Objective Functions (OF), e.g. minimisation
du nombre de retransmission, maximisation de la durée de vie, etc, dont des exemples sont
fournis dans les documents compagons de la spécification de RPL [84].
La maintenance de la topologie ainsi construite est assuré par une diffusion des messages
DIOs selon l’algorithme Trickle [85]. Trickle lie la fréquence d’envoi des trames de contrôle
à la notion de consistance du réseau. Lorsque la topologie est stable, la fréquence d’envoi
8. Pour un nœud à une distance r de la passerelle, le nombre de sauts pour le joindre est donné par la
formule R p1
⇡
0 2⇡rd q r
d
⇡N
edr ⇡ 2
3
qN
d
9. Low power and lossy network Border Router
58CHAPITRE 3. ÉTAT DE L’ART
Figure 3.19 – Graphe acyclique Dirigé : les liens en gras représentent les liens qui ont
été ajouté à l’arbre de recouvrement pour constituer le DAG. Ces liens ajoutent de la
redondance à la structure et offrent ainsi des chemins alternatifs dans l’éventualité d’une
indisponibilité du lien primaire.
des DIOs est progressivement diminuée jusqu’à atteindre un minimum prédéfini. Si un
changement de topologie est opéré, par exemple un nœud change de parent dans la structure
ou change de rang, alors la fréquence est réinitialisée à sa valeur maximale. De cette façon,
RPL diminue sa consommation d’énergie lorsque la topologie est stable et permet de réagir
rapidement en cas de changement topologique.
Afin de comparer cette approche à la construction réactive de la topologie, considérons
à nouveau un réseau de N nœuds déployés selon les hypothèses précédemment présentées
et étudions le nombre de messages DIOs nécessaires à la construction de la topologie de
routage. Conformément à la description de RPL, il suffit de N messages DIOs afin de
permettre à l’ensemble des nœuds de joindre la racine, i.e. chaque ayant reçu au moins
un DIO annonce une route menant à la passerelle 10. Pour un déploiement de N = 5000
nœuds et de densité de voisinage radio d = 50, 5000 messages de contrôle suffisent, contre
environ 500 000 pour l’approche réactive.
Pour un scénario de télé-relève de compteurs sans-fil, ce résultat suggère qu’une topologie
construite de manière pro-active implique un trafic de contrôle et donc une dépense
énergétique plus faible qu’une topologie construite de manière réactive. Cette observation
nous incite donc à détailler les différentes familles de protocoles de routage pro-actifs et
motive notre choix de proposer un protocole de routage pro-actif dans le Chapitre 9. À
ce stade de l’étude, nous retenons les protocoles de routage à topologie plane construite
de manière pro-active comme candidats pour une architecture de télé-relève de compteurs
sur la base d’un réseau multi-sauts. Parmi cette famille de protocoles, on distingue trois
sous-familles selon la nature de l’information utilisée pour construire la topologie : les protocoles
à états de liens/nœuds, les protocoles à vecteur de distances et les protocoles
à routage géographique.
10. Notons que N
d messages suffisent à identifier une route pour chaque nœud si l’on suppose un protocole
d’inondation optimal à l’instar de l’étude menée sur l’approche réactive.
59CHAPITRE 3. ÉTAT DE L’ART
3.2.6 Protocoles à états de liens/nœud
Nous qualifions de protocole à état de liens/nœuds, tout protocole qui diffuse à l’échelle
du réseau une information non agrégée, e.g. [62], [86]. Par cette approche, une connaissance
globale de l’état du réseau est construite et cette connaissance exhaustive est utilisée afin
d’optimiser les chemins de la topologie selon les critères de sélection retenus e.g. minimisation
du délai de bout-en-bout. Le protocole HYDRO [62], proposé dans le cadre des
travaux du groupe IETF ROLL [83] est un exemple de protocole à états de liens.
HYDRO Le protocole Hybrid Routing for low-power and lossy networks (LLNs) [62] est
un protocole à état de lien spécifiquement conçu pour opérer sur un réseau contraint en
énergie présentant un médium de communication non fiable, à l’instar d’un réseaux de
capteurs sans-fil.
Dans un réseau implémentant le protocole HYDRO, les routeurs de bordure ou Border
Routers(BRs), la passerelle dans notre scénario, construisent et maintiennent une vue
globale de la topologie physique du réseau de capteurs. À cette fin, les nœuds du réseau
transmettent à intervalle régulier des trames de contrôles appelées Topology Reports contenant
la liste des voisins détectés. Cette liste est au préalable filtrée de façon à n’inclure que
les liens dit fiables (mature dans la spécification). Chacune des entrées de la liste contient
une évaluation de la qualité des liens selon le critère de performance ou le critère
topologique retenu. Une fois cette information acheminée à la passerelle, cette dernière
peut calculer les routes permettant à chaque nœud du réseau d’acheminer ses données.
Ces routes sont ensuite communiquées aux nœuds du réseau au moyen de trames nommées
Route Install Messages. À partir de l’information collectée et à l’instar de RPL [3],
HYDRO construit une topologie en forme de graphe acyclique dirigé, Directed Acyclique
Graph (DAG) de façon à diversifier les routes permettant l’acheminement des données et
ainsi améliorer la connectivité du réseau.
Cette description révèle deux limites à l’adoption d’une telle approche dans un réseau
de télé-relève en milieu urbain : le volume d’information nécessaire à la construction de
la topologie et le manque de pertinence d’une collecte exhaustive des vues de la topologie
telles que perçue par chacun des nœuds.
La première limitation est inhérente au volume de données que représente l’acheminement
des tables de voisinage de chaque nœud à la passerelle. En supposant un réseau de
N compteurs, un voisinage radio de densité d et en supposant par ailleurs que seul ↵% des
voisins radios exhibent un lien stable , une telle approche nécessite la collecte de l’ordre
de N↵d entrées de tables de routages. Sur la base du scénario précédemment utilisé, i.e.
réseau de 5000 nœuds, de densité du voisinage radio égale à 50 et en supposant un taux
de liens fiables de 17% 11, une telle approche nécessite la collecte de l’ordre de 40 000 entrées
de table de routage. En estimant chaque entrée à 200 bits environ, e.g. deux adresses
compressées et une métrique de performance, cela représente environ 14 000 trames applicatives
à chaque rafraîchissement des informations de topologie, ou l’équivalent du volume
de données de 3 jours d’activité du réseau.
La seconde limitation a trait à la part utile d’information de ce qui est collecté. Cette
information représente en effet l’ensemble des liens fiables de la topologie et seul un sousensemble
s’avère utile à l’acheminement des données. Nous estimons cette part utile en
évaluant le nombre de liens utiles à la construction d’un arbre de recouvrement sur la topologie
précédemment étudiée. Pour une telle topologie, il suffit de N liens pour rattacher
11. Nous montrons dans le Chapitre 9 que seulement 17% des liens de la topologie ARESA présente une
espérance de succès de plus de 90%.
60CHAPITRE 3. ÉTAT DE L’ART
tous les nœuds. En supposant la présence de liens redondants à l’instar d’un graphe acyclique
dirigé, e.g. k parents en moyenne par nœud de la topologie, le nombre de liens utiles
est donc kN. Il suffit donc de 2kN entrées pour les caractériser de manière bidirectionnelle.
En considérant deux liens redondants par nœuds, il suffit donc de 20 000 entrées. Compte
tenu de ces observation, nous proposons maintenant d’étudier les alternatives aux protocoles
à état de lien : les protocoles à vecteur de distance et les protocoles à coordonnées
géographiques.
3.2.7 Protocoles à vecteur de distance
Les protocoles à vecteur de distance, e.g. [3], [59], [82], [87], [88], [89], [90], proposent
quant à eux que chaque nœud du réseau diffuse une représentation agrégée de la topologie
sous forme de vecteurs de distance, chacune des coordonnées du vecteur étant une distance
à une destination donnée. Ainsi, contrairement aux protocoles à états de liens, les protocoles
à vecteur de distance se contentent d’un envoi périodique du vecteur de distances réduisant
de fait le volume de trafic de contrôle.
Nous avons déjà présenté un tel protocole de routage afin de décrire la famille à construction
pro-active, à savoir le protocole RPL [3]. Nous présentons ici le protocole Collection
Tree Protocol [59] et focalisons notre analyse sur la nature de l’information propagée.
CTP À l’instar de RPL, CTP initie la construction de la topologie par la passerelle. À
cette fin, celle-ci diffuse des trames de contrôle contenant une métrique de chemin. Cette
métrique, nommée ETX [91], ou Expected number of Transmission, représente l’espérance
sur le nombre de transmissions nécessaires afin de transmettre avec succès un message
sur le chemin annoncé. Chaque nœud entendant ces trames évalue la qualité du lien avec
l’émetteur de la trame de contrôle selon la métrique ETX. La formule utilisée dépend
de la probabilité de succès du lien, évaluée sur le trafic de contrôle et/ou de données :
ETX = P1
i=1 iP DR(1 ! PDR)i#1 = 1
PDR ou PDR (Probability Delivery Ratio) repré-
sente la probabilité de livraison sur le lien. À partir de cette métrique de lien et de la
métrique de chemin annoncée dans la trame de contrôle, chaque nœud calcule sa propre
métrique de chemin. Cette métrique représente la concaténation du chemin annoncé et du
lien permettant de joindre l’émetteur de la trame. Dans CTP, cette métrique est additive,
i.e. la métrique agrégée, issue de la concaténation du chemin et du lien, est obtenue par
addition de la métrique de lien et de la métrique de chemin.
Cette description permet d’identifier la propriété fondamentale d’un protocole à vecteur
de distance : seule une information agrégée est diffusée à l’échelle du réseau, les métriques
propres à chaque lien n’étant évaluées et utilisées que localement à un nœud. Au contraire
des protocoles à états de liens qui nécessitent N↵d informations sur les liens, un protocole à
vecteur de distance se suffit d’une métrique par chemin, soit kN informations si les chemins
sont évalués de manière unidirectionnelle ou 2kN si évalués de manière bidirectionnelle 12.
D’après ces observations, nous constatons qu’une diffusion agrégée de l’information
permet de réduire significativement le trafic de contrôle nécessaire dans le cadre d’une
application de télé-relève de compteurs. Ce constat, en accord avec les observations faites
sur les protocoles à états de liens et les conclusions tirées par le groupe de travail IETF
ROLL [83], nous incite donc à privilégier les protocoles à vecteur de distance aux protocoles
à états de liens pour une application de télé-relève de compteurs sans-fil. Afin de conclure
sur le type d’information à privilégier dans le cadre d’une application de télé-relève de
12. À l’instar du paragraphe précédent, k représente le nombre moyen de chemins utilisés par nœud
61CHAPITRE 3. ÉTAT DE L’ART
compteurs sans-fil, nous étudions maintenant la dernière famille de protocoles identifiée
précédemment : les protocoles à coordonnées géographiques.
3.2.8 Protocoles à coordonnées géographiques
Alors que les protocoles à état de lien et à vecteur de distances nécessitent une diffusion
à l’échelle du réseau des informations de topologie, les protocoles à routage géographique
se suffisent d’une information de voisinage des nœuds, typiquement diffusée sous forme de
trames de contrôles appelées hello, et de la connaissance des positions des nœuds et des
destinations. Ces connaissances sont ensuite utilisées afin de déterminer le chemin qui doit
être suivi par une trame de façon à progresser vers la destination.
Ces protocoles se divisent en trois catégories : les protocoles à coordonnées géographiques
physiques, à coordonnées géographiques relatives et à coordonnées
virtuelles.
3.2.8.1 Protocoles à coordonnées géographiques physiques
Les protocoles à coordonnées géographiques physiques [66], [63], [92] supposent que
chaque nœud connait sa position géographique, celles des nœuds voisins et de la destination
(passerelle). Dans ces conditions, chaque nœud est capable de d’évaluer la distance physique
de ses nœuds voisins à la destination et utilise cette information pour acheminer les trames
de données.
Greedy Geographic Routing Dans sa forme la plus simple, un protocole à coordonnées
géographiques physiques est dit géographique glouton (Greedy Geographic Routing
protocol) [66]. Lorsqu’un nœud reçoit une trame de données, il le relaie par l’intermédiaire
de son voisin le plus proche de la destination, comme l’illustre la Figure 3.20. Dans cet
exemple, le nœud A souhaite délivrer une trame au nœud D. A choisit parmi ces voisins
B1 ! 4 le destinataire le plus proche de la destination, ici B3. Ce processus se répète jusqu’à
la délivrance de la trame.
Figure 3.20 – Protocole Géographique Glouton
L’intérêt d’une telle méthode réside dans le peu d’information nécessaire afin de réaliser
le routage. Il suffit en effet que chaque nœud découvre son voisinage radio. Pour cela, il suffit
d’un envoi d’une trame de contrôle par nœud, soit N trames de contrôle pour construire
la topologie de routage.
62CHAPITRE 3. ÉTAT DE L’ART
GFG et LeftHandGeoPR Ce schéma de routage est cependant insuffisant pour un
usage dans les réseaux de capteurs urbains qui présentent des zones vides (void) de capteurs
: par exemple un parc ou un square. Comme le montre la Figure 3.21, l’acheminement
des données selon un tel protocole peut échouer. Dans ce nouvel exemple, le nœud A souhaite
délivrer une trame au nœud E. Le déroulement de l’algorithme glouton l’amène à
transmettre le message à B qui le transmet à son tour à C. C ne possède aucun voisin qui
ne soit plus proche que lui de la destination, l’algorithme glouton échoue donc.
Figure 3.21 – Le routage géographique glouton : échec de l’acheminement en présence de
zones non couvertes par des capteurs
Le protocole Greedy Face Greedy (GFG) [63] propose une solution à ce problème basée
sur une technique de planarisation du graphe de connectivité [93]. Lorsqu’un nœud est
plus proche de la destination que l’ensemble de ces voisins, choisit le prochain saut parmi
les liens du graphe de connectivité selon la règle de la main gauche, permettant ainsi de
contourner les zones vides.
Cette approche repose cependant sur deux hypothèses peu réalistes dans le cadre d’un
déploiement de réseau urbain de capteurs : la connaissance des positions géographiques
exactes des nœuds et d’un graphe de communication de type unit disk graph (UDG), i.e.
la portée de communication entre deux nœuds ne dépend que de la distance.
Afin de relâcher la première hypothèse, le protocole LeftHandGeoPR [93] propose de
substituer l’étape de planarisation d’un graphe par le mécanisme suivant. À chaque émission,
l’identifiant du nœud émetteur est enregistré dans l’entête de routage de la trame
en question. Sur la base de cette information, chaque nœud du chemin applique un jeu
de trois règles de routage afin contourner les zones vides de nœud. Ces trois règles : "ne
63CHAPITRE 3. ÉTAT DE L’ART
jamais envoyer une trame à un voisin à qui la trame a déjà été envoyée", "renvoyer la
trame à un voisin uniquement si c’est le seul voisin à qui le nœud n’a pas transmis cette
trame" et "s’il y a plusieurs choix de voisins à qui renvoyer une trame, la renvoyer à celui
qui l’a envoyée en dernier" réalisent un parcours en profondeur du graphe de connectivité,
permettant ainsi de découvrir un chemin jusqu’à la destination souhaitée.
3.2.8.2 Protocoles à coordonnées géographiques relatives
Les protocoles à coordonnées géographiques relatives proposent de relâcher davantage
l’hypothèse de connaissance des coordonnées géographiques physiques des nœuds. Ces protocoles,
e.g. [64], [65], [94], [95], [96], [97], proposent de déployer un nombre restreint de
nœuds ancres, dont la position géographique est connu et d’exprimer les coordonnées de
chaque nœud du réseau selon les distances relatives à chacune de ces positions de réfé-
rence. Nous observons ici que cette approche s’apparente donc à un protocole à vecteur de
distances, en particulier lorsque le seul nœud ancre est la passerelle.
De cette observation, nous déduisons que le trafic de contrôle engendré par une telle
approche est similaire en volume à une approche à vecteur de distances. Celle-ci nous
interpelle également sur le choix de l’expression de la relation de proximité entre nœuds du
réseau par l’usage de la distance euclidienne, c’est à dire la distance physique qui sépare les
nœuds. En effet, comme illustré dans les Chapitres 2 et 9 (en particulier par la Figure 9.1),
les probabilités de réalisation des liens et leurs distances respectives ne présentent qu’une
faible corrélation pour des distances supérieures à 50m. Ainsi, la distance du lien considéré
nous donne que peu d’information sur la fiabilité de celui-ci.
3.2.8.3 Protocoles à coordonnées géographiques virtuelles
Faisant ce même constat, les protocoles géographiques à coordonnées virtuelles [98], [99]
proposent de s’affranchir complètement de l’usage des coordonnées physiques des nœuds,
en leur substituant des coordonnées virtuelles. Ces coordonnées virtuelles, calculées lors
de la phase d’initialisation du réseau, sont utilisées de la même façon que les coordonnées
physiques.
3-rules Routing Le protocole 3rules-Routing [98] propose ainsi que les coordonnées des
nœuds capteurs soient initialisées à des valeurs aléatoires à l’exception de la passerelle qui
reçoit les coordonnées (0, 0). Chacun des nœuds autres que la passerelle mettent à jour leurs
coordonnées en fonction des coordonnées des voisins perçus selon la formule du barycentre.
Ces coordonnées sont alors utilisées par un protocole de routage géographique tel que décrit
dans [93].
Ici encore, nous sommes frappés par la similitude de la proposition avec les protocoles
à vecteur de distances. On constate que la seule information pertinente diffusée dans le
réseau est le couple de coordonnées de la passerelle. En effet, les coordonnées de chacun
des nœuds dépend d’une part de coordonnées choisies aléatoirement, donc n’apportant
pas d’information utile sur la topologie, et des coordonnées de la passerelle, diffusées de
proche en proche sous forme agrégée (somme de coordonnées pondérées). Nous constatons
également que les composantes du couple de coordonnées jouent un rôle symétrique dans la
formule du barycentre, i.e. x0 =
P
noeuds voisins xvoisin
nombre voisins et y0 =
P
noeuds voisins yvoisin
nombre voisins ainsi que
dans la formule d’évaluation de l’avancement vers la destination, basée sur la formule de
la distance euclidienne d = p(xnoeud ! xdestination)2 + (ynoeud ! ydestination)2. Ce constat
suggère donc qu’une unique coordonnée par nœud, e.g. un scalaire, pourrait être substituée
à un couple de coordonnées tel qu’utilisé par les protocoles à coordonnées géographiques,
64CHAPITRE 3. ÉTAT DE L’ART
auquel cas, si prouvé, un protocole à coordonnées géographiques virtuel serait une sousfamilles
des protocoles à vecteur de distance.
Compte tenu de ces observations et des caractéristiques d’un réseau de télé-relève de
compteurs gaz/eau, nous privilégions l’implémentation d’un protocole de routage à vecteur
de distances plutôt qu’un protocole de routage à coordonnées géographiques. Nous notons
en effet que les protocoles de routage à coordonnées géographiques reposent sur deux hypothèses
qui limitent l’intérêt de l’approche dans un tel scénario : la connaissance des positions
géographiques exactes des nœuds et un graphe de communication de type unit disk graph
(UDG). Nous notons également que les tentatives de relaxation de la première hypothèse
impliquent des mécanismes similaires à un protocole à vecteur de distance et constatons
que l’hypothèse de modèle de propagation ne permet pas de prendre en considération la
variabilité des conditions de propagation de l’environnement urbain.
À ce stade de l’étude, nous recommandons donc un protocole de routage à topologie
plane construite pro-activement selon un mécanisme d’évaluation des chemins à vecteur de
distances. Afin de finaliser la caractérisation du plan de données auquel doit se conformer
une implémentation suivant nos recommandations, nous proposons une discussion sur le
type de critère utilisé pour choisir les liens de la topologie.
3.2.9 Critères de sélection des éléments de la topologie
Dans la Section précédente, nous avons argumenté le choix d’une implémentation d’un
protocole à vecteur de distances plutôt qu’un protocole à état de liens ou à coordonnées
géographiques. De fait, l’information disponible à chaque nœud au moment de la construction
de la topologie consiste en une information agrégée. À l’instar du protocole GRAB [88],
cette information peut être de nature topologique agrégée, e.g. le nombre de sauts du
chemin annoncé, ou représentative de la performance agrégée des chemins, e.g. ETX [59].
Compte tenu de l’expression des exigences de Qualité de Service des applications présentées
dans le Chapitre 2, nous privilégions des critères de décision basés sur les performances des
chemins, en particulier ceux exprimées dans les mêmes termes que les exigences de Qualité
de Service, i.e. taux de livraison et délai de bout en bout. Par ailleurs nous privilégions les
métriques liées à la fiabilité des chemins, i.e. le PDR (Probability Delivery Ratio), l’ETX
et le RSSI, toutes trois présentées précédemment. Ce choix est motivé par deux résultats.
Nous montrons tout d’abord, dans le Chapitre 6, que le dimensionnement du cycle d’activité
suffit à assurer le respect des exigences en termes de délai de livraison. Par ailleurs,
dans l’hypothèse où les exigences de délai de bout en bout seraient durcies, nous montrons
dans le Chapitre 9 qu’il est possible de répondre conjointement à des exigences de taux de
livraison et de délai en adoptant un processus d’acheminement opportuniste sur la base
d’une topologie construite de façon à répondre à des exigences de fiabilité de liens.
Afin de conclure la description des différentes familles de protocoles proposées dans
notre taxonomie des protocoles de routage, nous présentons maintenant une classification
des protocoles de routage selon la nature du mécanisme de décision utilisé dans le plan de
données. Nous distinguons ainsi les protocoles à décision de routage par l’émetteur et
les protocoles à décision de routage par le récepteur.
3.2.10 Protocoles à décision de routage par l’émetteur
Ces protocoles, e.g. [3], [59], [60], constituent la grande majorité des protocoles de
routage proposés pour réseaux de capteurs sans-fil. À l’instar du protocole RPL [3], pré-
cédemment présenté, le nœud détenteur d’une trame de données décide et spécifie dans
l’entête de la trame l’identité du nœud de la topologie de routage en charge de la suite de
65CHAPITRE 3. ÉTAT DE L’ART
l’acheminement. Cette approche suppose donc que les nœuds ainsi désignés sont en mesure
de recevoir et d’acheminer la trame jusqu’à la destination. En conséquence, et comme nous
le verrons dans le Chapitre 9, un tel protocole ne peut exploiter que les liens les plus fiables,
sous-exploitant de fait la connectivité offerte par la topologie radio. Néanmoins, une telle
approche présente une implémentation simple et s’avère un standard de fait compte tenu
du nombre d’implémentation l’ayant adoptée. Pour ces raisons, le protocole de référence
que nous avons choisi pour nos études appartient à cette catégorie.
3.2.11 Protocoles à décision de routage par le récepteur
Au contraire des protocoles à décision de routage par l’émetteur, les protocoles à dé-
cision de routage par le récepteur délèguent la décision de prise en charge des trames aux
nœuds récepteurs. Le protocole ExOR [67], présenté ci-dessous, en est un exemple repré-
sentatif.
ExOR Le protocole Extremely Opportunistic Routing (ExOR) [67] propose en effet que
chaque source mémorise une liste de nœuds intermédiaires permettant d’acheminer leurs
trames jusqu’à la destination. Cette liste, ordonnée selon la proximité à la destination
est incluse dans les entêtes de routage des trame de données, transmises sur le médium
radio avec une adresse MAC broadcast. À la réception d’une trame de données, un nœud
détermine s’il est inclus dans cette liste. Le cas échéant, il programme une retransmission
de la trame selon un ordonnancement dicté par l’ordre des entrées dans la liste. Si la même
trame est retransmise avant la date planifiée, il abandonne sa transmission.
Ce schéma de communication est appelé opportuniste en raison de l’ordonnancement
des transmissions des nœuds selon leur ordre de rediffusion. Il favorise en effet une progression
rapide de l’acheminement dans la topologie de routage, les nœuds les plus proches
de la destination ayant une priorité de retransmission plus grande que les nœuds les plus
lointains. Il améliore également le taux de livraison des trames de données. Au contraire des
protocoles à décision de routage par l’émetteur, il exploite simultanément plusieurs liens
de la topologie de routage, augmentant ainsi la probabilité qu’au moins l’un des nœuds de
la topologie de routage reçoive la trame en question.
Cette approche présente néanmoins une contrepartie qui en limite l’adoption pour un
usage dans un réseau de capteurs : la duplication de paquets. En effet, par cette approche,
l’ensemble des nœuds présents dans la liste d’acheminement est susceptible de
retransmettre une nouvelle copie de la dite trame. Dans l’exemple d’ExOR, il suffit pour
cela que les nœuds de la liste forment deux ensembles disjoints, i.e. il existe un nœud de
l’ensemble qui n’entend aucun autre des autres nœuds de la liste, pour générer des paquets
dupliqués et donc gaspiller des ressources de communication et l’énergie des nœuds du ré-
seau. Nous montrons en revanche dans le Chapitre 9 que ce problème peut être surmonté et
qu’une telle approche permet une amélioration significative du taux de livraison, du délai
de bout en bout et de la consommation d’énergie. Pour cette raison, nous présentons une
étude approfondie de ce type de protocoles dans le Chapitre 9.
3.2.12 Synthèse sur les protocoles de routage pour réseaux urbains de
capteurs sans-fil
Nous venons de proposer une taxonomie des protocoles de routage classifiant les protocoles
de routage selon les approches utilisées pour construire la topologie de routage et
choisir le ou les nœuds permettant l’acheminement des trames de données. Nous avons
66CHAPITRE 3. ÉTAT DE L’ART
ensuite décrit chacune des familles de protocoles identifiées et argumenté le choix des caractéristiques
souhaitées d’un protocole de routage permettant de répondre aux exigences
d’une application de télé-relève de compteurs sans-fil en milieu urbain.
D’après cette étude, nous privilégions ainsi les protocoles de routage dont le plan de
contrôle présente les propriétés suivantes : topologie plane, construite pro-activement par
diffusion selon un algorithme à vecteur de distances sur la base d’un critère de performance
basé sur la fiabilité des chemins à la passerelle. Nous privilégions par ailleurs un plan de
données dont les décisions d’acheminement dans la topologie sont réalisées par le récepteur.
Afin de conclure cet état de l’art des protocoles de communication pour réseaux urbains
de capteurs sans-fil, nous rappelons les différentes architectures de réseau de collecte et
synthétisons notre analyse sous forme de recommandations selon l’architecture considérée.
3.3 Synthèse de l’état de l’art
Comme décrit dans le Chapitre 1, les réseaux de capteurs sans-fil urbains présentent la
particularité de se décliner en deux architectures selon la technologie radio employée : les
réseaux de télé-relève à radio longue portée et les réseaux multi-sauts. Nous synthétisons
donc ici cette étude de l’état de l’art au regard de ces deux architectures et de leurs
implications sur les protocoles de contrôle d’accès au médium et de routage.
3.3.1 Protocoles pour réseaux de télé-relève à radio longue portée
D’après le Chapitre 1, les réseaux de télé-relève à radio longue portée se distinguent
par leur topologie physique en étoile. Le but d’un tel choix d’architecture est, entre autres,
de limiter le trafic de contrôle, de simplifier l’implémentation de pile protocolaire et donc
de s’affranchir de l’usage d’un protocole de routage. En contrepartie, les communications
de capteur à capteur ne sont garanties que lors d’une communication avec la passerelle. et
les mécanismes d’évitement de collision à base de détection de transmission par contention
sont inopérants. Compte tenu de ces propriétés, les protocoles d’accès à base de contention
ou de signalisation par l’émetteur sont à proscrire. Les protocoles à accès direct, dérivés
d’ALOHA, sont en revanche particulièrement indiqués. En effet, dans ce type de protocoles,
la majeure partie du coût énergétique dédié à la communication est supportée par
le récepteur, dans notre scénario la passerelle, et l’émetteur se contente de transmettre ses
trames de données et éventuellement de se synchroniser sur l’horloge de la passerelle. Nous
fournissons l’étude de ces protocoles et la comparaison de leurs performances en terme de
taux de livraison et de consommation d’énergie dans le Chapitre 6. Enfin nous proposons
un protocole de relayage simple permettant d’assurer la connectivé de l’ensemble des nœuds
de la topologie dans le Chapitre 8.
3.3.2 Protocoles pour réseaux de télé-relève multi-sauts
Les réseaux multi-sauts de capteurs sans-fil urbains se basent quant à eux sur une coopération
des nœuds capteurs pour acheminer les trames de données vers leur destinataire.
Ce choix permet d’opérer le réseau sur des radios à plus haut débit mais également à plus
courte portée et implique l’usage d’un protocole de routage.
3.3.2.1 Protocoles de contrôle d’accès au médium
Dans cette configuration, les mécanismes d’arbitrage à l’accès à base de contention
semblent être de bons candidats pour une implémentation de protocole de routage. Afin
67CHAPITRE 3. ÉTAT DE L’ART
de départager les protocoles d’accès synchrones et asynchrones en fonction du volume du
trafic à supporter, nous proposons une étude du coût de synchronisation dans le Chapitre
4. Nous proposons par la suite, dans le Chapitre 5, une étude des mécanismes de contention
afin d’identifier le/s algorithmes répondant aux exigences de Qualité de Service et de durée
de vie d’une application de télé-relève de compteurs. Enfin, sur la base d’une topologie
de routage telle qu’obtenue par un protocole à vecteur de distances, nous argumentons le
choix du type d’architecture en fonction du volume de trafic supporté dans le Chapitre 6.
Nous proposons par ailleurs un protocole de contrôle d’accès basé sur les recommandations
issue de l’analyse de l’état de l’art et des études proposés dans le Chapitre 7.
3.3.2.2 Protocoles de routage
Suite à notre étude des protocoles de routage pour l’architecture multi-sauts de télé-
relève de compteurs, nous recommandons l’usage d’un protocole de routage à vecteur de
distance basé sur une topologie de routage plane, construite pro-activement et utilisant
un critère de performance agrégé. Nous identifions également le potentiel de l’approche de
routage opportuniste afin de répondre aux exigences de livraison des applications cibles.
Cette piste est développée dans le Chapitre 9.
68Deuxième partie
Une étude analytique sur le choix et
le dimensionnement de l’architecture
et des protocoles pour réseaux
urbains de capteurs sans-fil
69CHAPITRE
4 Protocole d’accès au mé-
dium radio et dimensionnement
: accès synchrone ou
asynchrone ?
4.1 Introduction
Dans le Chapitre 3, nous avons identifié deux familles de protocoles de contrôle d’accès
au médium susceptibles de répondre aux exigences d’un réseau multi-sauts de télé-relève
de compteurs sans-fil. Pour de faibles trafics, nous privilégions l’usage d’un protocole de
contrôle d’accès au médium par contention et synchronisation réactive. Pour les trafics
forts, nous conseillons l’usage d’un protocole de contrôle d’accès au médium par contention
et synchronisation pro-active. Nous dérivons maintenant le coût énergétique induit par ces
deux méthodes de synchronisation et en dérivons les domaines d’application de chacune en
fonction du trafic applicatif supporté par le réseau.
Nous adoptons pour cela la démarche suivante. Nous expliquons dans un premier temps
la dépendance d’une communication entre nœuds capteurs à la synchronisation de leurs
horloges. Nous présentons ensuite une classification des différents mécanismes canoniques
de synchronisation et présentons les protocoles de la littérature selon la classification retenue.
Nous étudions l’adéquation de chacune des familles présentées à l’architecture du
réseau, longue portée ou multi-sauts. De cette étude, nous dérivons un protocole de synchronisation
minimisant le temps d’écoute des nœuds synchronisés et étudions son optimalité.
Une fois ce modèle exposé, nous discutons son implémentation et comparons la consommation
d’un protocole de contrôle d’accès synchrone implémentant ce modèle à un protocole
de contrôle d’accès asynchrone idéal. Enfin, nous déduisons de ces résultats les domaines
d’intérêt de chaque méthode d’accès, synchrone et asynchrone.
4.2 Dépendance des communications à la synchronisation
Cette section s’attache à identifier la dépendance de l’établissement d’une transmission
à la synchronisation des horloges des nœuds et discute les méthodes canoniques de
synchronisation d’horloges dans un système distribué.
Les nœuds constitutifs d’un réseau de capteurs exécutent un ensemble de tâches élé-
mentaires parmi lesquelles : "alimenter le circuit radio", "basculer la radio en état de
transmission", "transmettre une trame", "éteindre le circuit radio", etc. à des instants
prédéfinis dans le temps. La spécification des actions réalisées, leurs enchaînements sont
définis par les protocoles de communication retenus. Ces protocoles de communication reposent
sur la réalisation concurrente, séquentielle voire simultanée de tâches par les nœuds
en communication. L’orchestration de ces tâches réparties sur différents nœuds nécessite
et présuppose une référence de temps commune entre nœuds en communication.
La notion de temps interne à un nœud capteur est fournie par un composant électronique,
l’oscillateur à cristal de quartz, qui fournit une pulsation à une fréquence de
référence. Un compteur, bien souvent un registre, est incrémenté à une fréquence diviseur
71CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
de la fréquence de référence et fait office de date courante pour le nœud capteur. Même
calibré, un oscillateur à cristal de quartz exhibe une dérive de sa fréquence de résonance au
cours du temps. Cette dérive peut être issue d’une variation de sa géométrie, par exemple
lorsque sa température fluctue ou par vieillissement. Cette dérive, couramment exprimée
en ppm (parties par millions) se situe entre 5 ppm et 100 ppm selon la qualité du quartz.
De fait, les références de temps des nœuds capteurs divergent et entraînent un décalage
entre un instant exprimé dans la base de temps d’un nœud et celle d’un autre. Ce décalage
peut entraîner un fonctionnement erratique des protocoles de communication, comme
illustré par la Figure 4.1. Dans cet exemple, les nœuds N1 et N2 se sont préalablement accordés
sur une transmission de N1 vers N2 à l’instant t. Cependant cet instant t est défini
localement dans chacune des bases de temps de N1 : t1 et N2 : t2, lesquelles présentent
un décalage en raison de la dérive en fréquence des oscillateurs à cristal de quartz. Du fait
de ce décalage, N1 transmet alors que N2 n’a pas encore activé le mode de réception de
sa radio et la transmissions échoue.
Figure 4.1 – Exemple de fonctionnement erratique d’un protocole de communication en
présence d’un décalage de la base de temps des nœuds.
Comme l’illustre la Figure 4.2, deux solutions canoniques existent pour pallier à un
décalage des horloges : augmenter la durée de transmission par l’ajout d’un préambule ou
allonger la période d’écoute.
Préambule avant transmission La première solution consiste à précéder l’émission de
la trame de données par un signal d’annonce de l’émission : à la réception de ce signal, le
nœud destinataire prolonge son écoute jusqu’à la réception de la donnée. Afin de garantir la
réception de la trame de données, ce préambule doit garantir la couverture de l’intégralité
la période de temps pendant laquelle le nœud récepteur peut se réveiller. Soit 2D la dérive
en temps maximale (en valeur absolue) entre les horloges des nœuds capteurs, le préambule
doit être de taille minimale 2D et centré sur l’instant t1.
Allongement de la période d’écoute La seconde solution consiste à augmenter le
temps d’écoute du nœud récepteur, de façon à ce qu’il couvre intégralement la période
pendant laquelle la transmission peut avoir lieu. Similairement à la première solution, si
2D est la dérive maximale en valeur absolue entre les horloges des nœuds capteurs, la
période doit être augmentée d’une durée 2D couvrant D unités de temps avant t2 et D
unités de temps après la fin de la transmission telle que prévue par le récepteur.
Lien avec les protocoles d’accès asynchrones Nous notons ici que ces deux méthodes
sont en fait à l’origine des deux mécanismes canoniques de contrôle d’accès asynchrone. Les
72CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
Figure 4.2 – Solutions palliatives au décalage d’horloges.
protocoles à échantillonnage de préambule [25], [44] font en effet l’usage d’un ou d’une succession
de préambules dont la durée est égale ou supérieure à la période du cycle d’activité
radio. Cette durée est ici dictée par le décalage en temps maximum entre deux nœuds capteurs,
à savoir la période du cycle d’activité. Ces protocoles s’apparentent donc à la solution
1 décrite par la Fig.4.2. Les protocoles initiés par le récepteur, e.g. [38], utilisent quant à
eux la solution 2 : les émetteurs écoutent le medium en attente d’une trame annonçant la
disponibilité du destinataire.
Synchronisation pro-active des horloges et consommation d’énergie Ces solutions
palliatives à l’existence d’un décalage d’horloges nécessitent de la part des nœuds
capteurs d’augmenter la durée d’activité de leur radio et entraînent de fait une surconsommation
d’énergie. Il convient donc d’identifier les mécanismes de synchronisation
d’horloges pour réseaux de capteurs et d’estimer leur coût énergétique.
Afin de répondre à cet objectif nous présentons une taxonomie des mécanismes de
synchronisation, illustrée par des exemples de protocoles. Nous étudions ensuite leur applicabilité
dans le cadre d’un réseau de capteurs urbains. À partir de cette étude, nous
identifions le mécanisme de synchronisation optimal vis à vis de la consommation d’énergie
pour un réseau à radio longue portée et proposons une extension du schéma aux réseaux
multi-sauts.
73CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
4.3 Taxonomie des protocoles de synchronisation d’horloge
pour réseaux de capteurs
À l’instar des états de l’art sur les protocoles de contrôle d’accès au médium et de
routage, nous adoptons pour cette taxonomie une démarche de classification des modèles
de synchronisation basée sur les rôles attribués aux nœuds du réseau et à la nature des
échanges d’information.
4.3.1 Modèles de synchronisation distribué et hiérarchique
Les protocoles de synchronisation d’horloges se divisent en deux catégories selon leur
manière de propager l’information permettant la synchronisation des nœuds. Nous distinguons
ainsi les protocoles distribués et les protocoles hiérarchisés.
Synchronisation distribué Dans le schéma de synchronisation distribué [23], [35], [100],
[101], [102], [103], [104], les nœuds capteurs échangent les dates de leurs horloges de manière
ad-hoc ou par diffusion tel qu’illustré par la Figure 4.3. Cette information est ensuite utilisée
en entrée d’un algorithme de consensus permettant aux nœuds de calculer une référence
de temps qui converge vers une date commune après plusieurs itérations.
Les propriétés fondamentales d’un tel protocole sont :
– la synchronisation temporelle des nœuds du réseau ne dépend d’aucune référence
externe de temps.
– La date vers laquelle converge l’algorithme de consensus peut différer de manière
significative d’une horloge de référence telle que celle fournie par un serveur NTP
(Network Time Protocol), il n’y a donc pas de garantie sur la valeur de la date.
Figure 4.3 – Modèle de synchronisation distribuée : les nœuds capteurs échangent la date
de leur horloge et exécute un algorithme de consensus leur permettant de s’accorder sur
une date commune.
Synchronisation hiérarchique Dans le schéma de synchronisation hiérarchique [105],
[106], [107] une ou plusieurs horloges de références sont supposées disponibles dans le réseau.
Les nœuds en possession de ces horloges de référence diffusent la date de référence à leurs
voisins qui la propagent à leur tour.
Les propriétés fondamentales d’un tel schéma sont :
74CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
– Certains nœuds du réseau sont supposés avoir accès à une horloge de référence, par
exemple un capteur équipé d’un récepteur GPS, une passerelle connectée à un serveur
NTP, etc.
– Une hiérarchie des dispositifs est supposée concernant la précision de l’horloge de
référence.
– Les horloges des nœuds capteurs convergent vers la date annoncée par les nœuds de
référence.
Figure 4.4 – Modèle de synchronisation hiérarchique, exemple : (1) un serveur NTP fournit
une horloge de référence aux passerelles du réseau. (2) Les passerelles diffusent la date de
référence aux nœuds du réseau. (3) Les nœuds capteurs synchronisent leur horloge sur la
date annoncée par la passerelle à laquelle ils sont rattachés.
4.3.2 Modèles de synchronisation unidirectionel et bidirectionel
Les modèles de synchronisation peuvent également être classifiés selon la nature des
échanges entre nœuds capteurs : échange unidirectionnel ou bidirectionnel.
Dans le modèle bidirectionnel [100], [101], [102], les nœuds capteurs effectuent des transactions
en deux étapes. De telles transactions permettent d’estimer les délais de propagation
et rendent possibles les mécanismes de coopération tels qu’utilisés dans les algorithmes
à consensus, au prix d’une consommation d’énergie plus importante que le modèle unidirectionnel.
4.3.3 Modèles de synchronisation locale et globale
Finalement, les modèles de synchronisation peuvent être classifiés selon les contraintes
sur l’intervalle de confiance et la précision des dates au sein du réseau. Dans le modèle de
synchronisation global [105], [106], [107], l’objectif est de synchroniser l’intégralité du réseau
sur une date de référence moyennant un intervalle de confiance commun pour l’ensemble
du réseau. Dans le modèle de synchronisation locale, cette contrainte est relâchée et ne
s’applique que pour un voisinage radio.
75CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
4.4 Adéquation des modèles de synchronisation aux réseaux
de capteurs urbains
L’applicabilité des différents schémas de synchronisation dépend de la nature du réseau
et des applications associées. Les protocoles hiérarchiques sont particulièrement indiqués
lorsque le réseau est connecté à une infrastructure fournissant une horloge de référence ou
lorsqu’un marquage temporel des trames de données est nécessaire. En revanche, lorsque
le réseau est détaché de toute infrastructure et qu’aucune horloge de référence n’est disponible,
le modèle de synchronisation distribuée est plus pertinent. Tel que discuté dans
la section 4.3.2, les schémas de synchronisation bi-directionnels permettent quant à eux
d’estimer le temps de vol entre deux nœuds capteurs et permettent, dans l’absolu, une
plus grande précision de synchronisation. Cette précision est cependant obtenue au prix
d’un protocole plus complexe et d’un coût énergétique plus élevé. Enfin, les schémas de
synchronisation locale et globale ne diffèrent que par la contrainte sur la précision de la
synchronisation. Les schémas de synchronisation locale garantissent une précision donnée
dans un voisinage radio alors que les schémas de synchronisation globale garantissent une
précision de synchronisation à l’échelle du réseau. Afin de caractériser la nature du mé-
canisme de synchronisation à privilégier pour une application de télé-relève de compteurs
en milieu urbain, nous identifions maintenant les principales caractéristiques des deux architectures
retenues pour une application de télé-relève de compteurs en milieu urbain et
étudions leur implication sur le choix d’un protocole de synchronisation.
Réseau de télé-relève à radio longue portée Dans un réseau de télé-relève à radio
longue portée, comme décrit dans le Chapitre 2, les nœuds capteurs sont reliés directement
à la passerelle par l’usage de radio longue portée et bas débit. Les nœuds capteurs transmettent
donc leurs trames de données directement à la passerelle. On suppose dans ces
déploiements qu’un signal transmis par la passerelle est entendu de l’ensemble des nœuds
capteurs déployés et que celle-ci est connectée à une horloge de référence fiable, par exemple
un serveur NTP. La passerelle est donc supposée fournir une source de temps fiable sur
laquelle se synchronisent les nœuds capteurs. Cette description nous incite donc à privilégier
un modèle de synchronisation hiérarchique simple dans lequel la passerelle émet un
signal de synchronisation sur lequel chaque nœud du réseau se synchronise. Par la suite,
nous référons à ce scénario sous l’appellation synchronisation Maître-Esclave. En raison
des portées de communication considérées dans cette approche, i.e. quelques dizaines de
kilomètres et des ordres de grandeurs temporelles des exigences de Qualité de Service pré-
sentées dans le Chapitre 2, i.e. exprimés en minutes voire en heures, nous privilégions un
modèle de synchronisation uni-directionnel, moins énergivore.
Réseau de télé-relève radio multi-sauts Nous considérons maintenant les caractéristiques
d’un réseau de télé-relève multi-sauts tel que décrit dans le Chapitre 2. Dans ce type
d’architecture, les relevés de compteurs sont acheminés à la passerelle du réseau de télé-
relève. Cet acheminement peut nécessiter un ou plusieurs nœuds intermédiaires. D’après
le Chapitre 3, la topologie de routage retenue est issue d’une construction pro-active par
vecteur de distances, et plus particulièrement d’un graphe acyclique dirigé dont la racine
est la passerelle. À l’instar du réseau de télé-relève à radio longue portée, les passerelles
sont supposées fournir une source de temps de référence fiable. Nous choisissons pour ces
raisons un schéma de synchronisation hiérarchique basé sur la topologie logique que nous
dérivons du schéma de synchronisation Maître-Esclave.
Nous présentons maintenant le schéma de synchronisation Maître-Esclave et le coût
76CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
énergétique associé. Nous dérivons de cette étude le coût minimum du mécanisme de synchronisation
pour un décalage et une précision donnée.
4.5 Synchronisation Maître-Esclave
Dans le schéma de synchronisation Maître-Esclave (Fig. 4.5), le dispositif maître, e.g. la
passerelle, diffuse une trame de synchronisation. Cette trame de synchronisation contient un
jalon temporel sur lequel les dispositifs esclaves (nœuds capteurs) ajustent leurs horloges.
Figure 4.5 – Le schéma de synchronisation Maître-Esclave
En raison de la dérive des oscillateurs à quartz des nœuds capteurs, cette trame de
synchronisation est répétée périodiquement afin de borner le décalage entre la référence de
temps du maître et celles des esclaves. Sans perte de généralité, nous spécifions ici que la
trame de synchronisation est envoyée selon une période multiple du cycle d’activité de la
radio des nœuds capteurs, comme indiqué sur la figure 4.6.
Figure 4.6 – Envoi périodique de la trame de synchronisation
Le format de la trame (Fig.4.7) de synchronisation est dicté par l’exigence de réception
de la trame de synchronisation par les nœuds esclaves. Conformément à la section 4.2, deux
méthodes canoniques permettent de garantir la réception de la trame de synchronisation :
l’élongation de la transmission par l’usage d’un préambule ou l’élongation de la période
d’écoute. Par la première méthode, la consommation énergétique permettant de pallier au
décalage des horloges est supportée par le nœud maître. Au contraire, la deuxième méthode
implique une dépense énergétique supportée par chaque esclave. Dans une architecture à
77CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
radio longue portée, comme dans une architecture multi-sauts, on compte jusqu’à plusieurs
milliers de compteurs par passerelle, nous choisissons donc de faire supporter le coût énergétique
de la synchronisation par la passerelle dans le cas de l’architecture radio longue
portée et par la passerelle et les nœuds participant à l’acheminement des données dans
l’architecture multi-sauts. Nous choisissons donc la première méthode, i.e. l’usage d’un
préambule. À la suite de ce préambule, nous concaténons la date courante exprimée à la
seconde près depuis l’epoch UNIX [108] sous forme d’un entier 32bits.
Figure 4.7 – Format de la trame de synchronisation
4.5.1 Dimensionnement du préambule et consommation d’énergie
Nous étudions maintenant le dimensionnement du préambule en fonction des caracté-
ristiques des oscillateurs à quartz des nœuds capteurs et de la tolérance sur le décalage
entre horloges. Nous présentons dans un premier temps l’approche triviale, telle qu’utilisée
par les protocoles de la littérature, e.g. [23] et exhibons le coût énergétique associé.
Nous présentons ensuite notre protocole de synchronisation et prouvons son optimalité.
Pour cela, nous formalisons le schéma de synchronisation Maître-Esclave comme suit. Les
notations sont synthétisées dans le Tableau 4.1.
Figure 4.8 – Mécanisme de synchronisation trivial
78CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
Comme illustré sur la Figure 4.8, le nœud maître émet périodiquement une trame de
synchronisation préfixée d’un préambule de durée Tpreambule, cette période étant notée
Tresync. Les nœuds esclaves 1..n programment un réveil à la date tref . En raison de la
dérive de leur horloge, ils se réveillent à la date effective t1..n. À leur réveil, ils basculent la
radio en réception, détecte le préambule et reçoivent la trame de données qui contient la
date courante. La fin de la réception est ensuite utilisée comme jalon temporel et la date
correspondante est définie à la valeur de la date annoncée par la trame de synchronisation.
Dans la suite de cette étude, nous supposons que la dérive de l’oscillateur à quartz de la
passerelle est négligeable en comparaison à celle des nœuds capteurs. Nous supposons par
ailleurs que cette dérive des nœuds capteurs est bornée, comprise entre !dmax et +dmax
et qu’elle suit une loi normale. Les puissances dissipées respectivement par le circuit radio
en émission et en réception sont notées Ptx et Prx.
notation signification
dmax dérive temporelle maximale en ppm d’une horloge d’un nœud esclave
Tresync période de resynchronisation des nœuds esclaves
Dmax décalage temporel maximal sachant dmax et Tresync
psync pas de quantification choisi pour exprimer le décalage temporel.
Tpreambule durée du préambule
Tdata durée nécessaire pour émettre la date
Ts durée d’émission d’un symbole par la radio
Ptx, Prx
puissance dissipée par le circuit radio en
transmission et réception respectivement
Cmaitre, Cesclave
consommation d’énergie du nœud maître et consommation
d’énergie moyenne d’un nœud esclave respectivement
m2, m4
taille du registre à décalage linéaire utilisé
pour construire le préambule de synchronisation
pour un alphabet de modulation de taille 2 et 4 respectivement
Sref séquence à longueur maximale utilisée pour construire le préambule
Srec
fragment du préambule reçu par un nœud esclave quelconque
(taille en bits : m)
" intercorrélation de Srec par Sref
D valeur du décalage entre l’horloge du nœud maître
et du nœud esclave exprimée en temps bit
Table 4.1 – Notations retenues pour l’étude du dimensionnement du préambule de la
trame de synchronisation
Compte tenu de ce scénario, la consommation du maître correspond à l’envoi du pré-
ambule de synchronisation et de la date. La longueur du préambule est égale à deux fois
le décalage potentiel maximum entre le temps de référence du nœud maître et celui d’un
nœud esclave. On a donc :
Tpreambule = 2Dmax = 2dmaxTresync
La consommation du nœud maître est donc :
Cmaitre = (2dmaxTresync + Tdata)Ptx
La consommation du nœud esclave correspond quant à elle à l’écoute partielle du pré-
ambule et à la réception de la trame de données. En raison de la symétrie de la loi de
79CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
distribution par rapport à 0, le temps d’écoute moyen du préambule correspond à la moitié
de sa longueur. La consommation du nœud esclave est donc :
Cesclave = (dmaxTresync + Tdata)Prx
On constate dans les deux cas que la consommation est une fonction affine de la période de
resynchronisation. En supposant un réseau de capteurs sans-fil multi-sauts tel que décrit
dans le Chapitre 2 et une dérive de 30 ppm, on obtient les équations suivantes :
Cmaitre = 3.10#3Tresync + 8.10#2mJ
Cesclave = 1, 5.10#3Tresync + 8.10#2mJ
De ces deux équations, nous déduisons un coût asymptotique minimum de la synchronisation
d’environ 0.015 mW pour un nœud esclave. D’après le Chapitre 2, cette valeur
correspond à environ un dixième de la puissance moyenne maximale autorisée par l’exigence
de durée de vie du réseau de 15 ans. Nous pensons par ailleurs que ce constat est l’une
des motivations à l’origine du grand nombre de protocoles de contrôle d’accès asynchrones
présents dans l’état de l’art.
En raison de la similarité des méthodes canoniques de synchronisation et des mécanismes
de contrôle d’accès synchrone, nous nous interrogeons également sur la possibilité
d’optimiser le coût énergétique de ce modèle en employant des mécanismes similaires à
ceux décrits dans l’état de l’art, en particulier l’usage d’une séquence de micro-préambules
tel que proposé par MFP [44]. La section suivante est le fruit de cette réflexion.
4.6 Optimisation du coût énergétique de la synchronisation
selon le modèle maître-esclave
La démarche que nous adoptons afin d’optimiser le coût énergétique de la synchronisation
selon le modèle maître-esclave est la suivante. Nous constatons dans un premier temps
que la synchronisation des nœuds esclaves sur l’horloge du nœud maître comporte deux
étapes : la transmission du préambule qui a pour but d’informer les nœuds esclaves du
temps restant avant que les données de synchronisation ne soient transmises et la réception
des donnés de synchronisation qui permet d’associer à cet instant une valeur commune à
l’ensemble des nœuds esclaves.
Fonction et optimisation du préambule Dans sa forme la plus simple, nous constatons
en particulier qu’en plus de signaler la transmission des données, le préambule contient
une information implicite sur le temps restant avant envoi de la date. Lorsqu’un nœud esclave
identifie le préambule, il apprend en effet que la date va être transmise dans les
Tpreambule unités de temps à venir. En somme, le rôle formalisé du préambule est de renseigner
le nœud esclave du décalage existant entre son horloge et celle du nœud maître.
Optimalement, lorsqu’un nœud esclave se réveille afin de synchroniser son horloge, il
ne reçoit que l’information nécessaire et suffisante pour déduire la valeur du décalage. Soit
un décalage maximum Dmax et un pas de quantification psync, le temps passé à recevoir
cette information correspond à la durée nécessaire pour recevoir un mot de I bits, I étant
donné par la formule :
I = dlog2(
2Dmax
psync
)e (4.1)
Ici, I représente donc le nombre de bits d’information utiles à la synchronisation des nœuds
esclaves. Ainsi, optimiser le coût énergétique de la synchronisation selon le modèle maître
80CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
esclave est équivalent à assurer que tout fragment de taille I bits contienne l’information
de la durée résiduelle de préambule.
Fonction et optimisation de la date courante La date courante a pour objectif
d’associer une date de référence à l’instant de fin de transmission de la trame de synchronisation.
Elle permet ainsi à un nœud esclave sans référence préalable d’en obtenir une.
Dans l’hypothèse qu’un nœud a déjà obtenu cette référence, la réception de l’information
de synchronisation est donc optionnelle. Elle peut en effet être déduite de la date antérieure
connue et de la période de resynchronisation.
4.6.1 Construction du préambule de synchronisation optimal
L’équation 4.1 garantit un coût énergétique optimal du modèle si et seulement tout
fragment de taille I bits du préambule permet de déduire le temps restant avant la fin du
préambule. Nous constatons que cet énoncé admet un corollaire : le coût énergétique du
modèle est optimal si et seulement si tout fragment de taille I bits du préambule apparaît de
manière unique dans le préambule et que cette propriété est caractéristique des séquences
à longueur maximale générées par un registre à décalage linéaire de taille m = I. Une
telle séquence, on parle de m-sequence, possède en effet les caractéristiques suivantes : la
séquence est périodique de période 2m ! 1 et toute sous-séquence de taille m
n’apparaît qu’une unique fois dans une période.
Nous proposons donc de construire le préambule de synchronisation sur la base d’une
telle séquence. Nous rappelons pour cela la contrainte à laquelle est soumis le préambule :
celui-ci doit couvrir un intervalle de 2Dmax unités de temps, et le critère d’optimalité :
chaque mot de I bits doit être unique dans la séquence.
En premier lieu, nous déterminons la taille de la m-sequence à utiliser. Soit M la taille
de l’alphabet de la modulation utilisée, la contrainte de couverture des 2Dmax unités de
temps implique l’inéquation suivante :
d 2m ! 1
log2(M)
eTs & 2Dmax
d 2m ! 1
log2(M)
e & 2Dmax
Ts
où Ts est le temps symbole du circuit radio considéré.
En choisissant comme pas de quantification en temps la durée d’un symbole radio, i.e.
psync = Ts on doit vérifier qu’il est possible de coder l’ensemble des décalages en temps
sachant une taille de séquence m :
m & I
m & dlog2(
2Dmax
Ts
)e
Conformément au Chapitre 2, si l’on considère des modulations pour lesquelles l’alphabet
M est de taille 2 (BPSK) ou 4 (QPSK et GFSK), on obtient les équations suivantes.
Pour M = 2 :
2m ! 1 &
2Dmax
Ts
m & dlog2(
2Dmax
Ts
+ 1)e
81CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
et on pose :
m2 = dlog2(
2Dmax
Ts
+ 1)e (4.2)
Pour M = 4 :
d2m#1 ! 1
2
e & 2Dmax
Ts
2m#1 &
2Dmax
Ts
m & dlog2(
2Dmax
Ts
)e + 1
et on pose :
m4 = dlog2(
2Dmax
Ts
)e + 1 (4.3)
Les valeurs m2 et m4 permettent ainsi la construction d’une séquence à longueur maximale
couvrant l’intervalle des décalages. On constate par ailleurs les propriétés remarquables
suivantes :
I m2 I + 1 (4.4)
m4 = I + 1 (4.5)
Ces propriétés démontrent la quasi-optimalité d’un préambule basé sur des séquences
à longueur maximales telles que définies. En effet, un nœud esclave peut se contenter de
recevoir respectivementm2 et m4 bits de la séquence pour déduire le décalage d’horloge ce
qui est la valeur optimale à un bit près.
4.6.2 Construction de la date optimale
Afin d’optimiser la consommation énergétique, nous proposons que la réception de la
date soit optionnelle pour les nœuds ayant déjà une référence de temps à jour (et ajustée
par la réception du préambule). De fait, tout nœud esclave ayant déjà été synchronisé se
contentera de la réception d’un fragment du préambule.
4.6.3 Implémentation du modèle quasi-optimal
Nous venons de présenter la composition d’un préambule permettant une synchronisation
des nœuds esclaves après l’écoute d’un nombre de bits m. Nous présentons ici
l’algorithme permettant de calculer la valeur du décalage à partir de la réception de ces m
bits.
L’algorithme de calcul du décalage se base sur l’identification de la position du fragment
reçu dans le préambule. À cette fin, les nœuds esclaves calculent la corrélation croisée du
fragment reçu Srec à la sortie de la chaîne de réception (après démodulation et demapping)
avec la séquence de référence supposée connue Sref . La corrélation croisée de ces séquences
82CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
binaires admet l’expression suivante 1 :
"(⌧ ) =
argmin(|S
Xrec|,|Sref |#⌧)
i=0
(!1)(Srec(i)+Sref (i+⌧)) (4.7)
En l’absence d’erreur sur le signal reçu, le signal corrélé " admet un maximum pour :
⌧ = d
2m ! 1
2 e + D
En présence d’un décalage 2, on déduit la valeur de D en temps bits par la formule :
D = ⌧ ! d2m ! 1
2 e (4.8)
4.6.4 Adaptation du modèle en présence de bruit et d’interférence
Nous avons considéré jusqu’à maintenant une réception sans erreur des fragments de
préambule. En présence de bruit et d’interférence, le fragment que reçoit un nœud esclave
peut être erroné et mener à une erreur sur l’estimation du décalage.
Afin de pallier à l’apparition de ces erreurs, nous proposons d’étendre la période d’écoute
du nœud esclave de façon à augmenter la taille du fragment reçu. Cette solution a l’avantage
par rapport aux méthodes classiques de codage de ne pas nécessiter un codage par
l’émetteur du signal. Par ailleurs, chaque nœud esclave peut adapter la taille du fragment
reçu en fonction de son évaluation du lien et du canal.
La Figure 4.9 illustre les performances du modèle de synchronisation proposé en pré-
sence de bruit. Pour cet exemple, nous avons considéré une resynchronisation journalière
avec une précision au temps symbole près. La dérive des nœuds esclaves est définie arbitrairement
à 20 ppm. On constate que pour une large plage de taux d’erreur binaire (Bit
Error Rate ou BER) , une réception d’une cinquantaine de bits suffit pour garantir des
taux de succès de synchronisation supérieurs à 99,9%.
4.7 Généralisation du modèle maître-esclabe au réseau multisauts
Nous proposons de généraliser le modèle maître-esclave en construisant un ordonnancement
des envois de trame de synchronisation basé sur une topologie en arbre de recouvrement,
enraciné à la passerelle du réseau. Les envois des trames de synchronisation sont
ordonnancées selon l’ordre de parcours en largeur du graphe, comme illustré par la Figure
4.10.
Dans ce type de réseaux, on considère trois types de dispositifs : la passerelle, les nœuds
capteurs en charge de relayer la trame de synchronisation et les autre nœuds capteurs,
appelés par la suite nœuds esclaves. La présence d’un nœud relayeur dont l’horloge présente
1. l’expression est équivalente à l’expression utilisée dans nos simulations :
!(⌧ ) =
argmin(|Srec
X
|,|Sref |!⌧)
i=0
(2Srec(i) $ 1)(2Sref (i + ⌧ ) $ 1) (4.6)
2. En raison de la nécessité de centrer le préambule sur le temps de référence tref (voir Fig. 4.8), on
trouve ⌧ = d 2m!1
2 e en l’absence de décalage.
83CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
Figure 4.9 – Taux de succès de la synchronisation en présence d’erreurs sur le fragment
reçu
Figure 4.10 – Ordonnancement des trames de synchronisation
une dérive signifie une valeur de Dmax double par rapport à celle du modèle maître-esclave
à un saut :
Dmax = 4dmaxTresyn
4.8 Modèle de consommation
Nous étudions maintenant le coût énergétique associé au modèle de synchronisation
décrit dans la section précédente. Nous dérivons pour cela la puissance dissipée pour l’architecture
longue portée et l’architecture multi-sauts en fonction de la période de resynchronisation
et selon les rôles portés par chacun des nœuds.
84CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
4.8.1 Réseau de télé-relève à radio longue portée
Dans cette configuration, la passerelle fournit la référence de temps et se comporte donc
comme le nœud maître. La puissance dissipée à des fins de synchronisation est équivalente
au coût énergétique de l’envoi de la trame de synchronisation divisé par la période de
resynchronisation Tresyn plus la consommation liée au quartz (Pquartz) :
Psyn#passerelle = d 2dmaxTresyn
Ts eTsPtx
Tresyn
+ Pquartz
Les nœuds capteurs se comportent en esclaves et dissipent une puissance équivalente à la
phase d’activation de la radio suivie de la réception de ↵m2 ou ↵m4 bits selon la modulation
choisie, le facteur ↵ représentant ici la surconsommation due à l’augmentation de la période
d’écoute pour pallier au bruit et à l’interférence. À la consommation liée à la trame de
synchronisation s’ajoute la consommation issue du quartz.
Pour une modulation à deux états (M = 2) :
Psyn#esclave = d↵dlog2(
2dmaxTresyn
Ts + 1)eeTsPrx + Ereveil + Edetect
Tresyn
+ Pquartz
Pour une modulation à quatre états (M = 4) :
Psyn#esclave = d
↵(dlog2(
2dmaxTresyn
Ts )e+1)
2 eTsPrx + Ereveil + Edetect
Tresyn
+ Pquartz
4.8.2 Réseau de télé-relève multi-sauts
À l’instar d’un réseau de télé-relève à radio longue portée, la passerelle d’un réseau de
capteur multi-sauts fournit la référence de temps. La puissance qu’elle dissipe à des fins de
synchronisation vaut :
Psyn#passerelle = d 4dmaxTresyn
Ts eTsPtx
Tresyn
+ Pquartz
Les nœuds relayeurs de la trame de synchronisation dissipent de l’énergie afin de recevoir
un fragment du préambule à l’instar des nœuds esclaves et pour relayer la trame de
synchronisation. Par ailleurs, ces nœuds doivent au préalable activer leurs radios avant de
transmettre ou recevoir :
Pour une modulation à deux états (M = 2) :
Psyn#relayeur = (d 4dmaxTresyn
Ts ePtx + d↵(dlog2(
4dmaxTresyn
Ts + 1)e)ePrx)Ts + 2Ereveil + Edetect
Tresyn
+Pquartz
Pour une modulation à quatre états (M = 4) :
Psyn#relayeur = (d 4dmaxTresyn
Ts ePtx + d
↵(dlog2(
4dmaxTresyn
Ts )e+1)
2 ePrx)Ts + 2Ereveil + Edetect
Tresyn
+Pquartz
Enfin, les nœuds esclaves se comportent quant à eux comme pour un réseau à radio
longue portée :
85CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
Pour une modulation à deux états (M = 2) :
Psyn#esclave = d↵dlog2(
4dmaxTresyn
Ts + 1)eeTsPrx + Ereveil + Edetect
Tresyn
+ Pquartz
Pour une modulation à quatre états (M = 4) :
Psyn#esclave = d
↵(dlog2(
4dmaxTresyn
Ts )e+1)
2 eTsPrx + Ereveil + Edetect
Tresyn
+ Pquartz
À partir de ces équations, nous traçons les résultats obtenus pour un réseau multi-sauts
dont les paramètres sont recensés dans le tableau 4.11b.
(a) Puissance dissipée due à la synchronisation
Paramètre valeur
Ptx 62.5 mW
Prx 53.7 mW
Pquartz 10 µW
Ereveil 0.16 mJ
Edetect 53.7 µJ
dmax 20 ppm
↵ 4
(b) Paramètres
Figure 4.11 – Modèle de consommation
Nous déduisons les propriétés suivantes de ces résultats (Fig. 4.11a). Pour une période
de resynchronisation supérieure à une heure, la puissance dissipée par le processus de synchronisation
provient essentiellement de l’oscillateur à cristal de quartz dans le cas des
nœuds esclaves, soit 10 µW ou 1/16 de la puissance moyenne dissipée maximale dans un
objectif de 15 ans de durée de vie des compteurs. La puissance dissipée par les nœuds
relayeurs et la passerelle est quant à elle dominée par l’envoi du préambule de synchronisation
et compte pour 1/13 de la puissance moyenne dissipée maximale dans un objectif
de 15 ans de durée de vie des compteurs, soit 12 µW.
4.9 Application au choix du mode de synchronisation d’un
protocole de contrôle d’accès au médium pour réseau
multi-sauts
Nous utilisons maintenant ces résultats afin de motiver le choix du mode synchronisation
pro-actif ou réactif pour régir l’accès au médium de communication dans un réseau multisauts.
Pour cela, nous estimons la consommation d’énergie d’un protocole à synchronisation
86CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
pro-active et la comparons à celle d’un protocole à synchronisation réactive idéal. Les deux
protocoles de référence sont illustrés par la Figure 4.12.
Figure 4.12 – Protocoles asynchrone idéal et synchrone optimal
Protocole de contrôle d’accès au médium synchrone Nous considérons ici une implémentation
de protocole de contrôle d’accès au médium synchrone basé sur le modèle
de synchronisation défini dans la Section précédente. Comme illustré par la Figure 4.12,
ce protocole est composé d’une resynchronisation périodique, de période Tresyn, multiple
de la période d’écoute du médium, Tcycle. La valeur de Tcycle est définie à 2
! conformé-
ment aux résultats du Chapitre 6. Le préambule de synchronisation utilisé est de durée
Tpreambule = d 4dmaxTresyn
Ts eTs et construite sur la base d’une séquence à longueur maximale
tel que proposé dans la Section précédente. Chaque trame de données est préfixée d’un
préambule de longueur d 4dmaxTresyn
Ts eTs. Ce préambule, de taille courte, est construit de
manière habituelle, c’est à dire qu’il ne se base pas sur une séquence à longueur maximale.
Protocole de contrôle d’accès au médium asynchrone idéal Nous comparons notre
proposition de protocole synchrone avec un protocole de contrôle d’accès asynchrone idéalisé.
Ce protocole se base sur une écoute périodique de période Tcycle. Chaque trame de
données est préfixée d’un préambule de durée Tcycle construit de manière identique à la
87CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
trame de synchronisation décrite dans la Section précédente. Ainsi, l’écoute d’un fragment
de durée d
dlog2(
Tcycle
Ts +1)e
T s eTs suffit donc à déterminer l’instant de début de transmission
des données. Nous supposons par ailleurs que le destinataire de la trame peut interrompre
le préambule à coût nul et de manière instantanée. De ce fait, ce protocole présente une
borne inférieure à la consommation d’énergie des protocoles asynchrones, d’où l’appellation
idéale.
4.9.1 Scénario et hypothèses de l’étude
Nous comparons ces deux protocoles sur la base du scénario décrit ci-après. Nous considérons
un nœud capteur dont le voisinage radio est composé de N voisins, chacun des nœuds
générant un trafic poissonien de paramètre !t. Nous supposons que les trames de données
sont de taille nulle et que l’arbitrage de l’accès est à coût énergétique nul : de cette façon,
on ne comptabilise que l’énergie dissipée afin d’initier la communication. On suppose également
une modulation à deux états et un volume de trafic dans le voisinage radio connu
de chacun des nœuds, permettant ainsi de dimensionner les périodes d’écoute de façon à
minimiser le coût énergétique du protocole, comme illustré par la Figure 4.13.
(a) Protocole asynchrone idéal (b) Protocole synchrone de référence
Figure 4.13 – Optimisation des protocoles
4.9.2 Évaluation de la consommation d’énergie
À partir de la description du scénario et des hypothèses de fonctionnement des protocoles,
nous évaluons maintenant la puissance dissipée par chacun des deux protocoles.
Protocole asynchrone idéal La puissance dissipée du protocole asynchrone se décompose
en 3 pôles : l’envoi des trames de données et des préambules associés, l’écoute des
fragments de préambule émis par les nœuds voisins et l’écoute périodique. Le coût moyen
associé à chaque émission provient du réveil du nœud capteur, de la détection d’énergie sur
le médium et de l’envoi du préambule. Pour des temps de réveil distribués uniformément,
la durée moyenne du préambule avant interruption est de Tcycle
2 . Par ailleurs, l’écoute des
fragments de préambule des nœuds voisins correspond à la réception d’un fragment de
88CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
préambule soit dlog2(
Tcycle
Ts + 1)e bits.
Pasyn = !t(Ereveil + Edetect + d
Tcycle
2Ts
eTsPtx)
+N!td
dlog2(
Tcycle
Ts + 1)e
Ts
eTsPrx
+
Ereveil + Edetect
Tcycle
Protocole synchrone de référence La puissance dissipée par le protocole synchrone
proposé se décompose en 4 pôles : la puissance dissipée par l’envoi des préambules courts
à chaque trame de données, d’une longueur égale à 4dmaxTresyn, l’écoute des préambules
des trames de données, en moyenne 2dmaxTresyn, de l’écoute périodique et de la puissance
dissipée par la synchronisation, i.e. Psyn role, valant Psyn#relayeur ou Psyn#esclave selon la
fonction du nœud dans le processus de synchronisation.
Psyn = !t(Ereveil + Edetect + d
4dmaxTresyn
Ts
eTsPtx)
+N!td
2dmaxTresyn
Ts
eTsPrx
+
Ereveil + Edetect
Tcycle
+Psyn role
Figure 4.14 – Consommation d’énergie comparée des protocoles
Les résultats obtenus pour le scénario considéré, i.e. une densité radio de 50 nœuds,
sont reportés sur la Figure 4.14. On constate en premier lieu que le protocole synchrone
89CHAPITRE 4. PROTOCOLE D’ACCÈS AU MÉDIUM RADIO ET DIMENSIONNEMENT : ACCÈS
SYNCHRONE OU ASYNCHRONE ?
proposé consomme moins d’énergie que le protocole asynchrone idéal dès lors que le trafic
applicatif supporté excède une trame par jour et voisinage radio. Ce constat montre donc
qu’un protocole de contrôle d’accès au médium basé sur la méthode de synchronisation
proposée est moins énergivore que tout protocole à synchronisation réactive pour un trafic
tel qu’attendu dans une application de télé-relève. Ce résultat est l’une des motivations pour
proposer un protocole de contrôle d’accès au médium à synchronisation pro-active dans le
Chapitre 7. On observe également que le protocole asynchrone idéal est moins énergivore
pour des trafics inférieurs à 1 émission par voisinage et par nœud, confirmant l’intérêt des
protocoles asynchrones de l’état de l’art pour des trafics applicatifs de très faible volume.
Enfin, on note qu’un protocole de contrôle d’accès à synchronisation pro-active tel que
proposé ne peut supporter plus de 10 émissions par minute et par voisinage.
4.10 Synthèse
Dans ce Chapitre, nous avons étudié le coût induit par une synchronisation pro-active
des horloges des nœuds capteurs. Nous avons ensuite étudié le coût lié à l’établissement
d’une communication selon le maintien ou non d’une synchronisation des horloges des
nœuds capteurs. Pour cela, nous avons formalisé les objectifs fonctionnels remplis par le
processus de synchronisation, identifié le modèle de synchronisation le plus adéquat à un
réseau de télé-relève et déduit une implémentation optimale en termes de consommation
d’énergie. À partir de ces résultats, nous avons comparé un protocole basé sur notre implémentation
à un protocole de contrôle d’accès asynchrone idéal. Les résultats montrent
que les protocoles à synchronisation pro-actives sont moins énergivores que les protocoles
réactifs pour un volume de trafic typique d’une application de télé-relève de compteurs,i.e.
supérieur à une trame générée par jour et par compteur. Ces résultats motivent donc les travaux
menés sur les protocoles de contrôle d’accès synchrones (Chap.7) et sur les méthodes
de contention pour accès synchrone (Chap.5).
90CHAPITRE
5 Dimensionnement et choix
d’un algorithme de contention
pour protocole d’accès
synchrone
5.1 Introduction
Dans le chapitre précédent, nous avons proposé une méthode de synchronisation basée
sur la transmission d’une séquence à longueur maximale et prouvé son optimalité énergé-
tique. Nous avons ensuite comparé le coût énergétique de l’établissement d’une communication
selon un protocole de contrôle d’accès synchrone à celui d’un protocole asynchrone
idéal (non réalisable). De cette étude, nous avons montré que l’établissement d’une communication
nécessite moins d’énergie de manière synchrone qu’en asynchrone pour un trafic
supérieur à une communication par voisinage et par jour. Par ailleurs nous avons montré
qu’un protocole synchrone permettait d’établir de l’ordre de 60 fois plus de communications
par unité de temps qu’un protocole asynchrone pour un réseau dont la durée de vie
est de 15 ans. Ces observations nous ont conduits à recommander ces protocoles pour le
déploiement d’un réseau de capteurs sans-fil multi-sauts.
Nous étudions à présent l’arbitrage de l’accès au médium radio. Cet arbitrage est rendu
nécessaire par la synchronisation des instants de transmission et de réception des nœuds
capteurs. En effet, plusieurs nœuds d’un voisinage radio sont susceptibles d’initier simultanément
une transmission. Dans un tel scénario, les transmissions peuvent interférer et
rendre impossible leur décodage par leurs récipiendaires respectifs : les trames de données
sont en collision. Afin d’éviter un tel scénario, les nœuds souhaitant transmettre une trame
sur le médium doivent participer à une compétition dont le résultat détermine l’accès au
médium, on parle de mécanisme de contention.
Ces mécanismes de contention, ici synchrones, consistent à signaler la volonté de transmettre
une trame sur le médium radio et à discriminer de manière distribuée un émetteur
parmi les compétiteurs. Ainsi lorsqu’un nœud veut transmettre, il réalise au préalable, potentiellement
plusieurs fois, deux actions élémentaires sur le médium : émettre un signal
de transmission et détecter d’éventuels signaux de transmissions émanant de son voisinage.
Lorsqu’un signal de transmission est détecté, un nœud repousse l’émission de sa trame de
données à un instant de transmission ultérieur et annule les actions qu’il avait prévu d’opé-
rer sur le médium. Lorsqu’un nœud réalise l’ensemble des actions qu’il souhaitait réaliser
sur le médium, il décide de transmettre la trame de données à l’instant de transmission
correspondant à la fenêtre de contention. Afin de discriminer un unique nœud émetteur, il
est nécessaire que les nœuds en compétition réalisent des suites d’actions distinctes. Pour
ce faire, les choix d’actions réalisées par chacun des compétiteurs sont conditionnés par un
tirage aléatoire.
Dans ce chapitre, nous adressons les objectifs suivants : (i) modéliser les algorithmes
et mécanismes de contention de la littérature : nous montrons en particulier qu’un algorithme
de contention peut être modélisé sous forme d’un espace probabilisé (⌦, S, P) que
nous définissons ultérieurement, (ii) calculer la probabilité d’une collision entre transmis-
91CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
sions selon l’algorithme choisi et les propriétés du tirage aléatoire : ce calcul s’appuie sur
la modélisation sous forme d’espace probabilisé des algorithmes de contention et permet
d’exhiber une expression littérale en forme close de la probabilité de collision, et ce, quelque
soit l’algorithme choisi, (iii) calculer l’énergie dépensée en moyenne par un nœud en compétition
pour transmettre, (iv) déduire un dimensionnement du mécanisme de contention
permettant de supporter le trafic cible et les exigences de taux de livraison du réseau.
5.2 Modélisation des mécanismes de contention
notation signification
n nombre de nœuds dans le voisinage radio
K nombre d’intervalles dans la fenêtre de contention
T Émission d’un signal de transmission
D détection de signal de transmission
seqpriori(i) séquence à priori du nœud i
⌦ ensemble des séquences à priori réalisables dans la fenêtre de contention
S ensemble des séquences à priori autorisées par l’algorithme de contention
P mesure de probabilité sur ⌦ tel que 8s 2 S, P(s) est la probabilité pour un
nœud en compétition de tirer la séquence s
C fonction de répartition sur ⌦ tel que 8s 2 S, C(s) est la probabilité de tirer
une séquence à priori d’ordre inférieur ou égal à s
Pcol(⌦, S, P, n) probabilité de collision pour n nœuds opérant un mécanisme
de contention caractérisé par le triplet (⌦, S, P, n)
Table 5.1 – Notations retenues pour l’étude des mécanismes de contention
Avant de présenter les algorithmes de la littérature, nous rappelons l’objectif d’un mécanisme
de contention et précisons les notations qui serviront dans cette étude. Ces notations
sont recensées dans le Tableau 5.1.
5.2.1 Fenêtre de contention
Figure 5.1 – Accès par contention
Comme illustré sur la figure 5.1, un mécanisme de contention sert à discriminer un
émetteur parmi un ensemble de n nœuds en compétition pour un instant de transmission
92CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
donné. Ce processus de compétition se déroule dans un intervalle de temps précédant
l’instant de transmission et appelé fenêtre de contention. Cette fenêtre de contention
est elle-même constitué de K intervalles de temps élémentaires permettant à chaque nœud
de réaliser une action au choix parmi l’émission d’un signal de transmission, notée T
et une détection de signal de transmission, notée D.
5.2.2 Séquence à priori
Avant de participer à une fenêtre de contention, un nœud i décide des K actions successives
qu’il prévoit de réaliser. Ces K actions sont appelées la séquence d’actions à
priori de i : seqpriori(i). Afin d’illustrer cette notion, nous considérons la Figure 5.2. Ce
Figure 5.2 – Exemple de séquence d’action à priori
chronogramme représente la séquence d’actions à priori d’un nœud, nommé i, participant
à une fenêtre de taille K = 6. Cette séquence est constituée de 3 détections, suivie d’une
transmission, à nouveau d’une détection et enfin d’un signal de transmission. On note la
séquence à priori :
seqpriori(i)=(D, D, D, T, D, T)
On constate dès à présent qu’un nœud participant dans une fenêtre de taille K choisit l’une
des 2K séquences à priori distinctes possibles. Par la suite, nous notons ⌦ l’ensemble des
séquences à priori distinctes possibles.
Figure 5.3 – Compétition entre deux nœuds capteurs
93CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
5.2.3 Décision de transmission
Lorsque plusieurs nœuds participent à la même fenêtre de contention, chaque nœud i
réalise, intervalle après intervalle, les actions prévues dans sa séquence à priori jusqu’à la
réalisation de l’une de ces conditions : (i) toutes les actions de la séquence ont été réalisées,
(ii) le nœud a réalisé une détection D et reconnu un signal de transmission T. Dans le
scénario (i), i remporte la compétition et décide de transmettre la trame de données.
Dans le scénario (ii), i reporte la transmission de la trame de données et interrompt sa
participation à la fenêtre de contention. La Figure 5.3 illustre ce comportement pour deux
nœuds en compétition dans une fenêtre de contention. Le nœud 1 tire la séquence à priori
précédemment décrite et illustrée sur la Figure 5.2 :
seqpriori(1) = (D, D, D, T, D, T)
Le nœud 2 tire quant à lui la séquence :
seqpriori(2) = (D, T, D, T, D, T)
Dans l’intervalle 0, les nœuds 1 et 2 réalisent une détection d’énergie. Aucun des deux
ne détecte un signal de transmission, ils réalisent donc ensuite la seconde action de leur
séquence à priori dans le second intervalle. Dans l’intervalle 1, le nœud 1 réalise à nouveau
une détection d’énergie alors que le nœud 2 émet un signal de transmission. Le nœud 1
détecte le signal, interrompt sa participation à la fenêtre de contention et reporte l’émission
de la trame de données à un instant de transmission ultérieur. Le nœud 2 réalise la suite
des actions de sa séquence à priori dans les intervalles 2 à 5 et émet sa trame de données
à la suite de la fenêtre de contention.
Figure 5.4 – Exemple de scénario pouvant mener à une collision
On constate que les critères de décision de transmission ou de report (scénarios (i) et (ii))
entraînent une relation d’ordre entre les séquences à priori. Une séquence à priori débutant
par un signal de transmission l’emporte nécessairement sur toute séquence débutant par
une détection d’énergie et sera dite plus forte. Plus généralement tout couple de séquences
à priori (s1, s2) de taille K, avec s1 l’emportant sur s2 vérifie :
9j 2 [0, K ! 1]|8i 2 [0, j ! 1],(s1[i] = s2[i]) ^ (s1[j] = T) ^ (s2[j] = D) (5.1)
avec ^ la conjonction logique.
D’après l’équation 5.1, deux séquences sont équivalentes, c’est à dire qu’aucune ne
l’emporte sur l’autre, si et seulement si elles ne présentent aucune différence, c’est à dire
94CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
si elles sont identiques. Les critères de décisions de transmission ou de report impliquent
donc une relation d’ordre stricte sur les éléments de S. Cette propriété est intéressante
parce qu’elle permet de modéliser une séquence à priori par son ordre dans S et de déduire
l’issue de la fenêtre de contention à partir des ordres des séquences tirées. Dans la suite
de cette étude, on modélise donc le tirage des séquences à priori par un tirage avec remise
dans l’ensemble des entiers {1, 2,..., |S|} où 1 représente par convention la séquence la plus
forte de S et |S| la plus faible, avec |S| le cardinal de l’ensemble S. Ainsi, nous associons
à chaque séquence un entier équivalent tel que l’issue du mécanisme de contention suite
au tirage des séquences d’action à priori puisse être déduit du tirage sur l’ensemble des
entiers équivalents.
5.2.4 Collisions
Considérons maintenant le scénario décrit par la Figure 5.4. Les nœuds capteurs 1 et
2 ont tiré la même séquence à priori et décident de transmettre à la suite de la fenêtre de
contention. Lorsque un pareil cas se produit, i.e. plusieurs nœuds décident de transmettre
simultanément dans un voisinage radio, les trames de données peuvent interférer et induire
des erreurs dans leur décodage par leurs destinataires respectifs. Dans cette étude, nous
qualifions de collision l’ensemble des scénarios menant deux nœuds ou plus à transmettre
à la suite d’une fenêtre de contention après y avoir participé. Compte tenu de l’équation
5.1, un tel scénario implique que deux nœuds ou plus tirent la même séquence à
priori et que son ordre soit le plus petit parmi l’ensemble des séquences à priori
tirées par les n nœuds. On note intuitivement que la probabilité de collision dépend
du nombre de nœuds, n, participant à la fenêtre de contention, du nombre de séquences à
priori distinctes pouvant être tirées, |S|, et de la mesure de probabilité sur ces séquences à
priori, P.
Avec l’aide de ces notations, nous détaillons maintenant les trois classes d’algorithmes
de contention de la littérature : les algorithmes à tonalité simple (ATS) [34], les
algorithmes à longue tonalité (ALT) [109] et les algorithmes à décompte binaire
(ADB) [110], [111]. Nous présentons ensuite les deux mesures de probabilités couramment
utilisées dans la littérature : la loi uniforme et la loi géométrique croissante tronquée.
5.3 État de l’art
5.3.1 Algorithmes à tonalité simple : ATS
Les algorithmes à tonalité simple [34], [35] reposent sur des séquences à priori contenant
un unique signal de transmission précédé et suivi de détections d’énergie. Une telle séquence
d’action est décrite en Figure 5.5. La réalisation des détections suivant le signal peut être
omise afin de diminuer la consommation d’énergie liée à la contention. La Figure 5.6 en
apporte la justification et illustre la compétition de nœuds selon un algorithme à tonalité
simple.
Dans cet exemple, le nœud 1 réalise tire la séquence à priori :
seqpriori(1) = (D, D, D, T, D, D)
Le nœud 2 tire :
seqpriori(2) = (D, T, D, D, D, D)
Le nœud 1 interrompt sa participation à partir de l’intervalle 2 de la fenêtre de contention.
Il détecte en effet le signal de transmission émis par le nœud 2 dans l’intervalle 1. Tout
95CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
Figure 5.5 – Exemple de séquence à priori pour un algorithme à tonalité simple
Figure 5.6 – Compétition entre deux nœuds pour un algorithme à tonalité simple
autre nœud ayant détecté l’émission émanant du nœud 2 fait de même. Ainsi, à la suite
de l’émission du premier signal de transmission, ici par le nœud 2, l’ensemble des nœuds
en compétition dans un voisinage radio interrompent leur participation à la fenêtre de
contention. Les détections de transmission suivant l’émission du signal de transmission par
le nœud 2 sont donc superflues.
On constate que les algorithmes à tonalité simple ne permettent de tirer que K séquences
à priori différentes pour une taille de fenêtre de contention de taille K, i.e. |S| = K.
5.3.2 Algorithmes à longue tonalité : ALT
Les algorithmes à longue tonalité [109] reposent quant à eux sur des séquences à priori
constituées d’une détection d’énergie précédée de l’émission d’un long signal de transmission,
tel qu’illustré par la Figure 5.7. Dans cet exemple, le nœud considéré réalise un signal
de transmission s’étendant sur les 3 premiers intervalles, représenté par un signal de transmission
répété pour chacun de ces intervalles. Suite à ce signal de transmission, le nœud
réalise une détection dans le 4eme intervalle. La Figure 5.8 illustre la compétition entre deux
nœuds selon un algorithme de contention à longue tonalité. Dans cet exemple, le nœud 1
réalise un signal de transmission sur les intervalles 0, 1 et 2 puis une détection d’énergie D
dans le slot 3 :
seqpriori(1) = (T, T, T, D, D, D)
Le nœud 2 réalise tire quant à lui la séquence à priori :
seqpriori(2) = (T, T, D, D, D, D)
96CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
Figure 5.7 – Exemple de séquence à priori pour un algorithme à longue tonalité
Figure 5.8 – Compétition entre deux nœuds pour un algorithme à longue tonalité
Le nœud 2 interrompt le premier l’émission du signal de transmission et détecte le signal de
transmission du nœud 1 à l’intervalle 2. Le nœud 2 reporte donc l’émission de la trame de
données à un instant de transmission ultérieur et le nœud 1 émet sa trame de données à la
suite de la fenêtre de contention. On constate qu’il est possible d’omettre la réalisation des
détections de transmissions suivant la première pour des raisons similaires à celles exposées
précédemment. Par ailleurs, on note que les algorithmes à longue tonalité ne permettent
de tirer que K séquences à priori différentes pour une taille de fenêtre de contention de
taille K, i.e. |S| = K.
5.3.3 Algorithmes à décompte binaire : ADB
La dernière classe d’algorithmes de contention, les algorithmes de contention à décompte
binaire, proposent de considérer chaque intervalle de la fenêtre comme une épreuve à l’issue
de laquelle un nœud peut se retirer de la compétition, i.e. le nœud a réalisé une détection
et identifié un signal de transmission, ou participer à l’épreuve suivante, i.e. tous les autres
scénarios. Un nœud émet sa trame de données à la suite de la fenêtre de contention s’il ne
retire à aucun moment de la compétition. Les séquences à priori autorisées sont au nombre
de 2K pour une fenêtre de taille K, i.e. |S| = 2K. La Figure 5.9 donne un exemple d’une
telle séquence. Le nœud considéré dans cet exemple réalise successivement une détection
de signal de transmission, puis émet deux signaux de transmissions, réalise une détection,
une transmission et à nouveau une détection.
La Figure 5.10 illustre une compétition entre deux nœuds capteurs selon un algorithme
à décompte binaire. Le nœud 1 tire une séquence à priori identique à celle décrite sur la
97CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
Figure 5.9 – Exemple de séquence à priori pour un algorithme à décompte binaire
Figure 5.10 – Compétition entre deux nœuds pour un algorithme à décompte binaire
Figure 5.9 :
seqpriori(1) = (D, T, T, D, T, D)
Le nœud 2 tire quant à lui :
seqpriori(2) = (D, T, T, D, T, D)
Dans cet exemple, les nœuds 1 et 2 exécutent une détection d’énergie dans le premier
intervalle. En l’absence de signal de transmission, ils décident de participer au deuxième
intervalle. Dans l’intervalle 1, les nœuds 1 et 2 émettent un signal de transmission. Dans
l’intervalle 2, le nœud 1 émet à nouveau un signal de transmission alors que le nœud 2
réalise une détection. Le nœud 2 détecte le signal émis par le nœud 1, se retire de la
compétition et reporte la transmission de sa trame de donnée à un instant de transmission
ultérieur. Le nœud 1 continue sa participation à la fenêtre de contention jusqu’à la fin de
celle-ci et transmet ensuite sa trame de données.
Nous venons de présenter les algorithmes de contention de la littérature en exposant
à chaque fois l’ensemble des séquences à priori utilisées dans chaque cas, c’est à dire que
nous avons défini S pour chaque algorithme. Nous présentons maintenant les mesures de
probabilités couramment utilisées dans la littérature afin de compléter cet état de l’art.
5.3.4 Mesure de probabilité à distribution uniforme
La distribution uniforme consiste à affecter la même probabilité de tirage à chacune
des séquences à priori de S. On note U la mesure de probabilité sur les entiers équivalents
98CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
à chaque séquence à priori :
8s 2 [1, |S|] , P(s) = U(s) = 1
|S|
Afin de simplifier les notations dans la suite de cette étude, nous introduisons la fonction
de répartition sur les ordres des séquences à priori : C. Pour une loi uniforme, on a :
8s 2 [1, |S|] , C(s) = s
|S|
5.3.5 Mesure de probabilité à distribution géométrique croissante tronquée
La distribution géométrique croissante tronquée vise à minimiser la probabilité de collision
sur les séquences à priori les plus "fortes", i.e. c’est à dire celles qui, lorsqu’elles sont
tirées par un nœud, lui procure plus de chance de transmettre à la suite de la fenêtre de
contention. Pour cela, cette distribution affecte des probabilités de tirage plus faible aux
séquences à priori d’ordre faible qu’aux séquences à priori d’ordre élevé. Cette loi, notée
G s’exprime sous la forme :
8s 2 [1, |S|] , P(s) = G(s) = (1 ! ↵)↵|S|
1 ! ↵|S| ↵#s
↵ est ici un scalaire compris entre 0 et 1 exclus. Dans cette étude, nous retenons la formulation
de la référence [34] :
↵ = n !1
|S|!1
On constate que cette formulation prend en compte le nombre de nœuds en compétition
ainsi que la taille de l’ensemble des séquences à priori. La fonction de répartition s’exprime
quant à elle sous la forme :
8s 2 [1, |S|] , C(s) = ↵|S|#s ! ↵|S|
1 ! a|S|
5.4 Calcul de la probabilité de collision
Nous venons de modéliser les mécanismes de contention de la littérature par un triplet
(⌦, S, P) et nous avons défini la notion de collision pour un tel mécanisme. Nous proposons
maintenant une méthode générique de calcul du taux de collision.
Nous avons défini en Section 5.2.4, les caractéristiques des évènements qualifiés de
collision : deux nœuds ou plus tirent la même séquence à priori et son ordre est le plus
petit parmi l’ensemble des séquences à priori tirées par les n nœuds. Nous utilisons cette
définition pour dériver la formule en forme close de la probabilité de collision. Pour cela
nous nous intéressons à l’évènement contraire : l’absence de collision. Cet évènement peut
être traduit ainsi : parmi les n tirages, la séquence à priori d’ordre le plus petit n’est tirée
qu’une seule et unique fois. La probabilité associée est égale à :
1 ! Pcol(⌦, S, P, n) = X
|S|
s=1 "
(1 ! C(s ! 1))n .
✓n
1
◆
. P(s)
1 ! C(s ! 1).
✓
1 ! P(s)
1 ! C(s ! 1)◆n#1
#
Dans cette expression, s est un itérateur sur les ordres des éléments de S. Sa valeur est donc
comprise entre 1, l’ordre le plus petit et |S|, l’ordre le plus grand. (1 ! C(s ! 1))n traduit la
99CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
condition qu’aucune séquence d’ordre inférieur à s n’a été tirée parmi les n tirages. P(s)
1#C(s#1)
est la probabilité pour un nœud de tirer la séquence à priori d’ordre s sachant qu’il n’a pas
tiré de séquence d’ordre inférieur à s. Enfin, l’expression *n
1
+
. P(s)
1#C(s#1) .
⇣
1 ! P(s)
1#C(s#1)⌘n#1
traduit le fait qu’un unique nœud parmi les n a tiré la séquence à priori d’ordre s.
Cette expression peut être simplifiée et réécrite comme suit et on obtient aisément la
probabilité de collision :
Pcol(⌦, S, P, n)=1 ! n
X
|S|
s=1
h
P(s).(1 ! C(s))n#1
i
(5.2)
À partir de cette équation on retrouve maintenant la probabilité de collision pour un
mécanisme de contention utilisant une mesure de probabilité suivant une loi uniforme et
géométrique croissante tronquée :
Loi uniforme
Pcol(⌦, S, U, n)=1 !X
|S|
s=1
✓ 1
|S|
n (|S| ! s)
n#1
◆
En simplifiant l’expression, on obtient :
Pcol(⌦, S, U, n)=1 ! n.
|
X
S|#1
s=0
[
sn#1
|S|
n ] (5.3)
Loi géométrique croissante tronquée
Pcol(⌦, S, G, n)=1 ! n
1 ! ↵
(1 ! ↵|S|
)n
X
|S|
i=1
✓
↵|S|#i
⇣
1 ! ↵|S|#i
⌘n#1
◆
En simplifiant l’expression, on obtient :
Pcol(⌦, S, G, n)=1 ! n
1 ! ↵
(1 ! ↵|S|
)n
|
X
S|#1
s=0
⇥
↵s
(1 ! ↵s
)
n#1⇤ (5.4)
Nous calculons la probabilité de collision selon ces deux lois de distribution pour un nombre
n de compétiteurs compris entre 2 et 100 et pour un nombre de séquences à priori utilisables
|S| compris entre 2 et 256. Les résultats sont reportés sur la Figure 5.11. Les isolignes
de probabilité de collision ont été tracées pour des taux de probabilités de 0,5%, 10%,
20%, etc., les vertes correspondent à la distribution uniforme et les rouges à la distribution
géométrique croissante tronquée. La comparaison entre les deux lois de distribution montre
que la distribution géométrique tronquée permet alternativement de diminuer le nombre
de séquences à priori nécessaires (et donc la taille de la fenêtre de contention) pour une
probabilité de collision cible ou de diminuer la probabilité de collision pour un nombre
de séquences à priori fixe. Il est cependant à noter que de telles optimisations nécessitent
une connaissance à priori du nombre de compétiteurs et donc d’utiliser des mécanismes
d’estimation de trafic. À cette condition, nous constatons qu’une centaine de séquences à
priori (|S| ⇡ 100) suffit à supporter jusqu’à une centaine de compétiteurs simultanés pour
un taux de collision inférieur au pour-cent. Une telle valeur peut être atteinte pour des
fenêtres de contention d’une centaine d’intervalles dans le cas des algorithmes ATS et ALT
100CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
et de 6 ! 7 intervalles pour des algorithmes ADB. Néanmoins, comme nous le montrons
dans le Chapitre 6, le nombre de compétiteurs attendus par fenêtre de contention est
inférieur à la dizaine. Dans ces conditions, le nombre d’intervalles nécessaires pour borner
la probabilité de collision à 1% est peu influencé par la loi de distribution (10% d’écart
maximum). Pour cette raison, nous continuons à étudier les deux distributions dans la suite
de l’étude.
Figure 5.11 – Probabilité de collision : loi uniforme (vert) et loi géométrique croissante
tronquée (rouge)
5.5 Estimation de la consommation d’énergie
Nous venons d’établir la formule de la probabilité de collision pour les algorithmes de
contention et les lois de distribution utilisées dans la littérature. Nous étudions maintenant
la consommation d’énergie d’un nœud participant à une fenêtre de contention. Pour cela,
nous étudions dans un premier temps le dimensionnement des intervalles de la fenêtre de
contention et montrons qu’il dépend des propriétés du circuit radio et de la fréquence de
resynchronisation des nœuds. Nous simulons ensuite les différents mécanismes et traçons
les résultats obtenus pour un scénario réaliste. Les notations propres à cette étude sont
listées dans le tableau 5.2.
5.5.1 Dimensionnement des intervalles de la fenêtre de contention
Lors d’un intervalle de la fenêtre de contention, un nœud doit être en mesure d’effectuer
l’une ou l’autre des actions T ou D précédemment définies. Le temps nécessaire pour
101CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
Notation signification
dmax dérive maximale en fréquence de l’horloge d’un nœud
Tresyn période de resynchronisation des horloges des nœuds
Dmax
décalage maximum entre deux horloges de nœuds
dans un voisinage radio
Tint durée d’un intervalle de la fenêtre de contention
TR temps de retournement de la radio
TD
temps minimum nécessaire pour effectuer
une détection de signal de transmission
TT
temps minimum nécessaire pour émettre
le signal de transmission
Tact
durée de l’intervalle réservée à la
réalisation des actions T ou D
$r
durée du recouvrement des intervalles pour
deux nœuds dont les horloges sont décalées de Dmax
Tint durée d’un intervalle de la fenêtre de contention.
N nombre de compétiteurs attendus maximum.
Ptx puissance dissipée en émission.
Prx puissance dissipée en réception.
Ereveil énergie dissipée pour allumer le circuit radio.
Erx!tx
énergie dissipée pour la transition réception - émission
du circuit radio.
Etx!rx
énergie dissipée pour la transition émission - réception émission
du circuit radio.
Tint durée d’un intervalle de temps
Table 5.2 – Notations pour l’estimation de la consommation d’énergie
réaliser une détection est noté TD et le temps nécessaire pour réaliser l’émission d’un signal
d’occupation TT. Comme illustré par la Figure 5.2, un nœud peut réaliser successivement
deux actions de nature différentes, e.g. T suivi de D et inversement. Cette succession
d’actions nécessite un changement d’état du circuit radio : le circuit radio doit être en
état de transmettre pour l’action T et en état de réception ou de détection d’énergie pour
l’action D. Ce changement d’état prend du temps pour être effectif et cette durée est
appelée temps de retournement de la radio, noté TR par la suite.
Cela signifie que la durée d’un intervalle, notée Tint doit être à minima égale à la somme
du temps de retournement de la radio TR et au maximum entre les temps nécessaires pour
effectuer T et D, soit TT et TD respectivement. Le Tableau 5.3 recense ces grandeurs pour
deux circuits couramment utilisés : le CC1100 [7] et CC2420 [112] de Texas Instruments.
On note que TT n’est pas rapporté, sa contrainte étant d’être supérieure à TD.
Contrainte matérielle circuit radio grandeur
Durée de transition du circuit radio TR CC1100 ⇡ 30 µs
CC2420 ⇡ 10 µs
Durée minimale de détection de transmission TD CC1100 450 µs
CC2420 128 µs
Table 5.3 – Contraintes matérielles : Extraits de spécifications
102CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
Entre deux resynchronisations successives, les horloges des nœuds d’un voisinage radio
se désynchronisent. Cette désynchronisation implique que deux actions programmées à
une même date sur deux nœuds capteurs seront réalisées à des instants différents. Ce
décalage en temps peut compromettre le fonctionnement du mécanisme de contention, en
particulier s’il excède la durée d’un intervalle Tint. Lorsqu’un mécanisme de synchronisation
est utilisé, e.g. celui proposé dans le Chapitre 4, ce décalage est borné par une durée Dmax
qui dépend de la dérive du cristal de quartz utilisé et de la période de resynchronisation :
Dmax = 2dmaxTresyn. Afin de garantir le fonctionnement des mécanismes de contention
étudiés, il est nécessaire et suffisant de garantir pour tout couple de nœuds voisins tel que
l’un effectue une émission de signal de transmission et l’autre effectue une détection, que
l’intersection des supports temporels des actions, $r soit supérieur ou égal à TD. Cette
propriété est illustrée par la Figure 5.12.
Figure 5.12 – Contrainte de synchronisation
On doit ainsi dimensionner Tact, la durée pendant laquelle un nœud doit réaliser l’action
souhaitée selon la formule :
Tact & 4dmaxTresyn + TD
On obtient finalement le dimensionnement de la durée d’un intervalle Tint :
Tint = TR + Taction
À partir de ce dimensionnement, nous représentons en Figure 5.13a les résultats obtenus
pour le scénario suivant : 5 nœuds participent à une fenêtre de contention dont les intervalles
font 80ms. Cette durée correspond à une resynchronisation des nœuds capteurs toutes les
1000s et à une dérive maximale du crystal de quartz de 20ppm maximum. Ces valeurs, ainsi
que la consommation des différentes actions de la radio, sont recensées dans le Tableau
5.13b.
On constate en premier lieu que l’énergie dépensée par un nœud dans une fenêtre de
contention est du même ordre de grandeur voire plus importante que l’énergie dissipée
par la transmission des données. Dans cet exemple (resynchronisation de période 1000s),
l’énergie moyenne dissipée est de l’ordre de la dizaine de millijoules pour un mécanisme
ADB et compris entre une dizaine de millijoules et 1 joule pour les mécanismes ATS et
ALT. À titre de comparaison, la transmission d’1kbits de données consomme environ 3mJ.
Cette observation nous incite à minimiser le coût énergétique du mécanisme de contention
pour une exigence de taux de livraison donnée. Ce travail est réalisé dans le Chapitre 6.
103CHAPITRE 5. DIMENSIONNEMENT ET CHOIX D’UN ALGORITHME DE CONTENTION
POUR PROTOCOLE D’ACCÈS SYNCHRONE
(a) Énergie moyenne dépensée par compétition
Paramètre valeur
N 5
Ptx 62.5 mW
Prx 53.7 mW
Ereveil 0.16 mJ
Erx!tx 53.7 µJ
Etx!rx 53.7 µJ
Tint 80 ms
(b) Paramètres
Figure 5.13 – Modele de consommation
Par ailleurs, on note qu’il serait intéressant de diminuer le coût énergétique par transmission
dédié à la contention. Pour cela, il existe deux leviers : (i) optimiser les algorithmes
existants et (ii) factoriser le coût de la contention entre plusieurs transmissions. Dans le
calcul de la probabilité de collision, nous avons montré que la probabilité de collision était
fonction du nombre de compétiteurs : n, du nombre de séquences à priori distinctes : |S|,
et de la mesure de probabilité P. Pour une taille de fenêtre de contention de taille K, nous
avons montré que la cardinalité de S (|S|) était bornée par 2K et que cette valeur était
atteinte par les algorithmes ADB. Par ailleurs, les résultats sur la consommation d’énergie
et sur la probabilité de collision des mécanismes ADB montrent que l’optimisation de la
mesure de probabilité P n’entraîne in fine pas une grande différence sur la consommation
d’énergie. De fait, le levier (i) nous semble peu propice à une diminution significative, par
rapport à l’état de l’art, du coût énergétique de la contention. Le levier (ii), en revanche,
nous semble être une piste intéressante et nous la développons dans le Chapitre 7.
5.6 Synthèse
Dans ce Chapitre, nous modélisons les algorithmes et mécanismes de contention permettant
l’arbitrage de l’accès pour un protocole MAC synchrone. Nous montrons que les
algorithmes de la littérature et leurs performances peuvent être modélisés par un espace
probabilisé (⌦, S, P) et nous déduisons de cette modélisation les formules de la probabilité
de collision pour les lois de distribution classiquement utilisées. Nous estimons ensuite la
consommation énergétique des mécanismes de contention et montrons que les mécanismes à
décompte binaire sont de bons candidats pour discriminer un unique émetteur (faible coût
énergétique). En raison de l’importance de l’énergie dépensée par les nœuds en contention,
ces travaux nous incitent à étudier en détail le coût énergétique du mécanisme de
contention pour un taux de livraison souhaité (Chapitre 6) et à étudier les possibilités de
factorisation du mécanisme de contention entre plusieurs transmissions (Chapitre 7).
104CHAPITRE
6 Choix et dimensionnement
de l’architecture et du protocole
MAC d’un réseau de
capteurs sous exigences de
Qualité de Service
6.1 Introduction
Dans ce chapitre, nous étudions le dimensionnement du protocole d’accès au médium
pour des applications de réseaux de capteurs sans-fil urbains. Le tableau 6.1 rappelle les
principales caractéristiques des applications cibles, dont la description est donnée dans le
chapitre 1.
Application trafic période (moy.) volume journalier qualité de service
Télé-relève nœud vers passerelle 15 min à 1 j 1Ko/nœud perte max. 1%
gaz, eau périodique 10-10 000 nœuds/passerelle délai max. 15mins à 1 j
passerelle vers nœuds 1 an négligeable perte max. 1%
sporadique délai max. 1h
Éclairage nœud vers armoire 10 à 15 min 10 Ko/nœud perte max. 1%
public périodique 100 nœuds/passerelle délai max. 10 à 15 min
nœud vers armoire 4 ans négligeable perte max. 0, 1%
apériodique délai max. 10 à 15 min
Parc nœud vers passerelle 5 min à 6 h 100o-10Ko/nœud perte max. 0.1%
stationnement sporadique 10-100 nœuds/passerelle délai max. 10s, ordre
passerelle vers nœuds 1 an négligeable perte max. 1%
périodique 1j
Surveillance nœud vers passerelle 1min à 1h 2Ko-30Ko/nœud perte max. 1% à 10%
pollution périodique 10-1000 nœuds/passerelle délai max. 1min à 1h
passerelle vers nœuds 1 an négligeable perte max. 1%
périodique délai max. 30s
Gestion nœud vers passerelle 1 semaine 10o/nœud perte max. 0.1%
des déchets sur demande 10-100 nœuds/passerelle délai max. 1h
Table 6.1 – Applications des réseaux de capteurs urbains : principales caractéristiques
Afin de supporter ces applications, deux architectures de réseau sont envisagées : une
architecture à topologie en étoile utilisant des radios bas-débit (100bits/s à 4800bits/s),
longue portée (portée > 1 km en milieu urbain) et une architecture à topologie multi-saut
employant des radios moyenne portée (portée de quelques dizaines à centaines de mètres)
et moyen débit (19,2Kbits/s).
L’étude que nous présentons ici a un double objectif : (i) déduire les protocoles et le
dimensionnement adéquat à chaque architecture en fonction des caractéristiques de dé-
ploiement et des exigences de Qualité de Service, (ii) émettre des recommandations quant
au type d’architecture à privilégier en fonction du déploiement à prévoir et des exigences
en matière de taux de livraison et de délai pour les applications cibles.
Pour cela, nous modélisons dans un premier temps un réseau multi-saut utilisant un
protocole d’accès synchrone, conformément aux conclusions du chapitre 4. Nous déduisons
de ce modèle le dimensionnement du cycle d’activité radio des nœuds capteurs et dérivons
105CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
le coût énergétique nécessaire à l’établissement d’une transmission respectant un taux de
livraison donné.
Nous modélisons ensuite une architecture réseau radio longue portée, et étudions le
coût énergétique des différents protocoles de contrôle d’accès envisageables pour ce type
d’architecture. Nous en dérivons des recommandations quant aux protocoles à implémenter
sur ce type d’architecture en fonction du trafic à supporter.
Enfin, nous proposons une comparaison des coûts énergétiques associés aux deux types
d’architecture pour différents type de déploiements, de volume de trafic et d’exigences de
Qualité de Service. Nous concluons par des recommandations sur le type d’architecture à
retenir en fonction du trafic à supporter et d’exigences de Qualité de Service.
6.2 Réseaux de capteurs urbains multi-sauts
6.2.1 Modélisation
notation signification valeur
NR nombre de nœuds de la topologie [100, 1000, 5000, 10000]
R rayon du disque unitaire p
1
⇡
d degré du voisinage radio [10, 20, 50, 80]
r portée de communication q d
⇡NR
c(x) indice de la couronne du nœud d x
r e, x : distance à la passerelle
! trafic généré par unité de temps par nœud entre 10#7 Hz et 10#2 Hz.
Tcycle période d’écoute du médium radio dimensionné d’après le trafic
Ltrame longueur d’une trame en bits 600 bits
Dradio débit binaire de la radio 19,2 Kbits/s
D(x) délai moyen de livraison à la passerelle calculé dans l’étude
P(x) puissance moyenne dissipée par un nœud calculé dans l’étude
Table 6.2 – Notations et grandeurs retenues pour le modèle d’architecture multi-sauts
Nous étudions ici l’architecture à topologie radio multi-sauts : les nœuds capteurs sont
susceptibles de relayer des trames de données jusqu’à leur acheminement à la passerelle.
Pour cela, les nœuds maintiennent un cycle d’activité périodique, de période Tcycle, contenant
une écoute du médium de communication suivi d’un sommeil radio. Le contrôle d’accès
est fait par contention selon un protocole synchrone. Nous empruntons la modélisation du
trafic développée par P. Gupta et P.R. Kumar [113] : NR nœuds sont répartis uniformé-
ment sur un disque unitaire de rayon R = p
1
⇡ , c’est à dire dont la surface est unitaire (1).
Chaque nœud génère un trafic poissonnien de taux d’arrivée ! trames par unité de temps.
Les trames, de longueur Ltrame bits, sont à destination d’une passerelle située au centre du
disque et transmises à un débit de Dradio bits/s. Les instants de génération sont supposés
indépendants d’un nœud à l’autre. Lorsqu’un nœud est à portée radio de la passerelle, i.e.
la distance x qui les sépare est inférieure à r, les trames sont transmises directement à la
passerelle. Dans le cas contraire, elles sont relayées de nœuds en nœuds selon un protocole
de routage qui vérifie les deux hypothèses suivantes : (i) tout nœud à une distance x du
puits utilise une route en c(x) sauts pour acheminer ses trames et appartient alors à la
c(x)eme couronne, (ii) le protocole de routage distribue uniformément le trafic supporté
entre les nœuds d’une même couronne. Enfin, le degré du voisinage radio, d, est le même
106CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
pour tout nœud appartenant à une couronne interne de la topologie 1. Nous supposons par
ailleurs qu’un nœud qui génère une trame de données, alors que la précédente n’est toujours
pas transmise, abandonne sa transmission au profit de la nouvelle 2.
Dans cette étude, nous considérons successivement des réseaux de cardinalité et degré
croissants : 100 nœuds et degré de 10 pour un déploiement de test de petite taille, 1000
nœuds et degré de 20 pour un déploiement sur une petite ville, 5000 nœuds et degré de
50 pour une agglomération de taille moyenne et 10 000 nœuds et degré de 80 pour un
déploiement de forte densité. La longueur des trames et le débit binaire de la radio sont
définis à 600 bits et 19,2 Kbits/s respectivement, soit la longueur indicative pour une
télé-relève journalière et le débit binaire radio de la radio Wavenis de Coronis Systems
[wavenis]. Enfin, les nœuds génèrent des trames à une fréquence comprise entre 10#7 Hz
et 10#2 Hz 3. Le tableau 6.2 récapitule les notations utilisées et précise les valeurs retenues
dans les calculs.
6.2.2 Dimensionnement de la période d’activité
notation signification
n nombre de nœuds dans une fenêtre de contention donnée
n nombre de nœuds moyen par fenêtre de contention
pcol(n) probabilité de collision à l’issue de la compétition à l’accès
pour n compétiteurs.
pgen probabilité de génération d’une trame de données
parr(i, n) probabilité d’apparition de i nouveaux compétiteurs
sachant n compétiteurs existants
psor(n) probabilité d’une sortie, i.e. succès de transmission
sachant n compétiteurs existants
pt(n ! n + $) probabilités de transition entre les états
de la chaîne de Markov
Mt Matrice de transition entre deux états successifs du système.
vs vecteur de probabilité stationnaire du système.
Table 6.3 – Notations spécifiques au dimensionnement de la période d’activité
Nous dimensionnons la période d’activité des nœuds capteurs, Tcycle, afin de supporter
le trafic auquel le réseau est soumis. Pour cela, nous modélisons le nombre de nœuds en
compétition pour l’accès au médium, n, dans un voisinage radio de degré d sous forme
d’une chaîne de Markov. Dans ces conditions, le trafic est dit supporté ou admissible si et
seulement si le nombre moyen de compétiteurs par fenêtre de contention, n, est inférieur
strictement à 1, i.e. le nombre de tentatives de transmissions par unité de temps est inférieur
au nombre d’opportunités de transmission. Nous appliquons ensuite cette modélisation au
voisinage radio immédiat de la passerelle pour calculer le dimensionnement de la période
d’activité du réseau. Les notations spécifiques à ce calcul sont recensées dans le tableau
6.3.
1. une couronne est appelée interne s’il existe une couronne située à une distance plus grande de la
passerelle.
2. ce comportement est observable lorsque la pile protocolaire ne contient qu’un unique tampon de
stockage de trame
3. nous traçons les courbes pour des fréquences comprises entre 10!7 Hz et 10!2 Hz afin d’illustrer
le comportement asymptotique des grandeurs calculées, le domaine d’intérêt étant situé entre 10!5 Hz
(environ une trame par jour) et 10!3 Hz (une transmission par quart d’heure).
107CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(a) Système (b) Chaîne de Markov associée
Figure 6.1 – Modèle de la population en compétition
Lors d’un cycle d’activité, n peut évoluer du fait de l’arrivée de nouveaux compétiteurs
et de l’éventuellement transmission avec succès d’une trame (sortie), comme illustré par
la Figure 6.1. La probabilité de génération d’une nouvelle trame de données par un nœud
pendant un cycle d’activité, pgen, est donnée par :
pgen = 1 ! e#!Tcycle
Les instants de génération de trames étant indépendants entre les nœuds, nous modélisons
les arrivées de nouveaux compétiteurs par une loi de distribution binomiale de
paramètres (N ! n, pgen) :
8i 2 [0, d ! n ! 1],
parr(i, n) = ✓d ! n
i
◆
pi
gen(1 ! pgen)
d#n#i
Avec pcol(n) la probabilité de collision sur les trames de données pour un nombre n
de nœuds en compétition, la probabilité d’une sortie, i.e. succès de transmission, psor est
donnée par :
psor(n)=1 ! pcol(n)
Les probabilités de transition entre les différentes valeurs possibles de n sont données
par :
pt(n ! n + $) =
8
>>>>>>>>>>><
>>>>>>>>>>>:
0 $ < !1
psor(n)pa(0, n) $ = !1, 8n 2 [1, d]
0 $ = !1, n = 0
psor(n)parr(1 + $, n ! 1)
+(1 ! psor(n))parr($, n) $ & 0, 8n 2 [1, d]
parr($, n) $ & 0, n = 0
0 $ > d ! n
L’évolution du système entre deux périodes d’activités successives peut ainsi être résumée
108CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
par la matrice de transitions :
Mt =
2
6
6
6
6
6
6
6
4
pt(0!0) pt(0!1) pt(0!2) ··· pt(0!n) ··· pt(0!d#1) pt(0!d)
pt(1!0) pt(1!1) pt(1!2) ··· pt(1!n) ··· pt(1!d#1) pt(1!d)
0 pt(2!1) pt(2!2) ··· pt(2!n) ··· pt(2!N#1) pt(2!d)
.
.
. .
.
. .
.
. ... .
.
. 000 ··· pt(n!n) ··· pt(n!d#1) pt(n!d)
.
.
. .
.
. .
.
. .
.
. .
.
. ... .
.
. .
.
. 000 ··· 0 ··· pt(d#1!d#1) pt(d#1!d)
000 ··· 0 ··· pt(d!d#1) pt(d!d)
3
7
7
7
7
7
7
7
5
La chaîne de Markov est irréductible et possède un nombre d’états finis, tous récurrents
positifs. Elle admet donc un unique vecteur de probabilité stationnaire tel que :
vs = vsMt
et l’espérance du nombre de compétiteurs dans la fenêtre de contention est donnée par :
n =
n
X=d
n=1
[nvs[n]] (6.1)
À partir de l’équation 6.1, nous déduisons le trafic admissible pour une période d’activité
et un algorithme de contention caractérisé par |S| utilisant une loi de distribution
uniforme. Nous présentons ces résultats sur la Figure 6.2 pour les valeurs de d retenues :
{10, 20, 50, 80}.
Figure 6.2 – Trafic admissible
Pour les degrés de voisinage retenus, nous constatons que le trafic admissible se situe
entre 0.55 et 0.65 trames par cycle d’activité par voisinage. Cela signifie que la fréquence
du cycle d’activité radio des nœuds doit être approximativement le double de la fréquence
de génération des trames de données pour un voisinage radio donné. Cette observation
justifie le dimensionnement du cycle d’activité employé dans le Chapitre 4.
Nous employons par ailleurs le même dimensionnement dans la suite des calculs concernant
la modélisation d’un réseau de capteurs urbains multi-sauts. Plus précisément, nous
définissons la fréquence du cycle d’activité radio des nœuds comme le double de la fré-
quence de génération de trames de données pour le voisinage supportant le maximum de
trafic, c’est à dire le voisinage direct de la passerelle.
6.2.3 Dimensionnement de la fenêtre de contention
Comme indiqué dans le Chapitre 5, la fenêtre de contention est le support temporel
de la compétition au médium radio. Le taux de collision entre trames de données, et donc
le taux de livraison, sont fonction du nombre d’intervalles de temps qui la constituent, de
l’algorithme de contention et du nombre de compétiteurs.
Nous dimensionnons la fenêtre de contention de façon à garantir le taux de succès
de l’algorithme de contention dans 99, 9% des scénarios (les notations spécifiques à ce
dimensionnent sont recensés dans le tableau 6.4). Dans la section précédente, nous avons
défini la fréquence d’activité des nœuds au double de la fréquence de génération des trames
de données. Cette loi des arrivées étant binomiale, nous obtenons le nombre maximum de
109CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
notation signification
nmax
nombre de nœuds maximum à considérer
dans une fenêtre de contention
ncomp
nombre de participations moyen aux fenêtres
de contention pour une transmission
pacces
probabilité d’accès au médium d’un nœud
suite à une participation à une fenêtre de contention
Table 6.4 – Notations spécifiques au dimensionnement de la fenêtre de contention
compétiteurs nmax à considérer en résolvant :
✓ d
nmax◆
(pgen)
nmax (1 ! pgen)
d#nmax 10#3
soit
✓ d
nmax◆ ⇣
1 ! e# 0.5
d
⌘nmax ⇣
e# 0.5
d
⌘d#nmax
10#3
Pour des valeurs de d comprises entre 10 et 80, il faut ainsi considérer un nombre maximum
de compétiteurs nmax égal à 5. Compte tenu du faible nombre de compétiteurs et des
résultats du Chapitre 5 (Fig :fig :probabilite-collisions), une taille de fenêtre de contention
d’une cinquantaine d’intervalles suffit pour un algorithme de type ATS et et ALT. Pour un
algorithme ADB, 5 à 6 intervalles suffisent.
Compte tenu de ce dimensionnement, nous déduisons l’énergie moyenne dissipée par
un nœud dans une fenêtre de contention pour un taux de succès théorique garanti donné.
Pour cela nous estimons au préalable le nombre de participations d’un nœud capteur aux
fenêtres de contention pour une trame donnée 4 :
ncomp = X1
i=1
ipacces(1 ! paccess)
i#1
avec :
pacces = (1 ! pgen)
d#1 +X
d#1
j=1
1
j
✓d ! 1
j
◆
(pgen)
j
(1 ! pgen)
d#j#1 (6.2)
Nous présentons les résultats en Figure 6.3a. Les caractéristiques radio et les éléments
de dimensionnement significatifs sont recensés dans le tableau 6.3b.
Ces résultats confirment les observations faites dans le chapitre 5 (Fig. 5.13a), à savoir
le coût élevé de la participation à la fenêtre de contention et l’efficacité énergétique des
algorithmes à décompte binaire. Ils apportent néanmoins un éclairage nouveau quant au
choix de la loi de distribution pour ces algorithmes. On constate en effet que le coût énergé-
tique associé à l’usage de la loi uniforme est équivalent à celui associé à une loi géométrique
croissante tronquée pour des taux de succès supérieures à 95%. Cette observation suggère
une implémentation simplifiée de ces algorithmes.
Pour des taux de succès garanti inférieurs à 90%, on constate par ailleurs que la consommation
d’énergie des algorithmes à simple tonalité entraîne un facteur de surconsommation
(par rapport aux ADBs) inférieur à 3. Ce constat motive la proposition d’un mécanisme de
compétition basé sur les ATS permettant d’allouer plusieurs transmissions en une unique
étape de compétition, tel que proposé dans CT-MAC, exposé dans le Chapitre 7.
4. Dans cette estimation, on suppose que le taux de collision est négligeable et que chaque nœud a
la même probabilité de gagner, un nœud en compétition avec j autres nœuds a donc une chance sur j
d’accéder au médium
110CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(a) Énergie moyenne dépensée par compétition
Paramètre valeur
Ptx 62.5mW
Prx 53.7mW
Ereveil 0.16mJ
Erx!tx 53.7µJ
Etx!rx 53.7µJ
Tintervalle 80ms
(b) Paramètres
Figure 6.3 – Consommation d’énergie et taux de livraison
6.2.4 Impact sur le délai de livraison
Nous venons de dimensionner le cycle d’activité radio des nœuds et la fenêtre de contention
de manière à supporter un volume de trafic sous exigence de taux de livraison. Nous
étudions maintenant l’impact de ce dimensionnement sur le délai de livraison, i.e. le temps
nécessaire pour transmettre une trame entre un nœud et la passerelle.
Pour cela nous considérons le modèle multi-sauts que nous venons de définir et nous
déduisons successivement la portée radio d’un nœud de la densité des voisinages radio et
le nombre de sauts en fonction de la distance d’un nœud à la passerelle :
Soit r la portée radio d’un nœud selon un modèle de propagation de type disque unitaire
5, on a :
r =
r d
⇡NR
D’après les propriétés du protocole de routage, un nœud situé à une distance x de la
passerelle connaît un chemin en c(x) sauts avec :
c(x) = d
x
r
e
En négligeant le temps d’émission des trames devant la durée de la période d’écoute 6,
nous estimons le délai moyen de livraison comme suit :
D(x) = Tcycle
2 + c(x)ncompTcycle
Cette expression traduit le temps moyen d’attente entre la génération de la trame de
données au niveau applicatif et la première opportunité de transmission et les transmissions
successives de couronne en couronne jusqu’à destination.
5. bien qu’irréaliste dans le cas général (il ne tient pas compte de l’affaiblissement en espace libre du
signal, du shadowing et du fading), ce modèle permet une représentation simple des transmissions lorsque
les seuls liens retenus pour la communication sont choisis pour leur fiabilité (lien symétrique et SINR élevé)
6. la durée de transmission d’une trame sur le médium est d’environ 30ms alors que la période d’activité
radio est de l’ordre de la dizaine de seconde.
111CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(a) NR = 100 & d = 10
(b) NR = 1000 & d = 20
La Figure 6.3 recense les résultats pour les scénarios de déploiements choisis. On
constate que : (i) le dimensionnement choisi du cycle d’activité permet le respect des
exigences de délai de livraison de la plupart des applications référencées dans le tableau
6.1. Pour les topologies de plus de 1000 nœuds considérées et pour un trafic supérieur à une
112CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(c) NR = 5000 & d = 50
(d) NR = 10000 & d = 80
Figure 6.3 – Délai moyen de livraison pour une architecture multi-sauts
trame par jour et par nœud, le délai de livraison moyen est en effet inférieur à 15 mins pour
l’ensemble des nœuds. (ii) une part significative du délai est due au relayage des trames,
et plus particulièrement au temps d’attente entre chaque transmission d’une même trame.
Les déploiements comptant le plus grand nombre de nœuds présentent en effet un rapport
10 entre les délais observés pour la première couronne et pour la dernière.
Ces deux observations tirent leur explication du dimensionnement du cycle d’activité.
113CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
Le nombre moyen de tentatives d’accès au médium par période d’activité doit en effet
être strictement inférieur à 1 ce qui implique un nombre moyen de tentatives d’accès par
transmission proche de 1. Le délai de livraison est ainsi directement lié à la période du cycle
d’activité et au nombre de sauts dans la topologie. De fait, nous déduisons qu’il n’existe que
deux leviers protocolaires efficaces pour réduire le délai de livraison 7 : (i) une diminution
de la période du cycle d’activité des nœuds ou (ii) un choix des relayeurs minimisant le
nombre de sauts dans la topologie.
La diminution de la période d’activité implique une augmentation de la puissance dissipée
par les nœuds du fait d’un échantillonnage plus fréquent du médium de communication.
Ce levier est donc en contradiction avec la démarche d’optimisation de la consommation
d’énergie que nous avons détaillée jusqu’à présent. Le choix des relayeurs minimisant le
nombre de sauts peut entraîner quant à lui l’usage de liens radios moins fiables et donc
impacter sensiblement le taux de livraison des trames de données et le coût de maintenance
de la topologie de routage. Ces aspects sont discutés dans le Chapitre 9 et un protocole
de routage permettant d’exploiter les liens opportunistes et fluctuants tout en garantissant
un taux de livraison élevé et une topologie de routage stable est proposé : QoS Oriented
Opportunistic Routing protocol for Wireless Sensor Networks (QOR).
6.2.5 Calcul de la puissance dissipée
Suite au dimensionnement de la période d’activité, des fenêtres de contention et de
l’étude du délai de livraison, nous étudions maintenant la consommation d’énergie associée
à une topologie multi-sauts. Les notations spécifiques à cette étude sont référencées dans
le tableau 6.5
notation signification
N(c) nombre de nœuds situés
dans la couronne c
Rx(c) nombre de trames reçues par unité de temps
par un nœud de la couronne c
Tx(c) nombre de trames transmises par unité de temps
par un nœud de la couronne c
Vx(x) nombre de trames transmises par unité de temps dans
le voisinage radio d’un nœud à une distance x de la passerelle
A(x) aire de l’intersection entre le voisinage radio d’un nœud à
à une distance x de la passerelle et la couronne inférieure
B(x) aire de l’intersection entre le voisinage radio d’un nœud à
à une distance x de la passerelle et la couronne à laquelle il appartient
C(x) aire de l’intersection entre le voisinage radio d’un nœud à
à une distance x de la passerelle et la couronne supérieure
Table 6.5 – Notations spécifiques au dimensionnement de la fenêtre de contention
Afin de calculer la puissance dissipée par les nœuds capteurs dans un scénario multisauts,
nous calculons le nombre de trames par unité de temps que chaque nœud doit recevoir
Rx, transmettre T x et le trafic généré par son voisinage radio V x :
7. en réalité il existe un troisième levier protocolaire permettant de minimiser le délai : l’ordonnancement
en cascade des cycles d’activité des nœuds en fonction de leur position dans la topologie de routage comme
proposé par DMAC [dmac]. Cette solution ne permet cependant pas les communications depuis la passerelle
vers les nœuds du réseau, communications pourtant nécessaires pour la mise en place de la topologie de
routage et sa maintenance.
114CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
Le nombre de nœuds à c sauts de la passerelle (ceme couronne) est donné par :
N(c) =
8
<
:
⇡NR
h
(cr)2 ! ((c ! 1)r)
2
i
c 2 [1, dR
r e[
NR
h
1 ! ⇡ ((c ! 1)r)
2
i
c = dR
r e (6.3)
Le nombre de trames par unité de temps à recevoir pour un nœud de la couronne c est
donné par :
Rx(c) = (
! NR[1#⇡(cr)2]
N(c) c 2 [1, dR
r e[
0 c = dR
r e
Chaque nœud d’une couronne c transmet donc Tx(c) trames par unité de temps :
T x(c) = Rx(c) + !
Nous calculons maintenant la composition du voisinage radio d’un nœud à une distance
x de la passerelle :
Figure 6.4 – Calcul de la composition du voisinage radio d’un nœud à une distance x de
la passerelle
Comme illustré par la Figure 6.4, le voisinage d’un nœud à une distance x de la passerelle
peut contenir des nœuds de la couronne inférieure (plus proche de la passerelle), de la même
couronne et de la couronne supérieure. En omettant les premières et dernières couronnes,
un nœud à une distance x voit un nombre N.A(x) nœuds de la couronne inférieure, N.B(x)
nœuds de la même couronne et N.C(x) nœuds de la couronne supérieure.
Les expressions de A(x), C(x) et B(x) sont données par :
A(x) = c2r2(✓1 ! cos✓1sin✓1) + r2(✓2 ! cos✓2sin✓2)
C(x) = r2(✓0
2 ! cos✓0
2sin✓0
2)+(c + 1)2r2(cos✓0
1sin✓0
1 ! ✓0
1)
B(x) = ⇡r2 ! A(x) ! C(x)
115CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
avec :
c = d
x
r
e
✓1 = arcos(
1
2
(
r
x
(c2 ! 1) + x
r
))
✓2 = arcos(
1
2
(
r
x
(1 ! c2) + x
r
))
✓0
1 = arcos(
1
2
(
r
x
(c + 1 ! 1
c + 1) + x
r(c + 1)))
✓0
2 = arcos(
1
2
(
r
x
(c2 + 2c) ! x
r
))
(a) A(x) (b) C(x)
Figure 6.5 – Éléments de démonstration des calculs des aires A(x), B(x) et C(x)
Démonstration. Avec les notations choisies sur les Figures 6.5 et 6.5b, on note que (✓1, ✓2)
et (✓0
1, ✓0
2) vérifient respectivement les systèmes d’équations 6.4 et 6.5 :
(
y = crsin✓1 = rsin✓2
x = crcos✓1 + rcos✓2
(6.4)
(
y = (c + 1)rsin✓0
1 = rsin✓0
2
z = rcos✓0
2 = (c + 1)rcos✓0
1 ! x
(6.5)
Du système d’équation 6.4, on déduit :
(
✓1 = arcos( 1
2 ( r
x (c2 ! 1) + x
r ))
✓2 = arcos( 1
2 ( r
x (1 ! c2) + x
r ))
Le système 6.5 donne quant à lui :
(
✓0
1 = arcos( 1
2 ( r
x (c + 1 ! 1
c+1 ) + x
r(c+1) ))
✓0
2 = arcos( 1
2 ( r
x (c2 + 2c) ! x
r ))
L’aire A(x) est déduite de l’addition des aires vertes et bleues. L’aire verte est obtenue par
soustraction des aires bleue et magenta à la somme des aires verte plus bleue plus magenta :
Aire verte = c2r2✓1 ! c2r2cos✓1sin✓1
116CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
L’aire bleue est obtenue quant à elle par la soustraction des aires jaune et verte à la somme
des aires jaune, verte et bleue :
Aire bleue = r2✓2 ! r2cos✓2sin✓2
Finalement,
A(x) = Aire bleue + Aire verte
A(x) = c2r2(✓1 ! cos✓1sin✓1) + r2(✓2 ! cos✓2sin✓2)
L’aire C(x) (aire bleue) est obtenue par la soustraction des aires verte et jaunes à la somme
des aires bleue, verte et jaune :
Aire verte = (c + 1)2r2✓0
1 ! (c + 1)2r2cos✓0
1sin✓0
1
L’aire bleue est ainsi donnée par :
Aire bleue = Aire bleue + Aire verte + Aire jaune ! Aire verte ! Aire jaune
C(x) = r2✓0
2 ! ((c + 1)2r2✓0
1 ! (c + 1)2r2cos✓0
1sin✓0
1) ! r2sin✓0
2cos✓0
2
Dans le cas particulier d’un nœud de la première couronne, on a :
A(x)=0
C(x) = r2(✓0
2 ! cos✓0
2sin✓0
2)+(c + 1)2r2(cos✓0
1sin✓0
1 ! ✓0
1)
B(x) = ⇡r2 ! A(x) ! C(x)
Enfin, pour un nœud de la dernière couronne :
A(x) = c2r2(✓1 ! cos✓1sin✓1) + r2(✓2 ! cos✓2sin✓2)
C(x)=0
B(x) = ⇡r2 ! A(x) ! C(x)
À partir de la composition du voisinage radio d’un nœud, nous déduisons le trafic généré
pour un voisinage radio situé à distance x du puits :
V x(x) = NRA(x)T x(b
x
r
c ! 1) + NRB(x)T x(b
x
r
c) + NRC(x)T x(b
x
r
c + 1)
La puissance dissipée d’un nœud à distance x du puits peut maintenant être calculée
en adaptant l’équation 4.9 du Chapitre 4 et en réutilisation les résultats des Chapitres 4
et 5 :
P(x) =
8
>>>><
>>>>:
T x(x)(ncomp(Ereveil + Edetect + Econt(unif orme, 2K, K)) + (d 4dmaxTresyn
Ts eTs + Ltrame
Dradio )Ptx)
+Psyn esclave x
r > b R
r c
T x(x)(ncomp(Ereveil + Edetect + Econt(unif orme, 2K, K)) + (d 4dmaxTresyn
Ts eTs + Ltrame
Dradio )Ptx)
+(V x(x)d 2dmaxTresyn
Ts eTs + Rx(x) Ltrame
Dradio )Prx
+ Ereveil+Edetect
Tcycle + Psyn relayeur sinon
Les résultats obtenus pour les scénarios considérés sont disponibles en Figure 6.5. On
note une différentiation nette entre la puissance dissipée par les nœuds appartenant à la
dernière couronne et les autres, e.g. jusqu’à un facteur 100 entre la première et la dernière
117CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(a) NR = 100 et d = 10
(b) NR = 1000 et d = 20
couronne (Fig. 6.5). Cette observation nous amène à nous interroger sur l’origine de cette
différence et donc à identifier le principal poste de consommation d’énergie. Pour cela,
notons que les nœuds appartenant à la dernière couronne se démarquent par l’absence
d’écoute périodique, par l’absence d’émissions de trames de synchronisation ou de relayage
118CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(c) NR = 5000 et d = 50
(d) NR = 10000 et d = 80
Figure 6.5 – Architecture de réseau de capteurs urbains sans-fil multi-sauts : Puissance
dissipée
119CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
de trames de données. La Figure 6.6 recense les principales sources de consommation d’énergie
pour un nœud appartenant à la première couronne. On note que l’écoute périodique du
médium représente plus de 60% de la consommation moyenne d’un nœud pour une durée
de vie de 15 ans, soit 2,5 plus que la deuxième contribution (synchronisation).
Ce constat motive davantage notre proposition de mécanisme de compétition permettant
d’allouer plusieurs transmissions en une étape de compétition : CT-MAC, présenté
dans le Chapitre 7. En effet, avec un tel mécanisme, il est possible de diminuer la fréquence
des écoutes du médium tout en assurant le même nombre de transmissions par unité de
temps et donc de diminuer significativement la part de consommation liée à l’écoute pé-
riodique. Enfin, cette observation motive notre analyse concernant les leviers protocoles
adéquats pour diminuer le délai de livraison, à savoir notre choix d’exploiter les liens
opportunistes et fluctuants tel que proposé dans le protocole de routage QoR, que nous
présentons dans le Chapitre 9.
Figure 6.6 – Principales contributions à la dépense d’énergie
6.3 Réseaux de capteurs urbains à radio longue portée
Nous étudions maintenant l’architecture de réseaux de capteurs urbains à radio longue
portée. Comme indiqué dans le Chapitre 1, les nœuds capteurs transmettent leurs trames
directement à la passerelle. Pour cela, les nœuds disposent d’une radio bas-débit exploitant
des modulations robustes.
D’un point de vue protocolaire, cette architecture possède trois particularités essen-
120CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
tielles : la passerelle est en écoute permanente du médium, les nœuds capteurs limitent
leur activité radio à la transmission des trames de données, éventuellement à la réception
d’un acquittement, et la détection de transmission par les nœuds capteurs afin d’éviter une
éventuelle collision s’avère obsolète (topologie en étoile).
Ces observations suggèrent l’usage de protocoles de contrôle d’accès au médium tels
qu’ALOHA, ALOHA à temps discrétisé [32] et leurs dérivés, i.e. à accès direct. Nous
étudions leur dimensionnement afin d’assurer un taux de livraison cible de 99% et calculons
la consommation d’énergie associée. Enfin, nous dérivons les recommandations d’usage en
fonction du trafic à supporter.
6.3.1 Modélisation et scénario
notation signification valeur
NR nombre de nœuds de la topologie [100; 1000; 5000; 10000]
m
nombre de modulations 4, [4800; 2400; 300; 100] bits/s distinctes utilisées
Ni, i 2 [1, m] nombre de nœuds utilisant [0, 5; 0, 3; 0, 15; 0, 05]NR la i
ememodulation
Ltrame longueur d’une trame en bits 600 bits
"i, i 2 [1, m] durée de l’émission de la trame de donnée [125ms; 250ms; 2s; 6s] pour la i
eme modulation
T période d’émission des trames 10#7Hz à 100Hz de données pour un nœud
P(i) puissance moyenne dissipée par un nœud calculé dans l’étude utilisant la i
eme modulation
Pcol(i) probabilité de collision pour un nœud calculé dans l’étude utilisant la i
eme modulation
Pliv(i) probabilité de livraison pour un nœud calculé dans l’étude utilisant la i
eme modulation
Table 6.6 – Notations et grandeurs retenues pour le modèle d’architecture longue portée
Nous considérons un ensemble de nœuds capteurs rattachés à une passerelle. En raison
des conditions de propagation disparates à l’échelle du réseau, tous les nœuds capteurs
n’utilisent pas la même modulation : les nœuds pour lesquels le bilan radio est moins favorable
utilisent des modulations plus robustes, au débit moins élevé. Nous faisons par ailleurs
l’hypothèse que l’usage des différentes modulations ainsi que d’un contrôle de puissance
permet à la passerelle de recevoir chaque trame avec un rapport signal à bruit équivalent
après décodage, et ce, indépendamment du nœud émetteur.
Nous distinguons ainsi m classes de nœuds en fonction de la modulation utilisée, chaque
classe est peuplée de Ni nœuds et nous supposons que les nœuds transmettent périodiquement
des trames de taille binaire identique, Ltrame, selon une même période T. Nous notons
par la suite !i la durée de transmission de la trame pour un nœud utilisant la i
eme modulation.
Ce réseau comporte NR nœuds capteurs pour une passerelle et chaque capteur
dispose d’une radio permettant un réglage de la modulation (et donc du débit) dans la
plage de valeurs suivantes [4800bits/s, 2400bits/s, 300bits/s et 100bits/s].
On suppose que 50% de la population peut transmettre fiablement au débit maximum
considéré soit à 4800bits/s. Ces nœuds sont à proximité de la passerelle et peu d’obstacles
les séparent, le contrôle de puissance suffit à lui seul à garantir un rapport signal à bruit
121CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
Identifiant modulation débit population
1 4800bit/s 50%NR
2 2400bit/s 30%NR
3 300bit/s 15%NR
4 100bit/s 5%NR
Table 6.7 – Répartition de la population des nœuds capteurs selon les débits radios utilisés
à la passerelle satisfaisant pour le débit maximum. 30% de la population utilise utilise la
modulation au débit de 2400bits/s dans l’objectif d’améliorer le rapport signal à bruit, le
contrôle de puissance seul ne suffisant plus pour fonctionner au débit maximum. 15% des
nœuds sont situés dans des zones densément urbanisés, sans visibilité avec la passerelle,
par exemple dans un regard en béton enfoui sous terre et transmettent donc à 300 bits/s.
Enfin, 5% des nœuds présentent des conditions de propagation les obligeant à fonctionner
avec le débit le plus faible, soit 100bits/s.
6.3.2 Protocoles et performances
Lorsque qu’ils admettent une expression analytique, nous dérivons ici le taux de livraison
et la puissance dissipée pour chacun des protocoles étudiés.
ALOHA En présence de modulations et donc de temps de transmissions différents, le
taux de collision pour un nœud utilisant la i
eme modulation s’exprime :
8i 2 [1..m], Pcol(i)=1 !
✓T ! 2!i
T
◆(Ni#1)
Ym
j=1
j6=i
1 ! !i + !j
T
?Nj
Démonstration. Soit deux nœuds transmettant leur trame en un temps !i et !j . À chaque
période T, ces deux nœuds transmettent leur trame à un instant choisi aléatoirement
(supposément distribué uniformément). Soit ti et tj les instants de début de transmission
de chaque trame. Avec ces notations, une collision correspond à l’évènemement les supports
temporels des deux trames se recouvrent, ce qui se traduit par :
noncollision ,
(
T ! !j > ti ! tj > !i ti < tj
T ! !i > tj ! ti > !j sinon
Ce système d’équation admet une représentation graphique permettant de dériver la
probabilité de collision entre deux trames d’index de modulation respectifs i et j : Pcol(i,j).
La probabilité de succès peut en effet être déduite du rapport de l’aire de la surface
non hachurée et de la surface du carré de côté T soit :
1 ! Pcol(i, j) =
(T #"i)
2
2 + (T #"j )
2
2 ! "2
i
2 ! "2
j
2
T2
Un nœud transmet avec succès si le support temporelle de sa trame n’est en recouvrement
avec aucune autre soit :
1 ! Pcol(i) = (1 ! Pcol(i, i))Ni#1 Ym
j=1
j6=i
[1 ! Pcol(i, j)]Nj
d’où le résultat.
122CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
Figure 6.7 – Calcul du taux de collision
La Figure 6.8 illustre les résultats obtenus pour 1000 nœuds selon le scénario précédemment
décrit et selon un scénario idéal où l’ensemble des nœuds est en capacité d’émettre
au débit maximal.
On constate en premier lieu que les nœuds exhibent un taux de collision clairement
différencié selon le débit utilisé. Ainsi, les nœuds émettant à 4800bits/s peuvent supporter
un trafic 7 fois plus intense que les nœuds à 100bits/s pour une même exigence de taux
de livraison. Ce dernier étant exprimé sous forme de borne inférieure, cela signifie que le
dimensionnement du réseau et ses performances sont contraints par une part marginale
des nœuds capteurs. Ici le trafic admissible maximum est limité à 1 trame par semaine en
raison de seulement 50 nœuds parmi 1000.
On observe également l’impact des nœuds transmettant à débit réduit sur les performances
des nœuds opérant à plein débit. La courbe aux symboles diamants, noire, repré-
sente le taux de collision en fonction de la fréquence de génération des trames pour un
scénario selon lequel l’ensemble des nœuds fonctionnent à débit maximal et l’on constate
un volume de trafic supporté 7 fois supérieur au scénario à débit variable.
Par ailleurs, on constate que l’usage d’ALOHA seul ne permet de satisfaire les contraintes
des applications cibles, à savoir une génération de trames hebdomadaire et un taux de collision
inférieur à 1%.
Enfin, la puissance moyenne dissipée par un nœud d’index de modulation i est donnée
par :
P(i) = Ereveil + !iPtx
T
ALOHA avec répétitions Comme illustré par la Figure 6.8, le protocole ALOHA ne
permet pas de garantir un taux de collision maximum de 1% pour des trafics supérieurs à
une trame par semaine et ce, même pour un déploiement de taille modeste. Afin d’améliorer
le taux de livraison des trames de données, il est possible de transmettre plusieurs fois
chaque trame. La probabilité de livraison, Pliv, d’une trame répétée r fois est alors donnée
par :
123CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
Figure 6.8 – ALOHA : Probabilité de collision
8i 2 [1..m], 1 ! Pliv(i) =
0
BB@
1 !
✓T ! 2r!i
T
◆(Ni#1)
Ym
j=1
j6=i
1 ! r
!i + !j
T
?Nj
1
CCA
r
Démonstration. Les trames étant répétées r fois, le temps d’occupation du médium est r
fois plus long (r!i). La trame n’est pas délivrée si les r tentatives sont infructueuses.
La puissance moyenne dissipée est quant à elle donnée par :
Pi = r(Ereveil + !iPtx)
T
La Figure 6.9 donne les taux de livraisons obtenus par répétition des trames de données. On
constate, comme le suggère l’équation 6.6, que la répétition des trames permet d’améliorer
le taux de livraison et donc le trafic admissible lorsque la fréquence de génération des
trames est faible (d’une trame tous les 8 jours à plus d’une trame par jour).
ALOHA avec répétitions et acquittement Lorsqu’un message d’acquittement est
envisageable, c’est à dire lorsque l’hypothèse de symétrie du lien radio est vérifiée, il est
possible d’adapter le schéma précédent avec répétitions de manière à interrompre les transmissions
d’une trame lorsque la passerelle l’a acquittée. Cet acquittement permet ainsi de
diminuer l’occupation du canal radio et l’énergie dissipée pour transmettre les trames.
124CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
Figure 6.9 – ALOHA avec répétitions : Probabilité de non délivrance, débit 100bits/s
Le taux de livraison n’admet pas d’expression simple et nous fournissons en Figure 6.10
les résultats obtenus par calcul numérique pour les nœuds transmettant à 100bits/s, pour
un nombre maximum de 8 retransmissions selon le scénario décrit et pour un déploiement
de 1000 nœuds.
Soit nret le nombre de retransmissions moyen par trame de données, la puissance dissipée
par la radio est donnée par :
P(i) = nret(Ereveil + !iPtx + Etx!rx + !ackPrx)
T
ALOHA à temps discret Lorsqu’un mécanisme de synchronisation est en place, les
transmissions prennent lieu dans des intervalles de temps prédéfinis. De fait, les trames
sont en collision si et seulement si elles ont lieu dans le même intervalle de temps.
Soit nint le nombre d’intervalles de transmission disponibles pendant une période de
génération de trames de données et $i le nombre d’intervalles occupés par la transmission
d’une trame de longueur !i, la probabilité de collision est donnée par :
8i2[1..m],Pcol(i)=
1#
✓(nint!"i)(nint!"i+1)
n2
int ◆(Ni!1)
Qm
j=1
j6=i
(nint!"i)(nint!"i+1)+(nint!"j )(nint!"j+1)
2n2
int &Nj
Démonstration.
P
La démonstration est similaire à celle du cas continu, en notant la relation n
i=1 i = (n)(n+1)
2 .
125CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
Figure 6.10 – ALOHA avec répétitions et acquittements : Probabilité de non délivrance,
débit 100bits/s
Dans la suite des travaux, les résultats sont illustrés avec un dimensionnement d’intervalle
permettant de transmettre une trame à 4800bits/s et avec un dimensionnement à
100bits/s. Ce choix est motivé par les résultats de la Figure 6.11. Le graphe en question
montre l’évolution de la probabilité de collision en fonction de la longueur de l’intervalle
pour une transmission journalière des trames de données, les courbes bleues et rouges représentant
le taux de collision moyen et les courbes magenta et violette représentant le
taux de collision des trames transmises à 100bits/s. On constate que le dimensionnement
permettant d’atteindre un minimum du taux de collision moyen (dimensionnement pour
une trame transmise à 4800bits/s) ne correspond pas à celui permettant de minimiser le
taux de collision pour les trames à 100bits/s (dimensionnement pour une trame transmise
à 100bits/s).
Pour cette raison, nous illustrons les résultats obtenus pour chacun des cas de figure.
Int4800 = min(!i)+2dmaxTresyn
Int100 = max(!i)+2dmaxTresyn
on a donc :
nint = b
T ! 2dmaxTresyn
Int4800
c
ou
nint = b
T ! 2dmaxTresyn
Int100
c
126CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
Figure 6.11 – Impact de la taille de l’intervalle sur la probabilité de collision
La Figure 6.12 illustre les résultats obtenus pour les deux dimensionnements retenus
pour l’intervalle. Avec un intervalle de taille Int4800, on retrouve les conclusions tirées
dans le cas du protocole ALOHA, à savoir que la probabilité de collision dépend du débit
de transmission et que les trames émises au débit le plus lent présentent une probabilité
de collision supérieure aux autres. On constate par ailleurs qu’un tel dimensionnement
implique un trafic admissible inférieur à celui obtenu pour le protocole ALOHA, et ce
malgré la synchronisation des instants de transmission. Avec un intervalle de taille Int100, la
probabilité de collision sur les trames est indépendante du débit auquel elles sont transmises
et on note par ailleurs une amélioration du trafic admissible par le réseau par rapport à
celui obtenu avec le protocole ALOHA (7,3 au lieu de 7.7 jours).
La puissance dissipée est donnée par la formule :
P(i) = Ereveil + !iPtx
T + Psyn#esclave
ALOHA temps discret avec répétitions À l’instar d’ALOHA, il est possible de ré-
péter les trames plusieurs fois afin d’augmenter la probabilité de délivrance des trames de
données. Soit r le nombre de répétitions d’une trame de données, la probabilité de non
délivrance est donnée par :
8i2[1..m],1#Pliv(i)=
0
@1#
( nint
r !"i)( nint
r !"i+1)
( nint
r )
2
!(Ni!1)
Qm
j=1
j6=i
"
( nint
r !"i)( nint
r !"i+1)+( nint
r !"j )( nint
r !"j+1)
2( nint
r )
2
#Nj
1
A
r
127CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(a) Int4800
(b) Int100
Figure 6.12 – ALOHA temps discret : probabilité de collision
La Figure 6.13 illustre cette formule pour les dimensionnements précédemment mentionnés,
les observations étant similaires à celles obtenues pour ALOHA avec répétitions.
128CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(a) Int4800
(b) Int100
Figure 6.13 – ALOHA temps discret avec répétitions : probabilité de non délivrance
La puissance dissipée est donnée par :
P(i) = r(Ereveil + !iPtx)
T + Psyn#esclave
ALOHA temps discret avec répétitions et acquittement De la même façon, lorsqu’un
acquittement est possible, le taux de livraison peut être amélioré comme le montre
129CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
la Figure 6.14.
On constate ici que les observations liées au dimensionnement de l’intervalle de transmission
sont inversées, à savoir qu’un dimensionnement selon le support temporel des
trames les plus fréquentes (les plus courtes) donne un taux de livraison plus élevé sur
les trames les plus longues.
Figure 6.14 – ALOHA temps discret avec répétitions et acquittement : probabilité de non
délivrance
Enfin, soit nret le nombre de retransmissions moyen par trame de données, la puissance
dissipée par la radio est donnée par :
Pi = nret(Ereveil + !iPtx + Etx!rx + !ackPrx)
T + Psyn#esclave
6.3.3 Synthèse
À partir des équations et résultats de la section 6.3.2, nous pouvons maintenant déduire
les protocoles à privilégier pour un trafic donné et une exigence de taux de livraison. La
Figure 6.14 explicite ainsi les protocoles les moins énergivores en fonction de la fréquence de
génération de trames de données pour un taux de livraison supérieur à 99%. Ces résultats
sont présentés pour les scénarios de déploiement précédemment exposé et permettront une
comparaison avec l’architecture réseau multi-sauts dans la section suivante.
En première analyse, on note que seuls trois des protocoles exposés présentent un intérêt
pour ce type de déploiements : Aloha pour les trafics les plus faibles, Aloha avec répétitions
et acquittements pour la plupart des trafics cibles et Aloha temps discret avec répétitions et
acquittements pour les trafics les plus denses. On constate en effet que ces trois protocoles
(représentés en gras dans leur domaine d’intérêt) sont toujours plus efficaces en énergie sur
l’ensemble de la plage de trafic étudiée. On note également que le protocole ALOHA temps
130CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
discret avec répétitions et acquittements présente un domaine d’intérêt pour des trafics de
données ne permettant pas de respecter la durée de vie souhaitée de 15 ans. Ceci nous incite
à considérer uniquement les protocoles Aloha et Aloha avec répétitions et acquittements
dans notre comparaison avec l’architecture multi-sauts.
Dans un second temps, on constate que pour des trafics supérieurs à une trame par
jour et par nœud, cette architecture nécessite la transmission d’un acquittement de la
passerelle vers le nœud capteur. Cette hypothèse est équivalente à supposer la symétrie du
lien radio pour l’ensemble des nœuds capteurs de la topologie, hypothèse non vérifiée dans
des déploiements existants [114].
Enfin, on constate que l’architecture à radio longue portée ne permet pas de respecter
le taux de livraison souhaité (99% de taux de livraison) dès lors que le trafic par nœud
excède deux trames de données par jour pour un déploiement de 5000 nœuds et 1 trame par
jour pour un déploiement de 10000 nœuds, déploiement type pour une agglomération de
taille moyenne et pour un déploiement en zone urbaine fortement peuplée respectivement.
Ce constat exclue donc son usage dans le cadre d’un réseau opérant plusieurs applications
simultanément.
131CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(a) NR = 100
(b) NR = 1000
132CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(c) NR = 5000
(d) NR = 10000
Figure 6.14 – Protocoles pour réseaux de capteurs urbains longue portée : puissance
dissipée et domaines d’intérêt
133CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
6.4 Recommandations pour une architecture de réseaux de
capteurs urbains : Synthèse générale
Après avoir étudié séparément les deux architectures de réseaux de capteurs urbains
sans-fil, nous présentons une analyse comparative de ces dernières et les recommandations
d’usage selon le trafic à supporter par le réseau. Pour cela, nous restituons sur la Figure
6.13 les résultats obtenus pour chacune des configurations de réseau : 6.15a présente les
résultats obtenus pour un déploiement d’une centaine de nœuds et dont la densité est
d’une dizaine de nœuds par voisinage radio dans l’approche multi-saut, 6.14b, 6.14c et
6.13d illustrent les résultats pour des déploiements comportant un nombre de nœuds et
une densité correspondant respectivement à une petite ville (6.14b), à une ville de taille
moyenne (6.14c) jusqu’à un arrondissement peuplé d’une grande ville (6.13d).
On constate en premier lieu que l’architecture multi-sauts permet d’acheminer de l’ordre
de deux fois plus de trafic sous exigence de durée de vie et de taux de livraison. En effet,
l’architecture à radio longue portée supporte une période de génération de 3,1h pour un
déploiement de 1000 nœuds, contre 1,5h pour l’architecture multi-sauts, de 11,7h contre
6,2h pour un déploiement de 5000 nœuds et de 23,6h contre 11,1h pour un déploiement de
10000 nœuds. On note également que l’architecture multi-sauts présente une consommation
énergétique moyenne par nœud de deux à huit fois supérieure à celle de l’architecture
longue portée pour une transmission journalière. En revanche, lorsque le trafic journalier
excède quatre à cinq trames par jour, la consommation énergétique de l’architecture à radio
longue-portée devient plus importante.
(a) NR = 100 et d = 10
Suite à ces observations, nous déduisons les recommandations suivantes. Pour un trafic
faible (inférieur ou égal à 1 trame par jour), sur des topologies de petite taille et jusqu’à un
déploiement dans une agglomération de taille moyenne, l’architecture longue portée s’avère
134CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(b) NR = 1000 et d = 20
(c) NR = 5000 et d = 50
135CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
(d) NR = 10000 et d = 80
Figure 6.13 – Comparaison des architectures longue portée et multi-saut
être la plus efficace du point de vue énergétique. Cette architecture étant par ailleurs moins
complexe à déployer et maintenir (pas de topologie de routage à maintenir), elle semble
être la topologie à privilégier. Notons néanmoins que son fonctionnement repose sur deux
hypothèses qui peuvent ne pas être vérifiées dans des déploiements réalistes : (i) tous les
nœuds capteurs sont capables de transmettre une trame de données à la passerelle, sans
relayage intermédiaire, (ii) les nœuds capteurs sont en capacité de recevoir les trames d’acquittement
émises par la passerelle. Compte tenu de la faible vraisemblance que ces deux
hypothèses soient respectées par tous les nœuds capteurs, nous proposons un protocole de
contrôle d’accès permettant le relayage des trames de données pour ce type d’architecture.
Ce protocole, appelé SARI-MAC et décrit dans le Chapitre 8, permet en effet de lever
les hypothèses (i) et (ii) à faible coût énergétique et de résoudre l’accès au médium sans
nécessiter la détection des transmissions du voisinage radio (contrairement aux algorithmes
de contention classiques).
Pour un trafic excédant 4 à 5 trames par jours et par nœud et pour des déploiements
denses, nous recommandons faiblement l’usage d’une topologie multi-sauts. Cette topologie
ne permet de supporter qu’un trafic deux fois plus important que l’architecture à radio
longue portée et entraîne une complexité accrue de son opération : mise en place d’une
topologie de routage (dont le trafic n’a pas été pris en compte dans ces calculs), d’un mé-
canisme de synchronisation, etc. Afin de viabiliser cette architecture, nous proposons deux
protocoles CT-MAC et QOR qui adressent les causes principales de la dépense énergétique
de cette architecture : l’écoute périodique qui est dimensionnée sur le trafic à supporter
et le nombre de transmissions nécessaires pour acheminer une trame de son émetteur à
la passerelle. CT-MAC, présenté dans le Chapitre 7, propose un algorithme de contention
136CHAPITRE 6. CHOIX ET DIMENSIONNEMENT DE L’ARCHITECTURE ET DU PROTOCOLE
MAC D’UN RÉSEAU DE CAPTEURS SOUS EXIGENCES DE QUALITÉ DE SERVICE
permettant d’allouer plusieurs transmissions dans un même cycle d’activité radio. De fait,
il permet soit de supporter davantage de trafic pour un cycle d’activité radio donné ou de
diminuer la fréquence de l’écoute périodique et donc la consommation d’énergie pour un
trafic donné. QOR, présenté dans le Chapitre 9, est un protocole de routage permettant
l’usage de liens longue distance, asymétriques et transients afin de minimiser conjointement
le nombre de retransmissions par trame de données et le délai de livraison. L’ensemble de
ces contributions fait l’objet de la partie suivante du manuscrit.
137Troisième partie
Protocoles adaptés à la collecte de
données dans un réseau urbain
138CHAPITRE
7 Protocole MAC synchrone
pour réseaux de capteurs
urbains sans-fil multisauts
: CT-MAC
7.1 Introduction
Dans le Chapitre 6, nous recommandons l’usage d’une architecture radio multi-sauts à
protocole d’accès synchrone pour un réseau de capteurs urbain lorsque le trafic supporté est
supérieur à 4-5 trames par nœud et par jour. Dans les Chapitres 4, 5 et 6, nous avons identifié
pour un tel scénario les principaux postes de dépense énergétique dans l’établissement
et l’arbitrage d’une communication : (i) l’écoute périodique et (ii) la participation à une
fenêtre de contention. Nous proposons maintenant un mécanisme de contention synchrone,
Cascading Tournament MAC (CT-MAC) permettant d’arbitrer et d’établir plusieurs
instants de transmission simultanément et de manière distribuée. CT-MAC supporte ainsi
plusieurs émissions par période d’activité : le coût de l’arbitrage à l’accès est donc partagé
entre plusieurs transmissions et la durée du sommeil entre les périodes d’activité est
allongée. De cette façon, l’énergie dissipée par transmission diminue significativement.
L’idée clé de CT-MAC est de construire un classement des nœuds en compétition dans
la fenêtre de contention. Alors que les mécanismes de la littérature visent à discriminer un
unique émetteur, CT-MAC construit une liste ordonnée d’émetteurs. À cette liste ordonnée
correspond un ordonnancement des émissions à des instants de transmission successifs.
Pour cela, CT-MAC repose sur un algorithme à 4 étapes : classement, suppression
des doublons, annonce des émissions et transmissions (Fig. 7.1). La première étape
emploie un algorithme de contention similaire aux mécanismes de contention à tonalité
simple ATS grâce auquel chaque compétiteur s’attribue un rang, ce rang étant associé à un
instant de transmission. L’étape de suppression des doublons utilise un algorithme ADB à
distribution uniforme afin que chaque rang ne soit présent qu’une unique fois dans un deuxvoisinage
radio. L’annonce des transmissions est constituée d’une fenêtre de temps dans
laquelle les nœuds émettent tour à tour, selon le rang obtenu, l’adresse de leur destinataire.
Enfin, les transmissions ont lieu dans l’ordre des annonces de transmission aux instants de
transmissions disponibles.
7.2 Description du protocole
7.2.1 Vue globale
Comme indiqué dans la Section précédente CT-MAC repose sur un algorithme à 4
étapes : classement, suppression des doublons, annonces des émissions et transmissions.
Ces différentes étapes sont réalisées de manière séquentielle, tel que décrit par la Figure
7.1. Le scénario de cette Figure, nommé Exemple, servira de référence à chaque étape de
la description.
Nous rappelons que les nœuds suivent un cycle d’activité commun comptant une écoute
140CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.1 – Étapes de l’algorithme de contention de CT-MAC
périodique du médium de communication. Nous supposons pour cela l’usage d’un mécanisme
de synchronisation, par exemple celui proposé dans le Chapitre 4. Sur cette figure,
l’écoute intervient à un instant noté t2. Dans l’Exemple de la figure 7.1, nous supposons
par ailleurs l’existence de ct instants de transmission prédéterminés pour chaque cycle d’activité,
ici ct = 3. Ces instants de transmission peuvent être décliné sous forme d’intervalles
temporels successifs ou sous forme de canaux en fréquence distincts. Dans l’Exemple de la
Figure 7.1, ces trois instants de transmission sont référencés a,b et c et consistent en trois
intervalles de temps successifs.
Les nœuds souhaitant émettre pendant un cycle d’activité à un instant prédéterminé,
appelé t1, intervenant avant l’écoute des nœuds (t2), participent alors à l’étape 1 de classement.
Le but de cette étape de classement est d’attribuer un rang compris entre 1 et
4 (ct+1) à chaque nœud en compétition. Les nœuds obtenant un rang parmi 1, 2 et 3
participent alors à l’étape 2. Les éventuels nœuds obtenant le rang 4 interrompent leur
participation au mécanisme de contention et reportent la tentative d’émission à la prochaine
période d’activité.
L’étape 2 de suppression des doublons a pour objectif de discriminer un unique nœud
par rang et par deux-voisinage radio. Elle se décompose en 3 fenêtres de contention, correspondant
aux 3 rangs et aux trois instants de transmission. Les nœuds en compétition dans
chacune des fenêtres emploient un algorithme de contention ADB à distribution uniforme.
Une fois ces deux étapes réalisées, les nœuds n’étant pas encore actifs se réveillent.
L’éventuel nœud de rang 1 transmet alors une trame d’annonce d’émission. Cette trame
contient l’adresse du nœud destinataire ainsi qu’un identifiant de paquet, celui qui va être
transmis. Le nœud de rang 2 et 3, s’ils existent, transmettent à leur tour, successivement,
leur trames d’annonces. Lorsqu’un nœud n’émet pas de trame d’annonce, il écoute le mé-
dium de communication. À la réception d’une trame d’annonce, un nœud détermine s’il
est le destinataire de la trame de données. Si oui, il planifie une écoute du médium de
communication à l’instant de transmission correspondant.
Une fois l’étape d’annonce terminée, les nœuds ayant obtenu l’autorisation d’émission
exécutent l’envoi de leur trame de données aux instants de transmission déterminés par
leur rang : le nœud de rang 1 émet à l’instant de transmission a, le nœud de rang 2 à
l’instant de transmission b et le nœud de rang 3 à l’instant de transmission c.
141CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
7.2.2 Étape 1 : Classement des nœuds émetteurs
L’étape de classement des nœuds émetteurs prend place dans une fenêtre de contention
de taille K1, débutant à l’instant t1. La durée des intervalles composant la fenêtre est
déterminée conformément au dimensionnement proposé dans le Chapitre 4 et est explicité
en Section 7.3.1. La durée d’un intervalle garantit donc une période commune entre nœuds
voisins permettant l’envoi et la détection de signaux d’annonce de transmission, malgré
une éventuelle désynchronisation.
Les nœuds émetteurs participant à cette fenêtre de contention tirent l’un des intervalles
selon une loi de distribution choisie. Dans la première partie de cette présentation, nous
supposons l’usage d’une loi uniforme. A l’instar des mécanismes de contention à tonalité
simple 1 (ATS), un nœud planifie l’émission d’un signal de transmission dans l’intervalle
tiré et une écoute des intervalles précédents. Ce comportement est décrit par la Figure 7.2.
Figure 7.2 – Étape 1 de l’algorithme de contention de CT-MAC, comportement d’un
nœud isolé souhaitant émettre
Contrairement aux mécanismes de contention de type ATS, un nœud n’interrompt pas
nécessairement sa participation lorsqu’il détecte un signal de transmission. Au lieu de cela,
il en mémorise le nombre dans un registre : c1. A chaque nouvelle détection, la valeur
de c1 est comparée au nombre d’instants de transmission disponibles : ct (ct = 3 dans
l’Exemple de la Figure 7.1). Si c1 est égal à ct alors la participation du nœud est annulée
et la transmission est reportée à une période d’activité ultérieure. Dans le cas contraire, le
nœud continue sa participation. Un nœud qui n’interrompt pas sa participation mémorise
la valeur c1 au moment d’émettre le signal de transmission. Cette valeur, qui correspond
au nombre d’intervalles marqués, est utilisée à titre de classement et permet l’allocation
des ct instants de transmission. Dans l’exemple illustré par les Figures 7.1 et 7.3, le nœud
2 obtient le premier instant de transmission (a), le nœud 1 obtient le second instant de
transmission (b) et le nœud 4 obtient le troisième et dernier instant de transmission (c).
Le nœud 3 interrompt sa participation au mécanisme de contention, il n’y a en effet plus
d’instant de transmission disponible.
7.2.3 Étape 2 : Suppression des doublons dans le classement
Lorsque deux nœuds ou plus réalisent le même tirage lors de l’étape 1, c’est à dire
émettent leur signal de transmission dans le même intervalle, ils obtiennent probablement
1. une définition de ces mécanismes est disponible dans le Chap.5
142CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.3 – Étape 1 de l’algorithme de contention de CT-MAC, comptage des détections
et classement
le même classement et tentent d’émettre au même instant de transmission. Un tel scénario,
illustré par la Figure 7.4, peut mener à une collision des trames de données et donc
à un échec de leurs transmissions. Conformément aux observations du Chapitre 5, l’algorithme
de l’étape 1 peut être ajusté de manière à limiter la probabilité correspondante :
en augmentant le nombre de séquences a priori 2 ou en utilisant une loi de distribution
optimisée lors du tirage. La première solution nécessite une augmentation de la taille de
la fenêtre de contention : K1. Compte tenu de la nature de l’algorithme, i.e. les nœuds
tirent un intervalle parmi les K1 disponibles, le nombre de séquence a priori augmente de
manière linéaire avec la taille de la fenêtre. La deuxième solution nécessite quant à elle une
estimation fiable du nombre de compétiteurs.
Dans CT-MAC, nous distinguons l’objectif de classement des nœuds, opéré lors de
l’étape 1 et la suppression des doublons dans le classement, opérée ultérieurement : étape
2. Dans le Chapitre 5, nous avons en effet montré que les algorithmes à décompte binaires
(ADB) sont les algorithmes de contention les plus efficaces pour discriminer un nœud
unique parmi un ensemble en compétition. Nous associons donc une fenêtre de contention
de suppression des doublons à chaque instant de transmission disponible. Dans l’exemple
de la Figure 7.1, nous avons trois fenêtres nommées d’après les instants de transmission
correspondants, i.e. a, b et c, chacune de taille k2, k2=6.
Les fenêtres de contention de l’étape 2, au nombre de 3 dans l’exemple, ont lieu après
la fenêtre de contention de l’étape 1. Chacune est de taille K2. À chaque intervalle, conformément
à la description faite des algorithmes à décompte binaire dans le Chapitre 5, les
nœuds réalisent soit une détection de transmission, soit l’émission d’un signal de transmission,
selon un tirage aléatoire. Compte tenu des conclusions tirées dans le Chapitre 5, le
tirage aléatoire suit une loi de distribution uniforme. À chaque intervalle, les nœuds participants
effectuent l’action tirée aléatoirement. La Figure 7.5 illustre le déroulement d’une
telle fenêtre pour un nœud seul en compétition.
Si un nœud détecte un signal de transmission, il interrompt sa participation et reporte
l’envoi de sa trame de données à la prochaine période d’activité. Un tel scénario est décrit
par la Figure 7.6.
2. la notion de séquence a priori est définie et expliquée dans le Chapitre 5.
143CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.4 – Deux noeuds obtiennent un classement identique suite au tirage du même
intervalle
Figure 7.5 – Étape 2 de l’algorithme de contention de CT-MAC, comportement d’un
nœud isolé
Figure 7.6 – Étape 2 de l’algorithme de contention de CT-MAC, suppression d’un doublon
7.2.4 Étape 3 : Annonces des émissions
À la fin de l’étape 2, les nœuds souhaitant transmettre ont soit obtenu accès à l’un des
instants de transmission, soit reporté l’émission de leur trame de données. À la date t2,
144CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
tous les nœuds du réseau activent leur circuit radio.
Les nœuds sortis vainqueurs des étapes 1 et 2 transmettent un trame d’annonce dans
l’un des ct intervalles de la fenêtre d’annonce selon l’ordre du classement établi. Cette trame
d’annonce contient l’identifiant du destinataire de la trame de données et un identifiant
de paquet, incrémenté à chaque nouvelle trame de données. Une fois la trame d’annonce
émise, le nœud émetteur écoute le médium radio dans l’attente d’un acquittement de la
part de la destination. À la réception de ce dernier, le nœud programme l’émission de la
trame à l’instant de transmission correspondant à son rang. En l’absence d’acquittement,
l’émission de la trame de donnée est annulée et le nœud la reporte à la période d’activité
suivante.
Lorsqu’un nœud ne transmet pas d’annonce dans un intervalle, il écoute le médium. À
la réception d’une trame d’annonce, il détermine s’il est le destinataire de la trame. Dans
ce cas, il programme une écoute du médium à l’instant de transmission correspondant à
l’annonce. Dans le cas contraire, il ignore l’annonce. La Figure 7.7 illustre ce comportement :
le nœud 2 transmet une trame d’annonce dans l’intervalle a après avoir obtenu accès à
l’instant de transmission a. Les nœuds 1 et 3 détectent et reçoivent la trame d’annonce. le
nœud 3, destinataire de la trame transmet en retour une trame d’acquittement alors que le
nœud 1 ignore la trame. Finalement, le nœud 2 planifie l’émission de la trame de données
à l’instant de transmission a et le nœud 3 planifie son écoute.
Figure 7.7 – Étape 3 : annonce des émissions et planification des émissions/écoute
Le mécanisme de classement par comptage et d’annonces ordonnées a pour effet de
grouper les annonces au début de la fenêtre. Nous exploitons cette propriété pour limiter
le coût inhérent à l’écoute périodique, c’est à dire à l’écoute des trames d’annonces. Ainsi,
si aucune trame d’annonce n’est détectée dans plusieurs intervalles d’annonce successifs,
ce nombre étant appelé ca, un nœud éteint sa radio jusqu’au prochain instant de réveil
programmé (l’un des instants de transmission ou la période d’activité suivante selon les
cas). La Figure 7.8 illustre un tel scénario pour une valeur ca égale à deux : le nœud 4,
situé hors de portée des nœud 1 et 2, ne détecte aucune trame d’annonce dans les deux
premiers intervalles d’annonce et éteint donc sa radio. Le choix de la valeur ca est discuté
en Section 7.3.1.
145CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.8 – Étape 3 : Écoute adaptative des annonces
7.2.5 Étape 4 : Transmission des trames de données
Lors de l’étape 3, les nœuds émetteurs ont annoncé l’instant de transmission ainsi
qu’un identifiant de paquet. Les nœuds ayant reçu un acquittement émettent leur paquet
de données à l’instant de transmission correspondant à leur classement. Les destinataires
écoutent quant à eux le médium aux instants définis par les messages d’annonce, comme
illustré par la Figure 7.9.
Figure 7.9 – Étape 4 : Transmission des données
7.3 Discussions
Dans cette Section, nous détaillons l’implémentation de la détection de transmission,
l’optimisation de la loi de distribution de l’étape 1 et l’optimisation de l’usage des instants
de transmission.
146CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
7.3.1 Implémentation de la détection de transmission
CT-MAC fait usage de fenêtres de contention pour départager et classer les nœuds
candidats à l’émission. Lors d’une fenêtre de contention, un nœud peut alternativement
émettre des signaux de transmission ou écouter le médium afin de détecter une éventuelle
transmission. Comme l’indique la Section 7.2.2, le bon fonctionnement des algorithmes de
classement et de suppression des doublons dépendent de la capacité des nœuds à détecter
les signaux de transmission des autres compétiteurs. Nous décrivons ici une implémentation
de ces mécanismes permettant d’assurer le bon fonctionnement du protocole.
Nous proposons que la détection est effectuée au moyen d’un "Clear Channel Assessment"
(CCA) comme proposé par B-MAC [25] afin de limiter le nombre de faux-positifs 3.
De fait, il suffit que le signal excède le seuil de sensibilité du circuit radio pour être détecté.
Démoduler un message nécessite au contraire un rapport signal sur bruit et interférences
fonction du taux d’erreur binaire acceptable. De cette façon, nous assurons un périmètre
de détection de transmission plus large que pour la transmission de données.
Nous spécifions également que chaque intervalle des fenêtres de contention des étapes
1 et 2 soit décomposé en deux sous-intervalles, tel qu’illustré par la Figure 7.10 et proposé
par [115]. À l’instar du nœud 2 de la Figure 7.10, les nœuds émettant un signal d’occupation
le font dans le premier sous-intervalle. Un nœud à l’écoute réalise une première détection
dans ce même sous-intervalle. Si un signal est détecté, il transmet un signal d’occupation
dans le deuxième sous-intervalle (écho), sinon il réalise à nouveau une détection.
Figure 7.10 – Fiabilisation de la détection par voix d’écho
La Figure 7.10 illustre l’intérêt d’un tel mécanisme. Dans ce scénario, le nœud 4 ne
détecte pas le signal de transmission du nœud 2 lors de la première détection. En revanche
le nœud 3 le détecte et transmet donc un signal d’occupation en écho dans le deuxième
sous-intervalle. Lors de la deuxième détection, le nœud 4 détecte le signal d’écho et est
donc notifié de la transmission du nœud 2. Cette implémentation est particulièrement
utile lorsque les nœuds reçoivent les messages de données à des niveaux de puissance
proches du seuil de sensibilité de la radio ou en présence de nœuds cachés, i.e. lorsque
l’hypothèse d’une portée de détection double de celle de communication n’est pas vérifiée.
3. le mécanisme est basé sur une série de détection de signal à laquelle est appliqué un algorithme de
détection d’outlier
147CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
La contrepartie d’une telle mesure est un accroissement de la consommation d’énergie,
pouvant ainsi atteindre le double d’un mécanisme sans voix d’écho (pire cas). Néanmoins,
ce coût est compensé par l’allocation multiple d’instants de transmission, i.e. ct instants
par période d’activité (ct & 2).
7.3.2 Optimisation de la loi de distribution du tirage de l’étape 1
Dans le Chapitre 5 traitant des mécanismes de contention, nous montrons que tirer les
séquences a priori selon une loi de distribution géométrique croissante tronquée plutôt que
selon la loi uniforme diminue le taux de collision sur les données. Son usage est cependant
d’un intérêt limité en raison du faible nombre de compétiteurs par fenêtre de contention (en
moyenne inférieur à 1) avec les algorithmes de contention de la littérature. Cette mesure
n’a en effet d’intérêt qu’en présence de multiples compétiteurs par fenêtre de contention.
Parce qu’il factorise l’allocation de plusieurs instants de transmission lors de l’étape 1,
CT-MAC conduit à la présence de multiples compétiteurs dans la fenêtre de contention.
Compte-tenu du dimensionnement de la période d’activité présenté dans le Chapitre 6, le
nombre attendu de compétiteurs lors de l’étape 1 est de ct/2. Il devient donc intéressant
d’utiliser une loi de distribution optimisée. Nous présentons ici une méthodologie afin de
parvenir à son expression. En revanche, notre analyse de performance se basera sur une loi
de distribution uniforme, l’implémentation et l’analyse de performance selon une telle loi
optimisée faisant l’objet de travaux futurs.
7.3.2.1 Notations
Dans cette étude, nous réutilisons les notations et conventions adoptées dans le Chapitre
5. Les notations utiles à la compréhension sont synthétisées dans le tableau 7.1. Nous
rappelons également la convention choisie dans le Chapitre 5 : chacune des |S| séquences a
priori est associée à un entier compris entre 1 et |S|, l’entier 1 correspondant à la séquence
la plus forte et |S| la séquence la plus faible.
notation signification
n nombre de nœuds dans le voisinage radio
⌦ ensemble des séquences a priori réalisables dans la fenêtre de contention
S ensemble des séquences a priori autorisées par l’algorithme de contention
P mesure de probabilité sur ⌦ tel que 8s 2 S, P(s) est la probabilité pour un
nœud en compétition de tirer la séquence s
Pr(⌦, S, P, n) mesure de probabilité sur ⌦ tel que 8s 2 S, Pr(⌦, S, P, n)(s) est la probabilité
que la séquence s soit d’ordre r sachant le quadruplet (⌦, S, P, n)
Cr(⌦, S, P, n) fonction de répartition correspondante à Pr(⌦, S, P, n)
Ar(⌦, S, P, n) différence d’aire entre les courbes Cr(⌦, S, P, n) et Cr+1(⌦, S, P, n)
Table 7.1 – Notations retenues pour l’optimisation de la loi de distribution utilisée à
l’étape 1 du protocole CT-MAC
7.3.2.2 Méthode
La méthode d’optimisation que nous proposons repose sur l’analyse des statistiques
d’ordre des tirages de séquences a priori réalisés lors de l’étape 1. Nous constatons en effet
que le classement des nœuds correspond à l’ordre des séquences de chaque nœud parmi
l’ensemble des séquences tirées, e.g. le nœud tirant la séquence la plus forte obtient le
148CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
premier instant de transmission, le nœud tirant la séquence la plus forte parmi les séquences
restantes obtient le second instant de transmission, etc. Minimiser le taux de collision pour
la première place du classement est donc équivalent à maximiser la probabilité que la
plus petite valeur tirée parmi [1, |S|] soit différente de la deuxième plus petite valeur.
Autrement dit, on souhaite maximiser la différence entre les aires sous les courbes de
C1(⌦, S, P, n) et de C2(⌦, S, P, n). Pareillement, minimiser les collisions sur les ct premières
places du classement , i.e. celles permettant un accès aux instants de transmissions revient
à maximiser les différences des aires des courbes Cr(⌦, S, P, n) et Cr+1(⌦, S, P, n), c’est à
dire Ar(⌦, S, P, n), pour r compris entre 1 et ct.
Figure 7.11 – Fonction de répartition des statistiques d’ordre pour une loi uniforme,
exemple avec |S| = 16 et n = 4
Démonstration. La Figure 7.11 représente les fonctions de répartitions des statistiques
d’ordre pour une loi de tirage dans S uniforme et pour 4 compétiteurs, i.e. C1(⌦, S, U, 4) :
marqueurs ronds (en orange) et annotation "ordre 1", C2(⌦, S, P, 4) : marqueurs triangulaires
(en bleu) et annotation "ordre 2", C3(⌦, S, U, 3) : marqueurs carrés (en vert) et
annotation "ordre 3" et C4(⌦, S, U, 4) : marqueurs étoilés (en rouge) et annotation "ordre
4". Afin d’expliciter la signification de chacune des courbes, considérons les points d’intersection
entre la droite d’abscisse 7 et les courbes "ordre 1" et "ordre 2". L’intersection
avec la courbe "ordre 1" (C1(⌦, S, U, 4)) nous informe que la séquence la plus forte a une
probabilité de 90% d’être inférieure ou égale à 7, alors que l’intersection avec la courbe
"ordre 2" (C2(⌦, S, U, 4)) nous informe que la seconde séquence la plus forte a une probabilité
d’environ 60% d’être inférieure à 7. Considérons maintenant la surface délimitée par
le rectangle en pointillés. D’après ce qui vient d’être dit, plus cette aire est grande, plus la
séquence la plus forte a des chances d’être distincte de la deuxième séquence la plus forte,
i.e. la séquence la plus forte est inférieure ou égale à l’abscisse du rectangle alors que la
149CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
deuxième séquence la plus forte est supérieure strictement à cette abscisse. Par extension,
nous en déduisons que plus l’aire entre les courbes de deux ordres successifs est grande,
i.e. Ar(⌦, S, P, n), plus la probabilité d’avoir des séquences d’ordres successifs distinctes est
grande.
7.3.2.3 Calcul de Ar(⌦, S, P, n)
D’après [116], la loi de densité de la statistique d’ordre r en un point s d’un ensemble
discret et fini est donnée par la formule :
Pr(⌦, S, P, n)(s) = n!
(r ! 1)!(n ! r)! Z C(s)
C(s#1)
wr#1(1 ! w)
n#rdw (7.1)
Cette expression est équivalente à :
Pr(⌦, S, P, n)(s) = n!
(r ! 1)!(n ! r)!
wr
r
2F1(r, r ! n;1+ r; w)
?C(s)
C(s#1)
avec 2F1 la fonction hypergéométrique de Gauss.
En utilisant la transformée d’Euler :
Pr(⌦, S, P, n)(s) = n!
(r ! 1)!(n ! r)![
wr
r .(1 ! w)
n+1#r
2F1(1, 1 + n;1+ r; w)]C(s)
C(s#1)
En simplifiant d’avantage et en remplaçant la fonction hypergéométrique par son expression
littérale :
Pr(⌦, S, P, n)(s) = n!
r!(n ! r)![wr(1 ! w)
n+1#r
2F1(1, 1 + n;1+ r; w)]C(s)
C(s#1)
= n!
r!(n ! r)![wr(1 ! w)
n+1#rX1
k=0
wk1(k)
(1 + n)(k)
k!(1 + r)(k) ]
C(s)
C(s#1)
= n!
r!.(n ! r)![wr(1 ! w)
n+1#rX1
k=0
wkk!
(n+k)!
n!
k!
(r+k)!
r!
]
C(s)
C(s#1)
= 1
(n ! r)![wr(1 ! w)
n+1#rX1
k=0
wk(n + k)!
(r + k)! ]
C(s)
C(s#1)
En opérant le changement de variable k ! k ! r, l’expression devient :
Pr(⌦, S, P, n)(s) = 1
(n ! r)![wr(1 ! w)
n+1#rX1
k=r
wk#r(n + k ! r)!
(r + k ! r)! ]
C(s)
C(s#1)
= 1
(n ! r)![(1 ! w)
n+1#rX1
k=r
wk(n + k ! r)!
k! ]
C(s)
C(s#1)
= [(1 ! w)
n+1#rX1
k=r
wk(n + k ! r)!
k!(n ! r)! ]
C(s)
C(s#1)
En faisant apparaître la somme de k=0 à l’infini :
Pr(⌦, S, P, n)(s) = [(1 ! w)
n+1#r(
X1
k=0
wk(n + k ! r)!
k!(n ! r)! !Xr#1
k=0
wk(n + k ! r)!
k!(n ! r)! )]C(s)
C(s#1)
= [(1 ! w)
n+1#r( 1
(1 ! w)n+1#r !Xr#1
k=0
wk(n + k ! r)!
k!(n ! r)! )]C(s)
C(s#1)
150CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Pr(⌦, S, P, n)(s) = [(1 ! w)
n+1#rXr#1
k=0
wk(n + k ! r)!
k!(n ! r)! ]
C(s#1)
C(s)
La fonction de répartition s’exprime donc sous la forme :
Cr(⌦, S, P, n)(s) = Xs
i=1
Cr(⌦, S, P, n)(s)
= Xs
i=1
[(1 ! w)
n+1#rXr#1
k=0
wk(n + k ! r)!
k!(n ! r)! ]
C(s#1)
C(s)
La somme étant télescopique, on obtient :
Cr(⌦, S, P, n)(s) = [(1 ! w)
n+1#rXr#1
k=0
wk(n + k ! r)!
k!(n ! r)! ]
0
C(s)
On déduit :
Ar(⌦, S, P, n) = X
|S|
s=1
[Cr(⌦, S, P, n)(s) ! Cr+1(⌦, S, P, n)(s)]
= X
|S|
i=s
[[(1 ! w)
n+1#rXr#1
k=0
wk(n + k ! r)!
k!(n ! r)! ]
0
C(s)
![(1 ! w)
n#rXr
k=0
wk(n + k ! r ! 1)!
k!(n ! r ! 1)! ]
0
C(s)]
= X
|S|
s=1
(1 ! C(s))n#r[
Xr#1
k=0
[
C(s)k
k!
(n + k ! r ! 1)! ! (n+k#r)!
n#r (1 ! C(s))
(n ! r ! 1)! ]
+
C(s)r
r!
(n ! 1)!
(n ! r ! 1)!]
7.3.2.4 Application à un cas simple : choix du paramètre ↵ de la loi géomé-
trique croissante tronquée
Afin d’illustrer l’intérêt de la méthode proposée, nous étudions le choix de la valeur
du paramètre ↵ de la loi géométrique G. Nous nous plaçons dans le cas d’un mécanisme
de contention classique, i.e. allocation d’un seul instant de transmission. Nous rappelons à
titre informatif que [34] propose la valeur suivante : ↵ = n !1
|S|!1 .
D’après ce qui précède, minimiser le taux de collision dans ce scénario revient à maximiser
A1(⌦, S, G, n). Son expression est donnée par :
A1(⌦, S, G, n) = X
|S|
s=1
[nC(s)(1 ! C(s))n#1]
= X
|S|
s=1
[n
↵|S|
1 ! ↵S (↵#s ! 1)(1 ! ↵|S|
1 ! ↵S (↵#s ! 1))n#1]
En faisant varier le paramètre ↵ dans l’intervalle ]0; 1[ on obtient la courbe noire présentée
sur la Figure 7.12 (|S| = 128 et n = 32).
151CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.12 – Paramètrage de la loi géométrique, choix du paramètre ↵ pour |S| = 128 et
n = 32
On observe que A1(⌦, S, G, n) admet un maximum global et aucun maximum local. Une
recherche de ce maximum par la méthode de l’algorithme du gradient est donc envisageable :
sur cet exemple, ce maximum est obtenu pour ↵ ⇡ 0.958 (étoile verte sur la courbe). À
des fins de comparaison, nous avons rapporté la valeur de ↵ proposée par [34] : ↵ =
0.973. En injectant ces valeurs dans l’équation de la probabilité de collision pour une loi
géométrique (équation 5.4 du Chapitre 5), nous obtenons le taux de collision obtenu avec
le dimensionnement proposé par [34] : 2, 7% et avec notre méthode de dimensionnement :
2, 4%. La méthode de dimensionnement proposée permet, pour cet exemple, une diminution
de 11% du taux de collision.
7.3.2.5 Application à l’étape de classement de CT-MAC
Cette même méthode peut être appliquée à l’optimisation de l’étape de classement de
CT-MAC et nous proposons de l’appliquer pour choisir le paramètre ↵ de la loi géomé-
trique 4. Comme indiqué précédemment, maximiser l’aire Ar(⌦, S, P, n) revient à minimiser
le taux de collision entre la rieme plus petite valeur tirée dans S et la (r + 1)ieme plus petite
valeur. Dans l’illustration de CT-MAC (Figure 7.1), nous avons 3 instants de transmission
par période d’activité. Nous cherchons donc dans cet exemple à maximiser les aires
A1(⌦, S, P, n), A2(⌦, S, P, n) et A3(⌦, S, P, n) au détriment des aires Ar(⌦, S, P, n) d’ordre
r & 4. À chacun des ordres inférieur ou égal à trois correspond un instant de transmission et
nous supposons que ces instants de transmissions sont tous équivalents, i.e. ils permettent
4. cette méthode permet également de trouver la loi de distribution générique optimale. Il faut pour cela
considérer la forme générale de Ar(⌦, S, P, n). Ce travail nécessite néanmoins une méthode d’optimisation
non triviale en raison de la fonction objectif non linéaire et des contraintes sur l’espace des solutions (somme
des probabilités égale à 1).
152CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
tous l’émission d’une trame de données. Nous choisissons donc une fonction objectif visant
à minimiser le taux de collision le plus élevé parmi les ct premiers ordres :
fobjectif = max(min(A1(⌦, S, P, n), A2(⌦, S, P, n), ..., Act(⌦, S, P, n)))
Afin d’illustrer les résultats obtenus, nous considérons le scénario suivant : n = 32
nœuds en compétition dans une fenêtre de taille K1 = 128 et ct = 3 instants de transmissions.
La Figure 7.13 représente les valeurs de A1(⌦, S, P, n), A2(⌦, S, P, n), A3(⌦, S, P, n)
et A4(⌦, S, P, n) sur l’intervalle ↵ 2 [0, 85; 1].
Figure 7.13 – Application à l’étape de classement de CT-MAC, choix du paramètre ↵
D’après la Figure 7.13, le maximum de la fonction objectif est atteint pour ↵ ⇡ 0, 973,
valeur à choisir comme paramètre de la loi géométrique tronquée pour ce scénario.
7.3.3 Optimisation de l’usage des instants de transmission
Suite à l’étape 1 de CT-MAC, les nœuds émetteurs en compétition se sont soit retirés de
la compétition, soit attribués un classement. À la suite de la compétition, jusqu’à ct instants
de transmission ont été alloués pour chaque deux-voisinage radio. Lorsque certains instants
de transmission n’ont pas été affectés, nous permettons aux nœuds souhaitant émettre plus
d’un paquet lors de la période d’activité de concourir pour l’un des instants de transmission
restés vacants.
Pour cela, nous proposons que ces nœuds maintiennent un deuxième compteur nommé
c2. Ce compteur est initialisé à 0 au début de l’étape 1 et est incrémenté chaque fois que
le nœud détecte ou transmet un signal de transmission. Afin de déterminer les instants
de transmission restés vacants, ces nœuds prolongent ainsi leur écoute du médium après
l’envoi du signal de transmission et continuent d’incrémenter c2 si un signal d’occupation
est détecté. Ce comportement est décrit par la Figure 7.14.
Dans ce scénario, les nœuds 1 et 2 sont en compétition pour l’accès aux instants de
transmission, le nœud 1 a deux trames de données à émettre, le nœud 2 en a une. Le nœud
2 émet son signal de transmission en premier, il obtient donc le classement 1. Le nœud 1
détecte le signal du nœud 2 puis transmet son signal, il obtient le classement 2. Sachant
153CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.14 – Optimisation de l’usage des instants de transmission
qu’un instant de transmission est toujours vacant (ct = 3) et qu’il a une autre trame à
émettre, le nœud 1 prolonge son écoute. Une fois la fenêtre de contention écoulée, le nœud 1
constate qu’un intervalle est toujours vacant c2 < ct et décide donc de concourir également
pour l’instant de transmission c. La suite du protocole, i.e. les étapes 2, 3 et 4 se déroule
sans modification.
Cette optimisation s’avère particulièrement utile pour les nœuds proches de la passerelle
dans le cas d’une topologie multi-sauts. En effet, en raison de la convergence des trames
vers la passerelle, les nœuds proches de celle-ci peuvent alors écouler plusieurs trames au
sein d’une même période d’activité, permettant ainsi une économie en énergie (une seule
compétition pour plusieurs trames) et en délai (plus besoin d’attendre la prochaine période
d’activité).
7.4 Analyse de performances
Dans cette Section, nous étudions les performances de CT-MAC et les comparons au
protocole SCP-MAC [35]. SCP-MAC est un protocole synchrone à contention efficace en
énergie et sa description est disponible dans le Chapitre 3 (Section 3.1.3.1). Un résumé est
disponible dans la Section 7.4.1.5.
Dans cette étude nous retenons 3 critères de comparaison : le taux de livraison, le délai
de livraison et la puissance dissipée. Ces critères permettent en effet d’étudier l’adéquation
des protocoles étudiés avec les exigences de Qualité de Service et de durée de vie exprimées
dans le Chapitre 1. Nous rappelons ici les exigences principales :
Durée de vie des capteurs La durée de vie attendue des capteurs sans-fil est d’une
quinzaine année environ, soit une puissance moyenne dissipée de 0, 16 mW.
Taux de livraison Les applications cibles tolèrent une perte de paquets de l’ordre du
pourcent.
Délai de livraison Dans les Chapitres 1 et 6, nous avons montré que le dimensionnement
du réseau dans l’optique de supporter le trafic applicatif permettait de garantir le
délai de livraison moyen attendu, nous vérifions ce résultat dans cette étude.
7.4.1 Environnement de simulation, scénarios et critères d’évaluation
Cette évaluation de performance est réalisée par simulation et nous détaillons ici les
outils et la méthodologie utilisée.
154CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
7.4.1.1 WSNet
Les simulations ont été réalisées sur le simulateur WSNet [14]. Ce simulateur développé
par l’Institut National de Recherche en Informatique et en Automatique (INRIA)
est disponible en open-source à l’adresse "http ://wsnet.gforge.inria.fr". Développé en C,
il est spécifiquement conçu pour simuler des réseaux sans-fil, en particulier les réseaux de
capteurs. Il présente en effet une modélisation fine de l’interférence et de la propagation
des signaux radio.
7.4.1.2 Topologies physiques
Les résultats que nous présentons sont issus de la simulation de réseaux de capteurs
déployés selon deux topologies physique : en clique et en grille régulière.
Clique La topologie en Clique consiste en un 1-voisinage radio contenant l’ensemble
des nœuds simulés. Quelque soit la source, le niveau de signal reçu à chaque nœud est le
même. Ainsi, deux trames émises sur le même support temporel ne peuvent être décodées.
Cette topologie nous permet de vérifier le fonctionnement de l’algorithme de classement en
l’absence de pertes due au pathloss et aux nœuds cachés. Nous avons retenu un nombre de
nœuds par scénario compris entre 10 et 80 de façon à correspondre aux études du Chapitre
6.
Grille régulière La grille régulière consiste en un réseau multi-sauts, i.e. les trames sont
nécessairement relayées afin d’être transmises depuis les émetteurs vers les destinataires.
La Figure 7.15 illustre une telle grille et un exemple de portées de communication et de
détection de transmission. Les résultats de simulations qui sont illustrés ci-après portent
sur une grille de 169 nœuds soit jusqu’à 6 sauts entre les sources et la passerelle.
Nous avons choisi une grille régulière à maille carrée afin de pouvoir classifier les nœuds
en fonction de leur position physique et logique dans la topologie. Le détail de l’explication
est disponible dans la Section 8.3.1.4.
7.4.1.3 Modèle radio
Nous considérons dans cette étude un modèle de propagation des ondes radios à deux
rayons sur un canal AWGN. En pratique cela signifie un affaiblissement de 40dB/décade
dans la topologie à grille régulière. Les circuits radio considérés émettent dans la bande
ISM 868MHz à un débit de 19,2kbit/s, selon une modulation BPSK et le temps symbole
est de Ts = 50 µs. La sensibilité du récepteur est de !110 dBm et la puissance en émission
est de 0 dBm. Les puissances dissipées considérées sont identiques au paramétrage choisi
dans le Chapitre 6, nous rappelons les principales informations dans le tableau 7.2 :
Paramètre valeur
Ptx 62, 5 mW
Prx 53, 7 mW
Ereveil 0, 16 mJ
Erx!tx 53, 7 µJ
Etx!rx 53.7 µJ
Table 7.2 – Puissances et énergies dissipées dans le circuit radio
155CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.15 – Grille régulière à maille carrée
7.4.1.4 Paramétrage de CT-MAC
Nous proposons dans cette analyse de performance d’étudier CT-MAC pour une allocation
de ct = 16 instants de transmission par période d’activité 5.
Fréquence d’écoute périodique du médium Dans le Chapitre 6, nous avons étudié
le dimensionnement d’un protocole synchrone à contention. Ce dimensionnement définit la
période de réveil des nœuds capteurs, le dimensionnement des fenêtres de contention, la
période de resynchronisation des horloges et la taille des préambules. Nous avons montré
en particulier que la fréquence d’écoute du médium devait être le double de la fréquence
d’envoi de trames dans le réseau. Ce dimensionnement avait en effet pour hypothèse qu’un
unique instant de transmission par période d’activité. Avec CT-MAC, nous pouvons allouer
jusqu’à ct instants de transmission par période d’activité, nous proposons donc de diviser
la fréquence d’écoute par ct par rapport à la valeur conseillée dans le Chapitre 6.
Dimensionnement de la fenêtre de contention de l’étape 1 Dans cette étude
de performance, CT-MAC implémente la méthode de détection décrite en Section 7.3.1.
Chacun des intervalles de la fenêtre de contention est donc de taille double par rapport
à celle proposée dans le Chapitre 6. Nous choisissons de munir l’étape 1 de CT-MAC
d’une fenêtre de taille relativement faible au regard du nombre d’instants de transmission
disponible, i.e. K1=2ct = 32. Nous rappelons que l’objectif est ici de classer les nœuds,
la suppression des doublons étant réalisés à l’étape 2.
5. Dans la publication [117], nous proposons une étude de CT-MAC avec 32 instants de transmission
par période d’activité. Ces résultats sont de même nature et concordent avec ceux illustrés ici.
156CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Dimensionnement des fenêtres de contention de l’étape 2 Les fenêtres de contention
de l’étape 2 sont dimensionnées d’après les résultats du Chapitre 6 : la taille choisie
est de 6.
7.4.1.5 Paramétrage de SCP-MAC
Avant de présenter son dimensionnement, nous rappelons la structure du protocole
SCP-MAC présenté sur la Figure 7.16.
Figure 7.16 – Protocole SCP-MAC : structure du protocole
SCP-MAC est un protocole synchrone basé sur une écoute périodique synchrone du
médium. Les nœuds souhaitant émettre se réveillent juste avant l’instant prédéterminé pour
l’écoute périodique, écoutent le canal radio et émettent un signal de transmission si aucune
transmission n’est détectée. Le moment de réveil en question est tiré aléatoirement dans une
fenêtre de contention et le signal de transmission est maintenu jusqu’à l’instant de réveil
des nœuds récepteurs. De cette façon, les nœuds récepteurs sont avertis de la transmission
à venir et les autres émetteurs reportent l’émission de leur trame s’ils détectent ce signal.
Suite à l’émission du signal de transmission, les nœuds émetteurs attendent pendant une
courte durée tirée aléatoirement. Ils écoutent ensuite le médium et transmettent leur trame
de données si aucune autre trame n’est détectée.
Nous observons ici 3 éléments de dimensionnement : la période d’écoute et la taille
des deux fenêtres de contention. Ces différents éléments sont dimensionnés selon les recommandations
du Chapitre 6 : la fréquence d’écoute est double du trafic à supporter,
la taille de la première fenêtre de contention est identique à celle de CT-MAC, i.e. 32 et
enfin la deuxième fenêtre est de taille 8. Afin d’offrir une comparaison équitable des deux
protocoles, nous remplaçons en effet le mécanisme de contention proposé originellement
par SCP-MAC par un algorithme à décompte binaire, prouvé plus efficace en énergie pour
un taux de collision donné (voir Chapitre 5).
157CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
7.4.1.6 Modèle de routage
Nous comparons CT-MAC et SCP-MAC sur une même topologie logique. Cette topologie
est un graphe acyclique dirigé enraciné à la passerelle. Dans ces simulations, un nœud
transmet ses trames de données aux parents en équilibrant la charge entre ces derniers. De
cette façon, la charge de trafic est homogénéisée entre les nœuds d’une même couronne.
Une telle topologie est représentée par la Figure 7.17.
Figure 7.17 – Routage sur topologie multi-sauts
7.4.1.7 Modèle de trafic
Dans cette étude, nous considérons une application de relève de compteurs urbains :
chaque nœud autre que la passerelle transmet des trames de données de 600 bits. Les
instants de génération sont strictement périodiques et la loi de distribution temporelle des
instants de génération est uniforme sur la population des nœuds. En raison de la dérive
des horloges des nœuds, la période de génération des trames est définie à ±20ppm. Nous
faisons varier la fréquence de génération des trames entre une trame par jour et une trame
par heure. D’après le Chapitre 6, cette plage de fréquences correspond en effet au domaine
où un réseaux multi-sauts synchrone consomme moins qu’un réseau radio longue portée ou
qu’un réseau multi-sauts asynchrone.
7.4.2 Conditions d’expérimentation
Chacun des scénarios pré-cités est simulé 6 fois, le générateur de nombres pseudoaléatoire
étant initialisé à chaque fois avec une graine différente ("seed"). Chaque itération
représente une durée équivalente à 10 000 périodes d’activité de SCP-MAC. Les résultats
que nous présentons font l’objet d’un moyennage sur l’ensemble des 6 itérations et l’intervalle
de confiance à 95%, non représenté sur les Figures pour des raisons de lisibilité, est
d’une largeur inférieure à 6% de la valeur représentée.
158CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
7.4.3 Résultats pour une topologie physique en clique
Nous présentons ici les résultats obtenus pour la topologie physique en clique.
7.4.3.1 Puissance dissipée
Figure 7.18 – Puissance dissipée comparée, clique de 80 nœuds
La Figure 7.18 représente la puissance moyenne dissipée par le réseau (la passerelle
n’est pas incluse).
On constate en premier lieu que la puissance dissipée par CT-MAC est inférieure à
celle de SCP-MAC. Sur l’ensemble des scénarios, la puissance moyenne dissipée est réduite
d’environ 10%. Pour les trafics les plus faibles, on constate que le coût majoritaire est induit
par le mécanisme de synchronisation. En effet, dans le Chapitre 4, nous avons montré que la
puissance dissipée pour un nœud relayeur est de l’ordre de 0,02 mW, valeur qui correspond
à la majeure partie de la dépense énergétique totale.
Nous traçons donc la puissance dissipée hors mécanisme de synchronisation afin de juger
de l’intérêt de l’allocation de multiples instants de transmission par période d’activité. Les
résultats sont reportés sur la Figure 7.19.
Dans ces conditions, nous observons que CT-MAC présente une consommation énergé-
tique inférieure de 20% à celle de SCP-MAC. Cette consommation provient majoritairement
du mécanisme de contention.
Ces résultats sur la topologie en clique valident donc l’intérêt de factoriser le coût
de l’allocation de plusieurs instants de transmission et donc la pertinence du protocole
CT-MAC.
159CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.19 – Puissance dissipée comparée (hors synchronisation), clique de 80 nœuds
7.4.3.2 Taux de livraison
Nous vérifions maintenant que cette diminution de la consommation énergétique ne
s’accompagne pas d’effets secondaires préjudiciables sur les exigences de Qualité de Service
que nous avons décrit dans le Chapitre 6. La Figure 7.20 représente les taux de livraison
obtenus sur la clique de plus grande population (80 nœuds). Pour cette étude, le mécanisme
de retransmission en présence d’un échec de l’envoi des données a été désactivé.
On observe que CT-MAC présente un taux de livraison supérieur ou égal à 99,8% sur
l’ensemble des scénarios de trafic. On constate néanmoins un taux de livraison légèrement
inférieur à SCP-MAC pour les trafics les plus faibles. De tels résultats s’expliquent par le
dimensionnement de la période d’activité. En effet, dans le cas de SCP-MAC, l’objectif
du dimensionnement est de garantir un nombre moyen de compétiteurs par fenêtre de
contention strictement inférieur à 1. Ainsi, la probabilité que plusieurs nœuds soient en
compétition lors de la première fenêtre de contention de SCP-MAC est faible et donc une
collision est improbable. Dans le cas CT-MAC, l’objectif est au contraire de rassembler
plusieurs compétiteurs par fenêtre de contention afin de factoriser le coût de l’allocation
des instants de transmission. De fait, la probabilité d’une collision dépend davantage de la
taille des fenêtres de contention et des lois de distribution utilisées.
Ce constat seul n’explique cependant pas l’amélioration du taux de collision lorsque le
trafic est accru. L’explication vient ici du mécanisme de détection des transmissions dé-
crit dans la section 7.3.1. En raison de la dérive des instants de génération des trames, le
nombre de nœuds en compétition par fenêtre de contention présente une variance d’autant
plus faible que le trafic est important (la moyenne restant constante en raison du dimensionnement).
De ce fait, le nombre observé de compétiteurs d’une période d’activité à une
autre présente des variations plus faibles et le dimensionnement de la fenêtre est d’autant
160CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.20 – Taux de livraison comparé, clique de 80 nœuds
plus fiable.
7.4.3.3 Délai de livraison
CT-MAC diminue le coût énergétique de l’établissement des transmissions et de l’écoute
périodique en allouant plusieurs instants de transmission par période d’activité. À trafic
égal, CT-MAC divise par ct la fréquence de l’écoute périodique par rapport à SCP-MAC.
En conséquence, les opportunités de transmission sont ct moins fréquentes et le temps
moyen entre la génération de la trame de données et la tentative d’émission est ct fois
supérieure. Nous vérifions ici que cette caractéristique ne compromet pas les exigences de
qualité de service d’une application de télé-relève de compteurs. La figure 7.21 représente
les résultats obtenus.
Conformément aux résultats attendus, CT-MAC présente un délai de livraison plus
important que SCP-MAC. En revanche, on observe que le délai de CT-MAC est inférieur
à ct fois celui de SCP-MAC, i.e. dans ces simulations, le ratio est de 10, au lieu de 16.
Ce résultat s’explique par l’allocation multiple d’instants de transmission de CT-MAC et
le dimensionnement spécifié dans le Chapitre 6 : la fréquence d’écoute est dimensionnée
afin que le nombre moyen de trames générées par période d’activité soit égal à la moitié
du nombre d’instants de transmission disponible. À chaque période d’activité, SCP-MAC
dispose d’un instant de transmission contre ct pour CT-MAC. Lorsque plusieurs nœuds sont
en compétition avec SCP-MAC, certains reportent leurs émissions et leurs trames subissent
un délai additionnel. CT-MAC supporte de 0 à ct transmissions par période d’écoute. Les
trames de données ne subissent donc pas de délai additionnel lorsque le nombre d’émetteur
dépasse la valeur moyenne attendue de ct
2 . Au contraire, davantage de trames sont délivrées
dans un même intervalle de temps : le délai observé diminue donc.
161CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.21 – délai comparé, clique de 80 nœuds
7.4.4 Résultats pour une topologie multi-sauts
Les résultats obtenus sur la topologie en clique valident l’intérêt de l’allocation de
multiples instants de transmission par période d’activité : CT-MAC présente en effet une
réduction de la consommation d’énergie d’environ 10% par rapport à SCP-MAC, protocole
synchrone à allocation simple, paramétré et optimisé d’après les résultats des Chapitres 4,
5 et 6. Nous montrons cependant que cette réduction d’énergie est obtenue au détriment
du délai et d’une légère diminution du taux de livraison (inférieure de 0,1% pour les trafics
les plus faibles). Dans cette Section, nous analysons les performances de CT-MAC sur
une topologie multi-sauts. Les objectifs sont les suivants : 1. confirmer la réduction de la
consommation d’énergie et 2. vérifier que le taux et le délai de livraison correspondent aux
exigences de Qualité de Service, i.e. 99% de taux de livraison et délai inférieur à la journée.
7.4.4.1 Puissance dissipée
La Figure 7.22 représente les résultats obtenus sur la topologie de 169 nœuds. Les
observations qualitatives sont valables pour l’ensemble des scénarios que nous avons étudiés.
On observe que les simulations sur la topologie multi-sauts confirment la réduction
d’énergie observée sur la topologie en clique : CT-MAC consomme en effet moins que SCPMAC.
Le gain est d’autant plus marqué que les nœuds sont proches de la passerelle,i.e.
numéro de couronne faible. Les nœuds à un saut de la passerelle présente une réduction de
la consommation d’environ 12% sur l’ensemble de la plage de trafic considérée alors que
les nœuds en périphérie de la topologie présente un gain compris entre 4 et 9%. Les nœuds
les plus chargés, i.e. ceux à la durée de vie la plus courte, profitent ainsi d’un allongement
de leur durée de vie de 12%.
162CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.22 – Puissance dissipée comparée, grille de 169 nœuds
7.4.4.2 Taux de livraison
La figure 7.23 présente les taux de livraison obtenus pour la même topologie de 169
nœuds. On constate de prime abord que le dimensionnement choisi permet de garantir
l’exigence de 99% de taux de livraison pour les deux protocoles. Conformément aux résultats
précédents, on note cependant un taux de livraison légèrement inférieur pour CT-MAC
(de 0.5% maximum). L’accroissement du taux de livraison observé sur la Figure 7.20 n’est
cependant plus visible, probablement en raison de la disparité du trafic supporté entre les
nœuds en périphérie de la topologie et ceux plus proches de la passerelle 6.
7.4.4.3 Délai de livraison
Les résultats concernant le délai de livraison de bout-en-bout sont disponibles sur la
Figure 7.24. Ces résultats montrent que les exigences de délai sont respectées sur l’ensemble
de la plage de trafic étudiée et on retrouve les observations qualitatives des résultats de la
topologie en clique.
7.4.5 Synthèse des résultats
Cette analyse de performance met en valeur deux résultats principaux concernant CTMAC
:
– La comparaison que nous proposons, à savoir CT-MAC comparé à SCP-MAC optimisé
d’après les résultats des Chapitres 4, 5 et 6, confirme l’intuition qu’allouer
6. le taux de livraison est évalué sur un ensemble de nœuds présentant des trafics supportés variables,
le taux de livraison observé ne peut donc être lié aisément aux conditions de trafic
163CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.23 – Taux de livraison comparé, grille de 169 nœuds
Figure 7.24 – Délai de bout en bout comparé, grille de 169 nœuds
plusieurs transmissions par période d’activité diminue significativement la consom-
164CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
mation d’énergie liée à l’établissement des transmissions. Ce constat valide l’approche
que nous proposons.
– Nous constatons également que cette approche est compatible avec les exigences de
Qualité de Service d’une application pour réseaux de capteurs urbains. Nous montrons,
en particulier, qu’avec des tailles de fenêtre de contention de taille identique à
celle de SCP-MAC, nous pouvons allouer jusqu’à 16 fois plus d’instants de transmission
par fenêtre de contention sans diminution significative du taux de livraison, i.e.
0.5% de différence maximum par rapport à SCP-MAC. Enfin, nous montrons que les
délais observés avec une telle approche sont compatibles avec les exigences de délai
de livraison détaillés dans le Chapitre 1.
7.4.6 Discussion : Adaptation aux variations de trafic
Les résultats que nous venons de présenter reposent sur le dimensionnement de la
période d’activité, de la période de resynchronisation et des fenêtres de contention tel que
proposé dans les Chapitres 4, 5 et 6. Ce dimensionnement recquiert la connaissance du
volume de trafic supporté par le réseau dès son déploiement. Durant les 15 ans de durée
de vie attendues du réseau, il est cependant très probable que ce volume de trafic varie,
e.g. à l’ajout de nouveaux nœuds ou de nouvelles passerelles dans le réseau, en raison
du déploiement de nouvelles applications, etc. Dans cette Section, nous étudions les effets
d’une augmentation du volume de trafic sur CT-MAC et SCP-MAC dimensionnés pour un
trafic de 1 trame par jour. Les Figures 7.25, 7.26 et 7.27 représentent les résultats observés
sous ces conditions.
Figure 7.25 – Taux de livraison comparé, période d’activité fixe, Clique de 80 nœuds
La Figure 7.25 représente le taux de livraison en fonction du trafic généré. On constate
en premier lieu que les deux protocoles atteignent leur objectif de taux de livraison pour le
165CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
trafic pour lequel ils ont été dimensionnés, ici une trame par jour. Lorsque le volume de trafic
augmente, le taux de livraison du protocole SCP-MAC diminue immédiatement alors que
celui de CT-MAC observe un plateau. Afin de quantifier cette différence de comportement,
nous considérons le trafic supporté pour un taux de livraison dégradé de 80%. Alors que
CT-MAC supporte jusqu’à 2 trames par jour, SCP-MAC ne supporte que 1,4 trames par
jour. Avec un dimensionnement pour un même trafic cible, CT-MAC supporte donc jusqu’à
40% de trafic supplémentaire que SCP-MAC. Cette observation implique que CT-MAC est
en mesure de supporter davantage de variations de trafic que SCP-MAC. CT-MAC permet
ainsi une évolution moins contrainte des usages du réseau et son dimensionnement recquiert
une estimation moins précise que SCP-MAC.
Figure 7.26 – Puissance dissipée comparée, période d’activité fixe, Clique de 80 nœuds
La Figure 7.26 corrobore ces résultats et illustre le comportement des deux protocoles
en termes de consommation d’énergie. Dans le domaine 1, CT-MAC présente une consommation
d’énergie inférieure à celle de SCP-MAC. Au point de croisement des deux courbes,
le protocole SCP-MAC est déjà à saturation de sa capacité et présente un taux de livraison
inférieur à 80% alors que le taux de livraison de CT-MAC est supérieur à 99,8%. Dans le
domaine 2, SCP-MAC consomme moins d’énergie que CT-MAC mais livre environ 50%
moins de trames.
Nous concluons cette analyse par les résultats de la Figure 7.27. Les ruptures de pente
des courbes de délai permettent de retrouver les fréquences de génération de trames pour
lesquelles les files d’attente des nœuds capteurs sont saturées, i.e. les instants de transmissions
disponibles sont en quantité insuffisante pour servir la demande en trafic. On
constate également que le délai subit par le trafic en mode dégradé est moins important
avec CT-MAC.
166CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
Figure 7.27 – Délai comparé, période d’activité fixe, Clique de 80 nœuds
7.5 Synthèse sur CT-MAC
Dans ce Chapitre, nous explorons l’une des pistes proposées dans les Chapitres 5 et 6
pour réduire la puissance dissipée : la factorisation de l’allocation des instants de transmission.
Nous proposons ainsi un algorithme de contention permettant d’allouer de multiples
instants de transmissions et nous présentons le protocole Cascading Tournament MAC
(CT-MAC) qui l’implémente.
Nous proposons une étude de performance par simulation de CT-MAC et une comparaison
avec le protocole SCP-MAC. Cette étude compare les deux protocoles sur des
topologies en clique et multi-sauts et expose les résultats obtenus en termes de taux de
livraison, délai de livraison et puissance dissipée.
Ces résultats montrent que CT-MAC consomme jusqu’à 12% de moins que SCP-MAC
dimensionné selon les résultats des Chapitres 4, 5 et 6, i.e. dimensionné pour respecter
les contraintes de qualité de service au moindre coût énergétique. Cette diminution de la
consommation d’énergie est réalisée dans le respect des exigences de qualité de service typique
d’un réseau de collecte. Nous montrons par ailleurs que CT-MAC est moins sensible
aux variations de trafic que SCP-MAC. Les performances de CT-MAC présentent en effet
une zone de performances dégradées plus progressive que SCP-MAC lorsque le trafic
dépasse la valeur utilisée pour le dimensionnement. CT-MAC est donc une solution plus
pérenne qu’un protocole à allocation simple pour un déploiement de réseau à longue durée
de vie.
Enfin, nous proposons une piste d’optimisation de l’algorithme d’allocation multiple
basé sur une étude des statistiques d’ordre. La méthode proposée est illustrée dans deux
cas simples : nous calculons la valeur du paramètre ↵ de la loi géométrique croissante
tronquée dans le cas d’une allocation simple et dans le cas d’une allocation multiple. Nous
167CHAPITRE 7. PROTOCOLE MAC SYNCHRONE POUR RÉSEAUX DE CAPTEURS URBAINS
SANS-FIL MULTI-SAUTS : CT-MAC
montrons en particulier que l’utilisation de cette méthode pour le calcul de ↵ permet une
diminution du taux de collision significative du taux de collision (11% dans notre exemple)
par rapport à la valeur proposée dans la littérature [34].
168CHAPITRE
8 Protocole de relayage adaptatif
pour réseau urbain de
capteurs sans-fil longue portée
: SARI-MAC
8.1 Introduction
Le Chapitre 6 recommande l’usage d’une architecture radio longue portée lorsque le
réseau de capteurs sans-fil supporte moins de quelques trames, typiquement 4 à 5 trames,
par nœud et par jour. Pour ce scénario et sachant les contraintes de Qualité de Service des
applications de télé-relève de compteurs, nous avons identifié les protocoles MAC les plus
efficaces en énergie selon le volume de trafic : ALOHA et ALOHA avec retransmissions
et acquittement. Cette solution repose sur deux hypothèses que nous rappelons ici : (i)
tous les nœuds capteurs sont capables de transmettre une trame de données à la passerelle,
sans relayage intermédiaire, (ii) les nœuds capteurs sont en mesure de recevoir les
trames d’acquittement émises par la passerelle. Autrement dit, cette solution nécessite un
lien fiable et symétrique entre chaque nœud du réseau et la passerelle. Compte tenu des
caractéristiques de déploiement en milieu urbain, i.e. capteurs déployés sous des regards en
béton armé ou dans des gaines techniques, cette hypothèse est peu crédible. Nous notons
par ailleurs qu’une communication directe entre nœuds et passerelles force certains nœuds
à transmettre à bas débit, i.e. entre 100 et 300 bits/s contre 2400 voire 4800 bits/s dans
les cas les plus favorables. Les trames ainsi envoyées occupent le médium pendant plusieurs
secondes, consomment plus d’énergie et subissent davantage de collisions que celles
transmises à débit plus élevé, e.g. 2400 ou 4800 bits/s. Afin de pallier ces problèmes, nous
proposons que certains équipements du réseau, de préférence déployés en hauteur, entretiennent
une écoute périodique du médium et servent de relais. Ainsi, un nœud, dont le
lien à la passerelle ne vérifie pas les hypothèses pré-citées, peut transmettre sa trame à un
nœud relais qui se charge de l’acheminement jusqu’à la passerelle.
Le protocole de contrôle d’accès en question doit respecter certaines contraintes afin
d’être opérationnel sur une architecture réseau longue portée : (i) la transmission doit être
initiée par le récepteur, seul garant de l’absence d’une transmission en cours ou d’un interférent
dans son voisinage radio. En effet, les nœuds sont pour partie déployés dans des
caves, canalisations, sous la chaussée etc. Ces nœuds ne détectent qu’une faible part des
transmissions des nœuds à proximité géographique et ne peuvent donc déterminer avec fiabilité
l’état du médium radio tel que perçu par le nœud relais. (ii) l’activité radio des nœuds
relais doit être dimensionnée afin de répondre aux exigences de Qualité de Service et afin
de limiter l’énergie dissipée. (iii) le protocole choisi doit pouvoir co-exister avec ALOHA
et ALOHA avec retransmissions et acquittement, c’est à dire se baser sur les mêmes hypothèses
de fonctionnement, i.e. asynchrone, et éviter au mieux les collisions. Compte tenu
de l’absence de détection de transmission avant émission dans ALOHA, ce dernier objectif
nécessite de limiter/minimiser le temps d’occupation du médium par transmission.
Afin de répondre à ce cahier des charges, nous proposons SARI-MAC, The SelfAdapting
Receiver Initiated MAC protocol, un protocole MAC initié récepteur et
169CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
asynchrone, à l’instar de [49] et [38]. SARI-MAC décompose l’établissement d’une transmission
en quatre étapes (Fig. 8.1) : (1) l’émission d’une trame d’annonce par le
récepteur marquant le début d’une fenêtre de contention, (2) l’émission d’une trame
d’intention de transmission par l’émetteur dans l’un des intervalles de la fenêtre, (3)
l’émission d’un échéancier des transmissions par le récepteur et (4) les transmissions
ordonnancées selon l’échéancier. SARI-MAC adapte de lui-même son paramétrage
d’après une estimation au fil de l’eau du trafic supporté par les relais. Ce mécanisme permet
de répondre aux exigences de Qualité de Service (délai, taux de livraison) tout en
minimisant la puissance dissipée et l’occupation du médium par les nœuds relais.
8.2 Description de SARI-MAC
8.2.1 Vue globale
Figure 8.1 – Vue générale de SARI-MAC
SARI-MAC est un protocole initié récepteur asynchrone. Comme l’illustre la Figure
8.1 1, les instants de transmission sont déterminés par les récepteurs selon un processus
en 4 étapes : annonce du récepteur, annonce des intentions de transmission, annonce de
l’échéancier des transmissions et transmission des données. Dans ce schéma de communication,
seuls les récepteurs entretiennent une activité radio périodique. Les émetteurs qui
ne servent pas de relayeurs activent quant à eux leur circuit radio lorsqu’une trame de
données doit être transmise, et seulement dans ce cas. Lorsqu’une trame de données est
soumise à la couche MAC pour transmission, un nœud active sa radio et écoute le médium
(étape 1). Lorsqu’une trame d’annonce est détectée, le nœud compare l’adresse source
de l’annonce avec l’adresse de destination de la trame de données. Si ces deux adresses
sont identiques, le nœud émetteur participe alors à une fenêtre d’annonce des intentions
de transmission (étape 2). Les nœuds émetteurs qui participent à l’étape 2 émettent une
trame d’intention de transmission dans l’un des intervalles de la fenêtre d’annonce pendant
que le nœud récepteur écoute le médium et enregistre les trames d’intentions. À la fin de la
fenêtre d’annonce d’intention, le nœud récepteur émet une trame contenant un échéancier
des transmissions (étape 3). Les nœuds émetteurs écoutent le médium et déterminent si
1. le scénario décrit par la Figure 8.1 sert de référence pour l’ensemble de la description du protocole.
170CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
et quand ils peuvent transmettre leur trame de données. La transmission des données fait
suite à la transmission de l’échéancier (étape 4). Les nœuds émetteurs transmettent leur
données dans l’ordre décrit par l’échéancier. Une fois leur transmission réalisée et acquittée,
les nœuds émetteurs éteignent leur radio. À la fin de l’étape 4, le nœud récepteur
éteint sa radio et programme la prochaine trame d’annonce selon la réussite ou l’échec des
transmissions programmées et le nombre d’annonces d’intention entendues.
8.2.2 Annonce de la fenêtre de réception
Figure 8.2 – Étape 1 : annonce de la fenêtre de réception
L’étape 1 de SARI-MAC consiste à établir une date de référence commune entre un
récepteur et les nœuds souhaitant lui transmettre une trame de données. Pour cela, à la
date t1, le récepteur émet une trame d’annonce après avoir vérifié qu’aucune transmission
n’est détectable. Les champs de la trame d’annonce sont décrits par la Figure 8.2. Outre le
préambule physique, le type de trame et le champ de contrôle d’erreur (CRC ), une trame
d’annonce récepteur contient l’adresse du récepteur, la taille de la fenêtre d’annonce
(k) et la taille du champ code (c) de la trame d’intention de transmission. L’usage de
ces derniers champs est expliqué dans la Section suivante.
À la réception d’une trame d’annonce récepteur, un nœud émetteur détermine si l’annonce
provient du nœud auquel il souhaite envoyer une trame. Si l’adresse concorde, le
nœud émetteur passe à l’étape 2 du protocole. Sinon, il éteint sa radio et programme une
écoute après une durée équivalente à la fenêtre d’intention de transmission.
8.2.3 Annonce des intentions de transmission
À la date t2, i.e. au début de l’étape 2 (Fig. 8.3), le nœud récepteur commence une phase
d’écoute du médium. Les nœuds émetteurs programment l’envoi d’une trame d’intention
de transmission dans l’un des k intervalles de la fenêtre d’annonce. Cette trame d’annonce
est constituée des champs suivants : le type de la trame, le champ code et un CRC. Le
champ code, dont la taille est spécifiée par la trame d’annonce récepteur, prend une valeur
aléatoire tirée par chaque nœud émetteur entre 0 et 2c !1. Dans l’exemple de la Figure 8.3,
l’émetteur a transmet une trame d’annonce avec le code 123 dans le deuxième intervalle
alors que l’émetteur b transmet le code 74 dans le 4eme intervalle. Le nœud récepteur
mémorise les enregistrements (intervalle, code) correspondant aux trames reçues : dans
cet exemple, il mémorise la séquence [(2,123),(4,74)]. Cette séquence sert à la construction
de l’échéancier des transmissions. L’objectif de chacun des couples mémorisés est d’identifier
de manière unique un nœud émetteur.
171CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Figure 8.3 – Étape 2 : annonce des intentions de transmission
Figure 8.4 – Phénomène de capture et intérêt du champ code
Considérons le scénario décrit par la Figure 8.4 : les émetteurs a et b transmettent leur
trame d’intention dans le même intervalle et seule la trame en provenance de a est reçue par
le récepteur. En l’absence d’un champ différenciant les deux intentions de transmission, le
récepteur ne peut construire un échéancier des transmissions sans collision. Deux méthodes
existent pour produire ce champ différenciant : (i) utiliser un identifiant existant supposé
unique, i.e. l’adressse MAC et (ii) tirer une valeur aléatoire tel que décrit sur la Figure
8.4. Bien que la première méthode garantisse l’unicité de la valeur, nous jugeons cependant
que transmettre une adresse MAC complète, e.g. 48 bits en 802.15.4 [56] représente une
dépense énergétique non nécessaire. Nous motivons ce choix dans la Section 8.2.6. Nous
montrons en effet qu’il est possible de dimensionner la taille de la fenêtre de contention
ainsi que la taille des codes de façon qu’un tirage aléatoire d’un code de quelques bits borne
le taux de collision conformément avec les exigences de QoS des applications cibles (Chap.
1), e.g. taux de collision sur les données inférieur à 1%.
8.2.4 Publication de l’échéancier des transmissions
À la date t3, i.e. une fois la fenêtre d’intention écoulée, le nœud récepteur émet une
trame contenant un échéancier des transmissions (Fig. 8.5) et les nœuds émetteurs écoutent
le médium. Cette trame énumère les enregistrements (intervalle, code) entendus lors de la
172CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Figure 8.5 – Étape 3 : publication de l’échéancier des transmissions
fenêtre d’intention, l’ordre des enregistrements correspondant à l’ordre de transmission des
trames lors de l’étape 4. À la réception de la trame, un nœud émetteur consulte les couples
énumérés. Si le couple (intervalle, code) correspondant à sa trame d’intention est présent,
il programme la transmission de sa trame de données dans l’étape 4. Dans le cas contraire,
il reporte sa tentative de transmission à la prochaine trame d’annonce du nœud récepteur.
8.2.5 Transmissions des trames de données
Une fois la trame d’échéancier émise (date t4), le nœud récepteur écoute le médium
afin de recevoir les trames de données. Cette étape est décrite par la Figure 8.6.
Figure 8.6 – Étape 4 : transmission des trames de données
L’étape 4 consiste en une fenêtre de temps composé d’intervalles permettant chacun
l’envoi d’une trame de données et l’émission d’une trame d’acquittement, le nombre d’intervalles
étant égal au nombre d’enregistrements de l’échéancier. Outre le préambule, le
type de trame et le CRC, la trame de données contient un champ code et les données.
La trame d’acquittement contient un champ code.
Dans l’exemple de référence de la Figure 8.1, le nœud récepteur a entendu 2 enregis-
173CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
trements, il planifie 2 intervalles de réception et donc deux instants de transmission t4 et
t5. Conformément à l’échéancier, l’instant de transmission t4 est utilisé par l’émetteur a et
l’instant t5 par l’émetteur b. À chaque réception d’une trame de données, le nœud récepteur
émet une trame d’acquittement contenant le champ code de la trame de données reçue.
Une fois la fenêtre de réception terminée, le nœud récepteur planifie la prochaine trame
d’annonce. Si une trame de données n’est pas reçue, la trame d’annonce est envoyée après
un court temps d’attente tiré aléatoirement (backoff). Si toutes les transmissions se sont
déroulées avec succès, le nœud récepteur éteint son circuit radio et calcule la durée d’attente
avant transmission de la prochaine trame d’annonce. Ce calcul, basé sur l’estimation du
trafic entrant, est expliqué dans la Section suivante.
8.2.6 Auto-adaptation des paramètres du protocole
Comme indiqué dans la Section 8.1, SARI-MAC adapte ses paramètres de fonctionnement
en fonction du trafic estimé, des exigences de Qualité de Service (exprimées sous
forme de délai moyen maximum et taux de livraison) 2 et de façon à minimiser l’occupation
du médium radio par les nœuds relais. À ces fins, SARI-MAC adapte ainsi les paramètres de
fonctionnement suivants : la période d’attente avant envoi d’une nouvelle trame d’annonce
(Tannonce), la taille de la fenêtre d’intention (k), la taille des codes des trames d’intention
(c).
Figure 8.7 – Auto-adaptation des paramètres
Pour cela, comme l’illustre la Figure 8.7, les nœuds relais estiment le nombre de trames
d’intentions qui leur sont destinées lors de la fenêtre d’intention : n˜ (1). Les nœuds relais
dérivent de cette estimation le volume de trafic à supporter (2). À partir de cette nouvelle
estimation, les nœuds calculent le temps d’attente avant la prochaine trame d’annonce de
façon à (i) supporter le trafic entrant et (ii) respecter les exigences de délai. Au moment
de transmettre la nouvelle trame d’annonce, les nœuds relais estiment le nombre de trames
2. Nous supposons que les exigences de Qualité de Service sont connues des nœuds relais, e.g. renseignées
par l’applicatif.
174CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
d’intention attendues, na priori, en fonction du temps qui s’est réellement déroulé depuis la
dernière période d’activité (3), l’émission de la trame d’annonce a en effet pu être retardée
en raison de transmission en cours. Enfin les nœuds relais calculent la taille de la fenêtre
de contention, k, et la taille des codes, c, en fonction de na priori et des exigences sur le
taux de livraison.
8.2.6.1 Estimation du nombre de trames d’intention : n˜
Cette estimation est construite à partir du nombre de transmissions détectées lors de la
fenêtre d’annonce, noté detections. Remarquons qu’une trame d’annonce peut être détectée
mais non reçue, e.g. collision, erreur de décodage, etc.
Cet estimateur est dérivé de la formule de l’espérance sur le nombre d’intervalles marqués
parmi les k intervalles de la fenêtre d’intention pour n trames d’intentions distinctes.
Cette espérance admet l’expression suivante :
E(detections) = k(1 ! (1 ! 1
k
)
n) (8.1)
où k est la taille de la fenêtre d’intention, n le nombre de trames d’intention et E(detections)
l’espérance sur le nombre de détections.
Démonstration. Soit F = 1, 2, ..., k l’ensemble des intervalles de la fenêtre d’intention. Chacun
des n nœuds tire un des intervalles au hasard selon une loi uniforme. Ses tirages sont
notés : Xi pour i 2 1, 2, ..., n.
Pour chaque élément ` de F, définissons Y` le nombre de fois que l’intervalle ` a été
choisi :
Y` = |{i 2 1, 2, ..., n : Xi = `}|
Posons maintenant Y = (Y1, Y2, ..., Yn). Par définition, Y suit une loi multinomiale de
paramètres n et ( 1
k , 1
k , ..., 1
k ).
Nous pouvons maintenant définir les deux variables aléatoires suivantes :
U = |{` 2 {1, 2, .., k} : Y` = 0}|
V = |{` 2 {1, 2, .., k} : Y` > 0}|
où U représente le nombre d’intervalles non tirés et V le nombre d’intervalles distincts tirés
par les n nœuds.
Soit I` la probabilité que l’intervalle ` ne soit pas choisi. L’espérance de I` est donnée
par :
8` 2 {1, 2, ..., k}, E(I`) = (1 ! 1
k
)
n
Nous notons que U = Pk
`=1 I` donc l’espérance de U est donnée par :
E(U) = Xn
`=1
E(I`)
= k(1 ! 1
k
)
n
Finalement, nous remarquons que U + V = m soit le résultat :
E(V ) = k(1 ! (1 ! 1
k
)
n) (8.2)
175CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Nous inversons l’équation 8.1 afin d’exprimer le nombre de détections en fonction de k
et l’espérance sur le nombre de détection :
n = ln(k ! E(detections)) ! ln(k)
ln(k ! 1) ! ln(k)
et nous dérivons de cette expression l’expression de n˜ :
n˜ = ln(k ! j) ! ln(k)
ln(k ! 1) ! ln(k) (8.3)
avec j le nombre de détections effectives à la suite d’une fenêtre d’intention.
L’équation 8.3 n’est valide que si j 6= k, i.e. il existe au moins un intervalle dans
lequel aucune transmission n’a été détectée. Dans le cas contraire, nous posons de manière
arbitraire n˜ = 4k. Ce cas particulier nous incite à légèrement sur-provisionner la taille de
la fenêtre d’intention : k, de façon à obtenir une estimation fidèle du nombre de trames
d’intention.
8.2.6.2 Estimation du trafic supporté et fluctuations : ! et (
Après avoir estimé le nombre de trames d’intention n˜, un nœud relai met à jour son
estimation du trafic à supporter : !. Pour cela, le nœud relai calcule une moyenne glissante
du nombre d’arrivées par unité de temps sur la base des nestimations dernières estimations
de n˜ et de la date de ces estimations 3. L’écart-type de cet estimateur, (, est également
calculé et mémorisé ; son usage est expliqué dans les sections suivantes.
8.2.6.3 Calcul de la période des trames d’annonce et adéquation avec le trafic
relayé
Les nœuds relais adaptent la période des trames d’annonce en fonction de l’estimation
du volume de trafic supporté. Cette période, Tannonce, est calculée de façon à (i) satisfaire
les exigences de délai de livraison, (ii) supporter le trafic entrant. Afin de satisfaire la
contrainte (i), la durée Tannonce est bornée par le délai maximum de livraison à un saut :
Delai1saut. La contrainte (ii) implique quant à elle que le nombre d’instants de transmission
proposés par un nœud relais suffise à écouler le trafic qui lui est destiné : le nombre de
trames d’annonce par unité de temps est égal au nombres de trames à destination du relai
par unité de temps :
T annonce =
( 1
! si 1
! < Delai1saut
Delai1saut si 1
! & Delai1saut
(8.4)
8.2.6.4 Calcul de la taille de la fenêtre d’intention et efficacité énergétique
SARI-MAC adapte également la taille de la fenêtre d’intention ainsi que la taille du
champ code la trame d’intention de façon à minimiser l’énergie dépensée en signalisation
tout en satisfaisant les exigences de taux de livraison. À cette fin, SARI-MAC doit (i)
supporter les fluctuations transitoires du trafic : i.e. variations de trafic liées aux décalages
d’horloges servant à programmer les instants de transmission et (ii) s’adapter à la disponibilité
du médium : i.e. le médium n’est pas disponible au moment prévu pour l’envoi de
la trame d’annonce (exemple fourni par la Fig. 8.8).
3. Ce moyennage permet d’estimer le volume moyen de trafic étant destiné au nœud. Le volume de
trafic supporté est supposé stationnaire ou quasi-stationnaire
176CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Figure 8.8 – Exemple de retard de transmission de la trame d’annonce
Afin de pallier ces variations de trafic et l’incertitude sur la date des trames d’annonce,
un nœud relai estime le nombre de trames d’intention à recevoir avant d’émettre une trame
d’annonce. Ce nombre a priori de nœuds émetteurs, na priori, est dérivé du volume moyen
de trafic, !, de ces fluctuations ( et du temps effectif depuis la dernière période d’activité :
Tattente :
na priori = d(! + ()Tattentee (8.5)
Cette estimation est ensuite utilisée dans le calcul de la taille de la fenêtre d’intention :
k. Dans SARI-MAC, nous cherchons à maximiser l’efficacité énergétique de la fenêtre d’intention,
i.e. maximiser le pourcentage d’intervalles de la fenêtre d’intention dans lequel une
trame d’intention est transmise avec succès au nœud récepteur. Soit pi = 1
k la probabilité
avec laquelle un nœud émetteur quelconque choisit un intervalle de la fenêtre d’intention,
probabilité que nous supposons indépendante entre nœuds capteurs. Alors, le calcul de k
revient à maximiser la probabilité qu’un unique nœud émette un trame d’annonce dans un
intervalle donné. Soit un intervalle i quelconque de la fenêtre d’intention, la probabilité de
l’évènement "n des na priori émetteurs choisissent l’intervalle i", Pi(n, na priori), suit une
loi binomiale :
n ⇠ B(na priori, pi)
8n 2 [0, na priori], Pi(n) = ✓na priori
n
◆
pn
i (1 ! pi)
(na priori#n)
k est choisie de façon à maximiser la probabilité qu’une et une seule trame d’intention
soit transmise par intervalle de la fenêtre, c’est à dire de façon à maximiser Pi(1) :
Pi(n = 1) = na priori
1
k
(1 ! 1
k
)
na priori#1
Cette équation admet un maximum pour k = na priori, i.e. quand la taille de la fenêtre
d’intention est égale au nombre attendu de trames d’intentions et nous posons donc :
k = na priori (8.6)
Démonstration. La dérivée partielle de Pi(n = 1) admet l’expression suivante :
$
$k
Pi(n = 1) = !na priori( k#1
k )n(k ! na priori)
(k(k ! 1)2)
= !na priori(k ! 1)na priori#2(k ! na priori)
kn+1
&
&kPi(n = 1) s’annule pour k = na priori et k = 1. k = 1 n’est évidemment pas un maximum
177CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
pour toute valeur na priori strictement supérieure à 1. Au point k = na priori, on a :
limk!n!
a priori
$
$k
Pi(n = 1) & 0
limk!n+
a priori
$
$k
Pi(n = 1) 0
d’où le résultat.
8.2.6.5 Calcul de taille des codes et taux de livraison
La taille du champ code des trames d’intention est calculée telle que la probabilité
d’une collision entre deux trames de données à destination du récepteur soit suffisamment
faible pour satisfaire les exigences de taux de livraison. Dans ce scénario, une trame de
données est perdue lorsque celle-ci est acquittée mais non reçue, i.e. deux ou plus nœuds
choisissent le même intervalle de la fenêtre d’intention et le même code.
La probabilité de l’évènement "n des na priori émetteurs choisissent le même intervalle
et le même code j" suit une loi binomiale :
Pi.j (n) = B(na priori, p.pc)
Pi.j (n) = ✓na priori
n
◆
(p.pc)
n.(1 ! p.pc)
na priori#n
où p est la probabilité avec laquelle un émetteur choisit un intervalle quelconque i et pc
la probabilité de choisir le code j (supposée uniforme pour toute valeur de j). D’après
l’équation 8.6, nous avons p = 1
na priori
. Soit c la taille du champ code, il existe alors 2c
codes différents. Dans ces conditions, la probabilité d’une collision est donnée par :
Pcollision = P(n & 2|n & 1)
Pcollision = 1 ! na priori
1
na priori.2c .(1 ! 1
na priori.2c )na priori#1
1 ! (1 ! 1
na priori.2c )na priori
Calculer la taille du champ code revient donc à trouver la plus petite valeur de c telle
que :
1 ! Pcollision & taux de livraison
na priori
na priori.2c ! 1
(
na priori.2c#1
na priori.2c )na priori
1 ! (
na priori.2c#1
na priori.2c )na priori
& taux de livraison
8.3 Analyse de Performance
Dans cette Section nous étudions les performances de SARI-MAC et les comparons au
protocole RI-MAC [38]. RI-MAC est le protocole asynchrone initié récepteur de référence.
Sa description est disponible dans l’état de l’art (Chap. 3).
L’analyse comparée de SARI-MAC et RI-MAC se base sur les critères suivants :
178CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Durée de vie des capteurs D’après le Chapitre 1, la durée de vie moyenne attendue
d’un capteur est d’une quinzaine d’année, ce qui équivaut à une puissance moyenne
dissipée de 0, 16 mW. Dans cette étude, nous étudions non seulement la puissance
dissipée par un nœud capteur émettant à destination d’un nœud relai mais aussi la
puissance dissipée par un nœud relai, les nœuds relais étant également soumis aux
exigences de durée de vie.
Taux de livraison Conformément aux exigences évoquées dans le Chapitre 1, les applications
de télé-relève de compteurs tolèrent une perte de paquets de l’ordre du pourcent.
Dans cette étude, nous nous intéressons au taux de livraison des trames des nœuds
capteurs aux nœuds relais afin de vérifier que les taux de livraison sur ce lien ne soit
pas contradictoire avec le taux de livraison cible à la passerelle.
Délai de livraison Dans une architecture avec relai, le délai de livraison des trames de
données à la passerelle dépend du délai de livraison du nœud capteur au relai et du
nœud relai à la passerelle. Dans cette analyse de performance, nous étudions le délai
de livraison depuis un nœud capteur vers un nœud relai et vérifions l’adéquation avec
les objectifs sur le délai de bout en bout.
Cycle d’activité des nœuds relais et occupation du médium Comme indiqué en Section
8.1, plus l’occupation du médium par les nœuds relais est grande, plus le trafic
émis à la passerelle selon le protocole ALOHA est perturbé, i.e. subit plus de collisions.
D’autre part, la réglementation sur l’usage des bandes ISM contraint le cycle
d’activité radio des nœuds, typiquement à 1%. Dans cette étude, nous comparons
donc le temps passé par un nœud relai à transmettre sur le médium selon le protocole
utilisé.
8.3.1 Environnement de simulation, scénarios et critères d’évaluation
Cette évaluation de performance est réalisée par simulation et nous détaillons ici les
outils et la méthodologie utilisée.
8.3.1.1 WSNet
Cette évaluation de performance est réalisée en utilisant le simulateur WSNet présenté
en Section 7.4.1.1.
8.3.1.2 Topologie physique
Comme indiquée en Section 8.1, les topologies de radio longue portée présentent une
forte dissymétrie de voisinage radio entre les nœuds capteurs confinés et les nœuds relais
placés de manière privilégiée sur des points hauts. Alors que les nœuds capteurs n’entendent
pratiquement que les nœuds relais, les nœuds relais sont en mesure d’entendre un grand
nombre des nœuds capteurs à proximité géographique. Dans cette étude, nous modélisons
ce scénario par une topologie en étoile : les nœuds capteurs, au nombre de 50 entendent
uniquement le nœud relais qui lui entend l’ensemble des nœuds capteurs.
8.3.1.3 Modèle radio
Cette étude considère des circuits radio émettant dans la bande ISM 169 MHz à un
débit de 4800 bit/s. Les puissances dissipées considérées sont identiques au paramétrage
choisi dans le Chapitre 6, nous rappelons les principales informations dans le tableau 8.1 :
179CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Paramètre valeur
Ptx 62, 5mW
Prx 53, 7mW
Ereveil 0, 16 mJ
Erx!tx 53.7 µJ
Etx!rx 53.7 µJ
Table 8.1 – Puissances et énergies dissipées dans le circuit radio
8.3.1.4 Modèle de trafic
Dans cette étude, nous considérons une application de relève de compteurs urbains :
chaque nœud autre que la passerelle transmet des trames de données de 600 bits. Les
instants de génération sont strictement périodiques et la loi de distribution temporelle des
instants de génération est uniforme sur la population des nœuds. En raison de la dérive
des horloges des nœuds, la période de génération des trames est définie à ±20ppm. Nous
faisons varier la fréquence de génération des trames entre trois trames par an et quelques
trames par jour. D’après le Chapitre 6, nous avons montré que cette plage de fréquences
correspond en effet au domaine où un réseau longue portée consomme moins qu’un réseau
multi-sauts.
8.3.1.5 Paramétrage de SARI-MAC
Compte-tenu des mécanismes d’auto-adaptation des paramètres de fonctionnement,
SARI-MAC ne nécessite qu’un paramétrage initial, dont les valeurs sont ensuite optimisées
en fonction des exigences de Qualité de Service. Dans cette étude, la période des trames
d’annonce initiale est définie à Tannonce = 20 s et les exigences de Qualité de Service sont
les suivantes :
taux de livraison au nœud relai La cible du taux de livraison au nœud relai est définie
à 99,9%. Ce choix est plus exigeant que l’objectif de taux de livraison à la passerelle
(99%) et est motivé par le constat suivant : une trame relayée nécessite d’abord
d’être livrée au nœud relai puis à la passerelle, soit deux transmissions et donc deux
possibilités d’un échec de transmission par trame de données.
délai de livraison à 1 saut De la même façon, nous définissons une exigence sur le délai
de livraison à un saut plus contraignante que l’objectif défini par les applications de
télé-relève de compteurs. Au lieu d’un délai maximum de 24h pour la livraison d’une
trame au concentrateur, nous imposons un délai maximum de 12h afin de prendre en
compte les délais induits par chacune des deux transmissions.
8.3.1.6 Aperçu de RI-MAC et paramétrage
Nous rappelons ici le fonctionnement du protocole RI-MAC. Comme l’illustre la Figure
8.9, RI-MAC est un protocole initié récepteur asynchrone. À l’instar de SARI-MAC,
RI-MAC initie une transmission par l’envoi d’une trame d’annonce (beacon). Un nœud
souhaitant transmettre une trame écoute le médium radio jusqu’à réception d’une trame
d’annonce en provenance du destinataire. Une fois la trame d’annonce reçue, le nœud émet
la trame de données. Si le nœud récepteur détecte une collision, alors il ré-emet une trame
d’annonce. Les nœuds émetteurs émettent à nouveau leur trame après un temps d’attente
aléatoire (fenêtre de contention selon un algorithme ATS (Chap. 5).
RI-MAC nécessite le paramétrage suivant :
180CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Figure 8.9 – Aperçu du protocole RI-MAC
Période d’annonce La période d’annonce dans RI-MAC est fixe. Dans cette étude, nous
étudions RI-MAC avec la plage de période suivante : 50s, 300s, 600s, 2500s et 5000s.
Taille de la fenêtre de contention La taille minimale de la fenêtre de contention est
définie à 4. Ce cas correspond à la première détection de collision. À chaque nouvelle
détection, la taille de la fenêtre est multipliée par 2 jusqu’à une taille maximale de
512 intervalles.
8.3.2 Conditions d’expérimentation
La simulation de chacun des scénarios pré-cités est itérée 6 fois, le générateur de nombres
pseudo-aléatoire étant initialisé à chaque fois avec une graine différente ("seed"). Chaque
itération représente une durée équivalente à 300 envois de trames de données. Les résultats
que nous présentons font l’objet d’un moyennage sur l’ensemble des 6 itérations et l’intervalle
de confiance à 95%, non représenté sur les Figures pour des raisons de lisibilité, est
d’une largeur inférieure à 2% de la valeur représentée.
8.3.3 Résultats
8.3.3.1 Estimation du trafic
Avant de présenter les résultats en termes de taux de livraison, délai, puissance et cycle
d’occupation du médium, nous illustrons les performances du mécanisme d’estimation de
trafic proposé pour SARI-MAC. La Figure 8.10 représente l’évolution du trafic supporté
par un nœud relai lors d’une simulation (courbe en dessous, rouge) et le trafic estimé par
ce même nœud relai (courbe supérieure, bleue).
On constate ainsi que le mécanisme proposé fournit une estimation fidèle du trafic réel,
i.e. les variations de trafic sont correctement détectées et représentées. On note par ailleurs
181CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Figure 8.10 – Estimation du trafic par SARI-MAC
que l’estimation présente une légère sur-estimation du trafic réel ( 10%), et ce, afin de
tenir compte des fluctuations potentielles du trafic.
8.3.3.2 Taux de livraison
Dans la Section précédente, nous avons montré que SARI-MAC estimait fidèlement
le volume de trafic supporté par les nœuds relais. Nous vérifions maintenant qu’il est en
mesure de satisfaire les exigences de taux de livraison. Les résultats observés pour SARIMAC
et RI-MAC sont reportés sur la figure 8.11.
On constate en premier lieu que le taux de livraison atteint avec SARI-MAC respecte
l’exigence de taux de livraison, et ce, sur l’ensemble de la plage de trafic considérée. La
fréquence d’émission des trames d’annonce est donc suffisante pour supporter le volume de
trafic. Ce constat indique que mécanisme d’auto-adaptation de SARI-MAC assure efficacement
le respect de la contrainte sur le taux de livraison.
RI-MAC présente des taux de livraison comparables à ceux de SARI-MAC sur le domaine
1, c’est à dire pour des trafics jusqu’à une trame par jour et par nœud capteur relayé.
Au delà de ce volume de trafic (domaine 2), le protocole RI-MAC présente une baisse du
taux de livraison qui, pour certaines configurations (périodes de trames d’annonces les plus
grandes), entraînent un non respect des exigences de taux de livraison.
8.3.3.3 Délai de livraison
Nous nous intéressons ici à l’exigence de délai de livraison et regardons les résultats
obtenus par SARI-MAC et RI-MAC (Fig. 8.12).
La courbe de SARI-MAC présente deux comportements selon le trafic supporté par le
nœud relai. Dans le domaine 1, correspondant aux trafics inférieurs à une trame par quinzaine
de jours, le délai moyen de livraison des trames de données est d’environ 6h et reste
constant. Dans le domaine 2, soit plus d’une trame par quinzaine de jours, le délai moyen
diminue lorsque le trafic augmente. Ce comportement trouve son explication dans les équations
8.4. SARI-MAC adapte en effet la fréquence d’envoi des trames d’annonces au trafic
à supporter et à l’exigence sur le délai de livraison. Dans cette étude, le délai maximum
182CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Figure 8.11 – Taux de livraison comparé
Figure 8.12 – Délai comparé
toléré est de 12h, la durée maximale de la période d’émission des trames d’annonce est donc
de 12h quand bien même le temps d’inter-arrivées des trames de données au nœud relai est
supérieur à 12h (domaine 1). Dans ces conditions, en raison de la distribution uniforme des
instants de génération des trames de données, le délai moyen observé est de la moitié de
la période d’annonce, soit 6h. Le domaine 2 correspond à un temps d’inter-arrivées entre
trames de données inférieur à 12h. Dans ce domaine, SARI-MAC adapte donc la fréquence
d’envoi des trames d’annonce à la fréquence de génération des trames de données. Lorsque
le volume de trafic supporté augmente, la période d’envoi des trames d’annonce diminue,
183CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
et donc le délai observé diminue aussi.
Avec RI-MAC, la période d’envoi des trames d’annonce est constante. Il en résulte
un délai constant d’une durée équivalente à la moitié de la période d’envoi des trames
d’annonce.
De ces résultats, on déduit que SARI-MAC adapte avec succès la période d’envoi des
trames d’annonce aux exigences de délai et au trafic supporté par les nœuds relais.
8.3.3.4 Puissance dissipée
Figure 8.13 – Puissance dissipée comparée (nœuds capteurs)
Nous venons d’analyser les performances de SARI-MAC et RI-MAC en termes de délai
et de taux de livraison et nous constatons que les deux protocoles satisfont les exigences de
Qualité de Service lorsque le trafic est inférieur à 1 trame par jour et par capteur. Lorsque
le trafic est supérieur à 1 trame par jour et par capteur, SARI-MAC satisfait également les
exigences de Qualité de Service alors que RI-MAC nécessite un paramétrage adéquat afin
de garantir le taux de livraison (période des trames d’annonces inférieure à 2500s).
Nous étudions en premier lieu la consommation des nœuds capteurs relayés (Fig. 8.13).
Notre étude montre que SARI-MAC présente une consommation équivalente voire infé-
rieure à celle des différentes instances de RI-MAC. Pour les trafics supérieurs à 1 trame
par jour et par capteur, la consommation de SARI-MAC est d’environ 10 à 50% inférieure
à celle de l’instance la moins énergivore de RI-MAC.
La consommation observée aux nœuds relais (Fig. 8.14) présente un contraste beaucoup
plus fort entre les deux protocoles. SARI-MAC consomme en effet deux fois moins que RIMAC
dans sa configuration la moins énergivore (Tannonce = 5000 s).
Par ailleurs, on note que la configuration de RI-MAC la moins consommatrice du point
de vue des nœuds relais est également la plus consommatrice du point de vue des nœuds
capteurs. Il n’existe donc pas une configuration globalement optimale de RI-MAC pour les
volumes de trafic cibles, le choix de la configuration devant être adaptée aux contraintes
sur les nœuds relais et les nœuds relayés.
184CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
Figure 8.14 – Puissance dissipée comparée (nœuds relais)
8.3.3.5 Occupation du médium
La Figure 8.15 représente le temps pendant lequel un nœud relai émet sur le médium
radio dans sa tâche de collecte des trames des nœuds relayés.
Figure 8.15 – Occupation du médium par les nœuds relais
On note que SARI-MAC présente l’occupation du médium la plus faible des deux
protocoles, quelle que soit la configuration de RI-MAC retenue dans cette étude. De fait,
SARI-MAC est moins susceptible que RI-MAC de dégrader les performances des nœuds
capteurs transmettant directement au concentrateur.
Afin d’illustrer et quantifier l’impact de l’occupation du médium par les nœuds relais,
nous considérons le scénario suivant : un réseau de capteurs longue portée est composé de
185CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
5000 nœuds capteurs transmettant directement à la passerelle selon le protocole ALOHA et
de 5 nœuds relais. Compte-tenu de l’existence des nœuds relais, nous faisons l’hypothèse que
les trames à destination de la passerelle sont émises au débit maximum de 4800bits/s. Nous
supposons également que les nœuds relayés n’interfèrent pas avec les nœuds non relayés
et que les nœuds relais sont rattachés à la passerelle via un médium de communication
distinct. Ainsi, seuls les trames des nœuds relais à destination des nœuds relayés et des
nœuds non relayés interfèrent.
La figure 8.16 illustre, pour ce scénario, l’influence de l’occupation du médium par les
nœuds relais sur le taux de collision attendu sur les trames émises directement à la passerelle.
Ces résultats confirment l’intérêt d’un mécanisme ajustant la fréquence d’émission
des trames d’annonce au trafic à supporter, i.e. réduire le nombre de trames d’annonces
lorsque le trafic à supporter ne le nécessite pas.
Figure 8.16 – Influence de l’occupation du médium par les nœuds relais sur le taux de
collision des trames des nœuds capteurs non relayés à la passerelle
8.3.4 Synthèse des résultats
Cette étude comparative entre SARI-MAC et RI-MAC montre que le mécanisme d’autoadaptation
des paramètres de fonctionnement de SARI-MAC permet à notre proposition
de satisfaire les exigences de Qualité de Service pour une large plage de volume de trafic.
En outre, les performances de SARI-MAC excèdent celles des différentes configurations
de RI-MAC, quel que soit le volume de trafic considéré, et ce, avec une configuration
initiale non optimisée pour chaque scénario. SARI-MAC exhibe en effet les meilleurs taux
de livraison, la plus faible consommation énergétique, tant pour les nœuds capteurs que
pour les nœuds relais, et une moindre interférence avec les communications directes à la
passerelle tout en respectant les exigences de délai.
186CHAPITRE 8. PROTOCOLE DE RELAYAGE ADAPTATIF POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL LONGUE PORTÉE : SARI-MAC
8.4 Synthèse sur SARI-MAC
Dans ce Chapitre, nous proposons SARI-MAC, The Self-Adapting Receiver Initiated
MAC protocol. SARI-MAC est un protocole MAC initié récepteur conçu pour opérer une
fonction de relayage dans une architecture de réseaux de capteurs longue portée. SARIMAC
évalue le trafic à supporter par les nœuds relais de façon à adapter son paramétrage
aux exigences de Qualité de Service et de manière à minimiser la consommation énergétique.
Dans cette étude, nous avons comparé SARI-MAC à RI-MAC, le protocole initié récepteur
efficace en énergie de référence. L’analyse de performance montre que SARI-MAC surpasse
RI-MAC sur l’ensemble des critères retenus : taux de livraison (& 99, 9%), consommation
d’énergie (réduction de 50% de la consommation des nœuds relais par rapport à RI-MAC) et
cohabitation avec les protocoles privilégiés sur les architectures longe portée , i.e. ALOHA
et dérivées, par son occupation moindre du médium par les nœuds relais. Nous montrons
par ailleurs que le paramétrage de SARI-MAC ne nécessite pas d’être optimisé pour le
scénario de trafic envisagé, l’ensemble des simulations ayant été exécutée avec le même
paramétrage de SARI-MAC.
SARI-MAC est donc une solution efficace en énergie permettant d’assurer la connectivité
de l’ensemble du parc des capteurs d’un réseau de capteurs urbains à radio longue
portée. Sa simplicité de configuration et sa capacité d’auto-adaptation aux conditions de
trafic en font un protocole pérenne, nécessitant peu ou pas de maintenance.
187CHAPITRE
9 Protocole de routage opportuniste
pour réseau urbain
de capteurs sans-fil multisauts
: QOR
9.1 Introduction
Dans le Chapitre 6, nous avons identifié deux solutions pour améliorer l’efficacité énergétique
des réseaux de capteurs urbains multi-sauts. La première solution, exposée dans
le Chapitre 7, consiste à factoriser l’allocation des instants de transmission au sein d’un
mécanisme de contention. Le protocole proposé, nommé CT-MAC, diminue ainsi la consommation
induite par l’écoute périodique et l’arbitrage de l’accès au médium radio.
Nous étudions ici la deuxième solution : utiliser de manière opportuniste les liens
longue distance, asymétriques ou fluctuants afin de diminuer le nombre de
transmissions nécessaires à l’acheminement des données à la passerelle. Ces
liens, dont la réalisation est incertaine et non prédictible, sont habituellement ignorés ou
interdits à l’usage par les protocoles de routage à objectifs de Qualité de Service. Il est en
effet jugé nécessaire d’utiliser seulement des liens fiables afin d’être en mesure de répondre
aux exigences de taux de livraison. Dans ce chapitre, nous apportons la contradiction à
ce jugement et montrons que l’usage de ces liens permet une amélioration significative des
performances du réseau en termes de délai et de taux de livraison tout en réduisant la
consommation d’énergie.
Nous illustrons ce propos par des traces de connectivité issues du démonstrateur du
projet ANR ARESA [81] et montrons par ailleurs que les protocoles de routage dérivés des
réseaux filaires et radio conventionnels font face à un dilemme lorsqu’ils sont confrontés
simultanément à des exigences de délai et de taux de livraison : l’amélioration du taux de
livraison se faisant au détriment du délai de livraison et vice et versa.
En raison de cette observation, nous proposons le protocole de routage Quality Of
Service oriented Opportunistic Routing (QOR). QOR permet d’exploiter les liens
longue distance, asymétriques ou fluctuants et garantit la fiabilité des communications
grâce aux liens fiables.
Pour cela, QOR délègue le choix de relayage des trames aux nœuds récepteurs, au
contraire des protocoles conventionnels pour lesquels le destinataire est désigné par le porteur
actuel de la trame. Ce schéma de communication opportuniste, précédemment proposé
par S.Biswas [67] pour les réseaux sans-fils 802.11, décompose l’établissement du chemin
suivi par une trame en deux sous-problèmes : (i) quel est l’ensemble des nœuds, noté N, susceptibles
de retransmettre une trame en provenance d’une source donnée ? et (ii) Qui parmi
les nœuds de cet ensemble ayant reçu la trame doit retransmettre ? Nous montrons que cette
décomposition permet de répondre simultanément aux exigences de livraison et de délai et
donc de résoudre le dilemme précédemment cité. Cette approche introduit néanmoins de
nouveaux problèmes qui en limitent l’adoption, notamment la duplication de paquets et
l’absence d’acquittement fiable. Nous proposons une solution à ces problèmes en combinant
le schéma de communication opportuniste à un adressage hiérarchique des nœuds
188CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
capteurs et à des règles de relayage basées sur ces adresses.
9.2 Intérêt de l’approche et défis
Figure 9.1 – Traces de connectivité du démonstrateur ARESA
Afin d’illustrer l’intérêt du schéma de relayage opportuniste, nous proposons d’analyser
une trace de connectivité issue du démonstrateur du projet ANR ARESA [81], [118], et
disponible sur la Figure 9.1. Sur ce graphe sont représentées les réalisations de liens 1 entre
nœuds du réseau : chaque lien ayant été réalisé au moins une fois est représenté par un
point, son abscisse représentant la distance entre les nœuds et son ordonnée l’espérance de
réalisation. Nous avons indiqué l’ensemble des liens qui seraient utilisés par un protocole
de routage traditionnel imposant une probabilité de réalisation supérieure à 90%, i.e. taux
de livraison supérieur à 73% pour un chemin de 3 sauts sous hypothèse d’indépendance des
réalisations de liens. On constate dans cette configuration que seulement 17% de l’ensemble
des réalisations de liens est utilisé pour l’acheminement de données. La Figure 9.1 révèle
également que seuls les liens courte portée sont exploitées par un protocole de routage
traditionnel en raison de la contrainte sur le taux de livraison. Dans le démonstrateur,
seuls les liens d’une distance inférieure à 100m ont ainsi été éligibles pour construire la
topologie de routage.
À l’aide du scénario de la Figure 9.2, nous montrons comment les liens non exploités
peuvent améliorer le taux de livraison, le délai de bout en bout et la consommation
d’énergie.
Dans ce scénario, un nœud source S génère des trames de données applicatives destinées
à la passerelle D. Supposons un protocole de routage traditionnel et un taux de succès par
lien exigé de 90%, S transmet donc ses trames à A, qui les relaient à B, qui les livre
1. un lien entre une source et une cible est dit réalisé si une émission provenant de la source est reçue
par la cible
189CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.2 – Intérêt de l’approche opportuniste
à D. Dans cette configuration, sans acquittement ni retransmission, le taux de livraison
attendu est de 83% et chaque trame livrée nécessite 3 transmissions. Avec acquittements
et retransmissions, l’espérance du nombre d’émissions nécessaires est 3,19.
Supposons maintenant un protocole de routage opportuniste : 10% des trames émises
par S sont reçues par D, 10% des trames émises peuvent donc être livrées avec une seule
transmission. Lorsque ce lien n’est pas disponible, les trames peuvent être livrées en deux
sauts (S-A-D ou S-B-D), ce scénario se réalise pour 67% des trames émises. Enfin, les
trames peuvent être livrées en 3 sauts (11% des trames émises). Avec un protocole opportuniste,
sans acquittement ni retransmission, le taux de livraison attendu est de 88% et le
nombre moyen de transmissions pour livrer une trame est de 2,01. Lorsque les acquittements
et retransmissions sont utilisées, l’espérance du nombre d’émissions nécessaires est
de 2,27.
On constate donc qu’un protocole de routage opportuniste peut fournir un meilleur
taux de livraison et nécessiter moins d’émissions par trame livrée et donc améliorer le délai
de bout en bout et la puissance dissipée. Pour cela, nous devons résoudre les problèmes
cités en Section 9.1 : la duplication de paquets et l’absence d’acquittement fiable.
Duplication de paquets Afin d’illustrer ce problème, considérons à nouveau la Figure
9.2 et l’usage d’un protocole de routage opportuniste. Supposons que S émette une trame
de données et qu’elle soit reçue par A et B. Si aucun mécanisme n’est mis en place, A et
B retransmettent tous les deux la trame de données, annulant ainsi le gain en puissance
dissipée et augmentant les chances de collision sur le médium radio.
Fiabilité des acquittements Supposons maintenant que la trame émise par S est reçue
par D et qu’un acquittement soit demandé. Supposons par ailleurs, et ce uniquement par
soucis de simplicité de l’explication, que le lien entre S et D soit symétrique et que chaque
réalisation soit indépendante. La probabilité qu’un acquittement soit reçu par A suite à
son envoi par D est de 10%. La probabilité que A soit notifié du succès de la transmission
est donc de 1%, impliquant de nombreuses retransmissions.
190CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
9.3 Description de QOR
Nous venons d’illustrer l’intérêt d’un protocole opportuniste et avons identifié les défis
auxquels doit répondre QOR afin de traduire le potentiel de l’approche opportuniste en
gains concrets. Nous décrivons maintenant le fonctionnement de QOR et illustrons comment
QOR répond à ces défis.
QOR se décompose en deux tâches : un plan de contrôle, responsable de la construction
et du maintien des tables de routage, et un plan de données, chargé de la transmission
opportuniste des trames applicatives.
9.3.1 Plan de contrôle : topologie de routage et adressage
9.3.1.1 Construction de la topologie de routage
À l’instar du protocole IETF RPL [3], QOR construit un graphe acyclique dirigé orienté
destination (DODAG). La construction de cette topologie répond à l’objectif suivant :
identifier les chemins les plus fiables reliant les sources de trames de données
et la passerelle.
Figure 9.3 – Construction de la topologie de routage
La Figure 9.3 illustre le mécanisme de construction de la topologie de routage mis en
place par QOR. À gauche est représenté un exemple de topologie physique : la passerelle
est située en haut de la figure et les liens entre nœuds sont représentés par un trait ; un
trait épais correspond à un lien fiable et, à l’inverse, un lien en pointillé correspond à une
probabilité de réalisation faible. La topologie construite par QOR est représentée à droite :
les nœuds construisent des chemins permettant d’acheminer les trames vers la passerelle,
les liens en trait épais représentant le chemin principal et les liens en pointillé les éventuels
chemins de secours.
La construction de la topologie de routage se fait de manière décentralisée par diffusion
de messages de contrôle appelés DIOs broadcast (DODAG Information Objects). Ces
messages, émis par chaque nœud relai de la structure, contiennent l’information nécessaire
pour permettre à un nœud de choisir un parent dans la structure. Dans QOR, cette information
est constituée d’un rang et d’une métrique par nœud relai de la structure, le rang
représentant la profondeur du nœud dans le DODAG et la métrique quantifiant la fiabilité
du chemin offert pour joindre la passerelle.
191CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Calcul du rang annoncé Dans QOR, le rang représente le nombre de sauts logiques
dans la structure entre le nœud et la passerelle. Par convention, la passerelle possède le
rang 0, un nœud rattaché à la passerelle est de rang 1 et ainsi de suite.
Calcul de la métrique annoncée Selon les informations mises à disposition par les
couches physiques et MAC, la métrique peut alternativement être exprimée en fonction
du taux d’erreur paquet (Packet Delivery Ratio), du rapport signal à bruit (Signal over
Noise Ratio) ou de la puissance du signal reçu (Received Signal Strength Indicator ). Nous
proposons ici une métrique basée sur le RSSI et notée (mn, sn) où mn représente le RSSI
minimum observé sur le chemin annoncé jusqu’à la passerelle et où sn représente l’écarttype
sur les valeurs successives de mn. Cette métrique a pour but de caractériser le chemin
jusqu’à la passerelle par son lien le plus faible, et donc probablement le moins fiable, et par
ses fluctuations, i.e. stabilité temporelle ici représentée par l’écart type.
Choix du parent préféré et des parents de secours Un nœud souhaitant se rattacher
au DODAG écoute les DIOs brodcast émis dans son voisinage radio et stocke les triplets
(adresse, rang, métrique) dans sa table de voisinage. À chaque triplet est associé une
valeur scalaire appelée QSC (Quality Score) qui reflète la fiabilité du chemin annoncé par
le voisin et calculée d’après la formule QSC = mn ! sn. Ce QSC est utilisé pour ordonner
les entrées de la table et pour choisir l’un des parents potentiel comme parent préféré,
i.e. parent correspondant au chemin utilisé de manière privilégiée pour la transmission de
la trame.
À la fin de la période d’écoute, un nœud émet une demande de rattachement au nœud
relai voisin présentant le QSC le plus élévé. Pour cela, il lui envoie un message de contrôle
appelé DIS unicast (DODAG Information Sollicitation). À la réception d’un tel message,
le nœud relai en question renvoit un DIO unicast. Ce DIO contient soit un code d’erreur
indiquant la raison du refus de rattachement, e.g. plus d’adresse disponible dans le sousréseau,
soit le rang, l’adresse de rattachement et le sous-réseau qui sera utilisé par le nœud
attaché 2.
Une fois attaché au DODAG, un nœud peut choisir un ou plusieurs parents de secours.
Ces parents, choisis en raison de leur QSC proche de celui du parent préféré (QSC &
mn ! 2sn avec (mn, sn) métrique du parent préféré), sont utilisés lorsque le chemin fourni
par le parent préféré est indisponible, e.g. absence d’acquittement de trames ou lorsqu’un
changement de topologie invalide le chemin principal. La procédure de rattachement est
similaire à celle du parent préféré. Le nœud souhaitant le rattachement émet un DIS unicast
auquel le parent répond par un DIO unicast. La différence réside dans l’usage qui est fait
de l’adresse donnée par le parent : le nœud rattaché se contente de mémoriser l’adresse
mais ne l’annonce pas dans ses DIOs.
9.3.1.2 Construction du plan d’adressage
Lors de son attachement à la topologie logique, un nœud obtient de son parent pré-
féré, i.e. le nœud auquel il se rattache, une adresse et un sous-réseau. Ces derniers sont
choisis par le parent dans le sous-réseau qu’il a lui-même obtenu. La Figure 9.4 illustre un
exemple d’adressage sur la topologie logique de la Figure 9.3. Dans cet exemple, la passerelle
possède l’adresse IPv6 2001:db8:1:1a0::0 et le sous-réseau 2001:db8:1:1a0::/64.
Les nœuds a, b et c obtiennent de la passerelles les adresses et sous réseaux respectifs
: 2001:db8:1:1a0::1/80, 2001:db8:1:1a0::2/80 et 2001:db8:1:1a0::3/80. Chaque
2. la construction des adresses et leur usage sont expliqués dans les Sections suivantes.
192CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.4 – Adressage hiérarchique des nœuds
nœud rattaché à la passerelle se voit ainsi délégué un sous-réseau /80 distinct dans lequel
il peut attribuer des adresses et sous-réseaux aux nœuds souhaitant s’y rattacher.
Une fois la topologie construite, chaque nœud relai possède une adresse et un sousréseau
et ces adresses et sous-réseaux vérifient par construction la propriété suivante : pour
tout nœud de la structure, son adresse et son sous-réseau sont inclus dans le sous-réseau
de son parent et son adresse est unique dans le DODAG. On peut montrer par récurrence
que l’ensemble des nœuds incluant l’adresse d’un nœud sont ceux situés sur la
branche reliant la passerelle au nœud. C’est sur cette propriété que sont bâties les
règles de relayage assurant l’absence de paquets dupliqués et les acquittements fiables.
9.3.2 Plan de données : règles de relayage et mécanisme d’acquittement
Le plan de données de QOR est constitué des règles régissant le relayage des trames et
répond aux questions précédemment évoquées : (i) quel est l’ensemble des nœuds, noté N,
susceptibles de retransmettre une trame en provenance d’une source donnée ? et (ii) Qui
parmi les nœuds de cet ensemble ayant reçu la trame doit retransmettre ? Nous détaillons ici
le cas d’un trafic convergent, i.e. depuis un nœud vers la passerelle, d’un trafic descendant,
i.e. depuis la passerelle vers un nœud, et d’un trafic point à point, i.e. capteur à capteur.
9.3.2.1 Trafic convergent d’un nœud vers la passerelle
Dans cas d’un trafic de données depuis les nœuds capteurs vers la passerelle, les règles
s’expriment de la façon suivante : (a) un nœud participe au relayage d’une trame si
et seulement si l’émetteur est un descendant d’après l’adressage hiérarchique,
(b) un nœud relaie une trame si et seulement s’il est l’ancêtre le plus éloigné
de l’émetteur parmi l’ensemble des participants au relayage.
La figure 9.5 illustre l’application de ces règles pour la transmission d’une trame de
données sur la topologie précédemment présentée. Dans ce scénario, le nœud labelisé (1)
émet une trame de données à destination de la passerelle. La règle de relayage (a) permet
de discriminer les nœuds (2), (3) et (4) comme seuls relayeurs potentiels de la trame. Le
193CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.5 – Règle du choix des relayeurs
nœud (5), par exemple, ne vérifie la condition d’inclusion de l’adresse de (1) dans son sousréseau.
On constate que cette règle garantit la propriété suivante : l’ensemble des nœuds
relais potentiels sont strictement ordonnés par leurs rangs dans le DODAG et qu’à chaque
rang compris entre celui de l’émetteur de la trame et la passerelle correspond un relayeur
potentiel. On remarque également que la construction de la topologie garantit un lien fiable
entre nœuds de rangs adjacents.
La règle (b) est assurée par le mécanisme d’acquittement en cascade présenté en Figure
9.6. Ce mécanisme est régit ainsi : soit une fenêtre de temps composées de K =
rang emetteur intervalles, chacun des nœuds ayant reçu la trame de données et vérifiant
la règle (a) émet un acquittement dans le i-ème intervalle où est i est son rang dans le
DODAG et écoute les intervalles précédants. Si aucun acquittement n’est reçu avant le
i-ème intervalle, le nœud de rang i prend en charge le relayage de la trame de données,
autrement il se contente d’acquitter la trame. De cette façon, QOR apporte un remède
efficace à la duplication de paquets et une solution pour fiabiliser les acquittements.
Dans le scénario décrit, les nœuds (2), (3) et (5) reçoivent la trame émise par (1). On
rappelle que (5) décide de ne pas pas participer au relayage de la trame en vertu de la
règle de relayage (a) et on note que (4) ne reçoit pas la trame de données. Le nœud (4)
n’ayant pas reçu la trame de données, le premier intervalle est inoccupé. De fait, le nœud
(3) transmet son acquittement et prend en charge l’acheminement de la trame jusqu’à la
passerelle. Cet acquittement est entendu par le nœud (2) mais pas par le nœud (1). (2) se
contente de répéter l’acquittement entendu dans son intervalle, il ne prend pas en charge
la trame de données. L’acquittement de (2) est reçu par (1) qui est donc averti de la prise
en charge de la trame, et ce malgré l’échec de la réception de l’acquittement émis par (3).
9.3.2.2 Trafic descendant de la passerelle vers un nœud
Nous considérons maintenant le scénario d’une trame émise par la passerelle à destination
d’un nœud capteur, par exemple le nœud (1) du scénario précédent.
Dans ce scénario, les règles de relayage sont les suivantes : (a) un nœud participe au
194CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.6 – Mécanisme d’acquittements en cascade
relayage d’une trame si et seulement si le destinataire est un descendant d’après
l’adressage hiérarchique, (b) un nœud relaie une trame si et seulement s’il est
l’ancêtre le plus proche de la destination parmi l’ensemble des participants au
relayage. On note de suite la similarité des règles entre trafic descendant et trafic montant.
On constate en particulier que la règle (a) amène au même ensemble de relayeurs que pour
le trafic de (1) à la passerelle. La différence entre les deux scénarios intervient au niveau de
l’ordre dans lequel les relayeurs envoient leurs acquittements : chacun des nœuds ayant reçu
la trame de données et vérifiant la règle (a) émet un acquittement dans le i-ème intervalle,
où est i est la différence entre le rang de la destination et son propre rang dans le DODAG.
9.3.2.3 Trafic point à point
Le dernier type de trafic que nous considérons est le trafic point à point, i.e. d’un nœud
capteur à un autre. Un tel scénario est illustré par la Figure 9.7 : le nœud (1) souhaite
transmettre une trame au nœud (3). Pour cela, QOR décompose l’acheminement en 2
étapes : la trame est d’abord acheminée jusqu’à l’ancêtre commun entre la source et la
destination selon les règles de relayage pour un trafic convergent puis de l’ancêtre commun
à la destination selon les règles de relayage pour un trafic descendant. L’ensemble des
relayeurs participant à l’acheminement obtenu pour le scénario considéré est représenté sur
la Figure 9.8.
9.4 Analyse de performance
Dans cette Section, nous étudions les performances de QOR et les comparons à celle du
protocole RPL. RPL est un protocole de routage IPv6 défini par le groupe de travail IETF
ROLL et une description est disponible dans l’état de l’art (Chap.3). Plus précisément,
notre comparaison porte entre QOR et une instance de RPL dont l’objectif est de maximiser
le taux de livraison.
195CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.7 – Scénario de trafic point à point
Figure 9.8 – Scénario de trafic point à point
9.4.1 Environnement de simulation, scénarios et critères d’évaluation
9.4.1.1 Simulateur de réseau, topologies et scénarios
9.4.1.2 WSNet
À l’instar des travaux décrits dans les Chapitres 7 et 8, cette étude est réalisée sur le
simulateur de réseau WSNet [14].
9.4.1.3 Topologies physiques
Les protocoles sont exécutés et analysés d’après les résultats de simulation sur deux
topologies : une topologie en grille régulière, telle qu’utilisée dans les chapitres 7 et 8 et une
topologie générée aléatoirement dont les propriétés statistiques des positions sont similaires
196CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
(a) Grille régulière de 169 nœuds (b) Topologie aléatoire de 200 nœuds
Figure 9.9 – Topologies utilisées dans l’étude
à celle du démonstrateur ARESA 2 3. Ces topologies sont représentées sur la Figure 9.9.
Sur ces Figures, la passerelle est désignée par un rond gris et la source considérée pour
l’étude de la distribution de délai ainsi que dans le scénario de source unique est représentée
par un rond blanc.
9.4.1.4 Modèle radio
À l’instar du Chapitre 7, cette étude considère des circuits radio émettant dans la bande
ISM 868MHz à un débit de 19,2Kbit/s. Les puissances dissipées considérées sont identiques
au paramétrage choisi dans le Chapitre 6, nous rappelons les principales informations dans
le tableau 9.1 :
Paramètre valeur
Ptx 62.5 mW
Prx 53.7 mW
Ereveil 0.16 mJ
Erx!tx 53.7 µJ
Etx!rx 53.7 µJ
Table 9.1 – Puissances et énergies dissipées dans le circuit radio
9.4.1.5 Modèle de trafic
Dans cette étude, nous adoptons un scénario similaire à celui proposé dans le Chapitre 7,
à savoir un trafic caractéristique d’une application de télé-relève de compteurs urbains : tous
les nœuds de la topologie émettent ainsi des trames de données de 600bits à destination
de la passerelle. Nous incluons également les résultats obtenus pour une source unique
afin d’évaluer l’impact d’une approche opportuniste sur les différents nœuds acteurs d’un
relayage d’une trame à la passerelle. Nous rappelons que cette source unique est identifiée
par un rond blanc sur la Figure 9.9.
3. la distribution des distances entre les nœuds est tirée d’après la distribution de la topologie du
démonstrateur ARESA 2
197CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Les trames sont générées de manière strictement périodique, la période de génération
de ces trames étant définie à ±20ppm. Nous faisons varier la période d’émission entre une
trame par jour et une trame par heure. D’après le Chapitre 6, cette plage de fréquences
correspond en effet au domaine où un réseaux multi-sauts synchrone consomme moins
qu’un réseau radio longue portée ou qu’un réseau multi-sauts asynchrone.
9.4.1.6 Critères d’évaluation
Cette analyse comparée est réalisée selon les critères suivants :
Taux de livraison Par l’étude du taux de livraison, nous tenons à montrer le gain apporté
par le schéma de routage opportuniste par rapport au schéma de routage
conventionnel. Nous cherchons également à déterminer s’il est nécessaire d’acquitter
et retransmettre les trames de données afin de respecter l’exigence d’un taux de
livraison de 99%, tel que requis par les applications cibles des réseaux de capteurs
urbains (Chap.1).
Délai Le Chapitre 6 montre que le délai de bout en bout observé dans un réseau multisauts
dépend principalement de la période d’activité et du nombre de sauts entre
les nœuds sources et la passerelle. Le Chapitre 7 propose quant à lui de diminuer la
puissance dissipée par les nœuds capteurs en regroupant plusieurs transmissions par
période d’activité. De cette façon, pour un trafic donné, les nœuds activent leur circuit
moins souvent et consomment donc moins d’énergie qu’un protocole traditionnel. Le
compromis de cette méthode est une augmentation du délai de bout-en-bout et sa
limite d’exploitation est donc dictée par le délai de livraison cible des applications
supportées. Nous voulons montrer ici que le schéma de routage opportuniste permet
une diminution sensible du délai de bout en bout et permet donc d’exploiter davantage
le mécanisme d’allocation multiple d’instants de transmission proposé par le Chapitre
7.
Puissance dissipée Afin de valider pleinement l’intérêt de l’approche opportuniste du
routage, nous étudions l’impact du routage opportuniste sur la consommation des
nœuds.
9.4.2 Résultats sur topologie en grille régulière
9.4.2.1 Taux de livraison
La Figure 9.10 présente les taux de livraison obtenus pour QOR et RPL avec et sans
acquittement ni retransmission. On note en premier lieu que les résultats obtenus sans retransmission
confirment notre intuition, à savoir qu’un usage opportuniste des liens longue
distance permet d’améliorer le taux de livraison. On constate en effet que le nombre de
trames non livrées par QOR est à inférieur à 2% du volume total contre 5% avec avec RPL.
On remarque également qu’il est nécessaire de mettre en place un mécanisme d’acquittement
et de retransmission afin de garantir l’objectif de 99% de trames livrées à la
passerelle.
9.4.2.2 Délai
La Figure 9.11 représente le délai moyen des trames générées par les nœuds en périphérie
de la topologie lorsque les retransmissions et acquittements sont utilisés. On constate,
conformément à nos attentes, que QOR présente un délai de livraison inférieur à celui de
RPL : nous observons en effet une diminution de 50% du délai de livraison des trames.
198CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.10 – Taux de livraison comparé
Figure 9.11 – Délai moyen de bout-en-bout, nœud en périphérie
La Figure 9.12 représente la distribution du délai pour un trafic fixé à 3 trames par
jour et par nœud. La distribution observée est celle du nœud identifié par un rond blanc
sur la Figure 9.9. Nous constatons en premier lieu que les délais de livraison observés pour
QOR sont strictement inférieurs à ceux de RPL. On remarque également que les délais
obtenus avec le routage opportuniste présentent une plus grande variabilité qu’avec le
routage traditionnel : entre 4500s et 7800s pour QOR contre 10900 à 12500s avec RPL soit
199CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
3300s d’écart contre 1650s. Ce comportement est le fruit de l’usage opportuniste des liens.
En effet, comme indiqué en Section 9.2, QOR fait usage des liens longue distance lorsqu’ils
sont disponibles : la loi de distribution du délai est donc fonction de la distribution des
réalisations de liens.
Figure 9.12 – Distribution du délai de bout-en-bout, nœud en périphérie
9.4.2.3 Puissance dissipée
Nous étudions à présent la puissance dissipée par chacun des protocoles. La distribution
des puissances dissipées par l’ensemble des nœuds de la topologie est représentée sur les
Figures 9.13 et 9.14.
La Figure 9.13 représente les résultats obtenus pour une source unique. Les distributions
obtenues pour QOR et RPL présentent 3 domaines d’intérêt, repérés sur le graphe.
Le premier domaine d’intérêt, en haut à gauche sur le graphe, correspond aux nœuds qui
ont pour seule activité radio l’écoute périodique du médium : ces nœuds détectent peu ou
pas d’émissions et ne participent donc pas au relayage des trames. Cette catégorie de la
population de nœuds est plus peuplée avec QOR qu’avec RPL. Cela signifie que l’acheminement
opportuniste d’une trame de données affecte un nombre moins important de
nœuds qu’avec une approche traditionnelle. Parmi les nœuds affectés par l’acheminement
d’une trame, on distingue deux populations : ceux qui subissent une sur-écoute des messages
d’annonce de trames de données et/ou qui participent peu fréquemment au relayage
dans le cas de QOR, i.e. domaine en bas à gauche, et ceux qui participent fréquemment
à l’acheminement des trames, i.e. en bas à droite. Par ces résultats, nous observons que
la consommation maximale dans le réseau est plus faible avec QOR qu’avec RPL : 0.0311
mW pour QOR contre 0.0327 mW pour RPL soit un écart de 5% de la puissance maximale
dissipée en faveur de l’approche opportuniste. On observe également que les nœuds
participent moins fréquemment à l’acheminement des données (moins de nœuds dans le
domaine en bas à droite) avec QOR qu’avec RPL. Ce résultat trouve son explication dans
l’approche opportuniste qui implique moins de transmissions pour acheminer les trames et
qui répartit la prise en charge de celles-ci en fonction des réalisations de liens, i.e. les prises
en charge sont réparties entre les nœuds relayeurs en fonction des réalisation de liens.
200CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.13 – Distribution de la puissance dissipée, émetteur unique
Figure 9.14 – Distribution de la puissance dissipée
La Figure 9.14 recense les résultats concernant la puissance dissipée lorsque tous les
nœuds émettent des trames de données. Ces résultats confortent l’analyse réalisée d’après
les résultats de la figure 9.13. On observe en particulier une puissance maximale dissipée
dans le réseau avec l’approche opportuniste inférieure de 25%.
201CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
9.4.3 Résultats sur topologie "aléatoire"
Nous étudions maintenant les résultats obtenus sur la topologie aléatoire générée selon
les statistiques de la topologie du démonstrateur ARESA.
9.4.3.1 Taux de livraison
La Figure 9.15 représente les taux de livraison atteints avec QOR et RPL selon que les
acquittements et retransmissions sont utilisés ou non. Ces résultats amènent à des observations
similaires à celles obtenues sur la topologie en grille. On note en premier lieu qu’il est
nécessaire d’utiliser un mécanisme d’acquittement et de retransmission afin de respecter
une exigence de taux de livraison de 99%. En l’absence de tels mécanismes, le taux de
livraison obtenu avec QOR est d’environ 57% contre 45% avec RPL, soit une amélioration
de 27% en utilisant l’approche opportuniste. Ce gain se traduit par significativement moins
de retransmissions lorsque les acquittements et retransmissions sont utilisés et donc par
une diminution de la puissance dissipée. Ce résultat est confirmé dans la Section 9.4.3.3.
Figure 9.15 – Taux de livraison sans acquittement ni retransmission
9.4.3.2 Délai
Les résultats en terme de délai de bout-en-bout pour un nœud de la périphérie sont
disponibles sur les Figures 9.16 et 9.17. D’après la Figure 9.16, on constate que le délai
moyen est réduit de 38% lorsque l’approche opportuniste, i.e. QOR, est utilisée. Ce résultat
montre que l’approche opportuniste proposée permet de réduire sensiblement le délai de
livraison des trames de données sur une topologie réaliste de réseaux de capteurs urbains.
La Figure 9.17 présente quant à elle la distribution de ces délais. On observe ici un comportement
similaire à celui obtenu sur la topologie en grille : les délais de bout-en-bout
avec QOR présentent une variabilité plus grande qu’avec RPL, i.e. 5300s contre 3500s.
202CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.16 – Délai moyen de bout-en-bout, nœud en périphérie
Figure 9.17 – Distribution du délai de bout-en-bout, nœud en périphérie
9.4.3.3 Puissance dissipée
Compte-tenu des exigences de livraison, nous présentons ici les résultats avec retransmissions
et acquittements activés (Fig. 9.18). Ces résultats confortent les observations faites
sur la topologie en grille, à savoir une sollicitation moins importante des nœuds capteurs
du réseau.
203CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
Figure 9.18 – Distribution de la puissance dissipée, topologie "aléatoire"
9.4.4 Synthèse des résultats
Nous avons exécuté QOR et RPL sur deux topologies de réseaux multi-sauts, dont
l’une possède les propriétés statistiques d’un déploiement de réseaux de capteurs urbains
existant. Par cette étude nous montrons qu’un routage opportuniste tel que proposé permet
d’améliorer significativement le taux de livraison par rapport à un protocole traditionnel
optimisé pour cet objectif, tout en diminuant le délai de bout-en-bout et la puissance
dissipée.
9.5 Synthèse sur QOR
Dans ce Chapitre, nous proposons le protocole QOR, The QoS oriented Opportunistic
Routing Protocol. QOR est un protocole de routage opportuniste exploitant les liens longue
distance, fluctuants et peu fiables afin d’améliorer conjointement le taux de livraison, le
délai et la puissance dissipée.
Dans cette étude, QOR est comparé à un protocole visant à maximiser le taux de livraison,
à savoir une implémentation du protocole RPL [3]. Cette étude est réalisée par
simulation sur deux topologies de réseaux dont l’une d’elles possèdent des propriétés statistiques
proches d’une topologie d’un déploiement de réseaux de capteurs existant, i.e.
celle du démonstrateur du projet ARESA [81]. Les résultats obtenus avec QOR confirment
l’amélioration simultanée du taux de livraison, du délai et de la puissance dissipée par rapport
à RPL. Plus généralement, ce résultat valide l’approche opportuniste du routage et
montre qu’il est possible d’utiliser les liens non fiables, longue distance, fluctuants dans un
réseau contraint par des exigences de Qualité de Service. Par ailleurs, dans le Chapitre 7,
nous avons montré que l’allocation multiple d’instants de transmission par période d’activité,
i.e. le principe fondateur de CT-MAC, a pour contrepartie une augmentation du délai
de bout-en-bout. Cet accroissement du délai de bout-en-bout, du à un allongement de la
période de sommeil des nœuds, limite le nombre d’instants de transmission qui peuvent
204CHAPITRE 9. PROTOCOLE DE ROUTAGE OPPORTUNISTE POUR RÉSEAU URBAIN DE
CAPTEURS SANS-FIL MULTI-SAUTS : QOR
être alloués simultanément. Lors de l’analyse comparée de QOR et RPL, on a constaté
une diminution d’environ 40% du délai sur une topologie réaliste, en faveur de l’approche
opportuniste. Pour une exigence donnée sur le délai, l’approche opportuniste permet donc
d’allouer significativement plus d’instants de transmissions par période d’activité et donc
de diminuer encore davantage la puissance dissipée par les nœuds capteurs, résultant ainsi
en une durée de vie plus grande du réseau.
Enfin, compte-tenu de la similitude entre QOR et RPL, i.e. topologie logique identique,
mêmes messages de contrôle, etc., nous envisageons d’implémenter QOR sur la base du
code source RPL actuellement en cours de développement dans le cadre du démonstrateur
ARESA 2 [16].
205CHAPITRE
10 Conclusion et travaux futurs
10.1 Résumé des contributions
Ces travaux de thèse s’intéressent aux architectures et protocoles pour réseaux de capteurs
sans-fil sous exigences de Qualité de Service. Nous considérons plus particulièrement
l’usage de tels réseaux dans le contexte applicatif de la Ville Intelligente, plus connu sous
l’appellation Smart Cities. Cette catégorie regroupe les applications liées à la gestion du
trafic et de la signalisation, des parcs de stationnement, des déchets, de la relève des compteurs
d’eau, d’électricité, de gaz, etc.
Ces réseaux sont constitués de dispositifs, i.e. les capteurs, capables d’effectuer une mesure
physique et de la transmettre par voix hertzienne jusqu’à une passerelle connectant le
réseau au système d’information de l’opérateur.Cet acheminement peut être réalisé de deux
manières selon la technologie radio employée. On parle de télé-relève à radio longue portée
portée lorsque l’ensemble des compteurs sont en mesure de transmettre directement leurs
mesures à la passerelle et de télé-relève multi-sauts lorsque l’acheminement des données
nécessitent la coopération de plusieurs compteurs.
Dans ce travail, nous avons tout d’abord recensé les caractéristiques de trafic et les
exigences de Qualité de Service associées à chacune des applications de la Ville Intelligente
(Chap. 2). Nous avons ainsi constaté que le trafic dominant de ces réseaux provient des
applications de télé-relève de compteurs d’eau et de gaz (jusqu’à 10 000 compteurs par
passerelle, une remontée par heure et 1Ko par remontée). Ces applications se caractérisent
par un taux de livraison cible de 99%, des contraintes en délai de l’ordre de la période de
génération des trames de données et un trafic de type convergecast.
Compte tenu de cette description, nous avons recensé les protocoles de la littérature et
proposé une taxonomie fonctionnelle des protocoles de contrôle d’accès au médium et de
routage afin d’identifier les familles de protocoles pertinentes à chaque architecture radio
(Chap. 3). Nous montrons ainsi que l’architecture radio longue portée s’associe de manière
privilégiée avec un protocole de contrôle d’accès direct au médium, tel qu’ALOHA ou ses
dérivés. En revanche, nous montrons qu’une pile protocolaire constituée d’un protocole de
routage pro-actif à vecteur de distances sur un protocole de contrôle d’accès par contention
est mieux indiquée pour un réseau de capteurs multi-sauts en homogène milieu urbain.
Nous avons ensuite étudié les différents mécanismes constitutifs d’un protocole de
contrôle d’accès par contention, i.e. l’établissement de la communication (Chap. 4), la né-
gociation de l’accès et l’annonce de la transmission (Chap. 5). Nous montrons ainsi qu’un
protocole de contrôle d’accès à synchronisation pro-active a un coût énergétique équivalent
à la dépense énergétique de l’oscillateur à cristal de quartz utilisé. Nous montrons en particulier
qu’au delà d’une trame par jour et par voisinage radio, un protocole de contrôle
d’accès synchrone présente un coût énergétique inférieur à celui d’un protocole asynchrone
idéal. Nous exhibons également les différents mécanismes de contention présents dans la
littérature. Nous évaluons la consommation d’énergie associée à chacun d’entre eux en fonction
du taux de livraison souhaité. Nous montrons ainsi que les mécanismes de contention
à décompte binaire sont les plus efficaces en énergie.
À partir de ces constats, nous construisons deux piles protocolaires de référence, l’une
206CHAPITRE 10. CONCLUSION ET TRAVAUX FUTURS
pour une architecture de télé-relève à radio longue portée et l’autre pour un réseau radio
multi-sauts et nous comparons ces deux architectures en termes de dépense énergétique
pour un scénario de télé-relève de compteurs et en fonction du volume de trafic supporté
(Chap. 6). Nous observons en particulier que pour un trafic faible (inférieur ou égal à 1
trame par jour), sur des topologies de petite taille et jusqu’à un déploiement dans une
agglomération de taille moyenne, l’architecture longue portée s’avère plus efficace qu’une
architecture multi-sauts du point de vue énergétique. Pour un trafic excédant 4 à 5 trames
par jours et par nœud et pour des déploiements denses, nous recommandons l’usage d’une
topologie multi-sauts, d’un protocole d’accès au médium radio synchrone tel que proposé
au Chapitre 7 et d’un protocole de routage opportuniste tel que proposé au Chapitre 9.
Cette étude a également permis de révéler les limitations des protocoles existants et des
pistes d’amélioration de leurs performances : factorisation du coût énergétique de l’arbitrage
au médium de communication, utilisation opportuniste des liens fluctuants et non fiables
pour améliorer conjointement le taux de livraison et le délai et relayage adaptatif pour
améliorer la couverture et le taux de livraison des architectures longue portée (Chap. 6).
Nous avons ensuite exploré chacune de ces pistes.
Nous proposons ainsi un protocole d’allocation mutualisée et distribuée d’instants de
transmission : The Cascading Tournament Protocol (CT-MAC) (Chap. 7). Les résultats
de l’étude montrent entre autres que CT-MAC consomme jusqu’à 12% de moins qu’un
protocole de référence (SCP-MAC) dimensionné selon les résultats des Chapitres 4, 5 et
6, i.e. dimensionné pour respecter les contraintes de qualité de service au moindre coût
énergétique. Cette diminution de la consommation d’énergie est réalisée dans le respect
des exigences de qualité de service typique d’un réseau de collecte.
Nous proposons également The Self-Adapting Receiver-Initiated MAC protocol (SARIMAC)
(Chap. 8). SARI-MAC est un protocole MAC initié récepteur conçu pour opérer une
fonction de relayage dans une architecture de réseaux de capteurs longue portée. SARIMAC
évalue le trafic à supporter par les nœuds relais de façon à adapter son paramétrage
aux exigences de Qualité de Service et de manière à minimiser la consommation énergétique.
Dans cette étude, nous avons comparé SARI-MAC à RI-MAC, le protocole initié récepteur
efficace en énergie de référence. L’analyse de performance montre que SARI-MAC surpasse
RI-MAC sur l’ensemble des critères retenus : taux de livraison (& 99, 9%), consommation
d’énergie (réduction de 50% de la consommation des nœuds relais par rapport à RI-MAC)
et cohabitation avec les protocoles privilégiés sur les architectures longue portée , i.e.
ALOHA et dérivées, par son occupation moindre du médium par les nœuds relais.
Enfin nous proposons The QoS-oriented Opportunistic Routing protocol (QOR) (Chap.
9). QOR est un protocole de routage opportuniste exploitant les liens longue distance,
fluctuants et peu fiables afin d’améliorer conjointement le taux de livraison, le délai et
la puissance dissipée. Les résultats obtenus dans cette étude confirment l’amélioration
simultanée du taux de livraison, du délai et de la puissance dissipée par rapport au protocole
IETF RPL [3]. Plus généralement, ce résultat valide l’approche opportuniste du routage
et montre qu’il est possible d’utiliser les liens non fiables, longue distance, fluctuants dans
un réseau contraint par des exigences de Qualité de Service.
207CHAPITRE 10. CONCLUSION ET TRAVAUX FUTURS
10.2 Perspectives et travaux futurs
Les travaux menés dans cette thèse ont été focalisés sur le choix et le dimensionnement
d’une architecture de réseau urbain de capteurs sans-fil pour une application de
télé-relève de compteurs. Nous avons par ailleurs montré qu’un tel dimensionnement permet
non seulement de répondre aux exigences de Qualité de Service d’une application de
télé-relève de compteurs mais également à la majorité des exigences de Qualité de Service
des applications identifiées, e.g. gestion des déchets, éclairage public, etc. Certaines applications,
e.g. la gestion des parcs de stationnement, nécessitent cependant l’introduction
de mécanismes spécifiques afin de répondre à leurs exigences de Qualité de Service plus
contraignantes. Certains de ces mécanismes, dont des études préliminaires ont été réalisées
lors de cette thèse, e.g. priorisation de l’accès au médium selon la classe de service (Annexe
A), mériteraient d’être étudiés plus en détail.
Il est également nécessaire de développer des mécanismes de supervision et de management
de SLAs afin d’opérer et d’adapter le paramétrage de tels réseaux en présence
d’applications et de besoins de Qualité de Services dynamiques. De tels travaux sont actuellement
entrepris par les laboratoires OLPS/MIS d’Orange Labs et INRIA CITI de
l’INSA de Lyon, en particulier dans le cadre de la thèse de Guillaume Gaillard, débutée en
décembre 2012.
Enfin, l’implémentation des différentes propositions réalisées dans cette thèse nécessitent
une validation sur un déploiement réaliste de réseau urbain. Le démonstrateur du
projet ARESA 2, qui compte une centaine de nœuds déployés sur le site Orange Labs de
Meylan serait un candidat idéal pour une telle démarche.
208Annexes
209CHAPITRE
A Étude préliminaire sur la
priorisation de l’accès au
médium selon la classe de
service
A.1 Scenario
Figure A.1 – Fenêtre de contention : notations
A.2 Définitions
Ci Support de la fonction de distribution de la classe de service i.
Ni Nombre de nœuds appartenant à la classe de service i.
K nombre d’intervalles dans la fenêtre de contention.
s s ième intervalle de la fenêtre de contention.
c nombre de classes de services distinctes, c’est à dire de support différent.
{Ci}i21..c Ensemble des support des classes de service.
pi(access) Probabilité d’accéder, de façon unique au medium pour un nœud de classe de
service i.
Tmac Période de réveil du capteur.
pi(t = x ⇤ Tmac) Probabilité d’accès au terme de de x tentatives exactement.
ti(access) Temps moyen pour accéder avec succès au canal radio.
A.3 Calcul de la Probabilité d’accéder, de façon unique, au
medium pour un nœud de classe de service i
Un nœud accède au medium s’il choisit un slot s et qu’aucun autre nœud ne choisissent
un slot s0 précédant s.
pi(access) = 1
Ci
[
min({
X
C`}`21..c)
j=1
(
Yc
`=1
`6=i
[(C` ! j
C`
)
N` ].(
Ci ! j
Ci
)
Ni#1)] (A.1)
211ANNEXE A. ÉTUDE PRÉLIMINAIRE SUR LA PRIORISATION DE L’ACCÈS AU MÉDIUM
SELON LA CLASSE DE SERVICE
Calcul du temps d’attente à l’accès avec succès
pi(t = x.Tmac) = (1 ! pi(access))x.pi(access) (A.2)
ti(access) = X1
x=1
[pi(t = x.Tmac).x.Tmac]
= X1
x=1
[(1 ! pi(access))x.pi(access).x.Tmac]
ti(access) = 1 ! pi(access)
pi(access) .Tmac (A.3)
A.4 Calcul de la Probabilité de collision
Une collision apparaît lorsque deux ou plus nœuds choisissent le même slot, ce slot
ayant été le premier à être choisi. La probabilité associée, P(col) est égale à la probabilité
de l’évènement : "aucun nœud n’accède de façon unique au canal radio".
P(col) = Yc
i=1
[(1 ! pi(access))Ni ]
= Yc
i=1
[(1 ! 1
Ci
[
min({
X
C`}`21..c)
j=1
(
Yc
`=1
`6=i
[(C` ! j
C`
)
N` ].(
Ci ! j
Ci
)
Ni#1)])Ni ]
P(col) = Yc
i=1
[(
Ci ! [
Pmin({C`}`21..c)
j=1 (
Qc
`=1
`6=i
[(C`#j
C` )N` ].(Ci#j
Ci )Ni#1)]
Ci
)
Ni ] (A.4)
A.5 Études de cas
A.5.1 2 classes de service, un trafic majoritaire non prioritaire et un
trafic d’alarme sporadique
On considère un voisinage de 40 nœuds. 2 nœuds parmi les 40 doivent retransmettre
un paquet d’alarme, les 38 autres écoulent un trafic non prioritaire.
La taille de la fenêtre de contention, K, varie entre 20 et 128. Les nœuds "non prioritaires”
utilise K slots, soit la totalité de la fenêtre de contention. Les nœuds prioritaires
utilisent entre 5 et K ! 1 slots.
212ANNEXE A. ÉTUDE PRÉLIMINAIRE SUR LA PRIORISATION DE L’ACCÈS AU MÉDIUM
SELON LA CLASSE DE SERVICE
Figure A.2 – Probabilité d’accès unique au canal radio
Le graphe A.2 réprésente la probabilité d’accès unique au canal radio en fonction des
classes de services. La surface rouge représente la probabilité d’accès des nœuds ”alarmes”
alors que la courbe noire représente le traffic de base.
A.5.2 3 classes de service, un trafic majoritaire non prioritaire, un trafic
priorisé et un trafic d’alarme sporadique
On considère un voisinage de 40 nœuds. 2 nœuds parmi les 40 doivent retransmettre
un paquet d’alarme. 5 nœuds doivent transmettre des paquets classés importants alors que
les 33 autres écoulent un trafic non prioritaire.
La taile de la fenêtre de contention, K, est fixe : 128. Les nœuds "non prioritaires”
utilisent les K slots. Les nœuds "importants" utilisent entre 3 et K ! 1 slots : Kimp alors
que les nœuds "alarmes” utilisent entre 2 et Kimp ! 1 slots.
213ANNEXE A. ÉTUDE PRÉLIMINAIRE SUR LA PRIORISATION DE L’ACCÈS AU MÉDIUM
SELON LA CLASSE DE SERVICE
Figure A.3 – Probabilité d’accès unique au canal radio
Le graphe A.3 réprésente la probabilité d’accès unique au canal radio en fonction des
classes de services. La surface rouge représente la probabilité d’accès des nœuds ”alarmes”.
La courbe bleue représente la probabilité d’accès des nœuds "importants" alors que la
courbe noire représente le traffic de base.
214Table des figures
2.1 Exemple de nœud capteur sans-fil. Ici, un nœud de la société Coronis [8],
groupe Elster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Déploiements de capteurs urbains : topologie en étoile (gauche) et topologie
multi-sauts (droite) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Bandes de fréquences non licenciées utilisées pour le déploiement de réseaux
de capteurs sans-fil urbains . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Bande 868 MHz, sous-bandes G1, G2, G3 et G4 : contraintes d’exploitation 12
2.5 Évolution de la puissance reçue en fonction de la distance à la source [12]. . 13
2.6 Modèle de propagation à deux rayons [13]. . . . . . . . . . . . . . . . . . . . 13
2.7 Expérimentation sur la variabilité du RSSI et taux d’erreur binaire . . . . . 14
2.8 Utilisation de la mémoire RAM pour un nœud capteur possédant 4 Kilooctets
de RAM et fonctionnant sous Contiki [18]. Les entrées de la table de
voisinage sont de 64bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.9 Durée de vie des nœuds capteurs en fonction de la puissance moyenne dissipée.
Exemple sur une pile Lithium-thionyl chloride (Li-SOCl2) de capacité
5800 mAh sous 3.6 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1 Taxonomie proposé pour l’état de l’art sur les protocoles de contrôle d’accès
au médium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Protocole PEDAMACS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3 Protocole SMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 Protocole SCP-MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.5 Protocole DMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.6 Protocole NP-CSMA-PS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.7 Protocole MFP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.8 Protocole XMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.9 Protocole SpeckMAC-D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.10 Protocole MX-MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.11 Protocole RIMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.12 Protocole ALOHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.13 Protocole Slotted ALOHA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.14 Protocole WiseMAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.15 Taxonomie proposée pour l’état de l’art sur les protocoles de routage . . . . 52
3.16 Protocole LEACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.17 Topologie du démonstrateur ANR ARESA . . . . . . . . . . . . . . . . . . . 55
3.18 Topologie du démonstrateur ANR ARESA . . . . . . . . . . . . . . . . . . . 56
215TABLE DES FIGURES
3.19 Graphe acyclique Dirigé : les liens en gras représentent les liens qui ont été
ajouté à l’arbre de recouvrement pour constituer le DAG. Ces liens ajoutent
de la redondance à la structure et offrent ainsi des chemins alternatifs dans
l’éventualité d’une indisponibilité du lien primaire. . . . . . . . . . . . . . . 59
3.20 Protocole Géographique Glouton . . . . . . . . . . . . . . . . . . . . . . . . 62
3.21 Le routage géographique glouton : échec de l’acheminement en présence de
zones non couvertes par des capteurs . . . . . . . . . . . . . . . . . . . . . . 63
4.1 Exemple de fonctionnement erratique d’un protocole de communication en
présence d’un décalage de la base de temps des nœuds. . . . . . . . . . . . . 72
4.2 Solutions palliatives au décalage d’horloges. . . . . . . . . . . . . . . . . . . 73
4.3 Modèle de synchronisation distribuée : les nœuds capteurs échangent la date
de leur horloge et exécute un algorithme de consensus leur permettant de
s’accorder sur une date commune. . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4 Modèle de synchronisation hiérarchique, exemple : (1) un serveur NTP fournit
une horloge de référence aux passerelles du réseau. (2) Les passerelles
diffusent la date de référence aux nœuds du réseau. (3) Les nœuds capteurs
synchronisent leur horloge sur la date annoncée par la passerelle à laquelle
ils sont rattachés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.5 Le schéma de synchronisation Maître-Esclave . . . . . . . . . . . . . . . . . 77
4.6 Envoi périodique de la trame de synchronisation . . . . . . . . . . . . . . . 77
4.7 Format de la trame de synchronisation . . . . . . . . . . . . . . . . . . . . . 78
4.8 Mécanisme de synchronisation trivial . . . . . . . . . . . . . . . . . . . . . . 78
4.9 Taux de succès de la synchronisation en présence d’erreurs sur le fragment
reçu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.10 Ordonnancement des trames de synchronisation . . . . . . . . . . . . . . . . 84
4.11 Modèle de consommation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.12 Protocoles asynchrone idéal et synchrone optimal . . . . . . . . . . . . . . . 87
4.13 Optimisation des protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.14 Consommation d’énergie comparée des protocoles . . . . . . . . . . . . . . . 89
5.1 Accès par contention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2 Exemple de séquence d’action à priori . . . . . . . . . . . . . . . . . . . . . 93
5.3 Compétition entre deux nœuds capteurs . . . . . . . . . . . . . . . . . . . . 93
5.4 Exemple de scénario pouvant mener à une collision . . . . . . . . . . . . . . 94
5.5 Exemple de séquence à priori pour un algorithme à tonalité simple . . . . . 96
5.6 Compétition entre deux nœuds pour un algorithme à tonalité simple . . . . 96
5.7 Exemple de séquence à priori pour un algorithme à longue tonalité . . . . . 97
5.8 Compétition entre deux nœuds pour un algorithme à longue tonalité . . . . 97
5.9 Exemple de séquence à priori pour un algorithme à décompte binaire . . . . 98
5.10 Compétition entre deux nœuds pour un algorithme à décompte binaire . . . 98
5.11 Probabilité de collision : loi uniforme (vert) et loi géométrique croissante
tronquée (rouge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.12 Contrainte de synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.13 Modele de consommation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.1 Modèle de la population en compétition . . . . . . . . . . . . . . . . . . . . 108
6.2 Trafic admissible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3 Consommation d’énergie et taux de livraison . . . . . . . . . . . . . . . . . 111
6.3 Délai moyen de livraison pour une architecture multi-sauts . . . . . . . . . . 113
216TABLE DES FIGURES
6.4 Calcul de la composition du voisinage radio d’un nœud à une distance x de
la passerelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
6.5 Éléments de démonstration des calculs des aires A(x), B(x) et C(x) . . . . . 116
6.5 Architecture de réseau de capteurs urbains sans-fil multi-sauts : Puissance
dissipée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.6 Principales contributions à la dépense d’énergie . . . . . . . . . . . . . . . . 120
6.7 Calcul du taux de collision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.8 ALOHA : Probabilité de collision . . . . . . . . . . . . . . . . . . . . . . . . 124
6.9 ALOHA avec répétitions : Probabilité de non délivrance, débit 100bits/s . . 125
6.10 ALOHA avec répétitions et acquittements : Probabilité de non délivrance,
débit 100bits/s .................................. 126
6.11 Impact de la taille de l’intervalle sur la probabilité de collision . . . . . . . . 127
6.12 ALOHA temps discret : probabilité de collision . . . . . . . . . . . . . . . . 128
6.13 ALOHA temps discret avec répétitions : probabilité de non délivrance . . . 129
6.14 ALOHA temps discret avec répétitions et acquittement : probabilité de non
délivrance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
6.14 Protocoles pour réseaux de capteurs urbains longue portée : puissance dissipée
et domaines d’intérêt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.13 Comparaison des architectures longue portée et multi-saut . . . . . . . . . . 136
7.1 Étapes de l’algorithme de contention de CT-MAC . . . . . . . . . . . . . . . 141
7.2 Étape 1 de l’algorithme de contention de CT-MAC, comportement d’un
nœud isolé souhaitant émettre . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.3 Étape 1 de l’algorithme de contention de CT-MAC, comptage des détections
et classement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
7.4 Deux noeuds obtiennent un classement identique suite au tirage du même
intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.5 Étape 2 de l’algorithme de contention de CT-MAC, comportement d’un
nœud isolé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
7.6 Étape 2 de l’algorithme de contention de CT-MAC, suppression d’un doublon144
7.7 Étape 3 : annonce des émissions et planification des émissions/écoute . . . . 145
7.8 Étape 3 : Écoute adaptative des annonces . . . . . . . . . . . . . . . . . . . 146
7.9 Étape 4 : Transmission des données . . . . . . . . . . . . . . . . . . . . . . . 146
7.10 Fiabilisation de la détection par voix d’écho . . . . . . . . . . . . . . . . . . 147
7.11 Fonction de répartition des statistiques d’ordre pour une loi uniforme, exemple
avec |S| = 16 et n = 4 .............................. 149
7.12 Paramètrage de la loi géométrique, choix du paramètre ↵ pour |S| = 128 et
n = 32 ....................................... 152
7.13 Application à l’étape de classement de CT-MAC, choix du paramètre ↵ . . 153
7.14 Optimisation de l’usage des instants de transmission . . . . . . . . . . . . . 154
7.15 Grille régulière à maille carrée . . . . . . . . . . . . . . . . . . . . . . . . . . 156
7.16 Protocole SCP-MAC : structure du protocole . . . . . . . . . . . . . . . . . 157
7.17 Routage sur topologie multi-sauts . . . . . . . . . . . . . . . . . . . . . . . . 158
7.18 Puissance dissipée comparée, clique de 80 nœuds . . . . . . . . . . . . . . . 159
7.19 Puissance dissipée comparée (hors synchronisation), clique de 80 nœuds . . 160
7.20 Taux de livraison comparé, clique de 80 nœuds . . . . . . . . . . . . . . . . 161
7.21 délai comparé, clique de 80 nœuds . . . . . . . . . . . . . . . . . . . . . . . 162
7.22 Puissance dissipée comparée, grille de 169 nœuds . . . . . . . . . . . . . . . 163
7.23 Taux de livraison comparé, grille de 169 nœuds . . . . . . . . . . . . . . . . 164
7.24 Délai de bout en bout comparé, grille de 169 nœuds . . . . . . . . . . . . . 164
217TABLE DES FIGURES
7.25 Taux de livraison comparé, période d’activité fixe, Clique de 80 nœuds . . . 165
7.26 Puissance dissipée comparée, période d’activité fixe, Clique de 80 nœuds . . 166
7.27 Délai comparé, période d’activité fixe, Clique de 80 nœuds . . . . . . . . . . 167
8.1 Vue générale de SARI-MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
8.2 Étape 1 : annonce de la fenêtre de réception . . . . . . . . . . . . . . . . . . 171
8.3 Étape 2 : annonce des intentions de transmission . . . . . . . . . . . . . . . 172
8.4 Phénomène de capture et intérêt du champ code . . . . . . . . . . . . . . . 172
8.5 Étape 3 : publication de l’échéancier des transmissions . . . . . . . . . . . . 173
8.6 Étape 4 : transmission des trames de données . . . . . . . . . . . . . . . . . 173
8.7 Auto-adaptation des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . 174
8.8 Exemple de retard de transmission de la trame d’annonce . . . . . . . . . . 177
8.9 Aperçu du protocole RI-MAC . . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.10 Estimation du trafic par SARI-MAC . . . . . . . . . . . . . . . . . . . . . . 182
8.11 Taux de livraison comparé . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
8.12 Délai comparé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
8.13 Puissance dissipée comparée (nœuds capteurs) . . . . . . . . . . . . . . . . . 184
8.14 Puissance dissipée comparée (nœuds relais) . . . . . . . . . . . . . . . . . . 185
8.15 Occupation du médium par les nœuds relais . . . . . . . . . . . . . . . . . . 185
8.16 Influence de l’occupation du médium par les nœuds relais sur le taux de
collision des trames des nœuds capteurs non relayés à la passerelle . . . . . 186
9.1 Traces de connectivité du démonstrateur ARESA . . . . . . . . . . . . . . . 189
9.2 Intérêt de l’approche opportuniste . . . . . . . . . . . . . . . . . . . . . . . 190
9.3 Construction de la topologie de routage . . . . . . . . . . . . . . . . . . . . 191
9.4 Adressage hiérarchique des nœuds . . . . . . . . . . . . . . . . . . . . . . . . 193
9.5 Règle du choix des relayeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
9.6 Mécanisme d’acquittements en cascade . . . . . . . . . . . . . . . . . . . . . 195
9.7 Scénario de trafic point à point . . . . . . . . . . . . . . . . . . . . . . . . . 196
9.8 Scénario de trafic point à point . . . . . . . . . . . . . . . . . . . . . . . . . 196
9.9 Topologies utilisées dans l’étude . . . . . . . . . . . . . . . . . . . . . . . . . 197
9.10 Taux de livraison comparé . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
9.11 Délai moyen de bout-en-bout, nœud en périphérie . . . . . . . . . . . . . . . 199
9.12 Distribution du délai de bout-en-bout, nœud en périphérie . . . . . . . . . . 200
9.13 Distribution de la puissance dissipée, émetteur unique . . . . . . . . . . . . 201
9.14 Distribution de la puissance dissipée . . . . . . . . . . . . . . . . . . . . . . 201
9.15 Taux de livraison sans acquittement ni retransmission . . . . . . . . . . . . 202
9.16 Délai moyen de bout-en-bout, nœud en périphérie . . . . . . . . . . . . . . . 203
9.17 Distribution du délai de bout-en-bout, nœud en périphérie . . . . . . . . . . 203
9.18 Distribution de la puissance dissipée, topologie "aléatoire" . . . . . . . . . . 204
A.1 Fenêtre de contention : notations . . . . . . . . . . . . . . . . . . . . . . . . 211
A.2 Probabilité d’accès unique au canal radio . . . . . . . . . . . . . . . . . . . . 213
A.3 Probabilité d’accès unique au canal radio . . . . . . . . . . . . . . . . . . . . 214
218Bibliographie
[1] “21 ideas for the 21st century, Business Week, Bloomberg,” pp. 78–167, sept. 1999.
[2] Internet Engineering Task Force, “MANET workgroup charter.” [Online]. Available :
http://datatracker.ietf.org/wg/manet/charter/
[3] T. Winter and P. Thubert, “RPL : IPv6 Routing Protocol for Low Power and Lossy
Networks,” RFC 6550, 2012.
[4] European Telecommunications Standards Institute (ETSI), “Electromagnetic compatibility
and Radio spectrum Matters (ERM) ; System Reference document (SRdoc) :
Spectrum Requirements for Short Range Device, Metropolitan Mesh Machine Networks
(M3N) and Smart Metering (SM) applications,TR 103 055 V1.1.1 (2011-09),”
European Telecommunications Standards Institute, Tech. Rep., 2011.
[5] United Nations, Department of Economic and Social Affairs. (2011) World
urbanization prospects, the 2011 revision. [Online]. Available : http://esa.un.org/
unpd/wup/index.html
[6] European Commission. M/441 en : Standardisation mandate to CEN, CENELEC
and ETSI in the field of measuring instruments for the development of
an open architecture for utility meters involving communication protocols
enabling interoperability. [Online]. Available : http://www.cen.eu/cen/Sectors/
Sectors/Measurement/Documents/M441.pdf
[7] Texas Instruments. (2011, june) CC1011 chip specifications. [Online]. Available :
{http://focus.ti.com/docs/prod/folders/print/cc1101.html}
[8] Coronis Systems. Wavenis wireless technology presentation. [Online]. Available :
http://coronis.com/landing.php?id=WAVEMAIN&lang=EN
[9] European Regulation Commission, “Recommendation 70–03 Relating to the Use of
Short Range Devices (SRD), Annex 1 : Non–specific Short Range Devices,” 2009.
[10] European Commission, “Commission decision of 20 december 2005 on the harmonisation
of the 169,4-169,8125 mhz frequency band in the community.”
[11] ——, “Commission Decision of 13 August 2008 amending Decision 2005/928/EC on
the harmonisation of the 169,4-169,8125 MHz frequency band in the Community.”
[Online]. Available : http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:
2008:220:0029:0029:EN:PDF
[12] T. Watteyne, “Energy-efficient self-organization for wireless sensor networks,” Ph.D.
dissertation, Institut National des Sciences Appliquées de Lyon, 2008.
[13] A. Goldsmith, Wireless communications. Cambridge university press, 2005.
[14] E. B. Hamida, G. Chelius, and J. M. Gorce, “Impact of the physical layer modeling
on the accuracy and scalability of wireless network simulation,” Simulation, vol. 85,
no. 9, pp. 574–588, 2009.
219BIBLIOGRAPHIE
[15] T. K. Sarkar, Z. Ji, K. Kim, A. Medouri, and M. Salazar-Palma, “A survey of various
propagation models for mobile communication,” Antennas and Propagation Magazine,
vol. 45, no. 3, pp. 51–82, 2003.
[16] D. Barthel. (2013, october) Projet aresa 2. [Online]. Available : http:
//aresa2.orange-labs.fr/
[17] Ville de Paris. (2012, june) Eclairage public à paris. [Online].
Available : http://www.paris.fr/pratique/chantiers-de-voirie/eclairage-public/
eclairage-public-a-paris/rub\_21\_stand\_78248\_port\_659
[18] Contiki-OS. (2012, june) The contiki operating system. [Online]. Available :
http://www.sics.se/contiki/
[19] H. Zimmermann, “OSI reference model–The ISO model of architecture for open systems
interconnection,” Communications, IEEE Transactions on, vol. 28, no. 4, pp.
425–432, 1980.
[20] J. Postel, “Transmission control protocol (tcp),” RFC 6550, 1981.
[21] A. Bachir, M. Dohler, T. Watteyne, and K. K. Leung, “Mac essentials for wireless
sensor networks,” Communications Surveys & Tutorials, IEEE, vol. 12, no. 2, pp.
222–248, 2010.
[22] G. Corbellini, “Adaptive medium access control for heterogeneous wireless sensor
networks,” Ph.D. dissertation, Institut National Polytechnique de Grenoble-INPG,
2012.
[23] W. Ye, J. Heidemann, and D. Estrin, “Medium access control with coordinated adaptive
sleeping for wireless sensor networks,” IEEE/ACM Transactions on Networking
(TON), vol. 12, no. 3, pp. 493–506, 2004.
[24] D. L. Mills, “Internet time synchronization : the network time protocol,” IEEE Transactions
on Communications, vol. 39, no. 10, pp. 1482–1493, 1991.
[25] J. Polastre, J. Hill, and D. Culler, “Versatile low power media access for wireless
sensor networks,” in Proceedings of the 2nd international conference on Embedded
networked sensor systems. ACM, 2004, pp. 95–107.
[26] M. Buettner, G. V. Yee, E. Anderson, and R. Han, “X-MAC : a short preamble
mac protocol for duty-cycled wireless sensor networks,” in Proceedings of the 4th
international conference on Embedded networked sensor systems. ACM, 2006, pp.
307–320.
[27] G.-S. Ahn, S. G. Hong, E. Miluzzo, A. T. Campbell, and F. Cuomo, “Funneling-mac :
a localized, sink-oriented mac for boosting fidelity in sensor networks,” in Proceedings
of the 4th international conference on Embedded networked sensor systems. ACM,
2006, pp. 293–306.
[28] S. C. Ergen and P. Varaiya, “Pedamacs : Power efficient and delay aware medium
access protocol for sensor networks,” Transactions on Mobile Computing (TMC),
vol. 5, no. 7, pp. 920–930, 2006.
[29] K. Pister and L. Doherty, “TSMP : Time synchronized mesh protocol,” IASTED
Distributed Sensor Networks, pp. 391–398, 2008.
[30] K. Arisha, M. Youssef, and M. Younis, “Energy-aware TDMA-based MAC for sensor
networks,” IEEE IMPACCT, pp. 21–40, 2002.
[31] M. Brownfield, K. Mehrjoo, A. Fayez, and N. Davis IV, “Wireless sensor network
energy-adaptive mac protocol,” in Consumer Communications and Networking
Conference (CCNC), vol. 2. IEEE, 2006, pp. 778–782.
220BIBLIOGRAPHIE
[32] N. Abramson, “The aloha system : another alternative for computer communications,”
in Proceedings of the Fall Joint Computer Conference. ACM, 1970, pp. 281–285.
[33] V. Rajendran, K. Obraczka, and J. J. Garcia-Luna-Aceves, “Energy-efficient,
collision-free medium access control for wireless sensor networks,” Wireless Networks,
vol. 12, no. 1, pp. 63–78, 2006.
[34] K. Jamieson, H. Balakrishnan, and Y. Tay, “Sift : A mac protocol for event-driven
wireless sensor networks,” in Wireless Sensor Networks. Springer, 2006, pp. 260–275.
[35] W. Ye, F. Silva, and J. Heidemann, “Ultra-low duty cycle mac with scheduled channel
polling,” in Proceedings of the 4th international conference on Embedded networked
sensor systems. ACM, 2006, pp. 321–334.
[36] I. Rhee, A. Warrier, M. Aia, J. Min, and M. L. Sichitiu, “Z-MAC : a hybrid mac for
wireless sensor networks,” IEEE/ACM Transactions on Networking (TON), vol. 16,
no. 3, pp. 511–524, 2008.
[37] G. Lu, B. Krishnamachari, and C. S. Raghavendra, “An adaptive energy-efficient and
low-latency mac for data gathering in wireless sensor networks,” in Proceedings of the
18th International Parallel and Distributed Processing Symposium (IPDPS). IEEE,
2004, p. 224.
[38] Y. Sun, O. Gurewitz, and D. B. Johnson, “RI-MAC : a receiver-initiated asynchronous
duty cycle mac protocol for dynamic traffic loads in wireless sensor networks,” in
Proceedings of the 6th ACM conference on Embedded network sensor systems. ACM,
2008, pp. 1–14.
[39] M. Ringwald and K. Romer, “Bitmac : A deterministic, collision-free, and robust mac
protocol for sensor networks,” in Proceeedings of the Second European Workshop on
Wireless Sensor Networks. IEEE, 2005, pp. 57–69.
[40] E. Ziouva and T. Antonakopoulos, “CSMA/CA performance under high traffic conditions
: throughput and delay analysis,” Computer Communications, vol. 25, no. 3,
pp. 313–321, 2002.
[41] V. Rajendran, J. J. Garcia-Luna-Aveces, and K. Obraczka, “Energy-efficient,
application-aware medium access for sensor networks,” in International Conference
on Mobile Adhoc and Sensor Systems Conference. IEEE, 2005, pp. 8–pp.
[42] L. F. van Hoesel and P. Havinga, “A lightweight medium access protocol (lmac) for
wireless sensor networks : Reducing preamble transmissions and transceiver state
switches,” Society of Instrument and Control Engineers (SICE), Tech. Rep., 2004.
[43] T. Van Dam and K. Langendoen, “An adaptive energy-efficient mac protocol for wireless
sensor networks,” in Proceedings of the 1st international conference on Embedded
networked sensor systems. ACM, 2003, pp. 171–180.
[44] A. Bachir, D. Barthel, M. Heusse, and A. Duda, “Micro-frame preamble mac for
multihop wireless sensor networks,” in IEEE International Conference on Communications
(ICC), vol. 7. IEEE, 2006, pp. 3365–3370.
[45] J.-H. Kim, H.-N. Kim, S.-G. Kim, S.-J. Choi, and J.-Y. Lee, “Advanced mac protocol
with energy-efficiency for wireless sensor networks,” in Information Networking.
Convergence in Broadband and Mobile Networking. Springer, 2005, pp. 283–292.
[46] G. P. Halkes and K. Langendoen, “Crankshaft : An energy-efficient mac-protocol for
dense wireless sensor networks,” in Wireless Sensor Networks. Springer, 2007, pp.
228–244.
221BIBLIOGRAPHIE
[47] J. Pak, J. Son, and K. Han, “A mac protocol using separate wakeup slots for sensor
network,” in Computational Science and Its Applications (ICCSA). Springer, 2006,
pp. 1159–1168.
[48] A. El-Hoiydi, “Aloha with preamble sampling for sporadic traffic in ad hoc wireless
sensor networks,” in Communications, 2002. ICC 2002. IEEE International Conference
on, vol. 5. IEEE, 2002, pp. 3418–3423.
[49] E.-Y. Lin, J. M. Rabaey, and A. Wolisz, “Power-efficient rendez-vous schemes for
dense wireless sensor networks,” in IEEE International Conference on Communications,
vol. 7. IEEE, 2004, pp. 3769–3776.
[50] R. Kuntz, A. Gallais, and T. Noël, “Auto-adaptive mac for energy-efficient burst
transmissions in wireless sensor networks,” in Wireless Communications and Networking
Conference (WCNC). IEEE, 2011, pp. 233–238.
[51] K.-J. Wong and D. Arvind, “SpeckMAC : low-power decentralised mac protocols for
low data rate transmissions in specknets,” in Proceedings of the 2nd international
workshop on Multi-hop ad hoc networks : from theory to reality. ACM, 2006, pp.
71–78.
[52] S. Liu, K.-W. Fan, and P. Sinha, “Cmac : An energy-efficient mac layer protocol
using convergent packet forwarding for wireless sensor networks,” ACM Transactions
on Sensor Networks (TOSN), vol. 5, no. 4, p. 29, 2009.
[53] T. Walteyne, A. Bachir, M. Dohler, D. Barthe, and I. Augé-Blum, “1-hopmac : An
energy-efficient mac protocol for avoiding 1-hop neighborhood knowledge,” in 3rd
Annual IEEE Communications Society on Sensor and Ad Hoc Communications and
Networks (SECON), vol. 2. IEEE, 2006, pp. 639–644.
[54] L. Bernardo, R. Oliveira, M. Pereira, M. Macedo, and P. Pinto, “A wireless sensor
mac protocol for bursty data traffic,” in 18th International Symposium on Personal,
Indoor and Mobile Radio Communications (PIMRC). IEEE, 2007, pp. 1–5.
[55] C. J. Merlin and W. B. Heinzelman, “Schedule adaptation of low-power-listening
protocols for wireless sensor networks,” IEEE Transactions on Mobile Computing
(TMC), vol. 9, no. 5, pp. 672–685, 2010.
[56] Standard, “{IEEE} Standard for Information Technology- Telecommunications and
Information Exchange Between Systems- Local and Metropolitan Area NetworksSpecific
Requirements Part 15.4 : Wireless Medium Access Control (MAC) and Physical
Layer (PHY) Specifications for LoWPAN Networks,” IEEE Std 802.15.4-2006
(Revision of IEEE Std 802.15.4-2003), 2006.
[57] N. Abramson, “Packet switching with satellites,” in Proceedings of the June 4-8,
1973, National Computer Conference and Exposition, ser. AFIPS ’73. ACM, 1973,
pp. 695–702.
[58] A. El-Hoiydi and J. D. Decotignie, “WiseMAC : an ultra low power MAC protocol for
the downlink of infrastructure wireless sensor networks,” International Symposium on
Computers And Communications (ISCC), vol. 1, 2004.
[59] O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, and P. Levis, “Collection tree protocol,”
in Proceedings of the 7th ACM Conference on Embedded Networked Sensor
Systems. ACM, 2009, pp. 1–14.
[60] T. Clausen, J. Yi, and A. C. de Verdiere, “Loadng : Towards aodv version 2,” in
Vehicular Technology Conference (VTC Fall). IEEE, 2012, pp. 1–5.
222BIBLIOGRAPHIE
[61] I. Amadou and F. Valois, “Pizza forwarding : A beaconless routing protocol designed
for realistic radio assumptions,” in Proceedings of the fourth International Conference
on Sensor Technologies and Applications (SENSORCOMM). IEEE, 2010, pp. 495–
500.
[62] S. Dawson-Haggerty, A. Tavakoli, and D. Culler, “Hydro : A hybrid routing protocol
for low-power and lossy networks,” in First International Conference on Smart Grid
Communications (SmartGridComm). IEEE, 2010, pp. 268–273.
[63] P. Bose, P. Morin, I. Stojmenović, and J. Urrutia, “Routing with guaranteed delivery
in ad hoc wireless networks,” Wireless networks, vol. 7, no. 6, pp. 609–616, 2001.
[64] R. Fonseca, S. Ratnasamy, J. Zhao, C. T. Ee, D. Culler, S. Shenker, and I. Stoica,
“Beacon vector routing : Scalable point-to-point routing in wireless sensornets,” in
Proceedings of the 2nd conference on Symposium on Networked Systems Design &
Implementation, vol. 2. USENIX Association, 2005, pp. 329–342.
[65] E. H. Elhafsi, N. Mitton, and D. Simplot-Ryl, “Cost over progress based energy ef-
ficient routing over virtual coordinates in wireless sensor networks,” in International
Symposium on a World of Wireless, Mobile and Multimedia Networks, 2007. (WoWMoM).
IEEE, 2007, pp. 1–6.
[66] I. Stojmenovic, Handbook of sensor networks : algorithms and architectures. Wiley,
2005, vol. 49.
[67] S. Biswas and R. Morris, “Exor : opportunistic multi-hop routing for wireless networks,”
in ACM SIGCOMM Computer Communication Review, vol. 35, no. 4. ACM,
2005, pp. 133–144.
[68] J. Carnley, B. Sun, and S. K. Makki, “Torp : Tinyos opportunistic routing protocol for
wireless sensor networks,” in Consumer Communications and Networking Conference
(CCNC). IEEE, 2011, pp. 111–115.
[69] W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “Energy-efficient communication
protocol for wireless microsensor networks,” in SProceedings of the 33rd
Annual Hawaii International Conference on System Sciences. IEEE, 2000, pp. 10–
pp.
[70] W. B. Heinzelman, A. P. Chandrakasan, and H. Balakrishnan, “An applicationspecific
protocol architecture for wireless microsensor networks,” IEEE Transactions
on Wireless Communications, vol. 1, no. 4, pp. 660–670, 2002.
[71] V. Mhatre and C. Rosenberg, “Homogeneous vs heterogeneous clustered sensor networks
: a comparative study,” in International Conference on Communications (ICC),
vol. 6. IEEE, 2004, pp. 3646–3651.
[72] A. Manjeshwar and D. P. Agrawal, “Teen : Arouting protocol for enhanced efficiency
in wireless sensor networks.” in IPDPS, vol. 1, 2001, p. 189.
[73] ——, “APTEEN : A hybrid protocol for efficient routing and comprehensive information
retrieval in wireless sensor networks.” in ipdps, vol. 2, 2002, p. 48.
[74] S. Lindsey and C. S. Raghavendra, “PEGASIS : Power-efficient gathering in sensor
information systems,” in Aerospace conference proceedings, vol. 3. IEEE, 2002, pp.
3–1125.
[75] O. Younis and S. Fahmy, “HEED : a hybrid, energy-efficient, distributed clustering
approach for ad hoc sensor networks,” IEEE Transactions on Mobile Computing
(TMC), vol. 3, no. 4, pp. 366–379, 2004.
223BIBLIOGRAPHIE
[76] H. Luo, F. Ye, J. Cheng, S. Lu, and L. Zhang, “Ttdd : two-tier data dissemination in
large-scale wireless sensor networks,” Wireless Networks, vol. 11, no. 1-2, pp. 161–175,
2005.
[77] T. Watteyne, I. Augé-Blum, M. Dohler, and D. Barthel, “Anybody : a selforganization
protocol for body area networks,” in Proceedings of the ICST 2nd international
conference on Body area networks. ICST (Institute for Computer Sciences,
Social-Informatics and Telecommunications Engineering), 2007, p. 6.
[78] J. Carle and D. Simplot-Ryl, “Energy-efficient area monitoring for sensor networks,”
Computer, vol. 37, no. 2, pp. 40–46, 2004.
[79] P. Jacquet, A. Laouiti, P. Minet, L. Viennot et al., “Performance analysis of olsr
multipoint relay flooding in two ad hoc wireless network models,” in The second
IFIP-TC6 NETWORKING Conference, 2002.
[80] F. Xiangning and S. Yulin, “Improvement on leach protocol of wireless sensor network,”
in International Conference on Sensor Technologies and Applications (SensorComm).
IEEE, 2007, pp. 260–264.
[81] Q. Lampin, D. Barthel, and F. Valois, “Efficient route redundancy in dag-based wireless
sensor networks,” in Wireless Communications and Networking Conference
(WCNC). IEEE, 2010, pp. 1–6.
[82] C. E. Perkins and E. M. Royer, “Ad-hoc on-demand distance vector routing,” in
Proceedings of the Second IEEE Workshop on Mobile Computing Systems and Applications
(WMCSA). IEEE, 1999, pp. 90–100.
[83] R. W. Group. (2012, june) Roll working group homepage. [Online]. Available :
http://tools.ietf.org/wg/roll/
[84] J. Vasseur, M. Kim, K. Pister, N. Dejean, and D. Barthel, “Routing metrics used for
path calculation in low power and lossy networks,” draft-ietf-roll-routing-metrics-19
(work in progress), 2011.
[85] P. Levis, T. Clausen, J. Hui, O. Gnawali, and J. Ko, “The trickle algorithm,” Internet
Engineering Task Force, RFC6206, 2011.
[86] T. Clausen, P. Jacquet, C. Adjih, A. Laouiti, P. Minet, P. Muhlethaler, A. Qayyum,
L. Viennot et al., “Optimized link state routing protocol (olsr),” RFC 3626, 2003.
[87] J. Faruque and A. Helmy, “Gradient-based routing in sensor networks,” ACM SIGMOBILE
Mobile Computing and Communications Review, vol. 7, no. 4, pp. 50–52,
2003.
[88] F. Ye, G. Zhong, S. Lu, and L. Zhang, “Gradient broadcast : A robust data delivery
protocol for large scale sensor networks,” Wireless Networks, vol. 11, no. 3, pp. 285–
298, 2005.
[89] J. Newsome and D. Song, “GEM : Graph embedding for routing and data-centric
storage in sensor networks without geographic information,” in Proceedings of the 1st
international conference on Embedded networked sensor systems. ACM, 2003, pp.
76–88.
[90] T. Watteyne, K. Pister, D. Barthel, M. Dohler, and I. Auge-Blum, “Implementation
of gradient routing in wireless sensor networks,” in Global Telecommunications
Conference, 2009. GLOBECOM 2009. IEEE. IEEE, 2009, pp. 1–6.
[91] D. S. De Couto, D. Aguayo, J. Bicket, and R. Morris, “A high-throughput path metric
for multi-hop wireless routing,” Wireless Networks, vol. 11, no. 4, pp. 419–434, 2005.
224BIBLIOGRAPHIE
[92] T. Watteyne, I. Augé-Blum, M. Dohler, and D. Barthel, “Geographic forwarding in
wireless sensor networks with loose position-awareness,” in Proceedings of the 18th
International Symposium on Personal, Indoor and Mobile Radio Communications
(PIMRC). IEEE, 2007, pp. 1–5.
[93] K. R. Gabriel and R. R. Sokal, “A new statistical approach to geographic variation
analysis,” Systematic Biology, vol. 18, no. 3, pp. 259–278, 1969.
[94] A. Caruso, S. Chessa, S. De, and A. Urpi, “GPS free coordinate assignment and routing
in wireless sensor networks,” in Proceedings of the 24th Annual Joint Conference
of the IEEE Computer and Communications Societies (INFOCOM), vol. 1. IEEE,
2005, pp. 150–160.
[95] J. Bruck, J. Gao, and A. Jiang, “Map : Medial axis based geometric routing in sensor
networks,” Wireless Networks, vol. 13, no. 6, pp. 835–853, 2007.
[96] B. Leong, B. Liskov, and R. Morris, “Greedy virtual coordinates for geographic routing,”
in International Conference on Network Protocols (ICNP). IEEE, 2007, pp.
71–80.
[97] A. Rao, S. Ratnasamy, C. Papadimitriou, S. Shenker, and I. Stoica, “Geographic
routing without location information,” in Proceedings of the 9th annual international
conference on Mobile computing and networking. ACM, 2003, pp. 96–108.
[98] T. Watteyne, I. Augé-Blum, M. Dohler, S. Ubéda, and D. Barthel, “Centroid virtual
coordinates–a novel near-shortest path routing paradigm,” Computer Networks,
vol. 53, no. 10, pp. 1697–1711, 2009.
[99] T. Watteyne, D. Simplot-Ryl, I. Augé-Blum, and M. Dohler, “On using virtual coordinates
for routing in the context of wireless sensor networks,” in Personal, Indoor
and Mobile Radio Communications, 2007. PIMRC 2007. IEEE 18th International
Symposium on. IEEE, 2007, pp. 1–5.
[100] S. Ganeriwal, R. Kumar, and M. B. Srivastava, “Timing-sync protocol for sensor
networks,” in Proceedings of the 1st international conference on Embedded networked
sensor systems. ACM, 2003, pp. 138–149.
[101] S. Yoon, C. Veerarittiphan, and M. L. Sichitiu, “Tiny-sync : Tight time synchronization
for wireless sensor networks,” ACM Transactions on Sensor Networks (TOSN),
vol. 3, no. 2, p. 8, 2007.
[102] M. L. Sichitiu and C. Veerarittiphan, “Simple, accurate time synchronization for wireless
sensor networks,” in Wireless Communications and Networking, vol. 2. IEEE,
2003, pp. 1266–1273.
[103] J. Elson, L. Girod, and D. Estrin, “Fine-grained network time synchronization using
reference broadcasts,” SIGOPS Operating Systems Review, vol. 36, no. SI, pp. 147–
163, 2002.
[104] M. Maróti, B. Kusy, G. Simon, and Á. Lédeczi, “The flooding time synchronization
protocol,” in Proceedings of the 2nd international conference on Embedded networked
sensor systems. ACM, 2004, pp. 39–49.
[105] J. Van Greunen and J. Rabaey, “Lightweight time synchronization for sensor networks,”
in Proceedings of the 2nd ACM international conference on Wireless sensor
networks and applications. ACM, 2003, pp. 11–19.
[106] K.-L. Noh and E. Serpedin, “Pairwise broadcast clock synchronization for wireless
sensor networks,” in International Symposium on a World of Wireless, Mobile and
Multimedia Networks (WoWMoM). IEEE, 2007, pp. 1–6.
225BIBLIOGRAPHIE
[107] W. Su and I. F. Akyildiz, “Time-diffusion synchronization protocol for wireless sensor
networks,” IEEE/ACM Transactions on Networking (TON), vol. 13, no. 2, pp. 384–
397, 2005.
[108] I. Bell Telephone Laboratories. (1979, january) Unix programmer’s manual. [Online].
Available : http://cm.bell-labs.com/7thEdMan/v7vol1.pdf
[109] ETSI, “HIgh PErformance Radio Local Area Network(HIPERLAN) Type 1 ; Functional
Specification,” ETSI Publications, 1996.
[110] Z. G. Abichar and J. M. Chang, “Conti : constant-time contention resolution for wlan
access,” in Networking Technologies, Services, and Protocols ; Performance of Computer
and Communication Networks ; Mobile and Wireless Communications Systems.
Springer, 2005, pp. 358–369.
[111] J. Galtier, Graphs and Algorithms in Communication Networks : Studies in Broadband,
Optical, Wireless, and Ad Hoc Networks. Springer, 2009, ch. Tournament
Methods for WLAN : Analysis and Efficiency.
[112] T. Instruments. (2012, june) CC2420 chip specifications. [Online]. Available :
http://focus.ti.com.cn/cn/lit/ds/symlink/cc2420.pdf
[113] P. Gupta and P. R. Kumar, “The capacity of wireless networks,” Information Theory,
IEEE Transactions on, vol. 46, no. 2, pp. 388–404, 2000.
[114] K. Srinivasan and P. Levis, “RSSI is Under-Appreciated,” in Proceedings of the Third
Workshop on Embedded Networked Sensors (EmNets), 2006.
[115] Z. Zhao, B. Rouvio, R. Ojeda, J. Galtier, and P. Brown, “Enhanced qos 802.11 n
prototype including a tournament contention function,” in Proceedings of the Wireless
Communications and Networking Conference (WCNC). IEEE, 2012, pp. 1502–1507.
[116] M. Güngör, Y. Bulut, and S. Çalık, “Distributions of order statistics,” Applied Mathematical
Sciences, vol. 3, no. 16, pp. 795–802, 2009.
[117] Q. Lampin, D. Barthel, I. Augé-Blum, and F. Valois, “Cascading tournament mac :
Low power, high capacity medium sharing for wireless sensor networks,” in Wireless
Communications and Networking Conference (WCNC). IEEE, 2012, pp. 1544–1549.
[118] M. Dohler, D. Barthel, R. Maraninchi, L. Mounier, S. Aubert, C. Dugas, A. Buhrig,
R. Paugnat, M. Renaudin, A. Duda et al., “The aresa project : Facilitating research,
development and commercialization of wsns,” in Sensor, Mesh and Ad Hoc Communications
and Networks, 2007. SECON’07. 4th Annual IEEE Communications Society
Conference on. IEEE, 2007, pp. 590–599.
226
Caract´erisation automatique d’organisations cellulaires
dans des mosa¨ıques d’images microscopiques de bois.
Application `a l’identification des files cellulaires
Guilhem Brunel
To cite this version:
Guilhem Brunel. Caract´erisation automatique d’organisations cellulaires dans des mosa¨ıques
d’images microscopiques de bois. Application `a l’identification des files cellulaires. Bioinformatics.
UNIVERSITE MONTPELLIER II SCIENCES ET TECHNIQUES DU LANGUEDOC,
2014. French.
HAL Id: tel-01079815
https://tel.archives-ouvertes.fr/tel-01079815
Submitted on 3 Nov 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.Distributed under a Creative Commons Attribution - NonCommercial - NoDerivatives 4.0
International LicenseDélivré par UNIVERSITE MONTPELLIER 2
Préparée au sein de l’école doctorale SIBAGHE
Et de l’unité de recherche mixte AMAP
Spécialité : BIO INFORMATIQUE
Présentée par GUILHEM BRUNEL
Soutenue le 1
er octobre 2014 devant le jury composé de
M. Francis COLIN, chargé de recherche, INRA, Nancy Rapporteur
M. Marc JAEGER, directeur de recherche, CIRAD, Montpellier Examinateur
M. Jean-Michel LEBAN, directeur de recherche, INRA, Nancy Examinateur
M. Grégoire MALANDAIN, directeur de recherche, INRIA, Sophia-Antipolis Rapporteur
M. Gérard SUBSOL, chargé de recherche, CNRS, Montpellier Examinateur
M. Jean-Frédéric TERRAL, professeur, UM2, Montpellier (SIBAGHE) Examinateur
M. Philippe BORIANNE, ingénieur de recherche, CIRAD, Montpellier Invité
M. Yves CARAGLIO, ingénieur de recherche, UM2, Montpellier Invité
CARACTERISATION AUTOMATIQUE
D’ORGANISATIONS CELLULAIRES DANS
DES MOSAÏQUES D'IMAGES
MICROSCOPIQUES DE BOIS.
Application à l'identification des files cellulaires.
[Tapez une citation prise dans le
document ou la synthèse d'un passage
intéressant. Vous pouvez placer la
zone de texte n'importe où dans le
document. Utilisez l'onglet Outils de
zone de texte pour modifier la mise en
forme de la zone de texte de la
citation.]12
UNIVERSITE MONTPELLIER 2
ECOLE DOCTORALE SIBAGHE
Doctorat
Bio-informatique
GUILHEM BRUNEL
CARACTERISATION AUTOMATIQUE D’ORGANISATIONS CELLULAIRES
DANS DES MOSAÏQUES D'IMAGES MICROSCOPIQUES DE BOIS.
Application à l'identification des files cellulaires.
Thèse codirigée par Marc JAEGER et Gérard SUBSOL
Soutenue publiquement le 1
er octobre 2014
Jury :
Francis COLIN Chargé de recherche, INRA, Nancy Rapporteur
Marc JAEGER Directeur de recherche, CIRAD, Montpellier Examinateur
Jean-Michel LEBAN Directeur de recherche, INRA, Nancy Président
Grégoire MALANDAIN Directeur de recherche, INRIA, Sophia-Antipolis Rapporteur
Gérard SUBSOL Chargé de recherche, CNRS, Montpellier Examinateur
Jean-Frédéric TERRAL Professeur, UM2, Montpellier (SIBAGHE) Examinateur
Philippe BORIANNE Ingénieur de recherche, CIRAD, Montpellier Invité
Yves CARAGLIO Ingénieur de recherche, UM2, Montpellier Invité34
RESUME
Résumé
Ce travail se concentre sur l'analyse d'images numériques biologiques. Il vise à définir et mettre en œuvre
des processus de mesures automatiques de données biologiques à partir d’images numériques dans un
cadre de traitement de masse, et aborde notamment : l’incidence des choix méthodologiques sur la
stabilité des résultats, l’étude de la validation des mesures produites et les limites de la généricité des
méthodes et modèles appliquées à la biologie végétale.
La réflexion est menée dans le cadre de l’étude de certaines organisations cellulaires, et plus
particulièrement de l’identification et l’analyse automatique de files cellulaires dans des mosaïques
d'images microscopiques de bois. En effet, l'étude des tendances biologiques le long de ces structures est
nécessaire pour comprendre la mise en place des différentes organisations et maturations de cellule. Elle
ne peut être conduite qu'à partir d'une grande zone d'observation du plan ligneux. Pour cela,
nous avons mis en place un nouveau protocole de préparation (rondelles de bois poncées) et de
numérisation des échantillons permettant d'acquérir entièrement la zone d'observation sans biais
nous avons développé une chaîne de traitement permettant l'extraction automatique des files
cellulaires dans des mosaïques images numériques.
nous avons proposé des indices de fiabilité pour chaque mesure effectuée afin de mieux cibler les
études statistiques à venir.
Les méthodes développées dans la thèse permettent l’acquisition et le traitement rapide d’un volume
important de données. Ces données devraient servir de base à de nombreuses investigations : des analyses
architecturales des arbres avec le suivi de file cellulaire et/ou la détection de perturbations biologiques,
des analyses de variabilité intra et inter arbres permettant de mieux comprendre la croissance endogène
des arbres.
Mots-clés : Traitement d'image, file cellulaire, image microscopique de bois, fusion de données,
mosaïque, reconnaissance d'organisations.5
Abstract
This study focuses on biological numeric image processes. It aims to define and implement new
automated measurements at large scale analysis. Moreover, this thesis addresses : the incidence of the
proposed methodology on the results reliability measurements accuracy definition and analysis proposed
approaches reproducibility limits when applied to plant biology.
This work is part of cells organization study, and aims to automatically identify and analyze the cell lines
in microscopic mosaic wood slice pictures. Indeed, the study of biological tendencies among the cells
lines is necessary to understand the cell migration and organization. Such a study can only be realized
from a huge zone of observation of wood plane. To this end, this work proposes :
a new protocol of preparation (slices of sanded wood) and of digitizing of samples, in order to
acquire the entire zone of observation without bias,
a novel processing chain that permit the automated cell lines extraction in numeric mosaic
images,
the definition of reliability indexes for each measurement allowing further efficient statistical
analysis.
The methods developed during this thesis enable to acquire and treat rapidly an important volume of
information. Those data define the basis of numerous investigations, such as tree architectural analysis
cell lines following and/or detection of biological perturbations. And it finally helps the analysis of the
variability intra- or inter- trees, in order to better understand the tree endogenous growth.
Keywords: image processing, cell files, wood microscopic images, reliability indexes, pattern
recognition, data fusion.67
REMERCIEMENTS
Je tiens à remercier mes directeurs de thèse, Marc Jaeger et Gérard Subsol, pour la confiance
qu'ils m'ont accordée en acceptant d'encadrer ce travail doctoral, pour la rigueur qu’ils m’ont
imposée et les conseils avisés qui m’ont permis de progresser dans cette phase délicate de «
l'apprenti-chercheur ».
Je tiens tout particulièrement à remercier Philippe Borianne pour son encadrement, ses conseils
avisés, sa disponibilité et son coaching efficace tout au long de ces trois années. Et Yves
Caraglio pour son aide et ses conseils précieux en biologie.
Une thèse ne pouvant se faire seul, je remercie les techniciens toujours disponibles et efficaces
(Merlin Ramel, François Pailler et Michael Guéroult), ainsi que Nora Bakker et Marie-Laure De
Guillen pour avoir géré les tracasseries administratives, les autres scientifiques de l’équipe
(Christine Heinz, Frédéric Borne et Sébastien Griffon) et enfin les autres thésards, stagiaires ou
post-doctorants que j’ai pu côtoyer pendant cette période (Pol, Jimmy, Dimitri, Annes, Diane,
Vincent, entre autres…). Plus généralement, je remercie les membres de l'UMR AMAP au sein
de laquelle j’ai réalisé ce travail pour leur agréable présence au quotidien.
Un grand merci à tous les extérieurs qui m’ont aidé dans la réalisation de ce travail : Jean
Frédéric Terral (UM2), Philippe Montésinos (LG2IP), Bruno Clair (LMGC), Christophe Godin
(INRIA), Cyrille Rathgeber (LERFoB) et Vincent Bonhomme (University of Sheffield, UK).
Je tiens à remercier également le Labex NUMEV et l'Ecole doctorale SIBAGHE qui ont cru en
mon sujet de thèse et qui l'ont financé.
Je n'oublie pas mes parents, ma sœur et ma famille pour leur contribution, leur soutien et leur
patience. Je tiens à exprimer ma reconnaissance envers Emmanuelle Coque qui a eu la
gentillesse de me supporter pendant ces 3 ans de thèse.
Enfin, j'adresse mes plus sincères remerciements à tous mes proches et amis (Anthony, Cyril,
Guilhem, Quentin, Nicolas, Paul, et bien d'autres), qui m'ont toujours soutenu et encouragé au
cours de la thèse et de la réalisation de ce mémoire.8
PREFACE
Le manuscrit de thèse écrit sous la forme de compilation d’articles s’adresse à un large public
d’anatomistes du bois et de bio-informaticiens. Pour une lecture aisée et agréable pour les deux
communautés, chaque chapitre comporte des informations importantes pour la compréhension
des thèmes abordés et ce, sans rentrer dans les détails techniques tels que le paramétrage des
protocoles, filtres, etc. Pour connaître les détails, une notification des publications avec le
chapitre concerné est donnée afin de pouvoir s’y référer.
Dans un souci de clarté, la structure de chaque chapitre, bâti sur le même plan, contient trois
parties. D’abord, nous présentons un rappel du contexte avec ou non un complément
bibliographique afin de préciser l’objet, le cadre ou la portée de la partie. Ensuite, nous donnons
la description des contributions et des méthodes développées ou utilisées. Enfin, nous discutons
des résultats marquants déjà publiés, et, lorsque nécessaire, nous ajoutons des compléments
d’informations commentés.9
LISTE DES PRODUCTIONS SCIENTIFIQUES REALISEES DANS LE
CADRE DE LA THESE
Ce travail prend la forme d’une thèse sur articles et est basé sur quatre publications
respectivement numérotées de I à IV (cf. liste ci-dessous), acceptés dans des revues à comité de
lecture ou des conférences internationales à comité de lecture avec acte.
Publications acceptées dans des revues ou conférences internationales à comité de lecture
I. PMA'12. Brunel G, Borianne P, Subsol G, Jaeger M, Caraglio Y. 2012. Automatic characterization
of the cell organization in light microscopic images of wood: Application to the identification of the cell
file. In Guo, Y., Kang, M. Z., Dumont, Y. Eds, Plant growth modeling, simulation, visualization and
applications. The Fourth International Symposium on Plant Growth Modeling, Simulation, Visualization
and Applications, IEEE, Shanghai, China, 31 October-3 November, pp. 58–65.
II. AOB'14. Brunel G, Borianne P, Subsol G, Jaeger M, Caraglio Y. 2014. Automatic Identification
and Characterization of Radial File in Light Microscopic Images of Wood. In: Annals of Botany. doi:
10.1093/aob/mcu119.
III. FSPM'13. Brunel G, Borianne P, Subsol G, Jaeger M, Caraglio, Y. 2013. Defining reliability
coefficients in an automated method of identification and characterization of radial files in microscopic
images of gymnosperms. In Nygren, P., Lintunen, A., Godin, C., Nikinmaa, E., Sievänen, R. Eds,
Proceedings of the 7th International Conference on Functional Structural Plant Models, Saariselka,
Finland, 14 June 2013, pp. 82–84.
IV. SCIA'13. Brunel G, Borianne P, Subsol G, Jaeger M. 2013. Simple-Graphs Fusion in Image
Mosaic: Application to Automated Cell Files Identification in Wood Slices. In Kämäräinen, J. K.,
Koskela, M. Eds, Image analysis: 18th Scandinavian Conference, SCIA 2013, Espoo, Finland, June 17-
20, 2013. Proceedings, 2013, pp. 34–43.
Autres productions
Publication
Borianne P, Brunel G. 2012. Automated valuation of leaves area for large-scale analysis needing data
coupling or petioles deletion. In Guo, Y., Kang, M. Z., Dumont, Y. Eds, Plant growth modeling,
simulation, visualization and applications. The Fourth International Symposium on Plant Growth
Modeling, Simulation, Visualization and Applications, IEEE, Shanghai, China, 31 October-3 November,
pp. 50–57.10
Posters
1
ère Journée Scientifique du Labex NUMEV 2012 – Montpellier, France.
→ http://gbrunel.fr/posters/GBrunel_NUMEV_2012.pdf
7th International Conference on Functional-Structural Plant Models – Saariselka, Finland.
→ http://gbrunel.fr/posters/GBrunel_FSPM_2013.pdf
18th International Conference of Scandinavian Conferences on Image Analysis – Espoo, Finland.
→ http://gbrunel.fr/posters/GBrunel_SCIA_2013.pdf
2
nde
Journée Scientifique du Labex LABEX NUMEV 2013 – Montpellier, France.
→ http://gbrunel.fr/posters/GBrunel_NUMEV_2013.pdf
3
ème Journée Scientifique du Labex NUMEV 2014 – Montpellier, France.
→ http://gbrunel.fr/posters/GBrunel_NUMEV_2014.pdf11
TABLE DES MATIERES
0 ETAT DE L'ART 15
1 MATERIEL 22
1.1 LE MATERIEL VEGETAL 22
1.1.1 LES CLADES ET ESPECES : ESSENCES DE TRAVAIL 22
1.1.2 LA CROISSANCE ET L'ANATOMIE DES VEGETAUX 23
1.2 PROTOCOLES DE PREPARATION ET D'ACQUISITION DES ECHANTILLONS 25
1.2.1 LES PREPARATIONS DU PLAN LIGNEUX 26
1.2.2 PROTOCOLE 1. LES COUPES HISTOLOGIQUES COLOREES 26
1.2.3 PROTOCOLE 2. PONÇAGE DE RONDELLES DE BOIS 27
1.2.4 LA NUMERISATION DES ECHANTILLONS 27
1.3 RESULTATS DES ACQUISITIONS & DISCUSSIONS 28
2 METHODES 32
2.1 SEGMENTATION DES IMAGES 32
2.1.1 GENERALITES SUR LES METHODES DE SEGMENTATION 32
2.1.2 CHAINE DE TRAITEMENT : DE L'IMAGE A L'ELEMENT STRUCTURANT 34
2.1.3 APPLICATION DE LA SEGMENTATION AUX CELLULES 37
2.1.4 BILAN DE MISE EN ŒUVRE DE LA SEGMENTATION 38
2.2 MODELISATION DES ARRANGEMENTS 40
2.2.1 DEFINITION DE LA MODELISATION DANS LE CADRE DES FILES CELLULAIRES 40
2.2.2 PROCESSUS D'IDENTIFICATION DES ARRANGEMENTS 41
2.2.3 MISE EN ŒUVRE DE L'IDENTIFICATION DES FILES CELLULAIRES 45
2.2.4 CONCLUSION SUR LA MISE EN ŒUVRE DE LA MODELISATION 47
2.3 FUSION DES DONNEES 48
2.3.1 MOSAÏQUES DES RESULTATS 48
2.3.2 PRESENTATION D'UNE METHODE GENERIQUE DE FUSION DE GRAPHE 49
2.3.3 AGREGATION DES RESULTATS DE FILES CELLULAIRES 49
2.3.4 CONCLUSION 52
2.4 MESURES ET FIABILITES 55
2.4.1 RESULTATS NUMERIQUES 55
2.4.1.1 Mesure des paramètres 55
2.4.1.1.1 La circularité 55
2.4.1.1.2 La surface 56
2.4.1.1.3 Le périmètre 56
2.4.1.2 Séparations des composants 59
2.4.2 FIABILITE 59
2.4.2.1 Niveau global 60
2.4.2.2 Niveau des composants 61
2.4.2.3 Niveau de l'élément 62
2.4.2.3.1 Le périmètre 6312
2.4.2.3.2 La surface 64
2.4.2.3.3 La circularité 65
2.4.3 CONCLUSION SUR LA MISE EN ŒUVRE DE LA FIABILITE DES MESURES 65
2.5 TYPAGE CELLULAIRE 66
2.5.1 DESCRIPTION DE LA METHODE 66
2.5.2 ETUDES PROSPECTIVES 67
2.5.3 CONCLUSION SUR LA MISE EN ŒUVRE DU TYPAGE CELLULAIRE 69
3 APPLICATION ET RESULTATS 71
3.1 IMPLEMENTATION 71
3.2 APPLICATION AUX FILES CELLULAIRES 72
3.2.1 JEU D'ESSAI 72
3.2.2 MISE EN ŒUVRE DE LA DETECTION AUTOMATIQUE DES FILES CELLULAIRES 74
3.2.3 LIMITES 77
3.2.4 PERFORMANCES 78
3.3 AUTRES APPLICATIONS 79
3.3.1 LA ROBUSTESSE DE LA METHODE DE SEGMENTATION 79
3.3.2 EVALUATION QUANTITATIVE DE LA SEGMENTATION 83
3.3.3 INTERET DES APPROCHES MULTI-ECHELLES POUR MAITRISER LA SUR-SEGMENTATION DU WATERSHED
85
3.3.4 GENERICITE DE LA METHODE POUR LA DETECTION DE CELLULES 87
3.4 UTILISATION DANS UN QUESTIONNEMENT BIOLOGIQUE 89
3.4.1 CONTEXTE D'ETUDE 89
3.4.2 METHODOLOGIE 90
3.4.3 AUTOMATISATION DES PROCESSUS 90
3.4.4 CONCLUSION SUR L'AUTOMATISATION DANS LE CADRE D'UN QUESTIONNEMENT BIOLOGIQUE 92
4 CONTRIBUTIONS ET PERSPECTIVES 94
5 REFERENCES BIBLIOGRAPHIQUES 100
6 ANNEXES 107
7 INDEX 117
8 PUBLICATIONS 118131415
0 ETAT DE L'ART
Les plantes sont-elles des ordinateurs ? Les objets illustrés à la figure 1 ne sont pas la création
d’un génie de l’informatique doué d’une intuition artistique. Il s’agit d’une tête de chou
romanesco (Brassica oleracea), un proche parent comestible du brocoli et d'une inflorescence de
lobélie géante (Lobelia telekii). Chacun des fleurons du chou romanesco est une reproduction en
miniature du chou romanesco entier, ce qui lui confère sa beauté fascinante. Les mathématiciens
appellent ces formes répétitives des fractales (Mandelbrot 1983). Par son schéma de croissance
suivant une séquence d’instructions répétitives, le chou romanesco semble avoir été généré par
un ordinateur.
Comme dans la plupart des végétaux, l’apex (extrémité) des tiges en croissance élabore de façon
répétée un motif de feuille, de bourgeon, de tige… Ces schémas de développement répétitif sont
à la fois génétiquement déterminés et soumis à la sélection naturelle. Cette prédétermination peut
donner toutes sortes de formes en fonction du type de croissance, de l'échelle considérée et de la
maturation des objets considérés. Ces structures peuvent être représentatives de la croissance des
plantes.
Figure 1. Plante ou art informatique ? A droite, un chou romanesco (Brassica oleracea) ; à gauche, une
lobélie géante (Lobelia telekii). Les végétaux ont des schémas de développement répétitif pouvant former
des structures telles que des spirales, fractales, lignes, etc.
Comment poussent les arbres ? Contrairement à la plupart des animaux, les végétaux ont une
croissance qui ne se limite pas aux périodes embryonnaires et juvéniles, mais, au contraire, qui
perdure toute la vie : c’est la croissance indéfinie (ou indéterminée). Ainsi, à tout moment de leur
vie, les plantes possèdent des organes embryonnaires, des organes en croissance et des organes
matures. Si les végétaux croissent de façon indéfinie, c’est qu’ils produisent constamment des
tissus indifférenciés appelés méristèmes, qui se divisent quand les conditions le permettent pour
produire de nouvelles cellules. Le développement de l’arbre résulte de la croissance primaire (en 16
rose sur la schéma ci-dessous) concernant l’allongement et la ramification des axes, et de la
croissance secondaire (en bleu sur la schéma ci-dessous) portant sur leur épaississement au cours
du temps (Wilson 1984).
Illustration issue de Campbell Biologie 4ème édition
Figure 2. Les croissances primaire et secondaire d'une tige ligneuse. On peut suivre la progression de la
croissance secondaire en examinant les sections dans lesquelles apparaissent en succession ses parties les
plus vieilles, i.e. les cernes visibles sur une coupe de tronc d'arbre.
La réduction de notre empreinte environnementale et l'utilisation efficace des ressources
naturelles sont des enjeux sociétaux et scientifiques du 21ème siècle. De plus en plus d’approches
ont tendance à considérer la plante sous des aspects structuraux et fonctionnels pour les
problématiques de séquestration du carbone et de bois-énergie (Guo et al. 2011). Mais ces
approches, qu’il s’agisse de la croissance secondaire et de ses variations inter ou intra spécifiques
ou des relations entre croissances secondaire et primaire, s’appuient très souvent sur des études
fragmentaires du fait des coûts d’obtention des données (Rossi et al. 2009).
La disposition des tissus, la forme et la taille des cellules, est appelée plan ligneux. Celui-ci est
caractéristique de chaque essence. La description de la croissance primaire peut être plus ou 17
moins étendue grâce à des approches rétrospectives (Barthélémy and Caraglio 2007 ; Krause et
al. 2010) alors que les études dendrochronologiques sont généralement limités à sur des parties
du plan ligneux (carottage). Mais, plus le niveau d’observation est fin, plus les données
existantes concernent une partie réduite du plan ligneux. La croissance secondaire résulte de
l’activité cambiale qui est entre autre à l’origine du bois (xylème) et donc des différents éléments
cellulaires qui le constituent (plan ligneux).
Pour mettre en rapport les observations internes avec les interprétations réalisées dans le cadre de
l’observation de la morphologie externe, il est nécessaire d’étudier simultanément différents
éléments de l’architecture végétale (Barthélémy and Caraglio 2007) en particulier de distinguer
les caractéristiques anatomiques des éléments constitutifs de la plante (i.e. axes principaux,
secondaires et réitérations) au fil du temps et de constituer un échantillon suffisamment
significatif pour utiliser les outils statistiques.
La maturation et le typage biologique (Lachaud et al. 1999) des cellules peuvent être approchés
par l’étude de leur forme, de leur taille, de leur contenu, et de leur distribution spatiale
indépendamment de leur organisation spatiale. Ces notions permettent d’aborder les
changements anatomiques qui caractérisent les phases de production et de différenciation du
xylème (Thibeault-Martel et al. 2008), sans pour autant réellement expliquer les mécanismes de
production ou de croissance du bois.
En effet, la compréhension des mécanismes de la croissance de l’assise cambiale passe par
l’étude de la rythmicité des motifs cellulaires, de leur perturbation ou de leur modification dans
l’espace et dans le temps. Les fluctuations et les influences de l’environnement sur la
différenciation des éléments du bois (issus des divisions des cellules cambiales) demandent de
suivre la production au sein d’organisations cellulaires spécifiques. L’introduction d’une
trajectoire spatio-évolutionnelle est nécessaire pour aborder ces problèmes. Pour simplifier, deux
organisations sont considérées : d’une part le cerne de croissance qui représente la production
cellulaire à un temps donné (Heinrich 2007), et d’autre part la file cellulaire qui représente
l’activité d’une initiale au cours du temps (Rozenberg et al. 2004).
Par exemple, (Nicolini et al. 2003) soulignent l’importance de l’organisation de la croissance
secondaire en étudiant le long de cernes de croissance successifs les motifs cellulaires, leur
rythmicité spatiale, leur variabilité pour caractériser les stratégies d’occupation de l’espace mises
en place par la plante. Pour autant cette approche ne permet pas d’aborder les mécanismes de
différenciation des cellules et de mise en place des motifs et structures cellulaires, c’est-à-dire les
mécanismes dépendant du temps. De son côté, le suivi dynamique très précis de la production
cambiale au niveau des initiales (Rossi et al. 2006 ; Rathgeber et al. 2011) est techniquement
limité à une petite portion du plan ligneux. Ainsi, l’étude des files cellulaires, résultat a
posteriori de la production cambiale et des fluctuations locales et globales, se présente comme 18
une piste prometteuse pour permettre d’appréhender la mise en place, la différenciation et la
rythmicité temporelle des cellules (Gindl 2001).
Les questions biologiques portant sur les interactions entre le développement et la croissance des
arbres sous contrainte de l’environnement (Moëll and Donaldson 2001) demandent de pouvoir :
faire la part de la contribution aux fonctions de conduction et de stockage des différents
types cellulaires dans le plan ligneux ;
appréhender la gamme de variabilité des caractéristiques des éléments cellulaires
(éléments de vascularisation, fibres, cellules de rayons, parenchymes verticaux) ;
décomposer la variabilité en identifiant et différenciant celle due à l’ontogénèse de celle
due à la réponse environnementale.
Mais ces questions biologiques et les caractérisations associées se trouvent extrêmement
contraintes du fait de la lourdeur des protocoles et de la difficulté de l’acquisition des
informations de masse. En effet, la compréhension fine des mécanismes de croissance et leur
modélisation passent par la recherche des invariants au sein d’échantillons d’observation
importants restituant la variabilité intra et inter espèces.
L’évolution technologique permet de limiter significativement les temps de préparation des
sections transversales complètes d’axes et d’élargir ainsi les champs d’observation. Par exemple,
l’utilisation d’une polisseuse (voir §1.2.3) automatique programmée peut nous éviter de recourir
à des coupes histologiques trop fastidieuses à préparer. Combinée à une acquisition d’image
pilotée par une platine à déplacements programmés, ce type de support nous donne rapidement
accès à une information de qualité sur des zones élargies du plan ligneux. Mais cette technologie
se heurte à la capacité de cumul des données et de son traitement. L'acquisition d'une rondelle de
10 cm de diamètre à un grossissement de x200, nécessite une mosaïque d'environ 1000 images. Il
y a en moyenne 500 cellules par image. Evaluer manuellement les surfaces des cellules nécessite
environ 40 mn par image à l’aide d’un éditeur d’image (ImageJ, Photoshop). L’identification
d'organisations cellulaires impose d’étudier plusieurs cernes successifs dans plusieurs unités de
croissance, ce qui représente une quantité d’images trop importante pour un traitement manuel.
Habituellement, le comptage ne s’effectue donc que sur 3 files par coupe (Rossi et al. 2006), du
fait des coûts prohibitifs en temps des traitements.
L’automatisation de l’étude des files cellulaires permettrait d’aborder des liens plus étroits avec
les aspects fonctionnels et l’écologie des espèces en pouvant considérer une meilleure
appréciation de la gamme de variabilité des phénomènes : le bois représente un enregistrement
en continu des modifications du développement de l’arbre (partie ontogénique, la moins connue)
et de son environnement (le plus travaillé notamment en dendrochronologie et
dendroclimatologie). Cependant, il est fondamental de s'assurer de la fiabilité des résultats 19
produits et des solutions proposées. Dans l’idéal, il serait souhaitable de pouvoir introduire des
éléments quantitatifs caractérisant la qualité dans les traitements automatisés et leur production.
L'automatisation de l'observation des structures cellulaires est l’un des nouveaux enjeux de la
botanique structurale (Quelhas et al. 2011) qui fait appel à des compétences pluridisciplinaires.
En (bio)-imagerie, la segmentation des cellules est un problème largement traité dans la
littérature (Baggett et al. 2005 ; Fourcaud et al. 2008). Par exemple, (Park and Keller 2001)
combinent quatre approches classiques d’analyse d’image : l’algorithme du watershed (Vincent
and Soille 1991), les snakes (Mcinerney and Terzopoulos 1999), l’analyse multi-résolution
(Jeacocke and Lovell 1994), et la programmation dynamique pour segmenter les cellules dans les
images. Dans le contexte spécifique de l'imagerie du bois, la segmentation des cellules est
généralement combinée au typage cellulaire, c'est-à-dire à la caractérisation biologique de la
cellule. Par exemple, (Marcuzzo et al. 2009) et (Wang et al. 2008) typent les cellules à l’aide de
classifieurs Support Vector Machine (Scholkopf and Smola 2001), méthode supervisée
développée à partir des considérations théoriques de Vladimir Vapnick (Vapnik 1963) sur les
statistiques de l’apprentissage. La difficulté majeure porte ici sur la constitution de jeux
d’apprentissages suffisamment représentatifs pour rendre compte de la variabilité intrinsèque des
individus.
Pour l’étude des organisations cellulaires, certains auteurs introduisent des modèles
géométriques à base topologique permettant de décrire le voisinage des cellules. Par exemple,
(Jones and Bischof 1996) ou (Kennel et al. 2010) s’appuient sur un graphe d’adjacence orienté
de cellules décrivant leur relation topologique locale pour extraire les files cellulaires d'images
de Gymnospermes. Plus précisément les cellules sont extraites par application de l’algorithme de
ligne de partage des eaux sur l’image convertie en niveau de gris ; le graphe d’adjacence des
cellules est alors construit à partir du diagramme des bassins versants. Un typage des cellules
obtenu par un arbre de décision construit à la volée à partir d’un jeu de données annotées
(CART) (Breiman et al. 1984) permet alors d’extraire de ce graphe les alignements de trachéides.
Cette méthode est sensible au jeu d'apprentissage utilisé lors de la construction de l’arbre de
décision et son paramétrage.
Du point de vue technique, nous n’avons pas trouvé de solution logicielle permettant une
détection automatique des files cellulaires. Des outils commerciaux spécialisés, comme WinCell
(Hitz et al. 2008), existent pour l'analyse des cellules du bois sans toutefois permettre de
reconnaître et caractériser sans aide de l'opérateur les organisations cellulaires. Les possibilités
d’enrichissement de fonction sont restreintes voire impossibles. Des plateformes commerciales
telles que Visilog (Travis et al. 1996), proposent un environnent riche mais pas suffisamment
spécialisé : il est possible de réaliser des macros fonctions (assemblage et paramétrage de
fonctionnalités de base) mais sans possibilité d’ajouter des fonctionnalités de bases qui se
révèlent incontournables dans notre cas pour modéliser les files cellulaires.20
Les plateformes open source de type ImageJ (Clair et al. 2007), Fiji (Schindelin et al. 2012),
Orfeo (Inglada and Christophe 2009) restent donc une option intéressante car elles permettent
d’enrichir les codes sources de fonctionnalités particulières et de définir des macros spécialisées
tout en facilitant le partage et la diffusion des méthodes. Il est donc possible de développer de
nouvelles fonctionnalités qui permettent l'automatisation des traitements. Nous privilégierons
donc cette solution de développement technique.
Notre objectif est donc de définir et construire une chaine de traitement comprenant la
préparation ainsi que l'acquisition des échantillons et la définition d'une méthode générique
d'identification automatique de composants et de leurs arrangements à partir d'images
numériques microscopiques. Pour suivre les arrangements sur de larges zones d'observation,
nous avons mis au point une méthode d'agrégation des résultats en mosaïque pavant tout l'espace
d'étude. Cette méthode est appliquée et testée au cas particulier des files cellulaires pour l'étude
des tendances biologiques le long des files, nécessaire à la compréhension de la mise place des
différentes organisations et maturations cellulaires, c'est-à-dire à la compréhension de la
croissance endogène des plantes.
Pour réaliser ce travail, nous avons décidé d’adopter une approche hybride consistant à plaquer
sur une approche relativement classique un regard ou un questionnement plus large. En
particulier nous nous sommes intéressés à :
l’incidence de choix méthodologique sur la stabilité des résultats, i.e. comment les étapes
du traitement vont interagir et compenser les faiblesses des opérations en amont et en
aval ;
la validation des mesures produites, i.e. comment « garantir » l’exactitude des mesures
réalisées : quels approches ou outils peuvent être développés pour les qualifier ;
la généricité des méthodes et modèles appliquées à la biologie végétale, i.e. à partir de
quand une méthode doit être spécialisée pour produire des résultats utilisables.
Le chapitre 1 est consacré au matériel biologique, aux méthodes de préparation et d’acquisition
de ce matériel. Le lecteur intéressé pourra se reporter à une première partie (§ 1.1) traitant des
spécificités des végétaux et des essences échantillonnées. La seconde partie (§ 1.2) porte sur un
état de l’art des méthodes de préparation des coupes histologiques, ainsi que sur la mise en place
d’un nouveau protocole consistant à préparer des rondelles de bois poncées pour la numérisation.
Enfin la dernière partie est consacrée au protocole d'acquisition et au jeu de données “images” à
traiter.
La méthode d’analyse d’image est décrite dans le chapitre 2. Nous argumentons cette
présentation sous forme de “blocs”, puis décrivons le détail de chaque bloc. Le paragraphe 2.1
explicite les procédés conduisant à la segmentation. Ensuite le (§ 2.2) détaille la méthode
d'identification des files cellulaires grâce à un parcours sous double contrainte d’un graphe. Une 21
fois les files créées par image nous montrons comment créer une mosaïque de files (§ 2.3) tout
en évitant les problèmes de stitching qui apparaissent quand on fusionne des images pour en faire
une mosaïque. Les deux dernières parties portent respectivement sur le calcul des paramètres et
sur leur fiabilité.
Enfin, les résultats obtenus au cours de la thèse sont présentés et discutés dans le chapitre 3. Ils
sont principalement produits par l’application de la méthode dans le cadre de la recherche
automatique de files cellulaires. D’autres applications seront présentées dans le paragraphe (§
3.3).
Les 4 grandes parties de l’étude ont fait l’objet chacune d’une publication dans une revue
internationale ou dans les actes d’une conférence internationale à comité de lecture. Les articles
sont regroupés en annexe et respectivement numérotés I à IV. Pour faciliter la lecture de ce
manuscrit, chaque partie reprendra les grandes lignes de l’article lui correspondant et précisera
les aménagements réalisés ou les résultats produits depuis la parution de l’article.
En complément, la figure 3 illustre les connexions entre les différents articles ainsi que les
analyses additionnelles réalisées. Les flèches verticales épaisses représentent la trame principale,
basée sur la mise au point des algorithmes de segmentation et d'identification. Les flèches
horizontales concernent les applications de la méthode aux files cellulaires.
Les résultats qui découlent de ce travail peuvent servir de base aussi bien à des investigations
scientifiques d'analyse de la distribution de caractéristiques internes (cellules) en fonction de
facteurs divers tels que les conditions de croissance ; une meilleure compréhension des
mécanismes de croissance des arbres et une amélioration des connaissances physiologiques
(zone de conductivité du tronc, pattern de croissance), qu’à des applications industrielles
vérifiant la qualité du bois à partir de méthodes non destructives de coupe de rameaux secondaire
ou de micro-carottage.
Figure 3. Liens entre les différentes parties (articles et analyses complémentaires) constituant le corps de
la thèse.22
1 MATERIEL
1.1 Le matériel végétal
1.1.1 Les clades et espèces : essences de travail
Depuis que les végétaux ont commencé à coloniser la terre ferme, il y a environ 500 millions
d’années (cf. figure 4), ils se sont fortement diversifiés, de sorte qu’on compte aujourd’hui plus
de 260 000 espèces, dont certaines occupent les milieux les plus hostiles, tels les pics
montagneux, les régions désertiques et polaires.
Illustration issue de Campbell Biologie 4ème édition
Figure 4. Arbre phylogénétique simplifié représentant quelques grands épisodes de l'évolution des
végétaux. Cette phylogenèse représente une hypothèse sur les liens de parenté entre les groupes de
végétaux. Les lignes pointillées indiquent que la phylogénie fait toujours l’objet de débats. Pendant la
thèse nous nous intéressons aux plantes vasculaires à graines.
Notre étude portera plus particulièrement sur les clades des plantes vasculaires à graines
modernes, les Gymnospermes et les Angiospermes, car elles représentent 90% des plantes
terrestres.
Les Gymnospermes sont des plantes faisant partie d'un sous-embranchement paraphylétique des
spermaphytes. Gymnospermes vient du grec “gymnos” qui veut dire “nue” et “sperma” qui veut
dire graine. Ils ne possèdent pas d’ovaire. Mais les Gymnospermes constituent un groupe en voie
de disparition. En effet, ce groupe n’a fait que régresser et compte aujourd’hui moins de 1 000 23
espèces. La plupart des Gymnospermes sont des conifères, et nous avons choisi des représentants
présents dans le sud de la France en raison de leur accessibilité qui sont le pin (Pinus nigra,
Pinus caribensis et Pinus brutia) et le sapin (Abies alba).
La division des Angiospermes regroupe les plantes à fleurs, et donc les végétaux qui portent des
fruits. Angiosperme vient du grec “angios” qui veut dire récipient. Ils regroupent la majeure
partie des espèces végétales terrestres, avec environ 250 000 espèces. Les Angiospermes
comprennent les dicotylédones et les monocotylédones. Ce groupe est particulièrement important
pour les humains et leur survie. En foresterie et en agriculture, il constitue les sources
essentielles de nourriture, de combustible, de produits du bois et de médicaments…
En raison de cette dépendance, il est indispensable de préserver la diversité de ces plantes
(Angiospermes et Gymnospermes compris). Nous avons choisi de travailler sur les essences de
chêne vert (Quercus ilex) et d'acajou (Pycnanthus sp.) comme représentant des Angiospermes
dicotylédones. Nous expliciterons dans la partie ci-dessous pourquoi les monocotylédones ne
sont pas étudiées.
1.1.2 La croissance et l'anatomie des végétaux
Les croissances primaire et secondaire se produisent simultanément dans les plantes présentant
un double développement. La croissance primaire ajoute des feuilles, des nouveaux axes et
allonge les tiges et les racines (la plante grandit), alors que la croissance secondaire augmente le
diamètre des tiges et des racines (la plante grossit) là où (généralement) la croissance primaire
est terminée. La figure 5 schématise la croissance d’un axe (tronc, branche, racine).
Illustration issue de Campbell Biologie 4ème édition
Figure 5. Vue d'ensemble des croissances primaire et secondaire.24
Chez les Angiospermes monocotylédones, peu d’espèces ont une croissance secondaire. Ce
groupe comporte notamment les orchidées, les palmiers, les bananiers et les graminées. Or le but
de la détection des files cellulaires est de suivre l’évolution de la croissance secondaire. C’est
pour cette raison que nous n’avons pas choisi de faire les expériences sur les monocotylédones.
La croissance secondaire s’effectue grâce aux méristèmes latéraux, plus précisément par le
cambium (du latin cambiare, «changer») et par le phellogène (du grec phellos, «liège»). Le
cambium produit vers l’intérieur des couches de tissus conducteurs supplémentaires appelées
xylème secondaire (bois) et vers l’extérieur du phloème secondaire (le liber) (cf. figure 6). Ce
sont les couches internes qui vont constituer les files, objet de notre étude (cf. figure 7).
Illustration issue de Campbell Biologie 4ème édition
Figure 6. Coupe transversale d'une tige de tilleul (Tillia sp.) de trois ans. Vers l'intérieur, les nouvelles
cellules créées se différencient en grandes cellules lignifiées de xylème secondaire ou bois. Vers
l'extérieur, les nouvelles cellules se différencient en petites cellules formant le liber, certaines cellules
contribuent à former l'écorce.
Le xylème secondaire mène à la formation de vaisseaux, de fibres, de parenchymes verticaux et
horizontaux. 25
Illustration issue de Campbell Biologie 4ème édition
Figure 7. Schéma de l'accumulation de cellules filles de xylème à partir d'une cellule mère cambiale
formant une file cellulaire.
Les deux types de cellules conductrices de sève brute, les trachéides et les éléments de vaisseaux,
sont des cellules allongées tubulaires qui meurent à maturité. Les vaisseaux sont de plus grosse
taille que les trachéides, et sont généralement absents chez les Gymnospermes qui possèdent,
eux, des canaux résinifères.
Dans notre étude nous considérons 3 types cellulaires :
- Les fibres : faisceaux de cellules résistantes, disposées dans le sens axial (de la tige),
assurant la rigidité et la résistance mécanique du bois.
- Les vaisseaux : cellules creuses, disposées dans le sens axial (de la tige), servant à conduire
la sève.
- Les rayons : cellules à orientation transversale et rayonnante par rapport à l’axe longitudinal
de l'axe (primaire ou secondaire), participant à la fonction de soutien.
Les autres types cellulaires sont considérés comme des fibres car avec un seul plan de coupe, il
est difficile de pouvoir identifier correctement tous les types cellulaires, notamment les tissus de
soutien (collenchyme et sclérenchyme) et le tissu assimilateur (parenchyme).
1.2 Protocoles de préparation et d'acquisition des échantillons
Le protocole complet d'acquisition des images comporte deux étapes : la première (préparation)
vise à nettoyer et contraster au mieux les structures cellulaires, la seconde (numérisation)
consiste à prendre un cliché de l'échantillon à l’aide d’un appareil photo numérique monté sur
l'optique du microscope.26
1.2.1 Les préparations du plan ligneux
Deux méthodes de préparation des échantillons pour obtenir des plans ligneux transversaux sont
utilisées avant la numérisation qui consiste en une prise de photographie de l’échantillon sous
microscope.
Le premier protocole (standard) consiste à effectuer des coupes histologiques fines des
échantillons avec un microtome. De par son temps de préparation long et minutieux, ce protocole
est mal adapté à de grandes zones d’études. De plus il induit des biais lors du pavage des images
pour reconstruire une mosaïque du plan.
Le second protocole étudié consiste à poncer des rondelles de bois. Il est particulièrement bien
adapté à l’étude de grandes zones et présente l’avantage d’être économe en temps. Pour l’instant
le protocole n’introduit pas de coloration de l’échantillon, ce qui entraine une différence entre les
parois et les lumens moins marquée que sur les coupes histologiques. Des tests sont actuellement
menés pour introduire une phase de coloration pendant ce protocole.
Clichés de l'auteur
Figure 8. A gauche, la polisseuse semi-automatique avec un plateau magnétique d’un diamètre de 300
mm (Tegramin 30 - Struers). A droite, le microtome automatique à lame vibrante (vibratome VT1200SLeica).
1.2.2 Protocole 1. Les coupes histologiques colorées
L’obtention d’une coupe transversale de 20-25 µm d’épaisseur produite à l’aide d’un vibratome
ou microtome (cf. figure 8) nécessite entre 5 à 15 minutes. Les coupes sont ensuite nettoyées et
colorées pour augmenter le contraste paroi-lumen, en utilisant des colorants se fixant
spécifiquement sur les parois pectocellulosiques tel que le carmin aluné. Cette phase de
nettoyage et de coloration dure environ 30 minutes. Par conséquent il est judicieux de prévoir
une heure pour un protocole complet par coupe. Cette méthode permet de réaliser des mosaïques
de coupes histologiques, aux imprécisions des tissus de juxtaposition près (problème de calage et
destructions ou déformations partielles lors de la coupe), sur quelques cernes selon les
dimensions de la carotte.27
N.B. : L’utilisation de colorant permet de faire ressortir des éléments désirés, par exemple le vert
d'iode fixateur de la lignine fait ressortir les parois des cellules.
Nombreux sont les colorants et les protocoles de coloration, mais nous ne nous étendrons pas sur
les différentes préparations (Bancroft and Gamble 2002).
1.2.3 Protocole 2. Ponçage de rondelles de bois
La préparation de rondelles de bois adaptées pour la numérisation est d’un grand intérêt pour
l’étude de grandes zones du plan ligneux. Avec un tel procédé, il n’y a pas de problème de
raccord. La taille d'acquisition est limitée par la taille du plateau de la polisseuse et par le
déplacement maximal de la platine de 10x10 cm². Pour notre étude nous avons mis en place un
protocole dont les grandes lignes sont résumées ci-dessous (pour plus d’information se référer à
l'article II.AOB'14 §Method).
Les rondelles de bois prélevées au centre des unités de croissance présentent une hauteur
maximum de 2,5 cm afin de passer sous le microscope. Séchées pendant 3 mois à l'abri du soleil
et de l’humidité elles sont ensuite poncées et polies à l’aide d’une polisseuse semi-automatique
(cf. figure 8) afin d’obtenir deux faces parfaitement parallèles et une face parfaitement polie sans
destruction des structures pour la numérisation. La fragilité de la surface, notamment sa forte
sensibilité à la poussière, nécessite des précautions particulières lors de la manipulation et de la
conservation des rondelles. Dès le polissage effectué, il est nécessaire de réaliser la numérisation
de la rondelle, car, sans contrôle très précis de l’hygrométrie et de la température de la zone de
stockage, la rondelle se dessèche et sa surface se déforme. Ces micros déformations
compromettent la netteté des images produites lors de la phase de numérisation.
1.2.4 La numérisation des échantillons
La numérisation consiste à produire une série ou succession d’images, communément appelée
mosaïque d’images couvrant la zone d’observation.
Les plans transversaux sont numérisés par une caméra LCD Olympus DP71 montée sur un
Microscope Olympus BX51 et équipée d'une platine mobile permettant par déplacement
progressif de la lame de créer une mosaïque d’images.
Un grossissement x200 est utilisé pour avoir des surfaces de cellules significatives sur des zones
d’observations suffisamment grandes pour permettre le recalage des images avoisinantes.
La position de l’image dans la mosaïque est donnée par le déplacement en X et Y de la platine.
Ici, la zone maximale d’observation est de 10x10 cm², soit une mosaïque d’environ 1500 images
pour une zone d’environ 10x10 cm². Chaque image est codée dans un système RGB (24 bits) et a
une définition de 1600x1200 pixels. Les images peuvent présenter un flou local ou périphérique
lié à la déformation optique de la lentille du microscope ou à des variations sensibles d’épaisseur 28
de l’échantillon et ce malgré la précision du protocole de préparation. Ces variations peuvent
provenir de l’utilisation du ruban double-face utilisé pour solidariser la rondelle à la platine lors
du polissage ou d'un effet de contrepoids qui fait que la platine ne tourne pas parfaitement sur un
plan orbital mais oscille légèrement.
1.3 Résultats des acquisitions & discussions
Toutes les images sont produites en couleur (24 bits) avec une résolution de 1600x1200 pixels.
Ci-dessous un exemple de quatre images acquises avec les différents protocoles de préparation et
de numérisation.
Cliché de l'UMR AMAP, 2010
Figure 9. Coupe histologique transversale de sapin (Abies alba) colorée au bleue de toluidine au
grossissement x200. Le colorant se fixe sur les tissus cellulosiques, donnant la couleur aux parois des
cellules. Les lumens sont vides est apparaissent donc en blanc (lumière du microscope).29
Cliché de l'UMR AMAP, 2010
Figure 10. Coupe histologique sans coloration de sapin (Abies alba) au grossissement x400. Le fond des
lumens est dans des tons roses, car la balance des blancs n'a pas été effectuée avant l'acquisition de
l'image. Les liserés noirs sur les contours de l'image sont dues à des effets optiques.
Cliché de l'auteur, 2013
Figure 11. Mosaïque de 4 coupes histologiques transversales de pin (Pinus nigra) colorées à la safranine
au grossissement x200. Les images ont étés raboutées à l'aide du logiciel libre Hugin. 30
Cliché de l'auteur, 2014
Figure 12. Acquisition d'une image d'une rondelle poncée non colorée de pin (Pinus nigra) au
grossissement x200 avec un éclairage épiscopique. Les lumens présentent une texture car on voit à travers
le reste de matériel biologique et des résidus du ponçage. En périphérie des images, il peut y avoir un flou
important provenant de la non planéité d'une des faces de la rondelle. Le contraste entre le lumen et la
paroi est moins marqué que sur les coupes histologiques.
Les images présentent une très grande variabilité due à différents facteurs :
La préparation : selon ce que veut observer le biologiste et selon le protocole d’étude, la
coloration des tissus biologiques sera différente.
Le grossissement : il dépend du champ d’étude que veut obtenir le biologiste. Pour
observer un petit élément structurant, le champ pourra être faible pour pouvoir le
comparer avec d’autres éléments, ou très fort pour le voir en détail.
L’essence : selon les différentes essences, l’organisation cellulaire est différente. On peut
ainsi différencier les résineux qui ont une organisation cellulaire simple, des feuillus qui
ont une organisation plus complexe. Il existe aussi une forte variabilité au sein d’un
même grand ensemble d’essences. Par exemple chez l’acajou (Picnanthus sp.) (figure 13,
à gauche), les vaisseaux apparaissent comme une déformation continue des cellules au
sein d’une file, alors que pour le frêne (Fraxinus angustifolia) (figure 13, à droite), ces
derniers semblent apparaitre anarchiquement entre les files.31
Cliché de l'UMR AMAP, 2010
Figure 13. A droite, coupe histologique d'acajou (Picnanthus sp.). L'apparition des éléments de vaisseaux
semble se faire graduellement, on arrive à voir à quelle file ils appartiennent. A droite, coupe histologique
de frêne (Fraxinus angustifolia). Les vaisseaux semblent apparaitre au milieu des files, on ne peut pas
distinguer leur file d'appartenance.
L’hétérogénéité des protocoles, des essences et des éléments structurants au sein même des
essences doit pouvoir être traitée par la méthode de détection des files cellulaires.
Le protocole de ponçage doit être repris et complété. Un échantillon de bois poncé a été produit
par le constructeur de la polisseuse comme étalon. Actuellement, les images produites au
laboratoire ne sont pas de qualité égale à celle du constructeur, rendant la détection des files
moins fiable. La difficulté majeure du protocole est de fournir un échantillon où les deux faces
sont parfaitement parallèles et planes. Les micro-déformations de la rondelle vont produire un
flou pouvant être très important pendant la numérisation. La surface polie est très fragile, elle
demande une précaution importante et ne doit pas être touchée sous peine d'être altérée. Les
rondelles polies doivent être conservées dans un milieu contrôlé pour atténuer les déformations.
Ainsi, nous avons opté pour une numérisation complète du plan directement après le polissage
sans conservation des échantillons. Le protocole est théoriquement reproductible, mais les
interventions opérateurs et les conditions de préparations (humidité, température…) ne
permettent pas d'assurer une reproductibilité parfaite des acquisitions.
Le chapitre suivant va décrire la méthode mise en œuvre pour traiter automatiquement les images
et d'en extraire les cellules et leur organisation. La méthode fut pensée pour autoriser les
traitements sur les images des Gymnospermes et des Angiospermes. L'étude principe a été
menée sur des images issues de coupes histologiques, car le protocole de ponçage a fini d'être
mis au point en début de 3ème année de thèse. Néanmoins des tests ont toujours étés menés en
parallèle pour s'assurer que la méthode soit transposable aux images issues du protocole de
ponçage.32
2 METHODES
2.1 Segmentation des images
La segmentation a pour but l'extraction d’objets structurants, ici des objets biologiques
élémentaires de l’image, comme par exemple les cellules. La segmentation d'image définit un
bloc de traitement, c’est un processus de rassemblement de pixels entre eux suivant des critères
prédéfinis, qui va former un partitionnement de l'image. Ces caractéristiques peuvent être
naturelles comme la colorimétrie ou plus complexe comme des critères géométriques (Shapiro
2001 ; Barghout and Lawrence 2003). Le but de la segmentation est de simplifier et/ou modifier
la représentation d'une image pour la rendre plus lisible et facile à analyser. Les pixels ayant des
critères semblables sont ainsi regroupés en régions, qui constituent un pavage ou une partition de
l'image. Il peut s'agir par exemple de séparer les objets du fond ou des objets entre eux.
N.B. Les différentes étapes du processus sont illustrées, ici, à partir d'une portion d'une image de
Sapin (Abies alba) colorée au bleu de toluidine et numérisée avec un grossissement de x200.
2.1.1 Généralités sur les méthodes de segmentation
À ce jour, il existe de nombreuses méthodes de segmentation, que l'on peut regrouper en trois
catégories (Davies 2005) :
1. La segmentation par régions (en anglais : region-based segmentation) correspond aux
algorithmes d'accroissement de régions. Ce type de segmentation consiste à prendre un
ensemble de petites régions uniformes dans l'image et à regrouper les régions adjacentes
de même critère (couleur, intensité, critères géométriques…) jusqu'à ce qu'aucun
regroupement ne soit plus possible. On y trouve par exemple les algorithmes de regiongrowing
(Verma et al. 2011) ou split and merge (Damiand and Resch 2003).
2. La segmentation par contours (en anglais : edge-based segmentation) s'intéresse aux
contours des objets dans l'image c’est-à-dire une transition détectable entre deux régions
connexes. La transition est souvent un ajustement brutal de l'intensité au niveau des
frontières des régions. On y trouve par exemple les algorithmes tels que le filtre de Canny
(Canny 1986), le watershed ou encore les snakes qui produisent un modèle déformable
local attiré ou repoussé par des points particulier de l'image (maximum ou minimum
locaux, ligne de crête…).
3. La segmentation par classification : la plus connue (et la plus simple) est sans doute le
seuillage qui consiste à binariser l'image en la réduisant à deux régions à partir d'un seuil
donné : la première est constituée des points de l'image dont la valeur est inférieure au
seuil donné, la seconde des points dont la valeur est supérieure ou égale au seuil donné.
Ce mécanisme peut être compliqué à souhait en utilisant simultanément plusieurs seuils
(multi-seuillage). Mais dans les faits, le seuillage n'est qu'un cas particulier de 33
classification : ces méthodes, largement développées pour la fouille de données, sont
utilisé autant par les banques pour repérer les « bons » clients sans facteur de risque
("scoring"), que pour l'analyse du génome pour repérer de nouveaux gènes ou qu'en
image pour classer les pixels. Elles présentent l'avantage de regrouper les points en
régions homogènes (selon un ou plusieurs critères donnés et un estimateur statistique ou
mathématique prédéfini). Par exemple, la méthode des k-moyennes (Duda 2001) (ou ses
adaptations à la binarisation d'images connues sous les noms de seuillage d'Otsu,
Huang...) (Otsu 1979) minimise la variance intra-classe et maximise la variance interclasse
en utilisant le plus souvent un estimateur de distance (euclidienne, de Manhattan,
de Mahalanobis…). La différence majeure : la classification est réalisée soit en fonction
d'un nombre de classes donné a priori, soit le nombre optimal de classes évalué à partir
d'analyses bayésiennes (C-means) (Dunn 1973) ou en fonction de limites préfixées
d'étalement des classes (Paiva's classification) (Paiva and Tasdizen 2010). La
segmentation de l'image est de facto obtenue par la classification des valeurs de ses
points.
N.B. : Il existe d’autres types de segmentation, comme par exemple des algorithmes mobilisant
les 3 catégories décrites. La profusion des méthodes illustre la difficulté à segmenter des images :
il n’y a pas de consensus sur une méthode, car une bonne segmentation dépend du contenu, de la
dynamique, du système de description (i.e. le système de couleurs) de l'image et de la nature des
zones à segmenter et de ce que l’on cherche à obtenir (Busin et al. 2009).
Dans les cellules végétales, la lamelle moyenne est l’espace intercellulaire, c'est-à-dire une
séparation physique entre deux cellules adjacentes. Elle contient essentiellement des composés
pectiques, ce qui lui donne une intensité différente de coloration par rapport à la paroi cellulaire.
La segmentation de ces cellules doit être continue, c'est-à-dire produire des contours fermés et
correspondre à la lamelle moyenne. L'algorithme du watershed (Najman and Schmitt 1994)
possède toute les caractéristiques pour produire une bonne segmentation des cellules végétales. Il
existe 3 méthodes différentes pour faire un watershed : les algorithmes par inondation simulent
une montée progressive du niveau d'eau à partir des minima du relief. Les algorithmes par
ruissellement suivent, à partir de chaque pixel de l'image, la ligne de plus grande pente jusqu'à
atteindre un minimum. Et finalement, les algorithmes topologiques proposent une déformation
progressive du relief, préservant certaines caractéristiques topologiques, jusqu'à ce que le relief
soit réduit à une structure fine correspondant à la ligne de partage des eaux. Ces trois méthodes
donnent des résultats sensiblement différents, mais toujours avec les mêmes caractéristiques. La
définition des images ne permet pas de dire expérimentalement quelle méthode est la meilleure
car les différences sont de l'ordre du pixel et on ne peut pas déterminer quels sont le(s) pixel(s)
de la lamelle moyenne. Aussi, nous avons choisi l'algorithme par inondation, car son
initialisation par minima locaux permet d'envisager de les filtrer (voir plus bas).34
Dans les chaînes de traitement d’images, la segmentation est une étape primordiale car elle
permet d’extraire les zones d'intérêt dont la qualité influence directement les résultats finaux tels
que les mesures des objets. Elle est souvent précédée d’une phase de prétraitement visant à
nettoyer l’image (par exemple en supprimant le bruit ou en normalisant la dynamique du signal
induit par les capteurs optiques), à rehausser les contrastes en ré-étalant ou compressant la
dynamique du signal (par exemple en utilisant des combinaisons de différents lissages de l’image
pour accentuer des traits caractéristiques), etc. En raison de la multitude de sources de bruits, et
surtout de la multitude d’effets de ces bruits sur une image, il n’existe pas de technique
générique, adaptée à toutes les situations. La segmentation est généralement suivie d’une phase
de calcul ou de modélisation des objets. Par exemple en imagerie médicale, les neurones sont
segmentés avant d’être mesurés.
2.1.2 Chaîne de traitement : de l'image à l'élément structurant
Dans Plant Modeling and Applications (papier I, PMA’12), nous décrivons la méthode de
traitement d’image que nous avons mise en place, qui, à partir de l’image native produit une
image binaire où les cellules sont détourées par un contour d’épaisseur d’un pixel. Les valeurs
des paramètres sont automatiquement évaluées pour s’adapter au mieux à chaque image. La
méthode est constituée de 4 étapes.
La première étape consiste à atténuer le bruit impulsionnel (vraisemblablement induit par un
effet thermique de la lampe du microscope) à l’aide d’une combinaison d’un filtrage médian (cf.
figure 14) et d’un lissage gaussien. 35
Figure 14. En (a) droite image native. En (b) application d'un filtrage médian avec un rayon de 3, le bruit
impulsionnel est supprimé sans influencer la morphologie des bassins. Respectivement (c) et (d)
application d'un médian avec un rayon de 10 et de 20. Avec des rayons élevés, le médian va "lisser" la
morphologie des bassins entrainant une modification brutale des structures.
La seconde étape consiste à rehausser le contraste entre les différentes zones de l’image
notamment entre parois et lumina des cellules. Nous utilisons la méthode de Différence de
Gaussiennes (Einevoll and Plesser 2005) qui consiste à soustraire à l’image faiblement floutée
une image fortement floutée. Avec un ratio de variance des Gaussiennes largement supérieur à
1.6 le filtre a un effet passe-bande après soustraction dont les intensités supérieures à 0 sont
celles des lumens et les intensités négatives ou nulles celles des parois (cf. figure 15).
Figure 15. Rehaussement du contraste de l’image par la méthode de Différence de Gaussiennes (DoG). A
gauche l'image résultante d'un faible DoG (σ = 3 pixels). Au centre, l'image résultante d'un fort DoG (σ =
(largeur image)/10). A droite, la soustraction des images A et B qui augmente le contraste lumen/paroi.
La valeur de l'intensité des pixels de la paroi est nulle.
La troisième étape consiste à convertir l’image en niveaux de gris par moyenne des canaux car
à partir de cette étape la couleur n’est plus significative. Le choix du système couleurs est un
aspect important du traitement de l'image. Plusieurs études ont montré que le "meilleur système"
dépend du contenu de l'image. Pour notre étude, nous avons choisi de conserver le système RGB
(Red Green Blue) qui correspond aux longueurs d'onde qui stimulent les trois cônes de l'œil
humain. Pour ne pas favoriser un canal, le passage en niveaux de gris est réalisé par moyennage
de canaux (cf. figure ci-dessous) et non par la luminance comme généralement utilisée dans la
littérature.36
Figure 16. Passage en niveau de gris. A droite, l'image est convertie par moyenne de canaux. A gauche,
l'image est convertie à l'aide d'une fonction de la luminance. Les différences ne sont pas perceptibles à
l'œil et sont de l'ordre de 1% sur les intensités. L'impact sur la suite du traitement est de l'ordre du pixel,
ne permettant pas de définir si une méthode est meilleure que l'autre. Nous avons choisi la moyenne de
canaux pour rester cohérent avec le système de couleurs choisi.
La quatrième étape consiste à segmenter et individualiser les cellules à l’aide de l’algorithme
du watershed. Avant son application, l'image est inversée (négatif de l'image) pour que les
germes du watershed correspondent aux bassins de l'image. Les lignes de crêtes obtenues
définissent les régions dont les limites correspondent aux contours des cellules. L’algorithme du
watershed est connu pour produire une sur-segmentation qui se traduit par des lignes qui coupent
anormalement des cellules. Ce phénomène est dû au fait que chaque minimum local (germe)
dans l'image produit un bassin versant. Nous avons implémenté une solution qui consiste à
étudier le profil d’intensité de chaque ligne de partage des eaux et à supprimer celles qui
présentent une dynamique d’intensité importante, caractéristique des passages paroi-lumen
(illustration ci-dessous).
Figure 17. Individualisation des cellules à l'aide de l'algorithme du watershed. Les lignes de bassin versant
correspondent à la lamelle moyenne de cellule. Dans la segmentation obtenue (image de gauche),
certaines lignes de partage des eaux ne correspondent manifestement pas à l’espace intercellulaire. Des
lignes fragmentent l’intérieur de certaines cellules. C’est un cas de sur-segmentation due à la présence de
plusieurs minima locaux au sein d’une même cellule. Il s’agit vraisemblablement de bruit atypique qui n’a 37
pu être supprimé par le lissage appliqué globalement à l’image. Suite à l'étude du profil d'intensité de
chaque ligne permet de supprimer la sur-segmentation comme illustré sur l'image de droite. A noter que
les lignes sont artificiellement grossies pour accroitre la visibilité.
2.1.3 Application de la segmentation aux cellules
Comme nous venons de le voir, le nettoyage du watershed permet d’éliminer les arêtes
surnuméraires. La méthode proposée consiste à analyser le profil d’intensité de chaque ligne du
watershed pour vérifier son homogénéité. Cette méthode convient bien aux images de files
cellulaires car elles présentent un contraste marqué entre le lumen et la paroi. Mais pour d’autres
images, cette méthode ne sera pas suffisante. Il existe des variantes du watershed permettant à la
construction des lignes d’atténuer voire de supprimer la sur-segmentation. On peut citer la
méthode du waterfall (Beucher 2012) qui va fusionner les bassins adjacents reversants. La
difficulté de cette méthode est de déterminer d'une part les critères de fusion idéale et d'autre part
les conditions d'arrêt, car si les critères permettent une fusion à chaque étape, il n'y aura à la fin
qu'un bassin résultant comprenant toute l'image. Les études que nous avons effectuées sur le
waterfall et sur le filtrage des minima locaux (germes) du watershed n’ont pas permis d'obtenir
de meilleurs résultats que la méthode actuelle. Cela est dû à la complexité des critères et au
nombre de niveaux de fusion. Nous pensons cependant que l’utilisation de variantes de
watershed telles que le waterfall ou le P-algorithme (Beucher and Marcotegui 2009) serait une
alternative satisfaisante pour la suppression de la sur-segmentation.
Une étude a été menée sur l’effet du flou optique souvent présent dans les images du fait des
déformations périphériques dues à la lentille du microscope ou au défaut de planéité de
l’échantillon. Des acquisitions d’une même zone de l’image avec des mises au point différentes
ont été réalisées pour évaluer la stabilité algorithmique de notre méthode. Nous avons conduit
une étude statistique sur la variabilité du détourage des cellules. Nous avons mis en évidence que
les lignes intercellulaires obtenues par l’algorithme de partage des eaux sont globalement
invariantes au floutage de l’image. En effet, elles correspondent aux courbes d’inversion des
pentes d’intensité : le lissage de l’image produit par le flou optique réduit la dynamique
d’intensités de l’image sans toutefois supprimer les changements de variation d’intensité et les
lignes de crête restent globalement inchangées (cf. figure 18). 38
Figure 18. Résultat du watershed sur des coupes transversales de pin colorées à la safranine. A gauche, les
lignes de crêtes sur une image nette. A droite, les lignes de crêtes sur une image floutée optiquement. Le
contour des bassins est quasiment identique entre une image nette et une image floue. Sur l’image nette,
on peut apercevoir un bassin surnuméraire dû à un décollement de la paroi lors de la coupe. Ce bassin sera
enlevé lors de la phase de suppression de la sur-segmentation au profit de la cellule du haut.
La figure 19 montre la comparaison d'une soixantaine d'aires de bassins normalisés obtenues à
partir d'une image faiblement et fortement floutée. Le coefficient de détermination tend vers 1
montrant que les bassins sont bien corrélés. La pente de la droite est légèrement inférieure à 1
indiquant une faible sous-évaluation sur les images floues. Le procédé donne des résultats
quasiment identiques quelle que soit la netteté de l'image.
Figure 19. A gauche, étude de la limite des bassins par la superposition des lignes de crêtes produite par
un watershed appliqué à une image progressivement floutée (avec un rayon de gaussienne allant de 1 à
15). Les lignes de crête sont affichées en différentes couleurs et en cas de stricte superposition ces
couleurs sont additionnées ; les points communs à toutes les lignes de crêtes sont affichés en blanc ; les
différences majeures sont dues à la sur-segmentation de l'algorithme du watershed. A droite, étude de la
surface des bassins. En abscisse, l'aire des bassins obtenus à partir d'une image nette. En ordonnée,
l'estimation de l'aire des bassins à partir d'une image artificiellement floutée. Le coefficient de
détermination tend vers 1 montrant que les bassins sont bien corrélés. La pente de la droite de régression
est faiblement inférieure à 1 indiquant probablement une faible sous-évaluation des zones de bassins dans
les images floues.
2.1.4 Bilan de mise en œuvre de la segmentation
La segmentation permet l'extraction des éléments structurants de l'image. La méthode proposée
est composée de deux étapes : une phase de préparation de l'image et une phase de segmentation
de l'image.
y = 0,9958x + 32,978
R² = 0,9946
0
2500
5000
7500
10000
0 2000 4000 6000 8000 10000
cell areas - blurred image
cell areas - sharp image
Cell areas in pixel
Cell areas39
La première étape consiste à nettoyer l'image de ces défauts (réduire le bruit impulsionnel, etc.)
et à augmenter le contraste entre les zones à extraire. Il existe une multitude de filtres et de
combinaisons de filtres pour réaliser cette étape. Nous proposons une chaîne de (pré)traitement
avec des filtres standard peu coûteux en temps de calcul et donnant des résultats satisfaisants.
Selon le contenu et la nature des images, chaque étape du (pré)traitement peut être revue et
complétée par des opérateurs plus adaptés : ainsi dans certains cas le filtre médian peut
avantageusement être remplacé par un filtre MeanShift ; ce dernier remplace l’intensité de
chaque point de l’image par celle du - du maximum local le plus proche (et non pas par celle de
la valeur médiane de l'ensemble des pixels de son voisinage). Pour notre étude nous n'avons pas
retenu ce filtre car il est très coûteux en temps de calcul et n'apporte pas un gain suffisant par
rapport au filtre médian.
La seconde étape consiste à individualiser les éléments à l'aide d'un opérateur de segmentation.
Dans le cas des files cellulaires en microscopie optique, la segmentation de ces cellules doit être
continue, c'est-à-dire produire des contours fermés, elle doit correspondre à la lamelle moyenne
(structure biologique séparant deux cellules) et doit être insensible au flou (présent en périphérie
des images). Pour ces raisons, nous avons choisi d'utiliser l'algorithme du watershed implémenté
par inondation, il réalise une segmentation des cellules satisfaisante : seules les cellules
comportant des inclusions, des décollements de paroi ou étant partiellement obstruées posent
problème.
A cette étape chaque cellule est individualisée mais il n'y a aucune relation entre elles. La
prochaine étape du traitement va permettre d’introduire les relations entre les cellules et
d'identifier automatiquement les organisations.40
2.2 Modélisation des arrangements
2.2.1 Définition de la modélisation dans le cadre des files cellulaires
Cette section décrit la conception d’un modèle visant à définir les objets d’étude et les règles
permettant d’identifier et de caractériser l’organisation des éléments structuraux précédemment
segmentés à un niveau d’observation donné. En général, la modélisation consiste le plus souvent
à définir des mécanismes complexes, qu’ils soient géométriques, physiques ou mathématiques
dont le but est de reproduire au mieux un comportement naturel expérimentalement observé et
foncièrement admis (ou assimilé). Le modèle ainsi conçu permettra de générer des instances
représentant potentiellement des expressions de la réalité (i.e. des réalisations « virtuelles »
présentant l’ensemble des caractéristiques des échantillons observés). Ces instances seront
utilisées par confrontation avec les observations annotées par les experts pour valider ou
invalider la cohérence et l’exactitude du modèle. Une fois validé, le modèle permet de proposer
des outils de mesure et de caractérisation des productions du modèle.
L'étude porte sur la caractérisation de l’organisation cellulaire dans le plan ligneux. Ces
organisations peuvent être de différents types : alignement pour les files cellulaires dans le plan
ligneux, circulaire pour les anneaux de croissance, en fuseau dans le plan tangentiel vertical pour
les rayons ligneux, en spirale pour les cellules de méristème racinaires…
Cela revient donc à chercher des arrangements particuliers de cellules qui suivent un
comportement connu a priori : la droite pour les files cellulaires, le cercle pour les anneaux de
croissance, la spirale pour les méristèmes racinaires de riz… Ces différents arrangements
peuvent être modélisés par des fonctions.
La construction et l'identification demandent de définir des règles permettant de trouver dans le
plan ligneux les arrangements locaux qui se rapprochent le plus des formes recherchées, et plus
généralement des propriétés (géométriques ou biologiques) attendues sachant que les
distributions spatiales des cellules présentent par essence même de nombreuses perturbations
rendant cette tâche plus ou moins complexe. Ces perturbations ont plusieurs origines, elles
peuvent venir de défauts de préparation (présence d'intrusions ou de déchirures), ou de réactions
internes de la plante (e.g. compression des cellules au pourtour des vaisseaux) ou correspondre à
un stress ponctuel ou permanent.
Classiquement, un modèle (d'identification des organisations cellulaires) comprend deux niveaux
: (i) un niveau d'exploitation exclusive des informations inhérentes à l'image (basée sur l'étude
des arrangements des pixels ou des structures élémentaires homogènes de l'image) et (ii) un
niveau d'apport d'une connaissance "a priori" caractérisant les organisations recherchées. Le
modèle doit de plus reposer sur des mécanismes devant être réversibles et robustes.41
La robustesse signifie que les organisations doivent être reconnues même en présence de
perturbations et la réversibilité signifie que les organisations doivent être reconnues quel que soit
le point de départ. A titre d’exemples, pour la spirale, on doit pouvoir partir du centre et arriver à
l'extrémité, ou l'inverse ; pour les alignements cela signifie pouvoir partir indifféremment d'un
bord de l'image ou de l'autre et avoir le même résultat.
L'exploitation de règles de voisinages dans un graphe d'adjacence va permettre de bâtir les
arrangements. Ces règles sont modélisées par des fonctions géométriques génériques. La
spécialisation de la méthode se fait par le biais de ces fonctions, dans lesquelles on va injecter
des connaissances a priori. Ainsi, une fonction de droite sera utilisée pour les alignements, une
fonction de cercle pour les anneaux de croissance, etc. L’analyse du graphe permet d’une part
d’extraire, si elle existe, l’orientation des arrangements et d’autre part de parcourir de proche en
proche les nœuds pour créer les arrangements.
2.2.2 Processus d'identification des arrangements
Dans notre étude nous nous intéressons aux files cellulaires distribuées selon des alignements
rectilignes.
La première étape consiste à extraire les objets structurants à savoir les cellules et ensuite décrire
leur topologie. Un graphe d’adjacence des bassins est alors introduit pour décrire les relations de
voisinage entre les différents bassins. C’est un graphe simple classiquement défini par un
ensemble de sommets et un ensemble d’arêtes. Plus précisément, chaque arête du graphe relie les
centres géométriques de deux bassins voisins, i.e. incidents à une même ligne de crête (cf. figure
ci-dessous).
Figure 20. A gauche : les lignes de crête, représentées en vert, produites par le watershed correspondent
globalement à la lamelle moyenne, l’espace entre les parois cellulaires ; les bassins sont une bonne
approximation des cellules. A droite : le graphe d’adjacence des cellules est construit à partir des lignes de
crête ; les chemins correspondant aux files cellulaires sont affichés en rouge.
La seconde étape consiste à trouver l’orientation des lignes. Un histogramme des arêtes du
graphe est construit à partir de l’angulation formée par chaque arête avec l’axe des abscisses. Le
maximum du profil sera assimilé à l’orientation principale de l’image (Jones and Bischof 1996).
Le profil peut aussi permettre de déterminer les orientations secondaires. Du fait de l’agencement 42
en quinconce des cellules, les arêtes de ce graphe sont orientées selon trois directions : la plus
représentée correspondant aux alignements cellulaires. On parlera de direction principale. Le
mode de plus grande amplitude indique l’orientation la plus représentée dans le graphe
d’adjacence, c’est-à-dire l’orientation principale des files (figure 21).
Clichés de l'UMR AMAP
Figure 21. Histogrammes représentant la distribution de l'angle entre les arêtes du graphe d’adjacence et
l’axe des abscisses. A gauche, le mode principal centré sur 0° correspond à des files horizontales. A
droite, l’histogramme semble montrer deux modes, un centré sur -90° et l’autre sur 90° ; ces valeurs sont
données sur l’intervalle [-90°, +90°], les deux modes ne forment par conséquent qu’un seul mode centré
sur 90° (ou -90°), qui correspond à des files verticales.
La troisième étape consiste à bâtir les arrangements, le processus comprend les règles de
voisinage sous la forme d'une fonction à minimiser. Pour les files cellulaires, nous proposons une
règle géométrique (fonction de droite) et une règle morphologique (fonction de similarité). La
fonction de similarité permet de lever les ambiguïtés quand il y a plusieurs bassins candidats (cf.
figure 23).
Le processus d’identification des files cellulaires dans une image est progressif et repose sur les
principes suivants : les files sont des alignements de cellules deux à deux similaires, i.e. proches
0
20
40
60
80
100
120
140
160
180
-90 -45 0 45 90
0
20
40
60
80
100
120
140
160
-90 -45 0 45 9043
en termes de taille, de forme et les alignements cellulaires sont indépendants de l’orientation de
l’image.
La construction des files est progressive et repose sur les 3 étapes suivantes : (i) la recherche
d’alignements sous une double contrainte spatio-géométrique, (ii) la gestion des recouvrements
et (iii) le chaînage des tronçons isolés.
i. La recherche d’alignements sous double contrainte spatio-géométrique
Elle permet d’extraire du graphe les plus longs chemins rectilignes de sommets
« géométriquement similaires », i.e. une succession de sommets dont la surface des bassins sousjacents
varie de manière graduelle. Ces alignements sont construits l’un après l’autre, par
agrégations successives de sommets. Plus précisément, il s’agit de trouver quel sommet w du
graphe doit être rajouté à l’extrémité v de la file en construction pour la compléter.
On définit l'ensemble Nk(v) des voisins de rang k du sommet v, ce qui correspond à tous les
sommets du graphe situés à une distance topologique k de v.
Le sommet solution w, s’il existe, est choisi parmi les sommets wk de l'ensemble Nk(v) et est le
sommet géométriquement le plus similaire et le moins éloigné de l'axe de la file. Dans les faits,
on ne garde que 2 candidats, les deux plus proches sommets situés de part et d’autre de l’axe
formé par le sommet v et le sommet précédent dans la file en construction (illustration figure 22).
Schéma de l'auteur
Figure 22. Schéma de la recherche des sommets candidats pour l'agrégation au sommet v courant.
L'exploration se fait en premier lieu au voisinage k=1 (en bleu). Si un bassin est choisi, il devient le
sommet courant et le processus réitère. Sinon la méthode cherche d'autres sommets sur un voisinage
étendu k=2 (en orange). Le processus de voisinage étendu itère jusqu'à k=5. Si aucun sommet n'est choisi
le processus s'arrête et la file (ou tronçon de) est créée.
L’indice de similarité géométrique (formule au §2.3.2) permet de choisir le candidat géométrique
le plus similaire du sommet v, i.e. dont le bassin sous-jacent est géométriquement le plus proche
du bassin sous-jacent au sommet v. Cet indice est bien adapté aux résineux dont la forme et la 44
surface des trachéides varie peu. Pour les Angiospermes, l’indice est un très bon indicateur de
ruptures brutales de taille tout en autorisant des variations continuelles et progressives de surface.
Figure 23. Comment choisir les sommets à rajouter à la file ? A gauche : choix trivial avec une angulation
et une similarité identique. Au centre : choix indéterminé, les bassins ayant une angulation et une
similarité de surface très proches. A droite : le choix du chemin dépend des critères que l'on veut
privilégier.
Si l’indice de similarité géométrique des sommets est supérieur à 0.5, alors aucun candidat du
rang considéré n'est retenu ; le processus est répété au rang suivant. La recherche des candidats
est ainsi progressivement élargie jusqu'au 5ème rang. Au-delà de cette distance la construction de
la file est arrêtée si aucun candidat n'est retenu. La largeur du voisinage étudié est une limite
expérimentale, arbitrairement fixée par les anatomistes du bois impliqués sur le projet.
Quand un sommet w est retenu, on vérifie si la réciprocité est vraie, i.e. si, à partir du sommet w,
on retombe sur le sommet v courant en utilisant comme direction de référence l'orientation
principale des files. S'il ne vérifie pas la condition de réciprocité, la construction de la file
s'arrête. Dans le cas contraire, les sommets situés sur le plus court chemin reliant v à w sont
rajoutés à la file par l’algorithme de Dijsktra (Cormen et al. 2001) ; dans le cas où w appartient
au voisinage de rang 1, aucun sommet intermédiaire n'est rajouté à la file. Enfin le sommet w
devient la nouvelle extrémité de la file et le processus de recherche est réitéré.
De manière pratique l'angulation maximale entre le sommet v et les sommets candidats vk est une
fonction décroissante qui dépend du rang du voisinage. Elle est de 45° au rang 1 et de 10° à
l'ordre 5. Ces seuils ont été fixés expérimentalement d'après les observations faites par les
anatomistes du bois. Dans la première étape de construction, l'axe de la file est donné par
l’orientation principale des files de l'image.
ii. La gestion des recouvrements
Pendant le processus de construction, la présence de déformations peut donner lieu à des
sommets appartenant à plusieurs arrangements. On choisit l'arrangement qui va minimiser la
dérive de la file, grâce au résultat de l’algorithme de Dijsktra. Les autres arrangements se verront
destitués des sommets en commun. 45
iii. Le chainage des tronçons isolés
Du fait de la présence d’intrusions, de déformations ou des limites algorithmiques du watershed,
le processus peut faire apparaitre des tronçons isolés (cf. figure 24). Un tronçon est un
arrangement qui ne parcourt pas l’image de part en part. Le principe de la fusion permet de
concaténer plusieurs tronçons, en utilisant les règles topologiques simples et ainsi d'établir des
lignes entières. L’idée repose sur une double hypothèse : (i) les arrangements traversent l’image
de part en part, (ii) et ils ne se croisent pas. Soient deux tronçons T2 et T2’ adjacents aux files A1
et A3 ; il est fortement probable que T1 et T2 soient deux parties d’un seul et même arrangement
A2. Actuellement seuls les cas typologiquement simples sont traités pour ne pas induire de faux
positifs dans la détection.
Schémas et clichés de l'auteur
Figure 24. Chainage des tronçons isolés. En haut, schéma théorique de la fusion des tronçons. Les
tronçons T1 et T2 sont compris strictement entre les files A1 et A3, ils seront fusionnés et identifiés
comme appartenant à la même file A2. En bas, application sur un cas réel. A gauche, résultat de la chaîne
de traitement sans chainage des tronçons. A droite, résultat après application de la méthode de chainage.
Les tronçons sont identifiés comme appartenant à une même file (même couleur).
Cette méthode permet de créer des files ou des tronçons de file sûrs. A noter que des cellules
isolées ou des artéfacts (dus à une erreur de segmentation ou à une résolution trop faible de
l’image ne permettant pas alors une bonne segmentation) peuvent n’appartenir à aucune file.
Nous ne cherchons pas à les raccorder à une file. Ces cas complexes sont laissés à l’appréciation
de l’utilisateur.
2.2.3 Mise en œuvre de l'identification des files cellulaires
Dans cette partie nous allons montrer l'application de la chaine complète de traitement
(segmentation et modélisation) et d'identification des files cellulaires (cf. illustration ci-dessous).46
Figure 25. Identification automatique des files de cellulaire avec une coloration aléatoire des files.
La représentation visuelle permet d'identifier facilement chaque file. On peut voir apparaitre sur
la droite de l'image des petits bassins supplémentaires due à l'épaisseur de la coupe entrainant un
écrasement de la paroi. L'algorithme du watershed va identifier ces structures comme des bassins
qui ne seront pas supprimés lors de la phase de traitement. Une gestion des cellules peut
permettre de fusionner les bassins entre eux.
Nous envisageons la formalisation d’une nouvelle méthode d'identification des files cellulaires
indépendante de l’ordre de parcours. La méthode teste toutes les combinaisons à partir d’un
nœud fictif de référence (Nœud Père Np) relié à tous les nœuds du bord de l’image. A partir de
Np, on calcule les scores pour tous les chemins permettant de revenir sur Np. Les scores sont
déterminés par la différence d’angulation entre les arêtes, l’orientation des files et la similarité
entre 2 bassins. Une fois tous les parcours réalisés, on dépile les files en fonction des scores, en
supprimant au fur et à mesure les trajets sélectionnés ainsi que les trajets contenant au moins un
nœud du trajet sélectionné. Cette méthode doit permettre d'identifier toutes les files ainsi que les
tronçons en une seule étape.
Nous avons vu que les files sont créées uniquement à partir de règles géométriques et
topologiques sur les bassins. Il est important de s’assurer de la robustesse de la détection des
bassins, c’est-à-dire que la méthode utilisée soit précise dans le détourage des cellules et
insensible au flou de l’image.
Sur l'évaluation de la précision de la mesure, la figure 26 présente la comparaison d'une
soixantaine d'aire de bassins normalisés obtenu à partir de mesures manuelles et automatiques.
Le coefficient de détermination tend vers 1, montrant que les aires des bassins sont bien
corrélées. La pente de la droite de régression est faiblement supérieure à 1 ce qui indique une
faible surévaluation de la méthode automatique. La méthode automatisée semble surévaluer les
mesures (ou l'expert les sous-évalues). La méthode automatique est cependant répétable. 47
Figure 26. Etude de la surface de bassin chez l'acajou (Pycnanthus sp.). En abscisse, les surfaces
normalisées obtenues à partir d'une segmentation manuelle. En ordonnée, celles obtenues à partir de la
méthode automatique. Le coefficient de détermination est proche de 1, montrant un bon ajustement des
surfaces.
Ici, seule la précision géométrique est étudiée : le décalage géométrique n’est volontairement pas
pris en compte car estimé négligeable au regard de la surface des cellules. Mais il va de soi que
l’étude pourrait être élargie au décalage, notamment pour évaluer le recouvrement géométrique
entre annotations expertes et segmentation algorithmique.
2.2.4 Conclusion sur la mise en œuvre de la modélisation
La modélisation des données est indispensable pour l'étude d'éléments possédant une
organisation, telle que les files cellulaires. Elle permet de suivre l'évolution des variations au sein
de ces organisations. Pour cela nous avons mis en place une méthode de parcours sous
contraintes de graphe. Le processus comprend d'une part des règles de voisinage sous la forme
d'une fonction paramétrable à minimiser (droite, cercle, spirale…) et d'autre part l'apport expert
d'une connaissance "a priori" caractérisant les organisations recherchées.
La méthode permet de détecter automatiquement les files cellulaires et les tronçons
probablement issus de la même file. Le processus est capable d'absorber des déformations
biologiques telles que celles produites par les vaisseaux et de concaténer des portions de files
grâce à des règles topologiques simples.
La méthode traite les images à la volée, c'est-à-dire une à une. Pourtant pour réaliser les analyses
statistiques, il faut pouvoir suivre les organisations sur une large zone d'étude. Le prochain
chapitre décrit la méthode de suivi d'organisations sur le plan ligneux complet.
y = 1,0477x + 0,0127
R² = 0,9991
0
3
6
9
0 2 4 6 8
automatique
manuelle48
2.3 Fusion des données
2.3.1 Mosaïques des résultats
L’assemblage d’images (ou stitching) est un procédé consistant à combiner plusieurs images qui
se chevauchent partiellement en vue de produire des images de très haute résolution (THR) ou
des panoramas. C’est un problème complexe, mais largement traité dans la littérature. La
majorité des méthodes d'assemblage d’images décrites nécessite un chevauchement exact entre
les images (Brown and Lowe 2007) et des radiométries identiques pour produire des résultats
sans déformation périphérique (Vercauteren et al. 2006 ; Clienti and Beucher 2010). D’autres
méthodes, telle que SIFT (Scale-Invariant Feature Transform) (Lowe 2004 ; Toews and Wells
2009) ou SURF (Speeded Up Robust Features) (Bay et al. 2006 ; Oyallon and Rabin 2013),
permettent de fusionner les images sans connaître a priori leur chevauchement grâce à des points
d'intérêt identifiés dans les deux images à apparier. Cette étape est souvent suivie d’un
étalonnage des images. Cette opération vise à minimiser les différences entre les images par la
correction des défauts optiques tels que les distorsions, l’exposition, le vignettage ou les
aberrations chromatiques. Les images THR restent complexes à manipuler du fait de leur taille
importante (environ 3 milliards de pixels pour des poids de 30 Go) et ce malgré l’augmentation
de la puissance des ordinateurs. En acquisition satellitaire, les images produites en THR sont
souvent découpées ou réduites pour être plus facilement traitées. Mais, même avec ce procédé,
les images ne peuvent être traitées sur des ordinateurs tous publics.
Pour s’affranchir de ces différentes difficultés techniques, notamment des corrections
radiométriques et du redécoupage de l’image THR, nous avons opté pour une approche
combinant le traitement à la volée des images composant la mosaïque et la fusion progressive
des résultats produits (Wyant and Schmit 1998 ; Sjö dahl and Oreb 2002). Pour faciliter leur
manipulation, les résultats sont décrits à l’aide d’un graphe. Un tel modèle est bien adapté aux
organisations cellulaires souvent caractérisées par un ensemble de règles connues a priori qui
servent à l’identification des structures à fusionner. La fusion des résultats de deux images
adjacentes se ramène donc à la fusion de deux graphes.
Dans notre cas, la limitation de la course de la platine du microscope réduit la zone d’observation
à une surface de 10x10 cm², décrite par une mosaïque d’environ 1500 images couleurs de
1600x1200 pixels. Les images peuvent montrer un flou local ou périphérique en raison des
déformations optiques ou dela non planéité locale des échantillons observés. Par contre, le
microscope est équipé d’une platine, dont le positionnement est connu et enregistré à chaque
prise de vue. 49
2.3.2 Présentation d'une méthode générique de fusion de graphe
Nous présentons une méthode générique pour l'agrégation des résultats par la fusion unique de
graphes disjoints. La méthode est basée sur une définition s’appliquant à des graphes simples
(i.e. non orientés et sans boucle). L’agrégation des (graphes de) résultats est réalisée à partir d’un
noyau de fusion, c’est-à-dire à partir d’un ensemble de couples de nœuds à fusionner. Cet
ensemble est obtenu à partir d’une fonction bijective définie par un produit de règles de fusion.
Il est rappelé qu'une fonction est bijective si et seulement si tout élément de son ensemble
d'arrivée possède un et un seul antécédent, c'est-à-dire qu'elle est image d'exactement un élément
de son ensemble de départ.
Dans notre cas d’étude un graphe simple est utilisé pour décrire l'organisation cellulaire. Un
graphe est dit simple s'il n'a pas de sommets en double, ni d’hyper-arcs (i.e. des arcs différents
joignant les mêmes sommets), ni de boucles. C’est-à-dire qu’il n’existera au plus qu’une seule
arête reliant le sommet X au sommet Y. La fusion des graphes se fera par la fusion des sommets
communs aux deux graphes, c’est-à-dire des sommets portant les mêmes caractéristiques. Le
noyau de fusion est décrit par un produit de termes normalisés décrivant uniquement les aspects
géométriques – position et taille – des cellules potentiellement fusionnables (papier IV,
SCIA'13). Un sommet n’est retenu que si sa position est dans un cercle dont le rayon correspond
à celui du cercle inscrit du bassin. La similarité des surfaces est définie par l’indice de similarité
géométrique noté GS. Défini entre deux sommets p et q, il est donné par la différence normalisée
des surfaces Sp et Sq.
| |
( )
Figure 27. Différence normalisée des surfaces Sp et Sq : ce critère est une adaptation de l’indice de
dissimilarité de Bray-Curtis (Bray and Curtis 1957) proposé pour comparer deux échantillons de même
taille.
Plus l’indice tend vers 0 (figure ci-dessus), plus les surfaces des cellules comparées sont proches
donc similaires ; en pratique, deux sommets sont considérés comme « identiques » dès que leur
indice de similarité géométrique est inférieur à 0,1.
N.B. : Les cellules du bord de l'image étant tronquées, elles sont supprimées du graphe avant le
processus de fusion.
2.3.3 Agrégation des résultats de files cellulaires
La méthode de fusion est indépendante du taux de recouvrement et du flou des images (cf. figure
28). En effet la méthode de détection du contour des cellules est globalement insensible au flou.
Les critères utilisés dans le noyau de fusion (position et taille) sont de ce fait invariants au flou 50
local de l’image. De plus, la connaissance du déplacement du microscope est un avantage pour
identifier les cellules potentielles à fusionner car on définit au préalable un référentiel commun à
toutes les images qui correspond aux coordonnées [0,0] de la platine.
Clichés et illustrations de l'auteur
Figure 28. En haut, chevauchement fort de deux images de Pin (Pinus sp.). En dessous, superposition des
graphes des deux images (en bleu et en rouge) et résultat de la fusion des graphes, les lignes sont en noir.
Au centre, chevauchement faible de deux images de Pin, avec le résultat de la fusion. Les résultats des
fusions sont sensiblement identiques : la différence provient des échanges locaux de cellules : lors de la
fusion, la cellule retenue est celle la moins floutée.
Le sommet issu de la fusion est représenté par le meilleur candidat des deux sommets, à savoir
celui associé à la cellule la moins floue. L'estimateur de flou local, basé sur la relation entre les 51
dynamiques locales et les différences d'intensité (cf. §2.4.2.2 - Niveau des composants), est
utilisé pour finaliser le choix.
La fusion des différents graphes d’adjacence des images de la mosaïque permet de suivre les
files radiales sur de grandes zones d’observation, ici deux cernes pleins (cf. figure 29).
Cliché de l'auteur
Figure 29. Files radiales traversant une mosaïque de 7 images. La méthode ne fusionne pas les images,
mais les graphes obtenus pour chaque image. Ici, nous avons fait une recomposition automatique des
deux files du graphe mais un pavage manuel des images à des fin de visualisation.
La transition entre deux cernes successifs est caractérisée par une rupture morphologique des
cellules. Cette rupture n'affecte pas le processus de fusion des graphes car le processus de fusion
des graphes est basé uniquement sur une agrégation locale des cellules périphériques. L'approche
est stable en ce qui concerne l'évolution des propriétés des cellules.
Le taux de recouvrement des images doit être au moins d’une cellule. Dans les faits, il est
expérimentalement fixé à 3 cellules. Il prend toute son importance dans le cas des Angiospermes
qui présentent de fortes singularités du fait de la diversité (de forme et de taille) des différentes
structures biologiques (cf. figure 30) La présence de vaisseaux entrainent des déformations
cellulaires progressives ou brutales importantes. Les images contiennent des cellules de tailles et
de formes très variables : il n’est pas rare de voir des vaisseaux 10 à 20 fois plus gros que des
fibres. Dans ce cas-là, le recouvrement des images est délicat : il est actuellement laissé à la
discrétion du biologiste lors de l'acquisition.
Cliché de l'auteur
Figure 30. Cas des Angiospermes (ici de l’acajou, Pycnanthus sp.) : la fusion des graphes fonctionne dans
le cas de recouvrement total du vaisseau. La file centrale (en rouge) est bien assemblée, du fait du
recouvrement total des vaisseaux. Mais l’écrasement des fibres produit par le développement des 52
vaisseaux provoque des discontinuités dans les files périphériques (verte et bleue), que la méthode de
fusion ne peut corriger
Il est nécessaire de mettre en place une approche de concaténation de files à partir de l’étude du
voisinage des files, similaire à l’approche présentée dans (Article I.PMA'12) et sommairement
décrite dans le chapitre §2.2.2 « Processus d'identification des arrangements ».
2.3.4 Conclusion
L'étude des tendances biologiques le long des files est nécessaire pour comprendre la mise en
place des différentes organisations et maturations de cellule. Elle ne peut être faite qu'à partir
d'une grande zone d'observation du plan ligneux. Les images produites par le microscope sont
données sous la forme d'une pile d’images « spatio-localisées » à traiter. Les résultats produits
devront être compilés afin de pouvoir suivre les structures sur tout le plan. Pour cela nous avons
mis au point une fonction générique d'agrégation de graphe simple, basée sur une involution.
Elle permet la fusion à la volée des résultats produits par chaque image. La fonction de fusion
doit être spécialisée en fonction de l'objet d'étude. Pour les files cellulaires, cette spécialisation
passe par l'ajout de règles géométriques insensibles au flou de l'image. Cette contrainte est
d'autant plus importante car les images prises au microscope présentent des déformations
périphériques. La méthode permet de reconstituer une mosaïque entière du plan de coupe.
Il pourrait être intéressant de remplacer dans la fonction de fusion les termes de position par un
terme relatif à la dynamique de la cellule : ce point nécessite de caractériser le flou local de
l’image pour normaliser la signature de chaque cellule. Un tel indicateur est présenté dans la
définition des coefficients de pertinence (Article III, FSMP'13), et est utilisé pour valider les
résultats quantitatifs produits. L’utilisation de coefficient pour corriger les mesures effectuées est
sérieusement envisagée, notamment pour homogénéiser la signature d’intensités des cellules.
Bien que non testée, la méthode de fusion des graphes devrait pouvoir s'étendre aux
organisations en spirales et en cercles (figure ci-contre) du moment qu'au moins un des sommets
d'extrémité des arcs est commun aux 2 images.53
Schéma de l'auteur
Figure 31. Schéma de la fusion théorique d'un cercle ou d'une spirale. A gauche, les arcs bleu et vert
appartiennent à la même image et ont un sommet en commun avec l'arc rouge de la seconde image. Les
cellules chevauchantes sont décalées pour une meilleure visibilité. Le processus de fusion va tout d'abord
fusionner l'arc bleu et l'arc rouge pour ne former qu'une seule structure. Il va ensuite fusionner l'extrémité
de l'arc vert avec la structure pour ne former plus qu'un seul arc bleu représenté dans le schéma de droite.
Par définition la méthode de fusion nécessite de tester pour chaque bassin l'ensemble des
candidats, ce qui représente une complexité algorithmique en O(n²). Pour optimiser cette
méthode, chaque sommet à traiter est trié selon une double clé sur les coordonnées [x ;y] et mis
dans une liste. Les sommets candidats seront les points suivant de la liste où la clé [x ;y] est
comprise dans le rayon du cercle inscrit du sommet à traiter. Trouver les sommets candidats
revient à parcourir une portion infime de la liste. La complexité de l'algorithme est donc ramenée
à O(n log(n)). Au grossissement utilisé, il y a en moyenne 1500 cellules par image, ce qui
représente 2 millions de cellules à traiter pour créer la mosaïque entière. Avec un temps
d'exécution estimés sur la base d'un accès mémoire de 10 nanosecondes par étape, il faudrait
11,11 heures de calcul pour une complexité en O(n²) et seulement 3,1 minutes en O(n log(n)).
Cette optimisation permet donc de traiter l'ensemble des sommets en un temps raisonnable.
La validation de la méthode nécessite une étude comparative des files identifiées par
l’assemblage d’images et par fusion de graphes résultats. Cette étude à venir, devrait permettre
de vérifier que les résultats produits sont rigoureusement identiques, et de comparer les temps de
calculs associés et les ressources nécessaires.
Suivre une file le long du plan ligneux n'est pas suffisant pour les études statistiques, il faut
pouvoir donner des mesures fiables caractérisant aussi bien les files, les cellules que les
composants des cellules. Le prochain chapitre sera dédié à l'étude des mesures et à l'importance
de la nature de celles-ci.5455
2.4 Mesures et fiabilités
2.4.1 Résultats numériques
Les utilisateurs attendent un ensemble de résultats numériques caractérisant la forme, la taille, la
nature des éléments structurants (Igathinathane et al. 2006) tant pour caractériser que pour typer
les structures cellulaires et leur arrangement. En anatomie du bois, ces éléments sont des
structures biologiques plus ou moins complexes (parois, lumina, cellules, files…). Leurs
caractéristiques sont définies par des paramètres automatiquement évalués.
Notre méthode produit plusieurs types de résultats correspondant à différents niveaux
d'observation.
Niveau global : les files cellulaires sont classées en fonction de leur longueur et de la
continuité des hauteurs des cellules les composant ;
Niveau de l'élément : les cellules sont caractérisées par les dimensions géométriques
(diamètre, forme ...) ;
Niveau des composants : les composants cellulaires (paroi, lumen) sont décrits par des
paramètres géométriques (taille, épaisseur, diamètre...), photométriques, d’entropie ou
d’homogénéité pour caractériser l’aspect des éléments.
Dans la pratique, seuls les paramètres géométriques sont utilisés car ils décrivent suffisamment
bien la cellule, l'apport d'autres informations étant rarement utilisé par les experts.
2.4.1.1 Mesure des paramètres
Pour chaque mesure, il faut trouver et proposer la méthode la plus adaptée à l'objet d'étude. Un
ensemble d'outils de calcul est déjà fourni par la plateforme ImageJ (Igathinathane et al. 2008),
mais ces outils ne sont pas adaptés à la caractérisation de structures ou de notions complexes.
2.4.1.1.1 La circularité
La circularité (Žunić and Hirota 2008) est un indice normalisé classiquement exprimé par le
rapport pondéré entre la surface et le périmètre de la cellule. Elle est calculée à partir de
l'expression suivante :
[ ]
[ ]
La circularité est donc donnée par une valeur variant entre 0 et 1, 1 étant la circularité du cercle
parfait. Bien que connu, ce paramètre reste délicat à utiliser : il est d’une part difficile de
déterminer le seuil significatif au-delà duquel l’objet peut / doit être considéré comme plus rond
qu’allongé, et d’autre part d’apprécier l’incidence réelle de la taille de l’objet sur la pertinence de
l’indice. 56
2.4.1.1.2 La surface
La surface (ou aire) est calculée à partir de la somme des pixels composant la cellule. La mesure
est donnée en pixels au carré. Lorsque nécessaire, la calibration de l’image est réalisée à partir
des grossissements optiques et numériques utilisés lors de la numérisation.
2.4.1.1.3 Le périmètre
Le périmètre est défini comme une approximation de la longueur réelle du bord de la cellule.
C’est un problème complexe largement étudié dans la littérature. Différentes définitions du
périmètre de régions discrètes existent (Sabri and Macdonald 2012), l’idée étant de fournir des
approximations les plus proches possible des mesures réelles attendues en fonction de la forme
des régions traitées (Igathinathane et al. 2008).
Dans les faits, le périmètre en tant que tel ne présente pas vraiment d’intérêt pour le typage ou la
caractérisation des cellules. Il intervient uniquement dans l’évaluation de leur circularité,
potentiellement discriminante pour différencier les rayons des cellules. De ce fait, c’est au final
plus le comportement que la valeur « vraie » du périmètre qui nous intéresse. A l’instar de
l’étude d'Igathinathane, nous avons recherché et comparé trois méthodes de calcul de périmètre
simples plutôt adaptées à la description de formes à dominante convexe et ovale.
La première méthode consiste à compter le nombre d'arêtes de contour. Elle se prête bien à
l'évaluation des périmètres de régions filiformes, mais moins à des formes “patatoïdales”
présentant des cotés obliques pour lesquelles la longueur des pentes du bord, décrites par des
marches d’escalier, sont surévaluées.
Dans ce cas-là, le périmètre doit être calculé en introduisant la prise en compte des diagonales.
Par exemple, l'algorithme implémenté dans ImageJ comptabilise le nombre de coins non
adjacents pour moduler le périmètre ; plus précisément le périmètre est défini par le nombre
d'arêtes du bord, auquel est retranchée la valeur ( √ ) pour chacun des coins. 57
√
( √ )
Le défaut majeur de cette méthode est que le résultat va dépendre de l'initialisation du point de
départ. La figure ci-dessous illustre le problème ; pour le premier cas on va trouver 4 coins et
pour le second 5 coins.
On aura au plus un écart maximal de ( √ ) entre deux structures identiques selon la façon de
parcourir le contour.
La troisième méthode (que nous appellerons New) consiste à donner un poids à chaque pixel en
fonction du nombre de pixels voisin et de la pente à décrire. En 4-connexité, les pixels d'angle
(en 1 sur l'illustration ci-dessous) ont un score de racine carré de 2 représentant la pente. Les
pixels d'extrémités (en 2 sur l'illustration ci-dessous) ont un score de deux fois racine carré de
1,25 représentant la double pente. Enfin les pixels de contours (en 3) ont un score de 1.
Perim = ∑ Pixel d'angle) + ∑ Pixel d'extrémité) + ∑ Pixel de contour)
Les figures ci-dessous montrent l'évolution des méthodes de calculs par rapport au périmètre
attendu réel, avec une variation du rayon du disque de 0 à 50.
Périmètre58
y = 1,0537x + 1,8258
R² = 0,9999
0
50
100
150
200
250
300
350
0,000 50,000 100,000 150,000 200,000 250,000 300,000 350,000
Périmètre calculé avec ImageJ
Périmètre réel du disque
Périmètre Réel / ImageJ
Perim ImageJ
Linéaire (Perim ImageJ)
y = 1,0551x + 2,1171
R² = 0,9999
0,000
50,000
100,000
150,000
200,000
250,000
300,000
350,000
0,000 50,000 100,000 150,000 200,000 250,000 300,000 350,000
Périmètre calculé avec New
Périmètre réel du disque
New
New Meth
Linéaire (New Meth)
y = 1,2732x + 4
R² = 1
0,000
50,000
100,000
150,000
200,000
250,000
300,000
350,000
400,000
450,000
Périmètre calculé avec Arête
0,000 50,000 100,000 150,000 200,000 250,000 300,000 350,000
Périmètre réel du disque
Arête
Arrête
Linéaire (Arrête)59
Le coefficient de détermination R² représente la fraction de la variance de y "expliquée" par la
corrélation de y avec x. Le R² est proche de 1, ce qui signifie que les périmètres sont fortement
corrélés et que presque 100% de la variance de y est expliquée.
Courbe 1, on surévalue le périmètre et on a un décalage de 1,8 à l’origine.
Courbe 2, on surévalue le périmètre et on a un décalage de 2,1 à l’origine.
Courbe 3, on surévalue le périmètre et on a un décalage de 4 à l’origine.
Avec les trois méthodes on surestime le périmètre du cercle. La méthode d’ImageJ a la pente la
plus proche de 1 (y = 1,0537x) et le plus faible décalage à l’origine. Elle donne donc une
meilleure approximation du périmètre que les autres méthodes.
2.4.1.2 Séparations des composants
Chaque cellule est composée de deux structures anatomiques (lumen et paroi) qu’il convient de
différencier avant toute mesure : cette différentiation conditionne la nature des mesures
effectuées. Le lumen est plutôt caractérisé par sa surface, la paroi par son épaisseur (Guo et al.
2011). Par ailleurs, la définition de paramètres même apparemment simples n'est pas partagée :
l’épaisseur de la paroi en est une très bonne illustration, aucun consensus n’ayant été trouvé
auprès de la communauté des anatomistes du bois. Ce paramètre peut être exprimé de différentes
manières : une distribution de valeurs, la valeur moyenne ou médiane de ladite distribution, des
valeurs prises selon l’orientation de la file ou sa normale.
Pour notre part, les lumens et les parois sont identifiés par répartition des points de la cellule en
deux groupes selon leur intensité : d’une part les points clairs correspondant au lumen, et d’autre
part les points sombres correspondant à la paroi. La limite sombre / clair est automatiquement
évaluée par l'algorithme des 2-moyenne qui présente l’avantage d’être un bon compromis entre
efficacité et généricité. En l’absence de formalisation précise, nous avons choisi d’exprimer
l’épaisseur de la paroi non pas par une valeur mais par l’ensemble de toutes les épaisseurs
mesurables à partir de son contour externe. Cette distribution est calculée à partir d’une carte de
distances orientées. La façon dont elle sera utilisée est laissée à la convenance de l'utilisateur.
2.4.2 Fiabilité
Dans le cadre d’un traitement de masse il est intéressant de pouvoir qualifier l’exactitude de ces
évaluations. Un indice de certitude est donc attribué à chaque paramètre calculé, qu’il porte sur
les cellules, ses constituants ou leurs alignements.
Intuitivement, les mesures seront plus ou moins proches de la valeur réelle en fonction du cumul
des erreurs liées à la qualité de l’image, la configuration biologique, les approximations
algorithmiques,… Il est donc important de donner à chaque type de résultat une fiabilité estimée.60
2.4.2.1 Niveau global
Une file f doit être suffisamment longue pour être significative : sa longueur Lf est donc
comparée à un seuil L automatiquement obtenu à partir de la distribution des longueurs
calculées. De même, une file est normalement composée de cellules proches, en termes de forme,
de taille et d’aspect. Pour simplifier, ces trois critères sont ramenés à la seule hauteur des cellules
prises en tout point dans la direction normale à la file : cette simplification est une modélisation
de la conséquence du mécanisme de maturation des trachéides. Ce mécanisme n’est pas
transposable aux feuillus : mais dans la pratique, ce seul critère semble être suffisant pour
caractériser la variation continue observée au sein des files cellulaires des Angiospermes. En
conséquence, les hauteurs Hj et Hj+1 des cellules consécutives de la file f sont comparées. Le
coefficient de fiabilité Rf de la file f est donc définit par un produit de termes normalisés variant
entre 0 à 1.
( (
))∏(
| |
)
Plus le coefficient est proche de 1, plus la file f est dite fiable.
Le coefficient de fiabilité globale permet de caractériser les files, tant en termes d’expression
significative que de comportement géométrique : une « bonne » file est une file suffisamment
longue et dont la taille des cellules varie de manière graduelle. Ce coefficient permet de filtrer
directement les files (cf. figure 32). Les files ayant un bon coefficient sont représentées en vert,
celles ayant un mauvais coefficient en rouge. Les teintes rouges-orangées traduisent des
configurations présentant des coupures ou de fortes discontinuités. Cet estimateur est bien adapté
pour les résineux présentant des arrangements cellulaires très organisés et continus. Pour les
Angiospermes, ce coefficient permet de visualiser rapidement les éléments de vaisseaux et les
files adjacentes. Ces files sont intéressantes pour l'analyse des contraintes géométriques
endogènes des files causées par les vaisseaux.
Cliché de l'auteur
Figure 32. Le coefficient de fiabilité Rf
, permet un affichage intuitif de la fiabilité des files cellulaires : les
files qui sont moins fiables (discontinues ou hétérogènes) apparaissent dans des tons chauds (jaune à
rouge).
Cet indicateur est finalement une note très intégrative des files identifiées. Plus complets que les
indices de performance évoqués en première partie des résultats, ils sont également plus délicats 61
à expliquer : au-delà de la fiabilité de l’identification même de la file, ils reflètent sa qualité. Par
exemple, certains alignements, représentés en jaune sur l’image de droite, semblent
« visuellement corrects » alors que leur coefficient est plutôt mauvais : ce sont des variations de
surface trop fortes qui les pénalisent. Ainsi, la 3ème file orange en partant de la gauche parait
bonne, mais on peut voir de petits bassins introduits dans la file, ils sont issus d'une sursegmentation
due à un décollement de la paroi. Ils peuvent être filtrés pour des analyses
statistiques grâce aux coefficients des cellules.
2.4.2.2 Niveau des composants
Par analogie, un coefficient de fiabilité peut être défini pour toute mesure géométrique, à
condition de savoir à quels critères elle est sensible. Ainsi, contrairement à la surface des
cellules, la surface du lumen dépend du flou local de l’image. Cela provient des algorithmes
utilisés pour segmenter l’image ou les portions de l’image. Les cellules sont obtenues par
watershed : cette méthode n’est pas sensible au flou car même si l’étalement de l’histogramme
est réduit, la ligne de fusion des bassins est préservée tant que les minima locaux ne disparaissent
pas. Les minima locaux sont juste décalés sous l'effet du flou. Le lumen est, quant à lui obtenu
par l'algorithme des k-moyennes : les points de la cellule sont répartis en deux classes, la classe
des faibles intensités et la classe des fortes intensités. L’évaluation du seuil est laissée à
l’algorithme. Cette classification est sensible à la dynamique des intensités car la réduction de la
dynamique supprime les faibles différences, changeant ainsi la répartition des points dont
l’intensité est proche du seuil de segmentation. Le coefficient de fiabilité pour la surface des
lumens est donc directement lié au niveau de flou. Il est donc nécessaire de caractériser ce flou
pour estimer l’erreur commise sur la mesure des surfaces (ou de l’épaisseur) des éléments
constituant la cellule. Nous utilisons un indicateur de flou local introduit dans (Ladjal 2006) qui
reflète les deux propriétés suivantes. L’image est d’autant moins floue que la variation
d’intensité est rapide et, elle est d’autant plus floue que la variation totale d’intensité est grande.
La rapidité de variation des intensités est caractérisée par le maximum local de la norme du
gradient, et la variation totale dépend de l’amplitude locale de l’image. Le flou est défini par
l'expression suivante où p(x) représente l'intensité de pixel d'un bassin et p'(x) la variance.
| |
| |
La figure 33, illustre le comportement cohérent de l’estimateur de flou, calculé à partir de
cellules prises sur des images numériquement perturbées par un flou gaussien incrémental.62
Cliché de l'auteur
Figure 33. A gauche, relation entre un flou gaussien appliqué à une cellule et la valeur de l'estimateur de
flou local. L'estimateur de flou (en bleu) décrit bien l'augmentation du flou. Les croix en rouge
représentent la valeur de l'estimateur pour les cinq cellules de droite optiquement floutées. Elles sont
positionnées sur le graphe en fonction de leur variance. À droite, les cinq cellules avec en couleur la
correspondance de la valeur de l'estimateur. Les lumina les plus flous sont colorés dans les tons rouges,
les plus nets dans les tons verts.
Lorsque le coefficient est élevé, le flou est fort. Le coefficient de fiabilité de la surface du lumen
(ILS) est défini ci-dessous. Le seuil de Ts est défini par l'étude de la variation des lumina en
utilisant un flou gaussien simulé. Les surfaces supérieures au seuil ne sont donc pas
significatives.
{
Cet indicateur de flou permet de filtrer les résultats pour ne garder que les cellules les plus nettes.
Il est notamment utilisé dans la fonction d’appariement des cellules pour la création de
mosaïques d'images (Article IV, SCIA'13). A terme, il pourrait également fournir un facteur
correctif aux mesures évaluées sur les zones plus ou moins assujetties à un flou optique.
2.4.2.3 Niveau de l'élément
A chaque mesure, une étude des facteurs d'influence est effectuée. Par exemple la précision des
surfaces, du périmètre, de la circularité sont sensibles à la taille des objets mesurés. Nous
cherchons à mieux appréhender les variations de précision d’une mesure en fonction d’une taille.
La mesure retenue est la surface, a priori la moins sensible aux variations locales périphériques
des objets. L’objet d’étude est le cercle discret d’Andrès (Andres 1994) car il se rapproche le
plus de la forme d'une cellule théorique ; défini par une double inéquation diophantienne, il
présente les mêmes propriétés de symétrie que le cercle euclidien. Le rayon du cercle est
progressivement augmenté et les valeurs réelles sont comparées avec différentes méthodes de
calcul.
3
4
5
6
7
8
9
10
0,3 0,6 1 1,4 1,7 2,1 2,5 2,7
valeur de l'estimateur du flou
valeur du flou gaussien
Flou Numérique Flou Optique63
2.4.2.3.1 Le périmètre
La figure ci-dessous représente l’erreur relative de chaque méthode par rapport au périmètre réel.
Les méthodes 2 et 3 convergent vers un même palier à -0.1. Ce qui représente une erreur de 10%
par rapport à la valeur théorique. Le palier est atteint pour un rayon 20. La méthode des arêtes
tend vers un palier, avec une erreur de 30%. La méthode d’ImageJ donne les meilleurs résultats
et est optimisée. Seul problème, elle est sensible à la rotation. Elle peut varier d’une valeur de
√ . Pour avoir une erreur maximale de 1%, Il faut que le nombre de pixels soit de 60. Ce
qui représente un rayon de 10 pixels.
√
( √ )
NB : Les cellules ont en moyenne un rayon de 21,4 pixels. Les bassins avec des rayons faibles
correspondent souvent à des cellules d'insertions ou des erreurs de segmentation. Un filtrage sur
la taille des bassins peut donc permettre à l'utilisateur de supprimer ou d'identifier ces cas.64
2.4.2.3.2 La surface
L'étude a aussi été menée pour l'aire avec les cercles discrets et la méthode de comptage des
pixels disponible sous ImageJ. La figure ci-dessous montre l'évolution de la mesure par rapport à
la valeur théorique.
La taille des cellules varie de 500 à 4000 pixels. Par rapport à un cercle discret, on commet une
erreur d’environ 10%.
Le R² vaut 1, ce qui signifie les valeurs estimées sont fortement corrélées aux valeurs attendues.
On sous-évalue l’aire d’environ 9.8%. La méthode produit une erreur constante de 10%, pour des
cellules ayant une aire supérieure à 500 pixels, due un effet de discrétisation du cercle (marche
d'escalier). Pour des cellules avec une aire inférieure à 500 pixels, l’erreur devient importante.
y = 0,9812x - 33,315
R² = 1
0
1000
2000
3000
4000
5000
6000
7000
8000
0 2000 4000 6000 8000 10000
Aire théorique / IJ
theo
Linéaire (theo)65
2.4.2.3.3 La circularité
Nous avons vu que l'aire et le périmètre sont sensibles à la taille des objets calculés. Pour que la
circularité soit fiable, il faut que le périmètre de l'objet soit supérieur à 10 pixels. Les tests menés
sur la circularité confirment ce seuil. Par exemple, un cercle discret avec un rayon de 1 sera
représenté comme un carré ou une croix et sa circularité sera maximale du fait qu'on ne puisse
pas représenter mieux un cercle si petit. Les valeurs en dessous du seuil ne seront plus
significatives.
2.4.3 Conclusion sur la mise en œuvre de la fiabilité des mesures
L’étude statistique des mesures des éléments biologiques est indispensable pour l’étude des
tendances et des invariants, comme par exemple la mise en place des canaux résinifères ou des
vaisseaux. Pour réaliser ces études statistiques, il faut produire des résultats en très grandes
quantités. Produire en grande quantité nécessite de mettre en place des outils de contrôle qualité
afin d'assurer les résultats produits pour les études statistiques. Pour garantir la pertinence des
mesures, nous avons mis en place des indices de fiabilité basés sur les méthodes mises en œuvre
et sur la réalité biologique (longueur et continuité des files). L'indice est un produit de différents
termes normalisés. Ces termes sont la transcription d'un effet (facteur d'influence) sur la mesure :
le flou va être pondérateur de la mesure des composants cellulaires, tandis que la taille des
éléments va être un facteur de pondération de la mesure des cellules. Ces fonctions de fiabilité
combinent indépendamment différentes dimensions (ou échelles d’observation) : de la file aux
composants de la cellule. L'approche est générique, les termes peuvent être complétés/modifiés
en fonction des méthodes de mesure utilisées ou des propriétés des organisations à détecter. Ces
indices permettent ainsi de retenir les files les plus significatives ou de mettre en avant des
perturbations ou configurations biologiques particulières.
En utilisant trois dimensions (cellules, files, composants), l'étude a montré que les résultats
peuvent être qualifiés avant d'être filtrés par l'utilisateur. La méthode donne la distribution des
indices de fiabilité, mais ne fixe pas de seuil de caractérisation. Ce seuil est laissé à l'attention de
l'utilisateur. La mise en place de ces indices a été confrontée à l'expérimentation et la validation
sur des formes de référence (mesures réelles et théoriques). Les conclusions de ces
expérimentations ont permis l'extrapolation des fonctions de fiabilité pour l'étude des files
cellulaires.
Ces indices caractérisant les facteurs d'influence peuvent être utilisés pour proposer un correctif
sur les mesures. Une courbe d'étalonnage du flou pourrait être mise en place pour proposer un
coefficient de correction à appliquer à la valeur évaluée. Les indices de fiabilité permettraient
ainsi de définir la pertinence d'un résultat et aussi de proposer un correctif quand l'utilisateur le
souhaite.66
2.5 Typage cellulaire
Le typage cellulaire est l’ultime étape : il permet de classifier les différentes cellules (fibres,
trachéides, vaisseaux, rayons,…). Il est réalisé à partir de la caractérisation géométrique et
densitométrique des bassins versants associés aux sommets du graphe d’adjacence des cellules.
Contrairement aux travaux de (Kennel et al. 2010) et (Jones and Bischof 1996), la classification
supervisée a été écartée du fait de la difficulté avérée de constituer des jeux d’apprentissage
suffisamment complets et représentatifs de la variabilité biologique existante.
2.5.1 Description de la méthode
Un arbre de décision permettant de discriminer chaque structure anatomique a été établi avec les
anatomistes du bois à partir des deux hypothèses suivantes :
Le périmètre des cellules, noté P, permettant de différencier les « grosses » structures des
cellules globalement « petites ».
La circularité des cellules, noté C, permettant de différencier les rayons globalement
allongés des vaisseaux globalement circulaire.
Les seuils (S) utilisés dans l’arbre de décision (ci-dessus) sont automatiquement réévalués pour
chaque image par une classification des valeurs numériques produites réalisées par une
classification par 2-moyenne.
Un résultat du typage est présenté ci-dessous sur une image de Gymnosperme.67
Cliché de l'auteur
Figure 34. Typage automatique des cellules sur une coupe transversale d'acajou (Pycnanthus sp.). Les
vaisseaux sont colorés en vert, les fibres en bleu et les rayons en gris. Hormis le typage des cellules
hybrides (cf. §2.5.2), le typage avec des règles simple est bon.
Nous appelons "cellule hybride", des cellules en voie de spécialisation ou de transition, ne
répondant plus tout à fait aux critères classiques de fibres et pas tout à fait aux critères des
vaisseaux.
2.5.2 Etudes prospectives
Actuellement il n'y a pas de consensus des botanistes sur les critères réellement discriminants
pour typer les cellules hybrides. Les cellules en violet sont identifiées par tous comme étant des
vaisseaux. Après discussion la cellule jaune serait aussi un élément de vaisseau car la texture de
la paroi est plus diffuse (cf. figure 35, flèches en jaune). La cellule bleue devrait être pour les
mêmes raisons assimilée à un vaisseau bien que les experts la classent comme une fibre à cause
de sa taille.68
Cliché de l'auteur
Figure 35. Reconnaissance des vaisseaux chez une Angiosperme (acajou - Pycnanthus sp.). Les cellules
colorées en rose et en jaune sont des éléments de vaisseaux du fait de leur taille, alors que la cellule
colorée en bleue serait une fibre. La transition fibre – vaisseaux est difficile à apprécier : les cellules
prennent des critères géométriques qui ne sont ni totalement ceux des fibres, ni totalement ceux des
vaisseaux. La caractérisation porte sur d’autres critères, ici la granularité de la paroi.
Une étude prospective a été menée pour caractériser les types cellulaires à partir de leur valence
(cf. figure 36). La valence d'une cellule est définie par le nombre de cellules voisines qu'elle
possède. Théoriquement les fibres possèdent entre 4 et 6 voisins selon la position sur le cerne.
Tandis qu'un élément de vaisseau ou un rayon en possèdera beaucoup plus.
Cliché de l'auteur
Figure 36. A gauche, colorisation en fonction de la valence sur une coupe de sapin (Abies alba). Les
cellules sont colorées graduellement en fonction du nombre de voisin. En bleu les cellules avec une faible
valence, en vert les cellules avec une valence proche de la valeur théorique et en marron les cellules avec
une forte valence.69
Les tendances théoriques sont bien suivies. Des éléments perturbateurs (artéfacts de
segmentation, intrusions, ponctuations, etc.) peuvent faire augmenter le nombre de voisins d'une
cellule, mais les rayons et vaisseaux (facilement reconnaissables) sont bien discriminés. La
valence peut être utilisée pour identifier et supprimer les ponctuations, dont leur valence est
toujours de 2. Pour les typages complexes, la valence n'apporte pas d'information supplémentaire
permettant d'effectuer un choix. Seule l'étude de la texture des parois semble pouvoir à terme de
lever l'ambiguïté.
2.5.3 Conclusion sur la mise en œuvre du typage cellulaire
Le typage cellulaire consiste à classifier les cellules en trois catégories : les fibres, les rayons et
les vaisseaux (cf. §1.2.2). Il est souvent réalisé à partir d'au moins deux plans de coupes pour
trouver les indices permettant la classification. Nous proposons une méthode simple, basée sur
un arbre de décision expert, pour typer les cellules à partir d'un seul plan de coupe. Les
discussions avec les experts et les études prospectives montrent que le typage est un problème
très complexe sur un seul plan de coupe. Des pistes de travail ont malgré tout été identifiées,
comme par exemple l'ajout d'indices texturaux de paroi pour différencier les éléments. 7071
3 APPLICATION ET RESULTATS
3.1 Implémentation
La méthode a été implémentée en Java et intégrée sous forme de plugin à la plateforme ImageJ.
ImageJ (Schneider et al. 2012) est un logiciel multi-plateforme et open source de traitement et
d'analyse d'images développé par le National Institute of Health ; il peut être utilisé sur n'importe
quel ordinateur capable d'exécuter les plates-formes Java (Mac OS X, Linux x86 ou Microsoft
Windows), ce qui en fait un produit idéal à utiliser dans la plupart des laboratoires. Des
bibliothèques libres, tel que Java Universal Network/Graph Framework
(http://jung.sourceforge.net/doc/index.html) pour la gestion des graphes sont utilisées pour avoir
une structure de données efficace. A titre indicatif, le plugin permet de traiter des images de
1600x1200 pixels en moins de 20 secondes sur un ordinateur doté d’un processeur Intel Q720
cadencé à 1.6 GHz.
Cliché de l'auteur
Figure 37. Interface d'mageJ avec la fenêtre du plugin ouverte. Le plugin permet de choisir si l'on veut
traiter une mosaïque ou juste une image et de sauvegarder les étapes intermédiaires du traitement.72
3.2 Application aux files cellulaires
Les résultats obtenus au cours de la thèse sont présentés et discutés dans ce chapitre. Dans un
premier temps, nous présentons le jeu d'essai sur lequel la méthode a été testée pendant son
développement. Ensuite, nous montrons un exemple de détection automatique de file cellulaire.
Les limites de la méthode sont discutées et illustrées en troisième partie. Et pour finir, des études
(réduites) de performance de l'ensemble de la méthode et des perspectives à court terme sont
présentées.
3.2.1 Jeu d'essai
L’étude expérimentale consiste à comparer les résultats produits par notre méthode à ceux issus
d’un jeu de données expert constitué de 12 images (cf. figure 38) dont les cellules ont été
manuellement détourées par des anatomistes du bois. Les différentes expérimentations
permettent d’évaluer les limites de notre méthode notamment à travers des contextes
biologiques, des protocoles de préparations ou des conditions d’acquisition divers et variés. Les
expérimentations sont essentiellement motivées par des questions simples : notre méthode estelle
adaptée aux Angiospermes et aux Gymnospermes, sensible aux protocoles de préparation, à
la présence de flou optique, au niveau de luminosité, etc. ?7374
Clichés de l'UMR AMAP
Figure 38. Panel d'images du jeu d'essai. Les images proviennent de 5 espèces différentes d'arbres (cf.
§1.2.1) issues de différents protocoles de préparations. Pour plus d'information sur les essences et
protocoles d'acquisition par image, se référer à l'annexe 1.
3.2.2 Mise en œuvre de la détection automatique des files cellulaires
Nous avons choisi d'illustrer et détailler le résultat de toute la chaine de traitement sur une image.
Les résultats des images du jeu d'essai (ci-dessous) sont présentés en annexe. Les résultats sont
illustrés avec l'image de Sapin (Abies alba) colorée au bleu de toluidine et numérisée avec un
grossissement de x200. La figure 39 présente le résultat de la détection automatique des files (cf.
§2.2). Les files sont colorées aléatoirement. La figure 40 montre la colorisation des files en
fonction de leur score (cf. §2.4). Comme la fusion ne donne pas de représentation visuelle, pour
illustrer son principe et le résultat, nous avons découpé l'image en 4 sous-parties de taille et de
chevauchement inégaux (cf. figure 41 et 42). 75
Cliché de l'auteur
Figure 39. Résultat de la modélisation des files cellulaires. Chaque file est aléatoirement colorée. 88% des
files sont reconnues par la méthode avec un temps d'exécution de 10,4 sec.
Cliché de l'auteur
Figure 40. Résultat du processus de fiabilité des files (cf. §2.4.2.1). La colorisation des files cellulaires
est fonction de leur fiabilité. Les files qui sont moins fiables (discontinues ou hétérogènes) apparaissent
dans des tons chauds (jaune à marron).76
Cliché de l'auteur
Figure 41. Découpage de l'image en 4 sous-parties de taille et de chevauchement inégaux. La méthode de
fusion doit être indépendante de la dimension de l'image. Seul le chevauchement compte pour la fusion.
Les cellules du bord de l'image ne sont pas prises en compte pour la fusion, car elles sont tronquées et
donc erronées.
Cliché de l'auteur
Figure 42. Les quatre images sont traitées l'une à la suite de l'autre. Les zones noires de l'image sont les
portions de file qui n'ont pas de sommet en commun avec au moins une des images. Les cellules du bord
de l'image ne sont pas prises en compte pour la fusion car elles sont biaisées. Nous préconisons un
chevauchement minimal de 3 cellules pour s'assurer qu'au moins une cellule éloignée du bord soit en
commun.77
La méthode de reconnaissance automatique d'organisation permet la détection des files
cellulaires sur des mosaïques d'images numériques. La représentation des files permet d’une part
de contrôler visuellement leur parcours, et, d’autre part de choisir les plus pertinentes pour une
étude statistique. En moyenne 80% des files sont automatiquement reconnues. Les 20% de files
cellulaires non reconnues sont compensées par le nombre d'images que peut traiter la méthode.
La fusion des résultats permet de suivre les files sur l'ensemble du plan ligneux. L'intégration des
résultats dans un outil de visualisation et de correction des files, est un plus pour l'utilisateur.
3.2.3 Limites
La limite majeure à l’identification automatique des files est inhérente au contenu des images,
c'est-à-dire soit aux caractéristiques photométriques de l’image, soit aux configurations
biologiques. Les images présentant une dynamique d’intensités localement inversée - par
exemple la jonction bois d'hiver / bois d'été (figure 43, image du bas), restent difficile à traiter.
Notre méthode reposant sur le contraste de l'image, les bassins versants correspondant aux
cellules sont alors mal détectés et de ce fait, la détection des files est erronée et incomplète. De la
même manière, les images de rondelles de bois poncé (non colorées) sont traitées en réflexion :
la lumière ne traverse pas l’échantillon. De ce fait, les lumens apparaissent d’une couleur
quasiment semblable à celle des parois, en tout cas, pas suffisamment contrastée pour garantir
une bonne reconnaissance des bassins versants et par là-même une bonne identification des files.
A contrario, les coupes de bois non colorées traitées en transmission c’est-à-dire traversées par la
lumière, sont moins contrastées que les coupes colorées. Toutefois la différence paroi/lumen est
suffisamment prononcée pour permettre à l’algorithme d’identifier correctement les files.
Pour les organisations cellulaires complexes (cf. figure 43, image du haut), c’est-à-dire pour
lesquelles les alignements cellulaires ne sont pas intuitifs, de nouvelles règles des parcours et de
reconstruction devront être établies avec les biologistes.78
Cliché de l'auteur
Figure 43. En haut, frêne coloré à la safranine. La détection des cellules est bonne, la méthode ne produit
que des tronçons à cause de la complexité de l’organisation biologique. En bas, sapin coloré au bleu de
méthylène ; l’identification est biaisée par la présence d’inversion locale de contraste au niveau de la
jonction bois été/hiver.
3.2.4 Performances
A ce stade de notre travail, la performance globale de la méthode de traitement est
essentiellement une appréciation qualitative, i.e. une évaluation qui compare de manière assez
globale les résultats produits aux annotations expertes. Les temps « de traitement », le nombre de
cellules détectées et les pourcentages de files identifiées sont présentés au tableau 1. Le tableau
montre que la méthode automatique détecte un nombre cohérent de cellules en environ 80 à 100
fois moins de temps que l’expert en fonction des préparations, des configurations anatomiques
ou des grossissements utilisés et que globalement notre méthode fonctionne bien (88% de files
bien détectées en moyenne) sur des images présentant une organisation structurée avec un
contraste paroi/lumen marqué.
Tableau 1. Résumé de quelques résultats significatifs : la taille des images, le nombre de cellules
extraites, le temps CPU obtenu sur un ordinateur équipé d'un processeur Intel Xeon à 2,3 GHz et le
nombre de files détectées en pourcentage par rapport au nombre de files identifiées par l'expert. Pour
l'expertise, les cellules ont été détourées manuellement sur le logiciel ImageJ. Les résultats sont donnés
pour un représentant de chaque essence.
Espèce Taille
(pixels)
Nombre
cellule
(expert)
Temps
expert
(sec)
Nombre
cellules
(plugin)
Temps
plugin
(sec)
% de
files
détectées
Pycnanthus sp. 1024x768 1302 2520 1359 14,3 86
Abies sp. 1360x1024 787 1300 800 12,4 88
Pinus nigra 1600x1200 1794 2750 1873 23,2 92
Pinus
caribensis 1360x1024 819 1500 828 11,5 9179
Pinus brutia 1600x1200 1411 2450 1458 16,1 83
Quercus ilex 1600x1200 1623 3460 1724 16,2 62
L’appréciation de la performance est loin d’être triviale. Nous pourrions mettre en place un
indice de performance basé sur un rapport entre les effectifs des classes « vrai positif », « faux
positif » et « faux négatif » (Pavez et al. 2011). A l’échelle locale de la cellule, il s’agirait
d’évaluer le taux de recouvrement entre cellules annotées par l’expert et cellules segmentées par
l’application ; la classe « vrai positif » serait définie par l’intersection de la segmentation experte
avec la segmentation automatique, et représenterait les pixels de l’image communs aux deux
annotations ; les classes « vrai positif », « faux positif » (les pixels annotés par l’expert non
présents dans l’image segmentée par l’application) et « faux négatif » (les pixels de l’image
segmentée par l’application non annotés par l’expert) seraient définies par la réunion de la
segmentation experte avec la segmentation automatique ; le rapport des effectifs des deux
ensembles ainsi définis exprimerait une « performance » du recouvrement des annotations
expertes et algorithmiques. A l’échelle globale, il s’agirait d’évaluer le taux de similitude dans la
succession des cellules des files décrites par l’expert et celles identifiées par l’application. La
limite actuelle à la mise en place de ces indicateurs est finalement le manque de données expertes
car la segmentation manuelle est longue et fastidieuse, et souvent incomplète, i.e. l'image n'est
pas entièrement traitée.
3.3 Autres applications
De nombreuses questions n’ont pas pu être approfondies du fait du nombre restreint de jeux de
données cellulaires à disposition. Nous avons choisi de les aborder à travers des
expérimentations menées sur d’autres objets d’étude.
3.3.1 La robustesse de la méthode de segmentation
La méthode de segmentation a été développée pour traiter des images couleurs de cellule de bois.
Les images couleurs peuvent être vues comme des images multi-spectrales simples décrites par
la réponse de trois longueurs d’onde du spectre visible.
Mais qu’en est-il pour le traitement d’images composées de plus de trois longueurs d’onde prises
sur un spectre élargi ?
On s’intéresse à des images de champ de crevettes prise par satellite qui devraient être bien
adaptées à une segmentation par watershed car les champs peuvent être assimilés à des bassins
de type "cellule". L’idée est de segmenter les limites des champs pour dresser un plan cadastral.
Les images sont acquises à partir d'images multi-spectrales satellitaires en Inde. Les tests sont
menés sur une sous-partie (1720x1416 pixels) de l’image native pour accélérer les traitements80
(cf. figure 44). La taille est néanmoins suffisante pour vérifier les points clés dans la méthode de
traitement et la méthode de comparaison mise en place.
Clichés de l'UMR AMAP
Figure 44. Segmentation automatique d'une image satellitaire de champs de crevettes. A gauche, l'image
native, la rivière au centre de l'image a déjà été filtrée par l'opérateur. A droite, le résultat de la
segmentation en surimpression. Certain champ sont bien segmentés, mais on observe une sursegmentation
assez importante pour les zones texturées.
Plusieurs auteurs proposent des stratégies différentes pour traiter de telles images : l’une d’entre
elles consiste à segmenter séparément chaque canal puis à fusionner le résultat de la
segmentation (Frontera-Pons et al. 2013). Une autre consiste au contraire à combiner au mieux
par ACP les différents canaux et ne travailler que sur les premières composantes obtenues
(Tarabalka et al. 2010).
Du fait du nombre peu élevé de bandes spectrales dont nous disposons, nous avons opté pour des
combinaisons idoines de certains canaux (cf. ci-dessous), classiquement utilisées en
télédétection.81
Clichés de l'UMR AMAP
Figure 45. En haut à gauche, recomposition avec les canaux [Red, Green, Blue]. En haut à gauche,
recomposition [Red, Nir, Pan]. En bas, recomposition [Red, Nir]. Le canal Nir correspond au proche
infrarouge (Near infrared), sa longueur d'onde est comprise entre 0,78 et 3 µm. Le canal Pan correspond
au Panchromatique qui ne discrimine pas les couleurs, c'est-à-dire dont la sensibilité à la longueur d'onde
de la lumière est similaire à celle de la vision humaine.
Les images sont traitées par le processus de segmentation mis au point pour l’identification des
files cellulaires (voir §2.1.2).82
Clichés de l'auteur
Figure 46. Lignes de crête respectivement obtenues à partir des images RGB (en haut à gauche),
RedNirPan (en haut à droite) & RedNir (en bas à gauche). Quelques différences sont observables mais
globalement, le résultat est largement sur-segmenté par rapport à l'image de référence (en bas à droite)
Les images de watershed sont sur-segmentées du fait des textures des structures étudiées (cf. cidessus).
Les champs de crevettes non entretenues sont progressivement recolonisés par la
mangrove et donc envahis par un couvert végétal.
Ce cas illustre :
La difficulté à réduire la texture par filtrage préalable à la phase de segmentation ou par
homogénéisation des zones (quantification de couleur, meanshift…). En clair, il est
difficile de filtrer les minima locaux de l’image.
La nécessité de bien traiter la réduction de la sur-segmentation : a priori, la solution serait
plutôt d’approfondir des méthodes de fusion de bassins adjacents homogènes. Le
watershed est globalement un bon algorithme à condition de pouvoir bien préparer 83
l’image, c'est-à-dire bien réduire le bruit, l’effet texture,… De ce fait, il ne peut seul
conduire à un résultat satisfaisant dans la majorité des cas.
3.3.2 Evaluation quantitative de la segmentation
Les images de cellules ne nous pas permis d’évaluer la précision de la segmentation du
Watershed. Les lignes de crête se positionnent relativement bien par rapport à l’espace
intercellulaire et l’algorithme est indépendant du flou local. Mais en l’absence de segmentation
de référence, il nous a été impossible de quantifier l’erreur de segmentation. Là encore, les
champs de crevettes ont pu être utilisés pour mener ce type d’expérimentation : il existe en effet
des jeux d’images annotés qui définissent les cadastres actuels de référence.
La comparaison d’images segmentées ou labellisées est en soi assez complexe. De nombreuses
approches sont présentées dans la littérature (McCune et al. 2002) et ont été discutées lors de
réunions avec des télédétecteurs :
Indice de Kappa (de Cohen) qui exprime la réduction proportionnelle de l'erreur obtenue
par une classification, comparée à l'erreur obtenue par une classification complètement au
hasard. Un Kappa de 0,75 signifie que 75% des bonnes classifications ne sont pas due au
hasard.
Indice de Jaccard qui indique le recouvrement de deux régions : il est définit par le
rapport entre l’intersection et la réunion des deux surfaces à comparer.
Indice de Dice qui exprime la similarité entre deux échantillons. Il se défini comme le
double de l'intersection de deux lots (échantillons de valeurs), divisé par l'union de ces
deux lots.
Indices de sensibilité et de spécificité, initialement développés pour les analyses
médicales basées sur les comparaisons des classes «vrais positifs», «faux positifs», «faux
négatifs» et «vrais négatifs», pour déterminer la validité de tests diagnostiques
quantitatifs. La sensibilité d’un signe pour une maladie est la probabilité que le signe soit
présent si le sujet est atteint de la maladie considérée. La spécificité d’un signe pour une
maladie est la probabilité que le signe soit absent si le sujet n’est pas atteint de la maladie.
Indices de précision et de rappel développés pour la fouille de données ou les systèmes
de recherche documentaire. Le rappel est défini par le nombre de documents pertinents
retrouvés au regard du nombre de documents pertinents que possède la base de données.
La précision est le nombre de documents pertinents retrouvés rapporté au nombre de
documents total proposé par le moteur de recherche pour une requête donnée. Ces
indices, souvent opposés aux précédents, peuvent également se transposer à la
comparaison de deux échantillons par l’étude des effectifs des classes «vrais positifs»,
«faux positifs», etc.84
Pour notre étude nous avons choisi de travailler avec les indices de précision et de rappel.
Comparer deux contours implique de se donner une marge de tolérance : on compare deux
contours à x pixels près. Cette marge de tolérance est décrite par la surface obtenue par dilations
successives d’une des lignes de crête. A gauche, le dilaté des lignes de référence (cf. figure cidessous),
à droite le dilaté des lignes du watershed (obtenu dans les 2 cas par 3 dilatations
successives).
Clichés de l'auteur
Figure 47. Dilatation des lignes de crête de l'image de référence (à gauche) et des lignes du watershed (à
droite).
On note L les lignes de crête du watershed, R les lignes de référence, LD(x) la surface obtenue par
x dilatation de L, et RD(x) la surface obtenues par x dilatations successives de R
Les « vrais positifs » sont les points identifiés comme limite par le watershed et dans l’image de
référence.
Les « faux positifs » sont points identifiés comme limites par le watershed mais pas dans l’image
de référence
|
̅̅̅̅̅̅̅ Où « | » est la différence ensembliste et « - » est le complémentaire
Les « faux négatifs » sont les points non retenus par le watershed mais identifiés comme limites
dans l’image de référence.
̅̅̅̅̅̅̅ 85
Obtenir les effectifs des classes consiste à dénombrer les points noirs dans les images
précédentes. Les indices de précision et de rappel sont définis comme suit :
Ce qui donne les résultats suivants :
Images VP3 FP3 FN3 précision rappel
RGB 62618 158989 30610 0,28256328 0,67166516
RNirPan 84249 170182 13437 0,33112710 0,86244702
RNir 79207 160982 65303 0,32976947 0,54810740
Les indices varient entre 0 et 1, 0 quand la comparaison est mauvaise et 1 quand elle est bonne.
Les résultats produits ne sont pas satisfaisants, car :
le "nettoyage expert" supprime une partie des lignes ne faisant pas partie des champs de
crevette, alors que l'algorithme prend en compte toute l'image.
les indices sont établis pour comparer des images de même granularité : il est nécessaire
de développer des indices idoines permettant de prendre en considération les zones sursegmentées
ou les zones sous-segmentées, i.e. comparer un bassin de l’image de
références avec la somme de n bassins de l’image calculée (et inversement).
3.3.3 Intérêt des approches multi-échelles pour maitriser la sur-segmentation du
watershed
La conclusion du §2.1 insiste sur la nécessité de mettre en œuvre des méthodes permettant de
maitriser voire de supprimer la sur-segmentation du watershed. Nous y avons parlé
essentiellement des méthodes de filtrage des minima locaux a priori ou de fusion de bassins
similaires a posteriori. Ici nous mettons à profit le jeu d’essai multi-spectral pour aborder le
problème sous l’angle du filtrage multi-échelles : du fait, de leur forte sur-segmentation, les
images de champs de crevettes se prêtent mieux que les images des cellules à ce type
d’expérimentation.
Des tests ont étés menés en utilisant une pyramide de gaussiennes pour filtrer progressivement
les minima locaux de l’image et identifier les lignes de crête invariantes au lissage (figure 48).
Les bassins qui disparaissent entre deux niveaux consécutifs de la pyramide de lissages sont
ignorés ; leur germe (minimum local) est considéré comme du bruit. 86
Clichés de l'auteur
Figure 48. Variation arbitraire (0, 3, 6 et 10) de la valeur du flou minimal lors du DoG, avant l'application
du watershed sur l’image RedNirPan
Les lignes de crête sont sensiblement modifiées à chaque filtrage (figure ci-dessus), les germes
de l’algorithme n’étant pas identiques : l’idée de ce filtrage « multi-échelle » consiste à ne
conserver que les lignes qui apparaissent à tous les niveaux de filtrage. Les différents résultats
sont fusionnés en ne gardant que les points de poids les plus élevés c'est-à-dire communs à
plusieurs images (cf. figure 49).87
Clichés de l'auteur
Figure 49. A gauche, chaque watershed est tracé dans une couleur primaire : les points communs aux
quatre watershed apparaissent en blanc. A droite, la subdivision blanche correspondant aux arêtes
communes aux quatre watershed notée par le symbole ∩.
Images VP FP FN précision rappel
∩RNirPan (3) 51674 71056 35031 0,42103805 0,59597486
∩RNirPan (5) 69289 53441 20060 0,56456449 0,77548713
La segmentation avec l'application multi-échelles empirique améliore les résultats. Il est difficile
de juger de la pertinence de l'indice car la sur-segmentation est principalement dans des zones
« hors bassin » et des limites légèrement décentrées. Toutefois, le tableau semble montrer des
meilleurs résultats quand on augmente le nombre de niveaux de la pyramide de flou. Une telle
méthode serait donc à approfondir pour contrôler la segmentation, à condition de savoir maîtriser
le niveau (nombre) et le pas (valeur) de flou à appliquer.
3.3.4 Généricité de la méthode pour la détection de cellules
La méthode de segmentation a été développée pour identifier des cellules végétales à partir
d'images acquises au microscope. Mais qu’en est-il pour la détection d'autres types de cellules ?
On s’intéresse à des images de cellules de muscle de souris qui devraient être bien adaptées à une
segmentation par watershed car elles sont séparées par un espace intercellulaire rappelant la
paroi des cellules végétales. L’idée est de segmenter le contour des cellules pour les mesurer
automatiquement.8889
Clichés de Melissa Bowerman (2013)
Figure 50. Image native de cellule de muscle et image de la segmentation automatique en surimpression.
Les cellules sont pour la plus part individualisées. On observe des phénomènes de sur- et soussegmentation.
La segmentation des cellules semble satisfaisante (figure 50). 88% des cellules sont correctement
segmentées, si on exclut les bassins présents sur le fond de l'image. On observe des soussegmentations
sur certaines cellules, car le contraste de la limite intercellulaire est trop faible, le
minima local sera commun pour les cellules.
La méthode peut segmenter des images cellulaires autres que végétales, si le contenu de l'image
possède les mêmes caractéristiques photométriques, i.e. globalement deux couleurs dont une
représente les objets structurants (ici les cellules).
3.4 Utilisation dans un questionnement biologique
Nous allons nous intéresser à une étude sur les files cellulaires réalisées dans l'UMR AMAP et
aux apports que pourrait apporter l'automatisation du traitement des files cellulaires dans ce
contexte.
3.4.1 Contexte d'étude
La croissance d’une plante se décompose en une succession dans le temps d’évènements
biologiques tels l’allongement des tiges, la mise en place des feuilles, la floraison ou encore la
fructification. La phénologie des plantes représente l’étude du déroulement et de la durée de ces
évènements. Elle est connue pour être, en plus des facteurs endogènes, modulée par
l’environnement et le climat, qui en contexte méditerranéen impose à la végétation des
conditions de croissance particulières rythmées par l’alternance de deux phases de dormance et
de deux phases de végétation. Dans ce contexte d'étude nous avons choisi de travailler sur la 90
réactivation cambiale et dynamique de la xylogenèse en fonction de l’architecture chez Pinus
brutia. C'est-à-dire sur l'étude des files cellulaires à partir de l'assise cambiale.
3.4.2 Méthodologie
Les prélèvements sont issus d'un micro-carottage, pris au milieu d'une unité de croissance. Ils
sont ensuite préparés en suivant un protocole de coupe histologique et mis sous lame et lamelle.
La numérisation de chacun des prélèvements est faite à l’aide d’un microscope Leica muni d’une
platine, d’une caméra. Pour chaque prélèvement, des photos du cambium et du cerne en cours de
formation sont prises, afin de déterminer les vitesses de croissance (nombre de cellules en
fonction du temps). Pour chacune des phases de croissance, le nombre de cellules dans chaque
zone est compté manuellement dans 10 files cellulaires à l’aide du logiciel de traitement
d’images ImageJ.
Illustration de Charlène Arnaud (UMR AMAP)
Figure 51. Utilisation d'ImageJ pour le comptage manuelle des cellules de file cellulaire. Pendant la
première phase de maturation des cellules, on peut voir que l'arrangement des files cellulaires n'est pas
rectiligne.
Le comptage de cellules pour 10 files cellulaires sur un cerne prend environ 10 minutes hors
préparation. Pour l'étude, il y a 11 prélèvements par arbre, sur une dizaine de représentants.
3.4.3 Automatisation des processus
Pour répondre aux remarques des rapporteurs, nous avons commencé à traiter des images ayant
été annotées pendant l'étude. Seuls des résultats préliminaires et expérimentaux sont présentés
lors de la soutenance orale. Nous avons testé l'intégralité de notre méthode d’identification 91
automatique des files cellulaires sur des portions de bande d'image car nous n'avons plus à
disposition les images non fusionnées.
Cliché de l'auteur
Figure 52. En haut, comptage manuelle des cellules de 5 files sur une coupe transversale de Pin. En bas,
identification et caractérisation automatiques des files cellulaires. Le code couleur correspond de l'indice
de fiabilité. On peut voir par superposition le détourage automatique des cellules.
Le traitement d'une bande image par la méthode automatique est inférieur à 10 secondes sur une
machine standard (Processus double cœur Intel ® Xeon ® 2.27 GHz avec 6 Go de RAM). La
totalité de l'image est traitée. Seules les cellules du bord de l'image ne sont pas prises en compte 92
car elles sont tronquées. Contrairement à l'approche manuelle, la méthode va, en plus du
comptage des cellules par file, produire d'autres types de résultats (surface, circularité, épaisseur
de la paroi, etc.) et donner des indices des fiabilités pour caractériser et/ou filtrer les files et les
résultats.
3.4.4 Conclusion sur l'automatisation dans le cadre d'un questionnement biologique
La méthode que nous proposons annote une image six fois plus rapidement que l’expert et
permet un traitement complet de l'image. Plus que le gain de temps, la méthode va permettre
d'accéder automatiquement à d'autres types de mesure permettant l'ouverture à de nouveaux
questionnements scientifiques. L’étude sur le Pin aurait pu aborder la “Dynamique de la
différenciation et de la maturation cambiale chez Pinus brutia. Quelles contraintes endogènes ?”.9394
4 CONTRIBUTIONS ET PERSPECTIVES
Ce travail traite de la difficulté de mise en place des processus de mesures automatiques de
données biologiques à partir d’images numériques dans un cadre d’approches statistiques. Les
questions qui m’ont motivé portent sur :
l’incidence des choix méthodologiques sur la stabilité des résultats, i.e. comment les
incertitudes des différentes briques d’un processus complexe peuvent ou ne peuvent pas
se compenser,
l’étude de la validation des mesures produites, i.e. quels outils ou approches peuvent être
développés pour « garantir » l’exactitude des mesures réalisées,
la généricité réelle des méthodes et modèles appliquées à la biologie végétale, i.e. à partir
de quand une méthode doit être spécialisée pour produire des résultats utilisables par des
botanistes ou des anatomistes,…
Autant de questions « philosophiques » qui ont conditionné l’approche et la réalisation de mon
travail. L’approche et la réflexion se veulent volontairement détachées, pas vraiment théoriques
mais plutôt abordées dans l’absolu, en dehors de tout contexte applicatif… L’idée est bien de se
détacher du cadre d’étude pour être le plus générique possible. Bien évidemment, une fois
formalisés, concepts et méthodes sont ensuite spécialisés, i.e. adaptés à l’identification des files
cellulaires dans des mosaïques d’images, voire plus quand le temps l’a permis.
Répondre à ces questions nécessitent d’adopter une approche hybride consistant à plaquer sur
une approche classique un regard ou un questionnement plus large que nécessaire, plus critique,
peut-être plus profond…
L’objectif de ce travail était le développement de procédures de détection automatique
d'organisations cellulaires à partir de mosaïques d'images microscopiques de bois. L'étude des
tendances biologiques le long des files est en effet nécessaire pour comprendre la mise en place
des différentes organisations et maturations de cellule. Elle ne peut être conduite qu'à partir d'une
grande zone d'observation du plan ligneux. La méthode de préparation des échantillons
biologiques et la mise au point d'algorithmes devaient permettre d’acquérir une description
(organisation, distribution et dimension) des objets étudiés en des temps raisonnables, à des fins
d’analyses statistiques. La méthode s’applique aussi bien sur le clade des Gymnospermes que sur
celui des Angiospermes. Les acquisitions de coupes histologiques colorées de bois ou de plan
ligneux poncé peuvent être traitées par la méthode.
Le premier apport de ce travail est la mise au point d'une chaine de préparation des échantillons
permettant l'acquisition de mosaïque d'images. Les principaux résultats obtenus sont les suivants.95
1. La définition d'un protocole de préparation de rondelles de bois poncées adapté à l’étude
de grandes zones, qui présente l’avantage d’être économe en temps et sans biais de
découpe physique (a contrario de la coupe histologique) pour la construction d'une
mosaïque.
2. Un protocole pour traiter des images produites à partir de coupes histologiques. Cette
méthode permet d'obtenir un meilleur contraste entre les structures biologiques
(lumen/paroi) par la coloration des échantillons.
3. La définition d'un protocole de large numérisation des échantillons, permettant, grâce à
une succession d’images, de former une mosaïque couvrant la zone d’observation.
Un apport de la thèse est la définition d'un processus générique de détection automatique
d'organisations, que l'on a appliqué au cas des files cellulaires. Les principaux résultats obtenus
sont :
1. La mise en place d'une chaine de traitement pour la segmentation et l'individualisation
des cellules de chaque image à partir d’un algorithme de ligne de partage des eaux par
inondation. L'image est tout d'abord nettoyée à l'aide de filtres standards puis un
opérateur multi-échelles permet de rehausser le contraste entre les structures avant la
segmentation. Les cellules sont détourées au niveau de la lamelle moyenne. L'erreur
commise sur la mesure de surface des bassins est faible (en moyenne de 2,81% par
rapport à une segmentation manuelle experte). Ce pourcentage est du même ordre que
l'écart d'inter-variabilité expert. Elle est principalement due à la résolution de l'image qui
ne permet pas de savoir, au pixel près, où se trouve la ligne de crête. Mais, à l'inverse des
approches expertes, notre méthode est répétable. Les déformations optiques et de planéité
génèrent souvent dans les images des flous périphériques. Notre méthode est insensible
au flou de l'image, car elle se base sur des minima locaux stables au flou. Au terme de la
segmentation, les cellules peuvent être mesurées sans spatialisation.
2. La définition d'un graphe d'adjacence des cellules qui décrit les relations de voisinage
intercellulaires. Chaque arête du graphe relie les centres géométriques de deux bassins
voisins, i.e. incidents à une même ligne de crête.
3. La détection d'organisations dans le graphe à l'aide de règles de voisinage prenant la
forme de fonction à minimiser. Pour les files cellulaires, nous exploitons une règle
géométrique (fonction de linéarité) et une règle morphologique (fonction de similarité).
Les alignements sont construits l’un après l’autre, par agrégations successives de
sommets pris dans des voisinages progressivement élargis. En moyenne 80% des files
d'une image sont détectées, même avec des déformations biologiques telles que la
présence des vaisseaux. Ces déformations peuvent entrainer des coupures au sein de files
formant ainsi des tronçons fragmentés. Une méthode basée sur des règles topologiques
d’encadrement entre files permet de concaténer les tronçons appartenant à une même file. 96
Pour ne pas créer de faux positifs seuls les cas simples sont automatiquement traités, les
autres étant laissés à l’appréciation de l’utilisateur.
4. La mise en place d'une fonction de fusion des données permettant de suivre les files
cellulaires sur l'ensemble du plan ligneux. L’agrégation des files d’images consécutives
dans la mosaïque est réalisée par fusion de graphes à partir d’un noyau de fusion, c’est-à-
dire à partir d’un ensemble de couples de nœuds à fusionner. Cet ensemble est obtenu à
partir d'une fonction définie par un produit de termes génériques normalisés devant être
spécialisés. Pour les files cellulaires, seuls les aspects géométriques – position et taille –
sont nécessaires pour identifier les cellules candidates à la fusion. La fusion des graphes
est facilitée par à la connaissance du déplacement de la platine permettant de générer les
images constituant la mosaïque.
5. La définition d'indices de fiabilité permettant de caractériser la pertinence des mesures
produites au niveau des files, des cellules ou des composants cellulaires. Ces indices sont
des produits de différents termes normalisés. Chaque terme est une transcription d'un
facteur d'influence sur la mesure. Ces indices permettent ainsi de sélectionner les files les
plus significatives ou de mettre en avant des perturbations ou configurations biologiques
particulières. En pratique, la relative faiblesse potentielle du nombre de files utilisables
est compensée par la quantité d’images que l’on peut traiter.
Les méthodes développées dans la thèse permettent l’acquisition et le traitement rapide d’un
volume important de données. Ces données devraient permettre de conduire de nombreuses
investigations : des analyses architecturales des arbres avec le suivi de file cellulaire et/ou la
détection d'évènements biologiques remarquables ; des analyses de variabilité intra- et interarbres
pourront être lancées pour mieux comprendre la croissance endogène des arbres.
Pour des échantillonnages futurs, il serait intéressant de prévoir du matériel supplémentaire pour
éprouver la méthode à d'autres images issues de rondelles poncées. Nous avions à notre
disposition pour le jeu d'essai principalement des essences de Gymnospermes et assez peu
d'Angiospermes. Pour connaitre/évaluer les limites de la méthode, il serait nécessaire,
maintenant, de tester la méthode sur un large panel d'essences.
La thèse étant orientée vers la conduite ultérieure d’analyses scientifiques plutôt que vers
l’application industrielle, la priorité a été mise sur la robustesse et la précision des algorithmes.
Pour une utilisation en industrie, une optimisation des algorithmes pourra encore augmenter la
vitesse des traitements.
A court terme, plusieurs points abordés dans cette étude gagneraient à des développements
complémentaires :
L'étude du paramétrage des filtres pour le traitement d'images issues de bois poncé. Les
images des deux protocoles ayant des signatures différentes, il ne serait pas étonnant de
devoir créer deux jeux de paramètres à appliquer en fonction du protocole. Une 97
information complémentaire devra donc être rajoutée sur l'interface du plugin pour que
l'utilisateur puisse indiquer la nature de préparation de ses échantillons.
L'approfondissement des méthodes de segmentation des objets structurants. Comme nous
l'avons vu au §2.1.3, des variantes du watershed devraient permettre une meilleure
initialisation des germes de départ et une fusion plus appropriée des bassins
surnuméraires basées non plus sur les arêtes mais sur des informations portés par les
bassins (taille, texture, etc.). De telles méthodes rendraient les détections plus robustes et
devraient pouvoir couvrir une plus grande variabilité d'images.
L'implémentation de nouvelle méthode de modélisation des files présentée en fin du
§2.2.3 puis sa comparaison avec la méthode actuelle. La nouvelle méthode devrait
accélérer la détection des files et réduire le nombre des étapes. De par le fonctionnement
de cette dernière, les tronçons de file devraient être automatiquement raccordés dès leur
création.
Compléter et valider les indices de fiabilités présentés au §2.4.2.
A plus long terme, il s’agira d’étendre l’analyse à d’autres caractéristiques. Comme nous l'avons
vu au §2.2.1, les végétaux possèdent d'autres types d'alignements dans des tissus (spiral, cercle,
etc.). Théoriquement la méthode doit pouvoir traiter ces arrangements car nous l'avons pensé et
implémentée pour qu'elle permette la spécialisation (générique), c'est-à-dire qu'on puisse injecter
des connaissances expertes pour traiter différentes caractéristiques. Une étude devrait être menée
pour compléter le typage biologique. Cette partie, de par sa difficulté apparente, n'a été que peu
abordée. Il faudrait pouvoir à long terme rendre ces développements aussi fiables (à l’image des
indices de fiabilité sur les files) et pouvoir définir des indices de pertinence pour l'ensemble des
différents types biologiques.9899100
5 REFERENCES BIBLIOGRAPHIQUES
Andres E. 1994. Discrete circles, rings and spheres. Computer & Graphics 18: 695–706.
Baggett D, Nakaya M, McAuliffe M, Yamaguchi TP, Lockett S. 2005. Whole cell
segmentation in solid tissue sections. Cytometry. Part A: The Journal of the International Society
for Analytical Cytology 67: 137–143.
Bancroft JD, Gamble M. 2002. Theory and practice of histological techniques. London; New
York: Churchill Livingstone.
Barghout L, Lawrence WL. 2003. Perceptual information processing system. : 543.
Barthélémy D, Caraglio Y. 2007. Plant Architecture: A Dynamic, Multilevel and
Comprehensive Approach to Plant Form, Structure and Ontogeny. Annals of Botany 99: 375–
407.
Bay H, Tuytelaars T, Gool LV. 2006. SURF: Speeded Up Robust Features. Proceedings of the
ninth European Conference on Computer Vision.
Beucher S. 2012. Towards a unification of waterfalls, standard and P algorithms. CMM/Mines
Paristech publication.
Beucher S, Marcotegui B. 2009. P algorithm, a dramatic enhancement of the waterfall
transformation.
Bray JR, Curtis JT. 1957. An Ordination of the Upland Forest Communities of Southern
Wisconsin. Ecological Monographs 27: 325.
Breiman L, Friedman J, Stone CJ, Olshen RA. 1984. Classification and Regression Trees.
Chapman and Hall/CRC.
Brown M, Lowe DG. 2007. Automatic Panoramic Image Stitching using Invariant Features.
International Journal of Computer Vision 74: 59–73.
Busin L, Shi J, Vandenbroucke N, Macaire L. 2009. Color space selection for color image
segmentation by spectral clustering. 2009 IEEE International Conference on Signal and Image
Processing Applications (ICSIPA).262–267.
Canny J. 1986. A computational approach to edge detection. IEEE Transactions on Pattern
Analysis and Machine Intelligence.
Clair B, Gril J, Di Renzo F, Yamamoto H, Quignard F. 2007. Characterization of a Gel in the
Cell Wall To Elucidate the Paradoxical Shrinkage of Tension Wood. Biomacromolecules 9: 494–
498.101
Clienti C, Beucher S. 2010. Architectures flot de données dédiées au traitement d’images par
Morphologie Mathématique.
Cormen TH, Cazin X, Kocher G-L. 2001. Introduction to Algorithms. MIT Press.
Damiand G, Resch P. 2003. Split-and-merge algorithms defined on topological maps for 3D
image segmentation. Graphical Models 65: 149–167.
Davies ER. 2005. Machine vision: theory, algorithms, practicalities. Amsterdam ; Boston:
Elsevier.
Duda RO. 2001. Pattern classification. New York: Wiley.
Dunn JC. 1973. A Fuzzy Relative of the ISODATA Process and Its Use in Detecting Compact
Well-Separated Clusters. Journal of Cybernetics 3: 32–57.
Einevoll GT, Plesser HE. 2005. Response of the difference-of-Gaussians model to circular
drifting-grating patches. Visual Neuroscience 22: 437–446.
Fourcaud T, Zhang X, Stokes A, Lambers H, Körner C. 2008. Plant Growth Modelling and
Applications: The Increasing Importance of Plant Architecture in Growth Models. 101: 1053–
1063.
Frontera-Pons J, Ovarlez J-P, Pascal F, Chanussot J. 2013. Performance Analysis of Robust
Detectors for Hyperspectral Imaging. Proceedings of the IEEE International Geoscience and
Remote Sensing Symposium. Melbourne, Australie, 1–4.
Gindl W. 2001. Cell-wall lignin content related to tracheid dimensions in drought-sensitive
austrian pine (pinus nigra). Iawa Journal 22: 113–120.
Guo Y, Fourcaud T, Jaeger M, Zhang X, Li B. 2011. Plant growth and architectural modelling
and its applications. Annals of Botany 107: 723–727.
Heinrich L. 2007. Reaction wood varieties caused by different experimental treatments. TRACE,
Tree Rings in Archaeology, Climatology and Ecology 5: 224–232.
Hitz OM, Gärtner H, Heinrich I, Monbaron M. 2008. Wood anatomical changes in roots of
European ash (Fraxinus excelsior L.) after exposure. Dendrochronologia 25: 145–152.
Igathinathane C, Pordesimo LO, Columbus EP, Batchelor WD, Methuku SR. 2008. Shape
identification and particles size distribution from basic shape parameters using ImageJ.
Computers and Electronics in Agriculture 63: 168–182.
Igathinathane C, Prakash VSS, Padma U, Babu GR, Womac AR. 2006. Interactive computer
software development for leaf area measurement. Computers and Electronics in Agriculture 51:
1–16.102
Inglada J, Christophe E. 2009. The Orfeo Toolbox remote sensing image processing software.
Geoscience and Remote Sensing Symposium,2009 IEEE International,IGARSS 2009.IV–733–
IV–736.
Jeacocke MB, Lovell BC. 1994. A multi-resolution algorithm for cytological image
segmentation. Proceedings of the 1994 Second Australian and New Zealand Conference on
Intelligent Information Systems,1994. IEEE, 322–326.
Jones R, Bischof L. 1996. A graph–based segmentation of wood micrographs. In: Billard L,
Fisher NI, eds. Computing Science and Statistics, 28. Sydney: Interface Foundation of North
America, 12–20.
Kennel P, Subsol G, Guéroult M, Borianne P. 2010. Automatic identification of cell files in
light microscopic images of conifer wood. 2010 2nd International Conference on Image
Processing Theory Tools and Applications (IPTA). IEEE, 98–103.
Krause C, Rossi S, Thibeault-Martel M, Plourde P-Y. 2010. Relationships of climate and cell
features in stems and roots of black spruce and balsam fir. Annals of Forest Science 67: 402–402.
Lachaud S, Catesson A-M, Bonnemain J-L. 1999. Structure and functions of the vascular
cambium. Comptes Rendus de l’Académie des Sciences - Series III - Sciences de la Vie 322:
633–650.
Ladjal S. 2006. Estimation du flou dans les images naturelles. RFIA, .
Lowe DG. 2004. Distinctive Image Features from Scale-Invariant Keypoints. International
Journal of Computer Vision 60: 91–110.
Mandelbrot BB. 1983. The Fractal Geometry of Nature. Henry Holt and Company.
Marcuzzo M, Quelhas P, Campilho A, Mendonça AM, Campilho A. 2009. Automated
Arabidopsis plant root cell segmentation based on SVM classification and region merging.
Computers in Biology and Medicine 39: 785–793.
McCune B, Grace JB, Urban DL. 2002. Analysis of ecological communities. Gleneden Beach,
OR: MjM Software Design.
Mcinerney T, Terzopoulos D. 1999. T-Snakes: Topology Adaptive Snakes. MEDICAL IMAGE
ANALYSIS 4: 840–845.
Moëll MK, Donaldson LA. 2001. Comparison of segmentation method for digital image
analysis of confocal microscope images to measaure tracheid cell dimensions. IAWA Journal.
Vol. 22(3): 267–288.
Najman L, Schmitt M. 1994. Watershed of a continuous function. Signal Processing 38: 99–
112.103
Nicolini E, CARAGLIO Y, PÉLISSIER R, LEROY C, ROGGY J. 2003. Epicormic
Branches: a Growth Indicator for the Tropical Forest Tree, Dicorynia guianensis Amshoff
(Caesalpiniaceae). Annals of Botany 92: 97 –105.
Otsu N. 1979. A Threshold Selection Method from Gray-Level Histograms. IEEE Transactions
on Systems, Man, and Cybernetics 9: 62–66.
Oyallon E, Rabin J. 2013. An Analysis and Implementation of the SURF Method, and its
Comparison to SIFT. IPOL Journal · Image Processing On Line.
Paiva ARC, Tasdizen T. 2010. Fast semi-supervised image segmentation by novelty selection.
2010 IEEE International Conference on Acoustics Speech and Signal Processing
(ICASSP).1054–1057.
Park J, Keller JM. 2001. Snakes on the Watershed. IEEE Trans. Pattern Anal. Mach. Intell.:
1201–1205.
Pavez R, Mora M, Gonzalez P. 2011. Objective Comparison of Contour Detection in Noisy
Images. In: Martin CS, Kim S-W, eds. Lecture Notes in Computer Science. Progress in Pattern
Recognition, Image Analysis, Computer Vision, and Applications. Springer Berlin Heidelberg,
599–606.
Quelhas P, Nieuwland J, Dewitte W, Mendonça AM, Murray J, Campilho A. 2011.
Arabidopsis Thaliana Automatic Cell File Detection and Cell Length Estimation. In: Kamel M,
Campilho A, eds. Image Analysis and Recognition. Berlin, Heidelberg: Springer Berlin
Heidelberg, 1–11.
Rathgeber CBK, Rossi S, Bontemps J-D. 2011. Cambial activity related to tree size in a
mature silver-fir plantation. Annals of Botany 108: 429–438.
Rossi S, Deslauriers A, Anfodillo T, Morin H, Saracino A, Motta R, Borghetti M. 2006.
Conifers in cold environments synchronize maximum growth rate of tree-ring formation with
day length. New Phytologist 170: 301–310.
Rossi S, Simard S, Rathgeber CBK, Deslauriers A, Zan CD. 2009. Effects of a 20-day-long
dry period on cambial and apical meristem growth in Abies balsamea seedlings. Trees 23: 85–93.
Rozenberg P, Schüte G, Ivkovich M, Bastien C, Bastien J-C. 2004. Clonal variation of
indirect cambium reaction to within-growing season temperature changes in Douglas-fir.
Forestry 77: 257 –268.
Sabri M, Macdonald RL. 2012. Vasospasm: Measurement of Diameter, Perimeter, and Wall
Thickness. In: Chen J, Xu X-M, Xu ZC, Zhang JH, eds. Springer Protocols Handbooks. Animal
Models of Acute Neurological Injuries II. Humana Press, 473–479.
Schindelin J, Arganda-Carreras I, Frise E, Kaynig V, Longair M, Pietzsch T, Preibisch S,
Rueden C, Saalfeld S, Schmid B, Tinevez J-Y, White DJ, Hartenstein V, Eliceiri K, 104
Tomancak P, Cardona A. 2012. Fiji: an open-source platform for biological-image analysis.
Nature Methods 9: 676–682.
Schneider CA, Rasband WS, Eliceiri KW. 2012. NIH Image to ImageJ: 25 years of image
analysis. Nature Methods 9: 671–675.
Scholkopf B, Smola AJ. 2001. Learning with Kernels: Support Vector Machines,
Regularization, Optimization, and Beyond. Cambridge, MA, USA: MIT Press.
Shapiro LG. 2001. Computer vision. Upper Saddle River, NJ: Prentice Hall.
Sjö dahl M, Oreb BF. 2002. Stitching interferometric measurement data for inspection of large
optical components. Optical Engineering 41: 403–408.
Tarabalka Y, Chanussot J, Benediktsson JA. 2010. Segmentation and classification of
hyperspectral images using watershed transformation. Pattern Recognition 43: 2367–2379.
Thibeault-Martel M, Krause C, Morin H, Rossi S. 2008. Cambial Activity and Intra-annual
Xylem Formation in Roots and Stems of Abies balsamea and Picea mariana. Annals of Botany
102: 667 –674.
Toews M, Wells W. 2009. SIFT-Rank: Ordinal description for invariant feature correspondence.
IEEE, 172–177.
Travis AJ, HIRST DJ, CHESSON A. 1996. Automatic Classification of Plant Cells According
to Tissue Type using Anatomical Features Obtained by the Distance Transform. Annals of
Botany 78: 325 –331.
Vapnik V. 1963. Pattern recognition using generalized portrait method. Automation and Remote
Control 24: 774–780.
Vercauteren T, Perchant A, Malandain G, Pennec X, Ayache N. 2006. Robust mosaicing
with correction of motion distortions and tissue deformations for in vivo fibered microscopy.
Medical Image Analysis 10: 673–692.
Verma OP, Hanmandlu M, Susan S, Kulkarni M, Jain PK. 2011. A Simple Single Seeded
Region Growing Algorithm for Color Image Segmentation using Adaptive Thresholding. 2011
International Conference on Communication Systems and Network Technologies (CSNT).500–
503.
Vincent L, Soille P. 1991. Watersheds in Digital Spaces: An Efficient Algorithm Based on
Immersion Simulations. IEEE Transactions on Pattern Analysis and Machine Intelligence 13:
583–598.
Wang M, Zhou X, Li F, Huckins J, King RW, Wong STC. 2008. Novel cell segmentation and
online SVM for cell cycle phase identification in automated microscopy. Bioinformatics 24: 94 –
101.105
Wilson BF. 1984. The Growing Tree. Amherst: University of Massachusetts Press.
Wyant JC, Schmit J. 1998. Large Field of View, High Spatial Resolution, Surface
Measurements. International Journal of Machine Tools and Manufacture 38: 691–698.
Žunić J, Hirota K. 2008. Measuring Shape Circularity. In: Ruiz-Shulcloper J, Kropatsch WG,
eds. Lecture Notes in Computer Science. Progress in Pattern Recognition, Image Analysis and
Applications. Springer Berlin Heidelberg, 94–101.106107
6 ANNEXES
Images et Résultats
Panel d'images constituant le jeu d'essai et le résultat de la labellisation automatique de la
fiabilité des files cellulaires (8 pages).
N.B. Toutes les images sont prises à un grossissement de x200.
1. Coupe histologique de sapin (Abies alba), colorée au vert d'iode (Gymnospermes).
2. Coupe histologique de sapin (Abies alba), colorée au vert d'iode (Gymnospermes).
3. Coupe histologique de sapin (Abies alba), colorée au vert d'iode (Gymnospermes).
4. Coupe histologique d'acajou (Pycnanthus sp.), colorée au vert d'iode (Angiospermes).
5. Coupe histologique de sapin (Abies alba), non colorée (Gymnospermes).
6. Coupe histologique de pin (Pinus nigra), colorée à la safranine, avec un faible éclairage
(Gymnospermes).
7. Coupe histologique de pin (Pinus nigra), colorée à la safranine, avec un fort éclairage
(Gymnospermes).
8. Rondelle poncée de pin (Pinus nigra), non colorée (Gymnospermes).108
1. En haut, image native de sapin (Abies alba). En bas l'identification automatique des files de
cellulaires.109
2. En haut, image native de sapin (Abies alba). En bas l'identification automatique des files de
cellulaires.110
3. En haut, image native de sapin (Abies alba). En bas l'identification automatique des files de
cellulaires.111
4. En haut, image native d'acajou (Pycnanthus sp.). En bas l'identification automatique des files de
cellulaires.112
5. En haut, image native non colorée de sapin (Abies alba). En bas l'identification automatique des
files de cellulaires.113
6. En haut, image native de pin (Pinus nigra) avec un faible éclairage. En bas l'identification
automatique des files de cellulaires.114
7. En haut, image native de pin (Pinus nigra) avec un fort éclairage. En bas l'identification
automatique des files de cellulaires.115
8. En haut, image native de pin (Pinus nigra) issue du protocole de ponçage. En bas l'identification
automatique des files de cellulaires.116117
7 INDEX
angiospermes : la division des Magnoliophyta (ou Angiospermes) regroupe les plantes à fleurs, et donc les végétaux qui portent
des fruits. Angiosperme signifie « graine dans un récipient » en grec par opposition aux gymnospermes (graine nue). ... 22, 23,
24, 32, 45, 52, 61, 73, 95, 97, 109
bit : unité de codage informatique. Une image en 8 bits sera représentée en niveau de gris et une image 24 bits sera représentée
en couleur.................................................................................................................................................................................. 28
complexité algorithmique : la théorie de la complexité est un domaine des mathématiques, et plus précisément de l'informatique
théorique, qui étudie formellement la quantité de ressources (en temps et en espace) nécessaire pour la résolution de
problèmes au moyen de l'exécution d'un algorithme ................................................................................................................. 54
couleur : système de représentation de l'image. Le plus connu est le système RGB car c'est celui utilisé par la majorité des
capteurs CCD. Dans ce système, la couleur est définie par la combinaison additive de trois couleurs primaires plus ou moins
intenses. le Rouge, le Vert et le Bleu. Il existe plusieurs système de couleurs : le plus proche du système rétinien est le
système HLS (Teinte, Luminance, Saturation)....................................... 28, 29, 33, 34, 36, 37, 39, 46, 49, 63, 78, 80, 83, 88, 92
fibres : faisceaux de cellules résistantes, disposées dans le sens axial (de la tige), assurant la rigidité et la résistance mécanique du
bois.............................................................................................................................................17, 25, 26, 52, 53, 67, 68, 69, 70
graphe : un graphe est un ensemble de points, dont certaines paires sont directement reliées par un (ou plusieurs) lien(s). Ces
liens peuvent être orientés, c'est-à-dire qu'un lien entre deux points u et v relie soit u vers v, soit v vers u : dans ce cas, le
graphe est dit orienté. Sinon, les liens sont symétriques, et le graphe est non orienté ...18, 20, 42, 43, 44, 48, 49, 50, 52, 53, 63,
67, 96
gymnospermes : les Gymnospermes sont des plantes faisant partie d'un sous-embranchement paraphylétique des Spermaphytes
(plantes à graines) qui inclut les plantes dont l'ovule est à nu (non enclos dans un ovaire à la différence des Angiospermes) et
est porté par des pièces foliaires groupées sur un rameau fertile (cône). Le nom Gymnospermes provient du grec
gymnospermos signifiant « semence nue » ..............................................................................18, 22, 23, 25, 32, 73, 95, 97, 109
image native : L'image native est l'image produite par un système d'acquisition n'ayant pas subit de traitement (filtrage) .... 35, 36,
80, 81, 110, 111, 112, 113, 114, 115, 116, 117
intensité d'un signal : puissance ou force du signal. 'intensité d'un niveau de gris est une valeur entière variant entre 0 et 255 qui
représente la luminosité d'une teinte grise ..................................................................................33, 34, 36, 37, 38, 40, 52, 60, 62
mosaïque d'image : Une mosaïque d'image est la fusion de plusieurs images .. 4, 17, 19, 20, 26, 28, 49, 52, 53, 54, 63, 72, 95, 96,
97
phloème secondaire : Le phloème est le tissu conducteur de la sève élaborée qui est une solution riche en glucides tels que le
saccharose, le sorbitol et le mannitol chez les plantes vasculaires. Le phloème a aussi un rôle de réserve avec les parenchymes
et un rôle de soutien avec les fibres libériennes et les sclérites. Dans les troncs des arbres, le phloème peut faire partie de
l'écorce, pour cette raison son nom provient d'un dérivé du mot grec phloos qui signifie écorce.............................................. 24
pixels : partie élémentaire de l'image numérique (abv de Picture Element). Il porte une information qui dépend de la nature et du
codage de l'image. ............................................................................ 28, 33, 34, 36, 40, 41, 49, 57, 58, 64, 65, 66, 72, 79, 80, 85
prétraitement d'image : opération visant à modifier les valeurs des pixels d'une image .............................................................. 35
RGB : le système RGB (Rouge Vert Bleu en français) est le plus simple des systèmes de codage informatique des couleurs. Il est
composé de 3 canaux permettant d'afficher la couleur sur les écrans........................................................................................ 36
segmentation : la segmentation d'image est une opération de traitement d'images qui a pour but de rassembler des pixels entre
eux suivant des critères prédéfinis. Les pixels sont ainsi regroupés en régions, qui constituent un pavage ou une partition de
l'image. Il peut s'agir par exemple de séparer les objets du fond. Si le nombre de classes est égal à deux, elle est appelée aussi
binarisation. 18, 19, 20, 33, 34, 35, 37, 38, 39, 40, 46, 48, 62, 64, 70, 80, 81, 82, 83, 84, 86, 88, 90, 96, 98, 101, 102, 103, 104,
105
stabilité algorithmique : en analyse numérique, une branche des mathématiques, la stabilité algorithmique (ou numérique) est
une propriété globale d’un algorithmique numérique, une qualité nécessaire pour espérer obtenir des résultats ayant du sens 38
stitching : l'assemblage de photos est un procédé consistant à combiner plusieurs images numériques se recouvrant, dans le but
de produire un panorama ou une image de haute définition ................................................................................................ 20, 49
traitement d'image : opération visant à extraire une information d'une image . 4, 11, 17, 19, 33, 35, 36, 37, 40, 46, 47, 49, 60, 72,
75, 79, 80, 81, 90, 91, 92, 93, 96, 97, 98, 102
xylème secondaire : le xylème (du grec xylon, « bois ») ou tissu xylémique, est un constituant des tissus végétaux formé de
l'association de vaisseaux, de cellules mortes ou vivantes de soutien et de cellules associées. ........................................... 24, 25118
8 PUBLICATIONS
Articles de références de la thèse (33 pages)
I. PMA'12. Brunel G, Borianne P, Subsol G, Jaeger M, Caraglio Y. 2012.
II. AOB'14. Brunel G, Borianne P, Subsol G, Jaeger M, Caraglio Y. 2014
III. FSPM'13. Brunel G, Borianne P, Subsol G, Jaeger M, Caraglio, Y. 2013.
IV. SCIA'13. Brunel G, Borianne P, Subsol G, Jaeger M. 2013. Automatic Characterization of the Cell Organization in Light Microscopic Images
of Wood: Application to the Identification of the Cell File
Guilhem Brunel1,2, Philippe Borianne2
, Gérard Subsol3
, Marc Jaeger2
& Yves Caraglio2
1UMII; 2CIRAD – UMR AMAP
Montpellier, France
Guilhem.brunel@cirad.fr
3CNRS – LIRMM
Montpellier, France
Abstract — Automated analysis of wood anatomical sections is
of great interest in understanding the growth and development
of plants. In this paper, we propose a novel method to
characterize the cell organization in light microscopic wood
section images. It aims to identify automatically the cell file in a
context of mass treatment. The originality of the proposed
method is our cell classification process. Unlike many
supervised methods, our method is self conditioned, based on a
decision tree which thresholds are automatically evaluated
according to specific biological characteristics of each image. In
order to evaluate the performances of the proposed system and
allow the certification of the cell line detection, we introduced
indices of quality characterizing the accuracy of results and
parameters of these results. Those are related to topological
and geometrical characters of the cell file at both global and
local scales. Moreover, we propose an index of certainty for
selective results exploitation in further statistical studies. The
proposed method was is implemented as a plugin for ImageJ.
Tests hold on various wood section well contrasted images show
good results in terms of cell file detection and process speed.
Keywords: Image processing, pattern recognition, wood
microscopic images, cell segmentation, file identification.
I. INTRODUCTION
The development of the tree results from the primary
growth and secondary growth. The primary growth concerns
the extension and branching of the axes. Whereas the
secondary growth is on their thickening. Among others,
issues of carbon squestration and wood energy leads to
consider both structural and functional aspects using
acumulating approaches. Howhever, these approaches,
concerning secondary growth and its relationships between
secondary and primary growth, are based on fragmentary
studies, mainly raising from data acquisition costs.
Secondary growth results from the cambial activity, which is
among other things to the origin of wood (xylem) and
consequently the different cellular elements that constitute it.
The understanding of mechanisms of growth of the cambium
will go through the study of rhythmicity of cell patterns,
their disruption or modification through space and time.
Environment and its fluctuations influence the
differentiation of wood’s elements (from the divisions of
cambial cells) which constrain us to follow the production
of specific cell organizations. To simplify, two
organizations are considered: firstly the growth rings which
represents cell’s production at a given time [1], and secondly
the cell lines which represents the activity of an initial cell
during time [2]. For example, [3] underlie the importance of
secondary growth organizations by studing cellular patterns,
their spatial rhythmicity, their variability along different
growth rings. For its part, the study of cell lines is presented
as a promising enable to understand the development,
differentiation and temporal rhythmicity of cells [4].
Automating the study of cell lines should permit to closer
links with the functional aspects and ecology of species:
Wood is a continuous recording of changes in the
development of the tree (the lesser known) and its
environment (the most work, eg dendrochronology, treerings).
Progress in terms of the image acquisition devices and
their analysis allow us to consider the access to quality's
information on various extensive areas in the plant. Cross
section microscopic images analysis shows interest in both
cell feature characterization and detection but also for higher
structure character estimation as shown for instance by Wu
et al on root sections [5].
Automatic identification of wood cellular structures as
cell files is a new challenge in structural biology of plants
[6], which requires a multidisciplinary expertise.
In bio-imaging, cell segmentation has been intensively
studied by researchers in image processing with various
approaches [7][8][9]. For example, [10] combine four
classical algorithms to segment white blood cells in bone
marrow image: watershed [11], snake [12], multi-resolution
analysis [13] and dynamic programming. This kind of
approach based on mixing many algorithms, shows the
difficulty of segmenting cell images with high biological
variability. The algorythms should be adapted to the
application and to the specific cells characters. In particular,
for wood cross section, we have to consider both cell local
geometry and arrangement.
In such wood cellular organizations, some authors
propose to introduce some geometric models to describe the
topological neighborhood of cells. For example, [14] or [15]
rely on an oriented graph to extract cell files in images of the
gymnosperms.
From a technical point of view, we did not found any
software solution allowing automatic identification of cell
files. Some specific commercial tools as WinCell [23], exist
for the analysis of wood cells, but they do not allow
recognition and characterization of the cellular organization.
Moreover, it is not possible to add new functionalities. More
___________________________________
978-1-4673-0070-4/12/$31.00 ©2012 IEEE
2012 IEEE 4th International Symposium on Plant Growth Modeling, Simulation, Visualization and Applications
58generic commercial software such as Visilog [24], offer a
rich development environment in image processing but they
are quite expensive and not sufficiently specialized for our
application. Open source platforms as ImageJ [20][25] are
an attractive option: they allow to enrich the source code
with specific functionalities while facilitating the exchange
and dissemination of methods. Therefore we chose this
solution to implement our algorithm.
The proposed method of automatic identification and
modeling of cell files extends the research presented by [15].
In this work, cell file identification in light microscopy
images is based on a preliminary identification of the cells. It
is a supervised classification requiring the definition, then
the use of a large training database. As the variability of
wood anatomy is huge, significant results can be obtained
only for a limited number of wood species, sharing close and
simple anatomical features (gymnosperms in this case). We
introduce here a specific model of the cell lines recognition
avoiding supervised training and allowing results quality
quantification. Applying this model, as shown in the
following sections, we can build a generic tool suitable for
both gymniosperm and angiosperm wood cross section
images.
II. MATERIAL AND METHOD
A. Preparation and digitization
We aim to process histological stained sections of
angiosperm and gymnosperm wood, and more specifically of
Mahogany, Fraxinus Angustifolia, Pine Black, Pine
Carabinsis and Fir tree.
Wood cross sections of 20-25 µm of thickness are
produced with a vibratome. They are then immersed in an
aqueous chlorinated solution to clean the cellular content. A
colouring of the cell wall is then performed to increase the
contrast with the lumen. Various types of colouring agents
can be used as the methylene blue, the toluidine blue or the
safranine. The sections are then digitized by a Olympus
DP71 LCD camera mounted on a Olympus BX51
microscope. The magnification is choosen around ×100.
Figure 1. Images of histological stained wood sections. A: Fraxinus
(angiosperm) colored with safranin. B: Pinus Caribensis (gymnosperm)
colored with methylene blue. Notice the different anatomical structures:
Vessel (V), Ray (R), Fiber (F), Tracheid (T) and Resin Canal (RC).
Different anatomical structures as vessels, fibers,
tracheids, resin canals, or rays are visible around the cell
files (see Fig. 1). With such a magnification value, we can
count at least 20 consecutive cells and then distinguish the
cell files and the smallest interesting structure covers a
surface of at least 10 by 10 pixels.
The resulting images are in color (coded on 24 bits) with
a resolution close to 2000 by 2000 pixels.
B. Cell file processing
Identification of cell files is based on the search of
alignment of cells which share similar geometric (i.e. size,
shape) and densitometric (i.e. color) properties. The concept
of alignment implies a specific cellular organization which is
emphasized by the neighborhood relations between cells.
Our approach is divided into three steps (see Fig. 2): first
cell identification is performed in order to individualize the
cells in the image, then the cellular organization step detects
and individualizes the alignments of anatomical structures,
and finally, the classification step classifies anatomically and
types qualitatively the cell files. In the following sections,
we detail these three steps.
Figure 2. Overview of the cell file identification algorithm.
1) Cell identification step
Microscope images present a "pepper-and-salt" noise
inferred by the thermal effect of the lamp. We attenuate this
impulsive noise by applying a median filter of radius 3
pixels. Images show alternations of clear and dark areas
representing respecitvely the cell lumens and the cell walls.
To increase the contrast between the two areas, we apply the
Difference of Gaussian (DoG) [16] method. This is a
bandpass filter. It thresholds the frequencies corresponding
to the lumens. To obtain the lumens (see Fig. 3), the DoG
filter subtracts a Gaussian light blurred image (blurring
parameter close to the size of the cell wall) to the highly
blurred image (blurring parameter set to 1/10 of the image
width). Nota that the blurring parameters were set
experimentally and are different from the classical 1.6 ratio
used for DoG smoothing in edge detection.
Figure 3. Difference of Gaussian filtering on a cross-section of Mahogany
stained with toluidine blue. A: the image obtained by applying a small
Gaussian blurring (σ = 3 pixels). B: the image resulting from a strong
Gaussian blurring (σ = (image width)/10). C: subtraction of images A and B
which increases the contrast wall / lumen.
A B C
A B
RC
T
F
V
R
R
59We obtain an image where the walls have zero intensity
and the lumens have a higher intensity.
This colour image is then converted in grey levels.
Average colour channel value is used since no specific
channel seems significant. Moreover this conversion
simplifies specific process definition potentially resulting
from different colouring protocols.
The greyscale image cell extraction is obtained by the
classical Watershed algorithm [11]. The idea is to consider a
grey level image as a topographic relief, and to calculate the
watershed lines by “flooding” the relief. The resulting
watershed lines define a partition of the image. The ridge
lines constitute the intercellular boundaries and correspond
to the middle lamella. The lines of the ridges of the
Wathersed (fig. 4-c) give the boundary between two adjacent
watersheds. The dual graph is the adjacency graph of the
basins, it connects two by two the geometric centers of the
basins incident to the same edge. The basins are
superimposable to image cells, we speak of the adjacency
graph of the cells (Fig. 4-d).
Figure 4. Cell individualization of a Mahogany cross section. A: native
image. B: watershed segmentation result with the crest lines crossing the
lumen. C: cleaned watershed: the crest lines are replaced by curvilinear
edges shown in yellow; they correspond to the middle lamella; the points
extra yellow match the geometric center of the watershed therefore
biological cells. D: dual watershed graph. This adjacency graph, in green
connects cell centers with their neighbour; notice that the degree of vertices
is greater than four showing the staggered pattern of the cells.
2) Cellular Organization
Unlike approaches [15] and [14], our recognition of lines
based exclusively on a constraint path of the adjacency
graph of the cells. More specifically, the construction of cell
lines is based on the one hand on geometric criteria, in
particular the general orientation of adjacencies cell, and,
secondly on topological criteria, in particular on
configurations of cellular adjacency.
The edges of the adjacency graph represent connections
between neighboring cells and their orientations give an
indication of the preferred directions of the cell
arrangements. On our studies, cells are arranged in staggered
rows, and cell lines are rectilinear and two in two parallels.
Therefore, the orientations of edges adjacency follow three
directions: a main one, corresponding to the cell alignments
and two secondaries, corresponding to the organization in
staggered rows (fig. 4-d). To compute the main direction, we
use R. Jones (1996) method, studying the distribution of
angles formed by each edge of the adjacency graph with the
horizontal. The distribution is then trimodal : the major
mode shows the orientation most present in the adjacency
graph, that is to say the general orientation of the lines (Fig.
5).
Figure 5. Direction distribution histograms formed by edges of the
adjacency graph with the horizontal. A: The main mode centered on 0°
corresponds to horizontal lines; B: The histogram shows one mode splitted
on -90 and 90° values corresponding to vertical lines.
Considering now the lines. The construction is progressive
and based on four principles: alignment search, feedback
check, overlap management and chaining. The alignment
principle allows for each vertex V of the graph to find the
next vertex NV in the cell lines. Each vertex neighbor of V
is a potential candidate. We will retain one that maintains the
best spatial alignment (in a range of ± 35 °), and whose
underlying cell shows the highest geometrical similarities
with the previous one. The line is gradually built from the
initial edge, by successive additions of consecutive edges
preserving the geometric continuity. At each step, the drift of
the line is minimized under this geometrical constraint. We
chose the criterion of Bray-Curtis [21] (see Fig. 6) for
similarity cost evaluation since well adapted to surface
characterizations. When this criterion tends to zero, the
compared cells can be considered as similar.
Figure 6. Formula of Bray Curtis. Where « n » is the surface of current cell
and « m » is the surface of neighbor cell. When the criterion tends to 0, the
cells show a similar surface.
Each cell bellowing to a cell line path is given a score value :
the sum of the angle deviation with its predecessor and the
criterion of Bray-Curtis.
0
50
100
150
200
-90 -45 0 45 90
0
50
100
150
200
-90 -45 0 45 90
A B
A B
C D
60 The path of the line stops when there are not vertices
anymore candidate.
A cell line direction is independent from graph traversal
orientation. This property is used to validate or invalidate
any line segment or part of if. The process described above
is applied again starting from the end edge, by inverting the
direction of progress in the graph. We note this path as
"backward", opposed to the initial path "forward". This
define the principle of Forward / Backward : a line is
validated when both forward and backward paths are strictly
superposables. In the case where the paths are not identical,
the initial forward path is gradually reduced until reaching a
stable forward/backward sub-path. Specifically, whenever a
difference appears in backward path, the corresponding
segment is deleted from the original line: the edges and their
scores are released, initialized to an infinite value. The
backward tip is updated from the last reached position. In the
strictly superposable case, the score of each cell of the line is
decreased by half insuring higth stability of the line towards
overlaping (see below).
Indeed, a cell belongs to a unique file. This property
leads to the following rule: each vertex belongs to one cell
line and only one. In some cases, during its construction, a
line may use one or several cells, mobilized by a line already
constructed. In this case, each of these vertex is attributed to
the line for which its score is minimal: it is the principle of
overlaping. Two scenarii may occur:
The existing line keeps its vertex; the line under
construction will have to find another path or stop.
The existing line loses its summit to the detriment of
the line under construction. Here, all the summits of
the existing line situated after the lost summit are
released: their respective score takes an infinite
value, indicating they are again available.
Due to the presence of intrusions, tearings or a lack of
adjency (Fig. 7-a), it is not unusual to detect a given line in
splitted part.
Figure 7. A: Result of treatment chain without connection. B: result whit
connection (Bottom). There is one color by file.
The principle of merging allows to concatenate several
part of line, using simple topological rules, to establish
whole lines. The idea is based on two observations : (i) the
lines cross the image throughout, (ii) the lines do not
intersect (Fig. 8-a). As a result, if the parts T2 and T2 ' are
adjacent to the line F1 and F3, it is likely that T2 and T2 ' are
two parts of the same line F2. At present only the parts in
two same lines are concatenate that is to say as belonging to
the same line. In other scenarii the process is stopped.
Figure 8. A: a two neighbours connection scheme. Sections T2 and T2’ are
squeezed between lines F1 and F3; therefore T2 and T2' are probably
derived from a common file F2. B: a multiple neighbours scheme; in this
case, rules of adjency are used to drop the case in a two neighbours one.
3) Classification step
The cell typing is the ultimate step: it allows to classify
different cells (fibers, tracheids, vessels, rays, ...). It is
realized from geometric and densitometric characterization
of the watersheds associated with the vertices of the
adjacency graph of cells. Unlike the work of [15] and [14],
supervised classification was discarded because of the
difficulty of building learning games sufficiently complete
and discriminating, due to the existing biological variability.
A decision tree discriminates the anatomical structures. It
was established with wood anatomists from the two
following hypotheses:
1) The perimeter of cells, noted parameter T, allows to
differentiate the "big" structures from the "small" cells.
2) The circularity of cells, noted parameter C, allows
to differentiate rays (globally lengthened) from the vessels
(globally circular).
The decision tree given in Fig. 9 is applied to basins with
a clear area corresponding to the lumen. It requests two
threshold values which are automatically estimated for every
image. For each parameter, both values are calculated from
the grey image, from two disjoint groups using a two-means
clustering [22]. This classical method divides n observations
into two clusters, so minimizes the intra-classe variance and
maximizes the interclasse variance. The threshold is then
given by the median value between the upper bound of the
lowest group and the lower bound of the stronger group.
A
B
B
A
61Figure 9. Decision Tree. T represents the threshold of the perimeter and C
the threshold of circularity. The thresholds are automatically rated by a 2-
means clustering applied to all values from the image. Only cells with a
lumen are processed by the decision tree.
After the alignments identification and the biological
typing, we can deliver a set of figures characterizing the
shape, size, nature of biological structures (walls, lights,
cells, lines ...). These characteristics, of interest for
anatomists, are defined by self conditioned procedures. As
part of a mass treatment it is interesting to characterize the
accuracy of these assessments. Both caracteristic quality and
automated define parameters are computed defining indexes
of certainty. An index is assigned for each calculated
parameter. The certainty index concerns the geometric
parameters of structural elements and the steps of the
process of identifying lines.
At the scale of structural elements (fiber, vessels, radius
...), evaluation of this index depends on the parameter itself.
For example, the certainty of the surface or the shape of the
lumen is directly connected to the local degree of sharpness
of the image (Fig. 14): the boundary between the wall and
the lumen being obtained by distribution of the pixels of the
cell two intensity classes (light intensities and dark
intensities), it depends irremediably on local dynamics of the
image.
At scale structure elements (lines), evaluation of the
index depends on the construction process and the nature of
the result. To "certify" the cell lines, three criteria are used :
The overall score of the line, characterizing
topological relationships of the line with its
neighbors. The identification of the topological
position allows to assign a global additional score to
the line: 0 for a line crossing the image throughout, 1
for a line composed of simple parts, 2 for non
indentifided segment, 3 for single cell, 4 for defects.
The average of the scores of its cells obtained during
the construction of the line (not to be confused with
the index of certainty parameters). Each vertex
added to the line will be assigned a score defined by
the sum of the deviation of the angular aperture and
the similarity coefficient. This method allows to
restrict the path of the line without guaranteeing
possible overlapping or intersection with a nearby
line.
The length, characterizing the representativeness in
the image: the more a line is long, the more it is sure.
An index of certainty is assigned to the line according a
linear combinaison of these three scores. The indices of
certainties (parameters and lines) are used to filter or classify
the numerical results generated for each lines identified.
The indices of certainty of the lines are totally
independent from indices certainties of the parameters
associated with the cells.
The visual representation of the global score of the lines,
and in particular the use of a color code, allows a fast and
efficient processing check, distinguishing the whole lines
form the cellular insertions. The colour code is green for the
lines automatically identified, is blue for lines automatically
rebuilt and is red for complex configurations (Fig. 10).
Figure 10. Automatic identification of cell lines from a cross section of
mahogany. A: lines random colouring is used. B: colour qualifies the cell
files; the lines automatically identified in green, the lines automatically
rebuilt in blue and the complex configurations in red.
The method has been implemented in Java and integrated
as a plugin in the ImageJ free platform. We use additional
free libraries sush as the Java Universal Network / Graph
Framework [26] for efficient data structure management. We
are currently posting the application on the web [27].
III. RESULTS AND DISCUSSION
The tests were led from a sample of images
representative of biological variability, possessing a dozen
colored sections of different species of angiosperms (list)
and gymnosperms (list) (Fig. 11).
Figure 11. Extract from the test set consists of cross sections of angiosperms
and gymnosperms. A : mahogany colored with toluidine blue for which the
continuity of queues is preserved in spite of the vessel elements. B : fir
colored with methylene blue. C : black pine colored with safranin having
resin canals. D : fir colored with toluidine blue showing cells blocked.
A B
C D
A B
62A. Biological aspecsts
Moreover, the colour encoding can quickly locate the
complex biological configurations requiring the expertise of
an anatomist to be identified (in red, Fig. 12).
Figure 12. Automatic identification of cell lines of the extract on the game
of trying to figure 11. The colour code is given in figure 10.
As shown in the table below, our method works well on
images presenting a structured organization with a marked
wall / lumen contrast, in regard to data acquisition,
management of lines and the magnification used. For
configurations showing low colour contrast or complex
cellular organizations the lines are badly detected.
Table 1. Summary of some significant results: the size of images processed,
the number of cells extracted, the CPU time obtained on a machine with an
Intel Xeon at 2.3GHz and a Total Quality Index defined as the ratio of the
number of lines automatically identified and reconstructed on the total
number of lines.
Species Size
(pixels)
Cells
numbers Times (sec) Total
Quality (%)
Mahogany 1024x768 1359 14.3 83
Fir 1360x1024 800 12.4 92
Black Pine 1 1600x1200 1873 23.2 73
Caribean
Pine
1360x1024 828 11.5 91
Black Pine 2 1600x1200 1458 16.1 93
What about in terms of quantity, that is to say in terms of
numerical measures?
The overall rating of the line remains the most important
indicator. It enables us in particular to detect all single files:
all lines described as obvious by anatomists have an overall
zero score.
On the test set, the lines are automatically detected at
60% in the images. This figure is not significant since it
depends on the anatomical configurations. The unidentified
lines can be automatically excluded from statistical
processing. The amount lost can be easily offset by the
increase of the images treatable.
It is important to evaluate the accuracy of measurement.
The Figure 13 presents the comparison of about sixty
normalized aeras got from manual and automated method.
The coefficient of determination tends of 1 showing the
areas are well correlated. The slope of regression line is
weakly superior to 1 indicating a weak over-valuation of the
automated method. The weak gap of 0.0127 confirms the
middle error of 5% on right areas. The automated method
seems over-valuated the measurements (at least the expert
under-valuates the measures!). Only certainty: the automated
method is repeatable.
Figure 13. Basins surfaces study on Mahogany. In abcissa, the normalized
aeras got from the fully manual method. In ordinate, those got from the
automated method. The coefficient of determination is close to 1, showing a
very well adjustment of areas.
The major limit to the automatic identification of lines
comes from the image content, that is to say the photometric
characteristics of the image, and biological configurations.
Figure 14. A right cross sections of three native species. On the left, the
automatic identification of cell lines. A : not colored pine treated in
transmission; Detection is good despite the low constrate Wall / Lumen. B :
ash colored with safranin; Detection of cells is good, but the method only
produces sections due to the complexity of biological organization. C : pine
colored with methylene blue; Identification is biased by the presence of
local inversion of contrast at the joinction wood summer / winter.
The images with a dynamic intensity locally reversed, for
example the junction wood winter / summer wood (Fig. 14-
c), remain difficult to treat. Our method is based on the
image contrast, so watersheds corresponding to the cells are
badly detected, and thus the detection of files is incorrect
y = 1,0477x + 0,0127
R² = 0,9991
0
3
6
9
0 2 4 6 8
automated
manual
A
B
C
63and incomplete. The images of washer sanded wood
(unstained) are treated in reflection: light does not pass
through the sample. Thus the lumens appear in colour almost
close to the walls one, with not sufficient contrast to ensure
proper recognition of watersheds and proper identification of
lines. The wood sections not colored are treated by
transmission, crossed by light. They are less contrasted than
the stained sections. But the difference wall / lumen is
pronounced enough to allow the algorithm to correctly
identify the lines (Fig. 14-a). For complex cellular
organizations (Fig. 14-b), where cell alignments are not
obvious, new rules for the path and for the reconstruction
shloud be established with the biologists.
The files are created using only geometric and
topological rules on the basins. It is important to make sure
of the robustness of the detection of the basins, expecially
internes of insensitivity to blur and image orientation. A first
study was conducted on the absorption of the blur found in
images related to microsope views side effect or sample
flatness.
Figure 15. Compared watershed result on Pine cross section. A : crests lines
of a sharp image. B : crests lines of a blurred image. Outline of the basins is
nearly identical between a sharp and a blur image. On the sharp image, a
small additional basin of a detachment of the wall issued from cutting. This
basin is skipped during the supernumerary removal phase.
Acquisitions of the same zone of the image with different
focus were performed to evaluate the stability of our
computational method. In particular, we made a statistical
study on the variability of cropping cells. The intercellular
lines obtained by the algorithm of Watershed are generally
invariant to blurring of the image. Indeed, they correspond to
the curves reverse slopes of intensity: the smoothing of the
image produced by optical blur attenuates the intensity
without changing the look of intensity variations. The crest
lines remain unchanged (Fig. 15).
Figure 16. Basins surfaces study on Mahogany. In abcissa, the normalized
aeras got from sharp images. In ordinate, those got from blur images. The
coefficient of determination is close to 1, showing a very well adjustment of
areas.
Figure 16 shows the comparison of a sixty normalized area
obtained from a sharp and a blurred image. The coefficient
of determination tends to 1 showing areas are well
correlated. The slope of the regression line is slightly less
than 1 indicating low undervaluation on blurred images. The
difference of 0.0037 confirms the average error of 2.81% on
sharp image. The method gives results almost identical
regardless of the sharpness of the image
The method described is working correctly for images
that contain the one hand high contrast between the walls
and lumens (without local inversion of color) and other hand
a visible cellular organization. Under these conditions all the
obvious lines by qualified experts are correctly identified,
with a significant time save (a typical manual expert
identification requires ten hours on our samples). Moreover,
the index of certainty allows the selective exploitation of
results for statistical studies.
IV. CONCLUSIONS
Automated analysis of wood anatomical sections is of
great interest in understanding the growth and development
of plants. In a frame of over studies on wood structure, we
propose a original method for automatic detection of cell
lines, operational in mass treatment. It applies to digital
images of coloured transverse cut wood. Identification of
lines based on research alignment of cells presenting similar
geometrical and densitometric characteristics. The notion of
alignment implies to know how to set up the relations of
neighborhood between cells. Identification of lines is made
from an adjacency graph for the path constrained graph with
an orientation and similarity criteria. The originality of the
method compared to a supervised method is that it
automatically creates rules evaluated for each image and not
a set of rules to be applied on all images. The lines described
as obvious by anatomists are correctly identified by our
method, with a drastic drop of time cost. To "certify" the cell
lines, we have introduced the indices characterizing the
quality of results and parameters of these results. The
method described works correctly for images with high
contrast between the walls and lumens and a clear cellular
organization. Under these conditions all the obvious lines by
qualified experts are correctly identified. Moreover, the
index of certainty allows the selective exploitation of results
for statistical studies.
Three future work axes are being considered:
1. The enlargement of the major zones of study in
order to follow the lines of several rings (Fig. 17). For
this, it is necessary to adapt the processing of image
mosaics. Two problems are directly related: first, the
treatment of different photometric behavior in the same
image, in particular the transition wood winter /
summer wood. Secondly, the joining of the results at
the edges of the images pavement.
2. The study can be extended to sanded wood, for
which the contrast wall / lumen is less contrasted.
3. The enrichment of the cell typing method that is not
currently able to differentiate all kind of vessels. Work
y = 0,9963x + 0,0037
R² = 0,998
0,3
0,7
1,1
1,5
1,9
0,3 0,8 1,3 1,8
blur
sharp
A B
64on the walls texture can be considered to resolve the
limitation.
Cell file identification has to deal with other open difficulties
like the passage tree ring or the junction between the
different images. The construction of cell lines will be
reviewed to match between images that may or may not be
recovered.
Figure 17. Abutting mosaic of a cross section of Black Pine, colored with
safranin, 100x.
As a summary, this work is a first contribution to develop
methods for automatic image processing that will mainly to
identify and characterize, in mosaics depicting field’s broad
observation, cellular organizations, and the cells that
compose them. The implementation aims to obtain a rapid
cell typing, automatic and reliable to process statistically
significantly large sets of data.
ACKNOWLEDGMENT
The authors gratefully acknowledge Christine HEINZ for
her involvement in this work, her advices and availability. A
big thank to Michael GUEROULT without whom the
laboratory work would not have been possible.
This work is jointly funded by a doctoral fellowship of
the Labex NUMEV and the SIBAGHE Graduate School of
the University Montpellier 2 and by the Scientific Council of
the University Montpellier 2.
REFERENCES
[1] L. Heinrich, “Reaction wood varieties caused by different
experimental treatments,” TRACE, Tree Rings in
Archaeology, Climatology and Ecology, vol. 5, p. 224–232,
2007.
[2] P. Rozenberg, G. Schüte, M. Ivkovich, C. Bastien, and J.-C.
Bastien, “Clonal variation of indirect cambium reaction to
within-growing season temperature changes in Douglas-fir,”
Forestry, vol. 77, no. 4, pp. 257 –268, Jan. 2004..
[3] E. Nicolini, Y. Caraglio, R. Pélissier, C. Leroy, and J. Roggy,
“Epicormic Branches: a Growth Indicator for the Tropical
Forest Tree, Dicorynia guianensis Amshoff
(Caesalpiniaceae),” Annals of Botany, vol. 92, no. 1, pp. 97 –
105, Jul. 2003..
[4] W. Gindl, “Cell-wall lignin content related to tracheid
dimensions in drought-sensitive austrian pine (pinus nigra),”
Iawa Journal, vol. 22, no. 2, pp. 113–120, 2001..
[5] Haiwen Wu, Marc Jaeger, Mao Wang, Baoguo Li and Baogui
Zhang. 3D-Reconstruction and Visualization of Xylem
Vessels of Wheat Nodal Root. In: Li, B. and Jaeger, M. and
Guo, Y. (Eds). 2010. Proceedings,of Plant growth Modeling,
and their Applications (PMA09), Beijing,,China, November 9-
13, 2009, IEEE CPS, pp. 384-390
[6] P. Quelhas, J. Nieuwland, W. Dewitte, A. M. Mendonça, J.
Murray, and A. Campilho, “Arabidopsis Thaliana Automatic
Cell File Detection and Cell Length Estimation,” in Image
Analysis and Recognition, vol. 6754, M. Kamel and A.
Campilho, Eds. Berlin, Heidelberg: Springer Berlin
Heidelberg, 2011, pp. 1–11.
[7] M. K. Moëll and L. A. Donaldson, “Comparison of
segmentation method for digital image analysis of confocal
microscope images to measaure tracheid cell dimensions,”
IAWA Journal. Vol. 22(3), pp. 267–288, 2001.
[8] D. Baggett, M. Nakaya, M. McAuliffe, T. P. Yamaguchi, and S.
Lockett, “Whole cell segmentation in solid tissue sections,”
Cytometry A, vol. 67, no. 2, pp. 137–143, Oct. 2005.
[9] T. Fourcaud, X. Zhang, A. Stokes, H. Lambers, and C. Körner,
“Plant Growth Modelling and Applications: The Increasing
Importance of Plant Architecture in Growth Models,” Ann Bot
(Lond), vol. 101, no. 8, pp. 1053–1063, May 2008.
[10] J. Park and J. M. Keller, “Snakes on the Watershed.,” IEEE
Trans. Pattern Anal. Mach. Intell., pp. 1201–1205, 2001.
[11] L. Vincent and P. Soille, “Watersheds in Digital Spaces: An
Efficient Algorithm Based on Immersion Simulations,” IEEE
Transactions on Pattern Analysis and Machine Intelligence,
vol. 13, no. 6, pp. 583–598, Jun. 1991.
[12] Kass, A. Witkin, and D. Terzopoulos, “Snakes: Active contour
models,” Int J Comput Vis, vol. 1, no. 4, pp. 321–331, 1988.
[13] M. B. Jeacocke and B. C. Lovell, “A multi-resolution
algorithm for cytological image segmentation,” in Proceedings
of the 1994 Second Australian and New Zealand Conference
on Intelligent Information Systems,1994, 1994, pp. 322–326.
[14] R. Jones and L. Bischof, “A graph–based segmentation of
wood micrographs,” in Computing Science and Statistics, 28,
Sydney, 1996, pp. 12–20.
[15] P. Kennel, G. Subsol, M. Guéroult, and P. Borianne,
“Automatic identification of cell files in light microscopic
images of conifer wood,” in 2010 2nd International
Conference on Image Processing Theory Tools and
Applications (IPTA), 2010, pp. 98–103.
[16] G. T. Einevoll and H. E. Plesser, “Response of the differenceof-Gaussians
model to circular drifting-grating patches,” Vis.
Neurosci., vol. 22, no. 4, pp. 437–446, Aug. 2005.
[17] L. Breiman, J. Friedman, C. J. Stone, and R. A. Olshen,
Classification and Regression Trees, 1st ed. Chapman and
Hall/CRC, 1984.
[18] O. M. Hitz, H. Gärtner, I. Heinrich, and M. Monbaron, “Wood
anatomical changes in roots of European ash (Fraxinus
excelsior L.) after exposure,” Dendrochronologia, vol. 25, no.
3, pp. 145–152, Mar. 2008.
[19] A. J. Travis, D. J. Hirst, and A. Chesson, “Automatic
Classification of Plant Cells According to Tissue Type using
Anatomical Features Obtained by the Distance Transform,”
Annals of Botany, vol. 78, no. 3, pp. 325 –331, 1996.
[20] B. Clair, J. Gril, F. Di Renzo, H. Yamamoto, and F. Quignard,
“Characterization of a Gel in the Cell Wall To Elucidate the
Paradoxical Shrinkage of Tension Wood,”
Biomacromolecules, vol. 9, no. 2, pp. 494–498, 2007.
[21] J. R. Bray and J. T. Curtis, “An Ordination of the Upland
Forest Communities of Southern Wisconsin,” Ecological
Monographs, vol. 27, p. 325, Oct. 1957.
[22] E. Forgy, “Cluster analysis of multivariate data: efficiency vs
interpretability of classifications,” Biometrics, vol. 21, pp.
768–769, 1965.
[23] http://www.regentinstruments.com/
[24] http://www.noesisvision.com/fr/index.html
[25] http://rsbweb.nih.gov/ij/index.html
[26] http://jung.sourceforge.net/doc/index.html
[27]
http://umramap.cirad.fr/amap2/logiciels_amap/index.php?page
=ficeler
65TECHNICAL ARTICLE: PART OF A SPECIAL ISSUE ON FUNCTIONAL–STRUCTURAL
PLANT MODELLING
Automatic identification and characterization of radial files
in light microscopy images of wood
Guilhem Brunel1,2,*, Philippe Borianne2, Ge´rard Subsol3, Marc Jaeger2 and Yves Caraglio2
1
CIRAD – UMR A51 AMAP, France, 2
University of Montpellier 2, France and 3
LIRMM – CNRS,
University of Montpellier 2, France
* For correspondence. E-mail guilhem.brunel@cirad.fr
Received: 31 October 2013 Returned for revision: 9 January 2014 Accepted: 31 March 2014
†Background and AimsAnalysis of anatomical sections of wood provides important information for understanding
the secondary growth and development of plants. This study reports on a new method for the automatic detection and
characterization of cell files in wood images obtained by light microscopy. To facilitate interpretation of the results,
reliability coefficients have been determined, which characterize the files, their cells and their respective measurements.
† Methods Histological sections and blocks of the gymnosperms Pinus canariensis, P. nigra and Abies alba were
used, together with histological sections of the angiosperm mahogany (Swietenia spp.). Samples were scanned
microscopically and mosaic images were built up. After initial processing to reduce noise and enhance contrast,
cells were identified using a ‘watershed’ algorithm and then cell files were built up by the successive aggregation
of cells taken from progressively enlarged neighbouring regions. Cell characteristics such as thickness and size
were calculated, and a method was developed to determine the reliability of the measurements relative to manual
methods.
† Key Results Image analysis using this method can be performed in less than 20 s, which compares with a time of
approx. 40 min to produce the same results manually. The results are accompanied by a reliability indicator that can
highlight specific configurations of cells and also potentially erroneous data.
† Conclusions The method provides a fast, economical and reliable tool for the identification of cell files. The reliability
indicator characterizing the files permits quick filtering of data for statistical analysis while also highlighting
particular biological configurations present in the wood sections.
Key words: Functional–structural plant modelling, image processing, microscopic wood images, radial cell file,
reliability coefficients, cellular structure, light microscopy, Pinus canariensis, P. nigra, Abies alba, Swietenia.
INTRODUCTION
Tree development is the result of both primary growth, involving
the elongation and branching of the axes, and secondary growth,
consisting of their thickening over time. Many approaches have
been developed to study the structural and functional aspects of
plants, particularly when used to address issues of carbon sequestration
and wood energy. These approaches, however, whether
examining secondary growth and its inter- or intra-specific variations,
or the relationships between primary and secondary
growth, are often based on only fragmentary studies due to the
fact that data acquisition is often costly (Rossi et al., 2009).
The description of primary growth can be more or less
extensive thanks to retrospective approaches (Barthe´le´my and
Caraglio, 2007; Krause et al., 2010) while dendrochronological
studies are generally performed only on portions of the ligneous
plane (coring). Here, the more detailed the observation level,
the shorter the part of the ligneous plane described by the data.
Secondary growth originates from cambial activity, the source
of the wood (xylem), and thus from the different cells that make
up the xylem (ligneous plane).
The biological typing (Lachaud et al., 1999) of cells can be
approached byexamining theirshape, size and spatial distribution,
independent of theirorganization. The findings can then beused to
determine theanatomicalchangesthat characterizexylem production
and differentiation phases (Thibeault-Martel et al., 2008;
Gue´don et al., 2013) without truly explaining wood production
or growth mechanisms.
Indeed, the mechanisms of cambial growth can be understood
only by studying cell pattern rhythmicity and cell disruption or
modification in space and time. A spatio-evolutionary perspective
mustthereforebeintroducedtodiscusstheseissues.Environmental
fluctuations and their effects on the differentiation of wood elements
(originating from the divisions of cambial cells) require
production to be monitored in specific cellular organizations.
Here, for the sake of simplicity, we consider two organizations:
first, the growth ring that reflects cell production over a given
time (Heinrich, 2007) and, secondly, the cell file that reflects
the activity of the initial cell over time (Rozenberg et al., 2004).
Nicolini et al. (2003) highlighted the importance of secondary
growth organization by studying cell motifs, spatial rhythmicity
and the variability of successive growth rings to characterize
plant space occupation strategies. This approach does not,
however, addressthe mechanisms of cell differentiation or the construction
of cell motifs and structures, which are time-dependent
mechanisms. The precise, dynamic monitoring of cambial
# The Author 2014. Published by Oxford University Press on behalf of the Annals of Botany Company. All rights reserved.
For Permissions, please email: journals.permissions@oup.com
Annals of Botany Page 1 of 12
doi:10.1093/aob/mcu119, available online at www.aob.oxfordjournals.org
by guest on July 3, 2014 http://aob.oxfordjournals.org/ Downloaded from production at the initial cells (Rossi et al., 2006; Rathgeber et al.,
2011) is technically limited to a small portion of the ligneous
plane. Thus, the studyof cell files, which result from cambial production
and its local and overall fluctuations, is a promising approach
to understanding the establishment, differentiation and
temporal rhythmicity of cells (Gindl, 2001).
Biological questions concerning interactions between the development
and growth of trees under environmental constraints
(Moe¨ll and Donaldson, 2001) may be addressed by: (1) determining
the contribution made to conduction and storage by the different
cell types in the ligneous plane; (2) determining the variability
of cell characteristics (vascularization elements, fibres, ray cells,
vertical parenchyma); and (3) breaking down this variability by
identifying that which can be attributed to ontogeny and that
which can be attributed to an environmental response.
To interpret and compare internal observations with observations
of external morphology, various parts of the plant’s architecture
must be studied simultaneously (Barthe´le´my and Caraglio,
2007). In particular, observations should distinguish between the
constitutive anatomical features of the plant (i.e. trunk, branch)
over time, and generate a sufficiently large sample for the use of
statistical tools.
However, these biological questions and their associated
characterizations are highly constrained due to cumbersome
protocols and the difficulties inherent in acquiring large datasets.
Indeed, a precise understanding of growth mechanisms and their
modelling has mostly been achieved by searching for invariants
in large observation samples, thus restoring intra- and interspecies
variability.
Progress made in the preparation of complete cross-sections of
axes for ligneous plane observation from a macroscopic to a
microscopic level without using histological sections (polishing),
combined with modern image acquisition equipment (stage for
programmed movements, vibratome, etc.), today provide access
to quality information on broad areas of the ligneous plane.
This technology, however, is hampered by its limited ability to
manage and process data. Acquiring a slice 10 cm in diameter
at × 200 magnification requires a mosaic of about 1000 images.
On average, each image contains 500 cells and the manual evaluation
of each image requires about 40 min using an image editor
(ImageJ, Photoshop). Cellular arrangements are identified by
studying several successive rings in several growth units, and
here the numberof images required istoo large for manual processing.
Usually, counts are made on three files per section (Rossi et al.,
2006) to save time and reduce costs.
Automating the study of cell files would make it easier to establish
tighter links to the functional and ecological aspects of
the species by having a better appreciation of the range of phenomena
variability. Wood provides a continuous record of all
the developmental changes undergone by a tree (ontogeny, the
least known) and a record over time of its environment (dendrochronology
and dendroclimatology, the most studied). One particular
concern with automated methods is the need to assess and
quantify the reliability of their results. This means establishing
reliability indicators for the results produced.
The automated identification of cell structures is one of the
new challenges to be met in studies of the structural biology of
plants (Quelhas et al., 2011), and requires a multidisciplinary
approach. In matters of (bio)-imaging, cell segmentation is a
problem that has been widely discussed in the literature
(Baggett et al., 2005; Fourcaud et al., 2008). For example, Park
and Keller (2001) combined four conventional image analysis
approaches to segment cells: watershed algorithm (Vincent
and Soille, 1991), snakes (McInerney and Terzopoulos, 1999),
multi-resolution analysis (Jeacocke and Lovell, 1994) and
dynamic programming. In the specific context of wood, cell segmentation
is generally combined with the determination of cell
type, i.e. its biological characterization. For example, Wang
et al. (2008) and Marcuzzo et al. (2009) sorted cells using the
support vector machines (SVM) classification. This is a supervised
incremental training method where the major challenge
is to create the training data set that is sufficiently representative
to recognize the intrinsic variability of individuals.
Instudiesofcellularorganization,certainauthorshaveusedgeometric
models based on topology. This also provides a description
of the cell’s surrounding environment. For example, the studies of
Jones and Bishof (1996) and Kennel et al. (2010) were based on a
graph that was orientated so as to extract cell files from images of
gymnosperms. More specifically, cells are extracted by applying
the watershed algorithm to the converted greyscale image. The
adjacency graph of the cells is then built from the basin diagram.
Cell typing obtained by the supervised classification method
(CART; Breiman et al., 1984) can thus be used to extract tracheid
alignments from the graph. This method is sensitive to the reinforcement
training used to classify biological types.
From a technical perspective, the searches we conducted
failed to find any software solutions suitable for the automatic
identification of cell files. Specialized commercially available
tools such as WinCell (Hitz et al., 2008) are intended for use in
the analysis of wood cells, but do not recognize or characterize
cellular organizations. Users have only limited or no possibility
of improving their functions. By contrast, commercial platforms
such as Visilog (Travis et al., 1996) offer a rich environment, but
are not sufficiently specialized, because although it is possible to
create macro functions (by assembling and configuring basic
ones), it is impossible to add new basic functions.
Open source platforms such as ImageJ (Clair et al., 2007) are an
interesting option as their source codes may be enriched by special
functions, and specialized macros may be developed. At the same
time, they facilitate method sharing and dissemination. It is thus
possible to develop new functions for automated processing. We
thus preferred this solution for our technical development.
In this paper we describe a cell file detection method that is
based solely on cell geometry (size and shape), not on biological
type, thus avoiding the bias and uncertainty inherent to the creation
of reinforcement learning representing biological variability.
Reliability indices are employed to determine the accuracy
of the results produced for both the geometrical parameters characterizing
the cell and its components (lumen and wall), and the
identification of cellular alignments. Results are presented from
application of the process to real images of wood slices, obtained
by a plugin implementation in ImageJ (Schneider et al. 2012), a
Java-based image analysis freeware.
MATERIALS AND METHODS
Study species
For the purposes of our study we examined histological sections
and blocks of gymnosperms, specifically Pinus canariensis,
Page 2 of 12 Brunel et al. — Automatic identification of radial cell files in wood
by guest on July 3, 2014 http://aob.oxfordjournals.org/ Downloaded from P. nigra and Abies alba. Results were extrapolated to angiosperms
by studying histological sections of Khaya ivorensis.
Any detailed studyof cell typology requires an examination on
multiple planes. In our study, we therefore considered only three
biological cell types: tracheids, which provide support and are
the main cells present in the radial cut; vessels; and rays. For
each cell we calculated its circularity, height, wall thickness,
and surface area of the cell and its lumen.
Preparation protocol and microscopy
Two preparation methods were evaluated to verify the general
applicability of the processing and analytical techniques used.
The conventional preparation method for the study of cell files
consists of creating a mosaic of histological sections from wood
cores. In practice, this approach does not guarantee the juxtaposition
of samples or tissue integrity. It is also relatively timeintensive
as it takes approx. 1 h to prepare a mosaic of ten stained
histological sections. Thus, this protocol is better suited to the
study of relatively smaller areas of observation. The study of
larger areas relies instead on the observation and measurements
of discs of sanded wood. We thus developed a protocol that
combined the sanding and polishing of wood discs to facilitate
automated measurements on the entire ligneous plane.
Thin histological cuts. Producing a single cross-section of
20–25 mm thickness using a vibratome takes approx. 5–15 min
depending on the case. The sections are then stained to increase
the wall/lumen contrast, with the dye binding to the wall. The
cleaningandstainingstepstake 30 min.Thefullprotocoltherefore
requires approx. 1 h per cut. This method is able to produce histological
section mosaics on several rings, depending on core
dimensions.
Sanded wood discs. Samples were taken from pine felled in April
2013. Wood discs (about 2.5 cm thick) were cut from the centre
of each growth unit. At this stage, it is important, although not
always easy, to obtain samples in which the two sides are as parallel
as possible. Samples were dried outdoors in the shade, sheltered
from the rain, from May to July. A belt sander (Festool BS
105) was then passed over the samples using successively finer
grit paper (60, 120 and 220).
The following equipment was used for the pre-polishing
and polishing steps: a semi-automatic polisher fitted with a
30-cm-diameter magnetic plate (Struers); abrasive discs (Sic
foil or paper depending on the grit used); wool polishing cloth
(MD MOL); alcohol-based lubricant (DP blue); and diamond
spray (spray DP). The discs were placed in the sample holder
and fixed with double-sided tape. Disc processing is outlined
in Table 1.
After the last step, the samples were removed from the holder
and rinsed with deionized water. To avoid damage, care was
taken not to touch the fragile polished side of the samples. To
protect from dust, the samples were wrapped in a laboratory
fibre paper. Images were acquired the next day.
Scanning. Scanning, which is performed within 24 h of sample
preparation, consists of producing a mosaic of images representing
the observation area. The time between sample preparation
and scanning must be as short as possible such that the natural
drying of the wood does not produce microdeformations affecting
the uniformity or ‘flatness’ of the surface, thus compromising
the sharpness of the images produced.
In our study, the transverse planes were scanned byan Olympus
DP71 LCD camera mounted on an Olympus BX51 microscope
equipped with a movable stage, thus allowing, by gradual movements
of the slide, the creation of a mosaic of images.
A magnification of × 200 was used to obtain significant cell
surfaces while maintaining a large enough study area.
The position of the mosaic image is determined by the x and y
movements of the stage. Here, the maximum viewing area was
10 × 10 cm2
, corresponding to a mosaic of about 1500 images.
Each image was defined by 1600 × 1200 pixels, which were
encoded on 3 bytes in the RGB system. The images may be
blurred locally or peripherally due to optical distortions or variations
in sample thickness.
Image analysis
The image analysis process followed a three-step sequence,
starting with cell identification, then cell geometrical characterization
and finally file detection. Cell typing and a determination
of the reliability of the results obtained are detailed below.
Each image processing step was itself divided into several
tasks, as described below.
Cell segmentation. This first step aimed to identify the different
cells in the original image. It was divided into three tasks:
image noise reduction preprocessing, contrast enhancement by
filtering and colour to greyscale conversion, and cell identification
from basins generated by the watershed algorithm.
Image noise reduction. At the magnifications used, the images
acquired showed ‘salt and pepper’-type noise, caused by heat
from the lamp. This noise was attenuated using a median filter
applied on a 5 × 5-pixel neighbourhood.
TABLE 1. Sanded wood discs protocol.
Step 1 Step 2 Step 3 Step 4 Step 5 Step 6
Abrasive type Sic Foil 320 Sic Foil 500 Sic Foil 800 Sic Foil 1200 Sic paper 4000 MD MOL
Disc rotation (r.p.m.) 150 150 150 150 150 150
Rotating sample holder 150 150 150 150 150 150
Direction of rotation ≫≫≫≫ ≫ ≫
Vertical force (N) 120 120 120 120 120 120
Duration of step (min) 2 2 2 2 2 5
Liquid lubricant Water Water Water Water Water DP blue
Abrasive product DP spray P3
Brunel et al. — Automatic identification of radial cell files in wood Page 3 of 12
by guest on July 3, 2014 http://aob.oxfordjournals.org/ Downloaded from Contrast enhancement. The micrographs showed alternating light
areas, corresponding to the lumen, and dark areas, corresponding
to the wall. To enhance the contrast between different areas in the
image and highlight the walls and lumens, we used a Difference
of Gaussian (DoG) operator (Haddad and Akansu, 1991). This
filter acts as a band-pass, only letting through the frequency
range corresponding to the lumen and filtering out the noise
present at higher frequencies. The first image was built from a
slightly blurred Gaussian filter application with smoothing
factor being selected close to average wall size. The second
imagewas built from a heavily blurred Gaussian filterapplication
with smoothing factor tenfold that used for the first image. The
heavily blurred image was then subtracted from the slightly
blurred image. These operations were performed on colouir
images, with negative values being set to zero. This process
boosts the intensity of the lumen while substantially reducing
wall intensities.
From colour to greyscale images. The choice of colour system
is an important aspect of colour image processing. Several
studies have shown that the ‘best system’ depends on image
contents (Busin et al., 2009). For our study, we preferred the
RGB system in which colours correspond to the wavelengths
that stimulate the three cones of the human eye. This system
can define all the hues but not all the saturations.
However, if the watershed algorithm is to be applied, a colour
to greyscale image conversion is required, given that our intention
was to avoid basing automated processing on human perception.
Instead to use the relative luminance formula, which give
less weight to blue and moreweight to red and green components,
we preferred to apply a simple average of the three colour
channels.
Cell extraction and identification. Cell extraction from the grayscale
imagewas based on thewatershed algorithm. This powerful
algorithm (Vincent and Soille, 1991) considers the image as
a landscape, with altitude is given by grey values. Here, the
lower points in the topographic relief, corresponding to dark
regions, act as catchment basins (as if a drop of water were
to fall onto the topography) and are separated by a watershed,
represented by the lighter pixels.
These catchment basins are thus obtained from a partition of
the image. The crest lines constitute the intercellular border,
corresponding to the middle lamella (Fig. 1C). The watershed
algorithm is known to produce an exaggerated partitioning,
resulting in lines that abnormally intersect cells. This phenomenon
is due to the fact that each local minimum in the image produces
a potential catchment basin. Typically, two methods are
used to reduce or even eliminate the exaggerated partitioning:
a priori filtering of the local minima values (Gilmore and
Kelley, 1995) used to initialize the watershed, or a posteriori
merging of similar adjacent basins in terms of both mean and
minimal intensity (Beucher, 2012). Neither method guarantees
perfect cleaning of the watershed lines. Here, we propose a
method based on the biological observation that the lumen of
the cell is empty. Hence, if a watershed line crossing a lumen
shows a characteristic intensity profile whose overall maximum
is greater than athreshold experimentally set from average lumen
values, then it will be deleted. Conversely, a watershed line near
the middle lamella contains only values below the low-intensity
threshold (Brunel et al., 2012).
After cleaning the watershed. An adjacency graph of the basins
was used to describe the neighbouring relationships between
the different basins. This is a simple graph conventionally
defined by a set of vertices and a set of edges. More precisely,
each edge of the graph connects the geometric centres of two
neighbouring basins, i.e. incidents at the same crest line.
Geometric properties at the cell scale. Each cell was then individualized.
Cells are composed of two anatomical structures: the
wall and the lumen. On the original colour image, these structures
are automatically divided into two classes by an unsupervised
two-means classification algorithm (Forgy, 1965), also
equivalent to Otsu’s thresholding operator. The bright pixels
class corresponds to the lumen and the dark pixels class to the
wall. Surface areas are calculated simply by counting the pixels
in each class.
Cell geometrical properties at larger scales: the global cell
arrangement orientation. When considering a basin in the adjacency
graph, it can be seen that the cells are arranged in a staggered
manner, and the edges of the graph are orientated in
three directions. At the full graph scale, the most frequent orientation
corresponds to the cellular alignments. This is defined as
the main direction. We will use the method originally described
by Jones and Bishof (1996) and reused by Brunel et al. (2012),
studying the distribution (via a histogram) of the angle that
each edge of the adjacency graph forms with the horizontal.
In theory, due to the arrangement of the cells, the distribution
should be trimodal and show at least one marked amplitude
mode. The mode of the greatest amplitude indicates the most
represented orientation in the adjacency graph, i.e. the main
A B
C D
FI G. 1. Cell individualization for a Mahogany cross section. (A) Native image.
(B) Watershed segmentation results with crest lines (in green) crossing the lumen.
(C) cleaned watershed image with crest lines replaced by curvilinear edges (in
yellow). The edges correspond to the middle lamella while the geometric
centre of the watershed (extra points in yellow) correspond to the biological
cells. (D) Dual watershed image, in which the red lines connect each cell
centre with its neighbours (adjacency graph). Note that the degree of connections
is greater than 4, showing the staggered pattern of the cells.
Page 4 of 12 Brunel et al. — Automatic identification of radial cell files in wood
by guest on July 3, 2014 http://aob.oxfordjournals.org/ Downloaded from orientation of the files (Fig. 2). This mode is retrieved by searching
the histogram maximum amplitude.
File detection
The process used to identify cell files in an image is based on
the following assumptions: (1) files are pair-wise alignments of
similar cells (in terms of size and shape) and (2) cell alignments
are independent of the orientation of the image.
File identification is based on a double scale constructive
approach, applied to the adjacency graph. The first step builds
cell alignments, i.e. candidate cell files under spatial and geometric
constraints. The second step manages the case of alignment
recoveries. Finally, the resulting isolated alignments are linked
to build cell file fusions.
(1) Building alignments by applying spatial and geometric constraints.
This task extracts the longer rectilinear straight paths
of ‘geometrically similar’ vertices from the adjacency graph.
In other words, it detects a vertex sequence along which the
surface of the underlying basin varies gradually. These alignments
are constructed step bystep, bysuccessive aggregations of vertices.
More specifically, it means finding which vertex w of the graph
must be added at the end of the v line under construction to
complete it.
The angulation (direction) constraint. Let us define the vertex
neighborhood Nk(vi) of rank k as the set of vertices located at a
geodesic distance k from vertex vi. Let us then define the angulation
A(vi,w) as the angle defined from the complement to 1808 of
(vi21, vi, w) where vi and vi21 are the last two vertices of the built
alignment and w is the candidate vertex. The angulation can be
used to choose the best candidate w that minimizes the angular
offset from the reference direction, i.e. the current cell alignment.
In no cases may this angle be greater than a threshold which is
given by a decreasing linear function (to 358 at 108) that itself
is dependent upon the geodesic distance. For the first two file
cells the angulation value is defining according to the main orientation.
The vertex solution w is selected from among the wk
vertices of the Nk(vi) set and is the vertex most geometrically
similar and nearest to the file axis. In fact, for a given geodesic
distance k, at most two vertex candidates are considered, i.e.
the two closest vertices (wa and wb) lying on either side of the
axis formed by the last two geometric centres of the cells of
the file under construction (Fig. 3).
The geometrical similarity constraint. The candidate most geometrically
similar to vertex vi is retained. The geometrical comparison
is performed based on their mutual underlying basins.
Let GSpq be the geometric similarity index between two vertices
p and q that is given by the normalized difference between the
surface areas Sp and Sq
GSpq = |Sp − Sq|
(Sp+Sq) (1)
The more the index tends toward 0, the more similar the cell
surface areas. This index is particularly well suited to softwoods
in which the shape and surface area of the tracheid varies very
little. For angiosperms, the index is a good indicator of rough
size ruptures while permitting continuous and progressive
surface area variations.
In practice, if the smallest GSpq value is lower than 0.5, the candidate
is assigned to the current alignment. If the geometric similarity
index of the vertices is greater than 0.5, the candidate is
20
0
40
60
80
100
120
140
160
180 A
B
0
–90 –45 0
Angle (°)
45 90
50
100
150
Frequency Frequency
200
FI G. 2. Histograms showing the angle distribution on the full adjacency graph;
each angle is defined by an adjacency graph edge direction on the x axis. (A) The
main mode centred on 08 corresponds to horizontal files. (B) The main mode is
split on the [–908, +908] interval borders.
Main orientation
Vi –1 Vi
k = 2
k = 1
Wa
Wb
Wc
Wd
FI G. 3. The angulation (direction) constraint. The red dashed line correspondsto
the file axis. The vertices (vi21, vi) define the current alignment. The blue and
green dashed line boxes show the study neighbourhood at different ranks. Cells
wa and wb are the candidates located at a geodesic distance of 1. Vertex wd is
not considered because it is above the angular threshold (blue line) and vertex
wc is not considered because vertex wb is closer to the file axis.
Brunel et al. — Automatic identification of radial cell files in wood Page 5 of 12
by guest on July 3, 2014 http://aob.oxfordjournals.org/ Downloaded from rejected, the geodesic distance k is incremented and the process is
repeated. The neighbourhood explored is progressively enlarged
to a geodesic width of 5, at which point the construction of the
alignment stops. This neighbourhood width was an experimental
limit set arbitrarily by the wood anatomists involved in the project.
Before validating the alignment as a cell file section, a feedback
control test is applied as the construction process should
be reversible.
This feedback uses the main orientation of the file as a reference
to reduce file drift. When a vertex w is chosen, a check is
performed that the reciprocal is true, i.e. that we obtain current
vertex v when falling back from vertex w using the main orientation
of the files as a directional reference. If reciprocity is not
confirmed, the construction of the file stops. If it is confirmed,
the vertices located on the shortest path linking v to w are
added to the cell alignment by the Dijsktra algorithm (Cormen
et al., 2001). The criteria employed are described in the next
section. Finally, vertex w becomes the new extremity of the
alignment and the search process is repeated until the alignment
construction stops.
Once stopped, the detected alignment builds a candidate
cell file. The two next steps (recovery management and fusion)
then concern the cell file level.
(2) Managing recoveries. During construction, some vertices may
be assigned to multiple files due to the presence of biological
organizations (vessels and channels) that disrupt the staggered
arrangement. The assignation of these vertices to the most
optimal file is solved by the shortest path search algorithm in
the adjacency graph. The Euclidean distance between the geometrical
centres of the watershed basin is used as a criterion.
This distance sums the angle and shape considered in file building.
The greater the angular deviation, the greater the Euclidean
distance. The greater the size difference between successive
cells, the greater the Euclidean distance. The shortest path in
terms of Euclidean distance corresponds to the best alignment.
As above, we use the Dijsktra algorithm here, and the
corresponding vertices are then removed from the other files,
which will be fractionated.
(3) Linking isolated cell file sections. Due to the presence of
intrusions, cell tears or limitations of the watershed algorithm,
the file identification process may cause isolated file sections to
appear (Fig. 4). Here, merging can be used to concentrate
several parts of the files using simple topological rules to establish
whole files, based on file adjacency (Brunel et al., 2012).
Let us assume that two files are adjacent when two of their
cells are adjacent.
The merging process isthen based on two furtherassumptions:
(1) each file crosses the image from one side to the other and (2)
the files do not intersect. A file section does not fulfil the first
assumption, i.e. one or both tip(s) do(es) not match with the
underlying image border.
From those assumptions, we deduce a property resulting from
file adjacency.
Given two file sections T2 and T2′ adjacent to files F1 and F3,
it is highly likely that T2 and T2′ are two parts of a single F2 file.
In other words, T2 and T2′ are located between F1 and F2.
Note that, under the exposed assumptions, restricted cases of
file merging concern only sections between two lines crossing
the image from side to side. In other cases, it was decided to
leave the situation at the expert’s discretion and evaluation.
This method creates files or sections of files with high con-
fidence (Fig. 5, right). Note that isolated cells or artefacts (due
to segmentation errors or to poor image resolution preventing
an acceptable segmentation) cannot be part of any file and no
attempt is made to connect them to a file. Complex cases are
left to the discretion of the user.
Typing
Cell typing is the ultimate step as used to classify the different
cells present (fibrous, tracheids, vessels, rays, etc.). It is based on
the geometric and densitometric characterization of the catchment
basins associated with the cells’ adjacency graph vertices.
Unlike Kennel et al. (2010), we decided to discard supervised
classification due to the difficulties encountered in providing
reinforcement training that is both sufficiently complete and
representative of biological variability.
A decision tree (Fig. 6) was established with wood anatomists
and is based on the following observations that are sequentially
tested:
(1) The perimeter of the cells, denoted P, can be used to differentiate
‘large’ structures from generally ‘small’ cells.
(2) The circularity coefficient (Zunic and Hirota, 2008) is given
by a weighted ratio between the surface area and the squared
perimeter –4p (area/perimeter2
). Circularity ranges between
0.0 and 1.0: the circularity of a circle is 1, and is far less than
for a starfish footprint. Values may not be valid for very small
particles due to the definition of perimeter and area in a square
grid.
The thresholds used in the decision tree are re-evaluated for
each image by automated classification of their numerical
values. The classifier used is an implementation of two-means
clustering. This conventional data mining method consists of
A
B
FI G. 4. Linking isolated sections. (A) Result of linkage processing without connection.
(B) Result with connection. One colour is used per file.
Page 6 of 12 Brunel et al. — Automatic identification of radial cell files in wood
by guest on July 3, 2014 http://aob.oxfordjournals.org/ Downloaded from FI G. 5. Left. The native image; the images show different the preparations (sanded wood and stained histology sections), species (Pinus, fir, Pinus, mahogany) and
clades (gymnosperm and angiosperm) that were processed. Right. Automatic identification of cell files; random colouring is used to enhance the visibility of the identified
files (these colours should not to be confused with the reliability index colour).
Brunel et al. — Automatic identification of radial cell files in wood Page 7 of 12
by guest on July 3, 2014 http://aob.oxfordjournals.org/ Downloaded from allocating n observations in two clusters to minimize the intraand
maximize inter-class standard deviation. The threshold is
therefore assigned by the median value between the upper
bound of the weakest group and the lower bound of the strongest
group.
Beyond the identification of alignments and biological typing,
the anatomist requires a set of numerical results characterizing
the shape, size and nature of more or less complex biological
structures (walls, lumen, cells, files, etc.). These characteristics
are defined by parameters that are automatically evaluated. In
the context of mass processing, it is advantageous to be able to
qualify the accuracy of these evaluations. A certainty index is
thus assigned to each one calculated, whether it focuses on the
cells, their components or their alignments.
Reliability
Intuitively, the computed measures will be more or less close
to the true value depending on the cumulative errors stemming
from image quality, biological configuration and algorithmic
approximations. It is therefore important to assign each result a
reliability estimation.
A file f must be sufficiently long to be significant; its length
Lf must be greater than threshold L. L is defined from the
length Lf distribution analysis. For each image the threshold is
re-evaluated to reflect the biological characteristics inherent to
each of them as a file must be composed of similar cells in
terms of shape, size and appearance. For the sake of simplicity,
these three criteria are reduced to the single height of cells
defined from all points in the normal direction of the file. This
simplification stems from the maturation mechanism of tracheids,
for which cell variations only concern cell extension,
not thickening. Clearly, this mechanism cannot be applied to
broadleaved trees, but in practice this single criterion appears
to be sufficient to characterize the continuous variation observed
in the cell files of broadleaved trees. As a result, the heights H and
Hj+1 of consecutive cells in file f are compared. The reliability
coefficient Rf of file f is described by a product of standardized
terms ranging from 0 to 1.
Rf = 1 − max
L − Lf
L , 0
n−1
j=0
1 − |Hj − Hj+1|
Hj + Hj+1
(2)
The closer the coefficient to 1, the more reliable file f.
By analogy, we can determine reliability coefficients for
the geometrical parameters that characterize file cells. The expression
for this coefficient will depend on the nature of each
parameter and more specifically on the factors influencing that
parameter. The surface area of the basin is independent of
local image blur because it is obtained by watershed segmentation,
while the surface area of the lumen is highly sensitive to
local image blur because it is obtained by an intensity classification.
The reliability coefficient for the lumen is therefore directly
related to blur level. Ladjal (2006) defined a blur indicator that
characterizes the spread of maximum intensity amplitudes, i.e.
the speed at which the signal passes from the lowest to the
highest intensity. This is defined by the following expression
where p(x) shows the pixel intensity of a basin and p′
(x) the
variance.
ℑ( p) = maxx[Rp(x) − minx[Rp(x)
maxx[R| p′
(x)| = amplitude(I)
max(|∇I|) (3)
When the coefficient is high, blur is strong. The reliability coef-
ficient for lumen surface area (Ils) is defined below where threshold
Ts is defined by studying lumen variation using a Gaussian
blur. Surface areas above the threshold are not significant.
Ils =
0 if ℑ( p) . Ts
1 − ℑ( p)
Ts
else
⎧
⎨
⎩
(4)
Note that the accuracy of the surface areas and circularities are
sensitive to the size of the objects measured; for example, the circularity
of a discrete circle (Andre`s, 1994) is meaningful only
above 10 pixel rays.
Parameter computation
Our method produces several layers of results corresponding
to different observation levels: (1) radial files are classified
according to their length and their cellular self-similarity, (2)
cells are characterized by geometric size, diameter, shape, etc.,
and (3) cell components (wall, lumen) are characterized by geometric
parameters (size, thickness, diameter, etc.).
The method has been implemented in Java and integrated as a
plug-in for ImageJ freeware. As an indication, the plug-in allows
images consisting of 1600 × 1200 pixels to be processed in less
than 20 s on a computer with an Intel Q720 processor clocked at
1.6 GHz.
RESULTS AND DISCUSSION
The study described herein aimed to compare the results produced
by our method with those in an expert database containing
12 images whose cells had been manually cropped by wood
anatomists. Our results were obtained without any specific user
settings (Fig. 5): all parameters were automatically re-evaluated
by the application based on the intensity histogram generated
foreach image. The different tests conducted allowed usto evaluate
the limitations of our method, namely with regard to different
biological contexts, different preparation protocols, and diverse
and varied acquisition conditions. The tests were essentially
Fibre Yes
No
Ray
Vessel
TC > Ccell
TP>Pcell Yes
No
FI G. 6. Decision Tree.Tp correspondsto the threshold of the perimeterandTc the
threshold of circularity. The thresholds are automatically rated by a two-means
clustering applied to all values from the image. Only cells with a lumen are processed
by the decision tree.
Page 8 of 12 Brunel et al. — Automatic identification of radial cell files in wood
by guest on July 3, 2014 http://aob.oxfordjournals.org/ Downloaded from
Int´egration et exploitation de besoins en entreprise
´etendue fond´ees sur la s´emantique
Ilyes Boukhari
To cite this version:
Ilyes Boukhari. Int´egration et exploitation de besoins en entreprise ´etendue fond´ees sur la
s´emantique. Other. ISAE-ENSMA Ecole Nationale Sup´erieure de M´ecanique et d’A´erotechique
- Poitiers, 2014. French. .
HAL Id: tel-00942081
https://tel.archives-ouvertes.fr/tel-00942081
Submitted on 4 Feb 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.Ecole Nationale Supérieure de Mécanique et d’Aérotechnique
Laboratoire d’Informatique et d’Automatique pour les Systèmes
THESE
pour l’obtention du Grade de
DOCTEUR DE L'ÉCOLE NATIONALE SUPÉRIEURE
DE MÉCANIQUE ET D'AEROTECHNIQUE
(Diplôme National — Arrêté du 7 août 2006)
Ecole Doctorale : Sciences et Ingénierie pour l'Information, Mathématiques
Secteur de Recherche : INFORMATIQUE ET APPLICATIONS
Présentée par :
Ilyès BOUKHARI
*******************************************************
Intégration et exploitation de besoins en entreprise
étendue fondées sur la sémantique
*******************************************************
Directeurs de Thèse : Ladjel BELLATRECHE et Stéphane JEAN
Soutenue le 14 Janvier 2014
devant la Commission d’Examen
Rapporteurs : Bernard ESPINASSE Professeur, Université d’Aix-Marseille, Marseille
Jérôme GENSEL Professeur, LIG, Grenoble
Examinateurs : Yamine AIT AMEUR Professeur, ENSEEIHT, Toulouse
Omar BOUSSAID Professeur, ERIC, Université Lyon 2
Hendrik DECKER Professeur, Instituto Tecnológico de Informática, Valencia
Dominique MERY Professeur, LORIA, Nancy
Ladjel BELLATRECHE Professeur, ISAE-ENSMA, Poitiers
Stéphane JEAN Maître de conférences, Université de Poitiers
JURYRemerciements
Je remercie avant tout, ALLAH tout puissant qui m’a donné la volonté et la patience pour accomplir
ce travail.
Mes remerciements les plus sincères s’adressent à :
Ladjel BELLATRECHE, mon directeur de thèse, pour m’avoir guidée pendant les trois années de
thèse. Je le remercie pour la confiance qu’il m’a témoignée, pour ca disponibilité, pour ses précieuses
orientations, pour sa passion pour la recherche et pour son soutien aussi bien sur le plan humain que
scientifique;
Stéphane JEAN, mon co-directeur de thèse, pour m’avoir conseiller tout au long de ma thèse;
Yamine AIT AMEUR et Emmanuel GROLLEAU, directeurs du LISI et du LIAS, pour m’avoir
accueillie au sein du laboratoire;
Jérôme GENSEL et Bernard ESPINASSE de m’avoir fait l’honneur d’être rapporteurs de cette
thèse et à qui je souhaite exprimer ma profonde reconnaissance;
Dominique MERY, Omar BOUSSAID, Hendrik DECKER et Yamine AIT AMEUR pour avoir
accepté d’être membres du jury en tant qu’examinateurs. Je suis très honorée de l’intérêt qu’ils ont porté
à mes travaux;
Tout le personnel du LIAS pour leur présence et leur soutien cordial. Je pense en particulier à
Laurent GUITTET, Zoe FAGET, Michaël BARON, Allel HADJALI, Frédéric CARREAU et Claudine
RAULT.
Tous les membres du LIAS et particulièrement Ahcene BOUKORCA, Selma BOUARAR, Selma
KHOURI, Yassine OUHAMMOU, Amira KERKAD, Chedlia CHAKROUN, Soraya CHACHOUA,
Youness BAZHAR, Samia BOULKRINAT,Zahira, Soumia BENKRID, Thomas LACHAUME, etc;
Mes amis et collègues Salim, Walid, Tarek, Fateh Ahcene, Messaoud, Lotfi, Mohamed, Yassine,
Nourddine, Abdelghani, Zakaria, Zouhir, Nadir, Okba, Moncef, Issam, Lassad, Idir, etc.;
Enfin et surtout à ma famille et particulièrement à mes parents, ma femme, mes enfants, mes deux
frères Billel et Zakaria, mes sœurs Ahlem, Liela, Hadjer et Maroua pour leur soutien sans faille.Je
leur dédie cette thèse.
iiiA mon Algérie bien-aimée. Mes parents,
Ma grand-mère
Ma femme Amina,
Mes enfants (Youcef et Ayoub),
Mes sœurs et mes frères,
vTable des matières
Chapitre 1 Introduction générale 1
1 Contexte et problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Nombre croissant de partenaires . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Hétérogénéité des vocabulaires . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Hétérogénéité des langages de modélisation des besoins . . . . . . . . . . . 7
1.4 Exigence des relations complexes entre les besoins . . . . . . . . . . . . . . 7
1.5 Évolution des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Notre Démarche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Organisation du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Partie I État de l’art
Chapitre 2 L’expression des besoins : un état de l’art 17
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
viiTable des matières
3 Processus d’ingénierie des Besoins . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Langages de modélisation des besoins . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1 Langages informels (langage naturel) . . . . . . . . . . . . . . . . . . . . . 26
4.2 Langages semi-formels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Langages formels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Approches et méthodes pour l’expression des besoins . . . . . . . . . . . . . . . . 29
5.1 Approches dirigées par les buts . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.1 GQM : Goal Question Metric . . . . . . . . . . . . . . . . . . . 30
5.1.2 KAOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.3 iStar (i*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Approches à base de scénarii . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Approches basées sur les automates et réseaux de Petri . . . . . . . . . . . 35
6 Problématiques liées à l’expression des besoins . . . . . . . . . . . . . . . . . . . . 37
7 État des lieux sur l’intégration et l’analyse des besoins . . . . . . . . . . . . . . . . 37
7.1 L’intégration des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.1.1 Exemples d’approches dirigées par des méthodes issues de la logique
mathématique . . . . . . . . . . . . . . . . . . . . . . . . 37
7.1.2 Approches dirigées par IDM . . . . . . . . . . . . . . . . . . . . 38
7.2 L’analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Chapitre 3 Les ontologies au service de l’Ingénierie des Besoins 43
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2 Ontologies de domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1 Définitions et caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2 Une taxonomies des ontologies de domaine . . . . . . . . . . . . . . . . . . 46
2.2.1 Les Ontologies Linguistiques (OL) . . . . . . . . . . . . . . . . . 47
2.2.2 Les Ontologies Conceptuelles (OC) . . . . . . . . . . . . . . . . 47
viii2.3 Les langages de définitions des ontologies . . . . . . . . . . . . . . . . . . 48
2.3.1 Langages orientés gestion et échange de données . . . . . . . . . 48
2.3.2 Langages orientés inférence . . . . . . . . . . . . . . . . . . . . 50
2.4 Les éditeurs d’ontologies . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.5 Représentation formelle d’une ontologie . . . . . . . . . . . . . . . . . . . 53
3 Ontologies et l’intégration : application aux sources de données hétérogènes . . . . 54
3.1 Intégration sémantique a posteriori . . . . . . . . . . . . . . . . . . . . . . 54
3.2 Intégration sémantique a priori . . . . . . . . . . . . . . . . . . . . . . . . 56
4 Les ontologies dans l’IB : état de l’art . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1 L’analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 L’intégration des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Ontologies, besoins et le cycle de vie de conception . . . . . . . . . . . . . 60
4.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Partie II Contributions
Chapitre 4 Unification des vocabulaires et des langages de modélisation des besoins 65
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2 Nos hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3 Unification des vocabulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.1 Étude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.1.1 Le modèle Orienté buts . . . . . . . . . . . . . . . . . . . . . . . 70
3.1.2 Le modèle des cas d’utilisation . . . . . . . . . . . . . . . . . . . 72
3.1.3 Le Modèle Conceptuel de Traitements (MCT) . . . . . . . . . . . 73
ixTable des matières
3.2 Couplage des modèles utilisés avec l’ontologie . . . . . . . . . . . . . . . . 76
3.2.1 Méta-modèle de l’ontologie partagée . . . . . . . . . . . . . . . . 76
3.2.2 Couplage des trois langages proposés avec les ontologies locales . 77
4 Unification des langages de modélisation des besoins . . . . . . . . . . . . . . . . . 81
4.1 Proposition d’un modèle pivot des besoins . . . . . . . . . . . . . . . . . . 82
4.2 Couplage de modèle pivot à l’ontologie . . . . . . . . . . . . . . . . . . . . 83
5 Un exemple d’utilisation de notre méthode d’intégration . . . . . . . . . . . . . . . 85
6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Chapitre 5 Vers une Fusion de méta-modèles des langages de modélisation des besoins 89
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2 Fusion des méta modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3 Connexion du méta-modèle générique avec l’ontologie . . . . . . . . . . . . . . . . 93
4 Raisonnement sur les besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.1 Scénarii de raisonnement . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.1.1 Scénario 1 : ship whole . . . . . . . . . . . . . . . . . . . . . . . 96
4.1.2 Scénario 2 : reason as needed . . . . . . . . . . . . . . . . . . . 97
4.2 Étude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.3 Relations sémantiques entre les besoins : Définition & Formalisation . . . . 99
4.4 Évaluation du processus de raisonnement . . . . . . . . . . . . . . . . . . . 102
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Chapitre 6 Exploitation des besoins pour la conception physique 105
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2 La conception physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3 Conception physique dirigée par les besoins . . . . . . . . . . . . . . . . . . . . . 109
3.1 La sélection des index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.2 La fragmentation horizontale . . . . . . . . . . . . . . . . . . . . . . . . . 111
4 Persistance des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.1 Le langage d’exploitation OntoQL . . . . . . . . . . . . . . . . . . . . . . 112
x4.2 Persistance des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.3 Génération des requêtes SQL . . . . . . . . . . . . . . . . . . . . . . . . . 114
5 Expérimentation et évaluation de notre proposition . . . . . . . . . . . . . . . . . . 116
5.1 Structures d’optimisation comme des services . . . . . . . . . . . . . . . . 116
5.2 La sélection des index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.3 La fragmentation horizontale . . . . . . . . . . . . . . . . . . . . . . . . . 117
6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Chapitre 7 Prototype de validation 121
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
1.1 Langages et outils utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2 Architecture fonctionnelle de OntoReqTool . . . . . . . . . . . . . . . . . . . . . . 123
2.1 Les modules de la partie intégration . . . . . . . . . . . . . . . . . . . . . . 123
2.2 Les modules de la phase d’exploitation . . . . . . . . . . . . . . . . . . . . 127
3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Chapitre 8 Conclusion générale 133
1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
1.1 Bilan des contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
2.1 Autres langages de modélisation des besoins . . . . . . . . . . . . . . . . . 136
2.2 Etude du passage à l’échelle de nos propositions . . . . . . . . . . . . . . . 137
2.3 Définition des architectures d’intégration . . . . . . . . . . . . . . . . . . . 137
2.4 Prise en compte de l’évolution . . . . . . . . . . . . . . . . . . . . . . . . 137
2.5 Elaboration d’un cycle de vie de conception d’applications avancées . . . . 137
Bibliographie 139
Annexes 149
Table des figures 155
xiTable des matières
Liste des tableaux 159
Glossaire 161
xiiChapitre 1
Introduction générale
Sommaire
1 Contexte et problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Notre Démarche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Organisation du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
11. Contexte et problématique
1 Contexte et problématique
L’une des conséquences de la mondialisation est la multiplication des entreprises étendues. Une
entreprise étendue est caractérisée par un nombre important de sous-entreprises et/ou des sous-traitants.
Nous pouvons citer l’exemple de l’entreprise Airbus qui implique quatre sites dans différents pays : Hambourg
(Allemagne), Filton (Angleterre), Toulouse (France) et Madrid (Espagne). Chaque site possède un
nombre important de départements et de services. Pour développer un système ou une application complexe
dans une telle entreprise, plusieurs acteurs qui n’utilisent pas le même vocabulaire, voir le même
langage, sont impliqués. Pour faciliter leur travail, des solutions d’intégration pourraient être utilisées
tout en omettant les barrières fonctionnelles, organisationnelles, technologiques et culturelles. Rappelons
qu’un système d’intégration consiste à fournir une interface unique, uniforme et transparente aux
objets concernés par le processus d’intégration. Ces derniers peuvent être des données, des applications,
des plateformes, etc. via un schéma global qui peut être localisé dans un médiateur [125] ou un entrepôt
de données [82]. Les solutions d’intégration permettent aux entreprises qui les utilisent : (i) d’augmenter
le pouvoir décisionnel de l’entreprise étendue. Par exemple, plusieurs entreprises ayant développé des
entrepôts de données (un cas particulier des systèmes d’intégration de données) ont qualifié ce projet de
succès story. On peut citer l’exemple de l’entreprise Coca Cola, Wal-mart 1
et le groupe français Casino
2
, (ii) de réduire les coût de traitement en partageant les ressources (par exemple, la puissance de
calcul), (iii) d’identifier les activités redondantes qui pourraient être traitées dans certaines entreprises
partenaires. Cette identification permet de réduire les coûts de développement ce qui est particulièrement
important en période de crise économique. Si nous reprenons notre exemple d’Airbus, pour faire face
aux problèmes de retard dans le programme de l’avion A380, cette entreprise a lancé le projet Power 8
en 2007 qui a permis entre autre d’identifier les activités redondantes dans certains services délocalisés,
et (iv) d’augmenter de la compétitivité de l’entreprise.
Depuis deux décennies, de nombreux travaux académiques liés à l’intégration ont été développés. Ils
concernent plusieurs volets : (i) l’intégration des données (Entreprise Information Integration (EII)), (ii)
les applications (Entreprise Application Integration (EAI)) et (iii) les plateformes. Une véritable industrie
autour des systèmes d’intégration a été créée [46, 63] et plusieurs entreprises proposent des solutions
d’intégration. Parmi les trois volets citées et illustrées sur la figure 1.1, l’intégration des données occupe
une place prépondérante. Elle est en effet un enjeu important, comme l’indiquait Alon Halevy et al. dans
son article intitulé : Data Integration : The Teenage Years, qui a eu le prix 10 Year Best Paper Award à la
conférence Very Large Databases (VLDB’2006).
En analysant les dimensions concernées par l’intégration, nous avons identifié l’absence des besoins
des utilisateurs. Cependant, un nombre important d’études a montré que les échecs dans la mise en œuvre
et l’exploitation des projets informatiques sont souvent dus à une mauvaise compréhension des besoins
ainsi qu’à des incohérences, et des ambiguïtés de leurs définitions [1, 4, 57, 87]. Les besoins peuvent
également contribuer à l’identification des activités redondantes. Rappelons que plusieurs approches de
conception des applications avancées sont censées être centrées utilisateur. Cette approche consiste à
considérer les utilisateurs et leurs besoins tout au long du processus de développement d’applications
informatiques. Parmi les systèmes concernés par cette approche, nous pouvons citer les base de données
1. Computer Business Review, October 1996
2. http://www.lsis.org/espinasseb/Supports/DWDM-2013/2-Intro-Entrepots-2013.pdf
3Chapitre 1. Introduction générale
Systèmes Réseaux SGBD
Business
Process
EAI
BD Fédérées
EII
Standards J2EE
Web Services
Intégration d’applications
Intégration de données
Intégration de plateformes
Systèmes Réseaux SGBD
Business
Process
EAI
BD Fédérées
EII
Standards J2EE
Web Services
Intégration d’applications
Intégration de données
Intégration de plateformes
Figure 1.1 – Différents niveaux d’intégration [50].
[115], les entrepôts de données connu sous le nom d’approche orientée besoins [111], les systèmes d’intégration
des données [54], et les interfaces homme machines [10]. Dans ce travail, nous nous sommes
concentrés sur les entrepôts de données.
La plupart des études de conception des systèmes de gestion de données, élaborées selon une approche
centrée utilisateur, supposent l’intervention des concepteurs homogènes. Par homogène, nous entendons
que les concepteurs impliqués dans le processus de construction de la base/entrepôt de données
ou le système d’intégration utilisent le même langage de modélisation des besoins et le même vocabulaire
pour modéliser leurs besoins. Nous appelons ce scénario 1-vocabulaire-1-langage de modélisation.
Dans le contexte d’une entreprise étendue, les besoins peuvent parvenir d’acteurs hétérogènes, ce qui
rend leur définition et exploitation difficiles. Cette difficulté est due à plusieurs facteurs : (1) le nombre
croissant de partenaires, (2) la diversité (hétérogénéité) des vocabulaires d’expression de besoins, (3)
l’hétérogénéité des langages de modélisation des besoins, (4) la présence de relations complexes entre
les besoins et (5) l’évolution des besoins. Ces facteurs peuvent être détaillés comme suit.
1.1 Nombre croissant de partenaires
La fabrication d’une application complexe consommatrice de données nécessite souvent sa décomposition
en un nombre important de modules (sous-systèmes), chacun géré par une sous-entreprise ou
un sous-traitant particulier. Cela fait naître un besoin d’automatisation du processus d’intégration des
besoins.
1.2 Hétérogénéité des vocabulaires
Souvent chaque collecteur de besoins utilise son propre vocabulaire pour exprimer ses besoins, ce
qui peut générer des conflits syntaxiques et sémantiques.
L’hétérogénéité syntaxique provient du fait que les collecteurs de besoins utilisent des terminologies
qui leur sont propres. En effet, les propriétaires de sous-systèmes sont souvent autonomes et chacun a
41. Contexte et problématique
ses habitudes de travail et ses méthodes de recueil des besoins. Cette autonomie fait augmenter cette
hétérogénéité d’une manière significative. Elle est similaire à celle identifiée dans les contextes des bases
de données fédérées et des multi-bases de données.
L’hétérogénéité sémantique par contre, présente un défi majeur dans le processus d’élaboration d’un
système d’intégration. Elle est due aux différentes interprétations des objets du monde réel. En effet,
chaque collecteur de besoins peut avoir un point de vue différent sur le même concept. Dans [54], quatre
types de conflits ont été identifiés: (i) conflits de représentation, (ii) conflits de noms, (iii) conflits de
contexte et (iv) conflits de mesure de valeur.
– Conflits de représentation : ce type de conflit survient lorsqu’un même type de données est modé-
lisé différemment, c’est-à-dire par des propriétés différentes ou des schémas différents (le nombre
de classes et de propriétés représentant un concept n’est pas le même entre deux sources). A noter
que la richesse d’un modèle de données augmente la probabilité d’occurrence de ces conflits.
– Conflits de noms : nous distinguons les deux sortes de conflits de noms suivants.
– Même nom d’entité avec des significations différentes (homonymie) : ce conflit apparaît lorsque
différents schémas utilisent des noms identiques pour des concepts différents.
– Noms différents avec des significations identiques (synonymie) : ce conflit apparaît lorsque les
différents schémas utilisent des noms différents pour représenter le même concept ou propriété.
– Conflits de contextes : le contexte est une notion très importante dans les systèmes d’information
répartis. En effet, un même objet du monde réel peut être représenté dans les sources de données
par plusieurs représentations selon un contexte local correspondant à chaque source. Ces conflits
sont identifiés dans le cas où les concepts semblent avoir la même signification, mais qu’ils sont
évalués dans différents contextes.
– Conflits de mesure de valeur : ces conflits sont liés à la manière de coder la valeur d’une propriété
du monde réel dans différents systèmes. Ce conflit apparaît dans le cas où des unités différentes
sont utilisées pour mesurer la valeur d’une propriété.
Pour réduire l’hétérogénéité sémantique, trois types d’approches ont été proposées : (i) approches
manuelles, approches semi automatiques et approches automatiques.
– Les approches manuelles : l’intégration manuelle de données est la technique qui a été utilisée
dans les premières générations de systèmes d’intégration. Ces approches permettent d’automatiser
l’intégration des données au niveau syntaxique. Cependant, les conflits sémantiques sont résolus
manuellement et nécessitent donc la présence d’un expert humain pour interpréter la sémantique
des données (Figure 1.2).
– Les approches semi-automatiques : du fait que le nombre de sources de données devient important
et/ou lorsque les sources évoluent fréquemment, les approches d’intégration manuelles
deviennent très coûteuses et même impraticables. Des traitements plus automatisés deviennent
nécessaires pour faciliter la résolution des conflits sémantiques. Dans cette partie, il s’agit d’une
deuxième génération des systèmes d’intégration qui utilise les ontologies linguistiques (thésaurus)
(Figure 1.3). Ces dernières permettent d’automatiser partiellement la gestion des conflits sémantiques.
Les ontologies linguistiques sont ainsi utilisées pour comparer automatiquement les noms
des relations ou des attributs. Cependant, cette comparaison est orientée "terme" et non "concept".
Cela peut créer notamment des conflits de noms. De plus, les relations entre termes sont très
contextuelles. Ainsi le traitement par ontologie linguistique est nécessairement supervisé par un
expert et ne peut donc être que partiellement automatique. Deux ontologies linguistiques assez
5Chapitre 1. Introduction générale
Expert
Système
d’intégration
S1
S2
S3
Expert
Système
d’intégration
S1
S2
S3
Figure 1.2 – Résolution manuelle de l’hétérogénéité
Système
d’intégration
Validation
Expert
Ontologie Linguistique (OL) S1
S2
Sn
Système
d’intégration
Validation
Expert
Ontologie Linguistique (OL) S1
S2
Sn
Figure 1.3 – Résolution semi-automatique de l’hétérogénéité
connues ont utilisé ce genre d’approche : WORDNET 3
et MeSH (Medical Subject Heading) 4
.
MOMIS [21] est un exemple de projet utilisant des ontologies linguistiques Wordnet pour intégrer
semi-automatiquement des données de sources structurées et semi-structurées.
– Les approches automatiques : dans les deux générations précédentes la signification des données
n’est pas représentée explicitement. Avec l’avènement des ontologies conceptuelles, un progrès
important a pu être réalisé dans l’automatisation du processus d’intégration de sources hé-
térogènes grâce à la représentation explicite de la signification des données. Dans une ontologie
conceptuelle, la sémantique du domaine est spécifiée formellement à travers des concepts, leurs
propriétés ainsi que les relations entre les concepts. Une ontologie conceptuelle regroupe ainsi
les définitions d’un ensemble structuré des concepts qu’elle veut représenter. Ces définitions sont
3. Wordnet est une base de données lexicale de l’anglais-américain avec plus de 100 000 synsets
(http://wordnet.princeton.edu)
4. Un thésaurus médical( http://www.chu-rouen.fr/cismef/)
61. Contexte et problématique
traitables par machine et partageables par les utilisateurs du système. La référence à une telle ontologie
est alors utilisée pour éliminer automatiquement les conflits sémantiques entre les sources
dans le processus d’intégration de données. Le processus d’intégration de données peut alors être
entièrement automatisé. PICSEL [53], OBSERVER [91] et OntoDaWa [128], développé dans le
cadre de la thèse de Dung NGUYEN XUAN (pour l’intégration des catalogues de composants de
l’entreprise Renault), sont des exemples de projets utilisant des ontologies conceptuelles qui visent
à intégrer automatiquement des données.
1.3 Hétérogénéité des langages de modélisation des besoins
Dans le contexte de l’intégration des sources de données, l’hétérogénéité de représentation de ces dernières
n’est pas souvent prise en compte, car les modèles conceptuels des sources sont souvent traduits
vers des modèles physiques qui sont les seuls à être pris en considération par le processus d’intégration.
Dans le contexte d’expression des besoins, plusieurs langages peuvent être utilisés. Récemment, certains
efforts de recherche on été entrepris pour remonter l’intégration des sources de données au niveau
conceptuel, en établissant des procédures de rétro-conception des modèles physiques des sources pour
remonter aux modèles conceptuels [76, 77]. Dans le contexte des besoins, leurs langages de modélisation
doivent être unifiés car l’expression d’un seul besoin peut se faire avec une multitude de langages.
Ceux-ci sont classés en trois principales catégories: langages linguistiques (informels), langages semiformels
(diagramme des cas d’utilisation d’UML, le langage de modélisation conceptuelle de Merise
[101], Orienté but, etc.) et langages formels (ex. la méthode B). Nous classifions cette hétérogénéité en
deux catégories principales :
– L’hétérogénéité intra-classe qui existe entre les langages de modélisation qui appartiennent à la
même catégorie. Par exemple, le diagramme des cas d’utilisation et le langage orienté but appartiennent
à la catégorie des langages semi-formels;
– L’hétérogénéité inter-classe qui existe entre des langages de modélisation qui n’appartiennent pas
à la même catégorie. Par exemple, la méthode B et le langage orienté but appartiennent à deux
catégories différentes : langages formels et semi-formels.
1.4 Exigence des relations complexes entre les besoins
Lors de la définition des besoins, l’identification des conflits et des contradictions entre eux est nécessaire.
Différents types de relations ont été proposés dans la littérature. Nous pouvons citer, par exemple,
les relations de conflits, les relations d’inclusion et d’équivalence.
1.5 Évolution des besoins
Au cours du cycle de vie d’un système complexe, les besoins des concepteurs, dans chaque soussystème,
sont amenés à évoluer. Cette évolution a un effet négatif sur le succès du projet étant donné
qu’elle entraîne de nombreuses modifications. Une modification de besoin peut être : l’ajout, la suppression
et la modification. Plusieurs facteurs affectent l’évolution des besoins [109] : changement d’un
besoin, sa priorité, la technologie, conflit entre les besoins, complexité du système, etc. En conséquence,
cette évolution peut impacter le développement du système.
7Chapitre 1. Introduction générale
2 Notre Démarche
Pour répondre au problème d’intégration des besoins, nous sommes parti de travaux au laboratoire
LIAS effectués sur l’intégration des sources de données hétérogènes [19, 20], où des solutions sémantiques
en utilisant des ontologies de domaine ont été proposées. Ces dernières ont contribué largement à
l’automatisation du processus d’intégration malgré la présence d’un nombre important de sources de données.
Rappelons qu’actuellement, nous vivons dans une ère où plusieurs ontologies de domaine existent.
C’est le cas du domaine de l’ingénierie où les catalogues de composants électroniques sont souvent dé-
crits par des ontologies normalisées par l’ISO (PLIB : ISO 132584 "parts Library"), de la médecine
où nous trouvons l’ontologie UMLS (Unified Medical Language System) ou dans le domaine de l’environnement
où un nombre important d’ontologies a été développé (par exemple, Influenza Infectious
Disease Ontology 5
). De ce fait, nous supposons dans nos travaux qu’il existe une ontologie de domaine
et que chaque collecteur de besoins reprend a priori des concepts de cette ontologie pour construire son
ontologie locale couvrant son problème. Cette dernière peut être soit un sous-ensemble de l’ontologie
de domaine soit une spécialisation, c’est-à-dire un sous-ensemble éventuellement étendu par des classes
plus spécialisées et/ou des propriétés additionnelles. De part leur aspect formel, les ontologies offrent
également des mécanismes de raisonnement permettant de vérifier la consistance des besoins et d’inférer
de nouveaux relations entre les besoins.
La présence de l’ontologie, certes résout les problèmes d’hétérogénéité syntaxique et sémantique. Par
contre l’hétérogénéité des langages de modélisation des besoins reste présente. Pour éviter un nombre
important de correspondances entre les différents langages ( n×(n−1)
2
), où n représente le nombre de langages,
nous présentons une méthode pivot. En d’autres termes, nous supposons que chaque collecteur
de besoins a son propre langage de modélisation couplé à son ontologie locale, et au final l’ensemble
des besoins sont transformés sur le langage de modélisation pivot que nous appelons "modèle pivot". Ce
modèle pivot jouant le rôle de médiateur est également couplé à l’ontologie partagée pour faciliter son
exploitation.
Le scénario précédent exige une correspondance de tout langage de modélisation des besoins vers le
modèle pivot, ce qui peut être coûteux dans le cas des gros projets. Dans le deuxième scénario d’inté-
gration, nous proposons de fusionner l’ensemble des langages en un seul langage de modélisation que
nous appelons "modèle générique" et au lieu de faire des correspondance, nous utilisons l’instanciation.
Cette fusion est réalisée à partir des méta-modèles des langages utilisés. En d’autres mots chaque langage
devient une instance de ce modèle générique.
Étant donné que nos solutions d’intégration des besoins sont sémantiques, nous exploitons les mé-
canismes de raisonnement offerts par les ontologies pour identifier les besoins conflictuels et contradictoires.
Contrairement aux travaux existants qui traitent le problème d’intégration des besoins d’une manière
isolée sans prendre en compte le système cible (une base/entrepôt de données, une interface homme
machine, etc.), nos propositions apportent des solutions pour les phases de cycle de vie de conception
du système cible. Pour illustrer cela, nous considérons la phase de conception physique d’un entrepôt de
données. Durant cette phase, un ensemble de structures d’optimisation (les index, la fragmentation de
données, les vues matérialisées, etc.) est sélectionné. Souvent cette sélection est effectuée à partir d’un
5. http://bioportal.bioontology.org/ontologies/ENVO
83. Contributions
ensemble de requêtes. Dans ce travail, nous proposons une approche de sélection dirigée par les besoins.
3 Contributions
Nos contributions se résument en trois points illustrés sur la figure 1.5 : (i) le placement des besoins
dans l’architecture d’intégration des objets, (ii) l’intégration des besoins en prenant en compte
deux types d’hétérogénéité : une liée aux vocabulaires utilisés [25, 26] et l’autre liée aux langages de
modélisation des besoins [26] et (iii) le raisonnement et l’exploitation des besoins sur la phase physique
[79, 78, 18]. En ce qui concerne le premier point, nous valorisons les besoins des utilisateurs dans le
Systèmes Réseaux SGBD
Business
Process
EAI
BD Fédérées
EII
Standards J2EE
Web Services
Intégration d’applications
Intégration de données
Intégration de plateformes
Besoin 1
Besoin 2
Besoin 3
Besoin n
Intégration des besoins
Systèmes Réseaux SGBD
Business
Process
EAI
BD Fédérées
EII
Standards J2EE
Web Services
Intégration d’applications
Intégration de données
Intégration de plateformes
Besoin 1
Besoin 2
Besoin 3
Besoin n
Intégration des besoins
Figure 1.4 – Les quatre niveaux d’intégration.
contexte de conception des bases/entrepôts de données par l’ajout d’une nouvelle dimension d’intégration
représentant les besoins (figure 1.4).
Pour offrir une intégration automatique dans le cadre des entreprises étendues, où chaque partenaire est
autonome, notre approche doit prendre en compte le fait que chacun peut utiliser son propre langage
de modélisation des besoins et sa propre terminologie. Pour remédier au problème de vocabulaire, nous
proposons l’utilisation d’une ontologie couvrant le domaine de l’étude, dont nous faisons l’hypothèse
qu’elle existe (figure 1.5). Dans ce scénario, nous supposons que chaque collecteur de besoins pioche
ses concepts et propriétés à partir de cette ontologie qui joue le rôle d’un dictionnaire. Pour unifier les
différents langages de modélisation des besoins, nous proposons un modèle pivot. Vu la diversité des langages
de modélisation et dans le but de définir les composantes du modèle pivot, nous avons considéré
une étude de cas basée sur l’ontologie du domaine universitaire (Lehigh University Benchmark (LUBM))
et trois langages de modélisation des besoins : Use case d’UML, le langage orienté buts et le modèle
de traitement de la méthode Merise. Pour établir le couplage entre les modèles utilisés et l’ontologie,
un travail de méta-modélisation de chaque modèle ainsi que de l’ontologie est effectué. Les concepts
et les propriétés utilisés dans chaque modèle sont référencés par l’ontologie. Ceci permet de faciliter
l’intégration des besoins. Deux scénarii d’intégration sont alors présentés, offrant plus d’autonomie aux
collecteurs des besoins et le deuxième impose un modèle unifié (générique) intégrant l’ontologie de
domaine.
9Chapitre 1. Introduction générale
Ontologie partagée
Modèle Pivot des besoins
Connexion
Transformation (Mappings) Modularité (Extractions des OLs)
2
Besoins des
utilisateurs
Correcte
Complète
Sans
ambiguïté
Consistante
…..
Concepteurs
Sous-système (1)
Langage informel
OL2
OL1
OLn
Concepteurs
Concepteurs
Connexion
3
Intégration des besoins
Sous-système (2)
Sous-système (n)
Connexion
3
Connexion
3
4
3
Modèle Ontologique Pivot (OntoPivot)
Processus de
raisonnement
5
1
ED sémantique
Méta-modèle ontologie +
méta-modèles de besoins
Catalogue système
Instanciation Instanciation
Ontologies locales de
besoins
Traduction
Modèle logique (MLD)
Langage semi-formel
Langage formel
Génération des requêtes (SQL)
Optimisation de l’ED
Persistance des besoins
6
7
8
Intégration sémantique des besoins Exploitation & validation
Ontologie partagée
Modèle Pivot des besoins
Connexion
Transformation (Mappings) Modularité (Extractions des OLs)
2
Besoins des
utilisateurs
Correcte
Complète
Sans
ambiguïté
Consistante
…..
Concepteurs
Sous-système (1)
Langage informel
OL2
OL1
OLn
Concepteurs
Concepteurs
Connexion
3
Intégration des besoins
Sous-système (2)
Sous-système (n)
Connexion
3
Connexion
3
4
3
Modèle Ontologique Pivot (OntoPivot)
Processus de
raisonnement
5
1
ED sémantique
Méta-modèle ontologie +
méta-modèles de besoins
Catalogue système
Instanciation Instanciation
Ontologies locales de
besoins
Traduction
Modèle logique (MLD)
Langage semi-formel
Langage formel
Génération des requêtes (SQL)
Optimisation de l’ED
Persistance des besoins
6
7
8
Ontologie partagée
Modèle Pivot des besoins
Connexion
Transformation (Mappings) Modularité (Extractions des OLs)
2
Besoins des
utilisateurs
Correcte
Complète
Sans
ambiguïté
Consistante
…..
Concepteurs
Sous-système (1)
Langage informel
OL2
OL1
OLn
Concepteurs
Concepteurs
Connexion
3
Intégration des besoins
Sous-système (2)
Sous-système (n)
Connexion
3
Connexion
3
4
3
Modèle Ontologique Pivot (OntoPivot)
Processus de
raisonnement
5
1
ED sémantique
Méta-modèle ontologie +
méta-modèles de besoins
Catalogue système
Instanciation Instanciation
Ontologies locales de
besoins
Traduction
Modèle logique (MLD)
ED sémantique
Méta-modèle ontologie +
méta-modèles de besoins
Catalogue système
Instanciation Instanciation
Ontologies locales de
besoins
Traduction
Modèle logique (MLD)
Langage semi-formel
Langage formel
Génération des requêtes (SQL)
Optimisation de l’ED
Persistance des besoins
6
7
8
Intégration sémantique des besoins Exploitation & validation
Figure 1.5 – Aperçu des contributions de la thèse
Pour identifier les relations complexes entre les besoins, nous proposons un mécanisme de raisonnement
à base ontologique. Rappelons que les ontologies fournissent une représentation formelle des
connaissances et des relations entre concepts. Elles peuvent donc être exploitées pour raisonner sur les
objets du domaine concerné. Dans notre cas, elles permettent des raisonnements automatiques ayant
pour objet soit d’effectuer des vérifications de consistance sur les besoins (des conflits, des contradictions,
etc.), soit d’inférer de nouvelles relations. Une étude de cas est proposée afin d’évaluer notre
mécanisme de raisonnement où deux scénarii de raisonnement sont étudiées : ship whole et fetch as needed.
Dans le premier scénario, aucun traitement n’est fait localement, le modèle générique a la charge
d’établir l’ensemble des raisonnements. Dans le deuxième scénario, chaque partenaire effectue localement
le raisonnement et ne renvoie que des besoins valides au modèle générique pour déclencher d’autres
104. Organisation du mémoire
raisonnements.
Comme nous l’avons déjà évoqué, nos travaux visent à montrer l’intérêt de la prise en compte des besoins
sur le cycle de vie de conception de bases de données traditionnelles et avancées. Dans cette thèse, nous
étudions en particulier la contribution de la prise en compte des besoins dans la conception physique.
Durant cette phase, l’administrateur doit sélectionner des structures d’optimisation comme les index, les
vues matérialisées, le partitionnement, etc. Cette sélection est souvent guidée par un ensemble de requêtes
extraites à partir de fichiers de journalisation (logs). Nous montrons dans le cadre de cette thèse
que cette tâche est primordiale dans la conception physique et peut se faire dès la collection des besoins
finaux. Cela a un intérêt considérable sur la réduction des tâches de l’administrateur de bases de données
vu quelles sont très complexes et surtout coûteuses. Une autre motivation de nos propositions est que les
bancs d’essai utilisés par la communauté de bases de données, pour évaluer la qualité des algorithmes de
sélection de structures d’optimisation, proposent des requêtes sous formes SQL et leur description sous
forme de besoins 6
. Ils peuvent donc être directement pris en compte par notre approche.
Finalement toutes les propositions de cette thèse ont été prototypées et testées. Un outil d’aide à l’inté-
gration et l’exploitation des besoins hétérogènes est développé. La partie liée à la conception physique
est prototypée sur OntoDB, une plateforme de bases de données sémantique développée au laboratoire
LIAS. Elle permet de stocker à la fois les données et l’ontologie qui décrit leurs sens.
4 Organisation du mémoire
Cette thèse est structuré en deux parties. La première partie présente les concepts permettant d’élaborer
nos propositions. Vu la pluridisciplinarité de notre domaine d’étude, deux états de l’art sont présentés
: le premier abord les concepts fondamentaux de l’ingénierie des besoins (IB) quant au deuxième,
il décrit les ontologies. Le chapitre 2 vise à faire une présentation succincte permettant d’introduire le
domaine de l’ingénierie des besoins, les problèmes rencontrés lors de leurs expression et de leurs analyse
dans le cas d’une entreprise étendue, notamment les problèmes liés à l’hétérogénéité des vocabulaires
et des langages de modélisation des besoins. Ensuite, nous débattrons un ensemble de travaux que nous
considérons majeurs liés à l’intégration et à l’analyse des besoins. Une synthèse qui nous a permis de
positionner nos travaux par rapport à l’existant que nous présentons par la suite.
Le chapitre 3 décrit un état de l’art portant sur l’utilisation des ontologies dans le domaine de l’IB.
Nous décrivant, dans un premier temps, la notion d’ontologie de domaine, une classification des ontologies
(ontologies linguistiques et ontologies conceptuelles), les langages de définitions des ontologies
langages de modélisation, une formalisation des ontologies conceptuelles. Puis, dans un deuxième temps,
nous présentons les principaux travaux relatifs au couplage entre les ontologies et l’expression et l’analyse
des besoins. Une synthèse sur ces derniers est également présentée.
La deuxième partie de ce mémoire est dédiée aux contributions dans le cadre de l’intégration sémantique
des besoins. Dans le chapitre 4, nous décrivons notre première proposition d’un modèle unifiant à
la fois les vocabulaires et les langages de modélisation des besoins. Pour réaliser l’unification des vocabulaires,
nous proposons une solution dirigée par une ontologie conceptuelle supposée existante. La
présence de cette ontologie permet à l’ensemble des concepteurs d’exprimer leurs besoins en utilisant ses
6. http://www.tpc.org
11Chapitre 1. Introduction générale
concepts et ses propriétés afin d’éviter les conflits syntaxiques et sémantiques. La deuxième unification
est plus difficile que la première, vu la diversité des langages de modélisation des besoins. Pour ce faire,
nous nous sommes appuyés sur une étude de cas comprenant trois langages semi-formels à savoir : Use
case d’UML, un langage orienté but et le modèle de traitements de la Merise. Le choix de ces langages
est justifié par leur usage dans le domaine industriel et académique. Après une analyse des composantes
de chaque langage utilisé, nous proposons leurs modèles génériques. Cette généricité nous a permis de
définir un modèle pivot pour l’ensemble de langages étudiés. Finalement, pour assurer l’interopérabilité
entre l’ensemble des langages, des correspondances entre le méta modèle de chaque langage et le modèle
pivot sont définies. Un couplage entre le modèle pivot et le modèle d’ontologie est alors proposé, ce qui
explicite la sémantique des langages utilisés.
Afin de réduire la complexité des correspondances faites entre le modèle pivot et l’ensemble des
langages de modélisation des besoins, notre deuxième contribution qui fait l’objet du Chapitre 5 consiste
d’abord à fusionner les méta-modèles des langages de modélisation des besoins ensuite d’instancier
chaque langage de modélisation des besoins. De la même façon que dans le chapitre précédent, un couplage
entre le modèle générique et le modèle d’ontologie est établi.
Le chapitre 6 étudie l’impact des besoins sur la conception physique d’un entrepôt de données sémantique.
D’abord nous motivons le besoin de réduire le coûts d’administration d’un entrepôt de données
pour une entreprise étendue. Ensuite, nous formalisons le problème de la conception physique d’une
manière générale, ensuite une instanciation de cette formalisation est donnée pour deux probèmes classiques,
qui sont la sélection des index de jointure binaire et la sélection de schéma de fragmentation
horizontale. Finalement, une approche dirigée par les besoins pour la sélection des deux structures d’optimisation
est proposée et validée.
Le chapitre 7, intitulé "Prototype de validation", propose une implémentation de nos propositions à
travers un outil prototype, nommé OntoReqTool. Celui-ci fournit une aide au concepteur pour intégrer
les besoins hétérogènes et pour les exploiter dans un environnement de stockage de données sémantiques
(ED). Pour intégrer les besoins, nous avons choisi l’éditeur d’ontologie Protégé car il facilite la manipulation
des ontologies et offre la possibilité de faire du raisonnement sur les besoins à l’aide de ses moteurs
d’inférences. Pour exploiter les besoins, nous les avons persistés dans un ED afin de les exploiter dans
la phase physique. L’implémentation a été faite sur la base de données sémantique OntoDB qui a été
développée au sein du laboratoire et dont on avait un accès total au son code et à sa documentation.
Pour conclure ce mémoire de thèse, nous établissons un bilan des contributions apportées et nous
traçons différentes perspectives de recherche qui pourraient être menées ultérieurement.
Ce manuscrit comporte deux annexes. L’annexe A décrit les règles de transformation utilisées dans la
validation des deux premières contributions. L’annexe B fournit les requêtes du banc d’essai Star Schema
Benchmark (SSB) utilisées pour valider la troisième contribution.
124. Organisation du mémoire
Publications
La liste suivante représente les articles publiés dans le cadre de cette thèse.
1. Ilyès BOUKHARI, Ladjel BELLATRECHE, Stéphane JEAN, An Ontological Pivot Model to
Interoperate Heterogeneous User Requirements, Proceedings of the 5th International Symposium
on Leveraging Applications of Formal Methods, Verification and Validation (ISOLA 2012), pp.
344-358, LNCS, Springer, Heraklion, Crete, Greece, October 15-18, 2012.
2. Ilyès BOUKHARI, Ladjel BELLATRECHE, Efficient, Unified, and Intelligent User Requirement
Collection and Analysis in Global Enterprises, Proceedings of the 15th International Conference
on Information Integration and Web-based Applications & Services (iiWAS 2013), ACM, December
2013, Vienna, Austria.
3. Selma KHOURI, Ilyès BOUKHARI, Ladjel BELLATRECHE, Stéphane JEAN, Eric SARDET,
Mickael BARON, Ontology-based structured web data warehouses for sustainable interoperability:
requirement modeling, design methodology and tool, Computers in Industry Journal, Elsevier
(Factor Impact: 1.529), 63(8): 799-812, 2012.
4. Ladjel BELLATRECHE, Selma KHOURI, Ilyès BOUKHARI, Rima BOUCHAKRI, Using Ontologies
and Requirements for Constructing and Optimizing Data Warehouses, Proceedings of the
30th IEEE International Convention MIPRO, pp. 1568 - 1573, Opatija, Croatia, May, 2012.
5. Selma KHOURI, Ladjel BELLATRECHE, Ilyès BOUKHARI, Selma BOUARAR, More Investment
in Conceptual Designers: Think about it!, 15th IEEE International Conference on Computational
Science and Engineering, pp. 88-93, Paphos, Cyprus, December 5-7, 2012.
6. Selma KHOURI, Ladjel BELLATRECHE, Ilyès BOUKHARI, Stéphane JEAN, Amira KERKAD,
Peut-on prévoir le comportement d’un ED dès sa conception ?, submitted to Ingénierie des
Systèmes d’Information Journal.
13Première partie
État de l’art
15Chapitre 2
L’expression des besoins : un état de l’art
Sommaire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Processus d’ingénierie des Besoins . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Langages de modélisation des besoins . . . . . . . . . . . . . . . . . . . . . . 26
4.1 Langages informels (langage naturel) . . . . . . . . . . . . . . . . . . . . 26
4.2 Langages semi-formels . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Langages formels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Approches et méthodes pour l’expression des besoins . . . . . . . . . . . . . . 29
5.1 Approches dirigées par les buts . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.1 GQM : Goal Question Metric . . . . . . . . . . . . . . . . . . 30
5.1.2 KAOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.3 iStar (i*) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Approches à base de scénarii . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Approches basées sur les automates et réseaux de Petri . . . . . . . . . . 35
6 Problématiques liées à l’expression des besoins . . . . . . . . . . . . . . . . . 37
7 État des lieux sur l’intégration et l’analyse des besoins . . . . . . . . . . . . . 37
7.1 L’intégration des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.1.1 Exemples d’approches dirigées par des méthodes issues de la
logique mathématique . . . . . . . . . . . . . . . . . . . . . . 37
7.1.2 Approches dirigées par IDM . . . . . . . . . . . . . . . . . . . 38
7.2 L’analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.3 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
17Chapitre 2. L’expression des besoins : un état de l’art
Résumé. Ce chapitre fait une présentation succincte introduisant le domaine de l’ingénierie
des besoins. Nous nous intéressons aux problèmes d’expression et d’intégration de besoins
hétérogènes et à leur exploitation dans un entrepôt de données dans le cadre d’une entreprise
étendue, notamment aux problèmes liés à l’hétérogénéité des vocabulaires et des langages
de modélisation de besoins. Ensuite, nous présentons un état de l’art des travaux d’analyse
et d’intégration des besoins. Nous présentons par la suite une synthèse qui nous à permis de
positionner nos travaux par rapport à l’existant.
18Chapitre 2. L’expression des besoins : un état de l’art
1 Introduction
Dans une entreprise étendue, l’utilisation des bases de données avancées comme les entrepôts de
données est importante. Ces entrepôts permettent de stocker d’une manière efficace des données pour
des besoins opérationnels et/ou décisionnels. Le cycle de développement des bases/entrepôts de données
comporte un nombre important de phases impliquant plusieurs acteurs. Huit phases principales
composent ce cycle (figure 2.1) : (a) la collecte et l’analyse des besoins [90, 74, 102], (b) la phase
conceptuelle [35, 93, 118], (c) la phase logique [117], (d) le processus d’extraction, de transformation
et de chargement [106], (e) la phase de déploiement [8], (f) la phase physique [15], (g) la phase de personnalisation
et de recommandation [17, 59] et (h) le tuning [34], chacune impliquant un ensemble de
sous phases. En ce qui concerne les acteurs (parties prenantes), nous avons les collecteurs et les analystes
de besoins, les concepteurs, les administrateurs, les data architects 7
, les data analysts 8
, etc. Notons que
l’ensemble des travaux couvrant ce cycle de vie utilise les besoins des utilisateurs (fonctionnels ou non
fonctionnels). Prenons l’exemple de la méthode de conception francophone Merise, la première tâche à
faire est d’extraire l’ensemble des propriétés/attributs à partir d’un cahier de charge, caractériseront la
couche conceptuelle. Par la suite, chaque entité sera décrite par un sous ensemble de propriétés. Lorsque
nous abordons la conception physique, toutes les structures d’optimisation comme les index, la fragmentation,
etc. sont dirigées par les requêtes qui peuvent être extraites des besoins. Pour personnaliser les
accès à une base de données, nous nous intéressons aux besoins des utilisateurs. Mais la phase de collection
et l’analyse des besoins est souvent négligée dans le processus de conception de bases de données
avancées. Prenons l’exemple de conception des entrepôts de données : dans ses premiers travaux, Inmon
[66] a proposé une méthode de conception dirigée par les sources, mais cette dernière a été critiquée
par Ralph Kimball [80], qui a fait ressortir la nécessité de définir une conception à partir de besoins des
utilisateurs. Sa proposition a été suivie par plusieurs autres études proposant des méthodes de conception
orientées besoins. Récemment, Golfarelli et Rizzi dans leur livre intitulé Data Warehouse Design:
Modern Principles and Methodologies [58] ont insisté sur le rôle des besoins dans la conception et la
réussite des projets d’entreposage de données.
Nous sommes conscients de l’étendue de l’Ingénierie des Besoins (IB) du fait qu’elle couvre un
ensemble de phases (cf. Section 2.3) : élicitation, modélisation, spécification et validation. Nous n’allons
pas proposer de contribution dans chacune de ces phases, mais nous allons considérer l’expression,
l’intégration et l’exploitation des besoins hétérogènes dans le cadre d’une entreprise étendue.
Ce chapitre est organisé comme suit. Dans la section 2, nous présentons quelques définitions de l’IB
nécessaires à la compréhension de nos contributions. Ensuite, dans la section 3, nous situons le processus
d’IB dans les approches traditionnelles de développement des systèmes d’information. Les langages
de modélisation des besoins sont ensuite présentés dans la section 4. La section 5 détaille les principales
approches d’expression et d’analyse des besoins. Dans la section 6, nous présentons les différents
problèmes rencontrés lors de l’expression et de l’analyse des besoins dans le cas d’une entreprise étendue.
Dans la section 7, nous présentons un état de l’art des travaux d’intégration et d’analyse des besoins.
Avant de conclure le chapitre, nous présentons une synthèse qui nous a permis de positionner nos travaux
par rapport à l’existant.
7. http://en.wikipedia.org/wiki/Data_architect
8. http://www.journaldunet.com/solutions/analytics/metier-big-data-data-scientist.shtml
202. Définitions
Phase conceptuelle Phase logique
Processus
d’extraction, de transformation
et chargement
Modèle conceptuel Modèle logique Processus ETL
Phase de déploiement
Phase physique
Modèle physique
Phase de personnalisation
et de recommandation
Phase de tuning
Phase de collection
et d’analyse des besoins
Phase conceptuelle Phase logique
Processus
d’extraction, de transformation
et chargement
Modèle conceptuel Modèle logique Processus ETL
Phase de déploiement
Phase physique
Modèle physique
Phase de personnalisation
et de recommandation
Phase de tuning
Phase de collection
et d’analyse des besoins
Figure 2.1 – Les phases du cycle de vie d’un ED.
2 Définitions
L’Ingénierie des Besoins (IB) est un vaste domaine de recherche s’intéressant principalement aux
approches et techniques visant à améliorer la phase de spécification d’un système informatique. Nous
présentons tout d’abord quelques définitions des concepts importants pour la compréhension de celui-ci.
Parties prenantes : connues en anglais sous le nom stakeholders. Selon l’AFIS (Association Fran-
çaise de l’ingénierie Système) 9
, une partie prenante constitue une partie intéressée par l’utilisation et
l’exploitation du système (voir par ses impacts sur son environnement), mais aussi un agent participant
à sa conception, sa production, son déploiement, sa commercialisation, son maintien en condition opé-
rationnelle et son retrait de service. Les parties prenantes les plus couramment rencontrées sont les :
utilisateurs, concepteurs, développeurs, administrateurs, etc.
Besoin : selon Abran et al. [6], un besoin est une description d’une propriété ou des propriétés du
système qui doivent être remplies. Les besoins sont exprimés en termes de phénomènes du monde réel
ou objets partagés par le système et son environnement, avec un vocabulaire accessible aux utilisateurs
[67]. Souvent, les besoins peuvent être classés dans les deux catégories suivantes.
– Besoins fonctionnels : les besoins fonctionnels spécifient une fonction que le système ou un com-
9. http://www.afis.fr/upload/SDD
21Chapitre 2. L’expression des besoins : un état de l’art
posant du système doit être capable d’exécuter. Les auteurs de cette définition soulignent que le
système peut être vu comme un ensemble de composants.
Exemple 1
Dans un établissement, un système doit permettre à la scolarité de vérifier les moyennes des étudiants
qui ont obtenu le master informatique.
– Besoins non fonctionnels : un besoin non fonctionnel est défini par un attribut ou une contrainte
du système comme la flexibilité, la performance, la sécurité, etc. qui ne porte pas sur la fonction
de ce système.
Exemple 2
Le système doit permettre aux étudiants de ne voir uniquement que leurs propres moyennes.
L’Ingénierie des Besoins (IB) : dans le cadre des systèmes d’information, elle est définie par Rolland
comme l’activité qui transforme une idée floue en une spécification précise des besoins, souhaits et
exigences exprimés par une communauté d’usagers et donc qui définit la relation existante entre un
système et son environnement [102]. Van Lamsweerde [120] définit trois objectifs de l’ingénierie des
besoins: (1) l’identification des buts que le système envisagé doit accomplir, (2) l’opérationnalisation de
ces buts sous forme de fonctions et de contraintes et (3) l’assignation des fonctionnalités aux agents.
Modèle : une abstraction d’un système conçu sous la forme d’un ensemble de faits construits selon
une intention particulière. Il doit pouvoir être utilisé pour répondre à des questions sur le système étudié.
Dans le domaine de l’IB, les rôles des modèles sont multiples car ils sont utilisés durant tout le
processus de l’ingénierie des besoins. Les modèles peuvent être utilisés pour capturer et formaliser les
besoins des utilisateurs. Ils peuvent ainsi intégrer et vérifier les besoins.
Méta-modèle : selon la définition du MOF (Meta Object Facility) 10, un méta-modèle définit la structure
que doit avoir tout modèle conforme à ce méta-modèle. On dit qu’un modèle est conforme à un
méta-modèle si l’ensemble des éléments qui constituent le modèle est défini par le méta-modèle. Par
exemple, le méta-modèle UML définit que les modèles UML contiennent des packages, leurs packages
des classes, leurs classes des attributs et des opérations, etc.
Méta-méta-modèle : un méta-méta-modèle est un modèle qui décrit des langages de méta-modélisation.
Autrement dit, le méta-méta-modèle contient les éléments de modélisation nécessaires à la définition des
langages de modélisation et il a également la capacité de se décrire lui-même.
Langage de modélisation : il sert à décrire un système général ou spécifique à un domaine et/ou un
contexte par ses composants et leurs relations. Il est défini par une syntaxe abstraite, une sémantique et
une syntaxe concrète. La syntaxe abstraite définit les concepts de base du langage. La sémantique définit
comment les concepts du langage doivent être interprétés par l’homme ou par les machines [64]. Chaque
modèle est construit en utilisant un formalisme de modélisation, c’est à dire un langage.
Dans le domaine de l’IB, chaque modèle est construit en utilisant un langage de modélisation des
besoins. La modélisation des besoins peut suivre un principe de méta-modélisation à plusieurs niveaux
d’abstraction. La figure 2.2 illustre ce principe en se basant sur l’architecure à 4 niveaux définie par le
MOF. Le nivaux (M0) décrit les objets du monde réel (instances). Dans notre exemple, portant sur le
10. http://www.omg.org/mof/
222. Définitions
M0
M1
M2
M3
Le monde réel
Modèle
Méta-modèle
Méta-métamodèle
Code : SQL,
etc.
Modèle UML, etc.
UML, SPEM, MERISE
Goal, etc.
MOF
Étudiant,
Age,
Adresse.
Anne,
22,
Poitiers.
Classe,
Méthode,
Attribut.
Entité,
Relation,
Paquetage.
M0
M1
M2
M3
Le monde réel
Modèle
Méta-modèle
Méta-métamodèle
Code : SQL,
etc.
Modèle UML, etc.
UML, SPEM, MERISE
Goal, etc.
MOF
Étudiant,
Age,
Adresse.
Anne,
22,
Poitiers.
Classe,
Méthode,
Attribut.
Entité,
Relation,
Paquetage.
Figure 2.2 – Exemple de métamodèlisation.
domaine universitaire, un objet pourrait être un étudiant particulier (dans notre exemple, Anne, 22 ans,
Poitiers). Le niveau (M1) décrit le modèle utilisé pour définir les objets. Dans notre exemple, une classe
Étudiant permet d’indiquer que les étudiants sont caractérisés par un âge et une adresse. Le niveau
(M2) contient les primitives permettant de définir un modèle. Dans notre exemple, ce niveau contient
les primitives Classe, Méthode et Attribut pour pouvoir définir la classe Étudiant. Enfin, le niveau (M3)
contient le méta-méta-modèle. Celui-ci est réflexif (il se décrit lui-même) et permet de définir différents
langages de modélisation au niveau (M3).
Transformation de modèles : une transformation de modèle est une fonction, Φ : S → T, telle que:
Φ prend en entrée un ensemble de modèles source S , et produit en sortie un ensemble de modèles cible
T. S et T sont des modèles conformes aux deux ensembles de méta-modèles. Si les deux ensembles
de méta-modèles sont identiques, la transformation de modèle Φ est appelé (transformation endogène),
autrement on l’appelle (transformation exogène).
Il existe de nombreux critères de classification liés à la transformation de modèles [41, 108]. Dans
notre travail, nous nous intéressons à deux types d’approches de transformation de modèles :
– modèle à modèle (model-to-model, M2M) : ce type de transformation permet de produire des
modèles conformes aux méta-modèles cibles. ATL 11 (Atlas Transformation Language) et QVT 12
(Query-View-Transformation)sont parmi les langages de transformation assurant la transformation
model-to-model.
– modèle à texte (model-to-text, M2T) : ce type de transformation permet d’obtenir des modèles
cibles qui consistent essentiellement en chaînes de caractères. Généralement, la transformation
model-to-text est utilisé pour effectuer la génération de code, comme la transformation de modèles
11. http://www.eclipse.org/atl/
12. http://www.omg.org/spec/QVT/
23Chapitre 2. L’expression des besoins : un état de l’art
UML à un programme Java. Acceleo 13 et Xpand 14 sont des exemples de langages assurant la
transformation model-to-text.
3 Processus d’ingénierie des Besoins
Généralement, un processus d’IB comporte plusieurs étapes consistant à découvrir, analyser, valider
et faire évoluer l’ensemble des besoins relatifs aux fonctionnalités du système. Selon Nuseibeh et Easterbrook
[95], un processus d’IB inclut les étapes suivantes : élicitation, modélisation, analyse, validation
et gestion des besoins (figure 2.3). Ces étapes sont détaillées dans ce qui suit.
• Vérification de la version finale du
document des besoins par des
experts de domaine
• Identification des besoins.
• Modélisation des besoins: (Informels,
Semi-Formels, Formels)
• Assurance d’une bonne spécification de
besoins: (cohérents, non ambiguës,
complètes, vérifiables, etc.)
• Suivi de l'évolution ou le changement
des besoins.
• Identification des parties prenantes.
• Spécification des besoins: (Fonctionnels, Non
fonctionnels)
• Maintien la traçabilité des besoins
• Contrôle des différentes versions
de ces besoins
Élicitation
Modélisation
Analyse
Validation
G
e
s
t
i
o
n
• Vérification de la version finale du
document des besoins par des
experts de domaine
• Identification des besoins.
• Modélisation des besoins: (Informels,
Semi-Formels, Formels)
• Assurance d’une bonne spécification de
besoins: (cohérents, non ambiguës,
complètes, vérifiables, etc.)
• Suivi de l'évolution ou le changement
des besoins.
• Identification des parties prenantes.
• Spécification des besoins: (Fonctionnels, Non
fonctionnels)
• Maintien la traçabilité des besoins
• Contrôle des différentes versions
de ces besoins
Élicitation
Modélisation
Analyse
Validation
G
e
s
t
i
o
n
Figure 2.3 – Processus d’ingénierie des besoins.
1. Phase d’élicitation des besoins : dans un processus d’IB, la première étape est l’élicitation des
besoins. Elle consiste à collecter, capturer, découvrir et développer les besoins à partir des sources
variées (utilisateurs, concepteurs, etc.). L’élicitation des besoins repose sur deux tâches principales
: (i) l’identification des parties prenantes et (ii) l’identification des besoins. La première
tâche consiste à identifier l’ensemble des personnes ou des groupes qui sont mis en relation avec le
système au cours de son cycle de développement. Parmi les parties prenantes nous pouvons citer :
le décideur, le concepteur, le développeur, l’administrateur, l’utilisateur final, etc. La deuxième
tâche est l’identification des besoins dans laquelle de nombreuses techniques, méthodes et approches
peuvent être utilisées pour étudier en détail les besoins des différentes parties prenantes.
Dans cette thèse, nous avons supposé que la phase d’élicitation est déjà réalisée.
13. http://www.acceleo.org/pages/accueil/fr
14. http://www.eclipse.org/modeling/m2t/?project=xpand
243. Processus d’ingénierie des Besoins
2. Phase de modélisation des besoins : la modélisation est une abstraction du problème par différentes
représentations. Elle consiste en la construction d’une description et d’une représentation
abstraite d’un système pour les besoins de l’interprétation [95]. La modélisation des besoins
consiste à détailler et structurer les besoins en utilisant différents types de langages de modélisation
(informels, semi-formels et formels) que nous détaillons dans la section 4 de ce chapitre.
3. Phase d’analyse des besoins : cette phase consiste à analyser la compréhension des besoins élicités
et vérifier leur qualité en termes d’exactitude, de complétude, de clarté et de consistance. Le but
de cette phase est de clarifier les besoins, de supprimer les incohérences et d’assurer la complétude
et la non redondance.
La norme IEEE 830-1998 15 relative à la spécification des besoins liste huit principales caractéristiques
que toute spécification des besoins doit assurer. Celle-ci doit être correcte, sans ambiguïté,
complète, consistante, stable, vérifiable, modifiable et traçable. Nous détaillons ces caractéristiques
ci-après :
– Spécification correcte : la spécification doit être comparée à toute spécification de niveau supérieur
(comme la spécification des besoins de l’ensemble du système), ainsi qu’avec d’autres
normes applicables, afin de s’assurer que la spécification est correcte. Alternativement, le client
ou l’utilisateur peut déterminer si la spécification reflète correctement leurs besoins réels. La
traçabilité des besoins rend cette procédure plus facile et moins sujette à l’erreur.
– Spécification sans ambiguïté : une spécification est sans ambiguïté si, et seulement si, toutes les
exigences qui y sont énoncées ne possèdent qu’une seule interprétation.
– Spécification complète : une spécification est complète si, et seulement si, elle vérifie les critères
suivants.
– Toutes les exigences importantes sont exprimées, qu’il s’agisse de fonctionnalités, de performances,
de contraintes de conception, d’attributs, ou d’interfaces externes.
– La spécification permet la définition des réponses du logiciel pour toutes les données d’entrée.
– La spécification comprend une définition de tous les labels, références, figures, tableaux et
illustrations qui y figurent, ainsi que la définition de tous les termes et unités de mesure
utilisées.
– Spécification consistante/ cohérence : une spécification est cohérente si, et seulement si, aucun
sous-ensemble des exigences individuelles décrites ne présente un conflit.
– Spécification stable : une spécification est dite stable et triée (classée) par importance si chaque
besoin a un identifiant qui indique son rang d’importance ou sa stabilité.
– Spécification vérifiable : une spécification est vérifiable si, et seulement si, toutes les exigences
énoncées sont vérifiables. Une exigence est vérifiable si, et seulement s’il existe un processus
avec lequel une personne ou une machine peut vérifier que le produit logiciel répond à cette
exigence. En général, toute exigence ambiguë et non quantifiable n’est pas vérifiable.
– Spécification modifiable : une spécification est modifiable si, et seulement si, sa structure et son
style sont construits de telle sorte que, toute modification des exigences peut être facilement et
complètement mise en oeuvre.
– Spécification traçable : une spécification est traçable si chacune de ces exigences est claire et
si la spécification facilite le référencement de chaque exigence dans le développement futur du
système ou dans sa documentation.
15. http://www.math.uaa.alaska.edu/∼afkjm/cs401/IEEE830.pdf
25Chapitre 2. L’expression des besoins : un état de l’art
La spécification consiste à établir la liste finale des besoins en les organisant suivant des catégories
fonctionnels et non fonctionnels. La sortie de la phase de spécification est la première version du
cahier des charges.
4. Phase de validation des besoins : l’objectif de cette phase est la confirmation de la qualité des
besoins et de leur conformité aux attentes des parties prenantes. Selon la norme EIA-632 16, la
validation est focalisée sur la vérification de la version finale du document des besoins pour dé-
tecter les conflits, les omissions et les déviations par rapport aux normes. La validation cherche à
certifier que les besoins satisfont les attentes des parties prenantes et à assurer qu’elles définissent
les fonctionnalités attendues du système. En cas de conflits, une négociation est envisagée pour
amener les parties prenantes à un accord.
5. Phase de gestion des besoins : cette phase consiste à suivre l’évolution ou le changement des
besoins, ainsi qu’à faire la traçabilité et le contrôle des différentes versions de ces besoins [126].
La traçabilité permet d’identifier l’origine des besoins ainsi que tous leurs liens internes ou les
liens avec le reste du projet ou le contexte (réalisation, tests, etc.).
Dans le processus, décrit précédemment, nous remarquons que la modélisation et l’expression des
besoins joue un rôle crucial dans le développement de projets. Aussi, nous détaillons, dans la section
suivante, les différents langages de modélisation des besoins utilisés.
4 Langages de modélisation des besoins
Nous présentons dans ce qui suit une classification en trois catégories des langages de modélisation
des besoins suivie par une analyse qui nous a permis de les comparer.
4.1 Langages informels (langage naturel)
Il s’agit de langages construits en langue naturelle avec ou sans règles de structuration. Parmi les
méthodes reposant sur ce type de langages, nous pouvons citer le questionnaire, l’interview et le cahier
des charges. L’avantage principal de l’utilisation des langages informels est sa facilité apparente de
compréhension qui offre une manière familière de communiquer entre les parties prenantes du système.
Le deuxième avantage est le faible coût de formation nécessaire pour savoir définir un besoin. L’utilisation
d’un langage informel ne demande aucune formation particulière et les restrictions imposées par
son utilisation nécessitent simplement la compréhension des règles de rédaction à suivre. Généralement,
l’utilisation des langages informels dans l’expression des besoins induit souvent des besoins incohérents
et ambigüs car ni leurs syntaxes, ni leur sémantique ne sont parfaitement définies. Ces besoins peuvent
mener à une mauvaise compréhension du système. Ainsi il peut exister un décalage entre les besoins de
l’utilisateur et ceux compris par les concepteurs ou un malentendu entre concepteurs et développeurs.
Dans ce cas, le système obtenu ne correspond pas aux attentes du l’utilisateur. La figure (2.4) présente
un besoin modélisé par un langage informel (langage naturel).
16. Electronic Industries Alliance. EIA-632: Processes for systems engineering. ANSI/EIA-632-1998 Approved: January 7,
1999.
264. Langages de modélisation des besoins
Besoin fonctionnel
Le système doit permettre au service de scolarité de vérifier les
moyennes des étudiants qui ont obtenu le master de recherche. Le
système doit d’abord calculer la moyenne de l’étudiant. Si la
moyenne est supérieure ou égal 10 sur 20, le système imprime
l'attestation de réussite au master de recherche. …
Besoin fonctionnel
Le système doit permettre au service de scolarité de vérifier les
moyennes des étudiants qui ont obtenu le master de recherche. Le
système doit d’abord calculer la moyenne de l’étudiant. Si la
moyenne est supérieure ou égal 10 sur 20, le système imprime
l'attestation de réussite au master de recherche. …
Figure 2.4 – Un besoin modélisé par un langage naturel.
4.2 Langages semi-formels
Les langages semi-formels sont les plus couramment utilisés dans la phase de modélisation des besoins.
Ils sont généralement basés sur des notations graphiques avec une syntaxe précise. Le caractère
graphique de ces langages est utile pour les échanges entre les différents acteurs du système. Parmi
ces langages nous citons la modélisation UML (Unified Modeling Language) [23]. Les langages semiformels
aident à élaborer et à structurer les besoins des utilisateurs sous forme de diagrammes. Les notations
graphiques permettent d’avoir une vision claire et abstraite du système. Les concepteurs peuvent
les utiliser pour mieux comprendre les besoins et soumettre leurs propositions aux utilisateurs. En bref,
l’utilisation des langages semi-formels offre une vue synthétique, structurante et intuitive du système.
Un des inconvénients des langages semi-formels est le manque de sémantique précise des besoins. Ce
dernier peut conduire à des besoins ambigüs et incohérents. La figure (2.5) présente un besoin modélisé
par un langage semi-formel (modèle des cas d’utilisation d’UML).
vérifier les moyennes des étudiants qui
ont obtenu le master de recherche
Scolarité
Calculer la moyenne
Imprimer l'attestation de réussite
Extension Points: Imprimer attestation
Condition: si moyenne > = 10
Extension Point: Imprimer attestation
« Extend »
« Include »
vérifier les moyennes des étudiants qui
ont obtenu le master de recherche
Scolarité
Calculer la moyenne
Imprimer l'attestation de réussite
Extension Points: Imprimer attestation
Condition: si moyenne > = 10
Extension Point: Imprimer attestation
« Extend »
« Include »
Figure 2.5 – Un besoin modélisé par un langage semi-formel (Cas d’utilisation).
4.3 Langages formels
Parmi les recommandations de Edmund Melson Clarke, Jr. dans son article intitulé Formal Methods:
State of the Art and Future Directions est l’utilisation des méthodes formelles dans l’analyse des besoins
27Chapitre 2. L’expression des besoins : un état de l’art
utilisateurs [88]. Les langages formels sont basés sur des notations mathématiques avec une syntaxe et
une sémantique précise. Nous pouvons citer le langage B [7] et le langage Z [113]. Les langages formels
ont donc été proposés afin d’exprimer les besoins par un formalisme rigoureux permettant de définir correctement
les termes employés pour limiter les incompréhensions entre les parties prenantes du système.
Ainsi, ils permettent de faciliter la vérification et le raisonnement sur les besoins. Malgré ces quelques
avantages certains, il existe des inconvénients avérés tels que le coût et l’effort demandés pour former
le plus de personnes possible aux langages formels. Un besoin modélisé par un langage formel Event-B
(Méthode B) est présenté comme suit :
MACHINE CALCUL-MOYEN
SEES ETUDIANT
VARIABLES
etudiants
moyenne
etudiants_admis
INVARIANTS
inv1 : etudiants ⊆ ETUDIANT S
inv2 : etudiants_admis ⊆ etudiants
inv3 : moyenne ∈ etudiants −→ N
inv4 : ∀x(x ∈ etudiants_admis =⇒ moyenne(x) ≥ 10)
EVENTS
Initialisation
begin
act1 : etudiants : = φ
act2 : etudiants_admis : = φ
act3 : moyenne : = φ
end
Event calcul_moyenne '
any
x
m
where
grd1 : x ∈ etudiantsetudiants_admis
grd2 : m ∈ N
then
act1 : moyenne(x): = m
end
Event admis '
any
x
where
grd1 : x ∈ etudiantsetudiants_admis
grd2 : moyenne(x) ≥ 10
285. Approches et méthodes pour l’expression des besoins
then
act1 : etudiants_admis: = etudiants_admis ∪ {x}
end
END
CONTEXT ETUDIANT
SETS ETUDIANTS
END
Cette présentation de différents langages de modélisation des besoins nous montre la complémentarité
des trois classes de langages. Notons que certains langages de modélisation des besoins offrent des
outils graphiques qui facilitent la visualisation de l’ensemble de besoins, comme les cas d’UML, chose
nécessaire dans le contexte d’une entreprise étendue.
Pour que les concepteurs mènent bien leurs travaux, des méthodes et des outils d’expression de
besoins ont été proposés. Dans la section suivante, nous présentons quelques méthodes accompagnées
par des outils graphiques.
5 Approches et méthodes pour l’expression des besoins
La littérature propose plusieurs approches et méthodes pour l’expression des besoins des utilisateurs.
Nous pouvons citer : les approches dirigées par les buts, les approches à base de scénarios, les approches
(Problem frames) schéma de problème, les approches basées sur des automates et réseaux de Petri [52]
(le cas du modèle de traitement de la méthodologie MERISE), l’approche L’Ecritoire, etc.. Dans ce qui
suit, nous présentons brièvement les approches les plus pertinentes par rapport à notre travail, et pour
chacune d’entre elles nous explicitons l’angle sous lequel elle étudie le système.
5.1 Approches dirigées par les buts
L’approche orientée but doit sa naissance à Yue [131]. Elle s’intéresse à l’utilisation des buts pour
le recueil, l’analyse, la validation et la gestion des besoins. Comme le définit Lamsweerde [119], "un
but est un objectif que le système considéré doit atteindre". Il peut donc être fonctionnel (décrit un
service fourni), ou non fonctionnel (détermine la qualité de service). Dans la plupart des cas, les buts sont
généralement fixés implicitement par les participants dans l’analyse préliminaire des besoins. D’autres
buts peuvent être obtenus par raffinement, abstraction, etc [36]. Le but est constitué de composants actifs
comme des humains, outils ou du logiciel, qu’on nomme " agents " ou " acteurs ". Un but peut faire
intervenir plusieurs acteurs, et il est souvent stable à long terme. D’une manière générale, les approches
dirigées par les buts offrent des mécanismes pour l’identification, l’organisation et la gestion des besoins.
Ainsi elles proposent des mécanismes pour le raisonnement sur les besoins des utilisateurs.
Les approches orientées buts ont montré leur utilité et leur importance dans nombre d’activités de
l’IB [103], [131], [107], [129], [104], [120], [100], entre autres :
– Vérifier la complétude de la spécification des besoins : les buts fournis un critère de mesure de
la complétude d’une spécification de besoins; celle-ci est complète si l’on montre que l’ensemble
29Chapitre 2. L’expression des besoins : un état de l’art
des buts peut être satisfait par l’ensemble des besoins de la spécification.
– Expliquer les besoins aux parties prenantes du processus d’IB : les buts notamment de haut niveau
fournissent les raisons du développement du système. Un besoin n’existe que s’il y a un but qui
justifie sa présence dans la spécification.
– Explorer des alternatives de conception : le système à développer peut fonctionner et interagir avec
son environnement de multiples façons ; le mécanisme de réduction des buts et le graphe ET/OU
qui en résulte aide les ingénieurs d’IB à expliciter de nombreuses alternatives et à raisonner pour
déterminer celle qui semble la mieux appropriée à la situation du projet.
– Structurer la collection des besoins : le mécanisme de réduction des buts y contribue.
– Etablir les liens de traçabilité : le graphe de réduction des buts est un moyen d’établir les liens
qualifiés de pré-traçabilité. On sait combien ces liens qui assurent la relation entre les objectifs
organisationnels et les besoins à l’égard du système sont utiles pour propager un changement des
premiers vers les seconds.
– Identifier et gérer les conflits : les différents acteurs du processus d’IB apportent des points de vue
intéressants sur le système à développer; on sait que ces points de vue peuvent être divergents et
générer des conflits. Les buts aident l’explicitation des conflits et à leurs résolution.
Différentes modèles suivent l’approches orientées buts : GQM [123], i* framework [129, 130], KAOS
[43], TROPOS [28]. Nous présentons dans ce qui suit les modèles que nous considérons comme étant les
plus représentatifs de cette approche. Ces modèles seront utilisés par la suite pour construire le modèle
orienté but d’expression des besoins que nous proposons.
5.1.1 GQM : Goal Question Metric
Selon Basili [123]. GQM représente une approche systématique pour établir des Buts en accord avec
les besoins spécifiques d’une organisation, pour les définir d’une manière opérationnelle et traitable en
les raffinant en un ensemble de questions qui à leur tour impliquent un ensemble de métriques spécifiques
et de données à collecter. Cette approche propose trois niveaux d’abstraction.
1. Niveau conceptuel (Goal) : Selon GQM, un but est défini de la manière suivante : un but est
défini pour un objet, pour plusieurs raisons, par rapport à plusieurs modèles de qualité, depuis
plusieurs points de vue et est relatif à un environnement particulier. Ex. Améliorer la qualité de
l’enseignement des cours de base de données selon le directeur de l’université.
– Objet d’étude : (Qualité d’enseignement): représente la partie de la réalité qui est observée et
étudiée.
– Raisons : (Améliorer): représente les motivations (les raisons) de l’étude de l’objet.
– Modèles de qualité : (Base de données): représente les caractéristiques de l’objet qui sont considérées
dans l’étude.
– Points de vue : (Directeur de l’université): représente la personne ou le groupe de personnes
intéressé par l’étude de l’objet.
– Environnement : (Université): représente le contexte d’application où l’étude est réalisée.
2. Niveau opérationnel (Question) : un ensemble de questions est utilisé pour caractériser la façon
d’évaluer un but spécifique. Le rôle d’une question est d’essayer de caractériser un objet à mesurer
et essayer de déterminer sa qualité par rapport à un point de vue précis. Ex. Est ce que le créneau
305. Approches et méthodes pour l’expression des besoins
Goal 1 Goal 2 Goal n
Question 1 Question 2 Question 3 Question 4 Question 5 Question n
Metric 1 Metric 2 Metric 3 Metric 4 Metric 5 Metric n
Niveau conceptuel
Niveau opérationnel
Niveau quantitatif
Améliorer la qualité de l'enseignement des cours de
base de données selon le directeur de l'université.
Est-ce que le créneau horaire de cours convient aux
étudiants ?
Le nombre d'étudiants inscrits au cours.
Exemple Goal
Question
Metric
Goal 1 Goal 2 Goal n
Question 1 Question 2 Question 3 Question 4 Question 5 Question n
Metric 1 Metric 2 Metric 3 Metric 4 Metric 5 Metric n
Niveau conceptuel
Niveau opérationnel
Niveau quantitatif
Améliorer la qualité de l'enseignement des cours de
base de données selon le directeur de l'université.
Est-ce que le créneau horaire de cours convient aux
étudiants ?
Le nombre d'étudiants inscrits au cours.
Exemple Goal
Question
Metric
Figure 2.6 – Approche GQM (Goal Question Metric).
horaire de cours convient aux étudiants ?
3. Niveau quantitatif (Metric) : Un ensemble de données est associé à chaque question pour lui
apporter une réponse dans un but quantitatif. La métrique est constituée d’une manière quantitative
pour répondre à une question spécifique. Ex. Le nombre d’étudiants inscrits au cours.
La figure2.6 présente la structure hiérarchique du l’approche GQM. Cette structure commence par
déterminer un but spécifique, ensuite raffine le but en un ensemble de questions et chaque question
est raffinée à son tour en plusieurs métriques. Une même métrique peut être utilisée pour répondre à
différentes questions pour un même but.
5.1.2 KAOS
KAOS est une méthodologie d’ingénierie des besoins dirigée par les buts, et signifie Keep All Objects
Satisfied [43]. Le concept principal dans KAOS est le concept de But, dont la satisfaction nécessite
la coopération d’agents pour configurer le système. Les buts sont liés entre eux par des relations de
décomposition AND/OR. KAOS fournit quatre modèles.
– Le modèle central est le modèle de buts qui décrit les buts du système et de son environnement. Ce
modèle est organisé dans une hiérarchie obtenue grâce au raffinement de buts de plus haut niveau
(les buts stratégiques) vers des buts de bas niveau (les exigences).
31Chapitre 2. L’expression des besoins : un état de l’art
– Le modèle objet : il permet de décrire le vocabulaire du domaine. Il est représenté par un diagramme
de classes UML.
– Le modèle des responsabilités : il permet d’assigner les exigences (les buts feuilles) aux différents
agents. Ces agents appartiennent au système à construire (agents internes) ou à son environnement
(agents externes).
– Le modèle des opérations : il représente les opérations du système en termes de leurs caractéristiques
individuelles et de leurs liaisons avec les modèles de buts (liens d’opérationnalisation des
exigences), objets (liens d’entrée-sortie) et responsabilités (liens d’exécution).
– Le modèle des comportements : il résume tous les comportements que les agents doivent accomplir
pour satisfaire les besoins. Ces comportements sont exprimés sous la forme d’opérations exécutées
par les agents responsables.
La figure 2.7 illustre un exemple de modèle de but selon KAOS. Le principal but qualité d’un article
de publication est décomposé en plusieurs sous buts qui doivent tous être satisfaits pour satisfaire le but
principal comme : la définition du comité de programme, la réception des articles, la lecture des articles,
la sélection des articles acceptés et l’édition finale. Les buts qui sont des feuilles dans le graphe de but
sont appelés des pré-requis. Ces derniers sont rendus opérationnels par des actions.
Quality Papers
Publication
Program Committee
Definition Papers Received Papers Reviewed Final Edition Accepted Papers
Selection
Review Form
Definition
Papers Reviewers
Selection
Review Proposal
Sending
Papers
Registration
Papers Submitted
In a Format
Papers with
quality
Review Proposal
Accepted
Author
Submissions Control-Chair
Papers with
quality
Review Proposal
Refused
AND Refining Goal
OR Refining
Conflict
Expectation
Responsibility
Agent
Requirement
Assignment/Task
Reviewer
Quality Papers
Publication
Program Committee
Definition Papers Received Papers Reviewed Final Edition Accepted Papers
Selection
Review Form
Definition
Papers Reviewers
Selection
Review Proposal
Sending
Papers
Registration
Papers Submitted
In a Format
Papers with
quality
Review Proposal
Accepted
Author
Submissions Control-Chair
Papers with
quality
Review Proposal
Refused
AND Refining Goal
OR Refining
Conflict
Expectation
Responsibility
Agent
Requirement
Assignment/Task
Reviewer
Figure 2.7 – Exemple d’un modèle orienté buts KAOS [13].
325. Approches et méthodes pour l’expression des besoins
5.1.3 iStar (i*)
iStar (i*) acronyme de ’Intentional STratégic Actor Relationships’ est un framework de modélisation
standardisé proposé par Eric Yu [129],[130] traitant la phase initiale d’analyse des besoins. Le framework
i* distingue les deux phases suivantes dans l’IB.
– Phase initiale : elle vise à analyser et à modéliser les intérêts des utilisateurs et la manière de les
intégrer dans différents systèmes et environnements.
– Phase finale: elle se concentre principalement sur la complétude, la consistance et la vérification
automatique des besoins.
i* est fondée sur les sept concepts suivants.
– Acteur : un acteur représente un agent physique (par exemple une personne, un animal, une voiture)
ou un agent logiciel.
– But : un but représente un intérêt stratégique d’un acteur. i* distingue les buts fonctionnels (hardgoals
ou goals) des buts non-fonctionnels (soft-goals). Les soft-goals sont utilisés pour modéliser
des qualités du logiciel, tels que la sécurité, la performance et la maintenabilité.
– Croyance : les croyances sont utilisées pour représenter les connaissances de chaque acteur sur le
monde (l’environnement).
– Plan (Task) : un plan représente une manière ou un ensemble d’actions à réaliser pour satisfaire un
but.
– Ressource : une ressource représente une entité physique ou informationnelle recherchée par un
acteur et fournie par un autre acteur.
– Capacité : la capacité représente l’aptitude d’un acteur à définir, choisir et exécuter un plan pour
réaliser un but, dans un environnement donné.
– Dépendance: une dépendance entre deux acteurs indique qu’un acteur dépend d’un autre acteur
pour atteindre un but, exécuter un plan ou délivrer une ressource.
Un exemple (une instance du méta-modèle) d’un modèle iStar est présenté dans la figure 2.8. Le but
principal de l’acteur Auteur est la publication de son article ( Article be Published). Ce but est accompli
par la tâche soumettre l’article ( Submit article in conference). Cette tâche est accomplie par deux
sous-buts article à soumettre ( Article be Submitted) et version finale à transmettre(Camera Ready Be
Transmitted). Les autres nœuds représentent les buts et les tâches nécessaires pour accomplir ces deux
sous buts.
5.2 Approches à base de scénarii
Dans les approches à base de scénarii, les besoins sont décrits à l’aide de scénarii visant à la compréhension
du système par les participants. Les événements de scénarii sont des interactions entre l’utilisateur
et le système. Un scénario peut être défini comme l’ordre des actions ou des événements pour un
cas spécifique d’une certaine tâche générique qu’un système doit accomplir [105]. Il permet de capturer
des scènes, des descriptions narratives du contexte et du fonctionnement du système, des cas d’utilisation
et des exemples de comportement d’utilisateur. Les scénarios sont exprimés dans différents langages :
informels (langage naturel), semi-formels (diagramme des cas d’utilisation (UML), tableaux, etc.) ou
formels (langages basés sur des grammaires régulières, diagrammes d’états, etc.). Nous nous sommes
intéressés plus particulièrement aux diagrammes des cas d’utilisation. Rappelons qu’il existe des outils
33Chapitre 2. L’expression des besoins : un état de l’art
Article be Published Author
Submit article in
conference
Article be Submitted
Prepare Camera
Ready
Send Camera
Ready Obtain Reviews
Submit Article
Article
Obtain Reviews
Send Inf Article
Author
Send Article
Camera Ready
Be Transmitted
Effortless
[submission]
Security
[submission]
Hurt
Goal
Task
Resource
Soft-Goal
Task-Decomposition
link
Means-ends link
Actor
Contribution to
softgoals
Actor Boundary
Legend
Article be Published Author
Submit article in
conference
Article be Submitted
Prepare Camera
Ready
Send Camera
Ready Obtain Reviews
Submit Article
Article
Obtain Reviews
Send Inf Article
Author
Send Article
Camera Ready
Be Transmitted
Effortless
[submission]
Security
[submission]
Hurt
Goal
Task
Resource
Soft-Goal
Task-Decomposition
link
Means-ends link
Actor
Contribution to
softgoals
Actor Boundary
Legend
Figure 2.8 – Exemple d’un modèle orienté buts iStar (i*) [13].
comme Rational Rose 17 qui offrent des visualisations graphiques.
Un cas d’utilisation est un moyen pour décrire les exigences fonctionnelles d’un système. D’après
Jacobson et al, un cas d’utilisation est une description d’un ensemble de séquences d’actions, incluant
des variantes, qu’un système effectue pour fournir un résultat observable et ayant une valeur pour un
acteur[68]. Chaque cas d’utilisation contient un ou plusieurs scénarii qui définissent comment le système
devrait interagir avec les utilisateurs (appelés acteurs) pour atteindre un but ou une fonction spécifique
d’un travail. Un acteur d’un cas d’utilisation peut être un humain ou un autre système externe à celui
que l’on tente de définir. Pour clarifier le diagramme, UML permet d’établir des relations entre les cas
d’utilisation. Il existe principalement deux types de relations : les relations de dépendances (Inclusion,
Extension) et la généralisation/spécialisation.
– La relation d’inclusion : un cas A est inclus dans un cas B si le comportement décrit par le cas A
est inclus dans le comportement du cas B : on dit alors que le cas B dépend de A. Par exemple,
l’accès aux informations des étudiants inclut nécessairement une phase d’authentification avec un
mot de passe (figure 2.9). Les inclusions permettent aussi de décomposer un cas complexe en
sous-cas plus simples.
– La relation d’extension : si le comportement de B peut être étendu par le comportement de A,
on dit alors que A étend B. Une extension est souvent soumise à condition. Graphiquement, la
17. http://www-03.ibm.com/software/products/fr/enterprise/
345. Approches et méthodes pour l’expression des besoins
Gérer les étudiants
Accéder aux informations des étudiants
Scolarité
Calculer la moyenne
Admettre des étudiants
Extension Points: exécuter les actions d’admission
Condition: si moyenne > = 10
Extension Point: exécuter les actions
de l’admission « Extend »
« Includes »
Cas d’utilisation
Ajouter des étudiants Supprimer des étudiants
S'authentifier
Gérer les étudiants
Accéder aux informations des étudiants
Scolarité
Calculer la moyenne
Admettre des étudiants
Extension Points: exécuter les actions d’admission
Condition: si moyenne > = 10
Extension Point: exécuter les actions
de l’admission « Extend »
« Includes »
Cas d’utilisation
Ajouter des étudiants Supprimer des étudiants
S'authentifier
Figure 2.9 – Diagramme des cas d’utilisation (Use case).
condition est exprimée sous la forme d’une note. La figure 2.9 présente l’exemple d’une scolarité
où l’admission d’un étudiant n’intervient que si sa moyenne obtenue est supérieure ou égale 10
sur 20.
– La relation de généralisation : un cas A est une généralisation d’un cas B si B est un cas particulier
de A. Pour la figure2.9, Ajouter un étudiant est un cas particulier Gérer les étudiants. La relation
de généralisation/spécialisation existe dans la plupart des diagrammes UML et elle est interprétée
par le concept d’héritage dans les langages orientés objet.
5.3 Approches basées sur les automates et réseaux de Petri
Dans cette section, nous nous concentrons que sur le modèle de traitements de méthodologie Merise
[101] qui représente un bon exemple de méthode d’expression de besoins avec un réseau de Petri. Rappelons
que Merise est un produit français, développé à l’initiative du Ministère de l’industrie en 1977
pour offrir aux entreprises publiques une méthodologie rigoureuse tout en intégrant les aspects nouveaux
pour l’époque : les bases de données (modélisation entité association, le modèle relationnel, le déploiement
sur des SGBD, etc.) et l’informatique répartie (le réseau, la fragmentation du schéma de la base
de données, etc.). La principale caractéristique de cette méthode, est la séparation entre les données et
les traitements. Un formalisme inspiré des réseaux de Pétri est proposé pour exprimer les traitements
identifié lors de la phase des besoins (Figure 2.10).
Le Modèle Conceptuel de Traitement (MCT) utilisé par la méthodologie de Merise est une succession
de traitements déclenchés par des événements et qui donnent naissance à de nouveaux événements. Un
traitement (opération) est une suite d’actions réalisées en vue d’obtenir un résultat[99]. Dans notre
35Chapitre 2. L’expression des besoins : un état de l’art
Nom de traitement
Règle d’émission 1
Résultat 1 Résultat 2
Synchronisation
Evènement 1 Evènement 2
Action 1
Action 2
Action n
(a) Formalisme graphique.
Vérifier l’admission des étudiants
Étudiant admis Étudiant ajourné
ET
Authentification Le système permet à la scolarité de
vérifier l’admission des étudiants
Calculer moyenne
Moyenne < 10
(b) Exemple (gestion de scolarité).
Règle d’émission 2 Moyenne = > 10
Acteur Scolarité
Nom de traitement
Règle d’émission 1
Résultat 1 Résultat 2
Synchronisation
Evènement 1 Evènement 2
Action 1
Action 2
Action n
(a) Formalisme graphique.
Vérifier l’admission des étudiants
Étudiant admis Étudiant ajourné
ET
Authentification Le système permet à la scolarité de
vérifier l’admission des étudiants
Calculer moyenne
Moyenne < 10
(b) Exemple (gestion de scolarité).
Règle d’émission 2 Moyenne = > 10
Acteur Scolarité
Figure 2.10 – Exemple de modèle conceptuel de traitement.
travail, nous nous intéressons à l’utilisation du MCT comme modèle des besoins des utilisateurs. (Voir
figure 2.10.(a)).
– Acteur : est une personne morale ou physique capable d’émettre ou de recevoir des informations.
Par exemple la scolarité.
– Évènement : C’est un fait réel qui, seul ou synchronisé avec d’autres évènements, a pour effet de
déclencher une ou plusieurs actions. Un événement peut:
– déclencher un traitement (ex : Le système permet à la scolarité de vérifier l’admission des
étudiants déclenche le traitement Vérifier l’admission des étudiants (voir l’exemple de la figure
2.10.(b)).
– être le résultat d’un traitement (ex : (Étudiant admis), et à ce titre être, éventuellement, un
événement déclencheur d’un autre traitement.
– Traitement (opération) : est un ensemble d’actions exécutées par le système suite à un événement,
ou à une conjonction d’événements.
– Règles d’émissions : représentent des conditions permettant l’expression des solutions alternatives
et l’exécution conditionnelle du traitement. Par exemple (si la moyenne = > 10 alors (Étudiant
admis). Sinon (Étudiant ajourné)).
– Synchronisation : est une relation entre les événements déclencheurs qui est représentée par une
condition booléenne grâce aux opérateurs logiques " Et ", " Ou " et " Non ". Le traitement n’est
pas déclenché si la condition n’est pas réalisée.
Notons que le MCT est intégré dans l’outil Power AMC18 de Sybase.
18. http://www.sybase.fr/products/modelingdevelopment/poweramc
366. Problématiques liées à l’expression des besoins
Nous venons de présenter différentes approches pour exprimer les besoins des utilisateurs. Ces mé-
thodes peuvent amener différents problèmes qui ont amené le travail réalisé dans cette thèse. Ces problèmes
sont décrits dans la section suivante.
6 Problématiques liées à l’expression des besoins
L’importance des besoins augmente dans le contexte des entreprises étendues. Ces dernières nécessitent
la collaboration d’un grand nombre de concepteurs qui peuvent provenir de différents domaines,
départements, laboratoires de recherche, etc. Dans cette situation, produire un document des besoins
de qualité devient difficile dû à plusieurs problèmes. Nous pouvons citer : (1) l’hétérogénéité des réfé-
rentiels (vocabulaires), (2) l’hétérogénéité au niveau des langages de modélisation des besoins, (3) les
relations complexes entre les besoins des utilisateurs et (4) l’évolution des besoins. Ces problèmes sont
déjà détaillés dans le chapitre 1.
Les autres problèmes suivants peuvent conduire à des besoins ambigus, incomplets, incohérents, et
incorrects [38].
– Problèmes de périmètre : si les frontières et les objectifs du système cible sont mal définis après
l’analyse du contexte de l’organisation. Des besoins incomplets, non vérifiables, et inutilisables
peuvent également être fournis. Cela conduit à l’inachèvement du projet, au dépassement de ses
budgets, ou à la défaillance du système développé.
– Une compréhension incomplète des besoins.
– Une faible collaboration entre les différents utilisateurs ou concepteurs du système.
– Une faible connaissance du domaine par les concepteurs.
Dans le cadre d’une entreprise étendue impliquant un nombre important de concepteurs hétérogènes,
une bonne étude des besoins nécessite trois phases principales : (i) l’expression des besoins, (ii) l’intégration
des besoins et (iii) leur analyse. Nous avons déjà évoqué la première phase dans les sections
précédentes, où nous avons montré la diversité des langages de modélisation des besoins. Dans la section
suivante, nous allons détailler les travaux concernant deux dernières phases.
7 État des lieux sur l’intégration et l’analyse des besoins
7.1 L’intégration des besoins
Un nombre important de travaux sur l’intégration de besoins ont été proposés que nous pouvons
classer en deux catégories : les approches dirigées par des méthodes issues de la logique mathématique
[83, 127] et les approches d’ingénierie dirigée par les modèles (IDM) [86, 94, 5, 121, 30].
7.1.1 Exemples d’approches dirigées par des méthodes issues de la logique mathématique
Nous prenons l’exemple du travail de Wieringa et al. [127]. La particularité de ce dernier est qu’il
s’intéresse à l’intégration des besoins exprimés à l’aide de trois langages appartenant aux trois catégories,
37Chapitre 2. L’expression des besoins : un état de l’art
à savoir formelles, semi-formelles et informelles. Pour ce faire, les auteurs proposent un Framework
appelé TRADE (Toolkit for Requirements And Design Engineering), au sein duquel plusieurs techniques
de spécification semi-formelles connues sont placées (par exemple, Class-Relationship Diagrame, CRD,
Communication diagram et Function refinement tree). TRADE est basé sur une méthode de spécification
structurée et orientée objet pour analyser les besoins. Dans ce travail, les auteurs combinent TRADE
avec un langage formel de spécification (Albert II) [47]. Ce dernier a été développé et expérimenté
depuis plusieurs années, il est destiné à la modélisation et la spécification des besoins exprimés par les
utilisateurs. Les auteurs montrent que cette intégration conduit à une spécification cohérente des besoins
formels et semi-formels. Cette approche a été illustrée par quelques exemples d’applications dans le
domaine de la télécommunication distribuée.
Un autre exemple de travaux traitant deux langages appartenant à deux catégories de langages de modélisation
des besoins différentes, à savoir semi-formelle et formelle est celui de Laleau et al. [83]. Les
auteurs de ce travail proposent une méthode intégrant le langage SysML considéré comme langage semiformel
et la méthode B appartenant à la catégorie formelle. L’idée principale de ce travail est d’étendre
le langage SysML avec les concepts appartiennent à des méthodes d’ingénierie des besoins existantes.
L’approche s’effectue selon les étapes suivantes : (1) étendre le langage SysML par des concepts repré-
sentant les concepts de base du modèle de but de la méthode KAOS. Cette extension est concrètement
établie au niveau du méta-modèle à l’aide des techniques de méta-modèlisation. (2) définition des règles
pour dériver une spécification formelle de B à partir de ce modèle étendu. Cette étape permet de fournir
une sémantique précise aux éléments du modèle de besoins.
7.1.2 Approches dirigées par IDM
L’IDM offre un cadre technique qui peut concerner les activités de l’IB autour de méta-modèles et les
transformations de modèles, afin de fournir des spécifications des besoins qui soient correctes, complètes,
cohérentes, sans ambiguïté, modifiables et faciles à lire et à sauvegarder. L’IDM peut s’appliquer dans
différentes phases du processus d’IB, depuis l’élicitation jusqu’à la gestion des besoins. Elle est utilisée
dans la modélisation, la persistance, l’intégration, la vérification, la traçabilité et la collaboration des
besoins. Plusieurs travaux d’intégration des besoins, proposant l’utilisation des approches dirigées par
les modèles, ont été proposés dans la littérature [86],[94],[5], [121], etc. Parmi ces travaux, voici une
description de ceux étant les plus proches de nos préoccupations.
– Lopez et al. [86] : proposent un méta-modèle comme un schéma conceptuel (défini à priori) pour
intégrer certains types de diagrammes semi-formels des besoins dans une approche de réutilisation
des besoins (Figure:2.11). Le métamodèle généré supporte six techniques de modélisation des
besoins connues, qui se concentrent principalement sur les besoins fonctionnels : scénarii, cas
d’utilisation, diagrammes d’activité, flux de données, document tâches et workflows.
– Navarro et al. [94] : proposent une approche de modélisation des besoins qui permet l’intégration
de l’expressivité de certaines techniques les plus pertinentes dans le domaine de l’IB, dans
un Framework commun. Ce travail est basé sur les techniques de méta-modélisation de l’IDM
comme un moyen d’intégration et de personnalisation. Pour établir cette intégration, les auteurs
ont étudié cinq approches connues dans le domaine de l’IB : traditionnel (basées sur la norme
IEEE 830-1998), Use Cases, Goal Oriented, Aspect Oriented et variability management. Les auteurs
ont commencé par un ensemble limité de concepts, de manière à ce qu’il soit plus simple et
387. État des lieux sur l’intégration et l’analyse des besoins
Modeling
Unit
Requirements
Representation
Model
Complement Exception Subset Equivalence Extension Inclusion
Dependency Association Generalization
Unit
Realationship
source
target
1 *
1 *
Constraint Connector Goal State Activity Subject
Semiformal
Behavioural and
Structural Model Behavioural Model Structural Model
Compulsory Optional Alternative Multiple
Model
Realationship
Domain
Objective
*
*
*
*
parent child
characterize
1 1.0
Project
1.*
1.* Unit Model
Relationship
1 1
*
*
*
2.*
From
System
From
User Action Job
Person Autonomous
System
Company
Unit Linear Joint Split
Resource
Constraint
Temporal
Constraint
Physical Data
Data Flows
Diagram
Docuement-Task
Diagram
Activity
Diagram
Sequence
Specification
Diagram
Scenarii
Diagram
Use Cases
Diagram
Workflow
Diagram
Meta Level
Model Level
Modeling
Unit
Requirements
Representation
Model
Complement Exception Subset Equivalence Extension Inclusion
Dependency Association Generalization
Unit
Realationship
source
target
1 *
1 *
Constraint Connector Goal State Activity Subject
Semiformal
Behavioural and
Structural Model Behavioural Model Structural Model
Compulsory Optional Alternative Multiple
Model
Realationship
Domain
Objective
*
*
*
*
parent child
characterize
1 1.0
Project
1.*
1.* Unit Model
Relationship
1 1
*
*
*
2.*
From
System
From
User Action Job
Person Autonomous
System
Company
Unit Linear Joint Split
Resource
Constraint
Temporal
Constraint
Physical Data
Modeling
Unit
Requirements
Representation
Model
Complement Exception Subset Equivalence Extension Inclusion
Dependency Association Generalization
Unit
Realationship
source
target
1 *
1 *
Constraint Connector Goal State Activity Subject
Semiformal
Behavioural and
Structural Model Behavioural Model Structural Model
Compulsory Optional Alternative Multiple
Model
Realationship
Domain
Objective
*
*
*
*
parent child
characterize
1 1.0
Project
1.*
1.* Unit Model
Relationship
1 1
*
*
*
2.*
From
System
From
User Action Job
Person Autonomous
System
Company
Unit Linear Joint Split
Resource
Constraint
Temporal
Constraint
Physical Data
Data Flows
Diagram
Docuement-Task
Diagram
Activity
Diagram
Sequence
Specification
Diagram
Scenarii
Diagram
Use Cases
Diagram
Workflow
Diagram
Meta Level
Model Level
Figure 2.11 – Méta-modèle des besoins modélisés en UML. [86].
facile de parvenir à un méta-modèle consensuel. En outre, ils fournissent quelques conseils pour
étendre cet ensemble de concepts, de telle sorte qu’une cohérence sémantique appropriée puisse
être maintenue.
– ITU-T12. [5] : selon [Recommendation ITU-T Z.151], URN (User Requirements Notation) est
un langage de modélisation qui permet l’élicitation, l’analyse, la spécification et la validation des
besoins. URN combine deux langages de modélisation : le langage GRL (Goal-oriented Requirement
Language) pour modéliser les acteurs et leurs besoins non-fonctionnels et la notation UCM
(Use Case Maps) pour décrire les scénarios des besoins fonctionnels et les architectures. URN
permet aux analystes des besoins de découvrir et de spécifier les besoins pour un système proposé
ou un système évolutif, et d’analyser ces besoins pour détecter les incohérences et les ambigüités.
– Vicente et al. [121] : proposent un méta-modèle des besoins appelé REMM (Requirements Engineering
MetaModel). Ce travail est une première tentative pour apporter les avantages de l’approche
IDM à la pratique de l’IB. Les auteurs notent que, se référant à [11], les éléments du métamodèle
des besoins dépendent fortement du contexte. Ainsi, le méta-modèle REMM est conçu
dans un contexte de réutilisation des besoins, même s’ils estiment que les concepts et les relations
du méta-modèle sont généralement applicables dans les approches de l’IB. REMM supporte trois
types de relations entre les besoins : DependenceTrace, InfluenceTrace, et ParentChildTrace.
– Brottier et al. [30] : proposent un mécanisme dirigé par les modèles pour intégrer un ensemble
de spécifications textuelles des besoins, écrites dans différentes syntaxes, dans un modèle global.
39Chapitre 2. L’expression des besoins : un état de l’art
Ce mécanisme est intégré dans une plateforme appelée R2A qui signifie (Requirements to Analysis).
L’élément central de R2A est son méta-modèle des besoins qui a été défini pour capturer les
besoins du modèle global. Le processus est composé de deux étapes basées sur les techniques de
l’IDM. La première analyse chaque spécification des besoins textuels pour produire un modèle de
syntaxe abstraite. La deuxième étape, interprète la sémantique abstraite de chaque modèle dans un
modèle de besoins intermédiaire, puis fusionne ces modèles dans un modèle de besoins global des
besoins (Figure:2.12). Ces deux étapes emploient les techniques de l’IDM. Ce travail fournit un
modèle global des besoins.
Interpretation Fusion Parsing
Specification
model
Specification
model
Global
requirements
model
Core requirements
Metamodel
Input language
Metamodel
Intermediate
model
Intermediate
model
Textual
specification (n)
Textual
specification (1)
Input language
Grammar
1
2
2a 2b
Text world Model world
Model transformation « Conforms to »
Import
Interpretation Fusion Parsing
Specification
model
Specification
model
Global
requirements
model
Core requirements
Metamodel
Input language
Metamodel
Intermediate
model
Intermediate
model
Textual
specification (n)
Textual
specification (1)
Input language
Grammar
1
2
2a 2b
Text world Model world
Model transformation « Conforms to »
Import
Figure 2.12 – Etape de production d’un modèle global des besoins [30].
7.2 L’analyse des besoins
Nous rappelons que la phase d’analyse des besoins consiste à analyser la compréhension des besoins,
de les exprimés et de les clarifier ainsi que de supprimer leurs incohérences, d’assurer la complétude de
leurs description et déceler les redondances. Plusieurs travaux qui peuvent surgir d’analyse des besoins
ont été proposés dans la littérature que nous détallions ci-après.
– Mirbel et al. [92] : proposent une approche permettant de vérifier la cohérence dans le modèle
orienté buts (Goal-oriented). L’approche vise à détecter des relations implicites entre les buts et à
vérifier les incohérences possibles entre eux. Dans ce travail, les auteurs ont utilisé la technique de
la théorie de l’argumentation pour formaliser les besoins (buts) et leurs relations, et pour détecter
les incohérences. Cette approche peut être considérée comme une aide apportée aux acteurs afin
407. État des lieux sur l’intégration et l’analyse des besoins
de les aider à atteindre une compréhension commune d’un ensemble des besoins basés sur les buts.
– Heitmeyer et al. [65] : proposent une technique d’analyse formelle, appelée vérification de la cohérence
pour la détection automatique des erreurs dans les spécifications des besoins. La technique
est conçue afin d’analyser les spécifications des besoins exprimés par des notations tabulaires SCR
(Software Cost Reduction). Pour fournir une sémantique formelle pour la notation SCR, un modèle
formel de spécification est introduit. Ce dernier représente le système comme un automate à
états finis. Il définit un état du système en termes d’entités, une condition en tant que prédicat sur
l’état du système, et un événement d’entrée comme un changement qui déclenche un nouvel état
du système.
– Giorgini et al. [51] : proposent un framework de raisonnement sur les modèles de buts. Ces derniers
utilisent des relations ET/OU, ainsi que des relations plus qualitatifs entre les buts comme
par exemple les relations de contradiction. Le framework fournit une sémantique précise pour
toutes les relations de but dans une forme qualitative et numérique en utilisant des algorithmes
de propagation des étiquettes (Label propagation algorithms). L’analyste attribue des valeurs de
contribution (+) et (-) pour les arêtes d’un graphe de buts. La valeur de contribution d’une arête
représente le degré de la contribution positive ou négative entre deux buts. Ces valeurs quantitatives
peuvent aider un analyste à reconnaître les conflits entre les buts. La principale limitation
de ce framework est la définition des liaisons de contribution et l’affectation des étiquettes. C’est
un problème que l’analyste peut rencontrer dans la modélisation de situations complexes où de
nombreux buts sont liés entre eux, et lorsque différents points de vue doivent être pris en compte
dans l’attribution des valeurs initiales aux buts. De plus, le framework de raisonnement présenté
est très spécifique aux modèles de but.
– Lamsweerde [84] : propose une approche pour raisonner sur les besoins alternatifs. Ils ont introduit
des relations d’influence entre les besoins, en indiquant si un besoin a une influence positive
ou négative sur un autre besoin. Les auteurs appliquent des techniques de raisonnement formel
pour identifier les besoins qui ont un impact négatif.
7.3 Synthèse
Dans cette section, nous avons fait un tour d’horizon sur les nombreuses phases de l’ingénierie des
besoins. Cette étude nous a permis d’identifier certaines lacunes concernant l’intégration et l’analyse des
besoins : (1) l’absence d’autonomie des concepteurs à cause de l’unique vocabulaire imposé pour l’expression
des besoins, (2) l’indépendance des phases, en d’autres termes, l’expression (modélisation) et
l’analyse des besoins sont faits d’une manière indépendante, d’où la présence de deux communautés de
recherche distinctes, une qui traite la partie intégration et l’autre la partie analyse, malgré l’interdépendance
des deux phases, (3) les relations entre les besoins (par exemple, les conflits) sont détectées trop
tard ou pas du tout et (4) les besoins ne sont pas intégrés dans le cycle de vie de conception de bases de
données avancées.
Pour résumer, nous proposons une comparaison des travaux étudiés selon 7 critères qui sont : (1)
l’intégration langages de modélisation des besoins (IL), (2) les classes de langages utilisés (informels,
semi formels, formels) (CLU), (3) l’intégration vocabulaires (IV), (4) l’analyse (A), (5) la couverture de
cycle de vie (CCV), (6) la présence des outils (PO), (7) l’évolution (E). (Voir Tableau 2.1)
41Chapitre 2. L’expression des besoins : un état de l’art
Travaux / Critères IL CLU IV A CCV PO E
Wieringa et al.[127] Oui informels, semi-formels, formels Non Oui Non Oui Non
Laleau et al. [83] Oui semi-formels, formels Non Oui Non Non Non
Lopez et al.[86] Oui semi-formels Non Non Non Non Non
Navaro et al.[94] Oui semi-formels Non Oui Non Non Non
ITU-T12.[5] Oui semi-formels Non Oui Non Oui Non
Vicente et al.[121] Oui semi-formels Non Oui Non Oui Non
Brottier et al.[30] Oui informels, semi-formels Non Oui Non Oui Non
Mirbel et al.[92] Non formels Non Oui Non Non Non
Heitmeyer et al.[65] Non informels Non Oui Non Oui Non
Giorgini et al.[51] Non semi-formels Non Oui Non Oui Non
Lamsweerde et al.[84] Non semi-formels Non Oui Non Non Non
Table 2.1 – Comparaison des travaux étudiés.
Cette comparaison nous montre l’intérêt de développer des approches unifiant les langages de modé-
lisation des besoins et les vocabulaires et surtout "consolider" les besoins avec les phases de conception
des bases de données avancées.
8 Conclusion
Dans ce chapitre, nous avons d’abord montré le rôle crucial des besoins dans le cycle de vie de
conception des bases de données avancées. Les traités indépendamment dans l’ensemble des phases de
ce cycle pénalise l’application finale. Pour mieux comprendre la communauté de l’ingénierie des besoins,
nous avons revu certaines définitions et concepts liés à leurs phases : élicitation, modélisation, analyse
et validation. Nous avons longuement insisté sur les langages de modélisation des besoins et surtout
leur diversité. Trois classes de langages sont présentées : les langages informels considérés comme les
pionniers de langages, les langages semi-formels, et les langages formels. Dans chaque classe, une large
panoplie de langages existe. Cette diversité rend difficile leur intégration.
Dans le but d’intégrer les langages de modélisation des besoins hétérogènes, nous nous sommes focalisés
sur la classe semi-formelle, où nous avons étudié trois familles de langages qui seront considérées
dans notre étude de cas : approches dirigées par les buts, approches à base de scénarii et les approches
basées sur des automates et réseaux de Petri (le cas du modèle de traitement de la méthode MERISE).
L’analyse des travaux d’intégration et d’analyse des besoins présentés dans la section 7 nous a montré
l’ignorance de l’hétérogénéité des vocabulaires. Pour réduire cette hétérogénéité, nous proposons l’utilisation
des ontologies que nous allons détailler dans le chapitre suivant. Notre vision est d’étendre les
besoins à tout le cycle de vie de conception de bases de données avancées plutôt que de les limiter à la
phase initiale.
42Chapitre 3
Les ontologies au service de l’Ingénierie des Besoins
Sommaire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2 Ontologies de domaine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.1 Définitions et caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2 Une taxonomies des ontologies de domaine . . . . . . . . . . . . . . . . 46
2.2.1 Les Ontologies Linguistiques (OL) . . . . . . . . . . . . . . . 47
2.2.2 Les Ontologies Conceptuelles (OC) . . . . . . . . . . . . . . . 47
2.3 Les langages de définitions des ontologies . . . . . . . . . . . . . . . . . 48
2.3.1 Langages orientés gestion et échange de données . . . . . . . . 48
2.3.2 Langages orientés inférence . . . . . . . . . . . . . . . . . . . 50
2.4 Les éditeurs d’ontologies . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.5 Représentation formelle d’une ontologie . . . . . . . . . . . . . . . . . . 53
3 Ontologies et l’intégration : application aux sources de données hétérogènes . 54
3.1 Intégration sémantique a posteriori . . . . . . . . . . . . . . . . . . . . . 54
3.2 Intégration sémantique a priori . . . . . . . . . . . . . . . . . . . . . . . 56
4 Les ontologies dans l’IB : état de l’art . . . . . . . . . . . . . . . . . . . . . . 57
4.1 L’analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 L’intégration des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3 Ontologies, besoins et le cycle de vie de conception . . . . . . . . . . . . 60
4.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Résumé. Nous présentons dans ce chapitre un état de l’art portant sur l’utilisation des ontologies
dans le domaine de l’IB. Nous abordons tout d’abord, la notion d’ontologie de
domaine, ensuite la contribution des ontologies dans l’intégration des sources de données
hétérogènes. Nous présentons également l’utilisation des ontologies dans le domaine de
l’IB. Finalement, nous positionnons notre travail par rapport à l’état de l’art sur les travaux
d’intégration des donnée à base ontologique.
431. Introduction
1 Introduction
Au cours de ces dernières années, la notion d’ontologie s’est rapidement diffusée dans un grand
nombre de domaines de recherche tels que les bases de données et l’intelligence artificielle (IA). Dans
le domaine de base de données, elles ont contribué principalement à la conception de bases de données
vu leur similarité avec les modèles conceptuels [49] et l’intégration de sources de données [20], tandis
que dans le domaine de l’IA, les ontologies ont notamment offert des mécanismes de raisonnement et
de déduction. Une ontologie est définie comme la représentation formelle et consensuelle au sein d’une
communauté d’utilisateurs des concepts propres à un domaine et des relations qui les relient. Le but d’une
ontologie est aussi de permettre de partager et de représenter formellement la sémantique des objets d’un
domaine, ainsi que de supporter certains mécanismes de traitement automatique tel que le raisonnement.
Compte tenu du caractère prometteur de cette notion, de nombreux travaux portent sur l’utilisation des
ontologies dans des domaines aussi divers que le traitement automatiques de la langue naturelle, la recherche
d’information, le commerce électronique, le web sémantique, la spécification des composants
logiciels, l’ingénierie et l’intégration d’informations, etc. Récemment, les ontologies ont été utilisées
dans le domaine d’IB afin de faciliter l’expression des besoins ainsi que pour détecter l’incohérence et
l’ambiguïté sémantique entre les besoins utilisateurs. La fusion entre les deux domaines (ingénierie des
besoins et ontologies) a suscité l’intérêt de la communauté de recherche depuis les années 80 et depuis,
les ontologies ont démontré leur efficacité à résoudre d’autres problèmes comme l’indexation des données,
le traitement de langage naturelle, l’échange et le partage des données, etc. En effet, l’ontologie
peut servir de vocabulaire précis et partagé pour définir la sémantique des besoins à l’aide de concepts
communs, formalisés et référençables.
Nous présentons dans ce chapitre un état de l’art portant sur l’utilisation des ontologies dans le
domaine de l’IB. Il est organisé en cinq sections. Dans la section 2, nous introduisons les ontologies,
leurs principales définitions, caractéristiques, langages de définition, éditeurs, et formalisation. Nous
donnons ensuite leur classification en se basant sur la nature de ce qu’elles décrivent. La section 3 est
consacrée à l’utilisation des ontologies pour l’intégration des sources de données hétérogènes. La section
4 présente un état de l’art sur les travaux qui utilisent des ontologies dans le domaine de l’IB. La section
5 conclut ce chapitre.
2 Ontologies de domaine
Dans cette section, nous définissons la notion d’ontologie tout en dégageant ses caractéristiques.
Nous présentons ensuite ses principaux langages de définition, ses éditeurs et nous donnons sa représentation
formelle. Enfin, nous présentons une taxonomie des ontologies de domaine, afin de bien préciser
celles concernés par le travail réalisé dans le cadre de cette thèse.
2.1 Définitions et caractéristiques
Plusieurs définitions d’ontologies ont été proposées dans la littérature [61],[71],[98], etc. Pierra dé-
finit une ontologie de domaine comme "a domain conceptualization in terms of classes and properties
that is formal, multilingual, consensual and referencable"[98]. Cette définition met en avant quatre ca-
45Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
ractéristiques qui distinguent une ontologie de domaine des autres modèles informatiques (tels que les
modèles conceptuels et les modèles de connaissances).
1. Formelle : signifie que l’ontologie est basée sur des théories formelles qui permettent à une machine
de vérifier automatiquement certaines propriétés de consistance et/ou de faire certains raisonnements
automatiques sur l’ontologie et ses instances.
2. Multilingue : les ontologies dans certains domaines comme l’ingénierie sont multilingues [73].
Cette caractéristique favorise leur utilisation dans les grandes entreprises.
3. Consensuelle : signifie que l’ontologie est une conceptualisation validée par une communauté.
C’est aussi un accord sur une conceptualisation partagée.
4. Capacité à être référencée : signifie que tout concept de l’ontologie est associé à un identifiant
unique permettant de le référencer à partir de n’importe quel environnement, afin d’expliciter la
sémantique de l’élément référençant.
Parmi les autres caractéristiques des ontologies qui distinguent une ontologie de domaine des autres
modèles informatiques, nous pouvons citer les suivantes.
– Capacité à raisonner : le caractère formel des ontologies permet d’appliquer des opérations de
raisonnement sur les ontologies. En l’occurrence, dériver des faits qui ne sont pas exprimés dans
l’ontologie en utilisant des langages tels que la logique de description (LD). Dans notre contexte,
les ontologies offrent des capacités de raisonnement qui peuvent être utilisées pour détecter les
incohérences et les ambiguïtés sémantiques des besoins des utilisateurs. En effet, dans la plupart
des modèles d’ontologies (OWL, PLIB), pour une ontologie et une classe données, on peut calculer
(1) toutes ses super-classes (directes ou non), (2) ses sous-classes (directes ou non), (3) ses
propriétés caractéristiques (héritées ou locales), (4) toutes ses instances (polymorphes ou locales),
etc.
– Objectif de modélisation : une ontologie décrit les concepts d’un domaine d’un point de vue assez
général, indépendamment d’une application particulière et de tout système dans lequel elle est
susceptible d’être utilisée. A l’opposé, un modèle conceptuel de données prescrit l’information
qui doit être représentée dans un système informatique particulier pour faire face à un besoin
applicatif donné.
– Atomicité des concepts : à la différence d’un modèle conceptuel de données, où chaque concept ne
prend son sens que dans le contexte du modèle dans lequel il est défini, dans une ontologie, chaque
concept est identifié et défini explicitement de façon individuelle et constitue une unité élémentaire
de connaissance. Un modèle conceptuel de données peut donc extraire d’une ontologie seulement
les concepts (classes et propriétés) pertinents pour son objectif applicatif. Il peut également, sous
réserve de respecter leur sémantique (la subsomption par exemple), les organiser de façon assez
différente de leur organisation dans l’ontologie, la référence au concept ontologique permettant de
définir avec précision la signification de l’entité référençante.
2.2 Une taxonomies des ontologies de domaine
Deux principales catégories d’ontologies de domaine ont émergé dans la littérature [98] : les ontologies
linguistiques et les ontologies conceptuelles. Les ontologies linguistiques (OL) représentent les
termes d’un domaine éventuellement selon différents langages naturels. Les ontologies conceptuelles
462. Ontologies de domaine
(OC) représentent les catégories d’objet et leurs propriétés d’un domaine donné. Les OCs diffèrent cependant
selon le modèle d’ontologie utilisé pour les définir. On distingue ainsi deux catégories d’OC basées
sur les notions de concepts primitifs et de concepts définis énoncées par Gruber [61]. Les concepts
primitifs définissent le premier noyau du domaine conceptualisé par l’ontologie. Les concepts définis
sont des concepts dont la définition utilise d’autres concepts (primitifs ou définis). Par exemple, le prix
total d’une commande est défini en fonction du prix unitaire et de la quantité commandée.
2.2.1 Les Ontologies Linguistiques (OL)
Les ontologies linguistiques telle que WordNet 19 visent à définir le sens des mots et les relations
linguistiques entre ces mots (synonyme, antonyme, hyperonyme, etc.). Ces relations servent à capturer de
façon approximative et semi-formelle les relations entre les mots en utilisant des mesures de similarité. La
construction de telles ontologies est souvent faite de façon semi-formelle par un processus d’extraction
de termes dans un ensemble de documents du domaine qui est ensuite validé et structuré par un expert
du domaine [116]. Plusieurs outils existent permettant de construire des ontologies à partir du texte.
Nous pouvons citer Text2Onto [39] et Terminae [29], développé par le laboratoire d’Informatique de
Paris-Nord.
2.2.2 Les Ontologies Conceptuelles (OC)
Les ontologies Conceptuelles (formelles) constituent des spécifications explicites de conceptualisations
de domaines indépendamment de leurs représentations dans un langage particulier. Elles permettent
de définir formellement les concepts de ce domaine et les relations entre ces concepts. Les ontologies
conceptuelles adoptent une approche de structuration de l’information en termes de classes et de proprié-
tés et leur associent des identifiants réutilisable dans différents langages.
Nous distinguons deux catégories d’ontologies conceptuelles : (1) les ontologies canoniques et (2)
les ontologies non canoniques.
1. Les Ontologies Conceptuelles Canoniques (OCC) : sont des ontologies ne contenant que des
concepts primitifs. Par exemple, on peut considérer une OCC contient une classe Personne caractérisée
par deux propriétés Nom et Sexe (masculin ou féminin). Les OCC fournissent une base
formelle pour modéliser et échanger les connaissances d’un domaine. Le modèle PLIB permet de
définir des OCC.
2. les Ontologies Conceptuelles Non Canoniques (OCNC) : sont des ontologies contenant à la fois
des concepts primitifs et des concepts définis. Par exemple, le concept primitif Personne qui se
spécialise dans les deux concepts définis Homme et Femme, qui représentent les concepts d’une
OCNC. Les OCNC fournissent des mécanismes permettant de représenter les connaissances d’un
domaine par différentes conceptualisations. Les langages ontologiques issus du Web Sémantique
(par exemple, OWL) permettent de définir des OCNC.
19. http://wordnet.princeton.edu/wordnet/
47Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
2.3 Les langages de définitions des ontologies
Plusieurs langages de définition des ontologies ont été développés dans la littérature. Ces langages
offrent des constructeurs permettant l’expression des axiomes, des instances, des entités et des relations
que l’on retrouve dans une ontologie. Ces langages peuvent être classés, selon les objectifs spécifiques visés
par les différentes spécialités, en deux catégories: les langages orientés gestion et échange de données
et langages orientés inférence.
2.3.1 Langages orientés gestion et échange de données
Dans cette section, nous présentons les langages d’ontologie RDF/RDF-schéma et PLIB. Ces langages,
offrent respectivement dans le domaine du Web et de l’ingénierie, des constructeurs permettant de
représenter les données du domaine de manière à faciliter le partage et l’échange des ontologies et des
instances associées.
2.3.1.1 RDF (Resource Description Framework) 20 : est un modèle standard pour l’échange de données
sur le Web. Associé à une syntaxe, il permet (i) la représentation et le partage des données structurées
et semi-structurées et leur partage à travers différentes applications et (ii) l’annotation des éléments du
Web. RDF étend la structure de liaison du Web pour utiliser les URI (Uniform Resource Identifier) pour
le nommage des ressources. Une ressource est une entité d’information pouvant être exprimée avec RDF
et référencée dans un bloc, par un nom symbolique (littéral) ou un identificateur (URI). Notons que le
triplet est la construction de base en RDF qui est spécifié à travers le langage de balisage XML. Un
modèle RDF est défini à partir de quatre ensembles suivants.
1. Les ressources : tout élément référencé par un URI est appelé ressource.
2. Les littéraux : un littéral est une valeur typée par un des types de données primitifs (chaîne de
caractères, entier, etc.) définis par XML schéma.
3. Les prédicats : un prédicat est tout ce qui peut être utilisé pour décrire une ressource (propriété,
attribut, relation, etc.).
4. Les déclarations : une déclaration est un triplet de la forme (sujet, prédicat, objet) permettant la
description d’un élément. Le sujet est une ressource. Le prédicat est une propriété et l’objet est soit
une ressource, soit un littéral.
Notons qu’un modèle RDF peut être représenté sous forme d’un graphe orienté où les nœuds sont des
ressources ou des littéraux et les arcs représentent des prédicats.
2.3.1.2 RDF Schéma : Nous remarquons que RDF définit lui-même très peu de prédicats. De plus, il
ne permet pas de définir les primitives pour modéliser un domaine en termes de classes et de propriétés.
Par conséquent, il a été très rapidement complété par RDFS. En effet, RDFS est un langage de description
de vocabulaire RDF permettant la description formelle de hiérarchies et de relations entre les ressources
[114]. RDFS fournit les prédicats essentiels pour la représentation d’une ontologie. Ces constructeurs
spécifiques sont les suivants :
20. http://www.w3.org/RDF/
482. Ontologies de domaine
– rdfs:class permettant la création d’une classe;
– rdfs:subClassOf spécifiant la relation de subsomption entre classes;
– rdfs:property permettant la spécification des propriétés caractéristiques d’une classe;
– rdfs:subProperty spécifiant une organisation hiérarchique des propriétés;
– rdfs:domain spécifiant le domaine d’une propriété;
– rdfs:range qui permet de spécifier le co-domaine de valeur d’une propriété.
La figure 3.1 montre un exemple d’ontologie présentée sous la forme d’un graphe. Cette ontologie comporte
les classes Person, University et Student (sous-classe de Person). Notons que le dernier concept
décrit l’ensemble des étudiants. Les ovales représentent les URI des instances tandis que les valeurs littérales
sont représentées dans des rectangles. Un extrait de l’ontologie et des données suivant la syntaxe
rdf/xml est ensuite présenté. Après avoir étudié les deux langages, nous concluons que :
Person University
Student string integer
idUniv
MasterDegreeFrom
name
Ontologie
Données http://lias.../Person #01 http://lias.../University #01 MasterDegreeFrom
150
idUniv
string
name
Légende
classe héritage propriété instance Valeure de propriété
Person University
Student string integer
idUniv
MasterDegreeFrom
name
Ontologie
Données http://lias.../Person #01 http://lias.../University #01 MasterDegreeFrom
150
idUniv
string
name
Légende
classe héritage propriété instance Valeure de propriété
Figure 3.1 – Exemple d’ontologie exprimée en RDF Schéma.
– RDF n’est pas considéré totalement comme un langage d’ontologies étant donné qu’il ne permet
pas de définir des classes et des propriétés;
– RDFS a enrichi RDF par l’ajout d’un ensemble de constructeurs permettant la définition des ontologies
sur le Web. Malheureusement, RDFS n’offre aucune primitive pour la définition des équiva-
49Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
lences conceptuelles, du fait que tous les concepts décrits avec RDFS sont des concepts primitifs.
2.3.1.3 PLIB : (Parts LIBrary) [2], [3] est un modèle d’ontologies qui définit les représentations canoniques
(uniques), supposées consensuelles, pour l’ensemble des concepts existant dans un domaine
donné. Chaque concept peut alors être représenté par l’appartenance à une classe de l’ontologie et par
un ensemble de valeurs de propriétés. Chaque concept est identifié de manière unique par un GUI (Globally
Unique Identifier) [98]. A l’origine, l’objectif de PLIB était de permettre une modélisation informatique
des catalogues de composants industriels afin de les rendre échangeables entre fournisseurs et
utilisateurs. Il repose sur un langage formel EXPRESS pour la description des catalogues sous forme
d’instances de modèle. Un tel catalogue contient une ontologie décrivant les catégories et les propriétés
qui caractérisent un domaine donné et les instances de celle-ci. Le modèle d’ontologie PLIB offre une
relation d’extension particulière, appelée case-of (est-un-cas-de). Cette relation fournit un mécanisme de
modularité entre ontologies PLIB en permettant à un concepteur de base de données de définir sa propre
ontologie (ontologie "locale") à partir d’une ontologie partagée.
2.3.2 Langages orientés inférence
Le besoin de réaliser des inférences sur les ontologies a conduit à la définition d’autres types de
langages de modélisation d’ontologies. En particulier dans le domaine du Web, le pouvoir d’expression
du langage d’ontologie RDFS a été étendu par un ensemble d’autres langages d’ontologies parmi lesquels
OIL, DAMLONT, DAML-OIL, OWL et SWRL. Ceci afin de concevoir des ontologies permettant de
réaliser davantage de raisonnement sur les ontologies, les données et les besoins des utilisateurs. Dans
cette partie, nous proposons d’étudier deux langages (OWL et SWRL) manipulées dans ce manuscrit.
2.3.2.1 OWL : 21 un des langages les plus connus pour la définition d’ontologies est OWL (Ontology
Web Language). OWL repose sur RDF Schema est inspiré de DAML+OIL. OWL offre un vocabulaire
riche avec une sémantique formelle pour la description des propriétés et des classes, ainsi que les relations
entre classes. Il intègre divers constructeurs sur les propriétés et les classes comme l’identité, l’équivalence
(owl:equivalentClass), l’union (unionOf), le complément d’une classe (complementOf), l’intersection
(intersectionOf), les cardinalités, la symétrie, la transitivité, la disjonction (owl:disjointWith), etc. L
a figure 3.2 illustre un exemple d’ontologie de domaine universitaire exprimée en OWL.
OWL définit les trois sous-langages OWL Lite, OWL-DL et OWL Full, allant du moins au plus
expressif.
– OWL Lite : est le langage le plus simple syntaxiquement. Il permet de définir des hiérarchies de
classes et d’appliquer des contraintes simples. Par exemple une contrainte de cardinalité (minCardinality,
maxCardinality) ne peut prendre que les valeurs 0 et 1.
– OWL DL : possède un pouvoir expressif plus important qu’OWL Lite. OWL DL garantit la complétude
des raisonnements (toutes les inférences sont calculables) et leur décidabilité (leur calcul
se fait en une durée finie) [40].
– OWL Full : est le langage le plus expressif, mais ne garantit pas toujours la complétude des raisonnements
ni leur décidabilité (OWL Full n’est pas un langage décidable).
21. http://www.w3.org/TR/owl-ref/
502. Ontologies de domaine
…..
…..
Figure 3.2 – Exemple d’ontologie exprimée en OWL.
OWL est un langage basé sur la logique de description qui est un formalisme logique permettant la repré-
sentation de la connaissance [12]. Une base de connaissances en LD est composée d’une TBox (Terminological
Box) et d’une ABox (Assertionnal Box). La TBox définit les connaissances intensionnelles du
domaine sous forme d’axiomes. Dans la TBox, un nouveau concept peut être défini sur la base d’autres
concepts (concepts primitifs). Il existe aussi des concepts atomiques (ou définis), ce qui signifie qu’ils ne
sont pas définis sur la base d’autres concepts. Par exemple, on peut définir le concept Student-Employee
comme étant l’intersection des descriptions des concepts Student et Employee: Student-Employee ≡
Student ∩ Employee. La ABox définit les connaissances extensionnelles du domaine (les instances). Par
exemple, le fait Student (Anne) fait partie de la ABox et permet d’indiquer que Anne est une étudiante
(Student).
2.3.2.2 SWRL22 : (Semantic Web Rule Language) est un langage de règles qui enrichit la sémantique
d’une ontologie définie en OWL, combinant le langage OWL-DL et le langage RuleML (Rule
Markup Language). SWRL permet, contrairement à OWL, de manipuler des instances par des variables
(?x, ?y, ?z). SWRL ne crée pas des concepts ni des relations, il permet simplement d’ajouter des relations
suivant les valeurs des variables et la satisfaction de la règle. Les règles SWRL sont construites suivant
ce schéma : antécédent -> conséquent. L’antécédent et le conséquent sont des conjonctions d’atomes.
Un atome est une instance de concept, une relation OWL ou une des deux relations SWRL same-as
(?x, ?y) ou different-from (?x, ?y). Le fonctionnement d’une règle est basé sur le principe de satisfiabilité
de l’antécédent ou du conséquent. Pour une règle, il existe trois cas de figure :
– l’antécédent et le conséquent sont définis. Si l’antécédent est satisfait alors le conséquent doit
l’être;
– l’antécédent est vide. Cela équivaut à un antécédent satisfait ce qui permet de définir des faits;
22. http://flashinformatique.epfl.ch/spip.php?article1212
51Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
– le conséquent est vide. Cela équivaut à un conséquent insatisfait, l’antécédent ne doit pas être
satisfiable.
SWRL permet de raisonner sur les instances OWL, principalement en termes de classes et de propriétés.
Par exemple, une règle SWRL définir le fait qu’une personne est considérée comme adulte. La règle en
SWRL serait alors: Person(?p), hasAge(?p, ?age), swrlb : greaterT han(?age, 18)− > Adult(?p)
Après avoir introduit les principaux langages d’ontologies, nous présentons dans la section suivante
les outils permettant leur manipulation.
2.4 Les éditeurs d’ontologies
Une autre particularité des ontologies est la présence d’outils facilitant leurs manipulation. Plusieurs
éditeurs ont été proposés dans la littérature, citons à titre d’exemple OilEd 23, PLIBEditor 24, WebODE 25
et Protégé 26. Dans notre travail, nous avons choisi l’utilisation de l’éditeur des ontologies Protégé. Ce
choix est justifié par le grand succès qu’a connu cet éditeur, du fait qu’il est fortement soutenu par les
communautés de développeurs et d’universitaires dans différents domaines.
2.4.0.3 Protégé : est un éditeur d’ontologies distribué en open source développé par l’université en
informatique médicale de Stanford. Il possède une interface utilisateur graphique (GUI) lui permettant
de manipuler aisément tous les éléments d’une ontologie: classe, méta-classe, propriété, instance,etc.
(figure 3.3). Protégé permet aussi de créer ou d’importer des ontologies écrites dans les différents langages
d’ontologies tel que : RDF-Schéma, OWL, DAML, OIL, etc. Cette fonctionnalité est disponible
grâce à l’utilisation de plugins qui sont disponibles en téléchargement pour la plupart de ces langages.
Aujourd’hui, il regroupe une large communauté d’utilisateurs et bénéficie des toutes dernières avancées
en matière de recherche ontologique. Des applications développées avec Protégé sont employées dans
la résolution des problèmes et la prise de décision dans un domaine particulier. Protégé est aussi une
plate-forme extensible, grâce au système de plug-ins, qui permet de gérer des contenus multimédias,
interroger, évaluer et fusionner des ontologies, etc. Il offre ainsi la possibilité de raisonner sur les ontologies
en utilisant un moteur d’inférence général tel que Fact++ 27, JESS 28 ou des outils d’inférence
propres au web sémantique basés sur des logiques de description tels que RACER29
.
Comme nous venons de le voir, différents modèles d’ontologies existent permettant de définir des
ontologies grâce à un éditeur. Pour bien préciser les ontologies utilisées dans cette thèse, nous proposons
dans la section suivante une représentation formelle que nous utilisons par la suite.
23. http://www.xml.com/pub/r/861
24. www.plib.ensma.fr
25. http://mayor2.dia.fi.upm.es/oeg-upm/index.php/en/technologies/60-webode
26. http://protege.stanford.edu/
27. http://owl.man.ac.uk/factplusplus/
28. http://www.jessrules.com/
29. http://www.sts.tu-harburg.de/r.f.moeller/racer/
522. Ontologies de domaine
Figure 3.3 – L’éditeur d’ontologies Protégé.
2.5 Représentation formelle d’une ontologie
Formellement, une ontologie O peut être définie comme un quintuplet [22]:
O :< C, R, Re f(C), Re f(R), F >, où :
– C représente les classes du modèle ontologique.
– R représente les rôles (relationships) du modèle ontologique. Les rôles peuvent être des relations
liant des classes à d’autres classes ou des relations liant des classes aux valeurs de données (comme
Integer, Float, String, etc.)
– Re f(C) : C → (operateur, Exp(C, R)) est une fonction définissant les classes de la TBOX. Ref(C)
associe à chaque classe un opérateur (d’inclusion ou d’équivalence) et une expression, Exp sur
d’autres classes et propriétés. Les expressions définies pour les ontologies OWL basées sur les
logiques de description présentent à notre point de vue un ensemble d’opérateurs complet couvrant
plusieurs formalismes ontologiques. Ces expressions utilisent les opérateurs suivants : opé-
rateurs ensemblistes (intersectionOf ∩, unionOf ∪, complementOf ¬), restrictions de propriétés
(AllValuesFrom ∀p.C, SomeValuesFrom ∃p.C, HasValue 3 p.C) et les opérateurs de cardinalités
(≥ nR.C, ≤ nR.C). Exp peut être la fonction identité qui associe à une classe la même classe
(la classe se définit par elle-même comme la plus grande classe de la hiérarchie "Thing"). Par
exemple, Ref(Student)→ (⊆, Person ∩ ∀ takesCourse(Person, Course).
53Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
– Re f(R) : R → (operateur, Exp(C, R)) est une fonction définissant les propriétés de la TBOX.
Re f(R) associe à chaque propriété un opérateur (d’inclusion ou d’équivalence) et une expression
sur d’autres classes et propriétés. Par exemple :
Ref(GeneralHeadO f) → (≡, (headOf(Person, Person) ◦ headOfDepartement(Person, Department)))
– F représente le formalisme du modèle ontologique adopté comme RDF, OWL, PLIB, etc.
3 Ontologies et l’intégration : application aux sources de données hétérogènes
Comme nous l’avons évoqué dans le chapitre Introduction, les ontologies linguistiques et conceptuelles
ont largement contribué à l’intégration des sources de données hétérogènes. Dans cette section,
nous résumons les travaux d’intégration de sources de données utilisant les ontologies conceptuelles qui
sont conformes aux solutions d’intégration que le laboratoire LIAS a proposées. Les ontologies ont été
utilisées selon trois architectures principales [124] (Figure 3.4) : une architecture avec une seule ontologie,
une avec des ontologies multiples et une hybride. Dans la première architecture, chaque source
référence la même ontologie globale de domaine (le cas du projet OntoDaWA [128] développé à LIAS).
Cette architecture a un sens dans les entreprises donneuses d’ordre (exerçant une autorité). Dans une architecture
à multiples ontologies, chaque source a sa propre ontologie développée indépendamment des
autres (cas du projet OBSERVER [91]). Dans ce cas, les correspondances inter-ontologies sont parfois
difficiles à mettre en oeuvre. Le processus d’intégration des ontologies est fait soit manuellement soit automatiquement
[14]. Pour surmonter les inconvénients des approches simples ou multiples d’ontologies,
une architecture hybride a été proposée dans laquelle chaque source a sa propre ontologie, mais toutes
les ontologies utilisent un vocabulaire partagé commun. Le projet KRAFT [122] est un exemple de cette
architecture.
Dans cette classification, [124] n’a pas considéré l’aspect temporel entre les ontologies locales et
partagée. La prise en compte de ce facteur a fait naitre deux architectures ontologiques d’intégration de
sources de données hétérogènes : (1) intégration sémantique a posteriori, et (2) intégration sémantique a
priori.
3.1 Intégration sémantique a posteriori
Dans l’intégration sémantique a posteriori, chaque source est conforme à une ontologie locale indé-
pendante. Dans ce cas, les ontologies locales aux sources sont développées soit d’une manière totalement
indépendante les unes des autres, soit indirectement à travers une ontologie qui sera partagée par toutes
les ontologies locales. L’étape d’intégration sémantique est donc effectuée de façon manuelle ou semiautomatique.
Dans ce contexte, deux architectures d’intégration d’ontologies sont possibles.
1. L’architecture en réseau : dans cette architecture, la correspondance entre deux ontologies locales
est établie directement de l’une à l’autre (figure 3.5-(a)). Les correspondances entre les différentes
ontologies sont difficiles à mettre en œuvre dans une telle architecture. Pour un système d’inté-
gration contenant n ontologies locales, il faut donc créer [ n×(n−1)
2
] correspondances. Ce nombre
devient vite important et rend cette architecture impraticable si le nombre de sources à intégrer est
543. Ontologies et l’intégration : application aux sources de données hétérogènes
(c) Ontologie hybride.
(a) Ontologie unique. (b) Ontologies multiple.
Ontologie partagée
Ontologie
Locale 1
Ontologie
Locale 2
Ontologie
Locale n
Ontologie globale
S1 S2 Sn
Ontologie
Locale 1
Ontologie
Locale 2
Ontologie
Locale n
S1 S2 …. Sn
….
…. S1 S2 Sn
(c) Ontologie hybride.
(a) Ontologie unique. (b) Ontologies multiple.
Ontologie partagée
Ontologie
Locale 1
Ontologie
Locale 2
Ontologie
Locale n
Ontologie globale
S1 S2 Sn
Ontologie
Locale 1
Ontologie
Locale 2
Ontologie
Locale n
S1 S2 …. Sn
….
…. S1 S2 Sn
Figure 3.4 – Différentes architectures d’intégration à base ontologique.
Ontologie
Locale 1
S1 Sn
Ontologie
Locale 2
Ontologie
Locale n
S2
Ontologie
Locale 2
Ontologie
Locale n
Ontologie
Locale 1
Sn
S1 S2
(a) Architecture en réseau. (b) Architecture en étoile.
…..
Relations sémantiques.
Ontologie partagée
(OP)
Ontologie
Locale 1
S1 Sn
Ontologie
Locale 2
Ontologie
Locale n
S2
Ontologie
Locale 2
Ontologie
Locale n
Ontologie
Locale 1
Sn
S1 S2
(a) Architecture en réseau. (b) Architecture en étoile.
…..
Relations sémantiques.
Ontologie partagée
(OP) Figure 3.5 – Architectures d’intégration sémantique a posteriori.
important. Parmi les systèmes d’intégration qui reposent sur cette architecture, nous pouvons citer
OBSERVER [91].
2. L’architecture en étoile : dans cette architecture, la correspondance entre deux ontologies locales
est établie indirectement via une ontologie référencée (figure 3.5-(b)). Cette ontologie est appelée
l’ontologie partagée. Une ontologie locale n’est mise en correspondance qu’avec l’ontologie partagée,
et seuls les concepts locaux intéressés par le système sont mis en correspondance avec les
concepts de l’ontologie partagée. Pour un système d’intégration contenant n ontologies locales,
55Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
il faut donc créer n correspondances. Ce nombre est nettement plus réduit que de l’architecture
précédente. Parmi les systèmes d’intégration qui reposent sur cette approche, nous pouvons citer
KRAFT[122].
3.2 Intégration sémantique a priori
Dans l’intégration sémantique a priori, il existe une ontologie globale qui peut être utilisée comme
dénominateur commun à tout ce qui a été défini par les sources de données. Le processus d’intégration
consiste soit à créer les ontologies locales qui ne sont pas conçues d’une manière indépendante réfé-
rençant l’ontologie partagée tout en préservant une certaine autonomie, soit à mettre en correspondance
directe les sources avec l’ontologie globale. Deux structures d’intégration d’ontologies sont possibles:
(1) l’architecture avec une ontologie globale commune et (2) l’architecture en étoile a priori.
1. L’architecture avec une ontologie globale commune : dans l’architecture avec une ontologie
globale commune (figure 3.6-(a)), il n’y a qu’une seule et unique ontologie appelée ontologie
globale et chaque source doit référence celle-ci. L’inconvénient majeur de cette approche réside
dans le fait qu’aucun nouveau concept ne peut être ajouté localement à une source sans exiger le
changement de l’ontologie globale. Cette architecture peut être vue comme le cas particulier de
l’architecture précédente où les ontologies locales et l’ontologie globale sont confondues. Elle peut
être assimilée également au cas des bases de données réparties où toutes les sources seraient plus
ou moins développées d’une manière similaire. Parmi les systèmes d’intégration qui reposent sur
l’architecture avec une ontologie globale commune, nous pouvons citer le projet ONTOBROKER
[44].
2. L’architecture en étoile a priori : dans l’architecture en étoile a priori (figure 3.6-(b)), les ontologies
locales sont construites à partir d’une ontologie globale de domaine en référençant a priori
et localement ses concepts. Toutes les ontologies locales utilisent donc un vocabulaire partagé
commun de l’ontologie partagée. L’inconvénient de cette approche est qu’elle n’intègre que les
données dont la sémantique est représentée par l’ontologie globale. L’indépendance des sources
de données ainsi est limitée, par contre, elle intégrer plus facilement une nouvelle source dans le
système si la sémantique de cette source est couverte par l’ontologie globale. Le projet PICSEL
(Production d’Interfaces à base de Connaissances pour des Services En Ligne)[53] est un exemple
de système utilisant l’architecture en étoile a priori.
Une intégration sémantique a priori peut assurer l’automatisation complète du processus d’intégration
si les deux conditions suivantes sont satisfaites [20] :
1. Chaque source doit représenter explicitement la signification de ses propres données ; c’est la notion
d’ontologie locale qui doit exister dans chaque source;
2. Il doit exister une ontologie partagée de domaine, et chaque ontologie locale doit référencer explicitement
l’ontologie partagée pour tous les concepts qu’elle définit et qui sont déjà définis dans
l’ontologie partagée. Ceci définit la totalité des relations sémantiques existant entre les concepts
des ontologies locales et ceux de l’ontologie partagée (articulations).
Sur la base de cette hypothèse, nous pouvons réaliser une intégration automatique des besoins hétérogènes
des utilisateurs. Il s’agit d’utiliser des ontologies conceptuelles dans une perspective d’intégration
sémantique a priori.
564. Les ontologies dans l’IB : état de l’art
Ontologie
Locale 1
S1 Sn
Ontologie
Locale 2
Ontologie
Locale n
S2
(a) Architecture avec une ontologie globale commune. (b) Architecture en étoile.
…..
Ontologie globale
(OG)
S1 S Sn
2 …..
Ontologie globale
(OG) Ontologie
Locale 1
S1 Sn
Ontologie
Locale 2
Ontologie
Locale n
S2
(a) Architecture avec une ontologie globale commune. (b) Architecture en étoile.
…..
Ontologie globale
(OG)
S1 S Sn
2 …..
Ontologie globale
(OG)
Figure 3.6 – Architectures d’intégration sémantique a priori.
4 Les ontologies dans l’IB : état de l’art
Aujourd’hui, plusieurs approches utilisent des ontologies de domaine pour faire face aux problèmes
de l’IB. Breitman et Leite [27] soutiennent que les ontologies devraient être un sous-produit de la phase
de l’IB (figure 3.7). Durant la phase d’élicitation, l’ontologie permet d’assister le concepteur pour identifier
les besoins des différentes parties prenantes. Dans la phase de modélisation, l’ontologie fournit une
représentation formelle offrant des mécanismes suffisamment expressifs pour représenter le modèle des
besoins. L’aspect formel des ontologies permet de modéliser explicitement les besoins des utilisateurs
d’une manière automatique et interprétable par la machine. L’utilisation d’une ontologie de domaine
dans la phase d’analyse des besoins contribue à assurer une spécification correcte, complète et vérifiable
des besoins. Selon [32], les utilisations potentielles des ontologies dans le processus d’IB comprennent :
(i) la représentation du modèle des besoins, en imposant et en permettant notamment leurs structuration,
(ii) les structures d’acquisition des connaissances du domaine et (iii) la connaissance du domaine
d’application.
Les ontologies quelques soient leurs natures (linguistiques ou conceptuelles) ont contribué sur les
deux phases de l’IB à savoir : l’analyse des besoins et l’intégration des besoins. Dans la section suivante,
nous détaillons les travaux relatifs à ces deux aspects.
4.1 L’analyse des besoins
Parmi les problèmes lies à l’IB cités précédemment se trouve le risque de présence des incohérences
et des ambiguïtés sémantiques. Ces dernières apparaissent lors de l’identification, l’analyse et l’évolution
des besoins provenant de multiples utilisateurs et de sources. Les travaux existants couvrant la phase
d’analyse utilisent soit une ontologie linguistique soit une ontologie conceptuelle (cf. section 2.2).
1. Travaux dirigés par des ontologies linguistiques : dans ces travaux, nous pouvons citer les travaux
suivants :
57Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
Élicitation
Modélisation
Analyse
Validation
G
e
s
t
i
o
n
Ontologie
Élicitation
Modélisation
Analyse
Validation
G
e
s
t
i
o
n
Ontologie
Figure 3.7 – Contributions des ontologies dans l’IB.
– Kaiya et al. [75] : proposent une méthode d’analyse sémantique des besoins basée sur une ontologie
de domaine. Des correspondances sont établies entre les spécifications des besoins et
l’ontologie représentant les composants sémantiques. Dans ce travail, le système d’ontologie
se compose d’un thésaurus et règles d’inférence. Le thésaurus comprend des concepts et des
relations convenables pour le traitement sémantique du domaine. Cette méthode permet : (1)
la détection d’incomplétude et d’incohérence inclues dans un cahier des charges, (2) la mesure
de la qualité d’un cahier des charges par rapport à sa signification et (3) la prévision des
changements futures des besoins en se basant sur une analyse sémantique de l’historique des
changements.
– Sven et al. [81] : proposent une approche ontologique visant à améliorer le langage naturel pour
spécifier les besoins. Les auteurs proposent un outil, appelé RESI (Requirements Engineering
Specification Improver) pour aider les analystes des besoins à définir des besoins textuels. RESI
identifie les lacunes linguistiques et propose un système de dialogue qui fait des suggestions afin
d’améliorer la qualité des besoins en marquant les besoins ambigüs et erronés. Pour cette tâche,
RESI utilise l’information sémantique supplémentaire donnée par l’ontologie.
2. Travaux dirigés par des ontologies conceptuelles :
– Greenspan [60] : a proposé, dans le début des années 80, un langage de modélisation des
besoins appelé RML (Requirements Modelling Language). Ce langage a donné lieu à de nombreux
travaux d’utilisation des ontologies dans le domaine de l’IB. RML a été développé selon
les principes suivants : (1) L’écriture des besoins et leurs spécifications fonctionnelles doivent
584. Les ontologies dans l’IB : état de l’art
être fournies. (2) Les besoins doivent être élaborés et présentés sous forme de modèles. (3) En
se basant sur les deux points précédents, des modèles conceptuels devraient être développés.
(4) L’abstraction et le raffinement sont importants dans l’IB. (5) Les langages de modélisation
formelle des besoins sont nécessaires. RML défini son propre langage ontologique pour
la modélisation des besoins. En RML, les modèles sont construits et regroupés en classes, qui
représentent des instances de méta-classes.
– Motoshi et al : présentent un outil AGORA (Attributed Goal-Oriented Requirements Analysis)
pour l’analyse des besoins orientés buts [110]. Une ontologie de domaine a été utilisée dans
cet outil pour assister l’utilisateur afin de décomposer, raffiner, ajouter et supprimer des buts
(Goals). L’utilisation d’une ontologie dans cet outil permet aussi de détecter les relations de
conflits entre les buts.
Nous savons que les ontologies conceptuelles fournissent une représentation formelle des connaissances
et des relations entre concepts. Par conséquent, elles peuvent également être exploitées pour
raisonner sur les objets du domaine concerné. Elles permettent ainsi des raisonnements automatiques
ayant pour objet soit d’effectuer des vérifications de consistance, soit d’inférer de nouveaux
faits. Afin de faciliter la phase de raisonnement, des éditeurs d’ontologies munis de moteurs d’inférence
ont été proposés (Pellet, Racer, etc.). Ceci montre l’intérêt majeur porté au processus de
raisonnement sur les ontologies conceptuelle et les dispositifs offerts pour la réalisation de ce dernier.
Plusieurs travaux ont utilisé les ontologies conceptuelles pour raisonner sur les besoins des
utilisateurs. Nous décrivons ci-dessous les principaux travaux sur ce thème.
– Siegemund et al. [112] : proposent un méta-modèle ontologique orienté buts. L’idée présentée
dans ce travail est d’utiliser une ontologie pour structurer les concepts et les relations sémantiques
entre les buts lors de la phase d’élicitation. Cette phase permet de raisonner sur les buts
en se basant sur la sémantique formelle. L’approche combine les capacités de raisonnement de
l’ontologie OWL pour permettre la vérification de la cohérence et de la complétude des besoins
aux cours du processus de l’IB. L’ontologie des besoins présentés dans ce travail est composée
de deux concepts principaux: But et Besoin. Le principal inconvénient de cette approche
est l’aspect consensuel qui caractérise les ontologies. L’ontologie des besoins présentée dans
ce travail n’est pas générique par rapport au lanagage de modélisation utilisé et elle n’est pas
consensuelle.
– Dzung et al. [48] : proposent une méthode de raisonnement à base ontologique dans la phase
d’élicitation des besoins. L’idée présentée dans ce travail est d’utiliser l’ontologie de domaine
pour structurer les concepts et les relations sémantiques entre les besoins lors de la phase d’élicitation.
Les auteurs commencent par la définition d’une structure ontologique qui contient les
connaissances des besoins fonctionnels et les relations entre eux. Ensuite ils proposent un framework
pour éliciter les besoins en utilisant l’ontologie. En premier lieu des correspondances
(mapping) sont établies entre les fonctions des besoins et l’ontologie de domaine. Après cette
étape, des règles d’inférence sont utilisées pour raisonner sur les besoins afin de détecter les
incohérences entre eux. Dans ce travail, les auteurs proposent également un outil de vérification
des besoins reposant sur cette méthode.
– Goknil et al. [56, 55] : proposent un méta-modèle générique de besoins appelé core metamodel
et une approche pour adapter ce méta-modèle afin de soutenir les différentes techniques de
59Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
spécification des besoins. Le méta-modèle représente les concepts communs extraits de certaines
approches courantes. Les auteurs présentent des définitions et une formalisation des relations
sémantiques (requires, refines, conflicts et contains) dans le méta-modèle. Sur la base de cette
formalisation, les analystes peuvent effectuer des raisonnements sur les besoins pour détecter les
relations implicites et les incohérences. Un outil appelé (TRIC) 30 est développé basé sur une
ontologie OWL. Les différentes règles de formalisations des relations sont implémentées avec
Jena (un raisonneur OWL) afin de détecter les relations implicites et les incohérences entre les
besoins.
Nous notons que, dans ces études, les ontologies sont utilisées comme des référentiels de stockage
des besoins et non comme des ontologies de domaine, où les concepteurs peuvent choisir leurs
concepts et leurs propriétés afin de définir leurs besoins parmi l’ensemble des concepts définis
dans l’ontologie (qui joue ainsi le rôle de dictionnaire ou catalogue) Une autre dimension ignorée
par ces travaux est le passage à l’échelle des besoins dans leurs approches de raisonnement, ce qui
peut être considérée comme un problème important dans les grandes entreprises.
4.2 L’intégration des besoins
Le problème d’intégration des besoins est un nouveau domaine, de ce fait il n’existe pas beaucoup
de travaux impliquant les ontologies. En explorant la literature, nous avons identifie que les ontologies
conceptuelles qui ont été utilisées pour répondre à ce problème [85]. Les auteurs de ce travail proposent
un Framework (Onto-ActRE) Ontology-based Active Requirements Engineering . Le framework adopte
une approche intensive pour éliciter, représenter et analyser la diversité des facteurs associés aux systèmes
étendus. Onto-ActRE soutient la collaboration entre plusieurs techniques de modélisation de l’IB
(orientée but, scénarios, etc) en exploitant l’expressivité des ontologies de manière structurée afin de faciliter
l’élicitation, la spécification et la modélisation des besoins. Ce framework fournit un moyen pour
comprendre et évaluer les effets des fonctions et des contraintes du système en fonction des concepts,
des propriétés et des relations entre les concepts. Une sémantique complémentaire est fournie par une
ontologie dans un processus (Problem Domain Ontology, PDO) qui DONNE la définition d’un langage
commun pour faciliter la collaboration entre les parties prenantes du système et pour permettre également
l’interaction entre les différentes techniques de modélisation des besoins.
Les inconvénients principaux de ce travail sont les suivants : (1) Ce framework n’offre pas une autonomie
aux parties prenantes du système pour modéliser leurs besoins avec une technique souhaitée. (2)
L’ontologie des besoins présentée dans ce travail est utilisée comme référentiel de stockage des besoins
et non comme une ontologie de domaine et ne couvre donc pas toute la sémantique du domaine.
4.3 Ontologies, besoins et le cycle de vie de conception
Dans cette section, nous mettons l’accent sur un travail récent [115] publié dans ACM Transactions
on Database Systems concernant le rôle des ontologies dans la conception de bases de données. Ce
travail est considéré comme le seul à avoir contribué sur les trois aspects que nous avons évoqués dans
cette thèse : les ontologies, les besoins et le cycle de vie de conception de bases de données.
30. Tool for Requirements Inferencing and Consistency Checking (TRIC) from http://trese.cs.utwente.nl/tric/
605. Conclusion
Les auteurs de cette contribution ont proposé un véritable outil d’aide à la modélisation conceptuelle
(une phase du cycle de vie de conception de bases de données avancées) à partir d’ontologies de domaine.
L’approche proposée permet aussi la validation de modèles conceptuels existants par rapport à
une ontologie du même domaine. L’approche suivie est une approche linguistique dans laquelle, à partir
d’une expression en langage naturel du cahier des charges de l’application et du choix d’ontologie(s) de
domaine, le système analyse les termes du cahier des charges (l’ensemble des besoins) et, par référence
à l’ontologie, suggère différents éléments à introduire dans le modèle conceptuel. Afin de rendre la mé-
thode plus efficace, les auteurs proposent d’ajouter à l’ontologie des contraintes d’intégrité existentielles
permettant de raisonner sur le modèle conceptuel.
4.4 Synthèse
L’IB a un grand impact sur le succès ou l’échec d’un projet informatique. Cependant, l’acquisition, la
spécification et l’évolution des besoins de différents acteurs et d’une variété de sources conduit souvent
à des besoins incomplets et ambigus. Par conséquent, la capacité à détecter et à réparer les besoins
incohérents et incomplets est cruciale pour le succès de la modélisation et la spécification des besoins.
Les ontologies sont bien adaptées pour résoudre les problèmes et les lacunes qui peuvent survenir lors de
la mise en œuvre de l’IB. En effet, elles ont démontré leur efficacité pour la spécification, l’unification, la
formalisation et le raisonnement sur les besoins. L’utilisation d’une ontologie de domaine est utile pour
faciliter la communication et la collaboration entre les parties prenantes du système. En effet, l’ontologie
peut servir de vocabulaire précis et partagé, pour définir la sémantique des besoins à l’aide de concepts
communs, formalisés et référençables.
Généralement, la plupart des études citées précédemment traitent un seul niveau d’hétérogénéité
(vocabulaire ou langages de modélisation). Dans cette thèse, nous proposons de résoudre cette problé-
matique en mettant en place une approche ontologique d’intégration des besoins hétérogènes. Cette hé-
térogénéité concerne à la fois les vocabulaires et les langages de modélisation des besoins identifiés lors
de la phase d’expression des besoins. La littérature nous a montré l’intérêt des ontologies et des besoins
sur la modélisation conceptuelle de données [115], dans le cadre de cette thèse nous proposons d’étendre
ces deux concepts à une autre phase, à savoir la modélisation physique.
5 Conclusion
Dans ce chapitre, nous avons réalisé une étude approfondie sur les ontologies de domaine afin de
définir et de déterminer précisément leurs apports dans le domaine de l’IB. Les ontologies étant des
modèles permettant d’expliciter la sémantique d’un domaine d’étude, elles sont donc, une solution pertinente
pour résoudre l’hétérogénéité sémantique entre les besoins des utilisateurs. En effet, l’ontologie
peut fournir un vocabulaire précis et partagé pour définir la sémantique des besoins à l’aide des concepts
communs, formalisés et référençables. D’une manière générale, les utilisations potentielles des ontologies
dans le domaine de l’IB comprennent la représentation, la spécification et la collaboration. Une autre
caractéristique des ontologies est leur capacité de raisonnement qui peut être utilisée pour identifier les
besoins conflictuels et contradictoires.
Dans notre travail, nous traitons les différents problèmes liés à l’hétérogénéité identifiée lors de la
61Chapitre 3. Les ontologies au service de l’Ingénierie des Besoins
phase d’élicitation et de modélisation des besoins. Notre approche se basant sur l’intégration à l’aide
d’ontologie, dont l’intérêt et la pertinence ont été bien illustrés à travers ce chapitre. Nous présentons un
état de l’art sur cette technique dans le chapitre suivant.
62Deuxième partie
Contributions
63Chapitre 4
Unification des vocabulaires et des langages de modélisation
des besoins
Sommaire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2 Nos hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3 Unification des vocabulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.1 Étude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.1.1 Le modèle Orienté buts . . . . . . . . . . . . . . . . . . . . . . 70
3.1.2 Le modèle des cas d’utilisation . . . . . . . . . . . . . . . . . 72
3.1.3 Le Modèle Conceptuel de Traitements (MCT) . . . . . . . . . 73
3.2 Couplage des modèles utilisés avec l’ontologie . . . . . . . . . . . . . . 76
3.2.1 Méta-modèle de l’ontologie partagée . . . . . . . . . . . . . . 76
3.2.2 Couplage des trois langages proposés avec les ontologies locales 77
4 Unification des langages de modélisation des besoins . . . . . . . . . . . . . . 81
4.1 Proposition d’un modèle pivot des besoins . . . . . . . . . . . . . . . . . 82
4.2 Couplage de modèle pivot à l’ontologie . . . . . . . . . . . . . . . . . . 83
5 Un exemple d’utilisation de notre méthode d’intégration . . . . . . . . . . . . 85
6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
65Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
Résumé. Dans ce chapitre, nous détaillons notre première contribution consistant à unifier
les vocabulaires et les langages hétérogènes [25]. Pour la partie vocabulaire, nous proposons
aux concepteurs d’utiliser une ontologie de domaine qui joue le rôle d’un dictionnaire. Pour
la partie langages, nous suivons une démarche par l’exemple. Cela est justifié par la diversité
des langages de modélisation des besoins existants. Comme nous l’avons indiqué dans l’état
de l’art, il existe trois catégories de langages : informels, semi formels, et formels. Dans
chaque catégorie, une large panoplie de langages existe. Due à cette diversité, nous avons
opté pour l’utilisation de la catégorie semi-formelle dans laquelle nous avons considéré trois
langages : le modèle use case d’UML, le modèle orienté buts (goal-oriented) et le modèle
de traitement (MCT) de la méthode Merise. Cela du fait qu’ils sont très utilisés dans le
domaine industriel et académique. Après une étude approfondie de chaque langage, leurs
méta modèles sont définis et le couplage avec un méta modèle de l’ontologie est établi.
Finalement, un modèle pivot compilant les trois langages est dégagé avec le couplage de
l’ontologie de domaine.
661. Introduction
1 Introduction
Depuis la naissance des besoins d’intégration, l’hétérogénéité des modèles est devenue une des problématiques
ayant suscité beaucoup de travaux de recherche. En effet, nous constatons que les concepteurs
dans différents domaines (bases de données, services, etc.) n’ont pas pensé que leurs modèles seront
un jour intégré (voir la figure 3.1). Le jour où les entreprises commencent à s’intéresser à l’intégration,
les concepteurs se trouvaient face à des hétérogénéités de deux types : syntaxique/sémantique et langagière.
Concernant les hétérogénéités de type syntaxique et sémantique, les ontologies de domaine ont
largement contribué à les résoudre, notamment dans le cadre d’intégration des besoins. D’un autre coté,
un ensemble de modèles pivots ont été proposés pour faire face à l’hétérogénéité langagière. Le rôle d’un
modèle pivot est d’assurer une équivalence sémantique entre les différents modèles.
Langage formel
Concepteur (1)
Langage de semiformel
Vocabulaire (1)
…
…
utilise
utilise
utilise
Besoins des utilisateurs
hétérogènes
Incohérents
Ambigus
Incomplets
Collection &
Analyse
Concepteur (2)
Concepteur (n)
Langage informel
Vocabulaire (2)
Vocabulaire (n)
Non vérifiables
…
Multi-designer, Multi-vocabulary and
Multi-Modeling language
Langage formel
Concepteur (1)
Langage de semiformel
Vocabulaire (1)
…
…
utilise
utilise
utilise
Besoins des utilisateurs
hétérogènes
Incohérents
Ambigus
Incomplets
Collection &
Analyse
Concepteur (2)
Concepteur (n)
Langage informel
Vocabulaire (2)
Vocabulaire (n)
Non vérifiables
…
Multi-designer, Multi-vocabulary and
Multi-Modeling language
Figure 4.1 – Hétérogénéité des vocabulaires et des langages de modélisation des besoins.
Pour présenter nos contributions, nous commençons par définir quelques hypothèses suivies par
l’analyse de trois modèles d’expression des besoins afin de comprendre leurs principes et fonctionnement.
Cette analyse nous permet de méta-modéliser ces langages de besoins. Cette méta-modélisation
permet d’instancier n’importe quel modèle de besoin exprimer à l’aide d’un langage étudié. Un modèle
pivot est alors proposé à partir des trois modèles étudiés. Pour établir des ponts entre le modèle pivot et
les trois modèles utilisés, des transformations de type modèle-vers-modèle sont définies.
67Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
Ce chapitre est organisé comme suit. Dans la section 2, nous présentons nos hypothèse afin d’élaborer
notre approche d’intégration. Dans la section 3, nous présentons notre méthode unifiant les vocabulaires.
Par la suite, dans la section 4, nous présentons notre méthodes afin d’unifier les langages de d’expression
des besoins. Avant de conclure le chapitre, nous présentons un exemple d’utilisation de notre approche
d’intégration.
2 Nos hypothèses
Deux hypothèses majeures sont considérées pour l’élaboration de notre approche.
1. L’existence d’une ontologie partagée (OP) qui précède la conception de l’application cible.
2. Chaque concepteur extrait un fragment de l’ontologie partagée (appelée Ontologie Locale (OL)).
Afin de garder son autonomie, le concepteur peut étendre son ontologie locale en ajoutant des
concepts et des propriétés qui n’existent pas dans l’ontologie partagée [20].
L’extraction de l’ontologie locale se fait selon une méthode de modularité, qui permet d’extraire une
ontologie à partir d’une autre, tout en assurant la complétude et la cohérence de l’ontologie extraite. Trois
scénarii d’extraction sont possibles :
1. OL ≡ OP : l’ontologie partagée correspond exactement aux besoins des concepteurs. L’expression
des besoins en termes de classes, de propriétés ainsi que des fonctions (Ref) coïncide exactement avec la
description de l’ontologie globale. Autrement dit, la description de l’ontologie locale correspond parfaitement
à la description de l’ontologie partagée.
Formalisation 1
OLi
:< COLi, ROLi,Re f(C)OLi,Re f(R)OLi,FOLi >, avec:
– COLi ≡ COP.
– ROLi ≡ ROP.
– Re f(C)OLi ≡ Re f(C)OP.
– Re f(R)OLi ≡ Re f(R)OP.
2. OL ⊆ OP : l’ontologie locale est extraite à partir de l’ontologie partagée et couvre tous les besoins
des utilisateurs. En effet, la description des besoins en termes de concepts ontologiques décrit un
fragment de l’ontologie globale. Plusieurs méthodes et mécanismes de modularité ont été proposés et
définis selon le formalisme d’ontologie utilisé, comme l’opérateur Case-of pour le langage PLIB. Ainsi,
OL ⊆ OP signifie que:
Formalisation 2
OLi
:< COLi, ROLi,Re f(C)OLi,Re f(R)OLi,FOLi >, avec:
– COLi ⊆ COP.
– ROLi ⊆ ROP.
– Re f(C)OLi ⊆ Re f(C)OP.
– Re f(R)OLi ⊆ Re f(R)OP.
683. Unification des vocabulaires
3. OL ⊇ OP : le sous-ensemble de concepts (classes et propriétés) importé de l’ontologie partagée
ne couvre pas tous les besoins des utilisateurs. Ce sous-ensemble nécessite en général d’être enrichi et
spécialisé pour répondre aux objectifs applicatifs spécifiques. Ainsi, le concepteur peut, si l’ontologie
partagée ne couvre pas de façon suffisamment détaillée le domaine de son application, étendre l’ontologie
locale par ajout de nouvelles classes et/ou de nouvelles propriétés. Les concepts et propriétés
pourront aussi être renommés pour mieux refléter le contexte applicatif. Notons que ce renommage est
sans conséquence car chaque concept de chaque ontologie est associé à un unique identifiant et que les
relations formelles sont des relations entre identifiants. Ainsi, OL ⊇ OP signifie que :
Formalisation 3
OLi
:< COLi, ROLi,Re f(C)OLi,Re f(R)OLi,FOLi >, avec:
– COLi ⊇ COP.
– ROLi ⊇ ROP.
– Re f(C)OLi ⊇ Re f(C)OP.
– Re f(R)OLi ⊇ Re f(R)OP.
Exemple 3
La figure 4.2 présente un exemple de définition d’une ontologie locale à partir de l’ontologie globale
LUBM. Dans un premier temps, nous définissons OL par l’importation d’un ensemble de classes couvrant
une partie des besoins du concepteur. Dans un deuxième temps, les besoins non couverts sont
traités par l’ajout de nouveaux concepts. Par exemple, les concepts décrivant les étudiants diplômés
(DegreeStudent), étudiants sans diplôme (Non-degreeStudent) et la propriété (Degree) ne sont pas dé-
finis à travers l’ontologie globale (DegreeStudent, Non-degreeStudent, Degree) < CLUBM ∪ RLUBM.
Par conséquent, ces deux classes et leurs propriétés, sont rajoutées au niveau de l’ontologie locale.
De plus, la description de la classe étudiant (Student) est modifiée de manière à ce qu’elle soit dé-
finie comme l’union des étudiants diplômés (DegreeStudent) et des étudiants sans diplôme (Non_-
degreeStudent). L’ontologie locale sera complétée comme suit.
– COL = {Person, Student, DegreeStudent, Non-degreeStudent}
– ROL = {PersonId, Name, Age, Marks, Degree }
– Re f(C)OL = {Ref(Student)→ (⊆, Person ∩ ∀ takesCourse(Person, Course))}.
– la définition de la classe étudiant Student est modifiée de la manière suivante : S tudent ≡
DegreeS tudent ∪ Non − degreeS tudent.
3 Unification des vocabulaires
Maintenant nous avons tous les ingrédients pour proposer notre méthode unifiant les vocabulaires.
Pour cela, nous considérons une étude de cas de trois langages qui sera détaillée dans la section suivante.
Pour chaque cas, nous donnerons une formalisation détaillée et un exemple.
69Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
Person
Student Employee
Person
Student
Name
Marks
PersonId
Age
Age
Ontologie Globale (OG)
Ontologie Locale (OL)
Concept
Concept
importé
Propriété
importée
Importer
Héritage
Concepteur
PersonId
Name
Marks
DegreeStudent Non-degreeStudent
Degree
Concept
ajouté
Propriété
ajoutée
Person
Student Employee
Person
Student
Name
Marks
PersonId
Age
Age
Ontologie Globale (OG)
Ontologie Locale (OL)
Concept
Concept
importé
Propriété
importée
Importer
Héritage
Concepteur
PersonId
Name
Marks
DegreeStudent Non-degreeStudent
Degree
Concept
ajouté
Propriété
ajoutée
Figure 4.2 – Exemple d’extraction de l’ontologie locale.
3.1 Étude de cas
Comme nous l’avons déjà évoqué, nous considérons une étude de cas comprenant trois langages
de modélisation des besoins appartenant à la famille semi formelles, à savoir orienté buts (Goal oriented),
Cas d’utilisation UML, et MERISE (Modèle conceptuel de traitements, MCT). Pour rester dans
le contexte d’une entreprise étendue, nous supposons que les trois langages de besoins sont exprimés
respectivement par trois départements différents dont l’origine est l’Espagne, l’Angleterre et la France.
L’ontologie partagée dans cette étude de cas représente l’ontologie du banc d’essai LUBM [62] (voir la
figure 4.3). Elle comporte différentes classes relatives au domaine universitaire (Person, Student, Course,
etc.).
Pour faciliter la compréhension de notre proposition, nous détaillons dans les sections suivantes
l’ensemble de trois modèles utilisés.
3.1.1 Le modèle Orienté buts
Comme nous l’avons vu dans le chapitre 2, différents modèles orientés buts existent. Aussi, après une
analyse des approches orientées buts, nous avons proposé notre modèle de besoin dirigé par les buts, qui
se veut un modèle pivot des approches étudiées (KAOS, IStar, et Tropos) et qui repose sur le paradigme
GQM (Goal/Question/Metric).
Le modèle orienté but (Goal-oriented) pivot est formalisé comme suit :
703. Unification des vocabulaires
Figure 4.3 – Une partie de l’ontologie University proposée par le benchmark LUBM.
Formalisation 4
Goalmodel: < Actor, Goal, Goalrelationships >, où :
– Actor : {actor1, actor2, ..., actorn} est l’ensemble des acteurs interagissant avec le système
pour répondre au but.
– Goal : {goal1, goal2, ..., goaln} est l’ensemble des buts exprimés par un acteur (ex: le concepteur).
Un but représenté par le triplet : Goal: < T,R,M >, où :
– T = {t1, t2, ..., tn} est l’ensemble des tâches qu’un système effectue pour atteindre un but.
∀ti ∈ T, ∃pj ⊆ P, tel que f(ti) = pj
, où pj ∈ {p1, p2, ..., pn} est l’ensemble des propriétés
satisfaites par un système. Ici, f(ti) = pj est une fonction qui représente l’ensemble des
propriétés pj définissant ti
.
– R = {r1,r2, ...,rn} est l’ensemble des résultats réalisés par le système.
– M = {m1, m2, ..., mn} est l’ensemble des métriques, formelles ou semi-formelles, selon lesquelles
un résultat est quantifié.
– Goalrelationships = {relation1,relation2, ...,relationn} est l’ensemble des relations entre les buts.
Goalrelationships = (AND/OR decomposition, Contains, Requires, Refines, Conflicts and Equivalence).
Exemple 4
La figure 4.4 présente un modèle de buts utilisé par le concepteur Espagnol pour exprimer ses be-
71Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
soins. Considérons le besoin : "El sistema permitirá a la administración para eliminar toda la información
de los estudiantes mayores de 40 años", en Français "Le système doit permettre à l’administration
de supprimer les informations des étudiants ayant plus de 40 ans".
Ce but est décrit par les attributs suivants : un identifiant id (001), un nom (But G1.1), une description,
un contexte (Universitaire) et une priorité. On distingue deux types de priorité : obligatoire
et optionnelle.
Eliminar toda la información de los estudiantes
mayores de 40 años
Eliminar la información
personal
Eliminar la información
escolar
Administración
Eliminar el
nombre
Eliminar
la edad
Eliminar la fecha
de nacimiento
Eliminar notas
name
edad notas
Eliminar curso
curso
Tâche
Propriété
Estudiante de edad > 40 años
(Y (AND)
Calcular la edad
Universidad
Sous But
But
nacimiento
Eliminar toda la información de los estudiantes
mayores de 40 años
Eliminar la información
personal
Eliminar la información
escolar
Administración
Eliminar el
nombre
Eliminar
la edad
Eliminar la fecha
de nacimiento
Eliminar notas
name
edad notas
Eliminar curso
curso
Tâche
Propriété
Estudiante de edad > 40 años
(Y (AND)
Calcular la edad
Universidad
Sous But
But
nacimiento
Figure 4.4 – Exemple de modèle orienté buts modélisant les besoins du concepteur Espagnol.
Ce besoin est formalisé de la manière suivante.
– Tâches (T) = {Eliminar notas, Eliminar curso, Eliminar el nombre, Eliminar la fecha de nacimiento,
Eliminar la edad, Calcular la edad}, tel que les Propriétés (P) = {notas, curso, nombre,
fecha de nacimiento, edad} sont satisfaites.
– Resultats (R) = {Información estudiantes eliminados}.
– Métriques (M) = {Edad > 40 años}.
3.1.2 Le modèle des cas d’utilisation
Selon la définition donnée par Jacobson, Un cas d’utilisation est une description d’un ensemble de
séquences d’actions, incluant des variantes, qu’un système effectue pour fournir un résultat observable
et ayant une valeur pour un acteur[68].
723. Unification des vocabulaires
Le modèle des cas d’utilisation peut être formalisé comme suit :
Formalisation 5
UCmodel: < Actor, UseCase, Relationship >, où :
– Actor = {actor1,actor2,...,actorn} est l’ensemble des acteurs qui interagissent avec le système
pour répondre au cas d’utilisation.
– UseCase = {case1,case2,...,casen} est l’ensemble des cas d’utilisation (Use cases) exprimés
par un acteur (ex : le concepteur). Un cas d’utilisation est représenté comme suit : U seCase:<
A,R, Ep, Cdt >, où :
– A = {a1, a2, ..., an} est l’ensemble d’actions qu’un système effectue pour fournir un résultat.
∀ai ∈ A, ∃pj ⊆ P, telle que f(ai) = pj
, où pj ∈ {p1, p2, ..., pn} est l’ensemble des propriétés
satisfaites par un système. Ici, f(ai) = pj est une fonction qui représente l’ensemble des
propriétés pj définissant ai
.
– R = {r1,r2, ...,rn} est l’ensemble des résultats réalisés par le système.
– Ep = {ep1, ep2, ..., epn} est l’ensemble des points d’extension.
– Cdt = {cdt1, cdt2, ..., cdtn} est l’ensemble des conditions.
– Relationships = {relation1,relation2,...,relationn} est l’ensemble des relations entre les cas
d’utilisation. Ces relations sont de trois types: (i) les relations d’inclusion, (ii) les relations
d’extension et (iii) les relations de généralisation.
Exemple 5
La figure 4.5 présente un modèle des cas d’utilisation utilisé par le concepteur Anglais pour exprimer
ses besoins. Considérons le besoin: "The system shall allow the administration to delete information
of all students older than 40 years", en Français "Le système doit permettre à l’administration de
supprimer les informations des étudiants ayant plus de 40 ans". Ce besoin est un cas d’utilisation dé-
crit par les attributs suivants : un identifiant id (001), un nom (Ucas1.1), une description, un contexte
(Universitaire) et une priorité. On distingue deux types de priorité: obligatoire et optionnelle.
Suivant la formalisation précédente, ce besoin est décrit par :
– Action (A) = {Delete marks, Delete courses, Delete name, Delete birth day, Delete age, Delete
weight}, tel que les Propriétés (P) = {marks, courses, name, birth day, age, weight} soient satisfaites.
– Résultat (R) = {Students information deleted}.
– Point d’extension Ep = {Calculate age}.
– Condition Cdt = {age > 40}.
3.1.3 Le Modèle Conceptuel de Traitements (MCT)
Selon la définition donnée par Pierre [99], un Modèle Conceptuel de Traitements (MCT) est une
succession de traitements déclenchés par des événements et qui donnent naissance à de nouveaux évé-
nements. Un traitement (opération) est une suite d’actions réalisées en vue d’obtenir un résultat. Dans
notre travail, nous nous intéressons à l’utilisation du MCT pour l’expression des besoins utilisateurs.
Le modèle de traitements peut être formalisé comme suit :
73Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
« Include »
Delete studies information
- Delete age
- Delete name
- Delete birth day
Delete information of all students
older than 40 years
- Delete marks
- Delete courses
Actions
Administration
Actions
University
Calculate age
Delete personal information
Extension Points: execute actions
Condition: if age > 40
Extension Point: execute actions
« Extend »
- Delete weight
« Include »
Properties
Properties
Use case
« Include »
Delete studies information
- Delete age
- Delete name
- Delete birth day
Delete information of all students
older than 40 years
- Delete marks
- Delete courses
Actions
Administration
Actions
University
Calculate age
Delete personal information
Extension Points: execute actions
Condition: if age > 40
Extension Point: execute actions
« Extend »
- Delete weight
« Include »
Properties
Properties
Use case
Figure 4.5 – Exemple de modèle de cas d’utilisation modélisant les besoins du concepteur Anglais.
Formalisation 6
MCTmodel: < Actor, Event, Traitement, Synchronization >, où :
– Actor = {actor1,actor2,...,actorn} est l’ensemble des acteurs qui interagissent avec le système.
– Event = {event1,event2,...,eventn} est l’ensemble des événements.
– Traitement = {traitement1,traitement2,...,traitementn} est l’ensemble des traitements accomplies
par le système. Un traitement est représenté par le triplet : T raitement:< A,R, Emr >,
où :
– A = {a1, a2, ..., an} est l’ensemble d’actions qu’un système exécute en réponse à un évé-
nement. ∀ai ∈ A, ∃pj ⊆ P, telle que f(ai) = pj
, où pj ∈ {p1, p2, ..., pn} est l’ensemble
des propriétés satisfaites par un système. Ici, f(ai) = pj est une fonction qui représente
l’ensemble des propriétés pj définissant ai
.
– R = {r1,r2, ...,rn} est l’ensemble des résultats créés par un traitement qui peut lui-même
jouer le rôle d’événement.
– Emr = {emr1,emr2,...,emrn} est l’ensemble des règles d’émission emission rules qui permettent
d’exprimer des conditions de sortie des résultats.
– Synchronization = {synch1,synch2,...,synchn} est l’ensemble des synchronisation (ET/OU) qui
déclenchent un ou plusieurs traitements.
743. Unification des vocabulaires
Exemple 6
La figure 4.6 présente un modèle conceptuel de traitements utilisé par le concepteur Français pour
exprimer ses besoins. Considérons le besoin : "Le système doit permettre à l’administration de supprimer
toutes les informations des étudiants ayant plus de 40 ans". Ce besoin est un événement décrit
par les attributs suivants : un identifiant id (001), un nom (Event 1.1), une description, un contexte
(Universitaire) et une priorité. On distingue deux types de priorité : obligatoire et optionnelle.
Supprimer toutes les informations des
étudiants ayant plus de 40 ans
Supprimer les informations scolaires
- Supprimer les notes
- Supprimer les cours
Supprimer les informations personnelles
Âge = < 40
- Supprimer le nom
- Supprimer la date de naissance
- Calculer l’âge
Informations
personnelles supprimées
Rejeté
Actions
Université
Âge > 40
Informations scolaires
supprimées
Propriétés
Rejeté
OK OK
ET
Administration
Evénement
Supprimer toutes les informations des
étudiants ayant plus de 40 ans
Supprimer les informations scolaires
- Supprimer les notes
- Supprimer les cours
Supprimer les informations personnelles
Âge = < 40
- Supprimer le nom
- Supprimer la date de naissance
- Calculer l’âge
Informations
personnelles supprimées
Rejeté
Actions
Université
Âge > 40
Informations scolaires
supprimées
Propriétés
Rejeté
OK OK
ET
Administration
Evénement
Figure 4.6 – Exemple de modèle de traitements modélisant les besoins du concepteur Français.
Suivant la formalisation précédente, ce besoin est décrit par :
– Action (A) = {Supprimer le nom, Supprimer la date de naissance, Calculer l’âge, Supprimer les
notes, Supprimer les cours}, tel que les Propriétés (P) = {nom, date de naissance, âge, notes,
cours} soient satisfaites.
– Résultat (R) = {Informations des étudiants supprimées}.
– Règle d’émission (Emr) = {Âge > 40}.
75Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
3.2 Couplage des modèles utilisés avec l’ontologie
Pour réaliser le couplage entre les trois modèles étudiés et l’ontologie, nous utilisons les techniques
de la méta-modélisation. Cette dernière nous permis de définir les concepts à utiliser pour modéliser
les besoins des utilisateurs. Nous proposons d’étendre le méta-modèle d’ontologie par des méta-classes
constituant le méta-modèle des besoins (voir la figure 4.7). Ensuite en liant les coordonnées de cette
classe avec les méta-classes ontologiques (Concepts et propriétés). Nous utilisons le terme (Domaine)
pour désigner les ressources de l’ontologie (concepts et propriétés) qui peuvent être utilisées pour définir
le besoin.
Ingénierie des
Besoins (IB)
Métamodèle des besoins
Modèle des besoins
Métamodèle d’ontologie
Modèle d’ontologie
Domaine de
connaissance
Instance de Instance de
Ingénierie des
Besoins (IB)
Métamodèle des besoins
Modèle des besoins
Métamodèle d’ontologie
Modèle d’ontologie
Domaine de
connaissance
Instance de Instance de
Figure 4.7 – Couplage des modèles des besoins avec le modèle d’ontologie.
3.2.1 Méta-modèle de l’ontologie partagée
Le standard Meta-Object Facility (MOF) de l’Object Management Group (OMG) fournit un métamodèle
OWL 31 décrivant les principaux constructeurs d’une ontologie OWL. La figure 4.8 représente
un fragment de ce méta-modèle qui représente le méta-modèle de l’ontologie partagée. Dans ce métamodèle,
une ontologie est représentée principalement par les classes suivantes : OWLClass, DataTypeProperty
et ObjectProperty, représentant respectivement les classes, les propriétés de type attribut et
les propriétés de type relations. La subsomption des classes est décrite par la relation réflexive subclassOf.
Différentes classes existent dans le méta-modèle OWL pour définir les opérateurs entre les classes
(IntersectionClass, UnionClass, etc.).
31. https://www.w3.org/2007/OWL/wiki/MOF-Based_Metamodel
763. Unification des vocabulaires
Figure 4.8 – Méta-modèle d’ontologie OWL.
3.2.2 Couplage des trois langages proposés avec les ontologies locales
Nous avons montré comment nous avons représenté les trois méta-modèles proposés, en utilisant une
approche de méta-modélisation. Nous présentons maintenant le couplage entre ces méta-modèles et les
ontologies locales.
En étendant la première formalisation d’une ontologie (section 2.5 du chapitre 3), l’ontologie locale
des besoins sera définie formellement de la manière suivante :
OLB :< C, R,Re f(C),Re f(R),MB,F ormalisme > où MB est le modèle des besoins définis en utilisant
les concepts et propriétés ontologiques MB∈ 2
CU2
R
. Dans notre cas d’étude : MB = Goalmodel ⊕
UCmodel ⊕ MCTmodel où chacun des modèles est défini comme suit. (⊕ signifie OU exclusif.)
Ontologie des buts (OntoGoal). Cette ontologie consiste essentiellement à connecter les buts sur
l’ontologie locale. Concrètement, cette connexion se fait par la création de nouvelles méta-classes (Goal,
Result, Metric, Task, Relationships, etc.), et en liant les coordonnées des buts (Action, Result et Metric)
avec la méta-classe rdfs:Class de l’ontologie OWL. La figure 4.9 (a) représente un fragment du métamodèle
d’ontologie auquel est connecté le méta-modèle de buts 4.9 (b). Les buts de concepteurs sont
spécifiés au niveau ontologique où nous avons défini une connexion entre les coordonnées de chaque but
(Task, Result and Metric) les concepts et les propriétés de l’ontologie locale.
Une ontologie des buts (OntoGoal) représente la connexion entre le modèle de buts et le modèle
ontologique. Formellement, OntoGoal sera définie de la manière suivante :
77Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
(a) (b)
Figure 4.9 – Connexion entre le modèle ontologique et le modèle orienté buts.
Formalisation 7
OntoGoal :< OLi
, Goalmodel > est l’ontologie locale des buts, où :
– OLi
: < Ci
, Ri
, Re f(Ci), Re f(Ri), Fi > est l’ontologie locale.
– Goalmodel: < Actor, Goal,Relationship >, où :
– Goal:< T,R,M >, avec :
– T = {t1, t2, ..., tn} est l’ensemble de tâches . ∀ti ∈ T, ∃dj ⊆ D, telle que f(ti) = dj
, où
dj ∈ (Domaine(t)) est l’ensemble des ressources de l’ontologie de domaine.
– R = {r1,r2, ...,rn} est l’ensemble de résultats.
– M = {m1, m2, ..., mn} est l’ensemble de métriques.
– Relationships = {relation1,relation2,...,relationn} est l’ensemble des relations entre les
buts. relationi ∈ Relationships ⊆ Ri
, l’ensemble de relations (rôles) de l’ontologie locale.
La figure 4.10 illustre un exemple d’instanciation de modèle d’ontologie (partie (a)) et le modèle
orienté but (partie (b)). Le concepteur peut exprimer le but : "Le système doit permettre à l’administration
de supprimer les informations des étudiants ayant plus de 40 ans" au niveau ontologique en utilisant les
propriétés et les concepts de l’ontologie. Par exemple, les propriétés age, name, marks sont des propriétés
ontologiques. Ontologie des cas d’utilisation (OntoUcase). Les besoins de concepteurs modélisés par
les cas d’utilisation sont spécifiés au niveau ontologique où nous avons défini une connexion entre les
coordonnées de chaque cas d’utilisation (Action, Résultat, Condition et Point d’extension) et les concepts
et propriétés de l’ontologie locale (voir la figure 4.11). Une ontologie des cas d’utilisation (OntoUcase)
783. Unification des vocabulaires
(a) (b)
Figure 4.10 – Instanciation des modèles de l’ontologie et du modèle orientés buts.
représente la connexion entre le modèle des cas d’utilisation et le modèle ontologique.
Formellement, OntoUcase est définie de la manière suivante.
Formalisation 8
OntoUcase :< OLi
, UCmodel > est l’ontologie locale des cas d’utilisation, où :
– OLi
: < Ci
, Ri
, Re f(Ci), Re f(Ri), Fi > est l’ontologie locale.
– UCmodel: < Actor, UseCase,Relationship >, avec :
– UseCase:< A,R, Ep, Cdt >, où :
– A = {a1, a2, ..., an} est l’ensemble des actions. ∀ai ∈ A, ∃dj ⊆ D, telle que f(ai) = dj
, où
dj ∈ (Domaine(a)) est l’ensemble des ressources de l’ontologie de domaine.
– R = {r1,r2, ...,rn} est l’ensemble des résultats.
– Ep = {ep1, ep2, ..., epn} est l’ensemble des points d’extension.
– Cdt = {cdt1,cdt2,..., cdtn}, est l’ensemble des métriques.
– Relationships = {relation1,relation2,...,relationn} est l’ensemble des relations entre les cas
d’utilisation. relationi ∈ Relationships ⊆ Ri
, l’ensemble de relations (rôles) de l’ontologie
locale.
79Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
(a) (b)
Figure 4.11 – Connexion entre le modèle ontologique et le modèle use case.
Ontologie des traitements (OntoMCT). Les besoins de concepteurs modélisés par les traitements sont
spécifiés au niveau ontologique où nous avons défini une connexion entre les coordonnées de chaque
traitement (Action, Résultat et Règles d’émission ), les concepts et les propriétés de l’ontologie locale
(voir la figure 4.12). Une ontologie de traitements (OntoMct) représente la connexion entre le modèle
conceptuel de traitements et le modèle ontologique.
Formellement, OntoMCT est définie de la manière suivante :
Formalisation 9
OntoMCT :< OLi
,MCTmodel > est l’ontologie locale des traitements, avec :
– OLi
: < Ci
, Ri
, Re f(C)i
, Re f(R)i
, Fi > est l’ontologie locale.
– MCTmodel: < Actor, Event,Traitement,Synchronization >, où :
– Event= {event1,event2,...,eventn} est l’ensemble des événements. Pour chaque event ∈ Event,
event∈ 2
CU2
R
– Traitement:< A,R, C, Emr >, où :
– A = {a1, a2, ..., an}, l’ensemble des actions. ∀ai ∈ A, ∃dj ⊆ D, telle que f(ai) = dj
, où
dj ∈ (Domaine(a)) est l’ensemble des ressources de l’ontologie de domaine.
– R = {r1,r2, ...,rn} l’ensemble des résultats.
– Emr = {emr1, nemr2, ..., emrn} est l’ensemble des règles d’émission.
804. Unification des langages de modélisation des besoins
(a) (b)
Figure 4.12 – Connexion entre le modèle ontologique et le modèle MCT.
– Synchronization = {synch1,synch2,...,synchn}, est l’ensemble des relations de sychronisation
entre les événements. synchi ∈ Relationships ⊆ Ri
, l’ensemble de relations (rôles) de l’ontologie
locale.
Pour résumer, nous avons établi une connexion entre l’ontologie de domaine et les trois langages de
modélisation des besoins. Cela réduit considérablement l’hétérogénieté syntaxique et sémantique.
4 Unification des langages de modélisation des besoins
Comme nous l’avons indiqué, la solution pivot obtenue par des exemples est proposée pour unifier
l’ensemble des langages de modélisation des besoins. Le modèle pivot est obtenu après l’analyse des
concepts fondamentaux des trois langages étudiés. Soit D = {D1, D2, ..., Dn}, l’ensemble des concepteurs
(Designers) impliqués dans le développement d’une application donnée. Chaque concepteur Di doit
utiliser un langage de modélisation des besoins LBi et une terminologie (vocabulaire) Vi pour exprimer
ses besoins B
Di
. Pour intégrer les différents langages des besoins, une solution naïve consiste à établir
(
n×(n−1)
2
) correspondances entre les n langages. Cette solution est coûteuse, car elle nécessite des efforts
considérables pour établir les correspondances entre les différents langages des besoins, notamment si
les langages utilisés sont nombreux. Pour réduire cette complexité, le langage pivot est approprié. Du
81Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
fait qu’il offre une représentation générique de différents langages. Plus précisément, lorsque un langage
pivot est utilisé, le nombre de correspondance est réduit à n si n langages sont pris en considération. Les
différentes correspondances établies entre les langages sont illustrées par la figure 4.13.
Langage 1
Langage 2
Langage 3
Langage 4
Langage n
Langage 4
Langage 1
Langage 2
Langage 3
Langage n Langage
Pivot
(b) Solution Pivot. (a) Solution Ad hoc.
n(n-1)/2 Correspondances (n) Correspondances
Langage 1
Langage 2
Langage 3
Langage 4
Langage n
Langage 4
Langage 1
Langage 2
Langage 3
Langage n Langage
Pivot
(b) Solution Pivot. (a) Solution Ad hoc.
n(n-1)/2 Correspondances (n) Correspondances
Figure 4.13 – Intégration centralisée avec langage Pivot.
Formellement, selon une approche pivot, un système d’intégration des besoins hétérogènes RIS (Requirements
integration system) est représenté par un triplet :
Formalisation 10
RIS :< P; LB;M > avec :
– P : un schéma pivot (générique) exprimé par un langage (modèle) de modélisation donné LBP
sur une terminologie (vocabulaire) VP;
– LB = {LB1, LB2, ..., LBn}, l’ensemble de langages de modélisation des besoins utilisés par
des concepteurs hétérogènes impliqués dans le développement du système complexe. Chaque
LBi (1 ≤ i ≤ n) doit utiliser une teminologie VLB;
– M = {M1,M2, ...,Mn}, l’ensemble des correspondances (mapping) entre les langages de
modélisation LBi et le langage pivot P. Cela conduit à [n] correspondances si n langages sont
pris en considération.
4.1 Proposition d’un modèle pivot des besoins
Le Tableau 4.1 présente une comparaison entre les trois modèles des besoins (Goal-Oriented, Use
case (UML) et MCT de MERISE) pour extraire les unités de modélisation (les concepts) communs. Cette
comparaison nous a permis d’élaborer le modèle pivot qui est défini comme suit et illustré par la figure
4.14.
824. Unification des langages de modélisation des besoins
Table 4.1 – Les concepts communs entre les modèles de besoins.
Formalisation 11
Pivotmodel: < Actor,Requirement,Relationships >, où :
– Actor = {actor1, actor2, ..., actorn} un ensemble d’acteurs (e.g. concepteur)
– Requirement = {req1,req2, ...,reqn} un ensemble de besoins exprimés par un acteur. Nous
définissons un besoin (requirement) comme suit : Requirementi
: < A,R, C > un ensemble de
besoins où :
– A = {a1, a2, ..., an} est l’ensemble d’actions qu’un système effectue pour fournir un résultat.
∀ai ∈ A, ∃pj ⊆ P, telle que f(ai) = pj
, où pj = {p1, p2, ..., pn} est l’ensemble des propriétés
satisfaites par un système.
– R = {r1,r2, ...,rn} est l’ensemble des résultats réalisés par le système.
– C = {c1, c2, ..., cn} est l’ensemble des critères selon lesquels un résultat est quantifié.
– Relationships = {relation1,relation2, ...,relationn} est l’ensemble de relations entre les besoins.
4.2 Couplage de modèle pivot à l’ontologie
Après la construction du méta-modèle pivot, on relie les caractéristiques de chaque concept (Action,
Résultat, Critère, etc. ) avec des classes et des propriétés ontologiques. Un modèle ontologique pivot
(OntoPivot) représente la connexion entre le modèle pivot et le modèle de l’ontologie globale (figure
83Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
Figure 4.14 – Le méta-modèle pivot.
4.15).
Formellement, OntoPivot est définie de la manière suivante :
Formalisation 12
OntoPivot :< OP, Pivotmodel > est ontologie des besoins, où :
– OP : < C, Ro, Re f(C), Re f(R), F > est l’ontologie partagée.
– Pivotmodel: < Actor,Requirement,Relationships >, avec :
– Requirement:< A,R, C >, où:
– A = {a1, a2, ..., an} est l’ensemble des actions. ∀ai ∈ A, ∃dj ⊆ D, telle que f(ai) = dj
, où
dj ∈ (Domaine(a)) est l’ensemble des ressources de l’ontologie de domaine.
– R = {r1,r2, ...,rn} est l’ensemble des résultats.
– C = {c1, c2, ..., cn} est l’ensemble des critères.
– Relationships = {relation1,relation2, ...,relationn} est l’ensemble des relations entre les
besoins. relationi ∈ Relationships ⊆ Ro est l’ensemble de relations de l’ontologie de domaine.
845. Un exemple d’utilisation de notre méthode d’intégration
DefinedBy
DefinedBy
DefinedBy
(a) (b)
Figure 4.15 – Connexion entre le modèle ontologique et le modèle pivot.
5 Un exemple d’utilisation de notre méthode d’intégration
Pour faciliter la compréhension de notre approche, nous considérons le scénario d’utilisation indiqué
par la figure 4.16, où les trois langages de modélisation des besoins sont considérés.
Chaque concepteur extrait d’abord une ontologie locale référençant l’ontologie partagée qui satisfait
ses exigences. Une fois l’ontologie locale extraite, le concepteur décrit ses besoins en fonction de celle-ci.
Ces besoins sont ensuite transformés à l’aide des règles de transformation au modèle pivot.
Nous rappelons que la transformation de modèles fait partie de l’approche IDM. Elle permet d’obtenir
différents modèles cibles suite au traitement de différents modèles sources (figure 4.17). La transformation
de modèle est également utilisée pour établir les correspondances (mapping) et les traductions
entre différents langages de modélisation.
Dans ce scénario, nous transformons les langages des besoins locaux (Ontologie Orienté-buts (OntoGoal),
Ontologie des Cas d’utilisation (OntoUcase) et Ontologie des traitements (OntoMCT)) en un
langage commun (Ontologie Pivot, OntoPivot). Cette transformation se fait par l’intermédiaire des fonctions
qui décrivent les règles de transformation suivantes.
85Chapitre 4. Unification des vocabulaires et des langages de modélisation des besoins
Ontologie partagée
Modèle Pivot des besoins
Couplage
Transformation (Mappings) Modularité (Extractions des OLs)
1
Besoins validés
Corrects
Sans
ambiguïté
Consistants
…..
OL 1
Concepteurs
Sous-système (1)
Orientés buts
OL2
Cas d’utilisation
OLn
(MCT) MERISE
Concepteurs
Concepteurs
Couplage
2 Intégration des besoins
Sous-système (2)
Sous-système (n)
Couplage
2
Couplage
2
3
3
Méta-modèle
Méta-modèle
Méta-modèle
Modèle Ontologique Pivot (OntoPivot)
Ontologie partagée
Modèle Pivot des besoins
Couplage
Transformation (Mappings) Modularité (Extractions des OLs)
1
Besoins validés
Corrects
Sans
ambiguïté
Consistants
…..
OL 1
Concepteurs
Sous-système (1)
Orientés buts
OL2
Cas d’utilisation
OLn
(MCT) MERISE
Concepteurs
Concepteurs
Couplage
2 Intégration des besoins
Sous-système (2)
Sous-système (n)
Couplage
2
Couplage
2
3
3
Méta-modèle
Méta-modèle
Méta-modèle
Modèle Ontologique Pivot (OntoPivot)
Figure 4.16 – Scénario d’intégration des besoins selon un langage pivot.
T r a n s f 1 : Goal −−−−−> R e q ui r em e nt .
T r a n s f 2 : UseCase −−−−−> R e q ui r em e nt .
T r a n s f 3 : T r e atm e nt −−−−−> R e q ui r em e nt .
T r a n s f 4 : M et ri c −−−−−> C r i t e r i o n .
T r a n s f 5 : C o n d i t i o n −−−−−> C r i t e r i o n .
T r a n s f 6 : Emi s si o n −r u l e −−−−−> C r i t e r i o n .
Exemple 7
Goal001 (Méta-modèle OntoGoal) —> Requirement001 (Méta-modèle Ontologique Pivot).
UseCase001 (Méta-modèle OntoUcase) —> Requirement002 (Méta-modèle Ontologique Pivot).
Treatement001 (Méta-modèle OntoMCT) —> Requirement003 (Méta-modèle Ontologique Pivot).
Task01 (Méta-modèle OntoGoal) —> Action (Méta-modèle Ontologique Pivot).
Condition001 (Méta-modèle OntoUcase) —> Criteria001 (Méta-modèle Ontologique Pivot).
Metric002 (Méta-modèle OntoGoal) —> Criteria0012 (Méta-modèle Ontologique Pivot).
Emission-rule003 (Méta-modèle OntoMCT) —> Criteria003 (Méta-modèle Ontologique Pivot).
866. Conclusion
Méta-métamodèle
Métamodèles sources Métamodèles cibles
Modèles sources (S) Modèles cibles (T)
Métamodèle du
langage de
transformation
Modèles de
transformation
est conforme à est conforme à est conforme à
Importer Importer
est conforme à est conforme à
Méta-métamodèle
Métamodèles sources Métamodèles cibles
Modèles sources (S) Modèles cibles (T)
Métamodèle du
langage de
transformation
Modèles de
transformation
est conforme à est conforme à est conforme à
Importer Importer
est conforme à est conforme à
Figure 4.17 – Principe de transformation.
6 Conclusion
Dans ce chapitre, nous avons proposé une solution d’intégration de besoins hétérogènes, unifiant
les vocabulaires et les langages de modélisation des besoins utilisés. Pour unifier les vocabulaires, nous
avons proposé l’utilisation d’une ontologie de domaine supposée existante. Dans ce cas, chaque concepteur
référence cette ontologie pour exprimer ses besoins. Pour unifier les langages de modélisation des
besoins, nous avons étudié trois langages à savoir, Use case d’UML, le langage orienté buts, et le modèle
de traitement de la méthode Merise. Cette étude nous a permis de définir un langage pivot factorisant
l’ensemble de langages étudiés. Un couplage entre l’ensemble des méta-modèles utilisés et l’ontologie
est établi ainsi qu’un scénario d’intégration des besoins est alors défini selon les spécifications de ce
langage pivot. Chaque concepteur extrait d’abord une ontologie locale référençant l’ontologie partagée
qui satisfait ses exigences. Une fois extraite, il décrit ses besoins en fonction de celle-ci. Les besoins
sont ensuite transformés à l’aide des règles sur le modèle pivot. Dans ce scénario, nous avons utilisé des
transformations de type Model-to-Model.
Dans ce chapitre, nous avons constaté que l’intégration des différents langages de modélisation des
besoins selon la solution du langage pivot devient complexe et coûteuse si le nombre de langages de
modélisation des besoins augmente. Donc, elle nécessite des efforts considérables pour établir les correspondances
entre les différents langages des besoins et le langage pivot via des transformation Modelto-Model.
Pour réduire cette complexité, une deuxième solution d’intégration qui repose sur la définition
d’un méta-modèle générique (unifié) représentant les besoins est proposée dans le chapitre suivant.
87Chapitre 5
Vers une Fusion de méta-modèles des langages de
modélisation des besoins
Sommaire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2 Fusion des méta modèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3 Connexion du méta-modèle générique avec l’ontologie . . . . . . . . . . . . . 93
4 Raisonnement sur les besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.1 Scénarii de raisonnement . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.1.1 Scénario 1 : ship whole . . . . . . . . . . . . . . . . . . . . . . 96
4.1.2 Scénario 2 : reason as needed . . . . . . . . . . . . . . . . . . 97
4.2 Étude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.3 Relations sémantiques entre les besoins : Définition & Formalisation . . . 99
4.4 Évaluation du processus de raisonnement . . . . . . . . . . . . . . . . . 102
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Résumé. Dans le chapitre précédent, nous avons proposé une approche d’intégration des
langages de besoins basée sur un modèle pivot défini par un méta-modèle. L’inconvénient
majeur de cette approche est le nombre de transformations faites du nombre de n, si n langages
sont considérés. Pour réduire cette complexité, nous proposons une autre approche
sémantique consistant à fusionner l’ensemble des langages de besoins (trois dans notre cas).
Cette fusion donnera lieu à un modèle appelé générique, où chaque langage devient une instance
de ce dernier. Une mécanisme de raisonnement est fourni afin d’identifier les besoins
conflictuels et contradictoires d’une manière efficace [26].
891. Introduction
1 Introduction
Afin de réduire la complexité de la solution d’intégration proposée dans le chapitre précédent, nous
proposons une nouvelle approche dirigée par la fusion des méta-modèles de langages de modélisation
utilisés (figure 5.1). Le méta-modèle générique est également couplé à l’ontologie partagée. Au lieu de
faire des transformations de type modèle-à-modèle, des instanciations sont faites. Dans cette approche,
un concepteur donne seulement le nom de son langage d’expression de besoins et son ontologie locale et
une instanciation est générée. Pour identifier les besoins contradictoires, un processus de raisonnement
Modèle orientés buts Modèle des cas d’utilisation Modèle de traitements
Concepts
(orienté buts)
Concepts
(cas d’utilisation)
Concepts
(modèle de traitements)
Méta-modèle générique
« Instance de » « Instance de » « Instance de »
Modèle orientés buts Modèle des cas d’utilisation Modèle de traitements
Concepts
(orienté buts)
Concepts
(cas d’utilisation)
Concepts
(modèle de traitements)
Méta-modèle générique
« Instance de » « Instance de » « Instance de »
Figure 5.1 – Méta-modèle générique fusionnant les trois modèles étudiés.
est effectué en exploitant la présence des ontologies (locales et partagée).
Ce chapitre est organisé comme suit. Nous présentons d’abord une notre approche dirigée par la fusion
des méta-modèles est proposée. Ensuite un mécanisme de raisonnement sur les besoins est proposé,
incluant deux stratégies de raisonnement. Ces dernières sont implémentées et comparées en termes de
temps de réponse.
2 Fusion des méta modèles
Dans le chapitre précédent, nous avons proposé un méta-modèle pivot qui contient un ensemble de
concepts communs entre les méta-modèles étudiés (orientés buts, cas d’utilisation et modèle de traitements).
Le passage d’un de ces derniers vers notre méta-modèle pivot requiert des transformations,
ainsi qu’une connaissance profonde du notre méta-modèle pivot. La solution que nous proposons dans
ce chapitre est basée sur la fusion de l’ensemble des méta-modèles étudiés. Cette fusion est représentée
par un méta-modèle générique qui va permettre aux concepteurs d’éviter le processus de transformation.
En outre, les concepts présentés précédemment dans le méta-modèle pivot feront aussi partie de ce
méta-modèle car chaque concept pivot va représenter un concept générique au sein du nouveau métamodèle.
Chaque concept générique (super-classe) supervise les concepts correspondants des différents
méta-modèles. En conséquence, l’instanciation de notre méta-modèle générique donne lieu à un modèle
regroupant les besoins exprimés avec les différents langages. En effet, chaque instance est un ensemble
de besoins, où chaque besoin peut être exprimé par un des langages étudiés.
91Chapitre 5. Vers une Fusion de méta-modèles des langages de modélisation des besoins
La figure 5.2 présente notre méta-modèle générique fusionnant les trois méta-modèles de besoins
développés dans le chapitre précédent. Chaque besoin (Requirement) est caractérisé par un identifiant
(IdReq), un nom (NameReq), une description textuelle (DescriptionReq), un objet (PurposeReq) , un
contexte ContextReq, une priorité PriorityReq (en prenant les valeurs : Mandatory, High, Medium)).
Figure 5.2 – Métamodèle générique des besoins.
Un besoin est décrit par les caractéristiques suivantes.
– Résultat (Result) : il représente la finalité du besoin d’une manière générale. Par exemple le besoin
suivant "Une entreprise a besoin d’un nombre prédéfini d’employés", le nombre prédéfini d’employés
constitue le résultat du besoin. Result possède une propriété measure qui sert à quantifier
(mesurer) le résultat à l’aide des fonctions statistiques dédiées (Sum, Max, Min, AVG, etc).
– Action : elle reflète un ensemble de séquences d’actions qui permettent de réaliser un besoin.
– Critère (Criterion) : il permet de filtrer éventuellement un besoin en lui associant des conditions
à satisfaire, Ainsi, pour l’exemple précédent : Une entreprise a besoin d’un nombre prédéfini
d’employés ne dépassant pas un certain âge", le critère précisé ici, est que l’âge des employés doit
être inférieur à un seuil donné.
– Type : il permet de spécialiser un besoin. Dans notre étude de cas un besoin peut être un but (Goal),
un cas d’utilisation (Use case) ou un traitement (Treatement).
– Acteur : chaque besoin est proposé par un Acteur (personne, entreprise, ou unité de système autonome).
923. Connexion du méta-modèle générique avec l’ontologie
– Relations (Relationships) : les besoins peuvent être liés les uns aux autres à travers des relations
(Requires, Conflicts, Contains, Equivalence, AND/OR, etc.).
Deux catégories de besoins sont identifiées : les besoins fonctionnels et non-fonctionnels.
Notons que les coordonnées d’un besoin à savoir : Result, Action, Criterion portent sur des objets
cibles qui dépendent du contexte d’usage. Dans le contexte des bases de données sémantiques, ces objets
peuvent être représentés par des Concepts dans PLIB, rdfs:Resources dans RDF, OWLClasses dans
OWL, etc. Nous allons détailler ce point dans la section suivante expliquant la connexion entre le modèle
des besoins et le modèle de l’ontologie.
Formellement, le méta modèle générique est défini de la manière suivante.
Formalisation 13
Genericmodel: < Actor,Requirement,Relationships >, où :
– Actor = {actor1, actor2, ..., actorn} est l’ensemble d’acteurs (e.g. concepteur)
– Requirement = {req1,req2, ...,reqn} est l’ensemble de besoins exprimés par un acteur. Nous
définissons un besoin (requirement) comme suit: Requirementi
: < A,R, C,T >, (1 ≤ i ≤ n)
est un ensemble de besoins où :
– A = {a1, a2, ..., an} est l’ensemble de séquences d’actions qu’un système effectue pour fournir
un résultat. ∀ai ∈ A, ∃pj ⊆ P, telle que f(ai) = pj
, où pj ∈ {p1, p2, ..., pn} est l’ensemble
des propriétés satisfaites par un système.
– R = {r1,r2, ...,rn} est l’ensemble des résultats réalisés par le système.
– C = {c1, c2, ..., cn} est l’ensemble des critères selon lesquels un résultat est quantifié.
– T = {t1, t2, ..., tn}, est l’ensemble des types de besoins. Dans notre cas d’étude,
ti ∈ {Goal, U secase, T reatment}.
– Relationships = {relation1,relation2, ...,relationn} , est l’ensemble de relations entre les besoins.
Dans notre cas, Relationship = {Goalrelationships∪UseCaserelationships∪MCTrelationships}
= (Contains, Requires, Refines, Conflicts, Equivalence, AND/OR decomposition, Generalization,
Synchronization, etc.).
3 Connexion du méta-modèle générique avec l’ontologie
Cette étape consiste essentiellement à étendre l’ontologie globale par des méta-classes constituant
le méta-modèle générique de besoins. Ensuite en liant les coordonnées de chaque besoin (Requirement)
Action, Result et Criterion avec des classes et propriétés ontologiques. (voir la figure 5.3)
Dans la pratique, ces coordonnées peuvent porter non seulement sur un seul objet, mais également
sur des expressions (entre autres relations arithmétiques) entre plusieurs objets cibles. Dans la figure 4.10
(section 3.2.2 du chapitre 4), le résultat du besoin porte sur un seul objet qui est la classe ontologique
Student, comme il peut bel et bien porter sur une expression entre propriétés ontologiques, comme par
exemple le besoin du calcul de la moyenne des étudiants où on aura affaire à un produit entre la propriété
note et coefficient de la classe Course. D’autres exemples sont étudiés plus loin dans le chapitre 6.
Au final , les besoins sont spécifiés au niveau ontologique où nous avons substitué les classes du
modèle des besoins par son équivalent dans le modèle d’ontologie. Un modèle ontologique (OntoReq)
93Chapitre 5. Vers une Fusion de méta-modèles des langages de modélisation des besoins
Méta-modèle d’ontologie Méta-modèle de besoins
Person
Student Employee
name: String
age: Integer
salary : double class : String
Student 1: Student
name: ‘AAA’
age: 22
Employee 1: Employee
name: ‘BBB’
age: 36
class: ‘A’ salary : 3000 $
Instances
conforme à
conforme à conforme à
Modèle Méta-modèle
conforme à conforme à
Goal 1: Goal
id: 001
NameGoal : ‘goal 01’
DescriptionGoal : ‘Le système doit permettre à l’administration de
supprimer les informations des étudiants ayant plus de 40 ans’
Context : ‘universitaire’
conforme à
Modèle de buts
Méta-modèle d’ontologie Méta-modèle de besoins
Person
Student Employee
name: String
age: Integer
salary : double class : String
Student 1: Student
name: ‘AAA’
age: 22
Employee 1: Employee
name: ‘BBB’
age: 36
class: ‘A’ salary : 3000 $
Instances
conforme à
conforme à conforme à
Modèle Méta-modèle
conforme à conforme à
Goal 1: Goal
id: 001
NameGoal : ‘goal 01’
DescriptionGoal : ‘Le système doit permettre à l’administration de
supprimer les informations des étudiants ayant plus de 40 ans’
Context : ‘universitaire’
conforme à
Modèle de buts
Figure 5.3 – Connexion entre le méta-modèle ontologique et le méta-modèle générique des besoins.
représente cette connexion.
OntoReq =
Y
Requirements
(OG)
Maintenant nous avons tous les ingrédients pour intégrer les besoins. En suivant les mêmes étapes du
scénario d’intégration présenté dans le chapitre 4. Ici, chaque concepteur extrait d’abord une ontologie
locale référençant l’ontologie partagée qui satisfait ses exigences. L’ontologie locale extraite représente
le vocabulaire partagé et le langage d’expression demandé par le concepteur. Une fois l’ontologie locale
est extraite, le concepteur décrit ses besoins en fonction de son ontologie locale. Ensuite, ses besoins
sont transformés à l’aide des règles de transformation au modèle générique afin d’établir le mécanisme
de raisonnement.
4 Raisonnement sur les besoins
Dernièrement, l’inférence à base ontologique apparaît comme un moyen pertinent pour améliorer
la gestion de l’information au cours de cycle de vie des applications informatiques. Les ontologies permettent
des raisonnements automatiques ayant pour objet soit d’effectuer des vérifications de consistance,
soit d’inférer de nouveaux faits. Fankam.[37] décrit, qu’il existe deux types d’ontologies : les ontologies
944. Raisonnement sur les besoins
de stockage (Storage ontologies) et les ontologies d’inférence (Inference ontologies). Les ontologies de
stockage sont utilisées pour la capture de l’information, le stockage, la classification et la réutilisation
des sources hétérogènes. Contrairement au premier type, les ontologies d’inférence peuvent raisonner
et inférer sur des informations. L’inférence est la capacité de faire des déductions sur les instances, les
classes et les propriétés ontologiques. Ce mode de raisonnement est effectué par un moteur d’inférence.
De nombreux langages et outils informatiques sont apparus pour un raisonnement à base ontologique.
Nous pouvons citer OWL et SWRL.
Le raisonnement, en générale, est un processus cognitif permettant soit d’obtenir de nouveaux ré-
sultats soit de faire la vérification d’un fait. Le raisonnement à base de règles (rules based reasonning)
s’inscrit dans une logique mathématique, en utilisant la déduction, l’abduction ou l’induction. Il présente
certains avantages : tout d’abord, il est facile à comprendre et à interpréter. De plus, il est assez naturel
car l’être humaine raisonne souvent sous forme de règles : (s’il pleut dehors, alors je vais prendre mon
parapluie). Un autre atout de ce type de raisonnement est sa modularité, en effet, il est possible d’ajouter
des règles ou d’en enlever simplement selon les besoins de l’utilisateur [72]. Pour raisonner à base de
règles, il faut :
– Une base de connaissance : les règles. Une règle est une connaissance qui sert à faire le lien entre
des connaissances connues et d’autres connaissances que l’on peut déduire ou inférer. Une règle
est une expression de la forme : "Si X est Y, alors V est Z ". Elle exprime une relation entre les
variables X et Y. On appelle "X est Y" la prémisse de la règle, et "V est Z" la conclusion de la
règle. En général, on estime que la connaissance exprimée par cette règle est valide. Le type de
raisonnement utilisé est donc déductif car on essaye de déduire des connaissances sur les valeurs
de sortie à partir des valeurs des entrées.
Exemple. Cette règle modélise la connaissance suivante : (si un étudiant X est inscrit à un cours
Y alors il existe un enseignant Z qui enseigne Y et qui enseigne à X). La traduction logique de
cette règle (R) est: φ(R) = ∀x∀y((Etudiant(x) ∧ Cours(y) ∧ inscrit(x, y)) → ∃z(Enseigant(z) ∧
enseigne(z, y) ∧ enseigneA(z, x)))
– Un ensemble de faits : les données.
– Un moteur d’inférence : un processus de raisonnement qui s’appuie sur des connaissances acquises,
et qui s’articule autour de règles fondamentales pour permettre d’obtenir de nouvelles
connaissances. Pour simplifier, on peut considérer que l’inférence est un mode de raisonnement.
Le couplage entre le modèle des besoins et l’ontologie permet de détecter les besoins incohérents
et contradictoires. Le concepteur peut spécifier les besoins comme des individus (instances) dans l’ontologie.
Les règles de vérification de la cohérence (consistency checking rules) sont exécutées sur cette
ontologie (Fig 5.4).
Plus formellement notre mécanisme de raisonnement OntoRR, (Ontological Reasoning about Requirements)
est définit comme suit :
Formalisation 14
OntoRR: < O,Requirementmodel,Rules >, où :
– O : < C, R, Re f(C), Re f(R), F >, an ontology.
– Requirementmodel = {model1, model2, ..., modeln}, est l’ensemble de modèles. Dans notre cas,
Requirementmodel = Pivotmodel ⊕ Goalmodel ⊕ Ucasemodel ⊕ MCTmodel.
– Rules = {rule1,rule2, ...,rulen}, l’ensemble des relations entre les besoins. Où rulei ⊆ Rules,
95Chapitre 5. Vers une Fusion de méta-modèles des langages de modélisation des besoins
Ingénierie des
Besoins
Meta-modèle de
besoins
Module de besoins
Moteur d'inférence
Module de
raisonnement
Module d’ontologie
Ontologie de
domaine
Meta-modèle
d’ontologie
Instance de
Modèle de besoins Modèle d’ontologie
Connexion
Règle de raisonnement
Instance de
Connexion
Ingénierie des
Besoins
Meta-modèle de
besoins
Module de besoins
Moteur d'inférence
Module de
raisonnement
Module d’ontologie
Ontologie de
domaine
Meta-modèle
d’ontologie
Instance de
Modèle de besoins Modèle d’ontologie
Connexion
Règle de raisonnement
Instance de
Connexion
Figure 5.4 – Processus de raisonnement.
Rules = {Containsrule, Requiresrule, Re f inesrule,Con f lictsrule
andEqualsrule}.
4.1 Scénarii de raisonnement
La présence de la connexion entre le modèle de l’ontologie et le modèle des besoins nous permet de
proposer deux scénarii de raisonnement.
4.1.1 Scénario 1 : ship whole
Dans ce scénario appelé ship whole, chaque concepteur envoie ses besoins sans aucun traitement
local au modèle générique qui effectue le raisonnement pour identifier les besoins conflictuels. Cette
phase est réalisée après la transformation des besoins locaux en modèle générique. Cette solution peut
être coûteuse si le nombre de besoins est important.(figure 5.5).
Ce scénario est défini formellement par :
Formalisation 15
OntoRU: < OntoReq,Rules >, où :
– OntoReq :< OP, Genericmodel >, ontologie des besoins.
– Rules = {rule1,rule2, ...,rulen}, l’ensemble des relations entre les besoins. Où rulei ⊆ Rules,
Rules = {Containsrule, Requiresrule, Re f inesrule,
Con f lictsruleandEqualsrule}.
964. Raisonnement sur les besoins
Modèle générique de besoins
Connexion
Ontologie partagée
Concepteurs
Sous-système (1)
Méta-modèle Concepteurs
Sous-système (2)
Méta-modèle Concepteurs
Sous-système (n)
… Méta-modèle
Transformation (Mapping)
OLBn
Raisonnement
«ship whole »
Modèle générique de besoins
Connexion
Ontologie partagée
Concepteurs
Sous-système (1)
Méta-modèle Concepteurs
Sous-système (2)
Méta-modèle Concepteurs
Sous-système (n)
… Méta-modèle
Transformation (Mapping)
OLBn
Raisonnement
«ship whole »
Figure 5.5 – Scénario (1) : ship whole.
4.1.2 Scénario 2 : reason as needed
Pour pallier le problème de coût, nous proposons l’architecture reason as needed qui permet à chaque
concepteur de raisonner localement autant qu’il le peut, puis d’envoyer ensuite des besoins valides au
modèle générique, qui à son tour effectue d’autres raisonnements.(figure 5.6).
Dans notre étude de cas, le raisonnement est effectué localement sur les ontologies locales des besoins
(OntoGoal,OntoUcase et OntoMCT) et d’une manière globale après la phase de transformation sur
l’ontologie de besoins globale (OntoReq).
Ce scénario est défini formellement par :
1. Sur l’ontologie de buts, OntoGoal
Formalisation 16
OntoRG: < OntoGoal,Rules >, où :
– OntoGoal :< OLi
, Goalmodel >, l’ontologie locale des buts.
– Rules = {rule1,rule2, ...,rulen}, l’ensemble des relations entre les buts. Où rulei ⊆ Rules,
Rules = {Containsrule, Requiresrule, Re f inesrule,
Con f lictsruleandEqualsrule}.
97Chapitre 5. Vers une Fusion de méta-modèles des langages de modélisation des besoins
Modèle générique de besoins
Connexion
Ontologie partagée
Concepteurs
Sous-système (1)
Méta-modèle Concepteurs
Sous-système (2)
Méta-modèle Concepteurs
Sous-système (n)
… Méta-modèle
Transformation (Mapping)
OLBn
Raisonnement
Raisonnement
Raisonnement Raisonnement
Modèle générique de besoins
Connexion
Ontologie partagée
Concepteurs
Sous-système (1)
Méta-modèle Concepteurs
Sous-système (2)
Méta-modèle Concepteurs
Sous-système (n)
… Méta-modèle
Transformation (Mapping)
OLBn
Raisonnement
Raisonnement
Raisonnement Raisonnement
Figure 5.6 – Scénario (2) : reason as needed.
2. Sur l’ontologie des cas d’utilisation, OntoUcase
Formalisation 17
OntoRU: < OntoUcase,Rules >, où :
– OntoUcase :< OLi
, UCmodel >, l’ontologie locale des cas d’utilisation.
– Rules = {rule1,rule2, ...,rulen}, l’ensemble des relations entre les besoins. Où rulei ⊆ Rules,
Rules = {Containsrule, Requiresrule, Re f inesrule,
Con f lictsruleandEqualsrule}.
3. Sur l’ontologie des traitement, OntoMCT
Formalisation 18
OntoRU: < OntoMCT,Rules >, où :
– OntoMCT :< OLi
,MCTmodel >, l’ontologie locale des traitements
– Rules = {rule1,rule2, ...,rulen}, l’ensemble des relations entre les besoins. Où rulei ⊆ Rules,
Rules = {Containsrule, Requiresrule, Re f inesrule,
Con f lictsruleandEqualsrule}.
Les deux scénarii s’appuient sur les relations sémantiques définis dans la section 4.3.
4.2 Étude de cas
Pour évaluer notre processus de raisonnement, nous proposons l’utilisation d’un ensemble de besoins
sur le domaine universitaire, avec des besoins concernant les étudiants, les départements, les cours, etc.
984. Raisonnement sur les besoins
Cet ensemble est sélectionné du document de besoins concernant le système gestion des cours (CMS,
Course Management System) 32. L’ensemble sélectionné contient 60 besoins. Nous supposons qu’ils sont
collectés auprès de trois concepteurs différents qui utilisent nos modèles : 25 par le modèle (Goal), 15 par
(Use case) et 20 par MCT. Nous avons utilisé l’ontologie LUBM contenant 45 classes et 38 propriétés
(dont 31 Object properties, et 7 Data type properties). Nous avons sélectionné 10 besoins (R1, R2, ..., R10)
de ce document, pour bien comprendre la définition et la formalisation des relations entre les besoins.
Les besoins qui suit est une partie de ce document.
- R1: The system shall allow the department to manage courses.
- R2: The system shall allow the department to create courses.
- R3: The system shall provide database course information.
- R4: The system shall be able to store database course information.
- R5: The system shall allow department to delete all studies and personal information of
students more than 40 years old.
- R6: The system shall allow department to delete all studies and personal information of
students less than 40 years old.
- R7: The system shall allow department to create entirely new courses.
- R8: The system shall allow department to create courses.
- R9: The system shall allow lecturers to create courses.
- R10: The system shall allow lecturers to create courses.
4.3 Relations sémantiques entre les besoins : Définition & Formalisation
Nous avons identifié cinq types de relations : Contains, Requires, Conflicts, Refines et Equals. Nous
utilisons les définitions informelles définies par [55]. Dans le reste de cette section, nous donnons une
définition formelle de ces relations. Nous utilisons le terme "domaine" pour désigner les ressources de
l’ontologie (concepts et propriétés) qui peuvent être utilisés pour définir le besoin.
1. Relation "Contains" :
Définition 1
Un besoin B1 contient des besoins {B2 ... Bn} si {B2 ... Bn} font parties de l’ensemble B1 (part-whole
hierarchy). Cette relation permet de décomposer un besoin complexe en plusieurs parties. La relation
contains est non réflexive, non symétrique et transitive.
Soit: B1:< A1,R1,M1 >, B2:< A2,R2,M2 >,...,Bn:< An,Rn,Mn > des besoins où n ≥ 2.
Domain(B1)=domain (A1)∪ domain (R1) ∪ domain (M1)
Domain(B2)= domain (A2)∪ domain (R2)∪ domain (M2)
Domain(Bn)= domain (An)∪ domain (Rn)∪ domain (Mn)
Formalisation 19
Containsrule:B1 Contains B2,B3,...,Bn: domain(B2) ⊂ domain(B1), domain(B3) ⊂ domain(B1),..., domain(Bn) ⊂
domain(B1)
32. http://wwwhome.cs.utwente.nl/ goknila/sosym/Requirements_Document_for_CMS.pdf
99Chapitre 5. Vers une Fusion de méta-modèles des langages de modélisation des besoins
Exemple 1:
B1 : The system shall allow the department to manage courses.
B2 : The system shall allow the department to create courses.
– Domain(B1)= (department, Course, Add-course, Delete-course, Update-course, Select-course).
– Domain(B2)= (department, Course, Add-course).
Nous observons que (domain(B2) ⊂ domain(B1)). Nous concluons que B2 est l’une des besoins décomposés
de B1. Donc, (B1 contains B2).
2. Relation "Requires" :
Définition 2
Un besoin B1 requiert un besoin B2 si B1 n’est satisfait que lorsque B2 est satisfait. La relation requires peut être
considérée comme pré-condition pour le besoin exigeant. La relation requires est non-réflexive, non symétrique
et transitive.
Soit: B1 : < A1,R1,M1 >, B2:< A2,R2,M2 > deux besoins des utilisateurs où :
Domain(B1)= domain (A1)∪ domain (R1) ∪ domain (M1)
Domain(B2)= domain (A2)∪ domain (R2)∪ domain (M2)
Formalisation 20
Requiresrule : B1 requires B2: ∀x ∈ domain(B1): x ∈ domain(B2) ∧∃x ∈ domain(B2) :x < domain(B1)
Nous expliquons la relation requires avec l’exemple suivant.
Exemple 2 :
B3 : The system shall provide database course information.
B4 : The system shall be able to store database course information.
– Domain(B3)= (Course, Provide-course, Stor-course).
– Domain(B4)= (Course, Stor-course).
Afin de fournir des informations sur les cours de base de données, le système a besoin de stocker des informations
sur ces cours. Par conséquent, nous concluons que B3 requires B4 pour être satisfait.
3. relation "Conflicts with" :
Définition 3
Un besoin B1 est en conflit avec un besoin B2 si la réalisation de B1 exclut la réalisation de B2 et vice versa. La
relation de conflit adresse une contradiction entre les besoins. Notre approche de raisonnement peut exécuter
des relations de conflits n-aires entre des besoins multiples. La relation de conflit binaire est symétrique, nonréflexive
et elle n’est pas transitive.
Formalisation 21
Con f lictsrule : B1 Conflicts with B2: (¬∃x : (x ∈ (domain(B1))∧ x ∈ (domain(B2)) ⇔ domain(B1) ∩ domain(B2)
= ∅) ⇔ ∀x ∈ domain(B1) ⇒ ∃y ∈ domain(B2) ∧Contradict(x, y) .
Nous expliquons la relation "conflicts with" avec l’exemple suivant.
Exemple 4 :
B5 : The system shall allow department to delete all studies and personal information of students with more
than 40 years.
B6 : The system shall allow department to delete all studies and personal information of students with less
than 40 years.
1004. Raisonnement sur les besoins
– Domain(B5)= (department, Student, Course, Person ∩ ∀ takesCourse(Person, Course), Name, Age, Marks,
Birth date, More, Delet-name, Delet-Birthdate, Delet-course, Delet-marks, Age>=40, DisjointWith (More,
Less),...).
– Domain(B6)= (department, Student, Course, Person ∩ ∀ takesCourse(Person, Course), Name, Age, Marks,
Birth date, Less, Delet-name, Delet-Birthdate, Delet-course, Delet-marks, Age<40, DisjointWith (More,
Less), DisjointWith (Age<40, Age>=40)...).
Nous observons que DisjointWith (More, Less) et DisjointWith (Age<40, Age>=40) sont des concepts
conflictuels (une relation de contradiction entre les concepts). Donc, nous concluons que: B5 conflicts with
B6.
4. Relation "Refines" :
Définition 4
Un besoin B1 affine un besoin B2 si B1 est dérivé de B2 en ajoutant plus de détails à ses propriétés. Pareillement
à la relation requires, le relation refines est non-réflexive, non symétrique et transitive.
Formalisation 22
Re f inesrule: B1 Refines B2: domain(B2) ⊂ domain(B1)
Nous expliquons la relation refines avec l’exemple suivant.
Example 3 :
B7 : The system shall allow department to create courses.
B8 : The system shall allow department to create entirely new courses.
– Domain(B7)= (department, Student, Course, Person ∩ ∀ takesCourse(Person, Course), Add-course,etc.).
– Domain(B8)= (department, Student, Course, Person ∩ ∀ takesCourse(Person, Course), Add-New-course,
etc.).
Nous observons que (domain(B7) ⊂ domain(B8)). Le besoin B7 nécessité seulement d’une propriété pour
la description du cours Course. Cependant, B8 explique en détails les cours par l’ajout d’une propriété
New-course. Nous concluons que B8 affine B7. Par conséquent, on peut noter également que B8 requires B7.
5. Relation "Equals" :
Définition 5
Un besoin B1 est égale à un besoin B2, si les propriétés de B1 sont exactement les mêmes que celles de B2 et
vice versa. La relation égale est symétrique, reflexive et transitive.
Formalisation 23
Equalsrule: B1 Equals B2: domain(B1) ≡ domain(B2)
Nous expliquons la relation "Equals" avec l’exemple suivant.
Example 5 :
B9: The system shall allow lecturers to create courses.
R10: The system shall allow lecturers to create courses.
– Domain(B9)= (Lecturers, Student, Course, Person ∩ ∀ takesCourse(Person, Course),Add-course,etc.).
– Domain(R10)= (Lecturers, Student, Course, Person ∩ ∀ takesCourse(Person, Course), Add-course, etc.).
Nous observons que (domain(B9) ≡ domain(R10)). Donc, B9 est égale R10.
101Chapitre 5. Vers une Fusion de méta-modèles des langages de modélisation des besoins
4.4 Évaluation du processus de raisonnement
Nous effectuons des expériences pour déterminer le nombre de relations inférées dans les deux scé-
narii de raisonnement. Les résultats obtenus sont illustrés dans le tableau 5.1. Toutes les expérimentations
ont été effectuées sur une machine Intel (R) Core (TM) i5 ayant un processeur d’une fréquence de 2.67
GHz, équipée d’une mémoire centrale de 4 Go, tournant sous le système d’exploitation Windows 7 professionnel.
Les résultats montrent que le nombre de relations vérifiées dans le modèle générique (OntoReq) est
plus que le nombre total de relations vérifiées dans les modèles de besoins locaux (OntoGoal, OntoUcase,
OntoMCT). Enfin, pour mesurer l’efficacité des scénarii de raisonnement, nous avons calculé le temps
Scénarii Modèles Nombre de relations Domain (C&R)
Requires Conflicts Contains Refines Equals Totale
Scénario (1)
OntoGoal 2 1 2 2 0 7 38
OntoUcase 2 0 2 1 0 6 25
OntoMCT 2 4 2 0 0 9 34
OntoReq 4 2 2 2 2 12 40
Scénario (2) OntoReq 8 8 8 4 2 30 66
Table 5.1 – Nombre de relations vérifiées pendant le raisonnement.
0,39 0,52
0,75
1,65
0,65
0
0,5
1
1,5
2
2,5
3
OntoGoal
OntoUcase
OntoMCT
OntoReq
OntoReq
Execution time (s)
Scénario (2) Scénario (1)
0,39 0,52
0,75
1,65
0,65
0
0,5
1
1,5
2
2,5
3
OntoGoal
OntoUcase
OntoMCT
OntoReq
OntoReq
Execution time (s)
Scénario (2) Scénario (1)
Figure 5.7 – Temps d’exécution de raisonnement.
d’exécution (en secondes) nécessaire pour exécuter le raisonnement dans chaque scénario. (Figure 5.7).
Les résultats obtenus montrent que le scénario 1 est plus performant que scénario 2. Cela montre
l’intérêt de répartir les efforts de raisonnement au niveau local, puis de les raffiner au niveau global. Le
1025. Conclusion
raisonneurs ne sont efficaces que sur les ontologies de petites tailles (les ontologies locales des besoins).
Plus les ontologies sont grandes plus les performances diminuent.
5 Conclusion
Dans ce chapitre, nous avons présenté une deuxième contribution. Elle consiste à exploiter la puissance
de l’ingénierie dirigée par les modèles pour offrir un deuxième scénario d’intégration des besoins.
Nous avons défini un méta-modèle générique représentant les besoins. Les trois modèles utilisés deviennent
alors des instances de ce méta modèle. Nous nous somme basés sur les mêmes hypothèses
que la première approche d’intégration concernant l’existence d’une ontologie partagée qui couvre la
sémantique du domaine et la définition des ontologies locales qui référencent l’ontologie partagée pour
fournir une autonomie aux concepteurs. Dans ce cas, chaque concepteur donne seulement son langage
préféré pour concevoir une application, il extrait par la suite son langage de besoins couplé à son ontologie.
Nous avons présenté également un mécanisme de raisonnement sur l’ensemble des besoins émis
par les concepteurs. Deux scénarios d’implémentation de raisonnement sont proposées (i) ship whole et
(ii) reason as needed. L’évaluation des deux solutions a montré l’intérêt du raisonnement, ainsi que la
supériorité de la solution reason as needed sur la solution ship whole en termes de temps de traitement.
Dans le chapitre suivant, nous allons étudier la contribution de la prise en compte des besoins dans
la conception physique des entrepôts de données.
103Chapitre 6
Exploitation des besoins pour la conception physique
Sommaire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2 La conception physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3 Conception physique dirigée par les besoins . . . . . . . . . . . . . . . . . . . 109
3.1 La sélection des index . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.2 La fragmentation horizontale . . . . . . . . . . . . . . . . . . . . . . . . 111
4 Persistance des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.1 Le langage d’exploitation OntoQL . . . . . . . . . . . . . . . . . . . . . 112
4.2 Persistance des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.3 Génération des requêtes SQL . . . . . . . . . . . . . . . . . . . . . . . . 114
5 Expérimentation et évaluation de notre proposition . . . . . . . . . . . . . . . 116
5.1 Structures d’optimisation comme des services . . . . . . . . . . . . . . . 116
5.2 La sélection des index . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.3 La fragmentation horizontale . . . . . . . . . . . . . . . . . . . . . . . . 117
6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Résumé. Dans les deux chapitres précédents, nous avons proposé deux approches d’inté-
gration sémantique des besoins hétérogènes dans le contexte des entreprises étendues. Dans
ce chapitre, nous allons étudier comment ces approches peuvent contribuer à la conception
physique des entrepôts de données. Cette conception consiste à sélectionner des structures
d’optimisation comme les index et la fragmentation [18, 79, 78]. Actuellement, la conception
physique est réalisée à l’aide des requêtes extraites des fichiers de journalisation (logs)
et supposent que la base/entrepôt de données est en cours d’utilisation. Ce processus augmente
la charge de travail des administrateurs de ce type de bases de données. Comme
processus alternatif, nous proposons une approche de conception physique qui se déroule
pendant la modélisation conceptuelle, une fois les besoins identifiés.
1051. Introduction
1 Introduction
La collecte des besoins est une pré-condition pour réussir un projet de conception de bases de données,
du fait qu’elle contribue à chaque phase du cycle de vie de conception des bases de données avancées.
Ce cycle est composé de six étapes principales : (a) la définition des besoins des utilisateurs, (b)
la modélisation conceptuelle, (c) la modélisation logique, (d) la modélisation physique, (e) l’implémentation
de la base de données et (f) son tuning. Dans ce chapitre, nous allons étudier la contribution de
notre approche de gestion des besoins sur la conception physique. Nous avons choisi cette phase car
elle est l’objet de nombreux travaux menés au sein de l’équipe Ingénierie des Données et des Modèles
du laboratoire LIAS de l’ISAE-ENSMA. Ces travaux concernent la sélection des structures d’optimisation
redondantes (du fait qu’elles dupliquent les données) comme les vues matérialisées, les index, la
réplication, etc. et des structures d’optimisation non redondantes comme le partitionnement horizontale,
l’ordonnancement des requêtes, etc. La sélection de ces structures se fait selon trois modes : statique,
incrémental et dynamique.
Dans la sélection statique, les entrées du problème sont un schéma d’un entrepôt de données ou
d’une base de données, un ensemble de k requêtes les plus fréquemment utilisées (les requêtes sont donc
connues a priori) et une contrainte particulière liée au problème traité. Le problème de sélection de structure
d’optimisation consiste alors à trouver un ensemble d’instances d’optimisation réduisant le coût de
la charge des requêtes et satisfaisant la contrainte. Dans la sélection incrémentale, on suppose à nouveau
que certaines requêtes sont connues mais cette fois-ci, on traite le fait que d’autres requêtes puissent être
posées sur le système. Dans la sélection incrémentale, on lève l’hypothèse sur la connaissance a priori
des requêtes à optimiser. Les travaux existants ont montré la complexité de ces trois types de sélection.
D’après l’analyse des travaux existants, nous avons identifié que les requêtes sont au coeur de la phase
de la conception physique. Ces dernières peuvent être facilement extraites à partir des besoins identifiés
dans la phase conceptuelle, que nous allons détailler dans ce chapitre. Cette démarche nous a amené
à une nouvelle vision de la conception de bases de données, dans laquelle deux types d’acteurs sont
présents tout au long du cycle de vie : le concepteur et l’administrateur. Jusqu’à présent, le concepteur
a pour tâches de (i) proposer une bonne méthodologie de conception tout en identifiant les entités et
les propriétés de l’univers de discours et (ii) réaliser un cahier des charges informatique pour évaluer
la faisabilité et/ou le coût de passage de cette modélisation conceptuelle à une base de données. Tandis
que l’administrateur est généralement responsable de plusieurs tâches qu’il doit assurer simultanément.
Parmi ces tâches, nous pouvons citer la gestion du recouvrement des données, le tuning, le suivi des
structures de données, la gestion de l’intégrité et des droits d’accès, etc. Fabio et al. [96] ont fait une
étude sur le temps passé par l’administrateur pour assurer les tâches d’administration. La figure 6.1
présente le taux d’effort (en pourcentage de temps) consacré par l’administrateur pour les différentes
tâches d’administration. Cette figure montre que la tâche de conception physique et de tuning consomme
17% du temps d’administration. Cet effort est dû au nombre important de choix qu’il doit effectuer. Vu
que la conception physique se fait à l’aide des requêtes qui peuvent être identifiées à l’aide de l’expression
des besoins, dans notre vision, cette tâche pourrait être déléguée aux concepteurs.
Ce chapitre est organisé comme suit. Nous présentons d’abord la conception physique d’une manière
générale dans la section 2. Puis, nous montrons comment les besoins peuvent être utilisés pour répondre
à cette conception dans la section 3. Afin de pouvoir utiliser les besoins dans tout le cycle de vie d’un
107Chapitre 6. Exploitation des besoins pour la conception physique
Recouvrement
19%
Tuning
17%
Structure de données
14%
Gestion et surveillance
de l'espace
10%
Surveillance du
système
10%
Intégrité/vérifications
statistiques
8%
Modification de
données
8%
Surveillance de
la performance
7% Codage
4%
Mise à niveau du
système
3% Figure 6.1 – Répartition de l’effort de l’administrateur.
système de gestion de données, nous montrons dans la section 4 comment ils peuvent être persistés.
Enfin, une étude de cas est présentée dans la section 5 montre que la conséquence de l’utilisation des
besoins dans la conception physique est la réduction des tâches de l’administrateur.
2 La conception physique
Dans les applications décisionnelles, la conception physique est devenue un enjeu important vu les
exigences des décideurs en termes de temps de réponse de requêtes complexes, impliquant un nombre
important de jointures entre des tables de faits extrêmement larges et des tables de dimension et des opé-
rations d’agrégation [34]. Durant cette phase, l’administrateur doit sélectionner un ensemble de structures
d’optimisation pour satisfaire ses requêtes (figure 6.2). Une large panoplie de structures d’optimisation a
été proposée dans le contexte des entrepôts de données dont une majorité supportée par les systèmes de
gestion de bases de données commerciaux et non commerciaux. Nous pouvons ainsi citer les vues maté-
rialisées, les index avancés, la réplication, la fragmentation, le traitement parallèle, la compression, etc.
Certaines structures sont issues des bases de données traditionnelles comme la fragmentation, la réplication,
certains types d’index (par exemple, le B-tree), le regroupement, etc. Ces structures sont divisées en
deux catégories que nous appelons les structures redondantes et les structures non redondantes [14]. Les
structures redondantes optimisent les requêtes mais entraînent des coûts de stockage et de maintenance.
Les vues matérialisées, les index, la fragmentation verticale sont trois principaux exemples de cette caté-
gorie. Les structures non redondantes ne nécessitent ni coût de stockage, ni coût de maintenance. Deux
exemples de cette catégorie sont la fragmentation horizontale et les traitements parallèles.
1083. Conception physique dirigée par les besoins
Conception
physique
Tables
(modélisation logique)
Profils des tables
Profils des requêtes
Techniques d’optimisation
sélectionnées
Schéma de placement
Ressources utilisées
1. Techniques d’optimisation
2. Contraintes liées à la sélection
Figure 6.2 – La conception physique.
Avant de définir le problème de sélection de structure d’optimisation, nous donnons quelques notations.
Une famille de structures d’optimisation, comme les index, les vues matérialisées, le partitionnement,
est dénotée par S O¯ = {VM, HF , I}. Une structure d’optimisation est une instance d’une famille
donnée. Si par exemple, une classe S O ∈ S O¯ est VM, alors la structure d’optimisation représentera un
ensemble de vues à matérialiser. A chaque classe de S O¯ est associé un ensemble de contraintes dénoté
par contr(S O). Les contraintes liées aux index et aux vues matérialisées représentent le coût de stockage.
Le problème de sélection de ces structures est défini comme suit.
Entrées :
– Charge de requêtes Q = {Q1, Q2, ·, Qk} ;
– Ensemble des structures d’optimisation S O¯ ;
– Ensemble des contraintes contr(S O).
Sorties : un ensemble de structures optimisant le temps d’exécution de Q et satisfaisant les contraintes
contr(S O).
Ce problème est connu comme étant NP-difficile pour chaque instance. Une large panoplie d’algorithmes
a été proposée pour résoudre cette complexité, en prenant en compte un ensemble de requêtes.
Ces dernières sont souvent issues de l’ensemble des besoins identifiés dans la phase de recueil de besoins.
Donc, on peut se demander pourquoi attendre la conception physique pour sélectionner des structures
d’optimisation, si nous pouvons la faire lors de la phase de conception.
3 Conception physique dirigée par les besoins
Les différentes techniques d’optimisation s’effectuent habituellement au niveau physique comme
l’indexation ou la fragmentation horizontale qui reposent sur une charge de requêtes fréquentes et un
ensemble de contraintes données (espace de stockage, coût de mise à jour, etc). Cette charge de requêtes
n’est obtenue qu’après une période d’exploitation de la base de données. Or, il est probable que cette
charge de requêtes soit incluse dans l’ensemble des besoins des utilisateurs qui eux sont disponibles dès
le début de la conception puisqu’il sont fournis par la phase de collection et d’analyse des besoins. Par
exemple, l’ensemble des contraintes (l’espace de stockage, le coût de mise à jour,etc.) est collecté auprès
109Chapitre 6. Exploitation des besoins pour la conception physique
des parties prenantes du système sous forme de besoins non fonctionnels.
Dans ce travail, nous proposons d’exploiter les besoins des utilisateurs pour effectuer une optimisation
dès le niveau logique. Ainsi, nous envisageons de faire remonter ces tâches d’optimisation du niveau
physique au niveau logique, et donc d’alléger un peu la lourde responsabilité de l’administrateur en délé-
gant cette tâche au concepteur. Nous tentons ici de fournir un lien "humain" entre la conception logique
et la conception physique et de réduire ainsi l’écart entre ces deux niveaux de conception.
Le problème de sélection de ces structures est défini comme suit.
Entrées :
– Ensemble des besoins B = {B1, B2, ·, Bk} ;
– Ensemble des structures d’optimisation S O¯ ;
– Ensemble des contraintes contr(S O).
Sorties : un ensemble de structures d’optimisation optimisant le temps d’exécution de Q et satisfaisant
les contraintes contr(S O).
Nous considérons dans ce chapitre deux cas d’étude : le problème de sélection des index I et celui de
la fragmentation horizontale HF . Nous reformulons ces problèmes en prenant comme entrée les besoins
des utilisateurs.
3.1 La sélection des index
Afin d’offrir des solutions d’indexation adaptées au contexte des ED, de nouveaux index ont été
proposés. On peut ainsi citer (a) les index binaires [33] qui optimisent les opérations de sélection définies
sur des attributs appartenant à des tables de dimension. Ces index sont largement utilisés dans les bases de
données XML [14] et dans la recherche d’information [14]. (b) Les index de jointures en étoile permettant
de stocker le résultat d’exécution d’une jointure en étoile entre plusieurs tables. (c) Les index de jointure
binaire (IJB) [97] quant à eux permettent d’optimiser à la fois les jointures en étoile et les opérations de
sélections définies sur les tables de dimensions. Les index de jointure binaire sont supportés par la plupart
des SGBD commerciaux. Nous distinguons deux types d’IJB : les IJB simples (mono-attribut) définis
sur un seul attribut d’une table de dimension et les IJB multiples (multi-attributs) définis sur plusieurs
attributs issus d’une ou plusieurs tables de dimensions. Pour faciliter l’exploitation et la gestion des
IJB multiples volumineux, certains travaux ont proposé l’utilisation de la fragmentation verticale et
horizontale [31].
La sélection d’index de jointure en étoile est un problème difficile [24]. Il est défini comme suit.
– I = {I1, ..., In} un ensemble d’index candidats (obtenus à partir des prédicats de sélection des
requêtes).
– Q = {Q1, ..., Qk} un ensemble de requêtes.
– S la taille de l’espace de stockage allouée pour les index.
L’objectif du problème de sélection des index de jointure binaire est de trouver une configuration d’index
réduisant le coût d’exécution des requêtes et satisfaisant la contrainte de stockage 33
.
D’après cette formalisation, nous constatons la présence des requêtes et avec la présence des besoins,
nous proposons une autre formalisation dirigée par les besoins :
33. Le stockage de l’ensemble des index ne doit pas dépasser la contrainte S
1104. Persistance des besoins
– I = {I1, ..., In} un ensemble d’index candidats (obtenus à partir des besoins).
– B = {B1, ..., Bm} un ensemble de besoins.
– S la taille de l’espace de stockage allouée pour les index.
Cette formalisation a le même objectif que la précédente.
3.2 La fragmentation horizontale
La fragmentation horizontale (F H) est une technique d’optimisation considérant comme l’une des
structures d’optimisation dans le cadre des entrepôts de données relationnels. Elle permet de décomposer
une table en plusieurs sous ensembles disjoints appelés fragments horizontaux, chacun contient
un sous ensemble de tuples. On distingue deux types de F H : (1) F H primaire définie sur une table
de dimension en fonction de ses propres attributs, et (2) F H dérivée définie sur la table des faits en
fonction des dimensions fragmentées. La fragmentation dérivée est adaptée au contexte des entrepôts
de données relationnels. Le problème de sélection d’un schéma de F H est un problème difficile [16].
Traditionnellement, il est formalisé de la manière suivante.
Étant donnés :
– un schéma d’un entrepôt de données composé d’un ensemble de tables de dimensions D = {D1, D2, ..Dd}
et une table de faits F ;
– un ensemble de requêtes Q = {Q1, ..., Qk} ;
– un seuil maximal de fragments finaux W de la table des faits. Ce seuil est fixé par l’administrateur.
Le problème de la F H consiste alors à sélectionner un schéma de fragmentation optimisant le coût
d’exécution des requêtes et satisfaisant le seuil W. D’une manière similaire à ce que nous avons proposé
pour les index, une autre formalisation dirigée par les besoins peut être élaborée.
Le passage d’une formalisation dirigée par des requêtes à une formalisation dirigée par des besoins
nécessite une analyse approfondie des besoins pour extraire les requêtes. Pour ce faire, nous proposons
d’abord de persister les besoins dans une base de données pour pouvoir ensuite les exploiter afin d’identifier
les requêtes.
4 Persistance des besoins
Rappelons que les besoins représente le coeur de toute conception. Pour cela, il est important de les
stocker au sein de la base de données de manière à ce que les concepteurs puissent les trouver facilement
via des procédures d’intégration. Il est à noter aussi que dans n’importe quel projet lié aux bases/entrepôts
de données, aucune trace du modèle des besoins n’est sauvegardée. Etant donné que nos besoins sont
sémantiques (liés à une ontologie), nous proposons une solution de stockage au sein d’une base de
données à base ontologique conçue au laboratoire LIAS, appelée OntoDB [45] qui est implantée sur le
SGBD (Système de Gestion de Base de Données) PostgreSQL 34. Comme illustré dans la Figure 6.3,
l’architecture d’OntoDB se compose des parties suivantes :
– Partie méta-base : souvent appelée system catalog, elle représente la partie traditionnelle des bases
de données classiques qui contient les tables décrivant les tables (méta-base). Dans OntoDB, elle
34. http://www.postgresqlfr.org/
111Chapitre 6. Exploitation des besoins pour la conception physique
contient la description des structures définies dans les trois autres parties ;
– Partie données : contient les instances des classes de l’ontologie, et les propriétés associées à ces
dernières. Elle est stockée sous forme horizontale (Une table pour chaque classe);
– Partie Ontologie : elle contient les concepts (classes, propriétés et relations) de l’ontologie, formalisés
conformément au modèle d’ontologie PLIB;
– Partie Méta-schéma : elle décrit le modèle d’ontologie utilisé, et donc le méta-schéma des instances
ontologiques.
Figure 6.3 – Architecture d’OntoDB.
L’architecture d’OntoDB permet le support des évolutions du modèle d’ontologies PLIB et l’extension
de ce modèle lorsque le besoin se présente. L’interrogation des données au niveau ontologique est
assurée par le langage de requête OntoQL [70].
4.1 Le langage d’exploitation OntoQL
OntoDB est dotée du langage de requêtes OntoQL [70] qui permet d’interroger les données ainsi que
l’ontologie et son modèle persisté sur OntoDB. Il étend le langage SQL pour pouvoir exploiter la partie
ontologique. Il est basé sur un noyau commun aux différents modèles d’ontologie et du fait qu’il n’est pas
statique, il peut être donc facilement étendu par des instructions dédiées. Ainsi, OntoQL est indépendant
de la représentation de l’ontologie (formalisme) et de la représentation des données (logique).
4.2 Persistance des besoins
Nous avons implémenté notre mécanisme de persistance des besoins dans la base de données à base
ontologique OntoDB possédant une architecture de type III (figure 6.4). La structure d’OntoDB offre une
1124. Persistance des besoins
ED sémantique
Méta-modèle ontologie +
méta-modèles de besoins Catalogue système
Instanciation Instanciation
Ontologie de besoins
Traduction
Modèle logique (MLD)
Modèle de besoins
ED sémantique
Méta-modèle ontologie +
méta-modèles de besoins Catalogue système
Instanciation Instanciation
Ontologie de besoins
Traduction
Modèle logique (MLD)
Modèle de besoins
Figure 6.4 – BDBO de type III étendu par les besoins des utilisateurs.
grande flexibilité et permet son extension par le méta-modèle des besoins. Cette extension se fait selon
un schéma horizontal où chaque classe du méta-modèle des besoins est représentée par une table Entity
dans le métaschéma d’OntoDB. Cette extension se fait en utilisant le langage ontologique OntoQL, plus
précisément via le Langage de Définition des Ontologies (LDO) [69] à travers la syntaxe suivante :
CREATE E n t i t y # [ nom de l ’ e n t i t é ] ( [ nom d ’ a t t r i b u t , Type d ’ a t t r i b u t ( P r o p e r t y ) ] )
Le script suivant contient les requêtes OntoQL permettant la création du méta-modèle des besoins
dans le méta-schéma :
CREATE E n t i t y # Ge ne ricMet am o d el ( # Domain S t r i n g ,
#Name S t r i n g , # Date Date , # c o l l e c t s REF( # R e q ui r em e nt s ) )
CREATE E n t i t y # R e s u l t ( # i t s _ p r o p e r t i e s REF ( # P r o p e r t y ) A r r a y )
CREATE E n t i t y # A cti o n ( # i t s _ p r o p e r t i e s REF ( # P r o p e r t y ) A r r a y )
CREATE E n t i t y # C r i t e r i o n ( # i t s _ p r o p e r t i e s REF ( # P r o p e r t y ) A r r a y )
CREATE E n t i t y # R e q ui r em e nt ( # IdReq I nt , #NameReq S t r i n g ,
# D e s c r i p t i o n R e q S t r i n g , # C o nt e xtR e q S t r i n g , # P r i o r i t y R e q I nt ,
# d e f i n e d _ f o r REF( # R e s u l t ) , #ComposedOf REF( # A cti o n ) ,
#MesuredBy REF( # C r i t e r i o n ) , # I s R e s p o n s i b l e REF( # A ct o r ) )
CREATE E n t i t y # O p e r a t i o n UNDER # C r i t e r i o n
CREATE E n t i t y # F u n cti o n UNDER # C r i t e r i o n
CREATE E n t i t y # Goal UNDER # R e q ui r em e nt
CREATE E n t i t y # UseCase UNDER # R e q ui r em e nt
CREATE E n t i t y # T r e atm e nt UNDER # R e q ui r em e nt
CREATE E n t i t y # F u n c t i o n a l _ R e q u i r e m e n t UNDER # R e q ui r em e nt
CREATE E n t i t y # N o n F u n cti o n al _R e q ui r em e nt UNDER # R e q ui r em e nt
113Chapitre 6. Exploitation des besoins pour la conception physique
4.3 Génération des requêtes SQL
Notre proposition consiste à identifier une charge de requêtes en s’appuyant sur les besoins exprimés
avec notre modèle générique (voir section 2 du chapitre 5). Pour ce faire, nous devons parcourir les
besoins et les transformer en requêtes SQL. Après analyse, il s’avère qu’il existe deux types de besoins :
– Besoin « mesurable » (type requête) : C’est un besoin qui peut être mesurable, car il possède un
résultat (souvent quantifiable), et éventuellement un critère, par exemple, le besoin qui « mesure
le nombre des étudiants de sexe féminin », représente un besoin dont le résultat est le nombre des
étudiants et le critère est le sexe féminin. Il est souvent lié aux besoins fonctionnels.
– Besoin « non mesurable » (type programme) : C’est un besoin qui ne possède pas de résultat (pouvant
être exprimé en fonction des concepts ontologiques) tel que nous l’avons défini dans notre
modèle, Par exemple, le besoin qui s’inscrit dans la maintenance web du domaine universitaire
«l’enseignant a besoin d’une interface contenant tel ou tel champs pour évaluer l’étudiant », ne
possède pas de résultat, il décrit plutôt un programme informatique.
Au niveau d’instances physiques, les besoins mesurables sont ceux qui possèdent une liaison avec la
classe «Result » et éventuellement avec la classe «Criterion », contrairement aux besoins non mesurables
qui se contentent d’avoir une description.
En effet, seuls les besoins type requêtes peuvent être transformés en requêtes (d’où leurs noms
d’ailleurs), en opérant une transformation de type Model To Text définie dans l’ingénierie dirigée par
les modèles (IDM). Cette étape est réalisée à l’aide du langage de transformation Acceleo 35 disponible
sous l’environnement Eclipse, pour la définition des règles de transformation appliquées sur chaque besoin
ontologique comme décrit ci-après :
SELECT [ R e s u l t . Measu re ] ( P r o p e r t y ) [ R e s u l t . De fi ne dB y ]
FROM ( C l a s s ) [ R e s u l t . De fi ne dB y ]
WHERE C r i t e r i o n . De fi ne dB y C r i t e r i o n . Opr C r i t e r i o n . L i t e r a l
Prenons l’exemple du besoin suivant extrait des besoins décisionnels de la spécification de SSB :
Ce besoin mesure l’augmentation des revenus des commandes engendrée par l’éliminiation de certaines
réductions de commandes selon des quantités données dans une année donnée. Sachant que l’augmentation
des revenus est égale au produit [Prix-étendu*remise 36].
Tout d’abord, ce besoin est modélisé suivant notre modèle générique des besoins comme suit : (figure
6.5)
Notons qu’ici le Result est défini non pas par un seul concept comme c’est le cas pour les quatre
critères, mais plutôt par une expression de concepts. Cette expression est composée de l’opérande gauche
qui est la propriété lo_extendedPrice, l’opérande droit lo_discount et l’opérateur arithmétique *.
Une fois ce besoin est persisté, nous pourrions le transformer en requêtes (si besoin est), en appliquant
la règle de transformation d’Acceleo comme suit :
– Action définit le type de la requête, si sa valeur est égale à Display, il s’agit d’une requête SELECT,
sinon (Delete, Modify, Create) la clause SELECT est remplacée par la clause appropriée
(DELETE, UPDATE, CREATE) avec les modifications nécessaires.
35. http://www.acceleo.org/pages/accueil/fr
36. Le prix étendu est représenté ontologiquement par la propriété lo_extendedPrice de la commande, représentée à son tour
par la classe Lineorder. Quant à la remise, elle est représentée par la propriété lo_discount de Lineorder
1144. Persistance des besoins
#Result
Measure = Sum
#Criterion 1
Opr : =
Literal : 1993
#Criterion 2
Opr : <
Literal : 3
#Criterion 3
Opr : <
Literal : 1
#Criterion 4
Opr : <
Literal : 25
#Expression
Op : *
LOp
ROp
DefinedBy
#d-year
DefinedBy
DefinedBy
DefinedBy
DefinedBy
#lo-discount
#lo-quantity
#lo-discount
#Requirement 0001
#lo-discount
#lo-extenderprice
IdReq = 0001
DescriptionReq = ce besoins mesure l’…
Context = Business context
Priority = Mandatory
TypeReq = Fuctional requirements …
#Action
Description :
Display
#Result
Measure = Sum
#Criterion 1
Opr : =
Literal : 1993
#Criterion 2
Opr : <
Literal : 3
#Criterion 3
Opr : <
Literal : 1
#Criterion 4
Opr : <
Literal : 25
#Expression
Op : *
LOp
ROp
DefinedBy
#d-year
DefinedBy
DefinedBy
DefinedBy
DefinedBy
#lo-discount
#lo-quantity
#lo-discount
#Requirement 0001
#lo-discount
#lo-extenderprice
IdReq = 0001
DescriptionReq = ce besoins mesure l’…
Context = Business context
Priority = Mandatory
TypeReq = Fuctional requirements …
#Action
Description :
Display
Figure 6.5 – Un besoin SSB modélisé suivant notre modèle générique des besoins.
– La clause SELECT de la requête porte sur la valeur de l’attribut « measure » (SUM, AVG, etc. s’il
existe) de la classe «Result », et les propriétés constituant l’expression liée à cette dernière.
– La clause FROM, quant à elle, porte sur les classes constituant l’expression liée à la classe
«Result ».
– Enfin, pour la clause WHERE, elle est définie par la classe «Criterion », qui se compose dans
l’ordre, d’une opérande gauche (Concept), d’un opérateur de comparaison, et d’une opérande
droite (Litérale).
Ainsi, notre besoin est transformé en la requête suivante :
SELECT {somme ( l o _ e x t e n d e d p r i c e *
l o _ d i s c o u n t ) }
FROM { l i n e o r d e r , d a t e }
WHERE { d _ y e a r = 1 9 9 3 , l o _ d i s c o u n t <3 , l o _ d i s c o u n t >1 , l o _ q u a n t i t y <25}
115Chapitre 6. Exploitation des besoins pour la conception physique
5 Expérimentation et évaluation de notre proposition
Afin d’illustrer notre démarche, nous présentons une étude de cas basée sur le domaine des transactions
commerciales.
5.1 Structures d’optimisation comme des services
Pour évaluer nos propositions concernant la conception physique, nous avons développé une approche
orientée service pour lier nos travaux à ceux des doctorants travaillant sur la conception physique
au laboratoire. Plus précisément nous avons demandé à Amira Kerkad et Rima Bouchakri qui s’inté-
ressent respectivement à la fragmentation horizontale et les index de jointure binaire de nous fournir un
service qui reçoit en paramètre les entrées de chaque problème : le schéma de l’entrepôt de données,
l’ensemble des besoins et les contraintes et qui retourne les résultats. Nous avons ensuite alimenté ce
service avec les requêtes identifiées à partir des besoins. Par cette démarche, notre but est d’évaluer si
l’approche de sélection des structures d’optimisation à partir des besoins permet d’obtenir des résultats
proches de ceux obtenus par l’approche basée sur les requêtes.
Pour le schéma nous avons utilisé les données du banc d’essai Star Schema Benchmark 37 (SSB), qui
est basé sur le schéma de données du benchmark TPC-H. La figure 6.6 présente une partie de l’ontologie
SSB sous la forme d’un diagramme de classes. Il comporte différentes classes relatives au domaine
des transactions commerciales. La classe centrale est : Order, liée aux classes Customer, Supplier, Partproduct
et Time. D’autres classes décrivent la localisation du client comme City, Nation et Region. Les
classes Category et Brand décrivent le type et la marque du produit. Dans ce chapitre, nous considé-
rons le schéma de données SSB comme l’ontologie globale couvrant la sémantique du domaine. Nous
considérons également les besoins décisionnels (business questions) définis au niveau de la spécification
du benchmark SSB comme les besoins exprimés par les concepteurs du système. Dans les sections suivantes,
nous présentons les résultats des deux sélections dirigées par les besoins concernant les index de
jointure binaire et la fragmentation horizontale.
5.2 La sélection des index
Les expérimentations sont effectuées sur le schéma logique du benchmark SSB. L’ensemble des
besoins décisionnels (13 besoins) spécifiés dans la spécification du banc d’essai SSB sont exploités (voir
annexe 2.5). Les expérimentations ont donné les résultats résumés dans le tableau 6.1. Ce tableau présente
les index générés et le taux d’optimisation du coût d’exécution de chaque besoin. Ces résultats sont
confrontés aux index et aux coût d’optimisation obtenus à partir de la charge des requêtes finales (fournies
au niveau de la spécification du banc d’essai SSB). Ces résultats confirment que les index proposés par
les besoins couvrent les index proposés par les requêtes du banc d’essai. Les coûts d’optimisation sont
également similaires. Ceci s’explique par le fait que les requêtes issues des besoins sont similaires aux
requêtes du banc d’essai (sans les clauses group by et order by que nous n’avons pas pu générer).
37. http://www.cs.umb.edu/ poneil/StarSchemaB.PDF
1165. Expérimentation et évaluation de notre proposition
Figure 6.6 – Ontologie du benschmark SSB.
5.3 La fragmentation horizontale
Le service de la fragmentation horizontale utilise l’algorithme basé sur un recuit simulé [15]. Nous
avons comparé les résultats de la fragmentation effectuée en utilisant 12 requêtes de la vraie charge de
requêtes du banc d’essai SSB et les requêtes que nous avons obtenues à partir des besoins. La figure 6.7
illustre les résultats des expérimentations effectuées. Nous remarquons que les besoins apportent un gain
en performance supérieur de 15% comparé aux requêtes. Cette amélioration s’explique par l’absence des
Group By. Ces résultats sont encourageants dans le sens où nous montrons que les besoins permettent
de fournir une optimisation par la F H pratiquement équivalente à une fragmentation effectuée lors de la
phase physique.
La tableau 6.2 illustre les gain en performance par requête.
Ces deux études ont montré la faisabilité de la sélection des structures d’optimisation en se basant
sur les besoins. Ce qui nous incite à penser un autre modèle économique de conception de bases de
données (figure 6.8). Certaines tâches que les concepteurs peuvent faire leur seront alors attribués ce
qui soulage le travail des administrateurs. Rappelons que plusieurs outils d’administration ont été proposés
par les éditeurs commerciaux comme : Oracle SQL Tuning Advisor [42], DB2 Design Advisor
[132] et Microsoft Database Tuning Advisor [9]. Par exemple Oracle SQL Tuning Advisor est un outil
117Chapitre 6. Exploitation des besoins pour la conception physique
Stockage (GO) Besoins Requêtes
Index Coût (%) Index Coût (%)
1 d_year 46.7 d_year 46.7
1.5 d_year, s_region 72.7 d_year, s_region 72.7
2 d_year, s_region, p_category 75.1 d_year, s_region, p_category 75.1
2.5 d_year, d_yearmonth,
s_region
87.9 d_year, d_yearmonth,
s_region
87.9
3 d_year, d_yearmonth,
s_région
87.9 d_year, d_yearmonth,
s_région
87.9
3.5 d_year, d_yearmonth,
s_region, p_category
90.2 d_year, d_yearmonth,
s_region, p_category
90.2
4 d_year, d_yearmonth,
c_region, s_region,
p_category
91.7 d_year, d_yearmonth,
c_region, s_region,
p_category
91.7
4.5 d_year, d_yearmonth,
c_region, s_region, p_mfgr,
p_category
92 d_year, d_yearmonth,
c_region, s_region, p_mfgr,
p_category
91.9
5 d_year, d_yearmonth,
c_region, s_region, s_nation,
p_category
92.7 d_year, d_yearmonth,
c_region, s_region, s_nation,
p_category
92.6
Table 6.1 – Index générés et taux d’optimisation du coût d’exécution des besoins par rapport aux requêtes
Besoins Requêtes
N° Gain (%) N° Gain (%)
Q1 75 Q1 75
Q2 50 Q2 87,5
Q3 87,5 Q3 75
Q4 88 Q4 50
Q5 66 Q5 50
Q6 66 Q6 50
Q7 66 Q7 75
Q8 0 Q8 50
Q9 50 Q9 50
Q10 50 Q10 50
Q11 68 Q11 75
Q12 50 Q12 50
Table 6.2 – Index générés et taux d’optimisation du coût d’exécution des besoins par rapport aux requêtes
1186. Conclusion
28,458
10,620375
24,489
9,855401
0
5
10
15
20
25
30
Schéma initial Fragmentation horizontale
Millions (I/O)
Requêtes Besoins
Figure 6.7 – Fragmentation horizontale à partir des besoins.
permettant de générer des conseils pour optimiser une charge de requêtes afin d’améliorer leurs performances.
Les conseils se présentent sous forme de recommandations, chacune avec le bénéfice qu’elle
apporte. L’administrateur a le choix soit d’accepter les conseils soit de les compléter. Les recommandations
concernent trois structures d’optimisation : les vues matérialisées, les index définis sur une seule
table et la fragmentation horizontale primaire. Ces recommandations sont établies en utilisant les modèles
de coût basés sur des statistiques sur la base de données. Cet outil utilise souvent une sélection
isolée. DB2 Design Advisor est une amélioration de l’outil DB2 Index Advisor tool défini initialement
pour automatiser la sélection des index. DB2 Design advisor permet de générer des recommandations sur
quatre structures d’optimisation : les vues matérialisées, les index, la fragmentation horizontale primaire
et le groupement. La fragmentation horizontale est limitée au mode de Hachage dans une architecture
parallèle où plusieurs processeurs sont interconnectés à travers un réseau. L’outil Microsoft Database
Tuning Advisor, par exemple fait partie intégrante de SQL Server 2005. Les recommandations géné-
rées par cet outil concernent quatre techniques d’optimisation : la fragmentation horizontale primaire, la
fragmentation verticale, les index et les vues matérialisées. Contrairement à l’outil d’Oracle, Database
Tuning Advisor utilise l’optimiseur de requêtes pour évaluer la qualité des techniques sélectionnées et
les différentes alternatives. Pour réduire le coût des appels à l’optimiseur, l’outil utilise des serveurs de
tests pour estimer la qualité des différentes structures. D’autres outils académiques ont été également
proposés, on peut citer l’exemple de l’outil PARINDA [89], développé à l’Ecole Polytechnique Fédérale
de Lausanne.
Pour conclure, notre travail soulève la question suivante : déléguer les tâches d’administration aux
concepteurs remplacera t-il les advisors?
6 Conclusion
Dans ce chapitre, nous avons montré la contribution de notre approche de gestion des besoins sur
la phase physique des bases de données volumineuses comme les entrepôts de données. Au lieu de sé-
lectionner les structures d’optimisation lors de la phase physique, nous avons proposé une méthodologie
permettant de les sélectionner lors de la conception de la base de données. Cette démarche pourrait ré-
119Chapitre 6. Exploitation des besoins pour la conception physique
Niveau ontologique
Outils
D’administration
Concepteurs
DBA
Requêtes, rapports, statistiques …
SELECT
FROM
WHERE
Niveau conceptuel
Requêtes utilisateurs
Besoins
Sources
Niveau logique
Niveau physique
Niveau ontologique
Outils
D’administration
Concepteurs
DBA
Requêtes, rapports, statistiques …
SELECT
FROM
WHERE
Niveau conceptuel
Requêtes utilisateurs
Besoins
Sources
Niveau logique
Niveau physique
Figure 6.8 – Nouvelle vision de conception des bases de données.
duire considérablement les tâches de l’administrateur. Nous avons montré l’intérêt de notre approche sur
deux structures d’optimisation, les index de jointure binaire et la fragmentation horizontale. Une validation
sur le système de gestion de bases de données ontologique OntoQL est proposée en utilisant les
données du banc d’essai SSB.
Dans le chapitre suivant, nous proposons un prototype d’outil implémentant nos contributions.
120Chapitre 7
Prototype de validation
Sommaire
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
1.1 Langages et outils utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . 123
2 Architecture fonctionnelle de OntoReqTool . . . . . . . . . . . . . . . . . . . 123
2.1 Les modules de la partie intégration . . . . . . . . . . . . . . . . . . . . 123
2.2 Les modules de la phase d’exploitation . . . . . . . . . . . . . . . . . . . 127
3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Résumé. Dans ce chapitre, nous présentons un outil, appelé OntoReqTool assistant les
concepteurs dans leur tâches d’intégration et d’exploitation des besoins. Il offre aux concepteurs
la possibilité de visualiser l’ontologie de domaine partagée, l’extraction de leurs ontologies
locales, l’expression des besoins selon leurs ontologies locales, la transformation de
chaque langage de besoins vers le modèle pivot, et le raisonnement. Pour la partie exploitation,
l’outil offre aux concepteurs la possibilité de persister les besoins et de les utiliser pour
la conception physique.
1211. Introduction
1 Introduction
Pour que les concepteurs d’une entreprise étendue s’approprient les concepts et les méthodes proposées,
le développement d’un outil est une tâche primordial. L’une des caractéristiques de cet outil est
sa simplicité. L’outil développé couvre les deux principales phases de nos contributions : l’intégration
des besoins hétérogènes et leur exploitation. Pour la première contribution, l’outil doit d’abord offrir aux
concepteurs la possibilité de charger une ontologie dans l’espace des ontologies et de la visualiser. L’af-
fichage doit être ergonomique offrant diverses fonctionnalités de navigation comme l’accès à n’importe
quelle hiérarchie de l’ontologie. Une fois chargée, un concepteur peut facilement identifier une partie
de l’ontologie qui correspond à sa tâche et qui représentera son ontologie locale. Ensuite, il exprime
ses besoins selon son langage favori. Une fois les besoins exprimés, l’ensemble des langages sont transformés
sur le modèle pivot. Toutes les transformations sont visibles aux concepteurs. Le processus de
raisonnement quant à lui, permet de montrer aux concepteurs l’ensemble des besoins conflictuels.
Pour la partie exploitation, l’outil offre aux concepteurs la possibilité de visualiser l’ensemble des
besoins valides, les persister, les transformer en requêtes et lancer le type d’optimisation (les index de
jointure binaire ou la fragmentation horizontale) qu’il souhaite considérer durant sa conception physique.
Dans les sections suivantes, nous commençons par détailler les langages et outils utilisés pour réaliser
notre outil, baptisé OntoReqTool. Nous décrivons ensuite son architecture fonctionnelle et l’ensemble de
ses modules et ses composants.
1.1 Langages et outils utilisés
Nous avons travaillé avec l’éditeur d’ontologie Protégé 3.4.4 38 pour gérer des ontologies, quant à
la partie raisonnement, nous avons utilisé le moteur JESS disponible sous l’éditeur d’ontologié Protégé.
Pour la partie transformation Model-to-Model, nous avons utilisé l’outil Ecore et ATL 39(ATLAS
Transformation Language) de l’environnement Eclipse. Eclipse est un environnement de développement
intégré qui permet d’incorporer des plugins pour utiliser les techniques d’IDM.
Pour persister les besoins, nous avons utilisé le système de gestion de bases de données OntoDB
comme nous l’avons déjà évoqué dans le chapitre précédent.
2 Architecture fonctionnelle de OntoReqTool
L’architecture générale de notre outil est composée de huit modules dont cinq concernant la partie
intégration et trois la partie exploitation (Figure 7.1).
2.1 Les modules de la partie intégration
les modules concernant la partie d’intégration des besoins se déclinent en cinq parties : (a) le chargement
et la visualisation de l’ontologie, (b) le couplage de l’ontologie globale aux besoins, (c) l’extraction
38. http://protege.stanford.edu/download/registered.html
39. http://www.eclipse.org/atl/
123Chapitre 7. Prototype de validation
Projection des
Besoins sur
l’OG
Module 2
Extraction des
OLs des besoins
Module 3
Transformation
des besoins en
modèle générique
Module 4
Raisonnement
sur les besoins
Module 5
Persistance des
besoins dans l’ED
Module 6
Génération des
requêtes SQL
Module 7
Optimisation de
l’ED
Module 8
Étape I : Intégration des besoins
Étape II : Exploitation des besoins
Chargement et
visualisation de
l’OG
Module 1
Fichier .owl
Protégé Protégé ProSé plugin Protégé ATL plugin Eclipse Jess plugin Protégé
OntoQL Acceleo plugin Eclipse OntoDB PostgreSQL
ED sémantique
Projection des
Besoins sur
l’OG
Module 2
Extraction des
OLs des besoins
Module 3
Transformation
des besoins en
modèle générique
Module 4
Raisonnement
sur les besoins
Module 5
Persistance des
besoins dans l’ED
Module 6
Génération des
requêtes SQL
Module 7
Optimisation de
l’ED
Module 8
Étape I : Intégration des besoins
Étape II : Exploitation des besoins
Chargement et
visualisation de
l’OG
Module 1
Fichier .owl
Protégé Protégé ProSé plugin Protégé ATL plugin Eclipse Jess plugin Protégé
OntoQL Acceleo plugin Eclipse OntoDB PostgreSQL
ED sémantique
Figure 7.1 – Architecture fonctionnelle de l’outil (OntoReqTool).
de l’ontologie locale, (d) la transformation des modèles de besoins vers le langage pivot, et (e) la partie
raisonnement.
1. Chargement et visualisation de l’OG : Ce module permet de charger et de visualiser l’ontologie
globale sous forme d’une arborescence. Grâce à l’utilisation de l’éditeur d’ontologie Protégé 3.4.4
qui possède une interface utilisateur graphique (GUI). Cette dernière permet de manipuler aisé-
ment tous les éléments de l’ontologie : classe, méta-classe, propriété, instance, etc. La figure 7.3
illustre un exemple d’affichage de l’ontologie globale LUBM[62] décrivant le domaine universitaire.
L’affichage de visualise les classes "Person", "Student", etc.), les propriétés ("name", "age",
etc.) et les instances ontologiques.
2. Projection des besoins sur l’ontologie globale : ce module consiste essentiellement à étendre l’ontologie
globale par des méta-classes constituant le méta-modèle générique des besoins. Le concepteur
peut alors définir ses besoins à partir de l’ensemble des concepts et propriétés de l’ontologie.
L’éditeur d’ontologies Protégé 3.4.4 permet de manipuler les méta-classes de l’ontologie locale
afin d’ajouter d’autres méta-classes. La figure 7.3 présente l’ontologie des besoins (OntoReq) qui
est définie par l’ajout des méta-classes constituant le méta-modèle générique. Pour chaque besoin,
le concepteur sélectionne les cordonnées d’un besoin (action, résultat et critère) en choisissant les
concepts et propriétés pertinents de l’ontologie globale.
1242. Architecture fonctionnelle de OntoReqTool
OntoReqTool
Figure 7.2 – Diagramme de cas d’utilisation de notre outil.
3. Extraction des ontologies locales (OL) : ce module consiste à extraire les ontologies locales à
partir de l’ontologie globale. Chaque ontologie locale peut être vu comme un fragment (partiel
ou total) de l’ontologie globale. Elle représente les concepts nécessaires utilisés pour spécifier les
besoins au niveau ontologique. Son extraction s’effectue en utilisant le plugin de modularité ProSé
disponible sous l’éditeur d’ontologies Protégé 3.4.4. Ce plugin permet aux concepteurs d’ajouter
ou de supprimer des classes et des propriétés au cas où les OL définies ne couvrent pas tous leurs
besoins, tout en assurant la cohérence et la complétude des ontologies définies. Dans notre étude
de cas, nous avons généré trois ontologies locales correspondant aux trois langages de besoins
utilisés (langage orienté buts, use case d’UML, et le modèle de traitements de Merise). La figure
7.4 présente un exemple d’une ontologie locale des buts (OntoGoal).
4. Transformation des besoins en modèle générique : l’objectif de ce module est d’assurer une transformation
des instances ontologiques qui sont définies localement dans les ontologies locales des
besoins (OntoGoal, OntoUcase et OntoMct) en un langage générique (Ontologie Pivot nommé
(OntoPivot)). Cette transformation est réalisée par des règles décrivant les correspondances entre
les entités des langages sources et celles de chaque langage cible. Plus concrètement, la transformation
se situe entre les méta-modèles sources "OntoGoal-Metamodel", "OntoUcase-Metamodel" et
"OntoMCT-Metamodel" et le méta-modèle cible "OntoReq-Metamodel" (Figure7.5). L’ensemble
de règles de transformation sont décrits dans l’annexe 2.5.
125Chapitre 7. Prototype de validation
(Besoins : Instances ontologique)
(Méta-classes : besoins)
(Classes du LUBM)
Figure 7.3 – Projection des besoins sur l’OG (OntoReq).
5. Le raisonnement sur les besoins : ce module consiste essentiellement à raisonner sur l’ontologie de
besoins afin d’identifier ceux qui sont contradictoires et ambigüs. Le mécanisme de raisonnement
utilisé par notre méthode est implémenté en exploitant les règles de raisonnement décrivant les
relations sémantiques entre les besoins. Ces règles sont définies en utilisant le langage SWRL 40
combinées au moteur d’inférence JESS comme illustré dans la figure 7.6.
40. http://flashinformatique.epfl.ch/spip.php?article1212
1262. Architecture fonctionnelle de OntoReqTool
OntoMCT
OntoUcase
OntoGoal
Ontologie de besoins (OntoReq)
Figure 7.4 – Ontologie locale des buts (OntoGoal).
2.2 Les modules de la phase d’exploitation
Deux modules caractérisent la phase d’exploitation : la persistance des besoins et la sélection des
structures d’optimisation.
1. Persistance des besoins dans un entrepôt de données sémantique : dans ce module l’ensemble des
besoins sont stockés dans une base de données sémantique développée au laboratoire. Cette base
est dotée d’un langage de requêtes sémantique OntoQl [69].
Afin de permettre au concepteur de persister ses besoins, nous lui offrons une interface graphique
(pour l’instanciation du méta-modèle en fonction des concepts ontologiques) (figure 7.8).
Prenons un besoin simple afin de montrer la manipulation des besoins via notre prototype qui
utilise OntoQL comme langage de requêtes. Cette manipulation doit assurer la création, la modifi-
127Chapitre 7. Prototype de validation
Figure 7.5 – Transformation des besoins en modèle générique.
cation, l’interrogation et la transformation en requête des besoins.
Besoin : Le système doit permettre à l’administration de supprimer les étudiants du département
"médecine" ayant une moyenne inférieure à 10.
– Modélisation (instanciation) du besoin via l’interface du prototype : suivant la description du
modèle des besoins détaillée dans le chapitre 5, notre besoin sera modélisé comme suit.
– Result : suppression des étudiants.
– Action : le résultat peut souvent être raffiné en plusieurs actions. Dans notre exemple, Il
pourrait s’agir tout d’abord d’une suppression de ces entités étudiant, puis d’une suppression
des entités ayant une relation avec ces dernières. OntoQL réalise ce processus implicitement
via une seule requête (action).
– Criterion : Le résultat peut également être contrôlé par une ou plusieurs métriques. Ici, deux
critères sont mises en évidence :
– Criterion 1 : les étudiants doivent appartenir au département de Médecine.
– Criterion 2 : les étudiants doivent avoir une moyenne inférieure à 10.
Autrement dit, on ne peut exécuter les actions (suppression) sur les entités étudiants, que s’ils
remplissent ces deux critères.
– Création des besoins : une fois les champs correspondants sont bien remplis, des requêtes OntoQL
sont générées automatiquement afin de persister (créer) les besoins introduits par l’utilisateur
dans la base de données (figure7.8). Pour cet exemple, les requêtes générées sont :
1282. Architecture fonctionnelle de OntoReqTool
Besoins (Instance) Besoins conflictuels Règles de raisonnement
Editeur des règles de
raisonnement
Jess
Besoins (Instance) Besoins conflictuels Règles de raisonnement
Editeur des règles de
raisonnement
Jess
Figure 7.6 – Raisonnement sur les besoins.
INSERT i n t o # R e s u l t ( # name , #On , # D e s c r i p t i o n ) VALUES ( ’ D el et e ’ , ( SELECT p . # oi d )
FROM # C l a s s p WHERE p . # name = ’ St u d e nt ’ ) , DELETE t h e s t u d e n t s o f m e di c al d e p a rt em e nt ,
owning an a v e r a g e l e s s e r t h a n 1 0 ’ )
INSERT i n t o # C r i t e r i o n ( # name , # r e l a t i o n , # s o u r c e , # t a r g e t ) VALUES ( ’ C r i t e r i o n 1 ’ , ’ e q u a l t o ’ ,
( SELECT p . # oi d FROM # P r o p e r t y p WHERE p . # name = ’ name ’
AND p . # s c o p e . # name = ’ D e p a rt em e nt ’ ) , ’ Medecine ’ )
INSERT i n t o # C r i t e r i o n ( # name , # r e l a t i o n , # s o u r c e , # t a r g e t )
VALUES ( ’ C r i t e r i o n 2 ’ , ’ l e s s e r t h a n ’ ,
( SELECT p . # oi d FROM # P r o p e r t y p WHERE p . # name = ’ a v e r a g e ’
AND p . # s c o p e . # name = ’ St u d e nt ’ ) , ’ 1 0 ’ )
UPDATE # C r i t e r i o n SET #andC = ( SELECT max ( c . # oi d ) )
FROM # C r i t e r i o n c ) WHERE # oi d = ( SELECT max ( c r . # oi d )
FROM # C r i t e r i o n c r WHERE c r . # name = ’ C r i t e r i o n 1 ’ )
INSERT i n t o # Goal ( # name , # d e s c r i p t i o n , # h a s R e s ult , # h a s C r i t e r i o n )
VALUES ( ’ Goal_0001 ’ , e t c )
INSERT i n t o # R e q ui r em e nt ( # IdReq , #NameReq , # D e s c ri pti o nR e q , # C o nte xtRe q , # P r i o r i t y R e q ,
# De finedBy , # Ac hie ve s , #ComposeOf , #MesuredBy , # I s R e s p o n s i b l e )
VALUES ( ’ 0 0 1 ’ , ’ Req_00000001 ’ , ’ The s y st em s h a l l all o w t h e a d m i n i s t r a t i o n
t o d e l e t e t h e s t u d e n t s b e l o n g i n t o t h e m e di c al d e p a rt e m e nt and h a vi n g an
a v e r a g e l e s s e r t h a n 1 0 ’ , ’ S c o l a r i t y ’ , 1 , St u d e nt , ( SELECT max ( r . # oi d )
FROM # R e s i l t r WHERE r . # name = ’ R e s ult 1 ’ ) , n u l l , ( SELECT max ( c . # oi d FROM # C r i t e r i o n c
WHERE c . # name = ’ C r i t e r i o 1 ’ ) , Dean o f S t u d i e s )
Une fois les besoins persistés, nous avons la possibilité de les modifier, de les interroger ou de
129Chapitre 7. Prototype de validation
Figure 7.7 – Interface graphique de la phase d’exploitation de l’ED.
Figure 7.8 – Persistance des besoins dans l’ED.
1302. Architecture fonctionnelle de OntoReqTool
les transformer principalement en requêtes SQL.
– Modification des besoins : notre interface ne permet pas de modifier le besoin en tant que tel
vu les différents paramètres pouvant être modifiés. Cependant le besoin peut être supprimé et
réintroduit, ou modifié par la console via OntoQL. A ce propos, les requêtes suivantes montrent
une modification du besoin initial, qui consiste à lui ajouter un critère (L’âge des étudiants
concernés doit être supérieur à 40 ans) :
INSERT i n t o # C r i t e r i o n ( # name , # r e l a t i o n , # s o u r c e , # t a r g e t )
VALUES ( ’ C r i t e r i o n 3 ’ , ’ g r e a t e r t h a n ’ ,
( SELECT p . # oi d FROM # P r o p e r t y p WHERE p . # name = ’ age ’ AND p . # s c o p e . # name = ’ St u d e nt ’ ) ,
’ 4 0 ’ )
UPDATE # C r i t e r i o n SET #andC = ( SELECT max ( c . # oi d ) ) FROM # C r i t e r i o n c )
WHERE # oi d = ( SELECT max ( c r . # oi d ) FROM # C r i t e r i o n c r WHERE c r . # name = ’ C r i t e r i o n 2 ’ )
– Interrogation des besoins : si l’utilisateur de notre prototype désire afficher les besoins persistés
jusque là, soit par curiosité ou dans le but d’en modifier/supprimer certains. Les requêtes
générées suivent le processus suivant :
(a) Nous parcourons d’abord les besoins, via la requête OntoQL
SELECT # oi d , #name FROM # R e q ui r em e nt
(b) Pour chaque besoin (résultat retourné par la requête précédente), nous extrayons ses résultats
comme suit :
SELECT r . # A c hi e v e s FROM # R e q ui r em e nt WHERE r . # oi d = + r s u l t S e t . g e t I n t ( 1 ) ) ;
(c) Pour chaque Result (résultat retourné par la requête précédente), nous extrayons les propriétés/concepts
ontologiques sur lesquels il porte :
SELECT r . # On FROM # R e s u l t r WHERE r . # oi d = "+ r s u l t S e t 2 . g e t I n t ( 1 ) ) ;
De la même manière, nous traitons les critères (respectivement les actions) s’il en existe, sauf
que nous prenons le chemin de Criteria (respectivement de Action et cela autant de fois qu’il y
a de critères (respectivement d’actions composant le résultat).
2. Génération des requêtes SQL : les besoins des utilisateurs, seront traduits en requêtes ontologiques,
i.e. manipulant des classes d’ontologie. Cette transformation est déjà détaillée dans la section du
chapitre 6. Pour cet exemple, la transformation aboutit à la requête suivante : (figure7.9).
DELETE{} FROM {STUDENT}
WHERE { a v e r a g e < 10 AND nameDep = ’ Medecine ’ }
3. La sélection des structures d’optimisation : dans ce module, l’ensemble des requêtes générées sont
prises en compte par les algorithmes de sélection des structures d’optimisation. Dans cette étude,
nous avons considéré le problème de la sélection des index de jointure binaire et la fragmentation
horizontale (figure 7.8). Ce module peut exécuter tout type de services permettant la sélection des
structures d’optimisation.
131Chapitre 7. Prototype de validation
Figure 7.9 – Requêtes SQL générées.
3 Conclusion
Dans ce chapitre, nous avons présenté un outil, appelé, OntoReqTool, permettant d’assister les concepteurs
dans leur tâche d’intégration et d’exploitation des besoins. Il offre des interfaces conviviales et
simples pour permettre aux concepteurs de naviguer et de visualiser l’ensemble des tâches effectuées.
Une autre caractéristique de l’outil est sa capacité à se connecter aux services de conception physique
dans le but de sélectionner des structures d’optimisation à partir des besoins.
Dans le chapitre suivant, nous établissons un bilan des contributions apportées et nous traçons diffé-
rentes perspectives de recherche qui pourraient être menées ultérieurement, tant du point de vue théorique
que pratique.
132Chapitre 8
Conclusion générale
Sommaire
1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
1331. Conclusion
1 Conclusion
Dans cette thèse, nous avons étudié le problème de l’intégration et de l’exploitation des besoins
dans le cadre des entreprises étendues. Dans cette section nous résumons les principaux apports de nos
travaux.
Nous avons d’abord positionné le rôle des besoins et leurs intérêts dans la conception d’applications
avancées. Les besoins se trouvent au cœur des systèmes d’intégration, qui regroupaient initialement les
données, les applications et les plateformes. Nous avons également identifié l’importance de les intégrer
dans le cadre d’une entreprise étendue qui peut regrouper un grand nombre de participants pour élaborer
un projet donné. Cette intégration pose énormément de problèmes d’hétérogénéité : hétérogénéité
sémantique et syntaxique, diversité des langages de modélisation des besoins, identification des besoins
conflictuels, etc. Après avoir fait le parallèle et surtout exploité les travaux d’intégration de sources de
données, nous avons proposé une démarche d’intégration des besoins dirigée par des ontologies conceptuelles
qui offrent un vocabulaire unifié à l’ensemble des concepteurs. Pour répondre au problème d’hé-
térogénéité des langages de modélisation des besoins, une solution d’intégration basée sur un modèle
pivot est proposée. Nous avons également montré l’intérêt des besoins pour le cycle de vie de conception
des bases et des entrepôts de données, plus particulièrement lors de la phase physique. Ces contributions
ont été motivées et expérimentées par l’utilisation des données issues de bancs d’essai utilisées par la
communauté d’entreposage de données.
1.1 Bilan des contributions
Vu la dimension multidisciplinaire de notre problème, nous avons été amené à faire deux états de l’art
conséquents, le premier sur l’ingénierie des besoins et l’ingénierie dirigée par des modèles, le second sur
les ontologies et leurs rôles dans la résolution des problèmes d’intégration des données et des besoins.
Notre première contribution est la proposition d’une solution d’intégration des besoins hétérogènes
unifiant les vocabulaires et les langages de modélisation des besoins utilisés. Pour unifier les vocabulaires,
nous avons travaillé sous l’hypothèse de l’existence d’une ontologie de domaine. Cette hypothèse
est tout à fait acceptable vu l’émergence des ontologies de domaine dans des univers aussi divers que
l’ingénierie, la médecine, l’environnement, etc. Chaque concepteur référence cette ontologie pour exprimer
ses besoins. Pour unifier les langages de modélisation des besoins et vu leur diversité, nous avons
étudié trois langages, précisément: Use case d’UML, le langage orienté buts, et le modèle de traitement
de la méthode Merise. Ce choix est motivé par leur popularité et leur utilisation intensive dans les projets
industriels et académiques. Cette étude nous a permis de définir un langage pivot factorisant l’ensemble
des langages étudiés. Un couplage entre l’ensemble des méta modèles utilisés et l’ontologie est établi.
Un scénario d’intégration des besoins est alors défini selon ce langage pivot. Chaque concepteur extrait
d’abord une ontologie locale qui référence l’ontologie globale satisfaisant ses exigences. Une fois extraite,
il décrit ses besoins en fonction de son ontologie locale. Ensuite, ses besoins sont transformés à
l’aide des règles sur le modèle pivot. Dans ce scénario, nous avons utilisé des transformations de type
Model-to-Model.
La deuxième contribution consiste à exploiter la puissance de l’ingénierie dirigée par les modèles
pour offrir un autre scénario d’intégration. Au lieu d’utiliser des transformations Model-to-Model, nous
135Chapitre 8. Conclusion générale
avons défini un méta-modèle représentant les besoins. Les trois modèles utilisés deviennent alors des
instances de ce méta-modèle. Dans ce cas, chaque concepteur donne seulement son langage préféré pour
concevoir une application, à la suite de quoi il extrait son langage des besoins couplé à son ontologie. La
présence de l’ontologie permet également de raisonner sur l’ensemble des besoins émis par les concepteurs.
Deux architectures d’implémentation de raisonnement sont considérées (i) ship whole et (ii) reason
as needed. Dans le premier scénario chaque concepteur envoie ses besoins sans aucun traitement local
au modèle générique qui effectue le raisonnement pour identifier les besoins conflictuels. Cette solution
peut être coûteuse si le nombre de besoins est important. Pour pallier ce problème, nous avons proposé
l’architecture reason as needed qui permet à chaque concepteur de raisonner localement autant qu’il le
peut, puis d’envoyer ensuite des besoins valides au modèle générique, qui à son tour effectue d’autres raisonnements.
L’évaluation des deux solutions a montré l’intérêt du raisonnement, ainsi que la supériorité
de la solution reason as needed sur la solution ship whole en termes de temps de traitement.
Notre troisième contribution a montré l’intérêt de l’utilisation des besoins dans la phase physique.
Rappelons que cette dernière représente une tâche coûteuse auprès des administrateurs. Pour alléger
cette tâche, ces derniers utilisent des advisors commerciaux. Notre vision est complètement différente,
et consiste à déléguer certaines tâches de la conception physique aux concepteurs. Nous avons montré
que le processus de sélection des structures d’optimisation se fait à l’aide d’un ensemble de requêtes
extraites à partir des logs. Si nous analysons les besoins, nous pouvons facilement extraire ces requêtes.
En conséquence, le processus de sélection peut se faire à l’aide des besoins. Nous avons montré l’intérêt
et la faisabilité de notre approche sur la sélection de deux structures d’optimisation, une redondante qui
représente les index de jointure binaire et l’autre non redondante représentant la fragmentation horizontale.
Nous avons implémenté notre démarche sur le système de gestion de bases de données OntoDB
développé au sein de notre laboratoire. Les besoins sont stockés au sein de cette base de données et des
programmes de génération de requêtes à partir de ces besoins sont développés. Nous avons comparé nos
algorithmes de sélection dirigés par les besoins sur les données du banc d’essai SSB avec ceux utilisés
par les requêtes. Rappelons que le banc d’essai SSB offre des requêtes sous forme de besoins et SQL.
Les résultats sont pratiquement similaires, ce qui montre que certaines tâches de conception physique
peuvent être déléguées aux concepteurs.
L’ensemble de nos contributions est prototypé afin d’assister les concepteurs dans leurs tâches d’expression,
d’intégration et d’exploitation des besoins.
2 Perspectives
De nombreuses perspectives tant à caractère théorique que pratique peuvent être envisagées. Dans
cette section nous présentons succinctement celles qui nous paraissent être les plus intéressantes.
2.1 Autres langages de modélisation des besoins
Nos propositions sont dirigées par trois langages de modélisation des besoins appartenant à la catégorie
semi-formelle. Il serait intéressant de considérer d’autres types de langages appartenant à la catégorie
formelle, telle que la méthode B, et d’évaluer leur impact sur la conception physique.
1362. Perspectives
2.2 Etude du passage à l’échelle de nos propositions
Pour évaluer la robustesse de nos propositions concernant l’intégration de besoins, notamment la
partie raisonnement, il est nécessaire de considérer un grand nombre de langage des besoins. Cette évaluation
doit se faire en développant des modèles de coût impliquant les aspects économiques, le temps
de calcul et le temps de transfert. Ces modèles de coût peuvent être utilisés pour développer d’autres
stratégies de raisonnement.
2.3 Définition des architectures d’intégration
Dans cette thèse nous n’avons pas pris en compte l’architecture de l’intégration des besoins. Rappelons
qu’il existe deux principales architectures pour supporter un système d’intégration : la solution
médiateur et la solution matérialisée. Dans l’architecture de type médiateur, l’intégration s’effectue en
deux étapes : (i) le système d’intégration génère, à partir d’une requête utilisateur, autant de sous requêtes
qu’il y a de partenaires à interroger, (ii) il construit alors la réponse finale à partir des résultats de sous
requêtes et la présente à l’utilisateur. Cette architecture repose sur deux composants essentiels : le médiateur
et l’adaptateur. Dans l’architecture matérialisée, l’intégration des données s’effectue également en
deux étapes : (i) les besoins issus des différentes sources sont dupliqués dans un entrepôt de données, (ii)
les requêtes des utilisateurs sont posées directement sur ce dernier. Dans les deux scénarii d’architecture,
il serait intéressant d’étudier à quel niveau effectuer la partie raisonnement parmi les choix suivants: au
niveau source, au niveau ETL (Extraction, Transformation, Loading) ou au niveau du schéma global.
2.4 Prise en compte de l’évolution
Dans une entreprise étendue, l’évolution est le maître mot. Elle peut concerner l’ontologie et les
besoins. L’étude de l’évolution des besoins des utilisateurs est un aspect important pour assurer la faisabilité
de l’approche dans une vraie entreprise étendue. L’évolution des besoins ne peut pas être traitée
sans prendre en compte l’architecture supportant le système d’intégration des besoins. Si l’architecture
matérialisée est adoptée, l’évolution des besoins peut être traitée au niveau ETL. Cette évolution impactera
directement la conception physique, et cet impact se ressentira immédiatement contrairement à
l’approche classique, où l’administrateur attend que les fichiers logs de requêtes soient établis. L’étude de
l’évolution des ontologies manipulées est un enjeu important qui doit être exploré. Cette évolution peut
concerner différents aspects, comme l’évolution du schéma de l’ontologie ou l’évolution des instances
ontologiques.
2.5 Elaboration d’un cycle de vie de conception d’applications avancées
L’équipe ingénierie des données et des modèles réalise depuis quelques années des travaux sur le
cycle de vie de conception d’application avancées, qui regroupent les bases de données, les entrepôts
de données, et les bases de données sémantiques. Ces travaux couvraient la modélisation conceptuelle,
la phase ETL, la modélisation logique, la modélisation physique, la personnalisation et la recommandation
des requêtes. Le travail de cette thèse est fondamentale pour l’élaboration de ce cycle. La prise
137Chapitre 8. Conclusion générale
en compte des besoins et des acteurs pourrait permettre de proposer facilement des solutions personnalisées
aux utilisateurs. Un autre intérêt est lié au fait que les besoins sont stockés dans la base de
données, nous pouvons donc facilement annoter les résultats d’exploitation qui pourraient être fournis
par des algorithmes de fouille de données exécutés sur la base de données. En conséquence, nous pourrions
associer à chaque connaissance trouvée la ou les personnes potentiellement intéressées. Un autre
élément qui pourrait être étudier est le crowdsourcing, où l’ensemble des concepteurs peuvent contribuer
à l’amélioration du produit final en interagissant sur toute la chaîne.
138Bibliographie
[1] The standish group, chaos. http://www.
standishgroup.com/chaos.html, 1995.
[2] Industrial automation systems and integration
- parts library - part 42: Description
methodology: Methodology for structuring
parts families. Technical report, 1998.
[3] Industrial automation systems and integration
- parts library - part 25: Logical resource:
Logical model of supplier library
with aggregate values and explicit content.
Technical report, 2004.
[4] The standish group, chaos summary
for 2010. http://insyght.com.au/
special/2010CHAOSSummary.pdf, 2010.
[5] User requirements notation (urn) - language
definition. Technical report, 2012.
[6] A. Abran, J.W. Moore, P. Bourque,
and R.E. Dupuis. Guide to the Software
Engineering Body of Knowledge.
http://www.swebok.org/.IEEE Computer
Society, 2004.
[7] J.R. Abrial. The B-book: assigning programs
to meanings. Cambridge University
Press, New York, USA, 1996.
[8] D. Agrawal, S. Das, and A. El Abbadi. Data
Management in the Cloud: Challenges and
Opportunities. Synthesis Lectures on Data
Management. Morgan & Claypool Publishers,
2012.
[9] S. Agrawal, S. Chaudhuri, L. Kollar, A. Marathe,
V. Narasayya, and M. Syamala. Database
tuning advisor for microsoft sql server
2005. In In Proceedings of the International
Conference on Very Large Databases,
(VLDB’04), pages 1110–1121, 2004.
[10] Y. Aït Ameur, M. Baron, and P. Girard. Formal
validation of hci user tasks. In the International
Conference on Software Engineering
Research and Practice (SERP’03),
pages 732–738. CSREA Press, 2003.
[11] G. Dahlstedt Asa and A. Persson. Requirements
interdependencies - moulding the
state of research into a research agenda. In
Ninth International Workshop on Requirements
Engineering: Foundation for Software
Quality (REFSQ 2003), held in conjunction
with (CAiSE 2003), pages 71–80, 2003.
[12] F. Baader, D. Calvanese D. McGuinness,
D. Nardi, and P. Patel-Schneider. The description
logic handbook: theory, implementation,
and applications. Cambridge University
Press, New York, USA, 2003.
[13] V. M. Werneck Bejamim, A. O. de Padua
Antonio, and J. Cesar Sampaio
do Prado. Comparing gore frameworks: istar
and kaos. In Ibero-American Workshop
of Engineering of Requirements, (WER’09),
2009.
[14] L. Bellatreche. Contributions à la Conception
et l’Exploitation des Systèmes d’Inté-
gration de Données. PhD thesis, HDR, Habilitation
à diriger les recherches, ENSMA,
2009.
139Bibliographie
[15] L. Bellatreche. Optimization and tuning in
data warehouses. In Encyclopedia of Database
Systems, pages 1995–2003. 2009.
[16] L. Bellatreche, K. Boukhalfa, P. Richard,
and K.Y. Woameno. Referential horizontal
partitioning selection problem in data warehouses:
Hardness study and selection algorithms.
International Journal of Data Warehousing
and Mining (IJDWM), 5(4):1–23,
2009.
[17] L. Bellatreche, A. Giacometti, P. Marcel,
H. Mouloudi, and D. Laurent. A personalization
framework for olap queries. In ACM
Eighth International Workshop on Data Warehousing
and OLAP (DOLAP’05), pages 9–
18, 2005.
[18] L. Bellatreche, S. Khouri, I. Boukhari, and
R. Bouchakri. Using ontologies and requirements
for constructing and optimizing data
warehouses. In Proceedings of the 35th
International Convention (MIPRO), pages
1568–1573, 2012.
[19] L. Bellatreche, G. Pierra, D. Nguyen Xuan,
H. Dehainsala, and Y. Aït Ameur. An
a priori approach for automatic integration
of heterogeneous and autonomous databases.
In 15th International Conference on
Database and Expert Systems Applications
(DEXA’04), pages 475–485, 2004.
[20] L. Bellatreche, D. Nguyen Xuan, H.,
G. Pierra, and H. Dehainsala. Contribution
of ontology-based data modeling to automatic
integration of electronic catalogues
within engineering databases. Computers
in Industry Journal, Elsevier, 57(8-9):711–
724, 2006.
[21] D. Beneventano, S. Bergamaschi, S. Castano,
G.Malvezzi A. Corni, R. Guidetti,
M. Melchiori, and M. Vincini. Information
integration: The momis project demonstration.
In the VLDB journal, pages 611–614,
2000.
[22] N. Berkani, S. Khouri, and L. Bellatreche.
Generic methodology for semantic data warehouse
design: From schema definition to
etl. In Intelligent Networking and Collaborative
Systems (INCoS), pages 404–411,
2012.
[23] Grady Booch, James Rumbaugh, and Ivar
Jacobson. Unified Modeling Language User
Guide, The (2nd Edition) (Addison-Wesley
Object Technology Series). Addison-Wesley
Professional, 2005.
[24] R. Bouchakri and L. Bellatreche. On simplifying
integrated physical database design. In
Proceedings of the 15th International on Advances
in Databases and Information Systems,(ADBIS’11),
pages 333–346. SpringerVerlag,
2011.
[25] I. Boukhari, L. Bellatreche, and S. Jean. An
ontological pivot model to interoperate heterogeneous
user requirements. In Proceedings
of the 5th International Symposium
on Leveraging Applications of Formal Methods,
Verification and Validation (ISOLA
2012), pages 344–358. LNCS, Springer,
2012.
[26] I. Boukhari, L. Bellatreche, and S. Khouri.
Efficient, unified, and intelligent user requirement
collection and analysis in global enterprises.
In (To appear) in proceedings of
the 15th International Conference on Information
Integration and Web-based Applications
& Services (iiWAS 2013), Vienna, Austria.
LNCS, Springer, 2013.
[27] K. K. Breitman and J.C. Sampaio Leite. Ontology
as a requirements engineering product.
In Proceedings of the 11th IEEE International
Conference on Requirements Engineering,
(RE’03), pages 309–319. IEEE
Computer Society, 2003.
[28] P. Bresciani, A. Perini, P. Giorgini, F. Giunchiglia,
and J. Mylopoulos. Tropos: An
agent-oriented software development me-
140thodology. Autonomous Agents and MultiAgent
Systems, 8:203–236, 2004.
[29] B. Brigitte, S. Sylvie, and Av.J.B. Clément.
Terminae: A linguistics-based tool for the
building of a domain ontology. In Knowledge
Acquisition, Modeling and Management,
volume 1621, pages 49–66. Springer
Berlin Heidelberg, 1999.
[30] E. Brottier, B. Baudry, Y.Traon, D. Touzet,
and B. Nicolas. Producing a global requirement
model from multiple requirement specifications.
In Proceedings of the 11th IEEE
International Enterprise Distributed Object
Computing Conference, (EDOC’07), page
390. IEEE Computer Society, 2007.
[31] G. Canahuate, T. Apaydin, A. Sacan, and
H. Ferhatosmanoglu. Secondary bitmap indexes
with vertical and horizontal partitioning.
In Proceedings of the 12th International
Conference on Extending Database
Technology: Advances in Database Technology,
(EDBT’09), pages 600–611, 2009.
[32] V. Castaneda, L. Ballejos, M.Laura Caliusco,
and M. Rosa Galli. The use of ontologies
in requirements engineering. Global
Journal of Researches in Engineering
(GJRE), 10 Issue 6:2–8, 2010.
[33] Chee-Yong Chan. Indexing Techniques in
Decision Support Systems. PhD thesis, The
University of Wisconsin-Madison, 1999.
[34] S. Chaudhuri and V. Narasayya. Selftuning
database systems: A decade of progress.
In Proceedings of the 33rd International
Conference on Very Large Data
Bases (VLDB’07), pages 3–14. VLDB Endowment,
2007.
[35] P. Chen. The entity relationship model - towards
a unified view of data. ACM Transactions
on Database Systems (TODS), 1(1):9–
36, 1976.
[36] B. Chevallereau, A. Bernard, and P. Mévellec.
Améliorer les performances de l’industrie
logicielle par une meilleure compréhension
des besoins. In CIGI, Conférence Internationale
de Génie Industriel, France, 2009.
[37] F. Chimene. Ontodb2: support of multiple
ontology models within ontology based database.
In Proceedings of the 2008 EDBT
Ph.D. workshop, (Ph.D.’08), pages 21–27.
ACM, 2008.
[38] M. Christel and K. Kang. Issues in requirements
elicitation. Technical report, 1992.
[39] P. Cimiano and J. Völker. Text2onto.
In Proceedings of the 10th International
Conference on Applications of Natural Language
to Information Systems, (NLDB),
pages 227–238. Springer, 2005.
[40] P. Coret, J. Richard, E. Talavet, and T. Trofi-
moya. Introduction a owl, langage xml d’ontologies.
Technical report, 2006.
[41] K. Czarnecki and S. Helsen. Feature-based
survey of model transformation approaches.
IBM Systems Journal, 45(3):621–645, 2006.
[42] B. Dageville, D. Das, K. Dias, K. Yagoub,
M. Zait, and M. Ziauddin. Automatic
sql tuning in oracle 10g. In Proceedings
of the Thirtieth International Conference
on Very Large Data Bases - Volume 30
(VLDB’04), pages 1098–1109. VLDB Endowment,
2004.
[43] A. Dardenne, A.van Lamsweerde, and S. Fickas.
Goal-directed requirements acquisition.
Science. Computer. Program., 20:3–50,
1993.
[44] S. Decker, M. Erdmann, D. Fensel, and
R. Studer. Ontobroker: Ontology based access
to distributed and semi-structured information.
In Proceedings of the IFIP
TC2/WG2.6 Eighth Working Conference on
Database Semantics- Semantic Issues in
Multimedia Systems, (DS-8), pages 351–
369, 1998.
[45] H. Dehainsala, G. Pierra, and L. Bellatreche.
Ontodb: An ontology-based data-
141Bibliographie
base for data intensive applications. In Proceedings
of the 12th International Conference
on Database Systems for Advanced
Applications (DASFAA’07), pages 497–508.
Springer-Verlag, 2007.
[46] A. Doan, A. Y. Halevy, and Z. G. Ives. Principles
of Data Integration. Morgan Kaufmann,
2012.
[47] P. du Bois. The ALBERT II Language. PhD
thesis, Facultés Universitaires Notre Dame
de la Paix, Namur, 1995.
[48] D. V. Dzung and A. Ohnishi. Ontologybased
reasoning in requirements elicitation.
In IEEE International Conference
on Software Engineering and Formal Methods(SEFM),
pages 263–272, 2009.
[49] Frederico T. Fonseca and James E. Martin.
Learning the differences between ontologies
and conceptual schemas through ontologydriven
information systems. Journal of the
Association for Information Systems, 8(2),
2007.
[50] G. Gardarin. Intégration de données
et applications via xml. http:
//georges.gardarin.free.fr/Cours_
Total/X6-BusinessIntegration.ppt.
[51] P. Giorgini, J. Mylopoulos, E. Nicchiarelli,
and R. Sebastiani. Formal reasoning techniques
for goal models. Journal of Data Semantics.,
1:1–20, 2004.
[52] Claude Girault and Rudiger Valk. Petri
Nets for System Engineering: A Guide
to Modeling, Verification, and Applications.
Springer-Verlag New York, Inc., 2001.
[53] F. Goasdoué, V. Lattés, and M. C. Rousset.
The use of carin language and algorithms
for information integration: The picsel system.
International Journal of Cooperative
Information Systems (IJCIS), 9(4):383–401,
2000.
[54] C.H. Goh, S. Bressan, E. Madnick, and M.D.
Siegel. Context interchange: New features
and formalisms for the intelligent integration
of information. ACM Transactions on Information
Systems, 17(3):270–293, 1999.
[55] A. Goknil, i. Kurtev, k. Berg, and j. Veldhuis.
Semantics of trace relations in requirements
models for consistency checking and
inferencing. Softwar System Model., 10:31–
54, 2011.
[56] A. Goknil, I. Kurtev, and K. Berg. A metamodeling
approach for reasoning about
requirements. In Proceedings of the 4th
European conference on Model Driven Architecture:
Foundations and Applications,
(ECMDA-FA’08), pages 310–325. SpringerVerlag,
2008.
[57] M. Golfarelli. From user requirements to
conceptual design in data warehouse design
- a survey. In Data Warehousing Design and
Advanced Engineering Applications : Methods
for Complex Construction, pages 1–
16. IGI Global, 2009.
[58] M. Golfarelli and S. Rizzi. Data Warehouse
Design: Modern Principles and Methodologies.
McGraw Hill, 2009.
[59] M. Golfarelli, S. Rizzi, and P. Biondi. myolap:
An approach to express and evaluate
olap preferences. IEEE Trans. Knowl. Data
Eng., 23(7):1050–1064, 2011.
[60] S.J. Greenspan. Requirements modeling: a
knowledge representation approach to software
requirements definition. PhD thesis,
1984.
[61] T. R. Gruber. A translation approach to
portable ontology specifications. In Knowledge
Acquisition, volume 5, pages 199–
220, 1993.
[62] Y. Guo, Z. Pan, and J. Heflin. Lubm: A
benchmark for owl knowledge base systems.
Journal of Web Semantics, pages 158–182,
2005.
[63] A. Halevy, A. Rajaraman, and J. Ordille.
Data integration: The teenage years. In Pro-
142ceedings of the 32Nd International Conference
on Very Large Data Bases (VLDB),
pages 9–16, 2006.
[64] C. Hardebolle. Composition de modèles
pour la modélisation multi-paradigme du
comportement des systèmes. PhD thesis,
Université Paris-Sud XI, 2008.
[65] C. L. Heitmeyer, R. D. Jeffords, and B.G.
Labaw. Automated consistency checking
of requirements specifications. ACM Trans.
Softw. Eng. Methodol., 5:231–261, 1996.
[66] W.H. Inmon. Building the Data Warehouse.
QED Information Sciences, Inc., 1992.
[67] M. Jackson. Problem frames: analyzing and
structuring software development problems.
Addison-Wesley Longman Publishing Co.,
Inc., 2001.
[68] I. Jacobson and l. Spence K. Bittner. Use
Case Modeling. Addison Wesley Professional,
2002.
[69] S. Jean. OntoQL, un langage d’exploitation
des bases de données à base ontologique.
PhD thesis, Université de Poitiers., 2007.
[70] S. Jean, Y. Aít Ameur, and G. Pierra.
Querying ontology based database using
ontoql (an ontology query language).
In Proceedings of the 2006 Confederated
international conference on On the
Move to Meaningful Internet Systems:
CoopIS, DOA, GADA, and ODBASE,
(ODBASE’06/OTM’06), pages 704–721.
Springer-Verlag, 2006.
[71] S. Jean, G. Pierra, and Y. Aït Ameur. Domain
ontologies: A database-oriented analysis.
In Proceedings of the Second International
Conference on Web Information Systems
and Technologies: Internet Technology
/ Web Interface and Applications, WEBIST
(1), pages 341–351, 2006.
[72] H. Jones. Raisonnement à base de règles
implicatives floues-Inférence et Sémantique.
PhD thesis, Université Toulouse III- Paul Sabataire,
2007.
[73] M. Jun, L. Guofu, L. Hao, and X. Yanqiu.
The knowledge sharing based on plib
ontology and xml for collaborative product
commerce. In Proceedings of the International
Conference on Web Information Systems
and Mining, (WISM’09), pages 518–
526. Springer-Verlag, 2009.
[74] k. Pohl. Process-Centered Requirements Engineering.
John Wiley & Sons, Inc., New
York, NY, USA, 1996.
[75] H. Kaiya and M. Saeki. Ontology based requirements
analysis: Lightweight semantic
processing approach. In Proceedings of the
Fifth International Conference on Quality
Software, (QSIC’05), pages 223–230. IEEE
Computer Society, 2005.
[76] C. M. Keet and P. R. Fillottrani. Toward
an ontology-driven unifying metamodel for
uml class diagrams, eer, and orm2. In the
32th International Conference, ER, pages
313–326, 2013.
[77] C. M. Keet and Pablo R. Fillottrani. Structural
entities of an ontology-driven unifying
metamodel for uml, eer, and orm2. In
3rd International Conference on Model and
Data Engineering (MEDI), LNCS, Springer,
pages 188–199, 2013.
[78] S. Khouri, L. Bellatreche, I. Boukhari, and
S. Bouarar. More investment in conceptual
designers: Think about it! In 15th
International Conference on Computational
Science and Engineering (CSE), IEEE,
pages 88–93, 2012.
[79] S. Khouri, I. Boukhari, L. Bellatreche,
E. Sardet, S. Jean, and M. Baron. Ontologybased
structured web data warehouses
for sustainable interoperability: requirement
modeling, design methodology and tool.
Comput. Ind., 63(8):799–812, 2012.
143Bibliographie
[80] R. Kimball, L. Reeves, W. Thornthwaite,
M. Ross, and W. Thornwaite. The Data Warehouse
Lifecycle Toolkit: Expert Methods
for Designing, Developing and Deploying
Data Warehouses with CD Rom. John Wiley
& Sons, Inc., 1st edition, 1998.
[81] J. Sven Körner and B. Torben. Natural language
specification improvement with ontologies.
International Journal of Semantic
Computing, 3:445–470, 2009.
[82] W. Labio, Y. Zhuge, J. L. Wiener, H. Gupta,
H. Garcia-Molina, and J. Widom. The whips
prototype for data warehouse creation and
maintenance. In (SIGMOD Conference),
pages 557–559, 1997.
[83] R. Laleau, F. Semmak, A Matoussi, D. Petit,
A. Hammad, and B.Tatibouet. A first
attempt to combine sysml requirements diagrams
and b. Innovations in Systems and
Software Engineering (ISSE), 6(1-2):47–54,
2010.
[84] A. Lamsweerde. Conceptual modeling:
Foundations and applications. chapter
Reasoning About Alternative Requirements
Options, pages 380–397. Springer-Verlag,
2009.
[85] S. Won Lee and R.A. Gandhi. Ontologybased
active requirements engineering framework.
In Proceedings of the 12th AsiaPacific
Software Engineering Conference,
(APSEC’05), pages 481–490. IEEE Computer
Society, 2005.
[86] O. López, M. A. Laguna, and F. J.
G.Peñalvo. A metamodel for requirements
reuse. In VII Jornadas de Ingeniería del
Software y Bases de Datos (JISBD), pages
427–428, 2002.
[87] M. Lubars, C. Potts, and C. Richter. A review
of the state of the practice in requirements
modeling. In Proceedings of IEEE
International Symposium on Requirements
Engineering (RE’93), pages 2–14, 1993.
[88] E. m. Clarke and J. M. Wing. Formal
methods: State of the art and future directions.
ACM computer surveys, 28(4):626–
643, 1996.
[89] C. Maier, D. Dash, I. Alagiannis, A. Ailamaki,
and T. Heinis. Parinda: an interactive
physical designer for postgresql. In Proceedings
of the 13th International Conference
on Extending Database Technology
(EDBT’10), pages 701–704, 2010.
[90] K. L. Mcgraw and K. Harbison. Usercentered
requirements: the scenario-based
engineering process. 1997.
[91] E. Mena, V. Kashyap, A. Sheth, and A. Illarramendi.
Observer: an approach for query
processing in global information systems
based on interoperation across pre-existing
ontologies. In Proceedings of the First IFCIS
International Conference Cooperative
Information Systems, 1996., pages 14–25,
1996.
[92] I. Mirbel and S. Villata. Enhancing
goal-based requirements consistency: An
argumentation-based approach. In 13th International
Workshop in Computational Logic
in Multi-Agent Systems (CLIMA) ., pages
110–127, 2012.
[93] J. Mylopoulos. Conceptual modeling in the
time of the revolution: Part ii. In Proceedings
of the 28th International Conference
on Conceptual Modeling,(ER’09), pages
25–25. Springer-Verlag, 2009.
[94] E. Navarro, J.A Mocholi, P. Letelier, and
I. Ramos. A metamodeling approach for
requirements specification.pdf. Journal
of Computer Information Systems (JCIS),
46:67–77, 2006.
[95] B. Nuseibeh and S. Easterbrook. Requirements
engineering: a roadmap. In Proceedings
of the Conference on The Future of
Software Engineering, (ICSE’00), pages 35–
46. ACM, 2000.
144[96] F. Oliveira, K. Nagaraja, R. Bachwani,
R. Bianchini, R. Martin, and T.D. Nguyen.
Understanding and validating database system
administration. In Proceedings of the
Annual Conference on USENIX ’06 Annual
Technical Conference (ATEC’06), pages 19–
19. USENIX Association, 2006.
[97] E. J. O’Neil, P. E. O’Neil, and K. Wu. Bitmap
index design choices and their performance
implications. In Proceeedings of the
11th Internationa Conference In Database
Engineering and Applications Symposium,
(IDEAS’07), pages 72–84, 2007.
[98] G. Pierra. Context representation in domain
ontologies and its use for semantic integration
of data. pages 174–211. SpringerVerlag,
Berlin, Heidelberg, 2008.
[99] G. Pierre. Merise: Modélisation de systèmes
d’information. 2005.
[100] W. N. Robinson. Integrating multiple speci-
fications using domain goals. Sigsoft Software
Engineering Notes, 14(3):219–226,
1989.
[101] A. Rochfeld and H. Tardieu. Merise: An
information system design and development
methodology. Information & Management,
6:143–159, 1983.
[102] C. Rolland. Requirements engineering
for cots based systems. Information and
Software Technology (IST), 41(14):985–990,
1999.
[103] C. Rolland. Ingènierie des besoins : L’approche
l’ecritoire. Journal Techniques de
l’Ingènieur, pages 1–45, 2003.
[104] C. Rolland, G. Grosz, and R. Kla. Experience
with goal-scenario coupling in requirements
engineering. In Proceedings.
IEEE International Symposium on Requirements
Engineering, (RE 1999)., pages 74–
81, 1999.
[105] C. Rolland, C. Souveyet, and C.B. Achour.
Guiding goal modeling using scenarios.
IEEE Transactions on Software Engineering,
24(12):1055–1071, 1998.
[106] O. Romero, A. Simitsis, and A. Abelló.
Gem: Requirement-driven generation of
etl and multidimensional conceptual designs.
In Proceedings of the 13th International
Conference on Data Warehousing
and Knowledge Discovery, (DaWaK 2011),
pages 80–95, 2011.
[107] D.T. Ross and K.E. Schoman. Structured
analysis for requirements definition.
IEEE Transactions on Software Engineering,
3(1):6–15, 1977.
[108] D. Di Ruscio, R. Eramo, and A. Pierantonio.
Model transformations. In International
School on Formal Methods for the Design
of Computer, Communication, and Software
Systems (SFM): Formal Methods for ModelDriven
Engineering, pages 91–136, 2012.
[109] M.S. Russell. Assessing the impact of requirements
volatility on the se process using
bayesian. In Proceedings of the IInternational
Symposium (INCOSE), Toulouse, 2004.
[110] M. Saeki, S. Hayashi, and H. Kaiya. A
tool for attributed goal-oriented requirements
analysis. In 24th IEEE/ACM International
Conference on Automated Software
Engineering, pages 674–676, 2009.
[111] K. Selma and L. Bellatreche. Dwobs:
Data warehouse design from ontology-based
sources. In 16th International Conference
on Database Systems for Advanced Applications
(DASFAA’ 2011), pages 438–441,
2011.
[112] K. Siegemund, E. J. Thomas, Z. Yuting,
J. Pan, and U. Assmann. Towards ontologydriven
requirements engineering. In In 7th
International Workshop on Semantic Web
Enabled Software Engineering., 2011.
[113] J. M. Spivey. Understanding Z: a specifi-
cation language and its formal semantics.
Cambridge University Press, 1988.
145Bibliographie
[114] S. Staab, M. Erdmann, A. Maedche, and
s. Decker. Knowledge media in healthcare.
chapter An extensible approach for modeling
ontologies in RDF(S), pages 234–253.
IGI Publishing, 2002.
[115] V. Sugumaran and V. C. Storey. The role
of domain ontologies in database design: An
ontology management and conceptual modeling
environment. ACM Trans. Database
Syst., pages 1064–1094, 2006.
[116] H. V. Teguiak. Construction d’ontologies
à partir de textes : une approche basée sur
les transformations de modéles. PhD thesis,
2012.
[117] T. J. Teorey, D. Yang, and J. P. Fry. A logical
design methodology for relational databases
using the extended entity-relationship
model. ACM Comput. Surv., 18(2):197–222,
1986.
[118] A. Tort and A. Olivé. An approach to testing
conceptual schemas. Data Knowledge
Engineering, 69(6):598–618, 2010.
[119] Axel V. Lamsweerde. Goal-oriented requirements
engineering: A guided tour. In
Proceedings of the Fifth IEEE International
Symposium on Requirements Engineering,
(RE’01), pages 249–263. IEEE Computer
Society, 2001.
[120] Axel van Lamsweerde. Requirements engineering
in the year 00: a research perspective.
In Proceedings of the 22nd international
conference on Software engineering
,(ICSE’00), pages 5–19. ACM, 2000.
[121] C. Vicente-Chicote, B. Moros, and A. Toval.
Remm-studio: an integrated modeldriven
environment for requirements specification,
validation and formatting. Journal of
Object Technology, 6(9):437–454, 2007.
[122] P.R.S. Visser, D.M. Jones, M. Beer,
T.J.Bench-Capon, B. Diaz, and M.J. Shave.
Resolving ontological heterogeneity in
the kraft project. In Database and Expert
Systems Applications (DEXA), 1999.
[123] V.R.Basili, G. Gianluigi, and H.D. Rombach.
The goal question metric approach.
computer science technical report series cstr-2956.
Technical report, 1992.
[124] H. Wache, T. Vögele, U. Visser, H. Stuckenschmidt,
G. Schuster, H. Neumann, and
S. Hübner. Ontology-based integration of information
- a survey of existing approaches.
In Proceedings of the International Workshop
on Ontologies and Information Sharing,
pages 108–117, 2001.
[125] G. Wiederhold. Mediators in the architecture
of future information systems. IEEE
Computer, 25(3):38–49, 1992.
[126] K.E. Wiegers. More About Software Requirements.
Microsoft Press, USA, 2006.
[127] R. Wieringa, E. Dubois, and H. S. Huyts.
Integrating semi-formal and formal requirements.
In Proceedings of the 9th International
ConferenceAdvanced Information Systems
Engineering, (CAiSE’97), pages 19–
32, 1997.
[128] D. N. Xuan, L. Bellatreche, and G. Pierra.
Ontodawa, un système d’intégration à base
ontologique de sources de données autonomes
et évolutives. Ingénierie des Systèmes
d’Information (ISI), 13(2):97–125,
2008.
[129] E. Siu-Kwong. Yu. Modelling strategic relationships
for process reengineering. PhD
thesis, University of Toronto, 1996.
[130] E. Siu-Kwong. Yu. Towards modeling and
reasoning support for early-phase requirements
engineering. In Proceedings of the
3rd IEEE International Symposium on Requirements
Engineering, (RE’97), page 226.
IEEE Computer Society, 1997.
[131] K. Yue. What does it mean to say that a specification
is complete? In Fourth Internatio-
146nal Workshop on Software Specification and
Design (IWSSD-4)., 1987.
[132] D.C. Zilio, J. Rao, S. Lightstone, G. Lohman,
A. Storm, C. Garcia-Arellano, and
S. Fadden. Db2 design advisor: Integrated
automatic physical database design.
In Proceedings of the Thirtieth International
Conference on Very Large Data Bases
(VLDB’04), pages 1087–1097. VLDB Endowment,
2004.
147Annexe A:
L’annexe suivante présente les règles de transformation des besoins locales au modèle générique des
besoins.
1. Règle 1 : OntoGoal-to-OntoReq. Cette règle décrit la transformation des besoins (instances ontologiques)
exprimés par le modèle de buts en modèle générique de besoins comme le montre la
figure suivante.
Figure 1 – Règle 1 : transformation OntoGoal-to-OntoReq
2. Règle 2 : OntoUcase-to-OntoReq. Cette règle décrit la transformation des besoins (instances ontologiques)
exprimés par le modèle des cas d’utilisation en modèle générique des besoins comme
le montre la figure 2.
3. Règle 3 : OntoMCT-to-OntoReq. Cette règle décrit la transformation des besoins (instances ontologiques)
exprimés par le modèle des traitements en modèle générique des besoins comme le
montre la figure 3.
149Bibliographie
Figure 2 – Règle 2 : transformation OntoUcase-to-OntoReq
Figure 3 – Règle 3 : transformation OntoMCT-to-OntoReq
150Annexe B
Les requêtes suivantes sont des requêtes typiques du banc d’essai Star Schema Benchmark 41. Dans
nos études expérimentales, nous avons construit plusieurs ensembles de requêtes à partir de celles-ci,
afin d’effectuer les différentes évaluations.
Les trois premières requêtes Q1.1, Q1.2 et Q1.3, ont l’objectif de mesurer l’évolution ou l’augmentation
des recettes selon les remises accordées, pour certains produits dans une période donnée.
Q1 . 1
s e l e c t sum ( l o _ e x t e n d e d p r i c e *
l o _ d i s c o u n t ) a s r e v e n u e
from l i n e o r d e r , d a t e
where l o _ o r d e r d a t e = d _ d at e k e y
and d _ y e a r = 1993
and l o _ d i s c o u n t betwee n 1 and 3
and l o _ q u a n t i t y < 2 5;
Q1 . 2
s e l e c t sum ( l o _ e x t e n d e d p r i c e *
l o _ d i s c o u n t ) a s r e v e n u e
from l i n e o r d e r , d a t e
where l o _ o r d e r d a t e = d _ d at e k e y
and d_yea rmonthnum = 199401
and l o _ d i s c o u n t betwee n 4 and 6
and l o _ q u a n t i t y betwee n 26 and 3 5;
Q1 . 3
s e l e c t sum ( l o _ e x t e n d e d p r i c e *
l o _ d i s c o u n t ) a s r e v e n u e
from l i n e o r d e r , d a t e
where l o _ o r d e r d a t e = d _ d at e k e y
and d _wee k n umi n yea r = 6
and d _ y e a r = 1994
and l o _ d i s c o u n t betwee n 5 and 7
and l o _ q u a n t i t y betwee n 26 and 3 5;
Les trois requêtes suivantes Q2.1, Q2.2 et Q2.3, décrivent le deuxième besoin décisionnel. Ce besoin
permet d’avoir le revenue classé selon plusieurs critères comme les fournisseurs dans une région donnée,
les classes de produits et par année.
Q2 . 1 :
s e l e c t sum ( l o _ r e v e n u e ) , d _ yea r , p _ b r a n d 1
from l i n e o r d e r , d at e , p a r t , s u p p l i e r
where l o _ o r d e r d a t e = d _ d at e k e y
and l o _ p a r t k e y = p _ p a r t k e y
and l o _ s u p p k e y = s _ s u p p k e y
41. http://www.cs.umb.edu/∼poneil/StarSchemaB.PDF
151Bibliographie
and p _ c a t e g o r y = ’MFGR#12 ’
and s _ r e g i o n = ’AMERICA’
group by d _ yea r , p _ b r a n d 1
order by d _ yea r , p _ b r a n d 1 ;
Q2 . 2
s e l e c t sum ( l o _ r e v e n u e ) , d _ yea r , p _ b r a n d 1
from l i n e o r d e r , d at e , p a r t , s u p p l i e r
where l o _ o r d e r d a t e = d _ d at e k e y
and l o _ p a r t k e y = p _ p a r t k e y
and l o _ s u p p k e y = s _ s u p p k e y
and p _ b r a n d 1 betwee n ’MFGR#2221 ’ and ’MFGR#2228 ’
and s _ r e g i o n = ’ASIA ’
group by d _ yea r , p _ b r a n d 1
order by d _ yea r , p _ b r a n d 1 ;
Q2 . 3
s e l e c t sum ( l o _ r e v e n u e ) , d _ yea r , p _ b r a n d 1
from l i n e o r d e r , d at e , p a r t , s u p p l i e r
where l o _ o r d e r d a t e = d _ d at e k e y
and l o _ p a r t k e y = p _ p a r t k e y
and l o _ s u p p k e y = s _ s u p p k e y
and p _ b r a n d 1 = ’MFGR#2221 ’
and s _ r e g i o n = ’EUROPE’
group by d _ yea r , p _ b r a n d 1
order by d _ yea r , p _ b r a n d 1 ;
Les quatre requêtes suivantes Q3.1, Q3.2, Q3.3 et Q3.4, décrivent le troisième besoin décisionnel. Ce
besoin mesure les revenues pour une région donnée dans une période de temps, selon la provenance des
clients et des fournisseurs.
Q3 . 1
s e l e c t c _ n ati o n , s _ n a t i o n , d _ yea r , sum ( l o _ r e v e n u e ) a s r e v e n u e from
c u st om e r , l i n e o r d e r , s u p p l i e r , d a t e
where l o _ c u s t k e y = c _ c u s t k e y
and l o _ s u p p k e y = s _ s u p p k e y
and l o _ o r d e r d a t e = d _ d at e k e y
and c _ r e g i o n = ’ASIA ’ and s _ r e g i o n = ’ASIA ’
and d _ y e a r >= 1992 and d _ y e a r <= 1997
group by c _ n ati o n , s _ n a t i o n , d _ y e a r
order by d _ y e a r a sc , r e v e n u e d e s c ;
Q3 . 2
152s e l e c t c _ c i t y , s _ c i t y , d _ yea r , sum ( l o _ r e v e n u e ) a s r e v e n u e from
c u st om e r , l i n e o r d e r , s u p p l i e r , d a t e
where l o _ c u s t k e y = c _ c u s t k e y
and l o _ s u p p k e y = s _ s u p p k e y
and l o _ o r d e r d a t e = d _ d at e k e y
and c _ n a t i o n = ’UNITED STATES ’
and s _ n a t i o n = ’UNITED STATES ’
and d _ y e a r >= 1992 and d _ y e a r <= 1997
group by c _ c i t y , s _ c i t y , d _ y e a r
order by d _ y e a r a sc , r e v e n u e d e s c ;
Q3 . 3
s e l e c t c _ c i t y , s _ c i t y , d _ yea r , sum ( l o _ r e v e n u e ) a s r e v e −nue from
c u st om e r , l i n e o r d e r , s u p p l i e r , d a t e
where l o _ c u s t k e y = c _ c u s t k e y
and l o _ s u p p k e y = s _ s u p p k e y
and l o _ o r d e r d a t e = d _ d at e k e y
and ( c _ c i t y =’UNITED KI1 ’ o r c _ c i t y =’UNITED KI5 ’ )
and ( s _ c i t y =’UNITED KI1 ’ o r s _ c i t y =’UNITED KI5 ’ )
and d _ y e a r >= 1992 and d _ y e a r <= 1997
group by c _ c i t y , s _ c i t y , d _ y e a r
order by d _ y e a r a sc , r e v e n u e d e s c ;
Q 3 . 4
s e l e c t c _ c i t y , s _ c i t y , d _ yea r , sum ( l o _ r e v e n u e ) a s r e v e −nue from
c u st om e r , l i n e o r d e r , s u p p l i e r , d a t e
where l o _ c u s t k e y = c _ c u s t k e y
and l o _ s u p p k e y = s _ s u p p k e y
and l o _ o r d e r d a t e = d _ d at e k e y
and ( c _ c i t y =’UNITED KI1 ’ o r c _ c i t y =’UNITED KI5 ’ )
and ( s _ c i t y =’UNITED KI1 ’ o r s _ c i t y =’UNITED KI5 ’ )
and d _ y ea rm o nt h = ’ Dec1997 ’
group by c _ c i t y , s _ c i t y , d _ y e a r
order by d _ y e a r a sc , r e v e n u e d e s c ;
Les trois dernières requêtes Q4.1, Q4.2 et Q4.3, décrivent le quatrième besoin décisionnel. Ce dernier
est un besoin prévisionnel qui vise à calculer le profit moyen pour certaines classes de produits dans
certaines régions et dans une période donnée.
Q4 . 1
s e l e c t d _ yea r , c _ n ati o n , sum ( l o _ r e v e n u e − l o _ s u p p l y c o s t ) a s p r o f i t
from d at e , c u st om e r , s u p p l i e r , p a r t , l i n e o r d e r
where l o _ c u s t k e y = c _ c u s t k e y
153Bibliographie
and l o _ s u p p k e y = s _ s u p p k e y
and l o _ p a r t k e y = p _ p a r t k e y
and l o _ o r d e r d a t e = d _ d at e k e y
and c _ r e g i o n = ’AMERICA’
and s _ r e g i o n = ’AMERICA’
and ( p_m fg r = ’MFGR#1 ’ o r p_m fg r = ’MFGR# 2 ’ )
group by d _ yea r , c _ n a t i o n
order by d _ yea r , c _ n a t i o n ;
Q4 . 2
s e l e c t d _ yea r , s _ n a t i o n , p _ c at e g o r y , sum ( l o _ r e v e n u e − l o _ s u p p l y c o s t )
a s p r o f i t
from d at e , c u st om e r , s u p p l i e r , p a r t , l i n e o r d e r
where l o _ c u s t k e y = c _ c u s t k e y
and l o _ s u p p k e y = s _ s u p p k e y
and l o _ p a r t k e y = p _ p a r t k e y
and l o _ o r d e r d a t e = d _ d at e k e y
and c _ r e g i o n = ’AMERICA’
and s _ r e g i o n = ’AMERICA’
and ( d _ y e a r = 1997 o r d _ y e a r = 1 9 9 8 )
and ( p_m fg r = ’MFGR#1 o r p_m fg r = ’MFGR# 2 ’ )
group by d _ yea r , s _ n a t i o n , p _ c a t e g o r y order by d _ yea r , s _ n a t i o n ,
p _ c a t e g o r y ;
Q4 . 3
s e l e c t d _ yea r , s _ c i t y , p _ b ra n d 1 , sum ( l o _ r e v e n u e − l o _ s u p p l y c o s t ) a s
p r o f i t
from d at e , c u st om e r , s u p p l i e r , p a r t , l i n e o r d e r
where l o _ c u s t k e y = c _ c u s t k e y
and l o _ s u p p k e y = s _ s u p p k e y
and l o _ p a r t k e y = p _ p a r t k e y
and l o _ o r d e r d a t e = d _ d at e k e y
and c _ r e g i o n = ’AMERICA’
and s _ n a t i o n = ’UNITED STATES ’
and ( d _ y e a r = 1997 o r d _ y e a r = 1 9 9 8 )
and p _ c a t e g o r y = ’MFGR#14 ’
group by d _ yea r , s _ c i t y , p _ b r a n d 1
order by d _ yea r , s _ c i t y , p _ b r a n d 1 ;
154Table des figures
1.1 Différents niveaux d’intégration [50]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Résolution manuelle de l’hétérogénéité . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Résolution semi-automatique de l’hétérogénéité . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Les quatre niveaux d’intégration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Aperçu des contributions de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 Les phases du cycle de vie d’un ED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 Exemple de métamodèlisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3 Processus d’ingénierie des besoins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4 Un besoin modélisé par un langage naturel. . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5 Un besoin modélisé par un langage semi-formel (Cas d’utilisation). . . . . . . . . . . . 27
2.6 Approche GQM (Goal Question Metric). . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.7 Exemple d’un modèle orienté buts KAOS [13]. . . . . . . . . . . . . . . . . . . . . . . 32
2.8 Exemple d’un modèle orienté buts iStar (i*) [13]. . . . . . . . . . . . . . . . . . . . . . 34
2.9 Diagramme des cas d’utilisation (Use case). . . . . . . . . . . . . . . . . . . . . . . . . 35
2.10 Exemple de modèle conceptuel de traitement. . . . . . . . . . . . . . . . . . . . . . . . 36
2.11 Méta-modèle des besoins modélisés en UML. [86]. . . . . . . . . . . . . . . . . . . . . 39
2.12 Etape de production d’un modèle global des besoins [30]. . . . . . . . . . . . . . . . . . 40
3.1 Exemple d’ontologie exprimée en RDF Schéma. . . . . . . . . . . . . . . . . . . . . . . 49
3.2 Exemple d’ontologie exprimée en OWL. . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3 L’éditeur d’ontologies Protégé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4 Différentes architectures d’intégration à base ontologique. . . . . . . . . . . . . . . . . 55
3.5 Architectures d’intégration sémantique a posteriori. . . . . . . . . . . . . . . . . . . . . 55
155Table des figures
3.6 Architectures d’intégration sémantique a priori. . . . . . . . . . . . . . . . . . . . . . . 57
3.7 Contributions des ontologies dans l’IB. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.1 Hétérogénéité des vocabulaires et des langages de modélisation des besoins. . . . . . . . 67
4.2 Exemple d’extraction de l’ontologie locale. . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3 Une partie de l’ontologie University proposée par le benchmark LUBM. . . . . . . . . . 71
4.4 Exemple de modèle orienté buts modélisant les besoins du concepteur Espagnol. . . . . 72
4.5 Exemple de modèle de cas d’utilisation modélisant les besoins du concepteur Anglais. . . 74
4.6 Exemple de modèle de traitements modélisant les besoins du concepteur Français. . . . 75
4.7 Couplage des modèles des besoins avec le modèle d’ontologie. . . . . . . . . . . . . . . 76
4.8 Méta-modèle d’ontologie OWL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.9 Connexion entre le modèle ontologique et le modèle orienté buts. . . . . . . . . . . . . . 78
4.10 Instanciation des modèles de l’ontologie et du modèle orientés buts. . . . . . . . . . . . 79
4.11 Connexion entre le modèle ontologique et le modèle use case. . . . . . . . . . . . . . . 80
4.12 Connexion entre le modèle ontologique et le modèle MCT. . . . . . . . . . . . . . . . . 81
4.13 Intégration centralisée avec langage Pivot. . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.14 Le méta-modèle pivot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
4.15 Connexion entre le modèle ontologique et le modèle pivot. . . . . . . . . . . . . . . . . 85
4.16 Scénario d’intégration des besoins selon un langage pivot. . . . . . . . . . . . . . . . . 86
4.17 Principe de transformation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.1 Méta-modèle générique fusionnant les trois modèles étudiés. . . . . . . . . . . . . . . . 91
5.2 Métamodèle générique des besoins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.3 Connexion entre le méta-modèle ontologique et le méta-modèle générique des besoins. . 94
5.4 Processus de raisonnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.5 Scénario (1) : ship whole. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.6 Scénario (2) : reason as needed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.7 Temps d’exécution de raisonnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.1 Répartition de l’effort de l’administrateur. . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.2 La conception physique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.3 Architecture d’OntoDB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.4 BDBO de type III étendu par les besoins des utilisateurs. . . . . . . . . . . . . . . . . . 113
6.5 Un besoin SSB modélisé suivant notre modèle générique des besoins. . . . . . . . . . . 115
1566.6 Ontologie du benschmark SSB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.7 Fragmentation horizontale à partir des besoins. . . . . . . . . . . . . . . . . . . . . . . 119
6.8 Nouvelle vision de conception des bases de données. . . . . . . . . . . . . . . . . . . . 120
7.1 Architecture fonctionnelle de l’outil (OntoReqTool). . . . . . . . . . . . . . . . . . . . 124
7.2 Diagramme de cas d’utilisation de notre outil. . . . . . . . . . . . . . . . . . . . . . . . 125
7.3 Projection des besoins sur l’OG (OntoReq). . . . . . . . . . . . . . . . . . . . . . . . . 126
7.4 Ontologie locale des buts (OntoGoal). . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.5 Transformation des besoins en modèle générique. . . . . . . . . . . . . . . . . . . . . . 128
7.6 Raisonnement sur les besoins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.7 Interface graphique de la phase d’exploitation de l’ED. . . . . . . . . . . . . . . . . . . 130
7.8 Persistance des besoins dans l’ED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
7.9 Requêtes SQL générées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
1 Règle 1 : transformation OntoGoal-to-OntoReq . . . . . . . . . . . . . . . . . . . . . . 149
2 Règle 2 : transformation OntoUcase-to-OntoReq . . . . . . . . . . . . . . . . . . . . . 150
3 Règle 3 : transformation OntoMCT-to-OntoReq . . . . . . . . . . . . . . . . . . . . . . 150
157Liste des tableaux
2.1 Comparaison des travaux étudiés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1 Les concepts communs entre les modèles de besoins. . . . . . . . . . . . . . . . . . . . 83
5.1 Nombre de relations vérifiées pendant le raisonnement. . . . . . . . . . . . . . . . . . . 102
6.1 Index générés et taux d’optimisation du coût d’exécution des besoins par rapport aux
requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.2 Index générés et taux d’optimisation du coût d’exécution des besoins par rapport aux
requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
159Glossaire
ABox : Assertionnal Box
API : Application Programming Interface
ATL : ATLAS Transformation Language
BD : Base de données
BDBO : Base de données à base ontologique
CC : Classe canonique
CNC : Classe non canonique
ED : Entrepôt de données
EMF : EclipseModeling Framework
GQM : Goal Question Metric
IB : Ingénierie des Besoins
IDM : Ingénierie Dirigée par les Modèles
iStar : Intentional STratégic Actor Relationships
KAOS : Ingénierie des Besoins
LISI : Laboratoire d’Informatique Scientifique et Industrielle
LO : Ontologie Locale
MC : Modèle Conceptuel
MDA : Model-Driven Architecture
OC : Ontologie Conceptuelle
OCC : Ontologie Conceptuelle Canonique
OCNC : Ontologie Conceptuelle Non Canonique
OL : Ontologie Linguistique
OMG : Object Management Group
OWL : Web Ontology Language
PLIB : Parts Library - Norme ISO 13584
RDF : Ressource Description Framework
SWRL : Semantic Web Rule Language
TBox : Terminological Box
UML : Unified Modeling Language
URI : Uniform Resource Identifier
URL : Uniform Resource Locator
161Intégration et exploitation de besoins en entreprise
étendue fondées sur la sémantique.
Présentée par :
Ilyés BOUKHARI
Directeurs de Thèse :
Ladjel BELLATRECHE et Stéphane JEAN
Résumé. L’ingénierie des besoins (IB) joue un rôle crucial dans le processus de développement d’un système
d’information. Elle a pour but de fournir une spécification des besoins qui soit cohérente, non ambiguë,
complète, vérifiable, etc. L’importance de la spécification des besoins augmente dans l’environnement distribué
où se situent les systèmes complexes ce qui est en particulier le cas dans le contexte des entreprises étendues.
Ces systèmes nécessitent, en effet, la collaboration d’un grand nombre de concepteurs qui peuvent provenir de
différents domaines, départements, laboratoires de recherche, etc. En général, ces concepteurs sont libres
d'utiliser le vocabulaire et les langages qu’ils préfèrent pour définir les besoins liés aux parties du système qui
leur sont affectées. Dans ce contexte, fournir une interface unique, uniforme et transparente à l’ensemble des
besoins définis sur un système est devenu nécessaire. Autrement dit, d’un point de vue technique, il devient
crucial de proposer une démarche d’intégration des besoins via un schéma global. Dans ce travail, nous
proposons une approche ontologique d’intégration de besoins hétérogènes. Cette hétérogénéité concerne à la
fois les vocabulaires et les langages de modélisation identifiés lors de l’élicitation des besoins. Contrairement
aux travaux existants qui traitent le problème d’intégration des besoins d’une manière isolée sans prendre en
compte le système cible (une base/entrepôt de données, une interface homme machine, etc.), nos propositions
apportent des solutions pour les phases de cycle de vie de conception du système cible. Pour illustrer cela, nous
considérons la phase de conception physique d’un entrepôt de données. Durant cette phase, un ensemble de
structures d’optimisation (les index, la fragmentation de données, les vues matérialisées, etc.) est sélectionné.
Souvent cette sélection est effectuée à partir d’un ensemble de requêtes. Dans ce travail, nous proposons une
approche de sélection dirigée par les besoins. Pour valider notre proposition, une implémentation dans un
environnement de Base de Données à Base Ontologique nommé OntoDB est proposée.
Mots-clés : Ingénierie des Besoins, Ontologies, Systèmes d’intégration, Entrepôts de données, Ingénierie
Dirigée par les Modèles, BDBO, OntoDB.
Abstract. Requirements engineering (RE) plays a crucial role in the process of developing information
systems. It aims at providing a specification of requirements that is consistent, unambiguous, complete,
verifiable, etc. With the development of distributed applications (such is the case of global enterprises) the
importance of RE increases. Indeed, these applications require the collaboration of a large number of
heterogeneous, autonomous and distributed designers. As a consequence, designers are free to use their own
vocabularies and languages to express their requirements. In this setting, providing a unique, consistent and
transparent interface to all requirements defined upon the system is needful. From a technical point of view, it
becomes crucial to propose an approach for requirements integration through a global schema. In this work, we
suggest a semantic approach for integrating heterogeneous requirements that takes into account the
heterogeneity of both vocabularies and modeling languages identified in the requirements’ elicitation step in the
context of data warehouse design. Unlike existing works which addressed requirements as an isolated
integration issue without taking into account the phases of designing data warehouse, our proposals provide
solutions to the main important life cycle phases for the data warehouse. To do so, we have mainly focused on
the physical data of designing relational warehouse in which a set of optimized structures (indexes, data
fragmentation, materialized views, etc.) are selected based on the integrated requirements. To prove the validity
of our proposal, an implementation upon the environment of Ontological Database named OntoDB is proposed.
Keywords: Requirements Engineering, Ontologies, Integration Systems, Data Warehousing, Model Driven
Engineering, DBOB, OntoDB.
Mod´elisation et score de complexes prot´eine-ARN
Adrien Guilhot-Gaudeffroy
To cite this version:
Adrien Guilhot-Gaudeffroy. Mod´elisation et score de complexes prot´eine-ARN. Bioinformatics.
Universit´e Paris Sud - Paris XI, 2014. French. .
HAL Id: tel-01081605
https://tel.archives-ouvertes.fr/tel-01081605
Submitted on 10 Nov 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.UNIVERSITE´ PARIS-SUD
E´ COLE DOCTORALE 427 :
INFORMATIQUE PARIS-SUD
LABORATOIRE : LABORATOIRE DE RECHERCHE EN INFORMATIQUE
THESE `
INFORMATIQUE
par
Adrien GUILHOT-GAUDEFFROY
Modelisation et score de ´
complexes proteine-ARN ´
Date de soutenance : 29 / 09 / 2014
Composition du jury :
Directeurs de these : ` M. Jer´ ome Az ˆ e Professeur (LIRMM, Universit ´ e de Montpellier 2) ´
Mme Julie Bernauer Chargee de recherche (Inria, LIX, ´ Ecole Polytechnique) ´
Mme Christine Froidevaux Professeure (LRI, Universite Paris-Sud, invit ´ ee) ´
Rapporteurs : Mme Anne Poupon Directrice de Recherche CNRS (BIOS, INRA Tours)
Mme Celine Rouveirol Professeure (LIPN, Universit ´ e Paris-Nord) ´
Examinateurs : M. Philippe Dague Professeur (LRI, Universite Paris-Sud) ´
Mme Beatrice Duval Ma ´ ˆıtre de conferences HDR (LERIA, Universit ´ e d’Angers) ´iiSommaire
Sommaire iii
Table des figures ix
Liste des tableaux xi
Introduction xv
1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
2 Structure des proteines et des ARN . . . . . . . . . . . . . . . . . . . . ´ xvi
2.1 Les acides amines . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xviii
2.2 Les acides nucleiques . . . . . . . . . . . . . . . . . . . . . . . . ´ xx
2.3 La structure primaire ou sequence . . . . . . . . . . . . . . . . . ´ xxi
2.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xxi
2.3.2 Determination . . . . . . . . . . . . . . . . . . . . . . . ´ xxiii
2.4 La structure secondaire . . . . . . . . . . . . . . . . . . . . . . . xxiii
2.4.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xxiii
2.4.2 Determination ´ a partir d’une solution . . . . . . . . . . . ` xxvi
2.4.3 Determination ´ a partir des coordonn ` ees atomiques . . ´ xxvii
2.4.4 Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xxvii
2.5 La structure tertiaire . . . . . . . . . . . . . . . . . . . . . . . . . xxvii
2.5.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xxvii
2.5.2 Determination . . . . . . . . . . . . . . . . . . . . . . . ´ xxviii
2.5.3 Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xxix
Modelisation par homologie . . . . . . . . . . . . . . . . . ´ xxix
Les methodes d’enfilage . . . . . . . . . . . . . . . . . . . ´ xxix
La modelisation ´ ab initio . . . . . . . . . . . . . . . . . . . xxix
Evaluation des pr ´ edictions : l’exp ´ erience C ´ ASP . . . . . . xxix
iiiSommaire
2.6 La structure quaternaire . . . . . . . . . . . . . . . . . . . . . . . xxx
2.6.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xxx
2.6.2 Determination . . . . . . . . . . . . . . . . . . . . . . . ´ xxxi
2.6.3 Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xxxi
3 Les complexes proteine-prot ´ eine et prot ´ eine-ARN . . . . . . . . . . . . ´ xxxii
3.1 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxii
3.2 Detection exp ´ erimentale biochimique prot ´ eine-prot ´ eine . . . . . ´ xxxii
3.2.1 Le double-hybride sur la levure . . . . . . . . . . . . . . xxxii
3.2.2 Utilisation de marqueurs (TAP-tag et FLAP-tag) . . . . xxxii
3.3 Les methodes d’amarrage . . . . . . . . . . . . . . . . . . . . . . ´ xxxiv
3.3.1 Le probleme . . . . . . . . . . . . . . . . . . . . . . . . ` xxxiv
3.3.2 Les algorithmes . . . . . . . . . . . . . . . . . . . . . . xxxv
3.3.3 La transformation de Fourier . . . . . . . . . . . . . . . xxxvi
3.3.4 Algorithmes d’amarrage et partitionnement du probleme ` xxxvi
4 La tessellation de Vorono¨ı et ses deriv ´ ees pour l’amarrage . . . . . . . ´ xxxvii
4.1 Constructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxvii
4.2 Mesures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxix
5 Fonctions de score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xl
6 Apprentissage automatise . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xli
6.1 Paradigme de l’apprentissage supervise . . . . . . . . . . . . . . ´ xli
6.2 Criteres d’ ` evaluation . . . . . . . . . . . . . . . . . . . . . . . . . ´ xliii
6.2.1 Criteres d’ ` evaluation globaux . . . . . . . . . . . . . . . ´ xliii
6.2.2 Criteres d’ ` evaluation “locaux” . . . . . . . . . . . . . . . ´ xliv
1 Donnees 1 ´
1.1 Jeux de donnees de complexes prot ´ eine-ARN . . . . . . . . . . . . . . ´ 1
1.1.1 Jeu de ref ´ erence des complexes prot ´ eine-ARN connus . . . . . ´ 1
1.1.2 Jeux d’evaluation des proc ´ edures d’amarrage : ´ Benchmarks . . 2
1.2 Nettoyage des donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 2
1.3 Utilisation des donnees . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 3
1.3.1 Contexte biologique : definitions . . . . . . . . . . . . . . . . . . ´ 4
1.3.2 Ensemble des perturbations pour l’apprentissage . . . . . . . . . 4
1.3.3 Mesure de similarite : le RMSD . . . . . . . . . . . . . . . . . . . ´ 5
1.3.4 Etiquetage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 6
1.3.5 Constitution des jeux d’apprentissage et de test . . . . . . . . . 7
iv1.4 Mesures d’evaluation locales . . . . . . . . . . . . . . . . . . . . . . . . ´ 8
2 Approche Rosetta et adaptation 11
2.1 Presentation de RosettaDock . . . . . . . . . . . . . . . . . . . . . . . . ´ 11
2.1.1 Amarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1.1 Gen´ eration des candidats . . . . . . . . . . . . . . . . . ´ 11
2.1.1.2 Tri des candidats . . . . . . . . . . . . . . . . . . . . . . 14
2.1.1.3 Amarrages gros-grain ou atomique . . . . . . . . . . . 15
2.1.2 Autres strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 16
2.1.2.1 Fonctions de score atomique : termes physico-chimiques 16
2.1.2.2 Termes physico-chimiques a l’ ` echelle gros-grain . . . . ´ 20
2.2 Evaluation de la fonction de score non optimis ´ ee . . . . . . . . . . . . . ´ 21
2.2.1 Mesures d’evaluation globales . . . . . . . . . . . . . . . . . . . ´ 21
2.2.2 Mesures d’evaluation locales . . . . . . . . . . . . . . . . . . . . ´ 23
2.3 Optimisation de la fonction de score . . . . . . . . . . . . . . . . . . . . 25
2.3.1 Estimation des poids par regression logistique . . . . . . . . . . ´ 26
2.3.2 Algorithmes evolutionnaires . . . . . . . . . . . . . . . . . . . . . ´ 27
2.3.3 Methodologie d’optimisation de la fonction de score atomique . . ´ 28
2.4 Evaluation de la fonction de score optimis ´ ee . . . . . . . . . . . . . . . . ´ 30
2.4.1 Pouvoir predictif en fonction des contraintes . . . . . . . . . . . . ´ 31
2.4.2 Fonction de score dedi ´ ee pour chaque type d’ARN . . . . . . . . ´ 32
2.4.3 Combinaison lineaire ´ a poids positifs . . . . . . . . . . . . . . . . ` 32
2.4.3.1 Pouvoir predictif de la fonction de score . . . . . . . . . ´ 33
2.4.3.2 Enrichissement du tri des candidats . . . . . . . . . . . 35
2.4.3.3 Detection d’entonnoir . . . . . . . . . . . . . . . . . . . ´ 35
2.4.3.4 Repartition des coefficients des termes de score . . . . ´ 38
2.4.4 Filtrage a priori des candidats du modele atomique . . . . . . . . ` 39
2.5 Conclusions sur la fonction de score atomique . . . . . . . . . . . . . . 41
3 Approche a posteriori 43
3.1 Modeles ` a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1 Combinaison lineaire . . . . . . . . . . . . . . . . . . . . . . . . . ´ 44
3.1.2 Approches dites ”explicatives” : arbres et regles de d ` ecision . . . ´ 44
3.1.3 Approches dites non explicatives . . . . . . . . . . . . . . . . . . 47
3.1.4 Boˆıte a outils utilis ` ee pour apprendre les mod ´ eles . . . . . . . . ` 49
vSommaire
3.1.5 Methodologie d’optimisation des fonctions de score ´ a posteriori . 50
3.2 Evaluation des fonctions de score ´ a posteriori . . . . . . . . . . . . . . . 50
3.2.1 Repartition des candidats par terme de score . . . . . . . . . . . ´ 51
3.2.2 Weka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.2.3 ROGER non lineaire . . . . . . . . . . . . . . . . . . . . . . . . . ´ 53
3.3 Conclusions sur la fonction de score a posteriori . . . . . . . . . . . . . 55
4 Approche multi-echelle 57 ´
4.1 Principe de l’approche multi-echelle . . . . . . . . . . . . . . . . . . . . ´ 57
4.1.1 Representation g ´ eom ´ etrique gros-grain des acides amin ´ es et ´
des acides nucleiques . . . . . . . . . . . . . . . . . . . . . . . . ´ 57
4.1.2 Mesure des termes geom ´ etriques ´ a l’ ` echelle gros-grain . . . . . ´ 60
4.1.3 Termes geom ´ etriques ´ a l’ ` echelle gros-grain . . . . . . . . . . . . ´ 64
4.1.4 Donnees et fonctions de score ´ a l’ ` echelle gros-grain . . . . . . . ´ 65
4.2 Optimisation de la fonction de score gros-grain . . . . . . . . . . . . . . 66
4.2.1 Methodologie d’optimisation de la fonction de score gros-grain . ´ 66
4.3 Evaluation de l’interaction ´ a l’ ` echelle gros-grain . . . . . . . . . . . . . . ´ 67
4.3.1 Etude des valeurs des mesures g ´ eom ´ etriques . . . . . . . . . . ´ 68
4.3.2 Evaluation de la fonction de score gros-grain . . . . . . . . . . . ´ 73
4.3.2.1 Poids . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3.2.2 Evaluation de la fonction de score gros-grain . . . . . . ´ 76
4.3.2.3 Comparaison avec contrainte a poids positifs . . . . . . ` 78
4.3.2.4 Comparaison avec valeurs de centrage . . . . . . . . . 79
4.4 Conclusions sur la fonction de score gros-grain . . . . . . . . . . . . . . 80
5 Discussion biologique 83
5.1 Limites inherentes ´ a la construction de fonctions de score obtenues par `
apprentissage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.1.1 Une source de donnees exp ´ erimentales en constante ´ evolution . ´ 83
5.1.2 Influence du nettoyage des donnees . . . . . . . . . . . . . . . . ´ 84
5.1.2.1 Valeurs manquantes . . . . . . . . . . . . . . . . . . . . 84
5.1.2.2 Acides amines et nucl ´ eiques non standards . . . . . . ´ 84
5.1.2.3 Solvant et ions . . . . . . . . . . . . . . . . . . . . . . . 86
5.1.3 Influence du choix de la methode d’ ´ evaluation . . . . . . . . . . ´ 88
5.2 Flexibilite´ a l’interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . ` 90
vi5.3 Limites du protocole de gen´ eration des candidats . . . . . . . . . . . . . ´ 91
6 Conclusion et perspectives 95
6.1 Integration de connaissances ´ a priori de contextes proches . . . . . . . 95
6.2 Extraction des donnees et complexit ´ es des mod ´ eles . . . . . . . . . . . ` 96
6.3 Predictions multi- ´ echelle . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 97
Bibliographie 103
Annexes 121
viiSommaire
viiiTable des figures
1 Du gene ` a la prot ` eine . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xvii
2 Les differents niveaux de structure . . . . . . . . . . . . . . . . . . . . . ´ xix
3 Formes D et L d’un acide amine . . . . . . . . . . . . . . . . . . . . . . ´ xix
4 Les 20 acides amines usuels . . . . . . . . . . . . . . . . . . . . . . . . ´ xx
5 Les nucleotides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ xxi
6 Geom ´ etrie de la liaison peptidique . . . . . . . . . . . . . . . . . . . . . ´ xxii
7 Appariement des nucleotides et h ´ elice d’ADN . . . . . . . . . . . . . . . ´ xxii
8 Helice ´ α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiv
9 Brins β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv
10 Motifs de structure secondaire d’ARN . . . . . . . . . . . . . . . . . . . xxvi
11 Predictions issues d’une session de C ´ ASP . . . . . . . . . . . . . . . . . xxx
12 Schema de principe de d ´ etection des interactions prot ´ eine-prot ´ eine par ´
double-hybride chez la levure . . . . . . . . . . . . . . . . . . . . . . . . xxxiii
13 Le probleme de l’amarrage . . . . . . . . . . . . . . . . . . . . . . . . . ` xxxiv
14 Tessellation de Vorono¨ı et constructions deriv ´ ees . . . . . . . . . . . . . ´ xxxviii
15 Exemples de courbe ROC et explications . . . . . . . . . . . . . . . . . xlv
1.1 Diagramme de Venn du nombre de complexes par jeu de donnees externe ´ 3
1.2 Representation sch ´ ematique du calcul de l’alignement pour le L ´ RMSD et
le IRMSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Exemple de diagramme d’EvsRMS . . . . . . . . . . . . . . . . . . . . . 9
1.4 Illustration du score d’enrichissement sur une courbe EvsRMS . . . . . 10
2.1 Espace de recherche des candidats d’une interaction entre 2 molecules ´ 12
2.2 Coordonnees torsionnelles pour la manipulation des structures 3D . . . ´ 14
2.3 Presentation g ´ en´ erale des scores physico-chimiques . . . . . . . . . . . ´ 18
2.4 Presentation de l’ ´ energie de Van der Waals . . . . . . . . . . . . . . . . ´ 19
2.5 Exemples de diagrammes d’EvsRMS pour ROS . . . . . . . . . . . . . 24
2.6 Meilleurs exemples de diagrammes d’EvsRMS pour ROS . . . . . . . . 24
2.7 Illustration de l’algorithme gen´ eral de R ´ OGER . . . . . . . . . . . . . . . 29
2.8 Methodologie d’optimisation de la fonction de score atomique . . . . . . ´ 30
2.9 Repartition de la valeur des coefficients par poids et contrainte . . . . . ´ 33
2.10 Repartition de la valeur des coefficients par poids . . . . . . . . . . . . . ´ 34
2.11 Courbes ROC de ROS et POS sur la PRIDB et les Benchmarks . . . . . 36
2.12 Courbes ROC de POS sur la PRIDB . . . . . . . . . . . . . . . . . . . . 37
ixTable des figures
2.13 Diagrammes d’EvsRMS d’interactions differentes propos ´ ees par POS . ´ 38
2.14 Diagrammes d’EvsRMS d’interactions alternatives proposees par POS . ´ 38
3.1 Exemple d’arbre de decision . . . . . . . . . . . . . . . . . . . . . . . . ´ 45
3.2 Arbre de decision appris avec J48 sur la P ´ RIDB . . . . . . . . . . . . . . 54
4.1 Modele gros-grain : exemple de l’uracile . . . . . . . . . . . . . . . . . . ` 58
4.2 Illustration de la construction intuitive d’un diagramme de Vorono¨ı . . . . 61
4.3 Exemple de triangulation de Delaunay, dual du diagramme de Vorono¨ı . 61
4.4 Construction d’une triangulation de Delaunay . . . . . . . . . . . . . . . 62
4.5 L’interface d’une tessellation de Vorono¨ı . . . . . . . . . . . . . . . . . . 63
4.6 Le solvant a l’interface d’une tessellation de Vorono ` ¨ı . . . . . . . . . . . 63
4.7 Mesure des parametres gros-grain ` a partir du diagramme de Vorono ` ¨ı . 64
4.8 Diagrammes d’EvsRMS pour POS avec entonnoirs . . . . . . . . . . . . 67
4.9 Interaction avec le solvant explicite du modele gros-grain . . . . . . . . ` 68
4.10 Courbes de densite des termes de score P1 et P2 . . . . . . . . . . . . ´ 70
4.11 Courbes de densite des termes de score P3 d’acides amin ´ es . . . . . . ´ 71
4.12 Courbes de densite des termes de score P3 des acides nucl ´ eiques . . . ´ 73
4.13 Coefficients de P1 et P3 : la surface d’interaction et le nombre d’acides
amines et nucl ´ eiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 74
4.14 Coefficients de P3 : les proportions d’acides amines et nucl ´ eiques . . . ´ 75
4.15 Coefficients de P4 : les volumes medians . . . . . . . . . . . . . . . . . ´ 76
4.16 Exemple de fonction avec valeurs de centrage . . . . . . . . . . . . . . 80
5.1 Structure 3D de 3 complexes proteine-ARN : ´ etude de cas des partenaires ´ 86
5.2 Diagramme EvsRMS des 3 complexes de l’etude de cas des partenaires ´ 87
5.3 Structure 3D de 3 complexes proteine-ARN : ´ etude de cas du solvant et ´
des ions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.4 Diagramme EvsRMS des 3 complexes de l’etude de cas du solvant et ´
des ions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.5 Diagramme EvsRMS de 3 complexes avec faible score d’enrichissement 90
5.6 Diagramme EvsRMS de 3 complexes . . . . . . . . . . . . . . . . . . . 92
5.7 Structure 3D d’une interaction de type clef-serrure . . . . . . . . . . . . 93
S1 Diagrammes par complexe de l’energie en fonction du I ´ RMSD (EvsRMS) 123
S2 Diagrammes EvsRMS pour les Benchmarks I et II . . . . . . . . . . . . 137
S3 Diagrammes EvsRMS des complexes avec proteine non li ´ ee . . . . . . ´ 142
xListe des tableaux
1 Matrice de confusion a deux classes . . . . . . . . . . . . . . . . . . . . ` xliii
1.1 Structures 3D, provenance et utilisation pour chaque jeu de donnees . . ´ 7
2.1 Evaluation globale de ROS sur la P ´ RIDB, au seuil du meilleur Fscore . . 22
2.2 Evaluation globale de ROS sur la P ´ RIDB, au seuil du top10 . . . . . . . 23
2.3 Evaluation des contraintes sur les poids compar ´ es´ a la fonction de score `
par defaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 32
2.4 Evaluation du mod ´ ele de pr ` ediction d ´ edi ´ e par cat ´ egorie de complexes . ´ 35
2.5 Exemples types de coefficients des termes de score hbond elev ´ es . . . ´ 39
2.6 Les complexes les plus difficiles a pr ` edire pour POS, avec filtre . . . . . ´ 40
3.1 Repartition des valeurs de chaque terme de score . . . . . . . . . . . . ´ 52
3.2 Evaluation des classifieurs Weka compar ´ es´ a R` OGER lineaire . . . . . . ´ 53
3.3 Evaluation des classifieurs R ´ OGER non lineaire compar ´ es´ a R ` OGER
lineaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ 55
4.1 Repartition de termes g ´ eom ´ etriques sur les structures natives de la P ´ RIDB 69
4.2 Resultats gros-grain VOR pour la P ´ RIDB : 12 exemples . . . . . . . . . . 77
4.3 Resultats gros-grain VOR pour la P ´ RIDB : 6 exemples . . . . . . . . . . 78
4.4 Resultats gros-grain positifs pour la P ´ RIDB : 6 exemples . . . . . . . . . 79
4.5 Resultats gros-grain avec valeurs de centrage pour la P ´ RIDB : 6 exemples 81
S1 Resultats globaux des complexes de la P ´ RIDB, seuil du Fscore . . . . . 145
S2 Resultats globaux des complexes de la P ´ RIDB, seuil du top10 . . . . . . 148
S3 Resultats globaux des ´ Benchmarks I et II . . . . . . . . . . . . . . . . . 149
S4 Resultats globaux des complexes avec prot ´ eine non li ´ ee . . . . . . . . . ´ 150
S5 Resultats pour les complexes des ´ Benchmarks I et II . . . . . . . . . . . 151
S6 Resultats pour les complexes avec prot ´ eine non li ´ ee des ´ Benchmarks . 152
S7 Resultats gros-grain pour les complexes de la P ´ RIDB . . . . . . . . . . . 155
S8 Resultats gros-grain positifs pour les complexes de la P ´ RIDB . . . . . . 158
S9 Resultats gros-grain non lin ´ eaire pour les complexes de la P ´ RIDB . . . . 161
S10 Details sur les complexes prot ´ eine-ARN issus de la P ´ RIDB . . . . . . . . 165
S11 Details sur les complexes prot ´ eine-ARN issus des ´ benchmarks I et II . . 167
S12 Resultats atomiques pour les complexes de la P ´ RIDB . . . . . . . . . . 171
xiListe des tableaux
xiiRemerciements
Ce manuscrit doit son existence a l’interaction entre une multitude de personnes `
evoluant pour une grande part au sein de l’ ´ equipe-projet Inria AMIB (Algorithmes et ´
Modeles pour la Biologie Int ` egrative), qui comprend l’ ´ equipe bioinformatique du LRI ´
(Laboratoire de Recherche en Informatique) de l’Universite Paris-Sud et l’ ´ equipe bioin- ´
formatique du LIX (Laboratoire d’Informatique de Polytechnique) de l’Ecole Polytech- ´
nique. Je souhaite ici dresser un panorama de ces personnes, panorama qui ne se
veut ni exhaustif, ni trie par score ou m ´ erite. ´
J’aimerais tout d’abord remercier mes directeurs de these dans leur ensemble pour `
nos discussions scientifiques et pour leur implication au rythme de nos nombreuses
reunions. Et plus sp ´ ecifiquement : Julie Bernauer, pour sa minutie et ses mises en ´
perspective ; Jer´ ome Az ˆ e, pour son ´ ecoute et ses propos rassurants ; Christine Froide- ´
vaux, pour sa rigueur et sa supervision tout au long des differentes ´ etapes de la th ´ ese. `
Ce sont mes encadrants qui ont contribue´ a me former sur ce qu’aucun manuel n’a su `
me transmettre.
Je tiens aussi a remercier l’ ` equipe bioinfo AMIB au complet pour cette ambiance ´
de travail a la fois studieuse et agr ` eable. Je remercie aussi plus particuli ´ erement les `
doctorants de l’equipe bioinfo AMIB pour leur soutien en cas de besoin et leurs sujets ´
de discussion passionnants sans cesse renouveles. ´
Merci aussi a Sid Chaudhury et Jeff Grey pour leurs conseils avis ` es en mati ´ ere de `
prediction structurale. ´
Je remercie Philippe Dague et Beatrice Duval pour avoir accept ´ e de faire partie de ´
mon jury de these, ainsi qu’Anne Poupon et C ` eline Rouveirol pour avoir aussi accept ´ e´
d’etre les rapporteurs de ce manuscrit. ˆ
Un grand merci aux equipes techniques du LRI et du LIX pour leur efficacit ´ e et leur ´
aide au jour le jour sur le support informatique, ainsi que les equipes administratives ´
du LRI comme du LIX et le secretariat de l’ ´ Ecole doctorale pour leur patience. ´
Je remercie l’equipe de communication d’Inria pour leur sympathie et les journ ´ ees ´
de vulgarisation tres instructives. Merci aussi au SIP (Service d’Insertion Profession- `
nelle) pour ses formations sur l’ecriture de textes scientifiques et la prise de parole. Et ´
merci a Mich ` ele Sebag pour ses cours d’apprentissage automatis ` e.´
Je souhaiterais egalement remercier Anne Fourier, pour sa compr ´ ehension, ainsi ´
que son soutien inconditionnel durant les nuits blanches – ou presque – improvisees ´
et les reveils difficiles associ ´ es. ´
Je tiens aussi a signaler qu’une grande partie des calculs n ` ecessaires aux r ´ esultats ´
evalu ´ es au cours de cette th ´ ese n’auraient pas vu le jour en moins de trois ans sans `
la participation de certaines ressources de calcul. Parmi ces ressources se trouvent le
cluster de l’equipe bioinfo AMIB, celui du LRI, ainsi que les ressources de CHP (Cal- ´
cul Haute Performance) du TGCC (Tres Grand Centre de calcul du CEA), l’allocation `
t2013077065 attribuee par Genci (Grand ´ Equipement National de Calcul Intensif). ´
Enfin, je remercie le Ministere de l’Enseignement Sup ` erieur et de la Recherche ´
ainsi que toutes les personnes qui ont contribue´ a me fournir la bourse doctorale, sans `
laquelle cette these n’aurait pas d ` ebut ´ e.´
xiiixivIntroduction
1 Contexte
Les complexes proteine-ARN jouent un r ´ ole majeur dans la cellule. Ils sont im- ˆ
pliques dans de nombreux processus cellulaires tels que la r ´ eplication et la transcrip- ´
tion des ARN messagers. Leur regulation est souvent clef dans les m ´ ecanismes qui ´
mettent en jeu de larges machineries moleculaires (comme le R ´ ISC, RNA-Induced
Silencing Complex) impliquees dans les cancers. Les interactions prot ´ eine-ARN pr ´ e-´
sentent donc un grand inter´ et pour les ˆ etudes ´ a vis ` ee th ´ erapeutique [60]. Les prot ´ eines ´
etant capables d’interagir avec l’ARN sont nombreuses et vari ´ ees : leur structure met ´
en œuvre de nombreux domaines structuraux. Entre autres, les domaines RRM et
dsRDB montrent tous une activite de liaison ´ a l’ARN et sont tr ` es` etudi ´ es [49]. Ces ´
dernieres ann ` ees, les techniques exp ´ erimentales de r ´ esolution ont mis en ´ evidence de ´
nouvelles structures d’ARN et de complexes proteines-ARN. Gr ´ ace ˆ a la cristallogra- `
phie [133] et a la r ` esonance magn ´ etique nucl ´ eaire (RMN) [227, 239], nous disposons ´
aujourd’hui de structures a haute r ` esolution qui permettent de mieux comprendre les ´
fonctions des ARN et leurs modes d’association [44, 78]. D’autres methodes exp ´ eri- ´
mentales permettent quant a elles d’ ` etudier ´ a basse r ` esolution des structures beau- ´
coup plus grandes [138, 166, 179]. Les experiences sur les mol ´ ecules uniques four- ´
nissent meme des donn ˆ ees ´ a haute r ` esolution [270] et la conception de mol ´ ecules ´
d’ARN est desormais accessible [45]. Malgr ´ e ces avanc ´ ees majeures en biologie ´
structurale pour les ARN et les complexes proteine-ARN, le nombre de structures ´
disponibles dans la Protein Data Bank, base de donnees exp ´ erimentale de r ´ ef´ erence, ´
reste faible : de l’ordre d’un ou deux milliers. La modelisation et la pr ´ ediction de ces ´
complexes sont donc necessaires, bien que difficiles [203]. ´
La modelisation des assemblages mol ´ eculaires est un probl ´ eme complexe et pour `
lequel de nombreuses methodes de pr ´ ediction et d’ ´ evaluation des r ´ esultats ont ´ et´ e´
developp ´ ees [173, 181, 249]. Le challenge international C ´ APRI (Critical Assessment
of PRediction of Interactions) 1
[121], qui evalue les pr ´ edictions faites ´ a l’aveugle, a `
montre que, malgr ´ e de grands progr ´ es, les m ` ethodes actuelles d’amarrage ont besoin ´
d’une grande quantite et d’une grande vari ´ et´ e de donn ´ ees exp ´ erimentales [67]. Bien ´
que les techniques recentes soient capables de mieux pr ´ edire et prendre en compte ´
les ions et molecules d’eau qui interviennent dans les interactions [146], la flexibilit ´ e´
des molecules reste un frein majeur. M ´ eme s’il n’est pas aujourd’hui possible de pr ˆ edire ´
1. http://capri.ebi.ac.uk
xvIntroduction
les affinites de liaison entre mol ´ ecules, l’originalit ´ e et la qualit ´ e des premiers r ´ esultats ´
obtenus sont encourageantes [146].
Les interactions entre proteines et ARN sont difficiles ´ a pr ` edire, principalement pour ´
deux raisons : la flexibilite des mol ´ ecules d’ARN d’une part et les forces ´ electrostatiques ´
qui guident l’interaction des molecules d’ARN charg ´ ees n ´ egativement d’autre part. Les ´
progres r ` ecents des techniques de pr ´ ediction de structure d’ARN et de repliement ´
[65, 66, 142, 195, 217] permettent de prendre en compte la flexibilite de l’ARN, mais ´
le plus souvent a l’ ` echelle atomique uniquement [85] et ne permettent pas ais ´ ement ´
l’integration dans une proc ´ edure d’amarrage. Cela ne pourra ´ etre fait qu’en disposant ˆ
de fonctions de score assez performantes pour selectionner les bonnes conformations. ´
Les adaptations gros-grain qui permettent de reduire notoirement les phases initiales ´
de recherche sont interessantes [153, 229] et les champs de forces statistiques d ´ edi ´ es´
[43, 113, 205, 247, 269] sont prometteurs. Toutefois, ces optimisations sont souvent
basees sur de simples mesures et font peu usage des jeux de donn ´ ees ´ a valeur ajout ` ee´
disponibles dans la communaute. La ´ Protein-RNA Interface DataBase (PRIDB) [152]
fournit des jeux de donnees nettoy ´ es de qualit ´ e. Disponibles ´ a diff ` erents niveaux de ´
redondance, ils permettent des mesures atomiques precises. Les trois jeux d’essais ´
conc¸us pour l’amarrage protein-ARN et disponibles dans la litterature [9, 112, 204] ´
permettent d’evaluer les pr ´ edictions. ´
Pour l’amarrage, la disponibilite de donn ´ ees structurales est fondamentale pour ´
les methodes d’apprentissage. Plusieurs m ´ ethodes issues de l’apprentissage ont ´ et´ e´
developp ´ ees pour les complexes prot ´ eine-prot ´ eine [6, 18, 15, 22, 27]. Ces m ´ ethodes ´
se sont aver´ ees efficaces pour la r ´ e´evaluation ´ a posteriori (rescoring) et l’optimisation
d’experiences d’amarrage ´ in silico, comme l’ont montre les derni ´ eres ` editions de C ´ APRI
[251, 272]. Les techniques d’apprentissage sont donc de plus en plus etudi ´ ees et se ´
sont developp ´ ees au sein de la communaut ´ e C´ APRI [148].
Dans ce travail, je me suis interess ´ e au d ´ eveloppement de nouvelles m ´ ethodes ´
d’apprentissage pour les complexes proteine-ARN. Dans cette introduction, apr ´ es avoir `
present ´ e la structure des diff ´ erentes mol ´ ecules mises en jeu ainsi que leurs sp ´ ecificit ´ es´
structurales, je detaillerai les diff ´ erents mod ´ eles de repr ` esentation disponibles. Ensuite, ´
je decrirai le principe des m ´ ethodes d’amarrage et de score. Et j’aborderai enfin les ´
principes et methodes d’apprentissage en lien avec le probl ´ eme de l’amarrage. `
2 Structure des proteines et des ARN ´
Une proteine est une macromol ´ ecule biologique constitu ´ ee d’un encha ´ ˆınement
lineaire d’acides amin ´ es reli ´ es par une liaison peptidique. La prot ´ eine est le r ´ esultat de ´
l’expression d’un gene, port ` e par l’acide d ´ esoxyribonucl ´ eique (ADN), qui est d’abord ´
transcrit en acide ribonucleique (ARN) messager, lui-m ´ eme traduit en prot ˆ eine par ´
le ribosome (voir fig. 1). Les ARN sont formes d’un encha ´ ˆınement lineaire d’acides ´
nucleiques. De nombreux ARN ne codent pas pour des prot ´ eines et ont une structure ´
et une fonction propre. On distingue par exemple les ARN de tranfert (ARNt). Leur
fonction est de permettre l’ajout d’un acide amine´ a la cha ` ˆıne d’acides amines d’une ´
xvi2. Structure des proteines et des ARN ´
proteine en cours de synth ´ ese. Les ARNt ont une structure tr ` es particuli ` ere, dite en `
trefle du fait de leur forme en repr ` esentation 2D. ´
E
H
A D W Y
M
V S
N
Noyau
ADN
ARN polymérase
ARN messager
ARN de transfert Acide aminé
Ribosome
Protéine
TRANSCRIPTION
TRADUCTION
E
C
FIGURE 1 – Du gene ` a la prot ` eine. ´ Le gene (en bleu clair), appartenant ` a une mol ` ecule ´
d’ADN, est transcrit en ARN messager (en beige) par un enzyme : l’ARN polymerase. ´
Puis l’ARN messager est traduit en proteine dans le ribosome. ´ A cette traduction par- `
ticipent notamment les ARN de transfert. Image de J. Bernauer.
Dans les conditions physiologiques, la proteine se replie, adoptant par ce biais une ´
conformation compacte specifique. Ce repliement peut ´ etre spontan ˆ e – par l’interaction ´
de la proteine avec le solvant – ou bien se faire gr ´ ace ˆ a des prot ` eines sp ´ ecialis ´ ees, ´
appelees les chaperonnes. Dans certains cas, une maturation peut se produire par ´
l’ajout de glucides ou bien par le clivage de certaines parties de la proteine. Ensuite, ´
la proteine, mature et repli ´ ee, est soit lib ´ er´ ee dans le cytoplasme, soit dirig ´ ee vers une ´
membrane, soit encore excret ´ ee dans le milieu ext ´ erieur. ´
Tout changement, qu’il soit dans les conditions du milieu (temperature, pH, force ´
ionique, presence d’agents chimiques) ou dans l’encha ´ ˆınement des acides amines (par ´
mutagenese ou par modification chimique), peut modifier le repliement de la prot ` eine ´
ou ses interactions et moduler son activite.´
Le repliement des proteines est impos ´ e d’une part par les interactions entre les ´
differents acides amin ´ es qui les composent et, d’autre part, entre ces acides amin ´ es´
et le solvant. Cependant, toutes les interactions ne sont pas parfaitement connues
xviiIntroduction
et la complexite de ce ph ´ enom ´ ene est telle que, ` a l’heure actuelle, son d ` eroulement ´
est impossible a d ` ecrire. La structure adopt ´ ee par une prot ´ eine de m ´ eme que ses ˆ
interactions avec differents partenaires peuvent ´ etre d ˆ etermin ´ ees exp ´ erimentalement ´
mais cette determination peut ´ etre longue et difficile, m ˆ eme avec l’essor des projets de ˆ
genomique structurale qui ont mis en place des strat ´ egies de r ´ esolution de structure ´
a haut d ` ebit. ´ Etant donn ´ e le nombre actuellement connu de s ´ equences prot ´ eiques ´
et d’interactions potentielles, la determination exp ´ erimentale de toutes les structures ´
correspondantes n’est pas envisageable. Il faut donc se tourner vers la modelisation, ´
qui tente de prevoir non seulement le repliement des prot ´ eines en partant de leurs ´
sequences, mais aussi la conformation du complexe ´ a partir de la structure de chacun `
de ses partenaires determin ´ ee s ´ epar ´ ement. ´
De la meme fac¸on, le repliement des ARN est d ˆ uˆ a l’interaction entre les nucl ` eotides ´
qui le composent, le solvant et – les molecules d’ARN ´ etant charg ´ ees – les ions. ´
Comme pour les proteines, les interactions mises en jeu lors du repliement sont mal ´
connues. La connaissance de ces interactions est rendue encore plus difficile par les
aspects electrostatiques et les liaisons hydrog ´ ene tr ` es nombreuses. Les mol ` ecules ´
d’ARN sont a la fois beaucoup plus flexibles et moins stables que les prot ` eines, ce qui ´
rend a la fois leur r ` esolution exp ´ erimentale et leur mod ´ elisation plus difficiles. ´
On definit plusieurs niveaux d’organisation de la structure des prot ´ eines et des ´
acides nucleiques (voir fig. 2) : ´
– la structure primaire, ou sequence, est l’encha ´ ˆınement des acides amines ou des ´
nucleotides ; ´
– la structure secondaire resulte d’interactions ´ a courte distance (essentiellement `
des liaisons hydrogene entre atomes). Pour les prot ` eines, elles ne d ´ ependent ´
qu’en partie de la nature des chaˆınes laterales des acides amin ´ es impliqu ´ es : ´
certains segments de la proteine adoptent ainsi une conformation p ´ eriodique ´
d’angles diedres successifs. Pour les ARN, ces interactions sont li ` ees ´ a la nature `
des nucleotides et au type d’appariement que ceux-ci peuvent former ; ´
– la structure tertiaire est la forme fonctionnelle repliee d’une cha ´ ˆıne proteique ´
ou nucleique. Elle r ´ esulte de l’assemblage selon une topologie d ´ etermin ´ ee des ´
structures secondaires ;
– la structure quaternaire, qui comprend les complexes, est l’association de plusieurs
chaˆınes d’acides amines ou d’acides nucl ´ eiques (de cha ´ ˆınes identiques ou non).
2.1 Les acides amines´
Un acide amine est une mol ´ ecule constitu ´ ee d’un carbone asym ´ etrique (appel ´ e´
carbone α ou Cα) lie´ a un groupement carboxyle COOH, un groupement amin ` e NH ´ 2
,
un hydrogene H et un radical R, aussi appel ` e la cha ´ ˆıne laterale. ´
Selon la conformation du carbone α, on parle d’acide amine D ou L (voir fig. 3). ´
Les appellations D et L ont et ´ e donn ´ ees ´ a l’origine pour d ` esigner les compos ´ es´
dextrogyres et levogyres. Cependant, la conformation D ou L ne permet pas de pr ´ evoir ´
les propriet ´ es optiques d’un acide amin ´ e. Chaque acide amin ´ e doit son nom ´ a la nature `
de son radical. Les acides amines naturels les plus courants sont au nombre de 20, ´
xviii2. Structure des proteines et des ARN ´
FIGURE 2 – Les differents niveaux de structure : (A) prot ´ eines, (B) ARN. La fonction des ´
assemblages formes est d ´ ependante des diff ´ erents niveaux. Image de J. Bernauer. ´
R
Cα
- H OOC
+H3N
R
Cα
H COONH3
+
L-acide aminé D-acide aminé
FIGURE 3 – Formes D et L d’un acide amine. Ces formes, non superposables, sont ´
l’image l’une de l’autre dans un miroir. Image de J. Bernauer.
xixIntroduction
tous de configuration L (voir fig. 4). Certaines proteines contiennent un petit nombre ´
d’acides amines modifi ´ es tels que l’hydroxyproline ou la s ´ el ´ enocyst ´ eine. ´
H2N CH C
CH3
OH
O
H2N CH C
CH
OH
O
CH3
CH3
H2N CH C
CH2
OH
O
CH CH3
CH3
H2N CH C
CH
OH
O
CH3
CH2
CH3
H2N CH C
CH2
OH
O
H2N CH C
CH2
OH
O
CH2
S
CH3
H2N CH C
CH2
OH
O
HN
HN
C OH
O
Alanine
(Ala,A)
Valine
(Val,V)
Leucine
(Leu,L)
Isoleucine
(Ile,I)
Phénylalanine
(Phe, F)
Méthionine
(Met, M)
Tryptophane
(Trp, W)
Proline
(Pro, P)
Acides aminés non polaires
Acides aminés polaires non chargés
H2N CH C
H
OH
O
H2N CH C
CH2
OH
O
C
NH2
O
H2N CH C
CH2
OH
O
CH2
C
NH2
O
H2N CH C
CH2
OH
O
SH
H2N CH C
CH2
OH
O
OH
H2N CH C
CH
OH
O
OH
CH3
H2N CH C
CH2
OH
O
OH
Glycine
(Gly, G)
Asparagine
(Asn, N)
Glutamine
(Gln,Q)
Cystéine
(Cys, C)
Sérine
(Ser, S)
Thréonine
(Thr, T)
Tyrosine
(Tyr, Y)
Acides aminés basiques Acides aminés acides
H2N CH C
CH2
OH
O
CH2
CH2
CH2
NH3
+
H2N CH C
CH2
OH
O
CH2
CH2
NH
C
NH2
NH2
+
H2N CH C
CH2
OH
O
+HN
NH
H2N CH C
CH2
OH
O
CH2
C
O-
O
H2N CH C
CH2
OH
O
C
O-
O
Lysine
(Lys, K)
Arginine
(Arg, R)
Histidine
(His, H)
Acide glutamique
(Glu, E)
Acide aspartique
(Asp, D)
FIGURE 4 – Les 20 acides amines usuels. Image de J. Bernauer. ´
La nature du radical R (aussi appele cha ´ ˆıne laterale) conf ´ ere ` a chaque acide amin ` e´
des propriet ´ es physico-chimiques particuli ´ eres (encombrement st ` erique, hydrophobie, ´
polarite, acidit ´ e, flexibilit ´ e, ´ etc.). Ces propriet ´ es permettent le repliement de la prot ´ eine, ´
garantissent ainsi sa stabilite, et permettent son activit ´ e biochimique. ´
2.2 Les acides nucleiques ´
Un acide nucleique, comme l’ARN ou l’ADN, est form ´ e de sous-unit ´ es appel ´ ees des ´
nucleotides. Les nucl ´ eotides sont form ´ es d’une base azot ´ ee appel ´ ee une base, d’un ´
cycle a cinq atomes de carbone appel ` e un sucre (ribose pour l’ARN et d ´ esoxyribose ´
pour l’ADN) et d’un groupement phosphate (voir fig. 5). Comme pour les acides amines, ´
pour les nucleotides, les parties correspondant au squelette – ´ a savoir le sucre et le `
groupement phosphate – sont identiques pour tous les nucleotides. Ceux-ci ne diff ´ erent `
donc que par leurs bases.
xx2. Structure des proteines et des ARN ´
FIGURE 5 – Les nucleotides. Image de Wikipedia. ´
On distingue principalement cinq types de bases : l’adenine (A), la guanine (G), ´
la cytosine (C), l’uracile (U) et la thymine (T). Elles appartiennent a deux familles `
differentes : les purines, qui sont form ´ ees de deux cycles aromatiques (l’un ´ a cinq `
et l’autre a six atomes), et les pyrimidines qui sont form ` ees d’un cycle aromatique ´ a`
six atomes. L’ARN contient principalement les quatre bases A,U,G et C. Il existe aussi
d’autres nucleotides parfois en interaction dans un complexe prot ´ eine-ARN : ce sont les ´
nucleotides non standards. Ces nucl ´ eotides non standards sont g ´ en´ eralement obtenus ´
par l’ajout ou le retrait d’un groupement chimique a la base azot ` ee. ´
2.3 La structure primaire ou sequence ´
2.3.1 Definition ´
La structure primaire d’une proteine, ´ egalement appel ´ ee cha ´ ˆıne polypeptidique, est
l’enchaˆınement de ses acides amines. Lors de la traduction, le groupement acide d’un ´
acide amine est li ´ e au groupement amin ´ e de l’acide amin ´ e suivant ; cette liaison est ´
appelee liaison peptidique. La nature de cette liaison impose certaines contraintes ´
spatiales : en particulier, le C et le O du groupement carboxyle du premier acide amine,´
ainsi que le N et le Cα de l’acide amine suivant sont coplanaires (voir fig. 6). ´
Les liaisons covalentes etablies lors de la traduction ne sont g ´ en´ eralement pas ´
modifiees. Les exceptions peuvent ´ etre la coupure de certaines parties de la cha ˆ ˆıne
proteique, l’ ´ etablissement de ponts disulfure entre deux cyst ´ eines ou encore la liaison ´
avec des glucides lors de la maturation. Une proteine comprend entre 30 et 30 000 ´
acides amines, la moyenne se situant autour de 330 [268]. On appelle squelette de la ´
proteine, la cha ´ ˆıne des N, Cα, C, et O de tous les acides amines qui la constituent. ´
La structure primaire d’un ARN est la succession de ses nucleotides. Les bases ´
etant form ´ ees de cycles aromatiques, elles sont planes. Les bases s’apparient de la ´
fac¸on suivante : l’adenine forme deux liaisons hydrog ´ ene avec l’uracile et la guanine `
forme trois liaisons hydrogene avec la cytosine (voir fig. 7). Cette derni ` ere paire est `
donc plus stable.
xxiIntroduction
FIGURE 6 – Geom ´ etrie de la liaison peptidique telle que d ´ ecrite par Linus Pauling [197], ´
figure 1.
FIGURE 7 – Appariement des nucleotides et h ´ elice d’ADN. Image adapt ´ ee de ´
Wikipedia.
xxii2. Structure des proteines et des ARN ´
2.3.2 Determination ´
La determination de la s ´ equence d’une prot ´ eine est une ´ etape indispensable de son ´
etude. En effet, la s ´ equence donne non seulement des informations sur le repliement ´
de la proteine (surtout s’il est possible de d ´ etecter des similitudes avec des prot ´ eines ´
dont la structure est connue), mais egalement sur sa fonction et sur sa localisation ´
cellulaire.
Cette determination se fait g ´ en´ eralement de mani ´ ere indirecte, par traduction de `
la sequence du g ´ ene. De nombreuses techniques peuvent ` etre utilis ˆ ees ´ a des fins de `
sequenc¸age ´ a grande ` echelle [111]. ´
Cette methode ne permet cependant pas de conna ´ ˆıtre d’elements tels que les ´
ev´ enements post-traductionnels, en particulier les substitutions, les glycosylations ou ´
les del ´ etions d’une partie de la cha ´ ˆıne. Pour connaˆıtre directement la structure primaire
d’une proteine de petite taille (moins de 150 acides amin ´ es), il est possible d’utiliser la ´
spectroscopie de masse [237]. Mais la sequence peut ´ egalement ´ etre d ˆ ecoup ´ ee – par ´
digestion enzymatique ou chimique – en tronc¸ons d’une longueur inferieure ´ a 30 acides `
amines. La s ´ equence de l’ensemble de ces tronc¸ons peut ensuite ´ etre d ˆ etermin ´ ee par ´
micro-sequenc¸age. ´
La determination d’une s ´ equence d’ARN se fait par s ´ equenc¸age, soit directement, ´
soit par conversion en ADN complementaire (ADNc) ´ a l’aide d’une transcriptase in- `
verse.
2.4 La structure secondaire
2.4.1 Definition ´
On appelle structure secondaire reguli ´ ere une partie de la cha ` ˆıne adoptant une
conformation periodique. Ces structures sont stabilis ´ ees par des r ´ eseaux de liaisons ´
hydrogene entre les acides amin ` es non voisins dans la cha ´ ˆıne polypeptidique.
Les premieres structures secondaires ont ` et´ e d ´ efinies par Linus Pauling en 1951 ´
[196, 197] : l’helice ´ α et le brin β. Ce sont deux structures secondaires tres largement `
majoritaires dans les proteines. Ces organisations mol ´ eculaires d’une part minimisent ´
les genes st ˆ eriques et les r ´ epulsions ´ electrostatiques entre les cha ´ ˆınes laterales et ´
maximisent le nombre de liaisons hydrogene : elles sont donc tr ` es largement favoris ` ees ´
[128].
Dans une proteine, en moyenne, la moiti ´ e des acides amin ´ es est impliqu ´ ee dans ´
des structures secondaires reguli ´ eres. L’autre moiti ` e des r ´ esidus se trouve impliqu ´ ee´
dans des boucles reliant entre elles les structures secondaires reguli ´ eres. En moyenne, `
la longueur d’un brin β est de cinq acides amines, celle d’une h ´ elice ´ α est de six acides
amines, tandis que celle d’une boucle est de douze acides amin ´ es [51]. ´
L’helice ´ α est stabilisee par des liaisons hydrog ´ ene entre des acides amin ` es de la ´
meme h ˆ elice – des acides amin ´ es distants de seulement 3, 5 r ´ esidus en moyenne dans ´
la chaˆıne polypeptidique (voir fig. 8). Meme isol ˆ ee, l’h ´ elice ´ α est stable.
Au contraire, le brin β n’est stable qu’associe´ a au moins un autre brin ` β, formant
ainsi un feuillet (voir fig. 9). Les brins d’un feuillet peuvent etre tous dans le m ˆ eme sens ˆ
xxiiiIntroduction
FIGURE 8 – Helice ´ α telle que represent ´ ee dans l’article original de Linus Pauling [197], ´
figure 2.
xxiv2. Structure des proteines et des ARN ´
– on parle alors de brins paralleles – ou bien ` etre positionn ˆ es alternativement dans un ´
sens et dans l’autre – on parle alors de brins antiparalleles. Les liaisons hydrog ` ene `
FIGURE 9 – Brins β tels que represent ´ es dans l’article original de Linus Pauling [196]. ´
assurant la cohesion des acides amin ´ es entre eux s’ ´ etablissent entre acides amin ´ es´
distants dans la sequence. ´
La quantite et l’agencement des structures secondaires r ´ eguli ´ eres conduisent ` a`
classer les proteines en cinq cat ´ egories : tout- ´ α, tout-β, α/β (alternance d’helices ´ α et
de brins β), α+β (structures contenant des helices ´ α et des brins β sans alternance),
et ”autres” [185, 191].
La structure secondaire des ARN correspond aux motifs cre´es par les diff ´ erents ´
appariements des nucleotides. Alors que l’ADN existe principalement sous forme de ´
doubles helices compl ´ etement appari ` ees, l’ARN est souvent simple brin et forme de ´
nombreux motifs varies. L’ARN est en effet plus flexible et peut former des structures ´
plus complexes, du fait des liaisons hydrogene possibles avec le groupement hydroxyle `
du sucre.
On distingue plusieurs motifs de structures secondaires pour l’ARN : les helices et ´
differents types de boucles. Les encha ´ ˆınements possibles de ces el ´ ements sont parfois ´
classes en familles de structures secondaires : les tetraloops, les pseudonœuds, les ´
tiges-boucles, etc.
Bien qu’etant un motif de structure tertiaire, pour les acides nucl ´ eiques, l’h ´ elice ´
depend de la structure secondaire : en effet, elle correspond ´ a une r ` egion de structure ´
secondaire formee de paires de bases cons ´ ecutives. ´
La tige-boucle est un motif qui correspond a une h ` elice termin ´ ee par une courte ´
boucle de nucleotides non appari ´ es (voir fig. 10). C’est un motif extr ´ emement courant ˆ
et qu’on retrouve dans des motifs plus grands tels que le trefle ` a quatre feuilles qui `
caracterise les ARN de transfert. Les boucles internes, s ´ erie de bases non appari ´ ees ´
au sein d’une helice, et les renflements, r ´ egions dans lesquelles un brin est compos ´ e´
de bases inser´ ees ”en plus” non appari ´ ees sont aussi fr ´ equentes. Ces r ´ egions sont ´
aussi parfois appelees jonctions. ´
Les pseudonœuds correspondent a une structure secondaire disposant de deux `
xxvIntroduction
FIGURE 10 – Exemple de motifs de structure secondaire d’ARN : A) la tige boucle B)
le pseudonœud. Image adaptee de Wikipedia. ´
tiges-boucles et dans laquelle la moitie d’une tige est intercal ´ ee entre les deux moiti ´ es´
de l’autre tige (voir fig. 10). Les pseudonœuds se replient en 3D en forme de nœuds
mais ne sont pas des nœuds au sens topologique. De multiples processus biologiques
reposent sur la formation de pseudonœuds (l’ARN de la telom ´ erase humaine par ex- ´
emple). Bien que l’ADN puisse former des pseudonœuds, ceux-ci ne sont trouves´
naturellement que chez les ARN.
2.4.2 Determination ´ a partir d’une solution `
A partir d’une solution de prot ` eine purifi ´ ee, il est possible d’estimer la composition ´
globale en structures secondaires reguli ´ eres (nombre d’acides amin ` es participant ´ a`
des brins β ou a des h ` elices ´ α) par des methodes spectroscopiques : ´
– dichro¨ısme circulaire vibrationnel ou ultra-violet [194] ;
– spectroscopie infrarouge [202] ;
– spectroscopie Raman [4] ;
– analyse des deplacements chimiques en RMN (r ´ esonance magn ´ etique nucl ´ eaire) ´
[258].
Cependant, pour les proteines, l’unique moyen de d ´ eterminer avec pr ´ ecision la position ´
dans la structure tertiaire de ces structures secondaires reguli ´ eres reste de d ` eterminer ´
completement la structure tertiaire. Pour l’ARN, la structure secondaire est en plus `
accessible grace ˆ a la structure tertiaire, mais celle-ci est bien plus difficile ` a r ` esoudre ´
experimentalement. Il est toutefois possible d’obtenir la structure secondaire de fac¸on ´
experimentale : soit par s ´ equenc¸age, soit ´ a l’aide de m ` ethodes de sondage. On peut ´
citer les sondages par modification chimique utilisant :
– les radicaux hydroxyles, qui attaquent les cycles des sucres exposes [129, 246] ; ´
– le DMS (dimethyl sulfate), qui modifie certaines bases en les methylant, et les ´
sites qui ne peuvent plus ensuite s’apparier sont detect ´ es par RT-PCR [241] ; ´
– le CMCT (1-Cyclohexyl-3-(2-Morpholinoethyl)Carbodiimide metho-p-Toluene sulfonate),
qui modifie les uridines et les guanines exposees (suivi aussi d’une ´
detection par RT-PCR) [88] ; ´
– le kethoxal (1,1-Dihydroxy-3-ethoxy-2-butanone), qui modifie aussi les guanines
exposees [97] ; ´
– et la methode de sondage S ´ HAPE (Selective 2’-Hydroxyl Acylation analyzed by
xxvi2. Structure des proteines et des ARN ´
Primer Extension), qui comprend des reactifs ayant une pr ´ ef´ erence pour les ´
zones flexibles du squelette de l’ARN [176].
Il existe aussi des methodes de sondage sans traitement chimique ´ (In-line probing)
qui permettent de voir les changements structuraux dus aux interactions [97] ou de
cartographie par interference utilisant des analogues de nucl ´ eotides ´ (NAIM) [219].
2.4.3 Determination ´ a partir des coordonn ` ees atomiques ´
Meme lorsqu’on dispose des coordonn ˆ ees atomiques d’une prot ´ eine, il n’est pas ´
evident d’identifier les structures secondaires r ´ eguli ´ eres. Bien ` evidemment, il ne s’agit ´
plus ici de determiner le nombre et la nature des structures secondaires r ´ eguli ´ eres, `
mais plutot de d ˆ eterminer la position exacte de leurs extr ´ emit ´ es dans la s ´ equence. ´
Il existe de nombreux programmes permettant de realiser l’attribution des structures ´
secondaires des proteines, ´ a savoir : dire ` a quel type de structure secondaire participe `
chaque acide amine. La comparaison de ces programmes montre que les r ´ esultats ´
obtenus par les differentes m ´ ethodes peuvent ´ etre assez diff ˆ erents au niveau des lim- ´
ites de chaque structure secondaire.
Pour les ARN, la determination des structures secondaires est bien plus simple. ´
L’attribution d’une structure secondaire aux acides nucleiques des extr ´ emit ´ es peut ´ etre ˆ
delicate, mais de nombreux programmes proposent cette d ´ etermination. ´
2.4.4 Prediction ´
La prediction des structures secondaires est une ´ etape int ´ eressante de l’ ´ etude ´
d’une proteine. En effet, elle permet d’ ´ emettre des hypoth ´ eses sur la nature du repliement, `
aide a localiser des r ` esidus du site actif, ou encore ´ a donner une hypoth ` ese quant ` a`
la localisation de la proteine dans la cellule (en particulier pour les prot ´ eines mem- ´
branaires).
Il existe un certain nombre de logiciels de prediction de structure secondaire, fond ´ es´
sur des methodes diff ´ erentes [87, 216]. D ´ esormais, les pr ´ edictions obtenues sont ex- ´
actes a plus de 75 %, comme le montrent les r ` esultats de l’exp ´ erience C ´ ASP.
De la meme fac¸on, la pr ˆ ediction des structures secondaires est un champ de ´
recherche tres actif. De nombreuses techniques ont ` et´ e d ´ evelopp ´ ees [110, 171, 210, ´
230, 274]. Une des difficultes majeures est ensuite de savoir dans quelle mesure les ´
structures locales des bases affectent la structure tertiaire des ARN.
2.5 La structure tertiaire
2.5.1 Definition ´
La structure tertiaire d’une proteine est la description du repliement d’une cha ´ ˆıne
polypeptidique en sa forme fonctionnelle, ainsi que des liaisons covalentes apparues
apres la traduction (essentiellement les ponts disulfure), la pr ` esence ´ eventuelle d’ions ´
ou de cofacteurs plus complexes (heme, flavine ad ` enine dinucl ´ eotide ou FAD...). Les ´
structures tertiaires sont tres vari ` ees et tr ´ es complexes. `
xxviiIntroduction
Les chaˆınes polypeptidiques de grande taille (plus de 200 acides amines) se replient ´
souvent en plusieurs regions fonctionnelles. On parle de domaine si ces unit ´ es fonc- ´
tionnelles adoptent un repliement stable lorsqu’elles sont isolees. ´
Quand deux sequences prot ´ eiques pr ´ esentent plus de 30 % d’identit ´ e de s ´ equence, ´
elles adoptent le meme repliement [47, 221]. En dessous de ce seuil, il est difficile ˆ
de prevoir, par les m ´ ethodes classiques d’alignement de s ´ equence, si deux prot ´ eines ´
vont adopter la meme structure tertiaire. De plus, certaines prot ˆ eines adoptent des ´
repliements similaires sans presenter d’identit ´ e de s ´ equence d ´ etectable ; c’est le cas ´
notamment de la superfamille des immunoglobulines [102].
Le repliement repose principalement sur des interactions a courte distance. Ces `
interactions ont lieu, d’une part, entre les acides amines enfouis dans la prot ´ eine, et, ´
d’autre part, entre les acides amines de la surface et les mol ´ ecules du solvant [215]. ´
Ces interactions sont des liaisons hydrogene, des ponts salins ou des liaisons de type `
Van der Waals.
La structure tertiaire des ARN est, de la meme fac¸on, la description du repliement ˆ
de la chaˆıne polynucleotidique en sa forme 3D fonctionnelle. Celle-ci repose princi- ´
palement sur les appariements Watson-Crick (GC et AU) qui forment les helices. Dans ´
les acides nucleiques, les h ´ elices sont des polym ´ eres en forme de spirale, en g ` en´ eral ´
droite, contenant deux brins de nucleotides appari ´ es. Un tour d’h ´ elice est constitu ´ e´
d’environ 10 nucleotides et contient un grand et un petit sillon. ´ Etant donn ´ e la diff ´ erence ´
de largeur entre le petit et le grand sillon, de nombreuses proteines se lient par le grand ´
sillon. De nombreux types d’helices sont possibles : pour l’ARN, on rencontre princi- ´
palement des helices A. ´
2.5.2 Determination ´
La premiere structure de prot ` eine r ´ esolue a ´ et´ e celle de la myoglobine [134] par ´
cristallographie aux rayons X. A l’heure actuelle, la ` Protein Data Bank (PDB) [13, 14],
banque de donnees des structures tridimensionnelles des prot ´ eines, contient plus ´
de 33 000 fichiers, dont environ 28 000 correspondent a des structures r ` esolues par ´
cristallographie et 5 000 a des structures r ` esolues par RMN (dans sa version ´ PDB 2004
archives release #1). D’autres methodes de r ´ esolution de structure peuvent aussi ´ etre ˆ
utilisees, mais elles restent pour l’instant moins efficaces. ´
Ces methodes, m ´ eme si leurs performances se sont beaucoup am ˆ elior ´ ees, en ´
particulier avec l’apparition des projets de genomique structurale, restent tributaires ´
de conditions experimentales restrictives. La cristallographie n ´ ecessite l’obtention de ´
cristaux diffractants, ce qui demande beaucoup de materiel et de travail. Quant ´ a la `
RMN, meme si la contrainte du cristal est supprim ˆ ee, elle ne peut s’appliquer que sur ´
des proteines relativement petites (moins de 300 r ´ esidus) et il faut obtenir une quan- ´
tite importante de solution de prot ´ eine pure ´ a plus de 95 %. ` Etant donn ´ e le nombre ´
de sequences connues ´ a l’heure actuelle, il n’est donc pas envisageable de r ` esoudre ´
toutes les structures correspondantes.
Par exemple pour la cristallographie X, selon la proteine et la qualit ´ e du cristal, ´
on connaˆıt la structure avec une resolution plus ou moins bonne. ´ A basse r ` esolution ´
(superieure ´ a 3 ` A), on conna ˚ ˆıt le squelette de la proteine et les structures secondaires. ´
xxviii2. Structure des proteines et des ARN ´
A moyenne r ` esolution, on peut observer les interactions entre acides amin ´ es, en par- ´
ticulier les liaisons hydrogene et les interactions de type Van der Waals. ` A haute `
resolution (moins de 1.5 ´ A), on peut d ˚ eterminer avec pr ´ ecision longueurs et angles des ´
liaisons, l’hydratation, et les mouvements atomiques autour des positions d’equilibre. ´
Ces methodes sont aussi utilis ´ ees pour les ARN, mais ceux-ci sont plus flexibles ´
et beaucoup moins stables, ce qui rend leur resolution beaucoup plus complexe. Alors ´
que la Protein Data Bank contient aujourd’hui plus de 100 000 structures, quelques
milliers d’entre elles seulement correspondent a des structures d’ARN. `
2.5.3 Prediction ´
Modelisation par homologie ´ Lorsqu’on peut etablir une similitude entre la s ´ equence ´
dont on cherche la structure et une sequence dont la structure tridimensionnelle est ´
connue (support), il est possible de construire un modele de la structure recherch ` ee. ´
Un modele obtenu de la sorte est d’autant plus pr ` ecis que l’identit ´ e de s ´ equence en- ´
tre le support et la sequence ´ a mod ` eliser est forte. Pour de faibles taux d’identit ´ e, on ne ´
connaˆıt avec precision, dans le mod ´ ele, que les acides amin ` es strictement conserv ´ es, ´
et les parties ne comportant pas de longues insertions/del ´ etions. Le mod ´ ele obtenu `
n’est donc pas l’equivalent d’une structure d ´ etermin ´ ee par des m ´ ethodes physiques. ´
Cependant, il rend souvent compte du comportement du site actif ou encore des parties
de la proteine n ´ ecessaires ´ a son repliement ou ` a son interaction avec des parte- `
naires.
Les methodes d’enfilage ´ Les methodes d’enfilage, ou ´ threading, permettent de
tester la compatibilite d’une s ´ equence avec un repliement [240]. Dans ce cas, pour ´
une sequence donn ´ ee, on cherche parmi les structures connues, celle qui est la plus ´
compatible avec la sequence dont on dispose. ´
La modelisation ´ ab initio La finalite des techniques de mod ´ elisation ´ ab initio est
de predire la structure d’une prot ´ eine ´ a partir de sa seule s ` equence. De nombreux ´
modeles de calculs sont utilis ` es, faisant appel par exemple ´ a la dynamique mol ` eculaire. ´
Mais, meme si les progr ˆ es sont cons ` equents, les r ´ esultats sont tr ´ es variables, comme `
l’atteste l’experience ´ CASP [25] ou l’etat du projet ´ folding@home 2
.
Evaluation des pr ´ edictions : l’exp ´ erience C ´ ASP 3 L’experience C ´ ASP (Critical Assessment
of Methods of Protein Structure Prediction) est une competition qui a lieu ´
tous les deux ans depuis 1994 et a pour objectif de tester les methodes de pr ´ ediction ´
de structure. Des proteines, dont la structure vient d’ ´ etre r ˆ esolue mais pas encore ´
publiee, sont propos ´ ees aux pr ´ edicteurs. Ceux-ci doivent tenter de pr ´ edire, selon la ´
categorie, la structure ´ ab initio, la structure par homologie ou la structure secondaire.
2. http://folding.stanford.edu/
3. http://predictioncenter.org/
xxixIntroduction
Les evaluations des pr ´ edictions [62, 141, 182] montrent d’importants progr ´ es dans la `
prediction de structure ´ ab initio (voir fig. 11).
FIGURE 11 – Predictions issues d’une session de C ´ ASP. Predictions de structures ´
obtenues a l’aide du logiciel Rosetta [29] pour ` CASP6. Image originale en couverture
du journal PROTEINS : Structure, Function, and Bioinformatics, volume 61 du 26
septembre 2005.
Ces techniques s’appliquent aux proteines et aux ARN, avec plus de succ ´ es pour `
les proteines. ´
2.6 La structure quaternaire
2.6.1 Definition ´
La structure quaternaire est la geom ´ etrie de l’association de plusieurs sous-unit ´ es´
proteiques ou nucl ´ eiques. Certaines prot ´ eines ne sont fonctionnelles que sous forme ´
d’oligomeres. Il existe des oligom ` eres form ` es de sous-unit ´ es identiques, comme par ´
exemple le tetram ´ ere de la thymidylate synthase X, et des oligom ` eres r ` eunissant des ´
sous-unites diff ´ erentes, comme les histones. On parlera alors de complexes. Enfin, cer- ´
taines proteines forment des polym ´ eres, constitu ` es d’un tr ´ es grand nombre de sous- `
unites, comme les polym ´ eres actine/myosine dans les muscles. `
L’association de ces sous-unites est stabilis ´ ee par des interactions ´ a courte dis- `
tance, similaires a celles qui assurent la stabilit ` e de la structure tertiaire (essentielle- ´
xxx2. Structure des proteines et des ARN ´
ment des liaisons hydrogene, des ponts salins et des interactions hydrophobes) [48, `
125].
2.6.2 Determination ´
L’existence d’oligomeres de cha ` ˆınes proteiques ou nucl ´ eiques, qu’elles soient ou ´
non identiques, peut etre d ˆ etermin ´ ee par filtration sur gel ou centrifugation analytique ´
par exemple. Mais leur existence peut aussi etre d ˆ etermin ´ ee par des m ´ ethodes de ´
biochimie et de biologie moleculaire plus pouss ´ ees et qui peuvent ´ etre utilis ˆ ees de ´
maniere syst ` ematique, telles que, pour les prot ´ eines, l’analyse double-hybride [116], ´
l’analyse par TAP-tag (ou FLAP-tag) couplee´ a la spectrom ` etrie de masse [92, 109]. ´
La geom ´ etrie de l’association peut ´ etre d ˆ etermin ´ ee´ a basse r ` esolution par diffusion ´
des rayons X ou des neutrons aux petits angles, chromatographie sur gel ou encore
par microscopie electronique ´ a la fois pour les prot ` eines ou les ARN. ´
La connaissance de l’interaction au niveau des acides amines peut se faire, soit ´
directement par la determination de la structure par cristallographie aux rayons X, soit ´
par l’etude des interactions par RMN, ou encore indirectement, par mutagen ´ ese dirig ` ee´
ou modification chimique selective des cha ´ ˆınes laterales de certains acides amin ´ es. ´
Mais, en plus des contraintes associees aux deux m ´ ethodes vues pr ´ ec´ edemment, s’a- ´
joutent les contraintes inherentes aux complexes, telles que la taille, mais aussi, et ´
surtout, leur instabilite. En effet, pour pouvoir ´ etre ˆ etudi ´ e d’un point de vue structural, ´
un complexe doit etre stable dans les conditions requises. Or, de tr ˆ es nombreux com- `
plexes sont transitoires. Ainsi, meme s’il est d ˆ esormais possible d’obtenir la structure ´
de nombreuses proteines isol ´ ees de plus en plus rapidement, la r ´ esolution des struc- ´
tures de complexes reste difficile.
2.6.3 Prediction ´
Le premier modele de complexe prot ` eine-prot ´ eine (trypsine/inhibiteur) a ´ et´ e r ´ ealis ´ e´
en 1972 [20]. C’est en 1978 qu’est apparu le premier algorithme d’amarrage [259]. Les
procedures d’amarrage utilisent les coordonn ´ ees atomiques des deux macromol ´ ecules ´
partenaires, gen´ erent un grand nombre de conformations et leur attribuent un score `
[260]. Cette modelisation est en g ´ en´ eral assimil ´ ee´ a la recherche de modes d’asso- `
ciation complementaires entre deux mol ´ ecules de forme pr ´ ed´ efinie. Un certain degr ´ e´
de flexibilite peut parfois ´ etre pris en compte, mais en g ˆ en´ eral, l’amarrage prot ´ eine- ´
proteine et prot ´ eine-ARN est principalement envisag ´ e dans une approche d’associa- ´
tion de corps rigides.
Ces methodes s’appliquent ´ a des prot ` eines et acides nucl ´ eiques diff ´ erents, mais ´
peuvent aussi etre envisag ˆ ees pour d ´ eterminer l’ ´ etat d’oligom ´ erisation d’une prot ´ eine ´
ou d’un ARN. Elles peuvent prendre en compte les symetries connues comme pour ´
les proteines virales [12, 52, 199, 224], mais aussi utiliser des ´ etudes plus fines des ´
interfaces [19, 7, 200, 271].
xxxiIntroduction
3 Les complexes proteine-prot ´ eine et prot ´ eine-ARN ´
3.1 Fonctions
Au niveau moleculaire, la fonction d’une prot ´ eine ou d’un ARN est souvent subor- ´
donnee´ a l’interaction avec un certain nombre de partenaires. Les complexes inter- `
viennent a de nombreux niveaux et la compr ` ehension de leur m ´ ecanisme de forma- ´
tion/association permet de mieux comprendre de nombreux processus. Pour se rendre
compte de leur importance, on peut citer des assemblages tels que le ribosome, les
anticorps/antigenes, les capsides virales ou encore les microtubules. Ainsi, la fonction `
d’une proteine ou d’un ARN ne peut ´ etre envisag ˆ ee sans tenir compte des interactions. ´
3.2 Detection exp ´ erimentale biochimique prot ´ eine-prot ´ eine ´
Les interactions proteine-prot ´ eine sont pr ´ esentes partout et en grand nombre. C’est ´
la raison pour laquelle de nouvelles methodes exp ´ erimentales d’analyse syst ´ ematique ´
sont developp ´ ees [123]. Deux types sont pr ´ esent ´ es dans la suite, les m ´ ethodes d’anal- ´
yse par double-hybride et celles utilisant des marqueurs.
3.2.1 Le double-hybride sur la levure
La premiere m ` ethode utilis ´ ee pour ´ etudier dans la levure les interactions prot ´ eine- ´
proteine ´ a grande ` echelle a ´ et ´ e l’analyse par double hybride. Cette technique, mise ´
au point en 1989, permet la detection indirecte de l’interaction, car celle-ci induit la ´
formation d’un complexe moleculaire activant un g ´ ene rapporteur [81] (voir fig. 12). `
Cependant, dans cette detection, le nombre de faux positifs (les interactions d ´ etect ´ ees ´
mais non presentes) et de faux n ´ egatifs (les interactions pr ´ esentes non d ´ etect ´ ees) est ´
tres important. C’est donc une m ` ethode relativement peu fiable, ´ a moins de refaire un `
grand nombre de fois ces experiences, en plus d’exp ´ eriences compl ´ ementaires, ce qui ´
est relativement couteux et long dans une approche g ˆ enomique. ´
De plus, cette methode ne peut d ´ etecter dans sa forme originelle que des com- ´
plexes binaires. Or, la detection et la caract ´ erisation de complexes multiprot ´ eiques sont ´
tres importantes. `
Deux etudes sur la levure utilisent le double-hybride pour la d ´ etection syst ´ ematique ´
[116, 248]. Il est toutefois tres difficile de comparer ces ` etudes entre elles, en raison ´
principalement des problemes de fiabilit ` e dus aux contraintes exp ´ erimentales. ´
3.2.2 Utilisation de marqueurs (TAP-tag et FLAP-tag)
Deux autres etudes ont ´ et ´ e men ´ ees sur la levure ´ S. cerevisiae [92, 109] pour identifier
et comprendre le role de complexes cellulaires dans la cellule eucaryote. Des ˆ
centaines de sequences codantes de levure ont ´ et´ e fusionn ´ ees ´ a des cassettes d’ADN `
codant pour des marqueurs de purification. Puis, les souches de levure ont et´ e cul- ´
tivees, chacune exprimant une prot ´ eine cible marqu ´ ee, et soumises ´ a une proc ` edure ´
xxxii3. Les complexes proteine-prot ´ eine et prot ´ eine-ARN ´
Gal4
BD
X Gal4
AD
Y
Gal4
BD
X
Gal4
AD
Y
Gal4
BD
X
Gal4
AD
Y
ARN
Polymerase
LacZ
Interaction protéine-protéine
Identification des colonies bleues
X
GalBD
Y
GalAD
Vecteur appât Vecteur cible
FIGURE 12 – Schema de principe de d ´ etection des interactions prot ´ eine-prot ´ eine par ´
double-hybride chez la levure. La proteine Gal4 est l’activateur naturel des diff ´ erents ´
genes intervenant dans le m ` etabolisme du galactose. Elle agit en se fixant sur des ´
sequences appel ´ ees UASG ´ (Upstream Activating Sequence GAL) qui regulent la tran- ´
scription. Les proteines ´ etudi ´ ees (X et Y), partenaires potentiels d’interaction, sont ´
fusionnees, l’une au domaine de fixation de Gal4 sur l’ADN (domaine DBD ou ´ DNA
Binding Domain), et l’autre au domaine de Gal4 activant la transcription (domaine AC
ou Activation Domain). C’est ce qui donne a ce syst ` eme le nom de double-hybride. `
Quand il y a interaction entre X et Y, les domaines DBD (DNA-Binding Domain) et
AD (Activation Domain) sont associes et forment un activateur de transcription DBD- ´
X/Y-AD. C’est cet activateur hybride qui va se lier a l’ADN au niveau des s ` equences ´
qui controlent le g ˆ ene rapporteur (les s ` equences UASG), permettant la transcription du ´
gene par l’ARN polym ` erase II. Il suffit ensuite d’observer le produit du g ´ ene rapporteur, `
pour voir si un complexe s’est forme entre les prot ´ eines X et Y. Souvent, le g ´ ene LacZ `
est inser´ e dans l’ADN de la levure juste apr ´ es le promoteur Gal4, de fac¸on ` a ce que, `
si l’interaction a lieu, le gene LacZ, qui code pour la ` β-galactosidase, soit produit. Sur
un substrat approprie, la ´ β-galactosidase devient bleue, ce qui permet de determiner ´
simplement si l’interaction a lieu. Image de J. Bernauer.
xxxiiiIntroduction
dans laquelle les complexes entiers, contenant la proteine marqu ´ ee, ont ´ et´ e purifi ´ es. ´
Ensuite, les complexes ont et ´ e fractionn ´ es par ´ electrophor ´ ese sur gel et leurs com- `
posants identifies par spectrom ´ etrie de masse. ´
Il est tres difficile de comparer les r ` esultats obtenus par ces ´ etudes car les jeux ´
utilises ne sont pas identiques et le prot ´ eome complet de la levure n’a pas pu ´ etre ˆ
analyse. Globalement, ces ´ etudes donnent des r ´ esultats en accord avec celles r ´ ealis ´ ees ´
prec´ edemment, mais dans le d ´ etail, les r ´ esultats et la compl ´ etude des donn ´ ees ne per- ´
mettent pas de conclure.
De plus, il est aussi difficile, pour les memes raisons, de comparer les ˆ etudes util- ´
isant des marqueurs et les etudes de double-hybride pr ´ esent ´ ees pr ´ ec´ edemment. ´
L’ensemble de ces etudes exp ´ erimentales permet de pr ´ edire environ 15 000 com- ´
plexes proteine-prot ´ eine potentiels pour le g ´ enome de la levure. Parmi ces 15 000 ´
complexes, beaucoup s’avereront ` etre des faux positifs et il est certain qu’il existe ˆ
egalement un grand nombre de faux n ´ egatifs. ´
3.3 Les methodes d’amarrage ´
3.3.1 Le probleme `
Le but des methodes d’amarrage est de pr ´ edire la structure d’un complexe ´ a partir `
des structures ou modeles des partenaires isol ` es (voir fig. 13). Le probl ´ eme se divise `
+ ?
A
B
AB
FIGURE 13 – Le probleme de l’amarrage. Comment associer la prot ` eine A et la prot ´ eine ´
B ? Des configurations AB obtenues, laquelle est susceptible d’exister in vivo ? Image
de J. Bernauer.
xxxiv3. Les complexes proteine-prot ´ eine et prot ´ eine-ARN ´
en deux etapes : d’abord, on explore l’espace pour obtenir toutes les conformations ´
possibles et ensuite, on trie ces conformations en esperant classer en premier la con- ´
formation native observee exp ´ erimentalement. ´
Avec une approximation de corps rigides, si on considere chaque partenaire comme `
une sphere de 15 ` A de rayon ˚ a la surface de laquelle les propri ` et´ es atomiques sont ´
decrites sur une grille de 1 ´ A, une recherche syst ˚ ematique pr ´ esente 10 ´
9 modes distincts
d’association [57]. La question est ensuite de determiner, parmi ces modes d’as- ´
sociation, lequel est le mode natif.
Pour pouvoir acceder aux changements de conformation et aux mouvements des ´
chaˆınes laterales et des bases, le mod ´ ele doit ` etre de type ”soft”, c’est- ˆ a-dire que `
les molecules doivent pouvoir l ´ eg´ erement s’interp ` en´ etrer et on doit consid ´ erer les ´
molecules comme des ensembles de sph ´ eres articul ` ees. Ainsi, il est possible de traiter ´
aussi bien les molecules issues de r ´ esolution de structures de prot ´ eines seules, c’est- ´
a-dire non-li ` ees ´ (unbound), ou complexees, c’est- ´ a-dire li ` ees ´ (bound).
3.3.2 Les algorithmes
Le premier algorithme, invente par Shoshana Wodak et Jo ´ el Janin [124, 259] ¨ a`
partir des travaux de Cyrus Levinthal [149] realise une recherche de l’espace sur six ´
degres de libert ´ e (cinq rotations et une translation) pour amener les deux mol ´ ecules ´
en contact une fois leur orientation fixee, et attribue un score simple en fonction de la ´
surface de contact. Pour gagner du temps sur le calcul de la surface, une approximation
a partir du mod ` ele de Levitt [150] est r ` ealis ´ ee. Cet algorithme a ´ et´ e am ´ elior ´ e en 1991 ´
a l’aide d’une minimisation d’ ` energie [46]. ´
D’autres types d’algorithmes, utilisant la complementarit ´ e de surface, ont ´ et´ e mis ´
en œuvre a partir d’une description en points critiques d ` efinis comme des ”trous et ´
bosses” (knobs and holes) [57, 145, 264]. Les solutions donnees correspondent ´ a une `
concordance de groupes de quatre points critiques, laquelle est identifiee gr ´ ace ˆ a une `
triangulation de surface comme definie par M. Connolly en 1985 [56]. Cette m ´ ethode ´
a et ´ e beaucoup am ´ elior ´ ee en 1991 par H. Wang, avec la mod ´ elisation de la surface ´ a`
l’aide d’une grille [255].
En 1992, un programme utilisant ces grilles pour les petites molecules a ´ et´ e modifi ´ e´
par I. Kuntz et ses collaborateurs, pour s’appliquer aux complexes proteine-prot ´ eine et ´
a permis d’obtenir de bons resultats [175, 232] tout en g ´ en´ erant de nombreux faux- ´
positifs.
Des algorithmes de vision par ordinateur (computer vision) a partir de hachage `
geom ´ etrique ont ensuite ´ etendu la m ´ ethode des ”trous et bosses”. En 1993 a ´ et´ e´
developp ´ e un algorithme qui fait correspondre des propri ´ et´ es de surface ´ a partir de `
triplets de points critiques qui sont stockes dans des tables de hachage [84, 163]. Cette ´
methode, tr ´ es efficace pour les mol ` ecules de type li ´ e, est tr ´ es sensible aux faibles vari- `
ations de surface, ce qui la rend rapidement inefficace pour les molecules de type ´
non-lie. ´
xxxvIntroduction
3.3.3 La transformation de Fourier
Parmi toutes les methodes de compl ´ ementarit ´ e de surface, celle utilisant la trans- ´
formation de Fourier rapide (Fast Fourier Transform ou FFT), apparue des 1991 [126], `
est l’une des plus simples et des plus utilisees [10, 35, 40, 41, 132, 143, 180, 235, 257]. ´
Une grille cubique est tracee, et, ´ a chaque point, on attribue un poids qui est n ` egatif et ´
important si le point est situe´ a l’int ` erieur de la prot ´ eine A, nul s’il est ´ a l’ext ` erieur et 1 ´
s’il est proche de la surface ; on fait de meme pour la prot ˆ eine B. ´
Le produit est donc important et positif (donc defavorable) si les deux volumes ´
moleculaires s’interp ´ en´ etrent, et n ` egatif (donc favorable) pour les points qui apparti- ´
ennent a la surface d’une mol ` ecule et au volume de l’autre. Lorsque la mol ´ ecule A ´
est translatee par rapport ´ a la mol ` ecule B, le score peut ´ etre rapidement calcul ˆ e par ´
transformation de Fourier rapide (FFT), si la grille de A est identique a la grille de B. La `
grille doit donc etre red ˆ efinie ´ a chaque nouvelle orientation pour que la recherche soit `
complete. `
Cette approche presente de nombreux avantages : les poids peuvent contenir des ´
informations sur les propriet ´ es physico-chimiques de la surface, et la r ´ esolution peut ´
etre ajust ˆ ee en limitant le nombre de termes de Fourier calcul ´ es dans la somme. ´
Les resultats obtenus par cette m ´ ethode sont relativement bons dans une approche ´
corps rigide [11, 39, 170], mais le temps de calcul associe est trop important pour une ´
approche a grande ` echelle. ´
3.3.4 Algorithmes d’amarrage et partitionnement du probleme `
Ces quinze dernieres ann ` ees, en particulier gr ´ ace ˆ a l’exp ` erience d’amarrage C ´ APRI
(Critical Assessment of PRediction of Interactions) [118, 119, 120, 122, 261], plusieurs
nouvelles methodes ont vu le jour [234]. Cette exp ´ erience est un test ´ a l’aveugle des `
algorithmes de docking de macromolecules qui doivent pr ´ edire le mode d’association ´
de deux proteines ´ a partir de leur structure tridimensionnelle. La structure du complexe, `
resolue exp ´ erimentalement, n’est d ´ evoil ´ ee aux participants et publi ´ ee qu’ ´ a l’issue des `
soumissions.
Les nouvelles methodes d’amarrage utilisent des techniques tr ´ es vari ` ees telles que ´
le hachage geom ´ etrique [83, 115, 188, 189, 190, 220, 225, 262], les algorithmes ´
gen´ etiques [91], les harmoniques sph ´ eriques [213], la dynamique mol ´ eculaire [32, ´
137, 238], la minimisation Monte-Carlo [100, 226], ou encore des methodes de min- ´
imisation d’energie ou de d ´ etection d’interfaces dirig ´ ees par des donn ´ ees biologiques ´
[69, 178, 250] (voir section 2.1.1 page 11).
Le domaine de recherche a beaucoup progresse et l’une des conclusions de cette ´
experience est que l’on dispose d’algorithmes de recherche de compl ´ ementarit ´ e de ´
surfaces performants [174]. Cependant, la deuxieme ` etape du processus d’amarrage, ´
a savoir le tri des configurations putatives obtenues par une fonction de score, reste `
a am ` eliorer, car la seule m ´ ethode r ´ eellement performante ´ a l’heure actuelle est l’- `
expertise humaine. Les fonctions energ ´ etiques classiquement utilis ´ ees ayant montr ´ e´
leurs limites [42, 53, 77, 79, 104, 108, 154], de nouvelles fonctions de score statistiques
sont apparues. Essentiellement basees sur les propri ´ et´ es physico-chimiques ´
xxxvi4. La tessellation de Vorono¨ı et ses deriv ´ ees pour l’amarrage ´
des atomes, elles ont tout d’abord et´ e utilis ´ ees pour le repliement et l’amarrage de ´
petites molecules, puis adapt ´ ees ´ a l’amarrage prot ` eine-prot ´ eine [64, 265, 266, 267]. ´
4 La tessellation de Vorono¨ı et ses deriv ´ ees pour l’a- ´
marrage
La premiere utilisation connue de la tessellation de Vorono ` ¨ı est la modelisation de la ´
repartition de l’ ´ epid ´ emie de chol ´ era de Londres par John Snow en 1854, dans laque- ´
lle est demontr ´ ee que la fontaine au centre de l’ ´ epid ´ emie est celle de Broad Street, ´
en plein coeur du quartier de Soho. Depuis lors, les applications utilisant cette construction
sont nombreuses : en met´ eorologie d’abord, par A.H. Thiessen, en cristallo- ´
graphie par F. Seitz et E. Wigner, qui ont aussi donne leur nom ´ a cette construction ; `
mais aussi en physiologie (analyse de la repartition des capillaires dans les muscles), ´
metallurgie (mod ´ elisation de la croissance des grains dans les films m ´ etalliques), robo- ´
tique (recherche de chemin en presence d’obstacles) et bien d’autres. ´
La tessellation de Vorono¨ı, ainsi que les autres tessellations qui en ont et´ e d´ eriv ´ ees ´
(voir fig. 14), sont aussi beaucoup utilisees en biologie, o ´ u elles permettent de nom- `
breuses representations des structures des prot ´ eines [201]. ´
Etant donn ´ e un ensemble de points appel ´ es centro ´ ¨ıdes, la tessellation de Vorono¨ı divise
l’espace au maximum en autant de regions qu’il y a de points (voir paragraphe ´
4.1.2 page 60). Chaque region, appel ´ ee cellule de Vorono ´ ¨ı, est un polyedre qui peut `
etre consid ˆ er´ e comme la zone d’influence du point autour duquel est trac ´ ee la cellule. ´
4.1 Constructions
Dans le cadre de l’analyse structurale des proteines, la tessellation de Vorono ´ ¨ı a
et ´ e utilis ´ ee pour la premi ´ ere fois par Richards en 1974 [211] pour ` evaluer, dans une ´
proteine globulaire, les volumes des atomes, d ´ efinis par les volumes de leurs poly ´ edres `
de Vorono¨ı. Dans cette etude, Richards est le premier ´ a proposer une solution ` a deux `
problemes que l’on retrouve dans toutes les ` etudes qui utilisent cette construction. ´
Tout d’abord, les atomes exposes au solvant ayant peu de voisins, leurs cellules de ´
Vorono¨ı sont grandes et ont un volume tres grand, peu repr ` esentatif de leurs propri ´ et ´ es. ´
Ensuite, cette construction considere tous les atomes comme ` equivalents, sans tenir ´
compte de leur nature chimique.
Pour resoudre le premier probl ´ eme, Richards a plac ` e des mol ´ ecules d’eau sur un ´
reseau cubique entourant la prot ´ eine et a relax ´ e leurs positions. Cette m ´ ethode a ´ et´ e´
ensuite affinee par Gerstein et ses collaborateurs [94, 95, 243, 244, 245]. D’autres ´
methodes ont ´ et ´ e propos ´ ees telles que : ´
– prendre en consideration uniquement les atomes ayant une cellule de Vorono ´ ¨ı de
volume raisonnable [206] ;
– placer les molecules d’eau en utilisant la dynamique mol ´ eculaire [31, 37] ; ´
– utiliser une representation d’union de sph ´ eres [172] ; `
xxxviiIntroduction(a) (b) (c)
(d) (e) (f)
(g) (h)
Diagramme de Voronoï Triangulation de Delaunay
Méthode B de Richards
zone non attribuée
Décomposition en polyèdres de Laguerre Union de sphères
α-Complexe Diagramme de Voronoï pondéré
FIGURE 14 – Tessellation de Vorono¨ı et constructions deriv ´ ees ´ (a) Construction d’une
cellule de Vorono¨ı : on trace la mediatrice entre un point donn ´ e et chacun des autres ´
points et ensuite, on considere le plus petit poly ` edre d ` efini par ces m ´ ediatrices ; c’est ´
la cellule de Vorono¨ı de ce meme point. (b) On obtient le diagramme de Vorono ˆ ¨ı (en
violet) en rep´ etant l’op ´ eration pour tous les points de l’ensemble. (c) La triangulation ´
de Delaunay contient les aretes roses et les triangles ainsi d ˆ efinis. C’est le dual du ´
diagramme de Vorono¨ı. (d) Dans la methode de Richards, on ne consid ´ ere pas la `
mediatrice, mais on d ´ efinit une droite perpendiculaire au segment qui coupe celui-ci en ´
fonction des poids attribues´ a chacun des atomes. Cela laisse une zone non attribu ` ee. ´
(e) Si on remplace les droites prec´ edentes par les plans radicaux des sph ´ eres, on `
obtient a nouveau un pavage de l’espace : le diagramme de puissance ou tessellation `
de Laguerre. (f) L’intersection du diagramme de Laguerre et des spheres donne ce `
qu’on appelle l’union des spheres. (g) On d ` efinit une r ´ egion restreinte comme une ´
boule restreinte a sa r ` egion de Vorono ´ ¨ı. L’α-complexe correspond alors aux aretes ˆ
et aux triangles definis par l’intersection de deux ou trois r ´ egions restreintes. L’ ´ α-
shape est le domaine de l’α-complexe. (h) La surface de division d’un diagramme de
Vorono¨ı ponder´ e est d ´ efinie par l’ensemble des points dont la distance aux deux points ´
de ref´ erence est ´ egale au rayon de la sph ´ ere correspondante plus une constante. Cette `
surface n’est pas plane, mais le diagramme correspondant est un pavage de l’espace.
Image de A. Poupon.
xxxviii4. La tessellation de Vorono¨ı et ses deriv ´ ees pour l’amarrage ´
– utiliser un melange entre la repr ´ esentation en diagramme de puissance et la ´
representation en union de sph ´ eres (voir fig. 14). `
Pour resoudre le probl ´ eme des poids des atomes, Richards a propos ` e d’introduire des ´
poids lors du placement des plans dans la construction de Vorono¨ı. Cette methode, ap- ´
pelee´ methode B de Richards ´ , a et ´ e tr ´ es utilis ` ee. Elle manque de rigueur math ´ ematique ´
car on trouve des volumes non attribues entre les cellules, l’intersection des plans ´
n’etant plus r ´ eduite ´ a un point. Cependant, Richards a montr ` e que ce volume mort, ´
bien que non nul, est petit en comparaison des volumes des atomes. Cette methode a ´
et ´ e de nombreuses fois am ´ elior ´ ee [82, 212], jusqu’ ´ a utiliser le diagramme de Laguerre `
[93] ou le diagramme de Vorono¨ı dit ponder´ e [58, 96], dans lequel les faces des cellules ´
ne sont plus planes (voir fig. 14).
Une analyse formelle de toutes ces applications a et´ e r ´ ealis ´ ee par Edelsbrunner ´
et ses collaborateurs [72, 73, 74, 158, 159]. En plus des utilisations des tessellations
de Vorono¨ı/Delaunay/Laguerre, ils mettent en place la notion d’α-shape pour les
proteines : c’est un sous-ensemble des segments issus de la tessellation de Delaunay ´
qui sont contenus dans le volume de la proteine (voir fig. 14). Cela permet de mod ´ eliser ´
l’interieur de la prot ´ eine et de d ´ etecter les vides et les cavit ´ es [160]. ´
4.2 Mesures
Toutes ces constructions ont permis de montrer que la tessellation de Vorono¨ı est
un bon modele math ` ematique de la structure des prot ´ eines. Elle permet en particulier ´
de montrer que les proteines sont des objets compacts, c’est- ´ a-dire que la densit ` e´
d’atomes a l’int ` erieur d’une prot ´ eine est comparable ´ a celle observ ` ee dans les cristaux ´
de petites molecules [95, 107]. De m ´ eme, une analyse o ˆ u les centro ` ¨ıdes sont les centres
geom ´ etriques des acides amin ´ es a permis de montrer que les prot ´ eines sont aussi ´
des objets compacts au sens des modeles classiques des mati ` eres condens ` ees en ´
physique [3, 236].
Elle a egalement servi ´ a l’analyse des cavit ` es dans les structures [8, 72, 157, 198], ´
a l’ ` etude de propri ´ et ´ es m ´ ecaniques des prot ´ eines [136, 192, 222], ´ a la mise en place `
de potentiels empiriques pour l’affinement de modeles structuraux [23, 34, 90, 140, `
156, 161, 183, 256, 273], ou encore a la d ` etection des h ´ elices transmembranaires [1]. ´
De telles methodes ont aussi ´ et´ e utilis ´ ees pour d ´ etecter les cavit ´ es des prot ´ eines ´
susceptibles d’interagir, mais aussi pour ajuster les ligands dans les poches ou encore
etudier les interactions prot ´ eine-ADN [24, 28, 63, 186, 187]. Des ´ etudes util- ´
isant le modele B de Richards ou la construction de Laguerre ont montr ` e qu’ ´ a l’inter- `
face proteine-ADN et prot ´ eine-prot ´ eine, la densit ´ e de l’empilement est la m ´ eme qu’ ˆ a`
l’interieur de la prot ´ eine pour la grande majorit ´ e des complexes [59]. ´
Plus recemment, la tessellation de Vorono ´ ¨ı a et´ e employ ´ ee pour la pr ´ ediction des ´
complexes proteine-prot ´ eine, en particulier afin d’obtenir des descripteurs gros-grains ´
pour la discrimination entre complexes cristallographiques et biologiques et pour les
fonctions de score d’amarrage [27, 18, 17, 16, 15]. Ce type de methode est d ´ etaill ´ e au ´
chapitre 4.
xxxixIntroduction
5 Fonctions de score
Traditionnellement, les fonctions de score pour la prediction de la structure de ´
macromolecules biologiques ont pour objectif de repr ´ esenter l’ ´ energie libre de la struc- ´
ture. Pour quantifier l’energie libre d’une structure, les fonctions de score adoptent ´
differentes m ´ ethodes. Parmi celles-ci, on compte des m ´ ethodes empiriques, inspir ´ ees ´
des lois de la physique ou provenant de l’expertise des simulations de dynamique
moleculaire. On compte aussi des m ´ ethodes bas ´ ees sur la connaissance, ´ i.e. issues
de mesures sur des structures biologiques resolues exp ´ erimentalement. ´
De recents protocoles de pr ´ ediction des interactions prot ´ eine-prot ´ eine font ´ etat ´
de l’usage de ces methodes [18, 15, 22, 6, 27, 98]. RosettaDock [98] emploie un ´
melange de m ´ ethodes empiriques et de mod ´ elisation de lois physiques. Par exem- ´
ple, deux partenaires en interaction ont au moins un certain nombre d’atomes en interaction
: cette simple observation est modelis ´ ee par une simple fonction continue ´
decroissante du nombre d’atomes en interaction. D’autres types de repr ´ esentation des ´
interactions locales, comme par exemple l’hydrophobicite,´ i.e. l’absence d’affinite entre ´
les molecules de solvant et les groupements hydrophobes n ´ ecessitent des fonctions ´
plus elabor ´ ees. Les fonctions de score d ´ evelopp ´ ees pour et utilis ´ ees par RosettaDock ´
[98] sont plus amplement detaill ´ ees dans la partie consacr ´ ee´ a l’ ` evaluation des confor- ´
mations par RosettaDock (voir section 2.1.1.2).
Des fonctions de score s’appuyant sur une modelisation simplifi ´ ee de la structure, ´
dite gros-grain, ont dej ´ a permis d’orienter les pr ` edictions [18]. Ces fonctions de score ´
sont gen´ eralement plus simples, moins co ´ uteuses ˆ a calculer, ` a utiliser en amont d’une `
prediction plus sp ´ ecifique. ´
Pour predire l’interaction, il est possible d’utiliser certaines donn ´ ees externes, ´ i.e.
ne provenant pas de la structure putative des molecules en interaction. On peut ainsi ´
voir des fonctions de score utiliser la conservation de sequences entre deux prot ´ eines ´
a travers l’ ` evolution pour inf ´ erer le comportement ´ a l’interaction d’une prot ` eine par ´
rapport a l’autre [22]. En effet, si une s ` equence est fortement conserv ´ ee entre deux ´
proteines, il y a de grandes chances pour que cette s ´ equence joue un r ´ ole dans au ˆ
moins l’une des fonctions de chacune des deux proteines. Cependant, ces donn ´ ees ´
externes ne sont pas forcement toujours accessibles, ce qui limite leur utilisation dans ´
le cadre d’une prediction d’interactions ´ a grande ` echelle. Leur mauvaise interpr ´ etation ´
peut aussi parfois etre source d’erreur. La cible num ˆ ero 6 de C ´ APRI par exemple, bien
que mettant en jeu des anticorps, traite d’une interaction n’impliquant pas le CDR
(Complementarity determining regions) ou a lieu l’interaction avec l’antig ` ene. Il peut `
en outre s’averer compliqu ´ e de comparer la qualit ´ e de pr ´ edictions effectu ´ ees par une ´
methode de pr ´ ediction incluant des donn ´ ees externes de fac¸on optionnelle. ´
Mais aussi, des mesures plus complexes, comme un calcul de la complementarit ´ e´
de forme entre les deux partenaires, ont permis de mieux resoudre des interactions de ´
type clef-serrure. Il s’agit ici de l’utilisation de mesures faisant intervenir de fac¸on plus
importante la geom ´ etrie de la structure, sans forc ´ ement tenir compte de param ´ etres `
davantage d’ordre biophysique. La construction du diagramme de Vorono¨ı a permis
d’obtenir d’autres types de mesures geom ´ etriques sur la structure [15, 27]. De telles ´
xl6. Apprentissage automatise´
mesures geom ´ etriques ont montr ´ e qu’il ´ etait possible de mieux ´ evaluer l’empilement ´
sterique des prot ´ eines ´ a l’interaction, avec pour contrepartie de devoir construire le `
diagramme de Vorono¨ı.
De maniere plus g ` en´ erale, les fonctions de score jouent un r ´ ole important en ap- ˆ
prentissage automatise dans la traduction d’un ensemble d’attributs caract ´ erisant un ´
exemple donne en une sortie num ´ erique. Si cette sortie num ´ erique peut parfaitement ´
constituer l’estimation d’une observable, d’autres methodes pr ´ ef´ erent l’utiliser pour `
trier, voire pour classer les exemples.
6 Apprentissage automatise´
Un panorama relativement exhaustif de l’etat de l’art en apprentissage est disponible ´
en ref ´ erence [61]. Il propose une r ´ epartition des applications relevant du domaine de ´
l’apprentissage artificiel selon deux grands axes : (i) reconnaissance des formes et
(ii) extraction de connaissances a partir des donn ` ees. Mais il est ´ egalement possible ´
de partitionner l’apprentissage automatique en fonction de la nature des donnees qui ´
sont etudi ´ ees : ´ apprentissage supervise´, ou les donn ` ees sont partiellement labellis ´ ees ´
(etiquet ´ ees), ´ vs apprentissage non supervise´ (donnees sans labels). ´
Dans le cadre de l’analyse des proteines (pr ´ ediction d’interactions prot ´ eine-prot ´ eine ´
et amarrage proteine-prot ´ eine), nous nous sommes focalis ´ es sur des m ´ ethodologies ´
relevant du domaine de l’apprentissage supervise : apprentissage d’un ´ modele pr ` edictif ´
a partir des donn ` ees connues. ´
6.1 Paradigme de l’apprentissage supervise´
Le paradigme de l’apprentissage supervise peut se r ´ esumer de la fac¸on suivante : ´
etant donn ´ e un ensemble d’exemples ´ etiquet ´ es, apprendre un mod ´ ele capable de `
predire au mieux les ´ etiquettes de nouveaux exemples ´ .
Soient X l’ensemble des exemples (ou donnees) et ´ Y l’ensemble des etiquettes ´
(notees aussi ´ classes) pouvant etre associ ˆ ees aux exemples. Dans le cadre des ´
travaux present ´ es dans ce manuscrit, seules des ´ etiquettes binaires ont ´ et´ e con- ´
sider´ ees : ´ Y = {+1, −1} (notees ´ egalement ´ {+, −} ou encore presque-natifs (+) et
leurres (-) dans la suite du document).
Les donnees peuvent se r ´ epartir en deux cat ´ egories : ´
– les donnees d ´ ej ´ a` etiquet ´ ees, en g ´ en´ eral pr ´ esentes en faible quantit ´ e car il est ´
souvent tres co ` uteux d’obtenir l’ ˆ etiquette associ ´ ee´ a une donn ` ee (par exemple, ´
obtenir la structure d’un complexe proteine-ARN par une exp ´ erience de cristallo- ´
graphie). Ces donnees seront utilis ´ ees pour apprendre un mod ´ ele permettant de `
predire les ´ etiquettes de nouveaux exemples. ´
– les donnees non ´ etiquet ´ ees, qu’il est en g ´ en´ eral ais ´ e d’obtenir. Dans notre cas, ´
nous pouvons utiliser un algorithme de gen´ eration de conformations pour obtenir ´
un large ensemble de conformations proteine-ARN non ´ etiquet ´ ees. ´
xliIntroduction
L’ensemble des donnees d ´ ej ´ a` etiquet ´ ees est partitionn ´ e en un ´ ensemble d’apprentissage
et ensemble de validation. Nous designerons l’ensemble d’apprentissage par ´
A = {(x1, y1), (x2, y2), . . . , (xn, yn)} avec xi ∈ R
d et yi ∈ Y, ∀i ∈ {1, . . . , n}. xi est un
vecteur de dimension d ou chaque dimension repr ` esente l’une des caract ´ eristiques de ´
l’exemple xi
.
L’apprentissage se deroule classiquement en trois phases, pour lesquelles on forme ´
a partir de l’ensemble d’apprentissage un ` jeu d’apprentissage :
1. l’apprentissage sur le jeu d’apprentissage d’un modele permettant de pr ` edire au ´
mieux les donnees d’apprentissage ; ´
2. l’evaluation ´ de ce modele sur des jeux de donn ` ees extraits de l’ensemble d’ap- ´
prentissage (par exemple grace ˆ a une proc ` edure de validation-crois ´ ee ou de ´
leave-one-out) ;
3. le test du modele obtenu sur un jeu de donn ` ees ´ etiquet ´ e, qui est disjoint de ´
l’ensemble d’apprentissage, l’ensemble de validation.
Le processus d’evaluation des performances d’un mod ´ ele appris n ` ecessite d’utiliser ´
des donnees non utilis ´ ees pour l’apprentissage afin de ne pas biaiser les ´ evaluations ´
de performances. Pour ce faire, l’evaluation s’effectue sur un mod ´ ele d’ ` evaluation, ´
specifiquement appris pour la phase d’ ´ evaluation. Ce mod ´ ele d’ ` evaluation est appris ´
de la meme mani ˆ ere que lors de la phase d’apprentissage, mais avec une partition de `
l’ensemble d’apprentissage : une partie des exemples est utilisee pour apprendre le ´
modele d’ ` evaluation tandis que l’autre est utilis ´ ee pour l’ ´ evaluation proprement dite du ´
modele. Deux processus sont classiquement utilis ` es pour l’ ´ evaluation : la ´ validationcroisee´
et le leave-one-out.
L’evaluation du mod ´ ele appris par ` validation-croisee´ consiste a partitionner les `
donnees de l’ensemble d’apprentissage en ´ k parties disjointes, d’apprendre sur l’union
de k − 1 parties et d’evaluer ses performances sur la partie non utilis ´ ee. Ce processus ´
est iter´ e´ k fois, ainsi tous les exemples de A auront et´ e utilis ´ es une fois en test et ´ k −1
fois en apprentissage. Le choix de la valeur de k depend de la taille des donn ´ ees. Les ´
valeurs classiquement utilisees sont ´ k = 3 ou k = 10.
L’evaluation par ´ leave-one-out est une gen´ eralisation de la validation-crois ´ ee avec ´
k = n. Ainsi, pour chaque exemple, un modele est appris ` a partir de l’int ` egralit ´ e´
des donnees sauf l’exemple de test. Ce protocole d’ ´ evaluation est utilis ´ e lorsque les ´
donnees sont peu nombreuses et que le recours ´ a la validation-crois ` ee conduirait ´ a se `
priver d’une trop grande partie des donnees pour l’apprentissage. D ´ es que les donn ` ees ´
sont trop volumineuses, le recours a cette m ` ethode n’est plus viable car le co ´ ut de cal- ˆ
cul devient rapidement prohibitif (apprentissage de n modeles). `
Ces deux processus d’evaluation supposent une ind ´ ependance des exemples en- ´
tre eux. Or, dans le cadre de l’amarrage proteine-ARN (ou prot ´ eine-prot ´ eine), les ex- ´
emples ne sont pas independants. En effet, comme nous l’avons vu pr ´ ec´ edemment, ´
nous disposons des structures de la proteine et de l’ARN, et ´ a partir de ces deux `
structures, nous gen´ erons, via un algorithme d’amarrage, des candidats. Ces can- ´
didats vont representer notre ensemble d’apprentissage. Un sous- ´ echantillon de ces ´
donnees sera ´ etiquet ´ e positif : la conformation dite native et les presques-natifs, si ´
l’algorithme d’amarrage a reussi ´ a en g ` en´ erer. Il existe donc un lien entre toutes les ´
xlii6. Apprentissage automatise´
conformations issues d’un couple proteine-ARN. Nous avons propos ´ e une adaptation ´
du processus leave-one-out pour prendre en consideration ce lien. Il s’agit du procesus ´
leave-”one-pdb”-out qui consiste a retirer non pas uniquement une conformation lors `
du processus d’apprentissage et d’evaluation, mais ´ a retirer toutes les conformations `
associees ´ a un couple prot ` eine-ARN. ´
Les criteres d’ ` evaluation permettant de mesurer les performances des mod ´ eles `
appris sont essentiels dans tout processus d’apprentissage. De nombreux criteres `
d’evaluation ont ´ et ´ e propos ´ es dans la litt ´ erature et nous pr ´ esentons ci-apr ´ es les crit ` eres `
les plus frequemment utilis ´ es et notamment ceux que nous manipulerons dans la suite ´
de ce document.
6.2 Criteres d’ ` evaluation ´
Tout d’abord, lorsqu’un modele pr ` edictif est appliqu ´ e sur un jeu de donn ´ ees, nous ´
pouvons mesurer, pour chaque etiquette, le nombre d’exemples correctement associ ´ es´
a cette ` etiquette, ainsi que le nombre d’exemples qui lui sont incorrectement associ ´ es. ´
Ces informations sont rassemblees dans une matrice nomm ´ ee la ´ matrice de confusion.
Dans le cadre d’un modele` a deux classes, la matrice de confusion se repr ` esente ´
classiquement sous la forme d’un tableau (voir tableau 1).
Reel ´
+ -
Pr´edit
+ VP FP
- FN VN
TABLE 1 – Matrice de confusion, ou VP repr ` esente le nombre de Vrais Positifs, FP le ´
nombre de Faux Positifs, FN le nombre de Faux Negatifs et VN le nombre de Vrais ´
Negatifs. Cette matrice de confusion restreinte ´ a un probl ` eme ` a deux classes peut ` etre ˆ
etendue ´ a un probl ` eme ` a` n classes. La notion de Faux Positifs ou Faux Negatifs doit ´
alors egalement ´ etre ˆ etendue. ´
6.2.1 Criteres d’ ` evaluation globaux ´
A partir de cette matrice de confusion, de nombreux crit ` eres d’ ` evaluation peuvent ´
etre calcul ˆ es. Parmi les plus utilis ´ es, nous pouvons citer : ´
– la precision ´ P =
VP
VP+FP , qui represente le pourcentage de pr ´ edictions correctes ´
associees ´ a la classe positive (la m ` eme mesure peut ˆ etre d ˆ efinie pour la classe ´
negative) ; ´
– le rappel R =
VP
VP+F N qui represente le pourcentage d’exemples positifs ´ etant ´
correctement predits positifs (de la m ´ eme mani ˆ ere que pour la pr ` ecision, il est ´
possible de definir cette m ´ etrique pour la classe n ´ egative) ; ´
– le Fscor e(β) = (β
2+1)×P×R
β2×P+R
qui permet d’agreger en une seule m ´ etrique la pr ´ ecision ´
et le rappel ; Le parametre ` β permet de ponderer la pr ´ ecision ´ vs le rappel. Si
β < 1, le poids de la precision devient plus important, inversement, lorque ´ β > 1,
xliiiIntroduction
le poids de la precision diminue. Lorsque ´ β = 1 la precision et le rappel ont la ´
meme importance. La valeur de ˆ β est tres fr ` equemment fix ´ ee´ a 1 ; `
– l’accuracy Acc =
VP+V N
VP+V N+FP+F N qui permet d’evaluer la performance “globale” ´
d’un modele. Cette mesure repr ` esente le pourcentage de pr ´ edictions correctes ´
toutes classes confondues ;
– la sensibilite´ Se =
VP
VP+F N qui est egale au rappel de la classe positive. Cette ´
mesure est issue du domaine du traitement du signal et est largement utilisee´
dans le domaine medical ; ´
– la specificit ´ e´ Sp =
V N
FP+V N qui correspond au rappel des negatifs. Cette mesure ´
est egalement issue du domaine du traitement du signal. Son utilisation dans le ´
domaine medical est toujours associ ´ ee´ a la sensibilit ` e. Ces deux mesures per- ´
mettent d’evaluer l’efficacit ´ e d’un nouveau test m ´ edical en indiquant sa capacit ´ e´
a effectuer ` a la fois des pr ` edictions correctes pour les positifs (sensibilit ´ e), tout ´
en couvrant peu de negatifs (capacit ´ e´ evalu ´ ee par 1 ´ − Sp).
Toutes ces metriques fournissent une vision d’ensemble des performances d’un ´
modele en r ` esumant en une unique valeur le comportement du mod ´ ele pr ` edictif sur ´
l’ensemble des donnees. D’autres m ´ etriques ou crit ´ eres d’ ` evaluation ont ´ et´ e propos ´ es´
pour permettre d’obtenir une vision plus fine des performances d’un modele. Des `
modeles donnant plus d’information qu’une variable binaire peuvent profiter de crit ` eres `
d’evaluation adapt ´ es aux objectifs fix ´ es. Nous parlerons par la suite de classifieurs ´
pouvant soit donner une etiquette binaire aux exemples pr ´ edits soit leur attribuer un ´
score permettant ainsi d’ordonner les exemples. Nous les appellerons par extension
des classifieurs.
6.2.2 Criteres d’ ` evaluation “locaux” ´
Il est notamment devenu evident, depuis les ann ´ ees 2000, qu’il ´ etait insuffisant ´
d’evaluer les performances d’un classifieur uniquement avec la pr ´ ecision et le rappel. ´
De nouvelles metriques se sont rapidement impos ´ ees dans la communaut ´ e [165, 89], ´
notamment des metriques permettent d’ ´ evaluer les classifieurs associant un score ´ a`
chacune de leurs predictions. Ce score, qui peut ´ etre assimil ˆ e´ a un degr ` e de confiance ´
dans la prediction effectu ´ ee, permet alors d’ordonner les pr ´ edictions et ainsi d’obtenir ´
plus d’informations qu’une etiquette. ´
La courbe ROC (Receiver Operating Characteristic) [252, 177] permet de visualiser
le compromis entre la sensibilite et la sp ´ ecificit ´ e. La courbe ROC associ ´ ee´ a`
un classifieur ideal est constitu ´ ee de deux segments : un premier segment reliant le ´
point (0,0) au point (0,1) correspondant aux exemples positifs parfaitement ordonnes´
puis un second segment reliant le point (0,1) au point (1,1) correspondant aux exemples
negatifs ayant tous des scores inf ´ erieurs aux scores des exemples positifs. Cette ´
courbe represente un classifieur ayant la capacit ´ e de s ´ eparer parfaitement les positifs ´
des negatifs (voir fig. 15). ´
Les courbes ROC permettent de visualiser rapidement les performances d’un ou
plusieurs classifieurs. Afin de pouvoir comparer des classifieurs, notamment dans un
cadre de recherche du meilleur classifieur (selon un ou plusieurs criteres d’ ` evaluation), ´
xliv6. Apprentissage automatise´
A B
AUC = 0.5
% faux positifs
% vrais positifs
(0,0)
(0,1) (1,1)
(1,0)
FIGURE 15 – Les courbes ROC associees aux classifieurs A et B permettent de visu- ´
aliser la superiorit ´ e du classifieur A par rapport au classifieur B. ´
il est tres utile de pouvoir comparer num ` eriquement les performances de ces classi- ´
fieurs.
L’aire sous la courbe ROC – que nous appellerons par la suite ROC-AUC – est
tres largement utilis ` ee pour comparer les performances de plusieurs classifieurs. [165, ´
164] ont montre que l’aire sous la courbe ROC (AUC, ´ Area Under the Curve) est une
metrique plus fiable que l’ ´ accuracy pour comparer deux classifieurs.
De nombreux classifieurs “classiques” ont et´ e adapt ´ es pour pouvoir int ´ egrer l’opti- ´
misation de la ROC-AUC dans leur critere d’apprentissage comme les SVM [208] ou `
les arbres de decision [80]. ´
Sachant que, pour la problematique de l’amarrage prot ´ eine-ARN, seul un sous- ´
ensemble tres restreint de conformations candidates peuvent ` etre propos ˆ ees aux ex- ´
perts pour une validation experimentale, il est n ´ ecessaire de se focaliser sur des ´
metriques permettant d’identifier un sous-ensemble de conformations int ´ eressantes. ´
L’ensemble des criteres d’ ` evaluation locaux utilis ´ es sera pr ´ esent ´ e en d ´ etails dans ´
la section 1.4.
xlvIntroduction
xlviChapitre 1
Donnees ´
1.1 Jeux de donnees de complexes prot ´ eine-ARN ´
Dans cette etude, quatre jeux de donn ´ ees provenant de la litt ´ erature sont utilis ´ es : la ´
Protein-RNA Interface DataBase (PRIDB) comprenant deux versions RB1179 et RB199
[152, 254], le Benchmark I proteine-ARN [9] et le ´ Benchmark II proteine-ARN [204] ´
(voir tableau 1.1).
1.1.1 Jeu de ref´ erence des complexes prot ´ eine-ARN connus ´
La Protein-RNA Interface DataBase (PRIDB)
4 se decline en deux versions : la ´
PRIDB redondante denomm ´ ee RB1179 [152] et la P ´ RIDB non redondante RB199 [254].
Elle est disponible en tel ´ echargement sur le site de la ´ Iowa State University 4
. Ce jeu de
donnees regroupe l’ensemble des fichiers des complexes prot ´ eine-ARN de la ´ Protein
Data Bank (PDB) extraits de fac¸on semi-automatique contenant au moins une surface
d’interaction entre une proteine et un ARN. Sa version redondante (RB1179) contient ´
1 170 complexes proteine-ARN. Sa version non redondante (RB199) tire son nom des ´
199 chaˆınes d’acides amines qu’elle contient extraites de la PDB en mai 2010. ´
L’extraction des donnees de la P ´ RIDB non redondante est faite en respectant les
criteres suivants : `
– s’assurer de la qualite des donn ´ ees, en extrayant uniquement les structures ´
resolues par cristallographie et ayant une r ´ esolution d’au plus 3.5 ´ A ; ˚
– les structures extraites doivent contenir une chaˆıne d’au moins 40 acides amines, ´
dont au moins 5 en interaction avec un ARN d’au moins 5 acides nucleiques ; ´
– un acide amine est consid ´ er´ e en interaction avec un ARN si l’un de ses atomes ´
est a au plus 5 ` A d’un atome de l’un des acides nucl ˚ eiques ; ´
– pour s’assurer de la non redondance entre les donnees, l’identit ´ e de s ´ equence ´
maximale entre chacune de ses chaˆınes d’acides amines est d’au plus 30 %. ´
La PRIDB non redondante RB199 contient 133 complexes. Or, plusieurs de ses
complexes mettent en jeu plus de 2 partenaires. Nous n’utilisons donc que 120 des
complexes de la PRIDB (voir section 1.2).
4. http ://pridb.gdcb.iastate.edu/download.php
1Chapitre 1. Donnees ´
1.1.2 Jeux d’evaluation des proc ´ edures d’amarrage : ´ Benchmarks
Le Benchmark I [9] proteine-ARN contient 45 complexes prot ´ eine-ARN tandis que ´
le Benchmark II proteine-ARN contient 106 complexes. ´
Tous les complexes du Benchmark I ont une version liee et non li ´ ee de la prot ´ eine ´
(voir section 2.1.1). 11 complexes ont une version liee et non-li ´ ee (ou mod ´ elis ´ ee) de ´
l’ARN. Par la suite, on utilise l’ensemble des 45 complexes de ce jeu. Parmi ces 45
complexes, seuls 11 complexes ne sont pas dans les 120 complexes de la PRIDB non
redondante.
Sur les 106 complexes du Benchmark II, 76 complexes ont une version non liee´
de la proteine. Par la suite, on utilise aussi ces 76 complexes pour l’ ´ evaluation. Parmi ´
ces 76 complexes, 36 complexes proteine-ARN ne sont pas dans la P ´ RIDB non redondante.
Toutefois, il y a un complexe du Benchmark II (1eiy) qui met en jeu les deux
memes partenaires qu’un complexe pr ˆ esent dans la P ´ RIDB (2iy5). Seuls 35 complexes
du Benchmark sont donc utilises, 1eiy ´ etant ´ ecart ´ e et 2iy5 ´ etant utilis ´ e dans la P ´ RIDB.
Il y a 5 complexes identiques entre les 45 complexes du Benchmark I et les 36 complexes
du Benchmark II absents de la PRIDB non redondante (voir fig. 1.1). Il y a aussi
1 complexe du Benchmark I (2drb) mettant en jeu les deux memes partenaires qu’un ˆ
complexe du Benchmark II (2dra), meme si le code pdb du complexe est diff ˆ erent. ´
C’est 2dra qui est utilise. ´
Dans l’ensemble des Benchmarks, nous avons donc un total de 40 complexes (5
du Benchmark I et 29 du Benchmark II et 6 de leur union) differents des complexes ´
dej ´ a pr ` esents dans la P ´ RIDB non redondante. Pour eviter la redondance, ce sont ces ´
40 complexes que nous utilisons concernant les Benchmarks.
1.2 Nettoyage des donnees ´
Comme le protocole d’amarrage utilise prend en entr ´ ee deux partenaires et que ´
nous cherchons tout d’abord a mettre en place une proc ` edure de pr ´ ediction pour les ´
complexes binaires (le comportement des assemblages multiples etant bien plus diffi- ´
cile a d ` ecrire), nous n’utilisons que des complexes avec deux partenaires en interac- ´
tion. Les complexes de RB199 avec plus de deux partenaires en interaction (1a34 et
2q66) sont donc retires. Pour des raisons de complexit ´ e de calcul et des interactions ´
en presence, les complexes de RB199 mettant en jeu le ribosome complet ´
5 sont aussi
retires. Apr ´ es ces filtres, le jeu de donn ` ees issu de RB199 contient 120 complexes (voir ´
tableau S10).
Les atomes d’hydrogene ne sont souvent pas pr ` esents dans les structures 3D con- ´
tenues dans la PDB. Aussi, les parametres des fonctions de score ne sont d ` efinis ´
que pour les atomes lourds des acides amines (resp. acides nucl ´ eiques) standards. ´
C’est pourquoi, pour l’ensemble des complexes utilises, les hydrog ´ enes sont retir ` es´
et les acides amines (resp. acides nucl ´ eiques) non standards transform ´ es en acides ´
amines (resp. acides nucl ´ eiques) standards. Ce remplacement des acides amin ´ es´
5. Liste des complexes de RB199 mettant en jeu le ribosome complet : 1hr0, 1vqo, 2j01, 2qbe, 2vqe,
2zjr, 3f1e, 3huw, 3i1m, 3i1n, 3kiq
21.3. Utilisation des donnees ´
5
6
29
7
27
14
72
Benchmark I (45 complexes) Benchmark II (76 complexes)
RB199 (120 complexes)
FIGURE 1.1 – Diagramme de Venn du nombre de complexes proteine-ARN utilis ´ es´
par jeu de donnees externe, extrait de la PDB : la P ´ RIDB non redondante munie de
120 complexes, le Benchmark I avec 45 complexes et le Benchmark II comportant
76 complexes avec une version non liee de la prot ´ eine. ´
(resp. acides nucleiques) non standards se fait en utilisant la correspondance de la ´
PDBeChem 6
, qui recense les denominations chimiques de la PDB. Ainsi pour chaque ´
acide amine (resp. acide nucl ´ eique) non standard, on peut obtenir l’acide amin ´ e (resp. ´
acide nucleique) standard le plus proche pouvant le substituer. Cependant, une telle ´
substitution peut avoir un impact sur le resultat biologique et ainsi rendre la structure ´
consider´ ee comme native peu fiable. ´
1.3 Utilisation des donnees ´
Les donnees doivent ´ etre utilis ˆ ees pour d ´ efinir et ´ etiqueter les exemples. Il faut de ´
plus regrouper les exemples en jeux d’apprentissage et de test pour la modelisation de ´
la fonction de score comme pour l’evaluation du mod ´ ele. Mais le choix des ` etiquettes ´
depend du contexte biologique et n ´ ecessite donc de s’y attarder. C’est ce que nous ´
verrons en section 1.3.1. Nous verrons ensuite comment obtenir les exemples en section
1.3.2, leur etiquetage en section 1.3.4 et leur regroupement en diff ´ erents jeux en ´
section 1.3.5.
6. http ://www.ebi.ac.uk/pdbe-srv/pdbechem/
3Chapitre 1. Donnees ´
1.3.1 Contexte biologique : definitions ´
Dans une experience de pr ´ ediction de structure de complexe par ´ docking in silico,
nous obtenons un grand nombre de structures potentiellement proches de la structure
biologique qui n’est pas connue (voir section 2.1.1). Dans la suite, nous souhaitons
extraire des structures de complexes biologiques vraisemblables dans un ensemble
de structures issues d’une experience d’amarrage ´ (docking). Dans cet objectif, nous
mettons en œuvre une approche d’apprentissage supervise : il nous faut donc ´ etiqueter ´
les donnees en fonction de leur int ´ er´ et biologique sur des exemples pour lesquels on ˆ
connait dej ´ a la solution. `
Ainsi :
– les complexes de la PDB sont les structures obtenues experimentalement ap- ´
pelees ´ natifs ou dites natives ;
– les complexes candidats sont ceux pour lesquels on cherche a d ` eterminer s’ils ´
sont biologiquement natifs ;
– les complexes leurres sont les complexes non-natifs, i.e. ceux qui ne sont vraisemblablement
jamais formes dans la cellule ; ´
– les complexes proches de la solution native (selon un seuil a d ` eterminer en fonc- ´
tion du but recherche) sont les ´ presque-natifs.
Les jeux de donnees de r ´ ef ´ erence sont constitu ´ es de structures 3D repr ´ esentant la ´
solution biologique de l’interaction. Ce sont donc des natives. La PRIDB en contient
120, les Benchmarks 40 (11 issus du Benchmark I et 29 issus du Benchmark II).
Les 120 structures natives sont utilisees pour g ´ en´ erer un ´ ensemble de perturbations.
Cet ensemble de perturbations contient l’ensemble des exemples utilises pour ´
l’apprentissage et l’evaluation. Il correspond donc ´ a l’ensemble d’apprentissage (voir `
section 0.6.1).
Comme vu dans le chapitre prec´ edent, pour correctement valider le mod ´ ele de `
prediction, il est n ´ ecessaire d’utiliser des donn ´ ees diff ´ erentes des donn ´ ees utilis ´ ees ´
pour l’apprentissage. Une validation du modele est donc effectu ` ee gr ´ ace ˆ a un ` jeu de
validation gen´ er´ e de la m ´ eme mani ˆ ere mais ` a partir des 40 structures des ` Benchmarks.
Ce jeu de validation est utilise pour ´ evaluer la fonction de score g ´ en´ er´ ee´ a`
partir de l’ensemble de perturbations.
1.3.2 Ensemble des perturbations pour l’apprentissage
Comme cela a et ´ e fait dans la litt ´ erature pour l’amarrage prot ´ eine-prot ´ eine [98], ´
des exemples positifs et negatifs sont g ´ en´ er´ es par perturbation des structures na- ´
tives. La perturbation des structures natives est un proced´ e g ´ en´ erant un ´ echantillon ´
gaussien des candidats autour de la structure native. Pour chaque complexe, 10 000
candidats sont gen´ er´ es par perturbation des coordonn ´ ees des atomes de l’ARN par ´
rapport aux coordonnees des atomes de la prot ´ eine. L’op ´ eration de perturbation con- ´
siste en 1 translation et 3 rotations pour modifier les coordonnees des atomes de ´
l’ARN. Les amplitudes de la translation et des rotations sont chacune choisies selon
une loi gaussienne de variance 1 et de moyenne variable. La moyenne des amplitudes
de la translation et des rotations est adaptee en fonction du complexe. La moyenne ´
41.3. Utilisation des donnees ´
est determin ´ ee de telle sorte que, pour un complexe donn ´ e, il existe au moins 30 ´
candidats suffisamment proches de la structure native et 30 candidats suffisamment
eloign ´ es de la structure native (voir section 1.3.3). Pour satisfaire ces deux conditions ´
sur les candidats obtenus, 3 jeux distincts sont utilises : ´
– la perturbation standard a un jeu de moyennes de valeurs 3 A pour la translation ˚
et 8 ° pour les rotations ;
– la perturbation restreinte a un jeu de moyennes de valeurs 1 A et 4 ° ; ˚
– la perturbation etendue a un jeu de moyennes de valeurs 9 ´ A et 27 °. ˚
1.3.3 Mesure de similarite : le RMSD ´
Le RMSD (Root-Mean-Square Deviation) est une mesure utilisee pour ´ evaluer ´
la dissimilarite entre deux structures repr ´ esentant des conformations diff ´ erentes d’un ´
meme complexe. Dans une telle comparaison, les deux jeux d’atomes sont identiques ˆ
ou comparables, mais avec des coordonnees spatiales diff ´ erentes. Le RMSD utilise ´
la distance entre chaque atome dans les deux structures, une fois que les structures
sont alignees. Le RMSD est calcul ´ e comme la distance moyenne entre les atomes de ´
ces deux structures. Considerons deux structures ´ s1 et s2 d’un meme complexe de ˆ N
atomes, soit di
la distance entre l’atome i de s1 et l’atome i de s2 (voir eq. 1.1) : ´
RMSD(s1, s2) =
vuut
1
N
X
N
i=1
d
2
i
(1.1)
Le RMSD est couramment utilise sous diverses versions pour ´ evaluer la dissim- ´
ilarite entre une structure native et un candidat. Parmi ces versions du RMSD, il y ´
a le LRMSD et le IRMSD utilises par C ´ APRI, calcules sur une restriction des atomes : ´
uniquement sur le ligand pour le LRMSD, uniquement sur l’interface pour le IRMSD [147]
(voir fig. 1.2). L’alignement differe selon le RMSD calcul ` e. Pour le L ´ RMSD, l’alignement
s’effectue uniquement sur les atomes du squelette des acides amines de la prot ´ eine. ´
Pour le IRMSD, ce sont les atomes a l’interface qui sont align ` es. Le RMSD peut aussi ´
etre calcul ˆ e soit sur l’ensemble des atomes de chacun des acides amin ´ es et acides ´
nucleiques consid ´ er´ es, soit uniquement ´ a partir d’un atome de r ` ef´ erence par acide ´
amine ou acide nucl ´ eique. C’est ici le carbone ´ α qui est utilise comme atome de ´
ref ´ erence de l’acide amin ´ e. Pour l’acide nucl ´ eique, c’est l’atome de phosphore qui est ´
utilise comme atome de r ´ ef ´ erence. ´
Cette mesure de similarite est utilis ´ ee dans la g ´ en´ eration des candidats. Les deux ´
conditions fixees sur le nombre minimum de candidats ´ a g ` en´ erer sont : ´
– un IRMSD ≤ 5A pour les 30 candidats devant ˚ etre suffisamment proches de la ˆ
structure native ;
– un IRMSD > 8A pour les 30 candidats devant ˚ etre suffisamment ˆ eloign ´ es de la ´
structure native.
Ces deux conditions ont pour objectif de conserver une distribution relativement
homogene de chaque nuage de candidats. Il reste ensuite ` a comparer les candidats `
gen´ er´ es entre eux pour les ´ etiqueter. ´
5Chapitre 1. Donnees ´
L
R
L
,
FIGURE 1.2 – Representation sch ´ ematique en gris des acides amin ´ es et acides ´
nucleiques s ´ electionn ´ es pour le calcul du L ´ RMSD et du IRMSD. La proteine (ou ´
recepteur) est d ´ enomm ´ ee R. L’ARN (ou ligand) est appel ´ e L et L’ correspond ´ a la `
position de L dans une seconde structure de l’interaction entre R et L. Le LRMSD est
calcule sur les atomes du ligand L, les atomes du r ´ ecepteur R ´ etant align ´ es, ´ a partir `
des distances en vert et en bleu (seules quelques distances sont affichees). Le I ´ RMSD
est calcule sur les atomes des acides amin ´ es et acides nucl ´ eiques ´ a l’interface, en noir, `
a partir des distances en vert, les atomes ` a l’interface ` etant align ´ es. ´
1.3.4 Etiquetage ´
Une fois les jeux de donnees g ´ en´ er´ es, il faut choisir la version de RMSD utilis ´ ee et ´
le seuil en RMSD en-dessous duquel un candidat est consider´ e comme un presque- ´
natif. La version de RMSD impacte les possibilites de comparaison des structures ´
candidates de differents complexes. Une version de RMSD tr ´ es sensible ` a la taille `
des partenaires (en nombre d’acides amines et d’acides nucl ´ eiques) donne une sig- ´
nification tres diff ` erente au seuil fixe pour des complexes de tailles diff ´ erentes. Un ´
complexe de petite taille doit etre bien plus ˆ eloign ´ e de la structure native qu’un com- ´
plexe de grande taille pour arriver au seuil fixe. Comme nous choisissons un seuil ´
fixe, independant de la taille des complexes, il est pr ´ ef´ erable d’avoir une version de ´
RMSD peu sensible a la taille des complexes. Nous choisissons le I ` RMSD qui, malgre´
sa dependance ´ a la taille de l’interface, reste la version CAPRI de RMSD le moins `
sensible a la taille de chacun des deux partenaires. `
Le seuil de IRMSD a un impact sur la tolerance que le mod ´ ele de pr ` ediction a ´
sur la divergence entre un candidat consider´ e presque-natif et la structure native. Un ´
seuil elev ´ e accepte comme presque-natif des structures candidates tr ´ es` eloign ´ ees de ´
la structure native, donnant une prediction avec peu de signification. Certes, un tel ´
modele peut plus facilement pr ` edire si un candidat est presque-natif, mais un candi- ´
61.3. Utilisation des donnees ´
dat predit presque-natif par ce biais peut ´ etre tr ˆ es proche comme tr ` es` eloign ´ e de la ´
structure native. Un seuil bas gen´ ere trop peu de presque-natifs, ce qui limite d’au- `
tant le nombre de candidats disponibles pour l’apprentissage. Pire, un seuil trop bas
ne permettrait pas d’obtenir un modele de fonction de score utilisable pour affiner une `
structure 3D. Nous choisissons un seuil en IRMSD de 5A : ˚
– les candidats de IRMSD ≤ 5A sont consid ˚ er´ es comme des ´ presque-natifs ;
– les candidats de IRMSD > 5A sont consid ˚ er´ es comme des ´ leurres.
Le seuil en IRMSD de 5 A n’est pas choisi au hasard. Pour un complexe prot ˚ eine- ´
proteine, le crit ´ ere C ` APRI pour une solution acceptable est d’avoir un IRMSD < 4A. ˚
Comme nous evaluons des complexes prot ´ eine-ARN, o ´ u l’ARN est une mol ` ecule plus ´
flexible, nous admettons une marge d’erreur leg´ erement sup ` erieure, pour un seuil en ´
IRMSD de 5A. ˚
Jeu de donnees ´ Nb. de structures Provenance Utilisation
PRIDB redondante RB1179 1 170 PDB Mesures
PRIDB non redondante RB199 120 PDB Gen´ eration ´
Ensemble de perturbations 1 200 000 Gen´ er´ e´ Apprentissage
Benchmark proteine-ARN I ´ 45 (11) PDB Gen´ eration ´
Benchmark proteine-ARN II ´ 76 (29) PDB Gen´ eration ´
Jeu de validation 400 000 Gen´ er´ e´ Validation
TABLE 1.1 – Nombre de structures 3D presentes, provenance et utilisation pour chaque ´
jeu de donnees. Pour les ´ Benchmarks I et II, le nombre de structures 3D entre parentheses
correspond au nombre de structures 3D n’ ` etant pas d ´ ej ´ a pr ` esentes dans la ´
PRIDB non redondante RB199. Il s’agit aussi du nombre de structures 3D effectivement
utilisees dans la g ´ en´ eration de candidats. Chaque jeu de donn ´ ees g ´ en´ er´ e est ´
issu des jeux de donnees extraits de la PDB dans la m ´ eme section, qui sont indiqu ˆ es´
comme utilises pour la g ´ en´ eration de candidats. Les mesures effectu ´ ees sur la P ´ RIDB
redondante sont des mesures statistiques.
1.3.5 Constitution des jeux d’apprentissage et de test
Les jeux d’apprentissage sont constitues par ´ echantillonnage sans remise des can- ´
didats des deux classes pour chaque structure native :
– 30 presque-natifs ;
– 30 leurres de IRMSD > 8A. ˚
Pour que cet echantillonnage soit possible, pour chaque structure native, l’ ´ etape de ´
gen´ eration des candidats a assur ´ e qu’au moins 30 presque-natifs et 30 leurres de ´
IRMSD > 8A soient g ˚ en´ er´ es. Le seuil en I ´ RMSD de 8 A permet de s’assurer qu’il existe ˚
au moins 30 leurres suffisamment eloign ´ es des presque-natifs. ´
Les jeux de test contiennent l’ensemble des candidats gen´ er´ es. Le jeu de test de la ´
fonction de score finale est le jeu de validation, constitue des candidats g ´ en´ er´ es gr ´ ace ˆ
7Chapitre 1. Donnees ´
aux 40 complexes issus des Benchmarks I et II. Le faible nombre d’interactions non
redondantes disponibles incite a utiliser au maximum les donn ` ees disponibles. ´
Pour effectuer une premiere ` evaluation avant de g ´ en´ erer la fonction de score ´ a partir `
des candidats issus des 120 structures natives, une strategie adapt ´ ee du ´ leave-one-out
est employee : le ´ leave-”one-pdb”-out (present ´ e au chapitre pr ´ ec´ edent, section 0.6.1). ´
Avec le leave-”one-pdb”-out, pour chaque structure native, une fonction de score est
apprise, avec :
– en jeu de test, les 10 000 candidats de la structure native ;
– en jeu d’apprentissage, les 30 presque-natifs et 30 leurres des 119 autres structures
natives.
Cet ensemble de differents jeux de donn ´ ees nous permet, tout en utilisant au max- ´
imum la quantite relativement faible de donn ´ ees disponibles, de valider le protocole ´
d’apprentissage a chaque ` etape. ´
1.4 Mesures d’evaluation locales ´
Les donnees issues de l’ ´ evaluation des diff ´ erents jeux de donn ´ ees n ´ ecessitent l’util- ´
isation de mesures d’evaluation adapt ´ ees pour comparer les m ´ ethodes et leurs mises ´
en œuvre sur chaque jeu de donnees. Les mesures d’ ´ evaluation globales ont d ´ ej ´ a` et´ e´
detaill ´ ees pr ´ ec´ edemment (voir section 0.6.2). ´
Les mesures d’evaluation locales sont plus sp ´ ecifiques ´ a l’objectif qui nous int ` eresse ´
de discriminer les presque-natifs des leurres dans une prediction d’interactions prot ´ eine- ´
ARN.
Parmi celles-ci, le nombre de presque-natifs dans le top10 est sans doute le plus
important, puisqu’il s’agit de compter le nombre de presque-natifs contenus dans les
10 premiers candidats lorsque les candidats sont tries selon le score. Or, le nombre ´
de candidats que CAPRI accepte de recevoir comme solutions envisagees par une ´
fonction de score est justement de 10. Evidemment, ce nombre va de 0 ´ a 10 et, plus `
ce nombre est elev ´ e, meilleure est la pr ´ ediction. Pour qu’une fonction de score soit ´
consider´ ee comme ayant r ´ eussi ´ a mod ` eliser l’interaction, elle doit avoir au moins 1 ´
presque-natif dans le top10.
Les diagrammes d’energie en fonction du RMSD ´ permettent d’identifier les entonnoirs
(funnels) de la prediction. Sur le diagramme d’ ´ energie en fonction du RMSD, il ´
s’agit d’identifier une forme en entonnoir des points. Cet entonnoir se situe idealement ´
la pointe en bas a gauche du graphique, sa partie ` evas ´ ee partant en diagonale ´ a droite `
(voir fig. 1.3). Un entonnoir implique que la fonction de score indique, pour des candidats
de RMSD donnee, une plage de valeurs de score inf ´ erieure pour des candidats ´
de RMSD superieure. La d ´ ecouverte d’un entonnoir est le signe que la fonction de ´
score evalu ´ ee est utilisable pour affiner la structure 3D de l’interaction recherch ´ ee. ´
Les candidats se trouvant dans le coin superieur gauche sont des presque-natifs mal ´
predits. De la m ´ eme mani ˆ ere, les candidats se trouvant dans le coin inf ` erieur droit sont ´
des leurres mal predits. Les candidats se trouvant dans le coin inf ´ erieur gauche sont ´
les presque-natifs correctement predits et ceux dans le coin sup ´ erieur droit des leurres ´
correctement predits. Les candidats du top10 sont les 10 premiers en partant du bas ´
81.4. Mesures d’evaluation locales ´
du diagramme. C’est le diagramme de l’energie en fonction du I ´ RMSD qui est utilise´
comme critere d’ ` evaluation (not ´ e´ EvsRMS).
EvsRMS
−193 −177 −162
0 5 10 15 20 25
Irmsd
Score
FIGURE 1.3 – Exemples de diagramme d’EvsRMS : le diagramme d’energie en fonction ´
du IRMSD permet la detection d’entonnoir. Voici un exemple d’entonnoir, avec la ma- ´
jorite des candidats suivant un entonnoir partant du coin inf ´ erieur gauche pour s’ ´ evaser ´
dans le coin superieur droit. Une telle courbe permet de montrer que la fonction de ´
score proposee est utilisable pour de l’affinement de structure, une fois l’ ´ epitope de ´
l’interaction identifie. ´
Soit C un ensemble de candidats gen´ er´ e´ a partir d’un m ` eme complexe ˆ c, trie en ´
energie selon une fonction de score. Le ´ score d’enrichissement ES (C) mesure la
performance d’une fonction de score pour maximiser la proportion des 10 % premiers
candidats tries en I ´ RMSD parmi les 10 % premiers candidats tries en ´ energie. Ainsi, ´
le score d’enrichissement est le nombre de candidats de C dans les 10 % premiers
candidats a la fois en ` energie et en I ´ RMSD, divise par le nombre total de candidats de ´
C multiplie par 100 (voir ´ eq. 1.2). En reprenant l’exemple du diagramme d’EvsRMS, ´
les candidats a la fois dans les 10 % premiers candidats en score et les 10 % premiers `
candidats en IRMSD correspondent aux candidats dans le coin inferieur gauche du ´
graphique, si l’on separe le graphique verticalement et horizontalement ´ a 10% des `
candidats en IRMSD et 10% des candidats en energie (voir fig. 1.4). ´
Plus le score d’enrichissement est elev ´ e, plus le tri est enrichi, c’est- ´ a-dire plus la `
proportion de presque-natifs est importante dans les 10 % premiers candidats du tri.
Le score d’enrichissement va de 0 a 10. Dans le cas d’un tri parfait, le score d’en- `
richissement vaut 10. Quand il y a independance entre tri en ´ energie et tri en I ´ RMSD, le
score s’enrichissement vaut 1. Un score d’enrichissement inferieur ´ a 1 indique qu’au- `
cun enrichissement n’est observe, correspondant ´ a une mauvaise fonction de tri. `
ES (C) = 100# (top10%IRMSD (C) ∩ top10%ENERGY (C))
# (C)
(1.2)
9Chapitre 1. Donnees ´
EvsRMS
−193 −177 −162
0 5 10 15 20 25
Irmsd
Score
FIGURE 1.4 – Illustration du score d’enrichissement sur une courbe EvsRMS : un trait
horizontal (resp. vertical) divise le graphique en deux parties de telle sorte que 10 %
des candidats soient toujours en-dessous (resp. a gauche) de la s ` eparation. Les can- ´
didats dans le cadran inferieur gauche sont les presque-natifs bien pr ´ edits, contraire- ´
ment aux candidats dans le cadran superieur gauche et le cadran inf ´ erieur droit. Les ´
leurres correctement predits se trouvent dans le cadran sup ´ erieur droit. Le score d’en- ´
richissement equivaut ´ a la proportion de candidats dans le cadran inf ` erieur gauche ´
parmi l’union des candidats en-dessous de la ligne de separation horizontale et des ´
candidats a gauche de la ligne de s ` eparation verticale. ´
10Chapitre 2
Approche Rosetta et adaptation
2.1 Presentation de RosettaDock ´
RosettaDock est un outil de prediction d’interactions entre macromol ´ ecules bi- ´
ologiques. La prediction d’interactions de RosettaDock est conc¸ue et optimis ´ ee pour ´
modeliser les interactions entre prot ´ eines. RosettaDock s’appuie sur un protocole ´
appele´ amarrage (docking). D’autres protocoles en lien avec l’amarrage sont aussi
disponibles via RosettaDock. Nous traiterons d’abord de l’amarrage avant de continuer
sur les autres protocoles.
2.1.1 Amarrage
L’amarrage consiste a pr ` edire la structure 3D repr ´ esentant l’interaction de deux ´
partenaires donnes pour chacun desquels la structure native est connue. Classique- ´
ment, la prediction de la structure 3D de l’interaction est r ´ ealis ´ ee en deux grandes ´
etapes : ´
1. la gen´ eration d’un large ensemble de candidats (de conformation plausible pour ´
l’interaction des deux partenaires) ;
2. puis le tri de l’ensemble des candidats selon differents crit ´ eres permettant de `
rendre compte de la qualite des candidats pour repr ´ esenter l’interaction (taille de ´
l’interface, nombre de residus en contact ´ etc.).
Dans les deux prochaines sections, nous allons sequentiellement d ´ etailler chacune ´
de ces deux etapes. ´
2.1.1.1 Gen´ eration des candidats ´
L’etape de g ´ en´ eration des candidats consiste ´ a construire plusieurs amarrages 3D `
possibles des deux partenaires etudi ´ es. Un candidat g ´ en´ er´ e est d ´ efini par les coor- ´
donnees spatiales des atomes de ses partenaires. Afin de r ´ eduire le temps de calcul ´
de la gen´ eration, seules les coordonn ´ ees d’un des deux partenaires sont modifi ´ ees, ´
pour deplacer ce partenaire autour de l’autre partenaire, qui reste immobile. En r ´ egle `
11Chapitre 2. Approche Rosetta et adaptation
gen´ erale, le partenaire de plus petite taille est consid ´ er´ e comme mobile, alors que le ´
plus volumineux (en nombre d’acides amines ou d’acides nucl ´ eiques) est fixe. Dans ´
notre cadre d’etude, le partenaire mobile est l’ARN et le partenaire fixe est la prot ´ eine, ´
independamment de leurs tailles respectives. ´
L’espace des candidats possibles d’une interaction a 6 degres de libert ´ e (voir fig. ´
2.1) :
– la translation ρ suivant l’axe X ;
– la rotation χ suivant l’axe X ;
– la rotation φ1 suivant l’axe Y1 ;
– la rotation θ1 suivant l’axe Z1 ;
– la rotation φ2 suivant l’axe Y2 ;
– la rotation θ2 suivant l’axe Z2.
θ2
θ1
φ2
φ1
ρ
χ
O1
Y1
X1
Z1
Y2
X2
O2
Z2
FIGURE 2.1 – L’espace de recherche des candidats d’une interaction entre deux macromolecules
biologiques a 6 degr ´ es de libert ´ e : ´ ρ, χ, φ1, θ1, φ2 et θ2. Image J.Bernauer,
adaptee de [46]. ´
L’exploration quasi-exhaustive de l’espace de recherche n’est pas envisageable
dans des temps de calcul raisonnables. Comme le montre Connolly [54, 55, 56], la
quantite de candidats ´ a envisager pour tester toutes les combinaisons entre la surface `
de la proteine et celle de l’ARN est bien trop importante. Sur les 6 degr ´ es de libert ´ e,´
le nombre de candidats a envisager d ` epend essentiellement du pas en rotation et en ´
translation, mais aussi de la surface de Connolly de chacun des deux partenaires. La
surface de Connolly depend de la taille d’un partenaire et de sa forme, puisqu’elle ´
reflete la surface accessible au solvant et donc la surface ` a explorer pour envisager les `
differentes interactions possibles avec un partenaire. Les diff ´ erentes interactions possi- ´
122.1. Presentation de RosettaDock ´
bles avec un partenaire correspondent au nombre de candidats dont la construction est
a envisager pour une exploration quasi-exhaustive de l’espace de recherche. Ce nom- `
bre de candidats peut depasser le million pour des partenaires de taille raisonnable ´
(environ 400 acides amines ou 40 acides nucl ´ eiques selon les moyennes constat ´ ees ´
sur la PRIDB). La gen´ eration des candidats ne s’int ´ eresse donc qu’ ´ a un sous-ensemble `
de candidats. Pour un nombre fixe de candidats ´ a g ` en´ erer, l’objectif est de maximiser ´
les chances d’obtenir des candidats presque-natifs parmi les candidats gen´ er´ es. ´
En utilisant une methode de Monte-Carlo, il est possible d’orienter la g ´ en´ eration des ´
candidats : plus un candidat a une energie faible et plus il aura de chances d’ ´ etre con- ˆ
serve. L’exploration de l’espace des candidats donne alors plus probablement des can- ´
didats dans des sous-espaces contenant des candidats de faible energie. En r ´ eit ´ erant ´
un grand nombre de fois la methode de Monte-Carlo, la g ´ en´ eration des candidats per- ´
met de maximiser les chances d’obtenir des candidats de faible energie parmi les ´
candidats gen´ er´ es. En pratique, la r ´ eit ´ eration de la m ´ ethode de Monte-Carlo permet ´
de gen´ erer des candidats correspondant ´ a diff ` erents minima locaux, potentiellement ´
separ ´ es par des barri ´ eres d’ ` energie importantes. Ces barri ´ eres d’ ` energie, o ´ u les candi- `
dats ont une energie tr ´ es forte, emp ` echeraient d’appliquer une minimisation d’ ˆ energie ´
pour arriver a un candidat presque-natif ` a partir d’un puits d’ ` energie diff ´ erent. ´
Dans un modele o ` u les partenaires sont flexibles, il faut, apr ` es d ` eplacement d’un ´
partenaire par rapport a l’autre, prendre en compte la d ` eformation des partenaires. ´
Cette deformation s’effectue lorsque l’environnement proche des atomes des parte- ´
naires est modifie. La modification de l’environnement proche correspond ´ a la prox- `
imite avec des atomes de l’autre partenaire. La proximit ´ e entre atomes des deux parte- ´
naires definit une interface. Une fois une position d ´ etermin ´ ee pour le partenaire mobile, ´
la structure 3D des chaˆınes laterales est donc optimis ´ ee en fonction de son environ- ´
nement proche pour minimiser l’energie. ´
Pour minimiser les temps de calcul dans la modification des coordonnees de chaque ´
atome, on utilise les coordonnees internes (voir fig. 2.2) pour chaque acide amin ´ e et ´
chaque acide nucleique. Un arbre des coordonn ´ ees des atomes est construit pour ´
chaque acide amine et chaque acide nucl ´ eique : ´
– chaque atome a 3 atomes parents dans l’arbre ;
– la distance r est la distance au premier parent ;
– l’angle θ donne l’angle forme entre les deux premiers parents et le premier parent ´
avec l’atome, dans le plan forme par les droites des deux premiers et des deux ´
derniers parents ;
– l’angle φ est l’angle entre les deux derniers parents et le premier parent avec
l’atome, dans le plan perpendiculaire a la droite form ` ee par les deux premiers ´
parents.
Ainsi, modifier les coordonnees de tout un acide amin ´ e ou acide nucl ´ eique ne ´
necessite pas de modifier les coordonn ´ ees de l’ensemble de ses atomes. Par ailleurs, ´
les angles θ et φ definis chacun pour 2 des rotations d’un partenaire par rapport ´ a`
l’autre correspondent aux rotations θ et φ dans des coordonnees torsionnelles. ´
13Chapitre 2. Approche Rosetta et adaptation
CG1
C
CG1
C
Cβ Cα
r
y
x φ
θ
Cα
FIGURE 2.2 – La manipulation des coordonnees des structures 3D se fait ´ a l’aide `
des coordonnees internes : chaque acide amin ´ e et chaque acide nucl ´ eique sont ´
represent ´ es sous la forme d’un arbre passant par les liaisons covalentes entre les ´
atomes (les cycles sont coupes). Chaque atome a 3 atomes parents, ´ a l’exception des `
3 premiers atomes qui sont definis les uns par rapport aux autres. La position d’un ´
atome est definie par la distance ´ r a son premier atome parent et par les angles ` θ et φ.
Le ref ´ erentiel de coordonn ´ ees cart ´ esien est donn ´ e´ a titre indicatif. Les atomes donn ` es´
en exemple sont C, Cα, Cβ et l’atome gros-grain CG1.
2.1.1.2 Tri des candidats
L’etape de g ´ en´ eration des candidats n’explore pas de mani ´ ere exhaustive l’espace `
des conformations possibles entre les deux partenaires etudi ´ es. Toutefois, il est impor- ´
tant de noter que, en regle g ` en´ erale, le nombre de candidats devant ´ etre g ˆ en´ er´ es pour ´
esperer obtenir des candidats presque-natifs est ´ elev ´ e, de l’ordre de 10 000. Certaines ´
fonctions d’evaluation ne sont pas diff ´ erentiables, ce qui ne permet pas de mettre en ´
place des approches efficaces de minimisation. C’est notamment le cas de la fonction
de score gros-grain de RosettaDock, qui somme un terme de score defini par une ´
fonction discrete avec d’autres termes de score (voir section 2.1.2.2). `
Sur ce grand nombre de candidats, seul un petit nombre d’entre eux ont une chance
d’etre des presque-natifs. La proportion est g ˆ en´ eralement consid ´ er´ ee de l’ordre de ´
1 pour 1 000 pour la grande majorite des complexes, mais il est attendu d’un bon ´
algorithme d’amarrage de depasser cet ordre de grandeur [114]. ´
Il existe deux types d’erreurs pouvant apparaˆıtre suite au tri des candidats. Ils ont
des couts tr ˆ es diff ` erents : ´
– ne pas reussir ´ a mettre un presque-natif en avant face aux leurres oblige ` a`
gen´ erer plus de candidats pour obtenir un presque-natif dans les premiers can- ´
didats du tri ;
142.1. Presentation de RosettaDock ´
– mettre un leurre en avant par rapport aux presque-natifs donne l’illusion d’avoir
trouve un presque-natif, sur lequel peuvent ensuite se baser des exp ´ eriences qui ´
coutent cher (par exemple, de cristallographie). ˆ
Il est donc imperatif de mettre en place d’autres crit ´ eres d’ ` evaluation les plus efficaces ´
possibles pour eviter ces deux types d’erreurs et identifier les presque-natifs parmi ´
l’ensemble des candidats.
Nous appelons fonctions de score les differents crit ´ eres d’ ` evaluation que nous al- ´
lons etudier. Selon les besoins, plusieurs fonctions de score peuvent ´ etre d ˆ efinies et ´
appliquees. Une premi ´ ere fonction de score agit comme un filtre permettant de sup- `
primer les leurres les plus evidents. Ce filtre est ´ evalu ´ e sur l’ensemble des configura- ´
tions testees pour la g ´ en´ eration d’un candidat. Le filtre doit donc ´ etre rapide ˆ a calculer. `
Le filtre prend en consideration les crit ´ eres suivants : `
– chevauchements des structures ;
– nombre d’atomes impliques dans l’interaction. ´
Pour chaque candidat, si les chevauchements sont trop importants ou si le nombre
d’atomes impliques dans l’interaction est trop faible, alors la probabilit ´ e qu’il s’agisse ´
d’un leurre est elev ´ ee. Le filtre associe alors un score ´ elev ´ e au candidat consid ´ er´ e. Si ´
le candidat consider´ e a un score trop ´ elev ´ e, il ne fera pas partie des candidats g ´ en´ er´ es. ´
Une seconde fonction de score est definie pour ´ evaluer et optimiser la structure 3D des ´
chaˆınes laterales ´ a l’interaction. Une telle fonction de score a pour but de donner une `
structure 3D plus fidele` a la r ` ealit ´ e biologique. Gr ´ ace ˆ a la minimisation des cha ` ˆınes
laterales, les atomes des cha ´ ˆınes laterales voient leurs coordonn ´ ees adapt ´ ees ´ a l’in- `
teraction avec les atomes du partenaire. Un score final est enfin attribue´ a chaque `
candidat, pour evaluer sa structure 3D dans son ensemble et trier les candidats en ´
fonction de leur probabilite de repr ´ esenter correctement l’interaction. Pour calculer ce ´
score, l’ensemble des termes de score est agreg´ e pour chaque candidat. La fonction ´
d’agregation est une somme pond ´ er´ ee. ´
Selon l’objectif du score, ce dernier utilise pref´ erentiellement des param ´ etres issus `
de differents mod ´ eles g ` eom ´ etriques. Un score permettant d’affiner une structure 3D ´
doit pouvoir correctement evaluer l’ ´ energie issue d’interactions avec le solvant, d’o ´ u le `
calcul de l’influence de la solvatation a l’ ` echelle atomique. ´ A l’inverse, un score utilis ` e´
comme filtre a besoin d’etre calcul ˆ e rapidement et se focalise pr ´ ef´ erentiellement sur ´
des parametres calcul ` es´ a l’ ` echelle gros-grain. ´
2.1.1.3 Amarrages gros-grain ou atomique
L’echelle ´ a laquelle s’effectue l’amarrage convient ` a des probl ` ematiques sp ´ ecifiques. ´
Pour chaque problematique standard d’amarrage, il existe un protocole d’amarrage. ´
L’amarrage gros-grain a pour but de decouvrir l’ ´ epitope ´ (ou zone d’interaction), c’esta-dire
identifier les acides nucl ` eiques et acides amin ´ es impliqu ´ es dans l’interaction. ´
L’amarrage atomique a pour but de determiner la structure 3D de l’interaction ´ a l’ ` echelle ´
de l’Angstrom voire en-dessous. Il peut arriver qu’un amarrage atomique soit utilis ¨ e´
lorsque l’on connaˆıt dej ´ a l’ ` epitope, pour affiner la structure 3D identifi ´ ee. ´
Pour reduire les temps de calcul, un amarrage atomique dont on ne conna ´ ˆıt pas
l’epitope est g ´ en´ eralement pr ´ ec´ ed´ e d’un amarrage gros-grain. Dans un contexte de ´
15Chapitre 2. Approche Rosetta et adaptation
prediction ´ a l’aveugle comme CAPRI, o ` u on ne connait pas la solution, on proc ` ede `
en gen´ eral ´ a un amarrage atomique ` a partir des structures candidates g ` en´ er´ ees par ´
l’amarrage gros-grain.
2.1.2 Autres strategies ´
Selon le contexte, d’autres strategies pour affiner l’amarrage local peuvent ´ etre ˆ
envisagees : ´
– minimisation d’une structure ;
– gen´ eration par perturbation d’un nuage de candidats autour d’une structure 3D ; ´
– evaluation du score d’une structure sans modification de la structure 3D. ´
La minimisation correspond le plus souvent a une descente de gradient pour obtenir `
un minimum local proche de la structure 3D donnee en entr ´ ee. Une strat ´ egie de min- ´
imisation du score permet de comparer les candidats gen´ er´ es par diff ´ erents outils de ´
gen´ eration de candidats, chaque outil ayant une fonction de score diff ´ erente avec des ´
minima qui ne correspondent pas necessairement d’un outil ´ a l’autre. Tous les outils de `
gen´ eration de candidats n’ont pas non plus le m ´ eme seuil ˆ a partir duquel deux atomes `
sont consider´ es en interaction. La minimisation permet, pour une I ´ RMSD tres petite `
(normalement de moins de 1A), de potentiellement diminuer drastiquement l’ ˚ energie. ´
Ceci est du au fait que des contraintes ˆ a faible distance peuvent donner de tr ` es fortes `
penalit ´ es aux structures 3D. ´
La gen´ eration par perturbation de candidats autour d’une structure 3D est utilis ´ ee, ´
lorsque l’on connaˆıt dej ´ a l’interaction, pour g ` en´ erer des candidats presque-natifs et ´
leurres. Cette strategie correspond ´ a un amarrage atomique, mais en g ` en´ erant les can- ´
didats selon une operation de rotation-translation al ´ eatoire du partenaire mobile, sans ´
utilisation de l’algorithme de Monte-Carlo. De plus, cette strategie part de la structure ´
native directement, i.e. de la solution, plutot que de partir de la structure 3D de chacun ˆ
des deux partenaires. Cette strategie est davantage d ´ etaill ´ ee dans la section traitant ´
de la gen´ eration de candidats par perturbation (voir section 1.3.2). La g ´ en´ eration par ´
perturbation de candidats a dej ´ a` et ´ e utilis ´ ee pour mettre en place et ´ evaluer la fonction ´
de score proteine-prot ´ eine de RosettaDock [98]. ´
Evaluer le score d’une structure 3D sans g ´ en´ eration de candidats est g ´ en´ eralement ´
d’inter´ et lorsque l’on compare diff ˆ erentes fonctions de score ou pour ´ evaluer l’ ´ energie ´
d’une structure native. La comparaison des fonctions de score peut avoir lieu a des `
fins d’evaluation de la structure ou des fonctions de score, comme dans ce manuscrit. ´
L’evaluation de l’ ´ energie d’une structure native permet de v ´ erifier la coh ´ erence d’une ´
fonction de score avec les structures natives disponibles. En effet, une fonction de
score correctement modelis ´ ee doit id ´ ealement attribuer une ´ energie plus faible ´ a la `
structure native qu’aux structures des candidats.
2.1.2.1 Fonctions de score atomique : termes physico-chimiques
Les termes physico-chimiques sont calcules en utilisant des connaissances issues ´
des propriet ´ es physico-chimiques des interactions entre atomes. ´ A l’ ` echelle atomique, ´
162.1. Presentation de RosettaDock ´
RosettaDock utilise 10 types de termes de score repartis en 6 groupes (voir fig. 2.3). ´
Sur l’ensemble des equations, les m ´ emes notations sont utilis ˆ ees pour d ´ esigner les ´
memes entit ˆ es, o ´ u : `
– E est le terme de score, modelisant une ´ energie physico-chimique ; ´
– w est le poids donne au terme de score ; ´
– N est le nombre d’atomes ;
– Naa est le nombre d’atomes gros-grain des acides amines ; ´
– Nna est le nombre d’atomes gros-grain des acides nucleiques ; ´
– M est le nombre d’acides amines ; ´
– L est le nombre d’acides nucleiques ; ´
– d est la distance entre deux atomes ;
– P est une probabilite estim ´ ee ; ´
– σ est la distance minimale d’approche entre deux atomes, somme de leurs rayons
de Van der Waals [21] ;
– q est une charge positive ou negative ; ´
– ∆Gf r ee est l’energie de Gibbs [162] ; ´
– V est le volume atomique [21] ;
– λ est la longueur de correlation d’un atome [144] ; ´
– φ est l’angle diedre d’un rotam ` ere form ` e par le quadruplet d’atomes successifs ´
CO0 − NH1 − Cα1 − CO1 [209] ;
– ψ est l’angle diedre d’un rotam ` ere form ` e par le quadruplet d’atomes successifs ´
NH1 − Cα1 − CO1 − NH2 [209] ;
– ξ est l’environnement d’un atome.
Les deux termes de score attractif (fa atr) et repulsif ´ (fa rep) de Van der Waals
representent respectivement l’attraction et la r ´ epulsion universelle entre atomes. In- ´
dependamment du type d’atome, deux atomes se repoussent s’ils sont trop proches ´
l’un de l’autre. Alternativement, deux atomes s’attirent lorsqu’ils sont suffisamment loin
l’un de l’autre, jusqu’a une attraction asymptotiquement nulle au fur et ` a mesure que `
la distance croˆıt. Les equations de Lennard-Jones 12-6 pr ´ esent ´ ees ici (voir ´ eq. 2.1 et ´
2.2) sont une simplification de l’energie de Van der Waals, o ´ u` εij est la profondeur du
puits d’energie pour ´ i et j. L’energie de Van der Waals est uniquement calcul ´ ee pour ´
les atomes a moins de 8 ` A de distance. Au-del ˚ a de 8 ` A, l’ ˚ energie de Van der Waals est ´
donc consider´ ee par le mod ´ ele comme nulle. Cette approximation permet de minimiser `
les temps de calcul alloues au calcul de ces deux termes de score. La partie attractive ´
est utilisee pour 0.89 ´ σij A˚ < dij < 8A alors que la partie r ˚ epulsive est utilis ´ ee pour ´
0.6σij A˚ < dij ≤ 0.89σij A. ˚
Efa at r = wfa at r X
N
i=1
X
N
j>i
εij
σij
dij 12
− 2
σij
dij 6
!
(2.1)
Efa r ep = wfa r epX
N
i=1
X
N
j>i
εij
σij
0.6σij 12
− 2
σij
0.6σij 6
−
0.6σij − dij
−12σ
12
ij
(0.6σij)
13 +
12σ
6
ij
(0.6σij)
7
(2.2)
17Chapitre 2. Approche Rosetta et adaptation
FIGURE 2.3 – L’energie potentielle d’une structure 3D de macromol ´ ecules biologiques, ´
souvent assimilee´ a un score, est g ` en´ eralement calcul ´ ee selon une somme de ter- ´
mes modelisant des ph ´ enom ´ enes physico-chimiques sp ` ecifiques. Les termes peuvent ´
porter sur les interactions covalentes (liens, angles, torsions) ou non covalentes (attraction
et repulsion universelles, forces ´ electrostatiques, liaisons hydrog ´ ene, ` etc.). Image
adaptee de Scientific American / Adv Drug Del Rev. ´
Dans la cellule, le complexe proteine-ARN est plong ´ e dans un solvant. Il est donc ´
necessaire que le mod ´ ele` in silico prenne cette caracteristique en compte. Le terme de ´
solvatation (fa sol) est modelis ´ e dans cet objectif. Le terme de solvatation favorise l’ac- ´
cessibilite des parties hydrophiles solvant et l’inaccessibilit ´ e des parties hydrophobes ´
au solvant (voir eq. 2.3). Ce terme de score demande le calcul de l’accessibilit ´ e au ´
solvant, qui coute cher en temps de calcul [144]. ˆ
Efa sol = wfa sol X
N
i=1
X
N
j>i
2∆Gf r ee
i
exp
−d
2
ij
4π
√
πλiσ
2
ij
Vj +
2∆Gf r ee
j
exp
−d
2
ij
4π
p
πλjσ
2
ij
Vi
(2.3)
182.1. Presentation de RosettaDock ´
FIGURE 2.4 – Presentation de l’ ´ energie de Van der Waals, o ´ u` ε correspond a la pro- `
fondeur du puits d’energie. L’ ´ energie de Van der Waals poss ´ ede une part r ` epulsive de ´
0 A jusqu’ ˚ a 0.89 ` σij A et une part attractive au-del ˚ a.`
Meme sans aller jusqu’ ˆ a` etre charg ˆ e positivement ou n ´ egativement, un atome peut ´
avoir une charge partielle. Cette charge partielle attire pref´ erentiellement l’atome en ´
question vers les atomes ayant une charge partielle opposee. De plus, certains atomes ´
sont plus frequemment observ ´ es´ a proximit ` e l’un de l’autre qu’avec d’autres atomes. ´
Le terme d’affinite entre paires d’atomes ´ (fa pair) donne un score plus favorable aux
atomes ayant une forte affinite entre eux (voir ´ eq. 2.4). Seuls les atomes interagissant ´
entre eux ont une valeur calculee pour fa ´ pair (int dans l’equation). Le terme d’affinit ´ e´
entre paires d’atomes classe chaque atome en quatre environnements, selon sa proximite
avec un atome de l’autre partenaire et son accessibilit ´ e au solvant. Pour chaque ´
environnement, chaque paire de type d’atomes obtient un score different. Les quatre ´
environnements possibles sont :
– l’atome est dans l’interaction et accessible au solvant ;
– l’atome est dans l’interaction et inaccessible au solvant ;
– l’atome est hors de l’interaction et accessible au solvant ;
– l’atome est hors de l’interaction et inaccessible au solvant.
Efa pai r = wfa pai r Y
M
m=1
Y
L
l=1
P (m, l|int, ξm, ξl)
P (m|int, ξm)P (l|int, ξl)
(2.4)
Outre les affinites qu’il peut y avoir entre des atomes partiellement charg ´ es, les ´
charges, lorsqu’elles sont presentes, ont aussi un impact sur les interactions entre ´
atomes. Le modele de Coulomb d ` ecrit pour cela l’interaction entre atomes charg ´ es´
en fonction de la valence de leur charge et de la distance qui les separe. Le terme ´
electrostatique ´ (hack elec) utilise le modele de Coulomb (voir ` eq. 2.5). ´
Ehack elec = whack elec X
N
i=1
X
N
j>1
332qiqj
min
dij, 32
(2.5)
19Chapitre 2. Approche Rosetta et adaptation
Un phenom ´ ene plus sp ` ecifique de charge partielle intervient dans la cr ´ eation et le ´
maintien d’interactions entre molecules et ´ a l’int ` erieur d’une m ´ eme mol ˆ ecule. Il s’agit ´
de la formation de liaisons hydrogene. Les liaisons hydrog ` ene se forment entre un `
hydrogene de charge partielle positive et un autre atome de charge partielle n ` egative ´
(gen´ eralement un oxyg ´ ene ou un azote). Ces liaisons sont des liaisons non covalentes, `
mais qui participent aux interactions de par leur multiplicite. Les quatre termes de li- ´
aisons hydrogene ` (hbond sc, hbond bb sc, hbond lr bb, hbond sr bb) favorisent l’existence
de liaisons hydrogene (voir ` eq. 2.6). Le score donn ´ e aux liaisons hydrog ´ ene `
depend de la distance d’interaction, ´ a courte port ` ee ou ´ a longue port ` ee, et de la local- ´
isation des atomes d’hydrogene, dans le squelette ou dans la cha ` ˆıne laterale. ´
Ehbond ∗ = whbond ∗
X
N
i=1
X
N
j>i
5
σij
dij 12
− 6
σij
dij 10!
F (q) (2.6)
Les chaˆınes laterales des acides amin ´ es sont flexibles et peuvent adopter plusieurs ´
conformations. Ces conformations sont categoris ´ ees par probabilit ´ e d’apparition dans ´
le diagramme de Ramachandran. La base de donnees de rotam ´ eres de Dunbrack `
[70] a et ´ e conc¸ue sur le m ´ eme principe pour d ˆ eterminer, selon la conformation de ´
la chaˆıne laterale, la probabilit ´ e d’apparition correspondante. Le terme de rotam ´ eres `
de Dunbrack (fa dun) donne un score plus favorable aux rotameres les plus pr ` esents ´
dans les complexes proteine-prot ´ eine connus (voir ´ eq. 2.7). Le terme de rotam ´ eres de `
Dunbrack n’est, pour le moment, utilise que pour les acides amin ´ es. ´
Efa dun = wfa dunX
M
m=1
− ln
Ptype(m) (φmψm)
(2.7)
2.1.2.2 Termes physico-chimiques a l’ ` echelle gros-grain ´
A l’ ` echelle gros-grain, RosettaDock calcule quatre types de termes de score. Les ´
atomes consider´ es sont alors des atomes gros-grain. Dans cette section, on note ´ N le
nombre d’atomes gros-grain.
Le terme de contact (interchain contact) est une version simplifiee du terme d’at- ´
traction de Van der Waals. Le score donne au terme de contact est une fonction ´
discrete d ` ependant du nombre ´ nInt d’atomes gros-grain a l’interface. Cette fonction `
discrete est d ` efinie par une droite avec une valeur extr ´ eme et deux points particuliers. ˆ
S’il n’y a aucun atome gros-grain en interaction, le terme de contact vaut 12. S’il y a
2 atomes gros-grain en interaction, il vaut 9.5. Entre 3 et 19 atomes gros-grain, il vaut
10 − 0.5 ∗ nInt . Au-dela de 19 atomes gros-grain, il est ` egal ´ a sa valeur extr ` eme : ˆ −10.
Le terme de repulsion de Van der Waals gros-grain ´ (interchain vdw) est aussi une
version simplifiee du terme de r ´ epulsion de Van der Waals atomique. Le terme de ´
repulsion de Van der Waals gros-grain vaut entre 0 et 1. Il utilise un param ´ etre ` dα,β
determin ´ e au moyen d’une mesure statistique sur un jeu de donn ´ ees de complexes, o ´ u`
α est le type de l’atome i et β le type de l’atome j (voir eq. 2.8). Nous avons notamment ´
202.2. Evaluation de la fonction de score non optimis ´ ee´
determin ´ e les valeurs de ce param ´ etre pour chaque paire ( ` α, β) de type d’atomes grosgrain.
Einter chain vdw = winter chain vdw X
Naa
i=1
X
Nna
j=1
d
2
α,β − d
2
ij
d
2
α,β
(2.8)
Le terme d’affinite par paire d’atomes gros-grain ´ (interchain pair) fonctionne de la
meme mani ˆ ere que le terme d’affinit ` e par paire d’atomes. ´
Le terme d’environnement (interchain env) reprend le principe d’environnement des
termes d’affinite par paire d’atomes. Le terme d’environnement donne un score favor- ´
able aux atomes gros-grain se trouvant dans les environnements ou ils ont le plus de `
chances d’etre trouv ˆ es. Le terme d’environnement prend aussi en compte une version ´
simplifiee du terme de solvatation. ´
2.2 Evaluation de la fonction de score non optimis ´ ee´
La fonction de score non optimisee pour les complexes prot ´ eine-ARN est la fonc- ´
tion de score par defaut dans RosettaDock. Cette fonction de score est directement ´
issue de l’amarrage proteine-prot ´ eine : elle est optimis ´ ee pour l’amarrage prot ´ eine- ´
proteine. Nous appellerons cette fonction de score ´ ROS. Nous allons d’abord observer
les mesures d’evaluation globales avant de traiter les mesures d’ ´ evaluation locales. ´
2.2.1 Mesures d’evaluation globales ´
Les mesures d’evaluation globales peuvent s’appliquer lorsque l’on dispose de la ´
matrice de confusion. Calculer la matrice de confusion necessite de d ´ eterminer un ´
seuil a partir duquel la fonction de score s ` epare en presque-natifs et en leurres les ´
candidats predits. Nous utilisons deux seuils diff ´ erents. Le premier seuil est le seuil ´
permettant d’obtenir, pour chaque complexe, le meilleur Fscore (voir section 0.6.2). Ce
seuil permet de savoir a quel point la fonction de score peut trouver un compromis `
entre deux types d’erreurs : predire presque-natif un leurre (Faux Positif) et ne pas ´
predire presque-natif un presque-natif (Faux N ´ egatif). ´
Avec ce seuil, le nombre de candidats predits presque-natifs est tr ´ es` elev ´ e (voir ´
tableau 2.1). Le rappel est tres` elev ´ e, mais on peut remarquer avec la pr ´ ecision que ´
la moitie des candidats pr ´ edits sont des presque-natifs. En moyenne, chaque candidat ´
predit presque-natif a donc une chance sur deux d’ ´ etre un presque-natif. Et le rappel ˆ
montre que la quasi-totalite des presque-natifs sont pr ´ edits presque-natifs. De plus, ´
la specificit ´ e continue de montrer que la fonction de score ROS n’est pas adapt ´ ee´ a`
la prediction d’interactions prot ´ eine-ARN. Pour plus de la moiti ´ e des complexes, les ´
leurres predits par la fonction de score ROS repr ´ esentent moins de 1 % des v ´ eritables ´
leurres. Dit autrement, plus de 99 % des leurres sont predits comme ´ etant des presque- ´
natifs.
21Chapitre 2. Approche Rosetta et adaptation
Aggregat ´ Precision ´ Rappel Fscore Accuracy Specificit ´ e´ Seuil
Moyenne 49.52% 98.68% 65.94% 50.75% 2.27% 9 874
Mediane pr ´ ecision ´ 47.44% 99.99% 64.35% 47.45% 0.06% 9 998
Mediane Fscore ´ 46.51% 99.99% 63.49% 46.53% 0.06% 9 997
TABLE 2.1 – Evaluation globale de la fonction de score ROS sur la P ´ RIDB, sous le seuil
du meilleur Fscore pour chaque complexe, avec la moyenne et la mediane sur les ´
120 complexes de la PRIDB. La derniere colonne correspond au nombre de candidats `
predits presque-natifs au seuil du meilleur Fscore et permet de comparer ces r ´ esultats ´
a ceux du top10. Pour le calcul des mesures des lignes concernant la m ` ediane, ce sont ´
les exemples correspondant a la m ` ediane de la pr ´ ecision, d’une part, et du Fscore, ´
d’autre part, qui sont utilises. ´
L’evaluation de la fonction de score par des mesures globales avec un seuil d ´ efini ´
par le Fscore donne des resultats apparemment satisfaisants. Mais le seuil est alors ´
different pour chaque complexe et n ´ ecessite de conna ´ ˆıtre a l’avance le r ` esultat. On ´
ne peut donc pas choisir ce seuil, qui est gen´ eralement tr ´ es` elev ´ e, avec la plupart ´
des valeurs au-dela de 9 990 candidats pr ` edits presque-natifs. Le seuil d ´ efini par le ´
meilleur Fscore est uniquement etudi ´ e pour mesurer un compromis de performance ´
de la fonction de score. De plus, meme si l’on pouvait trouver ce seuil de compro- ˆ
mis entre precision et rappel, la pr ´ ecision n’est que de moiti ´ e. Cela signifie que, en ´
prenant au hasard un candidat parmi les candidats predits, il y a en moyenne 50 % de ´
chances que le candidat predit ne soit pas un presque-natif. Or, l’objectif est justement ´
de nous assurer de pouvoir trouver au moins un presque-natif, avec comme marge de
manœuvre le fait de pouvoir en selectionner 10. ´
Le second seuil est fixe´ a 10 candidats, ce qu’on appelle le top10. Ainsi, seuls les `
10 meilleurs candidats au sens du tri oper´ e par la fonction de score sont consid ´ er´ es´
comme des presque-natifs. Tous les autres candidats sont predits comme ´ etant des ´
leurres.
Avec un seuil au top10, on ne s’attend pas a avoir un fort rappel (ou sensibilit ` e)´
lorsque le nombre de presque-natifs est grand dans l’ensemble des exemples testes. ´
Rappelons que le nombre de presque-natifs est d’au moins 30 pour chaque complexe
de la PRIDB. Et le rappel est effectivement tres bas (voir tableau 2.2). Mais surtout, `
la precision est aussi tr ´ es basse, avec 59 des 120 complexes - soit pr ` es de la moiti ` e´
d’entre eux - n’ayant aucun presque-natif dans le top10 (voir tableau S2).
On voit donc que les mesures d’evaluation globales affichent parfois des r ´ esultats ´
tres satisfaisants, avec un rappel ou une sp ` ecificit ´ e tr ´ es forte. Mais les r ` esultats ne ´
correspondent en realit ´ e pas aux objectifs fix ´ es, ce que peut montrer notamment la ´
precision. C’est pourquoi il est utile de passer ´ a des mesures d’ ` evaluation locales. ´
222.2. Evaluation de la fonction de score non optimis ´ ee´
Aggregat ´ Precision ´ Rappel Fscore Accuracy Specificit ´ e´
Moyenne 29.25% 0.05% 0.09% 68.17% 99.83%
Mediane pr ´ ecision ´ 10.00% 0.06% 0.12% 81.13% 99.89%
Mediane Fscore ´ 15.00% 0.02% 0.04% 26.26% 99.28%
TABLE 2.2 – Evaluation globale de la fonction de score ROS sur la P ´ RIDB, sous le
seuil de 10 candidats (top10), avec la moyenne et la mediane sur les 120 complexes ´
de la PRIDB. Pour la mediane, ce sont les complexes correspondant ´ a la m ` ediane de ´
la precision, d’une part, et du Fscore, d’autre part, qui sont utilis ´ es pour calculer les ´
differentes mesures, dont les lignes sont intitul ´ ees pr ´ ecision et Fscore. ´
2.2.2 Mesures d’evaluation locales ´
Les mesures d’evaluation locales sont au moins pour certaines plus sp ´ ecifiques au ´
probleme ` etudi ´ e et plus adapt ´ ees aux objectifs fix ´ es pour la pr ´ ediction d’interactions ´
proteine-ARN. Les mesures d’ ´ evaluation locales se d ´ eclinent en deux axes : ´
– d’une part, des mesures sur les performances de la fonction de score, comme
l’aire sous la courbe ROC ;
– d’autre part, des mesures davantage focalisees sur les objectifs biologiques de ´
la prediction, comme le nombre de presque-natifs dans le top10 des candidats, ´
le score d’enrichissement et le diagramme d’energie en fonction du I ´ RMSD.
Les aires sous la courbe ROC sont en moyenne de 0.37, avec une variance de
0.02. On pourrait penser qu’inverser la prediction donn ´ ee par la fonction de score ROS ´
donnerait de meilleurs resultats. Inverser la pr ´ ediction correspond par exemple ´ a at- `
tribuer a chaque candidat le n ` egatif de son score, ce qui inverse l’ordre dans lequel ´
les candidats se situent dans un tri selon le score. Pour l’aire sous la courbe ROC,
cela aurait pour consequence d’obtenir le miroir par rapport ´ a 0.5 de la valeur de l’aire `
sous la courbe de ROC (ici, 0.63, puisque 0.5 − 0.37 = 0.13 et 0.5 + 0.13 = 0.63).
Cependant, c’est sans compter sur le fait que la proportion de presque-natifs dans un
ensemble de candidats est bien plus faible pour une prediction ´ a l’aveugle (de l’ordre `
de 1 a 10 pour 10 000 avec un bon protocole de g ` en´ eration de candidats). Inverser la ´
prediction reviendrait certainement ´ a donner une ` energie ´ elev ´ ee´ a une grande partie `
des presque-natifs de faible energie. ´
De la meme mani ˆ ere, avec 59 complexes sur 120, pr ` es de la moiti ` e des complexes ´
n’ont aucun presque-natif dans le top10 des meilleurs candidats en energie. Formul ´ e´
autrement, en prenant un complexe au hasard de la PRIDB, il y a une chance sur deux
que la prediction ne propose aucun candidat satisfaisant. La fonction de score ROS ne ´
permet pas la prediction des interactions prot ´ eine-ARN. ´
Les diagrammes d’energie en fonction du I ´ RMSD permettent de constater que la
fonction de score ROS n’est pas adaptee´ a un raffinement d’une structure de haute `
resolution prot ´ eine-ARN. En effet, aucun des complexes ne montre un entonnoir sur la ´
totalite de ses candidats : il existe toujours de nombreux candidats de faible ´ energie et ´
ayant un IRMSD elev ´ e (voir 2.5). On peut aussi constater plus clairement qu’inverser la ´
fonction de score ROS amenerait ` a n’avoir qu’une tr ` es faible quantit ` e de candidats de ´
23Chapitre 2. Approche Rosetta et adaptation
faible energie, souvent avec un I ´ RMSD superieur ´ a 5 ` A. ˚
Irmsd (Å)
Score
0 20
−200 3350
Irmsd (Å)
Score
0 20
−530 3400
Irmsd (Å)
Score
0 20
−90 4940
FIGURE 2.5 – Exemples de diagrammes d’energie en fonction du I ´ RMSD pour la fonction
de score ROS sur 3 complexes. On remarque l’absence d’entonnoir. De nombreux
complexes montrent des diagrammes semblables pour la fonction de score ROS, qui
n’est pas adaptee. ´
On note toutefois que certains complexes peuvent etre consid ˆ er´ es comme ayant ´
un entonnoir, jusqu’a une faible valeur de I ` RMSD (voir 2.6). Au-dela de cette valeur en `
IRMSD, de l’ordre de 2 ou 3A et propre ˚ a chacun de ces complexes, la fonction de `
score ROS donne une energie comparable entre des candidats ayant un I ´ RMSD faible
comme elev ´ e. ´
Irmsd (Å)
Score
0 20
−210 2980
Irmsd (Å)
Score
0 20
−1190 4730
Irmsd (Å)
Score
0 20
−930 5030
FIGURE 2.6 – Meilleurs exemples de diagrammes d’energie en fonction du I ´ RMSD pour
la fonction de score ROS sur 3 complexes. On remarque un entonnoir s’arretant rapide- ˆ
ment. Rares sont les complexes montrant des diagrammes semblables pour la fonction
de score ROS.
Si la fonction de score non optimisee ROS n’est pas adapt ´ ee´ a la pr ` ediction d’in- ´
teractions proteine-ARN, il est possible d’optimiser une fonction de score similaire. ´
Nous verrons lors de l’optimisation de la fonction de score, avec le filtrage a priori,
que ROS est initialement apprise pour predire des candidats dont certains leurres sont ´
242.3. Optimisation de la fonction de score
dej ´ a filtr ` es. Il s’agit notamment des candidats avec trop d’interp ´ en´ etrations, aussi ap- ´
pelees ´ clashes, notion modelis ´ ee par le terme de score fa ´ rep. Ce constat, couple au ´
fait que ROS n’a pas et ´ e construite pour pr ´ edire d’interactions prot ´ eine-ARN, explique ´
son echec sur la pr ´ ediction d’interactions prot ´ eine-ARN. Mais nous verrons aussi et ´
surtout d’autres approches d’optimisation.
2.3 Optimisation de la fonction de score
La combinaison lineaire de termes physico-chimiques est la seule forme de fonc- ´
tion de score que RosettaDock peut nativement utiliser. Nous mettons donc en œuvre
l’apprentissage d’une fonction de score etant la combinaison lin ´ eaire des 10 attributs ´
physico-chimiques atomiques disponibles pour chaque candidat. L’equation 2.9 montre ´
pour un candidat c la combinaison lineaire ´ E(c) des |A| attributs physico-chimiques ai
.
wai
representent les poids de la fonction de score et ´ Eai
(c) la valeur de l’attribut ai pour
le candidat c.
E(c) = X
|A|
i=1
waiEai
(c) (2.9)
Une autre formulation envisageable est celle present ´ ee dans l’ ´ equation 2.10 avec ´
des notations plus classiquement utilisees en apprentissage. On retrouve ´ X qui designe ´
le candidat c, xi qui represente la valeur de l’attribut ´ Eai
pour le candidat c (Eai
(c)) et
wi
le poids du i
eme attribut.
E(X) = X
|A|
i=1
wixi (2.10)
Par souci de simplicite et pour ´ eviter d’introduire un formalisme trop distant des ´
conventions usuelles en apprentissage automatique, nous utiliserons les notations
present ´ ees dans l’ ´ equation 2.10. ´
Les poids wi doivent etre d ˆ efinis soit ´ a partir de connaissances physico-chimiques, `
soit a partir de donn ` ees d ´ ej ´ a connues, c’est- ` a-dire des complexes prot ` eine-ARN pour ´
lesquels un ensemble de presque-natifs et un ensemble de leurres sont connus. Pour
conserver la semantique biologique de la fonction de score qui repr ´ esente une ´ energie, ´
les presque-natifs doivent avoir des scores de valeurs inferieures ´ a ceux des leurres. `
Si nous arrivons a construire une telle fonction de score, nous pourrons l’utiliser `
a des fins pr ` edictives. C’est- ´ a-dire que seules les candidats (ou exemples) ayant les `
valeurs les plus faibles pour ce score seront retenus.
Du point de vue de l’apprentissage, cela implique qu’il existe une correlation entre ´
la probabilite d’ ´ etre un candidat presque-natif et la valeur du score. Nous pouvons ˆ
donc estimer la probabilite conditionnelle ´ P(Pr esque −natif|E(X)) et de maniere plus `
gen´ erale ´ P(Pr esque − natif|X).
Dans notre cadre de travail, nous disposons de deux classes : presque-natif et
leurre. Nous noterons 1 la classe presque-natif et 0 la classe leurre.
25Chapitre 2. Approche Rosetta et adaptation
Notre objectif se reformule donc comme l’estimation de la probabilite condition- ´
nelle : P(y = 1|X).
Compte tenu du cadre impose par RosettaDock, nous cherchons ´ a estimer ` P(y =
1|X) ∼ E(X) = P|A|
i=1 wixi
. Nous devons donc determiner les poids ´ wi
tels que E(X)
represente bien la probabilit ´ e pour ´ X d’etre un presque-natif. Pour ˆ etre tout ˆ a fait `
rigoureux, sachant que E(X) represente (d’un point de vue biologique) l’ ´ energie du ´
candidat X, plus cette energie est faible alors plus la probabilit ´ e que le candidat ´ X soit
un presque-natif est elev ´ ee. ´
Nous cherchons donc a d ` eterminer les poids ´ wi
tels que P(y = 1|X) = 1 − E(X) =
1 −
P|A|
i=1 wixi aient une valeur maximale pour X presque-natif.
Plusieurs approches peuvent etre mises en œuvre pour estimer les poids ˆ wi
.
Nous presentons dans les sous-sections 2.3.1 et 2.3.2 deux approches permettant ´
de determiner ces poids. ´
2.3.1 Estimation des poids par regression logistique ´
Nous allons montrer dans cette section le bien fonde de la mod ´ elisation de ´ P(y =
1|X) par une combinaison lineaire des attributs de ´ X
Sachant que notre objectif est de pouvoir identifier les presques-natifs, nous pouvons
redefinir notre objectif principal : ´ estimer au mieux le ratio P(y = 1|X)/P(y = 0|X).
Si le ratio est superieur ou ´ egal ´ a 1 alors le candidat sera pr ` edit comme ´ etant un ´
presque-natif, sinon, il sera predit comme ´ etant un leurre. ´
Par un simple jeu de re´ecriture des probabilit ´ es conditionnelles, nous pouvons re- ´
formuler le rapport P(y = 1|X)/P(y = 0|X) comme indique dans l’ ´ equation 2.11. ´
P(y = 1|X)
P(y = 0|X)
=
P(y = 1)
P(y = 0) ∗
P(X|y = 1)
P(X|y = 0) (2.11)
Classiquement la fraction P(y=1)
P(y=0) est estimee´ a partir du rapport des contingences ob- `
servees sur le jeu d’apprentissage : ´
P(y=1)
P(y=0) =
nb(y=1)
nb(y=0) ou` nb(y = 1) (resp. = 0) represente ´
le nombre de candidats presque-natifs (resp. leurres) dans le jeu d’apprentissage.
L’estimation du rapport des probabilites conditionnelles exprim ´ e dans l’ ´ equation ´
2.11 repose donc sur l’estimation du rapport defini dans l’ ´ equation 2.12. ´
P(X|y = 1)
P(X|y = 0) (2.12)
Pour estimer le rapport 2.12, la regression logistique pose l’hypoth ´ ese fondamen- `
tale que le logarithme nep´ erien du rapport des probabilit ´ es conditionnelles peut s’ex- ´
primer comme une combinaison lineaire des attributs d ´ ecrivant ´ X (voir equation 2.13). ´
ln
P(X|y = 1)
P(X|y = 0)
= a0 +
X
|A|
i=1
aixi (2.13)
Sachant que nous cherchons a estimer la probabilit ` e d’un candidat d’ ´ etre un presque- ˆ
natif, nous devons estimer P(y = 1|X).
262.3. Optimisation de la fonction de score
Nous pouvons obtenir une estimation de P(y = 1|X) grace ˆ a l’ ` equation 2.14 avec ´
w0 = ln P(y=1)
P(y=0) + a0 et wi = ai
.
LOGIT(P(y = 1|E)) = ln P(y = 1|X)
1 − P(y = 1|X)
= w0 +
X
|A|
i=1
wiEi (2.14)
L’estimation de P(y = 1|X) est fournie par l’equation 2.15. ´
P(y = 1|X) = e
w0+
P|A|
i=1 wi xi
1 − e
w0+
P|A|
i=1 wi xi
(2.15)
Rappelons que notre objectif est de determiner les poids ´ wi permettant d’estimer
au mieux P(y = 1|X). Plusieurs methodes peuvent ´ etre utilis ˆ ees pour d ´ eterminer ces ´
poids. Classiquement en regression logistique, ces poids sont estim ´ es par maximum ´
de vraisemblance a partir d’un ` echantillon de donn ´ ees consid ´ er´ e comme repr ´ esentatif. ´
Nous ne detaillerons pas les calculs n ´ ecessaires pour l’estimation par maximum ´
de vraisemblance. Le lecteur interess ´ e par le maximum de vraisemblance appliqu ´ e au ´
raffinement de structures 3D pourra se ref´ erer ´ a [184]. `
D’autres approches peuvent etre utilis ˆ ees pour estimer les valeurs des poids, par ´
exemple des approches d’optimisation stochastiques telles que les algorithmes de type
evolutionnaire. ´
2.3.2 Algorithmes evolutionnaires ´
Les algorithmes evolutionnaires appartiennent ´ a la famille des m ` ethodes d’optimi- ´
sation stochastiques. Ces algorithmes permettent d’obtenir une solution approchee´ a`
un probleme. `
Dans notre cadre de travail, notre objectif est de pouvoir determiner, ´ a partir d’un `
ensemble d’attributs associes´ a un candidat, si celui-ci est un presque-natif ou non. Si `
nous nous replac¸ons dans le cadre de RosettaDock, nous cherchons a d ` eterminer les ´
poids wi
tels que E(X) = P|A|
i=1 wixi soit minimal si X est un presque-natif.
Pour determiner les poids ´ wi
, nous avons vu que nous pouvons estimer ces poids
par maximum de vraisemblance, mais nous pouvons aussi determiner ces poids par ´
rapport a une fonction objectif et un jeu de donn ` ees ´ etiquet ´ ees. Et comme indiqu ´ e´
prec´ edemment, notre objectif est de d ´ eterminer les poids ´ wi
tels que les presque-natifs
obtiennent des valeurs faibles pour E et les leurres des valeurs elev ´ ees. ´
Nous avons choisi de mettre en œuvre l’approche ROGER (ROC-based Evolutionary
learneR) [228]. Il s’agit d’une implementation en C d’un algorithme g ´ en´ etique cher- ´
chant a optimiser un vecteur de valeurs selon une fonction objectif. R ` OGER a pour
fonction objectif l’aire sous la courbe Receiver Operating Characteristic (ROC-AUC), a`
maximiser. En pratique, ROGER minimise la somme des rangs des exemples positifs,
qui est un equivalent de la maximisation de l’aire sous la courbe ROC. ´
Le principe de ROGER (principe gen´ eral des algorithmes ´ evolutionnaires) est illustr ´ e´
dans la figure 2.7.
27Chapitre 2. Approche Rosetta et adaptation
Le principe consiste a manipuler des individus g ` en´ etiques qui vont ´ evoluer dans ´
l’espace de recherche au moyen de mutations et de croisements de leur patrimoine
gen´ etique. ´
Plusieurs espaces de recherche peuvent etre d ˆ efinis. Dans notre cadre de travail, ´
l’espace de recherche est R
|A| car les |A| attributs caracterisant un candidat sont ´ a`
valeur reelle. ´
Un individu gen´ etique est d ´ efini comme l’ensemble des ´ |A| poids wi que nous cherchons
a d ` efinir. ´ Etant donn ´ e un individu g ´ en´ etique, tous les candidats du jeu d’appren- ´
tissage sont evalu ´ es et le score obtenu pour chaque individu permet d’ordonner tous ´
les candidats par valeur croissante de ce score (E tel que defini dans l’ ´ equation 2.10). ´
La qualite d’un individu g ´ en´ etique ´ f est evalu ´ ee´ a partir de ce tri. Cette qualit ` e se ´
definit simplement par la somme des rangs des exemples presque-natifs. ´
Le principe gen´ eral de R ´ OGER comporte globalement les cinq etapes suivantes ´
(voir fig. 2.7) :
1. gen´ eration al ´ eatoire de la population initiale des individus g ´ en´ etiques ( ´ µ parents),
puis evaluation de cette population ; ´
2. verification de la qualit ´ e de la population. Fin de l’algorithme si au moins l’un des ´
criteres d’arr ` et est atteint ; ˆ
3. evolution de cette population pour obtenir un ensemble d’enfants de cardinalit ´ e´
λ ; La gen´ eration de ces ´ λ enfants est realis ´ ee par mutation et croisement ´ a partir `
des µ parents de la population courante ;
4. evaluation de l’ensemble des ´ λ nouveaux enfants ;
5. selection de la nouvelle population, ne conservant que les ´ µ meilleurs individus
gen´ etiques ´ a partir de l’ensemble des individus de la population courante, ` i.e. les
µ parents + λ enfants.
Nous avons teste diff ´ erents couples de valeurs pour ´ µ et λ. Compte tenu des
performances obtenues et des temps de calculs, le meilleur couple de valeurs est
(µ, λ) = (10, 80).
Nous avons defini trois crit ´ eres d’arr ` et pour l’algorithme : ˆ
– le nombre maximum d’iterations est atteint (100 000 it ´ erations) ; ´
– le nombre maximum d’iterations sans am ´ elioration de la fonction objectif est at- ´
teint (20 000 iterations) ; ´
– l’optimum de la fonction objectif est atteint, c’est-a-dire que l’aire sous la courbe `
ROC est egale ´ a 1. `
ROGER peut apprendre differents types de fonctions parmis lesquels nous retrou- ´
vons des fonctions lineaires, polynomiales, logistiques, ´ etc.
2.3.3 Methodologie d’optimisation de la fonction de score atom- ´
ique
La methodologie g ´ en´ erale d’optimisation de la fonction de score atomique de Roset- ´
taDock peut se decomposer en 3 parties : ´
282.3. Optimisation de la fonction de score
Initialisation
Enfants (λ vecteurs)
Mutations et brassages Fonction objectif
Évaluation
Critère d'arrêt
(AUC, itérations... )
Parents (μ vecteurs)
Remplacement
Meilleurs parmi μ + λ
Évaluation
FIGURE 2.7 – Illustration de l’algorithme gen´ eral de R ´ OGER. Les parents et enfants
que ROGER manipule sont des vecteurs de valeurs. En encadres verts se trouvent ´
les vecteurs. Les etapes du processus sont encadr ´ ees en bleu et l’entr ´ ee et la sortie ´
sont en encadres noirs. R ´ OGER commence par choisir au hasard µ parents et les
evaluer. Puis, il g ´ en´ ere ` λ enfants par mutation et recombinaison a partir des ` µ parents.
ROGER evalue et s ´ electionne ensuite selon la fonction objectif les ´ µ meilleurs vecteurs
parmi les µ parents et λ enfants. Ces µ meilleurs vecteurs deviennent les µ parents de
l’iteration suivante, jusqu’ ´ a atteindre un crit ` ere d’arr ` et. ˆ
– la constitution des jeux de donnees, d ´ ej ´ a pr ` esent ´ ee au chapitre 1 ; ´
– l’apprentissage de la fonction de score sur l’ensemble des 120 complexes et
l’apprentissage des 120 fonctions de score en leave-”one-pdb”-out, present ´ es´
prec´ edemment dans cette m ´ eme section ; ˆ
– l’evaluation des 120 fonctions de score en ´ leave-”one-pdb”-out sur les candidats
de leur jeu d’evaluation et celle de la fonction de score sur les 40 000 candidats ´
de l’ensemble de validation.
Sur le diagramme 2.8, la premiere partie est d ` elimit ´ ee par les points ´ a, b et c.
Ces points a, b et c correspondent respectivement a la g ` en´ eration des candidats ´
par perturbation, a leur ` etiquetage en presque-natifs, leurres et leurres du test et ´ a`
l’echantillonnage sans remise des candidats des classes presque-natifs et leurres pour ´
constituer le jeu d’apprentissage. La seconde partie intervient aux points d et e dans la
construction des fonctions de score, qu’il s’agisse des 120 fonctions de score apprises
en leave-”one-pdb”-out – point d – ou de la fonction de score apprise sur l’ensemble
des 120 complexes – point e. La derniere partie est repr ` esent ´ ee par le point ´ f,
avec le calcul et l’observation des differentes mesures d’ ´ evaluation sur les exemples ´
de validation.
29Chapitre 2. Approche Rosetta et adaptation
PRIDBnr
133 pdb
Génération de candidats
par perturbation
10 000 structures par pdb
Filtre : pdb avec seulement
2 partenaires en interaction
133 pdb
oui
120 * 10 000 candidats
3 600 presque-natifs
3 600 leurres
120 pdb
354 344
leurres
a
b
c
Sépare les candidats
Irmsd(presque-natifs) ≤ 5 Å
Irmsd(leurres) > 8 Å
leurres de test sinon
Jeu
d'apprent.
7 200
candidats
Pour tout pdb :
#cand.(Irmsd ≤ 5 Å) ≥ 30
et
#cand.(Irmsd > 8 Å) ≥ 30
?
non
590 707
presquenatifs
120 * 10 000 candidats
254 949
leurres
de test
Échantillonnage sans remise :
candidats avec
#presque-natifs=#leurres=30
Ensemble
d'apprent.
1 200 000
candidats
Apprentissage + évaluation
Leave-"one-pdb"-out
Critères globaux
Inspection visuelle
Courbe ROC + ROC-AUC
#presque-natifs(top10)
#cand.(sous énergie native)
Score d'enrichment
d
Apprentissage
1 fonction de score
ROGER Logistique
e
Modèle de
fonction
de score
1 modèle
f
120 modèles
FIGURE 2.8 – Illustration de la methodologie d’optimisation de la fonction de score ´
atomique.
2.4 Evaluation de la fonction de score optimis ´ ee´
Le modele utilis ` e pour l’apprentissage et pr ´ esent ´ e pr ´ ec´ edemment peut faire l’objet ´
de variantes pour ameliorer le pouvoir pr ´ edictif tel qu’il est refl ´ et´ e par les diff ´ erentes ´
mesures d’evaluation. ´
Les choix sur les variantes dependent des connaissances ´ a priori sur le contexte de
la prediction prot ´ eine-ARN. D’une part, nous choisissons de tester les m ´ ethodologies ´
mises en œuvre dans la prediction d’interactions prot ´ eine-prot ´ eine. D’autre part, nous ´
prenons en compte les caracteristiques propres des ARN par rapport aux prot ´ eines, ´
notamment sa plus grande flexibilite. Parmi ces choix, nous pouvons identifier : ´
– la definition de l’intervalle de valeurs des poids des termes de score ; ´
– le filtrage a priori des candidats pour chaque complexe ;
– la categorisation des complexes en fonction de crit ´ eres sur leurs partenaires `
302.4. Evaluation de la fonction de score optimis ´ ee´
combinee´ a la mod ` elisation d’une fonction de score par cat ´ egorie de complexes. ´
2.4.1 Pouvoir predictif en fonction des contraintes ´
L’intervalle de valeurs dans lequel les poids des termes de score sont recherches´
influence les performances de la fonction de score obtenue pour maximiser la fonction
objectif. Une contrainte imposee sur cet intervalle de valeurs permet de simplifier la ´
recherche du maximum global en diminuant la taille de l’espace de recherche. Mais
contraindre l’intervalle de valeurs des poids peut aussi empecher de trouver les poids ˆ
permettant d’obtenir le maximum global. Il convient donc d’utiliser une contrainte astucieusement
choisie pour eviter les minima locaux tout en conservant dans l’intervalle ´
de valeurs les poids permettant d’obtenir le maximum global.
Quelles que soient les contraintes appliquees ´ a l’apprentissage dans R ` OGER, les
fonctions de score optimisees pour l’amarrage prot ´ eine-ARN surpassent les perfor- ´
mances de la fonction de score optimisee pour l’amarrage prot ´ eine-prot ´ eine qui est, ´
rappelons-le, la fonction par defaut de RosettaDock (voir tableau 2.3). La fonction de ´
score optimisee pour l’amarrage prot ´ eine-prot ´ eine a une AUC moyenne inf ´ erieure ´ a 0.4 `
et n’a que la moitie des complexes avec un nombre de presque-natifs non nul parmi le ´
top10 des candidats tries en ´ energie. De plus, seuls 15 des complexes ont une AUC ´
superieure ´ a 0.5. `
La contrainte a poids positifs, issue de la connaissance experte de l’amarrage `
proteine-prot ´ eine, donne de meilleurs r ´ esultats que la contrainte ´ a poids n ` egatifs ou ´
meme que l’absence de contrainte [101]. Les fonctions de score ˆ a poids positifs ont `
une ROC-AUC moyenne superieure de plus de 0.1 ´ a la ROC-AUC moyenne des autres `
fonctions de score. De plus, les fonctions de score a poids positifs ont une dizaine `
de complexes de plus avec une ROC-AUC superieure ´ a 0.5 et avec un nombre de `
presque-natifs non nul dans le top10 des candidats tries en ´ energie. ´
La contrainte a poids n ` egatifs donne des r ´ esultats quasi-identiques ´ a l’absence `
de contrainte. Ces deux manieres d’apprendre les fonctions de score donnent une `
ROC-AUC moyenne de 0.64, 105 complexes avec une ROC-AUC superieure ´ a 0.5 et `
109 complexes avec au moins 1 presque-natif dans le top10 des candidats tries en ´
energie. En l’absence de contrainte, les poids sont pi ´ eg´ es dans des minima locaux. Ce ´
sont justement ces minima locaux qui sont evit ´ es en appliquant la contrainte des poids ´
positifs. Etant donn ´ ee la similarit ´ e de r ´ esultats entre la contrainte n ´ egative et l’absence ´
de contrainte, la question est de savoir si les poids sont aussi similaires.
Il se trouve que les minima locaux des fonctions de score sans contrainte appliquee´
sur leurs poids sont pour certains negatifs ou nuls (voir fig. 2.9). Les poids en question ´
des fonctions de score sans contrainte sont donc effectivement pieg´ es dans l’intervalle ´
de valeurs negatif. ´
Les poids finalement acceptes ont surtout des valeurs non nulles pour quatre ter- ´
mes de score (voir fig. 2.10). Parmi ces quatre termes de score, trois d’entre eux correspondent
a des types de liaisons hydrog ` ene et ont une valeur proche de 1 pour quasi- `
ment tous les complexes. Ceci montre a quel point la formation des liaisons hydrog ` ene `
dans une interaction proteine-ARN est importante dans les structures biologiquement ´
31Chapitre 2. Approche Rosetta et adaptation
Classifieur ROC-AUC ROC-AUC > 0.5 #(top10E(Candidats))> 0
ROS 0.363±0.016 15 61
NEG 0.640±0.016 105 109
ALL 0.643±0.016 105 109
POS 0.798±0.018 119 117
TABLE 2.3 – Pour chaque intervalle de valeurs utilise comme contrainte d’apprentis- ´
sage des poids par ROGER lineaire sont indiqu ´ es : la moyenne et la variance de la ´
ROC-AUC, le nombre de complexes pour lesquels la ROC-AUC est superieure ´ a 0.5 et `
le nombre de complexes avec un #presque-natifs (top10E(Candidats)) non nul. ROGER
lineaire positif (POS) a pour contrainte l’intervalle de valeurs positif [0 ; 1], R ´ OGER
lineaire (ALL) l’intervalle de valeurs sans contrainte [ ´ −1 ; 1] et ROGER lineaire n ´ egatif ´
(NEG) l’intervalle de valeurs negatif [ ´ −1 ; 0]. La fonction de score par defaut est celle ´
implement ´ ee dans RosettaDock et optimis ´ ee pour l’amarrage prot ´ eine-prot ´ eine. ´
actives. Le seul type de liaison hydrogene qui n’est pas privil ` egi ´ e correspond aux li- ´
aisons hydrogene entre les atomes de la cha ` ˆıne laterale de l’un des partenaires et les ´
atomes du squelette de l’autre partenaire. Le dernier terme de score a une valeur qui
avoisine les 0.2 et correspond a l’affinit ` e entre paires d’atomes. ´
2.4.2 Fonction de score dedi ´ ee pour chaque type d’ARN ´
Une des hypotheses de travail est de consid ` erer que l’interaction entre la prot ´ eine et ´
l’ARN depend de la forme des partenaires. Dans cette optique, nous avons cat ´ egoris ´ e´
les complexes en trois types, en fonction de la forme gen´ erale de l’ARN : simple brin ´
(ss), double brin (ds) et ARN de transfert mature (tRNA). Puis, nous avons modelis ´ e´
une fonction de score pour chaque categorie de complexes. Pour chaque fonction ´
de score ainsi modelis ´ ee, nous avons proc ´ ed´ e, en amont de l’apprentissage et de ´
l’evaluation, ´ a un filtre des complexes pour ne garder que les complexes de la cat ` egorie ´
correspondant a la fonction. `
Les resultats de l’ ´ evaluation indiquent que les complexes mettant en jeu un tRNA ´
mature sont un peu mieux modelis ´ es avec une fonction de score d ´ edi ´ ee (voir tableau ´
2.4). Les deux autres fonctions de score dedi ´ ees ne montrent pas d’am ´ elioration par ´
rapport a la fonction de score R ` OGER a poids positifs. `
2.4.3 Combinaison lineaire ´ a poids positifs `
Apres apprentissage de la fonction de score ` a combinaison lin ` eaire par R ´ OGER
avec des coefficients des termes de score contraints aux valeurs dans [0 ; 1], la fonction
de score est evalu ´ ee. Pour chaque mesure d’ ´ evaluation, nous allons ´ evaluer les ´
120 fonctions de score gen´ er´ ees par ´ leave-”one-pdb”-out et la fonction de score globale
sur le jeu de donnees issu des ´ Benchmarks I et II.
322.4. Evaluation de la fonction de score optimis ´ ee´
●
●
●
●
●
●
●●
●
●
●
●
●
●
−1.0 −0.5 0.0 0.5 1.0
Poids
●
●●
●
●
●
●
●●
●
●
●
●
●●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
−1.0 −0.5 0.0 0.5 1.0
fa_atr
fa_rep
fa_dun
fa_sol
fa_pair
hbond_lr_bb
hbond_sr_bb
hbond_bb_sc
hbond_sc
hack_elec
FIGURE 2.9 – Repartition de la valeur des coefficients par poids et contrainte d’inter- ´
valle de valeurs, pour les 120 fonctions de score gen´ er´ ees par le ´ leave-”one-pdb”-out
mis en œuvre sur la PRIDB. Les points en losange jaune correspondent aux valeurs
des coefficients des poids de la fonction de score par defaut de RosettaDock, ROS. ´
Les boˆıtes a moustache repr ` esentent les valeurs des coefficients des termes de score ´
pour un intervalle de definition n ´ egatif (en bleu) ou sans contrainte (en noir). ´
2.4.3.1 Pouvoir predictif de la fonction de score ´
La ROC-AUC est superieure ´ a 0.7 pour 89 des 120 complexes, montrant un pouvoir `
predictif important (voir tableau S12). Globalement, les presque-natifs sont donc bien ´
separ ´ es des leurres. La ROC-AUC est en moyenne de 0.8 et sa variance de 0.02. ´
Lges courbes ROC ont une pente a l’origine ` elev ´ ee, comme on peut le voir pour les ´
33Chapitre 2. Approche Rosetta et adaptation
FIGURE 2.10 – Repartition de la valeur des coefficients par poids, pour les 120 fonc- ´
tions de score gen´ er´ ees par le ´ leave-”one-pdb”-out mis en œuvre sur la PRIDB. Les
points en losange correspondent aux valeurs des coefficients des poids de la fonction
de score par defaut de RosettaDock, ROS. ´
complexes etant ´ a la m ` ediane, au premier quartile et au troisi ´ eme quartile en ROC- `
AUC (voir fig. 2.11). Sur l’ensemble des complexes, seuls 8 des 120 ont une pente a`
l’origine insatisfaisante (voir fig. 2.12).
Dans le jeu de donnees issu des ´ Benchmarks I et II, les resultats des fonctions de ´
score ROGER sont similaires a ceux pour le jeu de donn ` ees de perturbations issu de ´
la PRIDB (voir fig 2.11).
342.4. Evaluation de la fonction de score optimis ´ ee´
Categorie ´ Mediane(ROC-AUC) ´ ROC-AUC > 0.7 ROC-AUC > 0.6 Complexes
POS 0.82 0.73 0.88 120
POS ds 0.81 0.69 0.87 55
POS ss 0.80 0.76 0.88 33
POS tRNA 0.87 0.84 0.97 32
TABLE 2.4 – Evaluation du mod ´ ele de pr ` ediction d ´ edi ´ e par cat ´ egorie de complexes. Les ´
categories double brin (POS ds), simple brin (POS ss) et ARN de transfert (POS tRNA) ´
sont comparees ´ a la fonction de score sans cat ` egorisation des complexes (POS). La ´
mediane de la ROC-AUC, et la proportion des complexes v ´ erifiant une condition sur la ´
ROC-AUC parmi les complexes de la categorie sont compar ´ ees. La derni ´ ere colonne `
correspond au nombre de complexes dans la categorie. On peut remarquer que la ´
fonction de score dedi ´ ee aux complexes avec un ARNt mature donne de meilleures ´
performances que la fonction de score traitant indifferemment les complexes. Les deux ´
autres fonctions de score dedi ´ ees donnent des r ´ esultats similaires ´ a la fonction de `
score non dedi ´ ee. ´
2.4.3.2 Enrichissement du tri des candidats
Le score d’enrichissement defini au chapitre 1 montre un enrichissement du tri pour ´
27 des 120 complexes : ces 27 complexes ont un score d’enrichissement superieur ´
a 6. Sur les 120 complexes, 6 complexes ont un enrichissement inf ` erieur ´ a 1. ` A la `
lumiere de ces r ` esultats, il faut rappeler que la fonction de score apprend ´ a s ` eparer ´
deux classes - presque-natifs et leurres - qui sont distinguees l’une de l’autre par un ´
seuil fixe de 5A en I ˚ RMSD. Or, le score d’enrichissement considere les 10 % premiers `
candidats en IRMSD comme des presque-natifs et regarde parmi eux la proportion des
10 % premiers candidats en energie. Dans un ensemble de candidats g ´ en´ er´ es par ´
faible perturbation, il arrive frequemment qu’un seuil d ´ efini ´ a 10 % des candidats en `
IRMSD soit tres inf ` erieur ´ a 5 ` A (de l’ordre de 1 ˚ a 2 ` A). De mani ˚ ere g ` en´ erale, le score ´
d’enrichissement est donc d’autant moins bon que le seuil a 10 % des candidats en `
IRMSD s’ecarte de 5 ´ A. Le r ˚ esultat obtenu est plus coh ´ erent avec les autres mesures ´
d’evaluation pour un score d’enrichissement ´ a` X % ou` X est la proportion de candidats
necessaires pour avoir un seuil en I ´ RMSD de 5A. Pour R ˚ OGER, le score d’enrichissement
ainsi calcule est sup ´ erieur ´ a 6 pour 94 des 120 complexes, contre seulement `
42 complexes pour ROS. Et aucun complexe n’a un score inferieur ´ a 2 pour le score `
ROGER, contre 41 complexes pour ROS.
2.4.3.3 Detection d’entonnoir ´
Les courbes d’EvsIrms permettent de detecter un entonnoir pour 94 des 120 com- ´
plexes (voir fig. S1). Ceci suggere que la fonction de score est utilisable en amarrage `
atomique pour affiner une structure 3D dont on a detect ´ e l’ ´ epitope. ´
On pourrait penser que la separation des candidats en presque-natifs et leurres ´
selon un seuil fixe a un impact sur la signification de la prediction. Si la fonction de ´
35Chapitre 2. Approche Rosetta et adaptation
FIGURE 2.11 – Courbes ROC pour trois complexes de la PRIDB avec la fonction de
score POS (a) et ROS (b), avec les courbes ROC pour trois complexes du Benchmark
I (c) et du Benchmark II (d). Les trois complexes utilises´ a chaque fois sont choisis `
parce qu’ils sont les plus proches de la mediane (en trait plein), le 1 ´
er quartile et le 3e
quartile (en pointilles) en ROC-AUC. La ROC-AUC de la m ´ ediane est ´ a chaque fois `
indiquee. ´
score apprend correctement a s ` eparer les classes, les candidats pr ´ edits presque-natifs ´
ont une forte chance d’avoir un IRMSD ≤ 5A. Mais la pr ˚ ediction pourrait ne pas don- ´
ner d’information plus forte sur la divergence entre le presque-natif et la structure native.
Pourtant, on constate avec la detection d’entonnoir que les caract ´ eristiques de ´
l’interaction ont correctement et ´ e mod ´ elis ´ ees par la fonction de score pour approxima- ´
tivement 100 des 120 complexes. En effet, les candidats de meilleure energie tendent ´
362.4. Evaluation de la fonction de score optimis ´ ee´
0.0 0.2 0.4 0.6 0.8 1.0
0.0 0.2 0.4 0.6 0.8 1.0
Irmsd
Score
FIGURE 2.12 – Courbes ROC pour 8 complexes de la PRIDB avec la fonction de score
POS. Ces 8 complexes ont et ´ e choisis pour la faible valeur de leur pente ´ a l’origine. `
aussi a` etre ceux qui ont le meilleur I ˆ RMSD et non n’importe quel IRMSD entre 0 et
5A. Cette information a ˚ et ´ e retrouv ´ ee par le mod ´ ele de fonction de score alors qu’elle `
n’etait pas fournie en entr ´ ee de l’apprentissage. ´
Il reste neanmoins des cas o ´ u un entonnoir n’est tout simplement pas d ` etect ´ e.´
Pour ces complexes pour lesquels l’interaction n’est pas capturee, une structure 3D ´
alternative est quelque fois proposee par la fonction de score, d’ ´ energie plus ´ elev ´ ee´
que l’interaction recherchee. Il s’agit ici de 1jbs et 1t0k, pour lesquels plusieurs leurres ´
de meme I ˆ RMSD sont proposes par la fonction de score. ´
Mais il y a aussi des cas ou la fonction de score privil ` egie de fac¸on consistante des ´
structures plus eloign ´ ees de la native, sans pour autant qu’il s’agisse de leurres. C’est ´
37Chapitre 2. Approche Rosetta et adaptation
1jbs (ES = 0.79)
Irmsd (Å)
Score
0 20
−22 −12
0 20
1t0k (ES = 1.34)
Irmsd (Å)
Score
0 20
21 34
0 20
FIGURE 2.13 – Diagrammes d’energie en fonction du I ´ RMSD pour deux complexes de
la PRIDB avec la fonction POS. On constate que la fonction de score propose une
interaction differente de celle de la structure native, alors qu’elle d ´ etecte tr ´ es bien un `
entonnoir pour 94 des 120 complexes.
notamment le cas pour 1feu, 1j1u ou 1pgl, ainsi que, dans une moindre mesure, pour
1asy, 1av6 ou 1b23. Pour certains de ces complexes, les candidats mis en avant par la
prediction ´ evitent davantage l’interp ´ en´ etration des partenaires que la structure native. ´
Pour d’autres, un entonnoir est meme visible en plus du premier entonnoir et laisse ˆ
suspecter une potentielle interaction de plus haute energie. Les complexes 2bx2, 2d6f ´
et, surtout, 3egz montrent en effet qu’une seconde interaction est compatible avec le
modele de fonction de score (voir fig. 2.14). `
2bx2 (ES = 2.08)
Irmsd (Å)
Score
0 20
2 12
0 20
2d6f (ES = 2.75)
Irmsd (Å)
Score
0 20
6 17
0 20
3egz (ES = 3.05)
Irmsd (Å)
Score
0 20
−17 −6
0 20
FIGURE 2.14 – Diagrammes d’energie en fonction du I ´ RMSD pour trois complexes de
la PRIDB avec la fonction POS. On constate que la fonction de score propose, en plus
de presque-natifs proches de la structure native, une interaction alternative a celle de `
la structure native.
2.4.3.4 Repartition des coefficients des termes de score ´
Les coefficients des termes de score nous permettent de mieux comprendre les
forces en jeu influenc¸ant le plus les interactions entre proteines et ARN. On peut re- ´
marquer plusieurs types de comportements parmi tous les complexes. Notamment, le
382.4. Evaluation de la fonction de score optimis ´ ee´
comportement le plus remarque est celui o ´ u les termes de score hbond, repr ` esentant ´
la stabilite provenant des liaisons hydrog ´ ene, ont des coefficients ` elev ´ es. Mais sur ´
les quatre types de termes de score hbond, seuls trois d’entre eux ont des valeurs
elev ´ ees : le coefficient reste tr ´ es faible pour le score hbond ` bb sc, qui represente les ´
liaisons hydrogene entre le squelette d’un partenaire et les cha ` ˆınes laterales de l’autre ´
partenaire. Ceci indique que les complexes proteine-ARN ont tendance ´ a former des `
liaisons entre les atomes de leurs squelettes a courte et moyenne port ` ee, mais aussi ´
entre les atomes des chaˆınes laterales. ´
Code PDB fa atr fa rep fa dun fa sol fa pair
1h3e 0.000496 0.000793 0.000009 0.000944 0.22261
1j2b 0.000653 0.000337 0.000023 0.000474 0.175237
3ex7 0.00058 0.000314 0.000009 0.000511 0.166342
Code PDB hbond lr bb hbond sr bb hbond bb sc hbond sc hack elec
1h3e 0.999557 0.999906 0.000132 0.999968 0.000726
1j2b 0.999245 0.999941 0.000627 0.99933 0.000559
3ex7 0.999739 0.999963 0.000301 0.999195 0.000479
TABLE 2.5 – Trois exemples types de coefficients des termes de score hbond elev ´ es. ´
Les valeurs des coefficients tournent toujours autour de valeurs tres faibles ( ` < 10−3
) ou
tres hautes ( ` > 1−10−3
). Le seul terme de score faisant exception a la r ` egle est le terme `
de score fa pair, modelisant l’affinit ´ e entre atomes en fonction de leur environnement. ´
2.4.4 Filtrage a priori des candidats du modele atomique `
Avec le filtrage a priori des candidats pour chaque complexe, le modele rejette `
d’emblee de la pr ´ ediction une partie des candidats, principalement pour deux raisons. ´
D’une part, les candidats peuvent etre rejet ˆ es parce qu’ils sont des leurres ´ evidents. ´
D’autre part, pour certains candidats, il peut etre trop difficile de discriminer entre ˆ
presque-natif et leurre. Il devient alors acceptable de rejeter ces candidats si la proportion
de presque-natifs parmi eux est suffisamment faible et si les retirer du jeu
d’apprentissage permet d’ameliorer la pr ´ ediction. ´
Nous avons proced´ e´ a un filtre en fonction du score donn ` e par le terme de score ´
fa rep, qui donne une quantification du chevauchement entre les deux partenaires.
Nous ne conservons que les candidats en-dessous de la mediane du terme de score ´
de fa rep, ce qui signifie que nous choisissons systematiquement de ne conserver que ´
les 5 000 meilleurs candidats en fa rep. En realit ´ e, il ne s’agit pas exactement des 5 000 ´
meilleurs candidats en fa rep. Le nombre exact de candidats retenu peut etre sup ˆ erieur ´
a 5 000, puisque la valeur en fa ` rep peut etre identique entre candidats autour du seuil ˆ
des 5 000 meilleurs candidats en fa rep.
Sur les 120 complexes de la PRIDB, 54 n’ont que des complexes presque-natifs
apres utilisation du filtre. Ceci montre l’importance du terme de score fa ` rep dans la
39Chapitre 2. Approche Rosetta et adaptation
determination des structures repr ´ esentant le mieux l’interaction, mais aussi que ce ´
terme de score ne suffit pas a pr ` edire l’interaction. ´
Sur les 66 complexes restants, qui disposent encore de leurres, on constate une
diminution drastique des performances en ROC-AUC. Sur ces complexes, 28 ont une
diminution de plus de 0.05 du ROC-AUC pour POS. Le filtre a permis d’ecarter des ´
candidats qui etaient des leurres tr ´ es faciles ` a discerner des presque-natifs pour les `
fonctions de score employees. ´
Cependant, nous observons aussi une augmentation du nombre de presque-natifs
dans le top10. Les 3 complexes pour lesquels il est le plus difficile pour POS de predire ´
des presque-natifs dans le top10 ont, apres filtre, tous au moins un presque-natif dans `
le top10 (voir tableau 2.6). De plus, le nombre de complexes pour lesquels il n’y a
aucun presque-natif dans le top10 passe de 59 a 22 pour la fonction de score ROS. `
pdb Enrichissement Top10 Top100 Presque-natifs Seuil ROC-AUC
ROS POS ROS POS ROS POS ROS POS
1jbs 0.38 0.40 0 1 35 32 2528 5003 0.49 0.55
1t0k 0.61 1.03 9 8 79 76 3725 5002 0.51 0.56
2anr 0.38 1.04 8 6 43 75 2927 5000 0.43 0.56
TABLE 2.6 – Les trois complexes les plus difficiles a pr ` edire pour la fonction de score ´
POS ont tous au moins 1 candidat presque-natif dans le top10 apres utilisation du filtre `
de la mediane en fa ´ rep, alors qu’ils etaient les seuls ´ a avoir un nombre de presque- `
natif dans le top10 a 0 sans usage du filtre. Pourtant, le ROC-AUC reste faible (0.55 `
environ).
Nous pourrions etre tent ˆ es de conserver le filtrage par la m ´ ediane en fa ´ rep dans
la suite de ces travaux. En effet, ce filtre a priori permet d’ameliorer les r ´ esultats quant ´
a l’objectif fix ` e de maximiser le nombre de presque-natifs dans le top10. Cependant, ´
il faut se rappeler que les candidats rejetes par ce filtre ´ a priori sont rejetes parce ´
qu’ils presentent une interp ´ en´ etration trop importante. Or, de tels candidats ne sont ´
pas attendus apres une g ` en´ eration de candidats ayant incorpor ´ e l’utilisation d’un filtre ´
adapte pour rejeter les candidats pr ´ esentant des caract ´ eristiques trop ´ eloign ´ ees des ´
attentes biologiques (interpen´ etration trop importante, distance trop importante entre ´
les atomes des partenaires, etc.).
Il est ainsi conseille d’employer le filtrage par la m ´ ediane en fa ´ rep en l’absence
de tout autre filtre ou de tout amarrage pouvant garantir que les candidats gen´ er´ es ne ´
presentent pas d’interp ´ en´ etration n’ayant aucun sens biologique. Mais l’objectif dans ´
les chapitres suivants est justement d’arriver a un protocole de pr ` ediction d’interactions ´
proteine-ARN o ´ u les candidats soumis ` a la pr ` ediction atomique ont un sens biologique. ´
402.5. Conclusions sur la fonction de score atomique
2.5 Conclusions sur la fonction de score atomique
Nous avons pu voir dans ce chapitre la fonction de score atomique implement ´ ee´
par defaut dans RosettaDock, ROS. Vu que ROS n’est pas optimis ´ e pour la pr ´ ediction ´
d’interactions proteine-ARN, ses performances ne permettent pas la pr ´ ediction d’in- ´
teractions entre proteine et ARN, encore moins le raffinement de structures 3D. Nous ´
avons constate que les mesures d’ ´ evaluation globales ne permettent pas d’obtenir d’in- ´
formations sur l’objectif fixe, qui est de maximiser le nombre de presque-natifs dans ´
le top10 des candidats. Dans cette optique, les mesures d’evaluation locales se sont ´
aver´ ees plus utiles. L’optimisation de la fonction de score atomique, en conservant ´
les contraintes de RosettaDock, a permis d’obtenir des performances bien meilleures.
Ce gain de performance a et ´ e conditionn ´ e´ a un apprentissage contraint ` a l’intervalle `
de definition positif, [0 ; 1], raison pour laquelle la fonction de score apprise s’appelle ´
POS. Nous avons confronte POS ´ a deux autres fonctions de score, ALL et NEG, re- `
spectivement sur l’intervalle de definition [ ´ −1 ; 1] pour ALL et [−1 ; 0] pour NEG. Cette
confrontation a permis de montrer l’efficacite de POS, dont l’intervalle de d ´ efinition ´
est tire de la connaissance ´ a priori de l’amarrage proteine-prot ´ eine. Un filtre ´ a priori
permet d’ameliorer la pr ´ ediction donn ´ ee par ROS, mais les r ´ esultats sont encore peu ´
stables, marquant des ecarts de performance importantes entre les diff ´ erents com- ´
plexes. Ce filtre consiste a ne conserver pour la pr ` ediction que les candidats dont la ´
valeur du terme de score fa rep est inferieure ´ a celle de la m ` ediane de fa ´ rep sur les
10 000 candidats gen´ er´ es. ´
Nous avons donc obtenu une fonction de score POS non seulement capable de
predire l’interaction prot ´ eine-ARN, mais aussi d’ ´ etre efficace dans le raffinement de ˆ
structures 3D proteine-ARN. Il reste maintenant ´ a concevoir une fonction de score `
s’affranchissant des contraintes de RosettaDock, pour esperer mieux mod ´ eliser encore ´
l’interaction. La finalite est d’obtenir un protocole d’amarrage de pr ´ ediction d’interaction ´
proteine-ARN multi- ´ echelle, ce qui implique la mod ´ elisation d’une fonction de score ´ a`
une autre echelle. Cette fonction de score sur une autre ´ echelle peut servir de filtre ´ a
priori pour diminuer les temps de calcul et ecarter les leurres les plus simples. C’est ´
pourquoi, dans un second temps, nous nous focaliserons sur une echelle gros-grain. ´
41Chapitre 2. Approche Rosetta et adaptation
42Chapitre 3
Approche a posteriori
Nous avons vu, dans le chapitre prec´ edent, l’approche classique mise en œuvre ´
dans RosettaDock pour la gen´ eration et l’ ´ evaluation de candidats. Le choix de Roset- ´
taDock impose de se restreindre a une fonction d’ ` evaluation qui est une combinaison ´
lineaire des attributs associ ´ es´ a chaque candidat. `
Comme nous le verrons par la suite, RosettaDock peut gen´ erer des candidats ´
presque-natifs qui, d’apres la fonction d’ ` evaluation utilis ´ ee, ne sont pas class ´ es parmi ´
les meilleurs candidats. Il n’est donc pas toujours possible, en utilisant seulement
une fonction de type combinaison lineaire, de mettre en avant les meilleurs candi- ´
dats gen´ er´ es par RosettaDock. Nous nous sommes donc focalis ´ e sur d’autres familles ´
de fonctions afin de pouvoir ordonner plus efficacement les candidats gen´ er´ es par ´
RosettaDock. Sachant que ces fonctions ne pourront etre appliqu ˆ ees qu’en post- ´
traitement de RosettaDock, c’est-a-dire sans interaction directe avec RosettaDock, `
nous appelerons les approches mises en œuvre pour obtenir ces nouvelles fonctions
de tri : modeles ` a posteriori.
3.1 Modeles ` a posteriori
Les modeles de fonction de score ` a posteriori ne sont pas utilises directement par ´
RosettaDock et peuvent ainsi s’affranchir de la contrainte de la combinaison lineaire. ´
Les candidats sont initialement gen´ er´ es par RosettaDock puis tri ´ es par une fonction de ´
score appliquee en post traitement. Notons qu’un tri ´ a posteriori ne permet pas d’orienter
la gen´ eration des candidats durant l’ ´ etape de g ´ en´ eration. Sachant qu’il est possible ´
de fournir a RosettaDock un ensemble de candidats ` a priori peu divergeant des solutions
recherchees, nous pouvons parfaitement envisager de coupler des phases de ´
gen´ eration de candidats suivies de s ´ election des meilleurs candidats en appliquant les ´
fonctions de tri que nous presenterons par la suite. Les meilleurs candidats pourront ´
alors etre utilis ˆ es comme conformations initiales pour l’it ´ eration suivante de Rosetta- ´
Dock.
De nombreuses approches peuvent etre mises en œuvre pour apprendre des fonc- ˆ
tions de score a partir des attributs disponibles pour chaque candidat. Nous avons `
etudi ´ e diff ´ erentes approches reposant sur l’apprentissage de mod ´ eles : fonctions de `
43Chapitre 3. Approche a posteriori
score de type combinaison lineaire ´ etendue, arbres ou r ´ egles de d ` ecision, mod ´ ele`
bayesien na ´ ¨ıf, etc.
3.1.1 Combinaison lineaire ´
La combinaison lineaire de termes physico-chimiques est la seule forme de fonc- ´
tion de score que RosettaDock peut nativement utiliser. L’equation 3.1 montre pour le ´
candidat X la combinaison lineaire ´ f(X) des attributs xi ou` wi representent les poids ´
qui doivent etre appris pour chaque attribut. ˆ
f(X) = X
|A|
i=1
wixi (3.1)
Cette modelisation peut ´ etre ˆ etendue en int ´ egrant la notion de ´ valeur de centrage
associee´ a chaque attribut. `
Les valeurs de centrage doivent etre apprises pour chaque attribut. Ces valeurs ˆ
vont permettre de determiner si la contribution au score de chaque attribut est lin ´ eaire ´
ou non.
La nouvelle fonction de score obtenue, fc, est definie par l’ ´ equation 3.2, o ´ u` X
represente le candidat, ´ xi
la valeur du i
e attribut, wi son poids et ci sa valeur de centrage.
Ainsi, la prise en consideration des valeurs de centrage, permet d’obtenir, pour ´
chaque attribut, un comportement lineaire par partie : croissant (resp. d ´ ecroissant) ´
jusqu’a un seuil ` ci puis decroissante (resp. croissant) apr ´ es le seuil. Notons que la `
contribution de xi est nulle au point ci
.
fc(X) = X
|A|
i=1
wi
|xi − ci
| (3.2)
A l’image des diff ` erents noyaux utilis ´ es pour les SVM, d’autres types de fonctions ´
peuvent etre prises en consid ˆ eration : polynomiales, quadratiques, gaussiennes, ´ etc.
Notre principal objectif n’etant pas d’apprendre une fonction d’ordonnancement des ´
candidats, mais plutot de pouvoir identifier efficacement les candidats presque-natifs, ˆ
nous nous sommes focalises sur des approches permettant d’apprendre des mod ´ eles `
predicitifs. ´
3.1.2 Approches dites ”explicatives” : arbres et regles de d ` ecision ´
Les arbres et les regles de d ` ecision appartienent ´ a la famille des mod ` eles ”expli- `
catifs” ou ”comprehensibles”. En effet, lorsqu’un arbre de d ´ ecision est appris sur des ´
donnees, il est ais ´ e de proposer ´ a l’expert une repr ` esentation graphique des donn ´ ees. ´
L’expert peut alors tres facilement comprendre le mod ` ele obtenu et se l’approprier. `
L’une des limitations de ces approches (arbres ou regles de d ` ecision) est la taille de ´
l’arbre obtenu (ou la quantite de r ´ egles). `
443.1. Modeles a posteriori `
Pour illustration, voici un exemple simple d’arbre de decision (voir fig. 3.1). Sur trois ´
attributs fa dun, fa pair et fa rep, 50 exemples fictifs sont utilises pour la pr ´ ediction : ´
25 presque-natifs et 25 leurres. La valeur de chacun des attributs est dans l’intervalle
[0 ; 1] pour les 50 exemples. Voici le resultat de l’apprentissage d’un arbre d ´ ecisionnel ´
sur ces 50 exemples fictifs :
• fa dun≥ 0.43
• fa rep≤ 0.72 (presque-natifs) : 13 presque-natifs et 5 leurres
• fa rep> 0.72 (leurres) : 16 leurres et 4 presque-natifs
• fa dun< 0.43
• fa pair< 0.14 (presque-natifs) : 2 presque-natifs
• fa pair≥ 0.14
• fa rep> 0.65 (leurres) : 3 leurres
• fa rep≤ 0.65 (presque-natifs) : 6 presque-natifs et 1 leurre
FIGURE 3.1 – Exemple d’arbre de decision sur 50 exemples fictifs r ´ epartis en 25 ´
presque-natifs et 25 leurres, avec 3 attributs : fa dun, fa pair et fa rep.
Cet exemple fictif commence par separer en deux les 50 exemples selon fa ´ dun,
avec un seuil de 0.43. Les exemples avec fa dun≥ 0.43 sont ensuite separ ´ es selon ´
fa rep, avec un seuil de 0.72, a la suite de quoi deux feuilles sont donc cr ` e´ees. La ´
premiere feuille correspond aux exemples avec fa ` dun≥ 0.43 et fa rep≤ 0.72 et est
peuple de 13 presque-natifs et 5 leurres. En pr ´ ediction, comme cette feuille est ma- ´
joritairement peuplee de presque-natifs, un exemple dont la classe est ´ a pr ` edire et qui ´
serait attribue´ a cette feuille serait pr ` edit presque-natif. La seconde feuille correspond ´
aux exemples avec fa rep> 0.72 parmi les exemples de fa dun≥ 0.43. Cette feuille
est peuplee de 16 leurres et 4 presque-natifs, et pr ´ edit comme un leurre tout exemple ´
correspondant a ses seuils. `
Pour les exemples avec fa dun< 0.43, une seconde separation est effectu ´ ee avec ´
un seuil de 0.14 sur fa pair. Nous tombons directement sur une feuille pour fa dun<
0.43 et fa pair< 0.14, peuplee de 2 presque-natifs. Pour fa ´ dun< 0.43 et fa pair≥
0.14, une troisieme s ` eparation selon fa ´ rep est effectuee, avec un seuil de 0.65. Les ´
exemples avec fa dun< 0.43, fa pair≥ 0.14 et fa rep> 0.65 sont au nombre de 3
et sont tous des leurres. La derniere feuille a 7 exemples, dont 6 presque-natifs et `
1 leurre, avec fa dun< 0.43, fa pair≥ 0.14 et fa rep≤ 0.65. Cette feuille predit les ´
exemples comme etant des presque-natifs. ´
Dans cet exemple fictif, on peut remarquer deux cas de figure : les feuilles ou les `
exemples sont de meme classe et les feuilles o ˆ u il y a des exemples des deux classes. `
Dans le cas ou les exemples sont de m ` eme classe, il para ˆ ˆıt evident que les exemples ´
a pr ` edire dont les valeurs d’attributs correspondent ´ a cette feuille sont pr ` edits comme ´
etant de la classe des exemples de la feuille. Dans le second cas, c’est la classe ´
majoritaire qui est consider´ ee comme ´ etant la classe de la feuille. ´
On peut aussi remarquer que les deux premieres feuilles sont peupl ` ees d’exemples ´
des deux classes, alors qu’il reste un dernier attribut selon lequel les exemples n’ont
pas et ´ e s ´ epar ´ es. L’apprentissage de l’arbre a consid ´ er´ e que cette s ´ eparation en fa ´ pair
n’apportait pas d’information supplementaire ´ a la pr ` ediction. ´
45Chapitre 3. Approche a posteriori
La taille de l’arbre est ici relativement petite, mais cette taille peut grandement augmenter
avec le nombre d’attributs et d’exemples.
Le principal inter´ et des arbres (ou r ˆ egles) de d ` ecision dans notre travail ne r ´ eside ´
pas dans leur pouvoir explicatif mais plutot dans la m ˆ ethode mise en œuvre pour ap- ´
prendre les modeles. `
L’apprentissage des arbres de decision repose sur le principe ´ diviser-pour-regner ´ .
Le principe gen´ eral est de diviser it ´ erativement, chaque fois selon un attribut, l’ensem- ´
ble des exemples en sous-ensembles pour lesquels les exemples ont plus de probabilite
d’ ´ etre d’une classe donn ˆ ee. La construction de l’arbre de d ´ ecision d ´ ebute l’ensem- ´
ble des exemples. L’objectif est de determiner le couple (attribut, valeur) permettant ´
d’obtenir une partition ”optimale” des donnees. Plusieurs mesures permettent d’ ´ evaluer ´
la qualite des partitions obtenues. Parmi les crit ´ eres classiquement utilis ` es, nous pou- ´
vons citer le gain de Gini, l’entropie de Shannon, etc.
Sans rentrer dans les details techniques de l’algorithme que nous avons utilis ´ e,´ a`
savoir C4.5 [207] (algorithme de ref ´ erence pour les arbres de d ´ ecision), nous pr ´ ecisons ´
tout de meme que le crit ˆ ere utilis ` e pour s ´ electionner les couples (attribut, valeur) per- ´
mettant de construire un arbre de decision est l’entropie de Shannon. ´
L’algorithme ne procede pas ` a une s ` eparation en nœuds fils s’il se trouve dans l’un ´
des cas suivants :
– tous les exemples du nœud courant sont de la meme classe ˆ y, ce qui cree une ´
feuille etiquet ´ ee avec la classe ´ y ;
– tous les attributs obtiennent un gain d’information normalise nul, ce qui cr ´ ee une ´
feuille etiquet ´ ee de la classe majoritaire ; ´
– la taille d’au moins une des partitions cre´e est inf ´ erieure ´ a un seuil pr ` ed´ efini. ´
Dans le premier cas, le classement est parfait suivant les exemples du jeu d’apprentissage.
Dans le second cas, les attributs ne permettent pas d’ameliorer davantage le ´
gain d’information et toute inference suppl ´ ementaire de r ´ egles de d ` ecision est donc ´
inutile du point de vue des donnees disponibles en apprentissage. Le troisi ´ eme cas `
correspond a la situation o ` u, malgr ` e l’ensemble des tests d ´ ej ´ a effectu ` es, la partition ´
courant n’est toujours pas pure mais sa taille est telle qu’il n’est pas raisonnable de
continuer a rafiner car cela impliquerait du surapprentissage. `
D’autres arbres de decision peuvent ´ etre obtenus, par exemple des arbres de ˆ
decision partiels tels que l’algorithme P ´ ART permet d’en construire. L’algorithm PART
gen´ ere des arbres de d ` ecision partiels sans optimisation globale des r ´ egles apprises. `
La meme strat ˆ egie d’apprentissage que celle pr ´ esent ´ ee pr ´ ec´ edemment pour les ar- ´
bres de decision, ´ a savoir diviser-pour-r ` egner, est utilis ´ ee dans P ´ ART. PART commence
par creer un arbre de d ´ ecision ´ elagu ´ e, qui divise les candidats en sous-ensembles ´
dans les nœuds de l’arbre. Pour ce faire, PART divise en sous-ensembles les candidats
d’un sous-ensemble n’etant pas encore divis ´ e selon un test sur la valeur d’un ´
attribut au hasard. PART rep´ ete ce processus r ` ecursivement jusqu’ ´ a ce que tous les `
sous-ensembles soient des feuilles contenant des candidats d’une seule classe. Pour
l’elagage de l’arbre, P ´ ART annule la division de n’importe quel sous-ensemble en
feuilles si l’erreur calculee sur les feuilles est sup ´ erieure ou ´ egale ´ a l’erreur calcul ` ee´
sur le sous-ensemble. Une fois un arbre de decision ´ elagu ´ e, P ´ ART infere une r ` egle de `
decision en ne choisissant que le chemin de la racine vers la feuille la plus peupl ´ ee´
463.1. Modeles a posteriori `
de l’arbre. Un nouvel arbre de decision est ensuite construit en ne consid ´ erant que ´
les candidats qui ne sont pas couverts par une regle de d ` ecision. P ´ ART itere jusqu’ ` a`
couvrir tous les candidats.
Comme indique pr ´ ec´ edemment, parmi les approches dites ”explicatives”, nous trou- ´
vons des approches permettant d’apprendre des regles de d ` ecision. Parmi ces ap- ´
proches, nous avons retenu RIPPER qui est une amelioration de IREP ´ (Incremental
Reduced Error Pruning) [50]. L’apprentissage des regles de d ` ecision avec R ´ IPPER repose
sur deux etapes s’ex ´ ecutant s ´ equentiellement : 1) la construction avec croissance ´
et elagage et 2) l’optimisation des r ´ egles de d ` ecision. Pour chaque classe, de la moins ´
peuplee´ a la plus peupl ` ee, R ´ IPPER commence par iterer l’ ´ etape de construction sur ´
l’ensemble des attributs par series de croissance et d’ ´ elagage de r ´ egles. Une ` etape ´
de construction commence par une partition de l’ensemble d’apprentissage en un ensemble
de croissance et un ensemble d’elagage. La construction des r ´ egles s’arr ` ete ˆ
lorsque :
– la longueur de description de la regle en construction a 64 bits de plus que celle `
de la regle de longueur de description la plus petite parmi les r ` egles trouv ` ees ; ´
– il n’y a plus d’exemple positif, auquel cas l’ensemble de regles est retourn ` e tel ´
quel ;
– le taux d’erreur est superieur ou ´ egal ´ a 50 %, auquel cas l’ensemble de r ` egles `
retourne contient toutes les r ´ egles construites sauf la derni ` ere r ` egle. `
La croissance rajoute une a une les conditions permettant d’augmenter le plus `
vite le gain d’information (par approche gloutonne), jusqu’a obtenir une pr ` ecision de ´
100%. La croissance teste toutes les valeurs possibles a chaque fois qu’elle ajoute `
une condition. L’elagage est incr ´ emental pour chaque r ´ egle : l’ ` elagage supprime la ´
condition dont l’effacement ameliore la mesure d’ ´ elagage. La mesure d’ ´ elagage utilis ´ ee´
dans JRip (implantation de RIPPER dans Weka) est egale ´ a ( ` p + 1)/(p + n + 2) avec p
le nombre d’exemples positifs correctement predits et ´ n le nombre d’exemples negatifs ´
correctement predits parmi les exemples d’ ´ elagage. Lorsqu’une r ´ egle est construite, `
les exemples qu’elle couvre sont retires des exemples utilis ´ es pour la construction des ´
futures regles. `
L’etape d’optimisation consiste en la construction de deux variantes pour chaque ´
regle, en utilisant comme ensemble d’apprentissage un sous-ensemble al ` eatoire des ´
exemples de l’ensemble d’apprentissage. La premiere variante ajoute des conditions `
a une r ` egle vide. La seconde variante ajoute les conditions par approche gloutonne ` a`
la regle initiale. Pour l’optimisation, le mesure d’ ` elagage est ( ´ p + n)/(P + N), avec P
le nombre d’exemples positifs et N le nombre d’exemples negatifs parmi les exemples ´
d’elagage. Une fois les variantes construites, la variante de longueur de description la ´
plus petite est conservee. Enfin, les r ´ egles augmentant la longueur de description de `
l’ensemble de regles sont retir ` ees. ´
3.1.3 Approches dites non explicatives
Les forets al ˆ eatoires ´ se fondent sur l’apprentissage de B arbres decisionnels ´
d’une hauteur maximale h en utilisant a chaque fois ` k attributs au hasard. Pour chaque
47Chapitre 3. Approche a posteriori
arbre decisionnel (ou arbre al ´ eatoire), un ´ echantillon al ´ eatoire du jeu de donn ´ ees d’ap- ´
prentissage est utilise pour l’apprentissage. De plus, pour chaque arbre d ´ ecisionnel, ´
seul un sous-ensemble de k attributs aleatoires est utilis ´ e pour l’apprentissage. Un ´
arbre decisionnel est l’arborescence d’une succession de tests conditionnels ´ a ef- `
fectuer sur les valeurs des attributs de l’exemple a pr ` edire. ´ A chaque nœud d’un arbre `
decisionnel correspond une test sur un attribut, menant ´ a l’un de ses nœuds fils en `
fonction de la valeur de l’attribut teste. Pour d ´ ecider de la classe d’un exemple en ´
utilisant un arbre decisionnel, il faut successivement tester, du noeud racine jusqu’ ´ a`
une feuille, les nœuds vers lesquels dirigent le resultat de chaque decision. Un arbre ´
decisionnel est appris par mesure statistique sur les diff ´ erents attributs au sein des ex- ´
emples de chacune des classes. Cette mesure statistique se fonde sur une approche
frequentiste. ´
Le classifieur bayesien na¨ıf ´ repose sur le theor ´ eme de Bayes. Le classifieur `
bayesien na ´ ¨ıf est appele na ´ ¨ıf en ce sens qu’il fait l’hypothese d’ind ` ependance des ´
differents attributs entre eux (voir ´ eq. 3.3). La probabilit ´ e qu’un exemple soit d’une cer- ´
taine classe y sachant la valeur de chacun de ses attributs est egale ´ a sa probabilit ` e´
a priori d’etre de la classe ˆ y multipliee par le produit des probabilit ´ es qu’un exemple ´
de cette classe ait la valeur de chacun de ses attributs. Les differents param ´ etres du `
modele sont estim ` es par calcul de fr ´ equences sur l’ensemble d’apprentissage. Il est ´
par ailleurs fait l’hypothese que les variables al ` eatoires sous-jacentes aux param ´ etres `
suivent une loi normale.
P (y|X) = P (y)
Y
|A|
i=1
P (xi
|y) (3.3)
Un autre classifieur est dit na¨ıf, le 1-plus-proche-voisin. Le 1-plus-proche-voisin
est une instance du k-plus-proche-voisin pour k = 1. Le k-plus-proche-voisin predit ´
qu’un exemple est de la classe majoritaire parmi les k exemples appris les plus proches.
Pour k pair, en cas d’egalit ´ e, il est possible de privil ´ egier une classe par rapport ´ a`
l’autre ou de ponderer le vote de chaque voisin par l’inverse de sa distance ´ a l’exemple `
a pr ` edire Le choix de la distance employ ´ ee influence la pr ´ ediction. Traditionnellement, ´
la distance euclidienne est mesuree pour d ´ eterminer la distance entre deux exem- ´
ples. Mais d’autres distances – comme la distance de Manhattan ou la distance de
Mahalanobis – sont plus adaptees ´ a certaines probl ` ematiques. Les coordonn ´ ees des ´
exemples sont les valeurs de leurs attributs. Plus k est grand et moins la methode est ´
sensible aux erreurs presentes dans les jeux de donn ´ ees, mais aussi plus la limite ´
entre les classes est floue. Le 1-plus-proche-voisin fait l’hypothese que les exemples `
se comportent localement de la meme mani ˆ ere : leur classe est la m ` eme si les valeurs ˆ
de leurs attributs sont proches. De plus, tous les attributs sont comparables dans le
poids qui leur est donne pour le calcul de la distance. ´
Tous ces classifieurs sont plus adaptes´ a certaines probl ` ematiques qu’ ´ a d’autres. `
Mais il existe des classifieurs dont la particularite est de tirer partir de la combinaison ´
de classifieurs d’approches tres diff ` erentes : il s’agit des ´ metaclassifieurs ´ . Si plusieurs
classifieurs peuvent chacun capturer des informations differentes sur la pr ´ ediction, le ´
metaclassifieur a plus de chances de donner une meilleure pr ´ ediction que chacun ´
483.1. Modeles a posteriori `
des classifieurs dont il depend. Les m ´ etaclassifieurs offrent le plus de flexibilit ´ e en ´
combinant les scores de plusieurs modeles de fonction de score. `
AdaBoost est un metaclassifieur reposant sur l’apprentissage successif de classi- ´
fieurs faibles. Chaque iteration d’AdaBoost apprend un nouveau classifieur faible. Pour ´
le premier classifieur appris, tous les exemples ont un poids identique. Chaque autre
classifieur faible appris rec¸oit en entree de son apprentissage, pour chaque candidat, ´
un poids augmentant avec les erreurs commises par les classifieurs faibles prec´ edents ´
sur ce candidat. Cette ponderation donne plus d’importance aux exemples n’ayant pas ´
et ´ e captur ´ es par les classifieurs faibles pr ´ ec´ edemment construits. Au fur et ´ a mesure `
des iterations, les exemples les plus difficiles ´ a classer rec¸oivent un poids ` elev ´ e, jusqu’ ´ a`
ce que l’un des classifieurs les classe correctement.
Vote attribue pour chaque exemple a pr ` edire une classe selon un principe de vote. ´
Le principe de vote peut utiliser la moyenne, la mediane, le minimum ou m ´ eme le ˆ
maximum.
Les machines a vecteurs de support ` (SVM, Support Vector Machines) ont pour
principe gen´ eral d’apprendre une fonction de s ´ eparation qui maximise la marge en- ´
tre les exemples et leur separation. Maximiser la marge de s ´ eparation a pour objec- ´
tif de minimiser l’erreur de gen´ eralisation. Les SVM mettent en jeu des noyaux pour ´
determiner cette s ´ eparation. Avec les SVM, le mod ´ ele est param ` etr ´ e par l’hyperplan ´
utilise pour s ´ eparer les exemples pr ´ edits positifs des exemples pr ´ edits n ´ egatifs. De ´
plus, il est possible d’utiliser une fonction noyau pour transformer les exemples et
gen´ erer un mod ´ ele implicitement non-lin ` eaire. Selon la probl ´ ematique, les diff ´ erents ´
noyaux sont plus ou moins adaptes. Les SVM ne tiennent cependant pas compte de ´
la difference de distribution des exemples en fonction de leur classe. En effet, les SVM ´
ont pour objectif de maximiser la marge de separation, ´ i.e. la distance minimale entre
la fonction de separation apprise et les exemples de chaque classe. Or, les exemples ´
peuvent se distribuer differemment selon la classe ´ a laquelle ils appartiennent. Les ex- `
emples d’une classe peuvent etre tr ˆ es proches les uns des autres alors que les exem- `
ples d’une autre classe peuvent etre comparativement plus ˆ etendus. Dans un tel cas ´
de figure, il serait plus judicieux, pour minimiser l’erreur de gen´ eralisation, de donner ´
un poids plus important a la distance aux exemples de la classe la plus ` etendue qu’aux ´
autres exemples. La fonction de separation serait alors plus proches des exemples de ´
la classe dont la distribution est la moins etendue. ´
3.1.4 Boˆıte a outils utilis ` ee pour apprendre les mod ´ eles `
Weka [103] est une boˆıte a outils impl ` ement ´ ee en Java d’algorithmes de fouille de ´
donnees. Weka prend en donn ´ ees d’entr ´ ee des exemples munis de descripteurs et ´
peut visualiser la correlation entre ces descripteurs au sein des donn ´ ees. Weka peut ´
filtrer les donnees d’entr ´ ee et utiliser des m ´ ethodes de clustering ou de s ´ election de de- ´
scripteurs. Weka peut aussi apprendre des modeles de pr ` ediction sur ces donn ´ ees, les ´
tester et sortir les modeles et leurs ` evaluations. Les classifieurs disponibles dans Weka ´
sont ranges par cat ´ egories : les classifieurs bay ´ esiens, les fonctions, les classifieurs ´
na¨ıfs, les metaclassifieurs, les r ´ egles de d ` ecision, les arbres de d ´ ecision, les classi- ´
49Chapitre 3. Approche a posteriori
fieurs multi-instances et les classifieurs n’ayant pas pu etre rang ˆ es dans les autres ´
categories. Les classifieurs sont appris avec la version 3.6 de Weka. Les classifieurs ´
presents dans Weka et utilis ´ es ici sont : ´
– J48 (implementation de C4.5 [207]) ; ´
– JRip (implementation de R ´ IPPER, Repeated Incremental Pruning to Produce Error
Reduction [50]) ;
– PART (variante de C4.5 et de RIPPER reposant sur des arbres de decision partiels ´
[86]) ;
– RandomForest (implementation des for ´ ets al ˆ eatoires [30]) ; ´
– NaiveBayes (implementation du classifieur bay ´ esien na ´ ¨ıf [127]) ;
– IB1 (implementation du 1-plus-proche-voisin [2]) ; ´
– AdaBoostM1 (implementation d’AdaBoost [223]) ; ´
– Vote [135] ;
– Machines a vecteurs de support (SVM [38]). `
3.1.5 Methodologie d’optimisation des fonctions de score ´ a posteriori
La methodologie g ´ en´ erale d’optimisation des fonctions de score ´ a posteriori se
decompose en quatre phases : ´
– reprendre les jeux de donnees pr ´ epar ´ es et pr ´ esent ´ es au chapitre 1 ; ´
– l’apprentissage des fonctions de score par les differents classifieurs sur l’ensem- ´
ble des 120 complexes et le meme apprentissage, mais effectu ˆ e en ´ leave-”onepdb”-out
;
– l’apprentissage par ROGER des metascores avec comme attributs les termes de ´
score physico-chimiques et les scores des differents classifieurs ; ´
– l’evaluation des diff ´ erentes fonctions de score des classifieurs ainsi que des ´
metascores. ´
3.2 Evaluation des fonctions de score ´ a posteriori
A posteriori, il est possible d’utiliser une fonction de score plus complexe qu’une
combinaison lineaire de termes d’ ´ energie. L’utilit ´ e de ce proc ´ ed´ e est de pouvoir re- ´
trier un ensemble de candidats gen´ er´ es par RosettaDock, pour pouvoir r ´ einjecter les ´
meilleurs candidats dans un amarrage atomique, pour affiner les structures obtenues.
Cela necessite que la fonction de score ´ a posteriori permette de mieux identifier les
presque-natifs qu’une fonction de score etant une combinaison lin ´ eaire de termes ´
d’energie. Les r ´ esultats suivants ´ evaluent plusieurs mod ´ eles de fonctions de score `
a posteriori.
Pour que chaque terme de score puisse participer dans la meme mesure ˆ a la fonc- `
tion de score, il est necessaire que l’intervalle de valeurs de chaque terme de score ´
soit reduit ´ a l’intervalle unit ` e. Les termes de score ´ a valeurs positives sont ramen ` es´
a l’intervalle [0 ; 1] alors que les termes de score ` a valeurs n ` egatives sont ramen ´ es´ a`
503.2. Evaluation des fonctions de score a posteriori ´
l’intervalle [−1 ; 0]. La repartition des candidats pour chaque terme de score est donc ´
etudi ´ ee pour mieux comprendre l’influence de chaque terme. ´
3.2.1 Repartition des candidats par terme de score ´
Pour etudier au mieux le comportement des termes de score pour l’ensemble des ´
candidats presque-natifs et leurres, les valeurs reduites ´ a l’intervalle unit ` e sont in- ´
diquees entre parenth ´ eses, sauf pour les scores issus des classifieurs, qui donnent `
dej ´ a des valeurs dans l’intervalle unit ` e. L’ ´ etude se fait sur l’ensemble des 1 200 000 ´
candidats et sur les termes de score physico-chimiques comme sur ceux issus des
classifieurs (voir tableau 3.1).
On peut notamment remarquer que la valeur du terme de score fa dun est plus
elev ´ ee pour les presque-natifs que pour les leurres : la m ´ ediane est de 683 (0.10) ´
pour les presque-natifs contre 549 (0.08) pour les leurres. La terme de score fa dun
correspond a la p ` enalit ´ e donn ´ ee par la base de donn ´ ees Dunbrack pour les rotam ´ eres `
presents dans la structure ´ evalu ´ ee. Pour les deux classes d’exemples, les valeurs ´
se distribuent densement autour de la m ´ ediane et d ´ epassent largement la valeur ´
moyenne, respectivement a 848 (0.12) et 682 (0.10). Cette r ` epartition montre que seul ´
un petit nombre d’acides amines est, pour chaque complexe, assimil ´ e´ a une p ` enalit ´ e´
elev ´ ee, mais aussi que ce nombre est plus ´ elev ´ e pour les presque-natifs que pour les ´
leurres. On peut en conclure que les chaˆınes laterales des acides amin ´ es se compor- ´
tent differemment de ce qui est attendu par la base de donn ´ ees Dunbrack lorsqu’elles ´
sont en interaction avec un ARN.
Les termes de score fa rep et fa pair sont quant a eux plus faibles pour les presque- `
natifs que pour les leurres. Pour fa rep, les presque-natifs ont une mediane de 352 ´
(0.27), alors que les leurres ont une mediane de 406 (0.32). Pour fa ´ pair, la mediane ´
est a 37 (0.17), contre 51 (0.23) pour les leurres. Ils ont effectivement pour but de `
donner une penalit ´ e aux candidats mettant en jeu des atomes trop proches les uns ´
des autres (fa rep) ou rarement rencontres ensemble (fa ´ pair).
Le terme de score fa sol a un comportement different dans les valeurs n ´ egatives, ´
puisqu’il a des valeurs plus faibles en valeur absolue pour les presque-natifs que pour
les leurres. La mediane de fa ´ sol est de −9 (−0.22) pour les presque-natifs et de −11
(−0.27) pour les leurres.
Le score le plus remarquable issu des classifieurs est le score donne par le 1- ´
plus-proche-voisin : sa moyenne est de 0.62 pour les presque-natifs et 0.55 pour les
leurres.
Les autres scores appris a l’aide des classifieurs ne permettent pas de discriminer `
les presque-natifs des leurres. Mais nous allons tout de meme ˆ evaluer l’ensemble des ´
classifieurs a l’aide des diff ` erentes mesures d’ ´ evaluation. ´
3.2.2 Weka
Les fonctions de score gen´ er´ ees avec les diff ´ erentes strat ´ egies d’apprentissage ´
selectionn ´ ees dans Weka montrent des performances hasardeuses (voir tableau 3.2). ´
51Chapitre 3. Approche a posteriori
Exemples Score 1
er quartile Mediane ´ Moyenne 3
e quartile
+1 fa dun 366 (0.05) 683 (0.10) 848 (0.12) 1165 (0.16)
+1 fa pair 19 (0.08) 37 (0.17) 50 (0.22) 70 (0.31)
+1 fa rep 228 (0.18) 352 (0.27) 425 (0.33) 607 (0.47)
+1 fa sol -3 (-0.08) -9 (-0.22) -11 (-0.27) -17 (-0.40)
+1 hack elec -8 (-0.09) -17 (-0.21) -18 (-0.23) -25 (-0.31)
+1 hbond bb sc -13 (-0.07) -29 (-0.16) -37 (-0.21) -55 (-0.31)
+1 NearestNeighbor 0.00 1.00 0.62 1.00
+1 NaiveBayes 0.34 0.42 0.50 0.60
+1 JRip 0.44 0.54 0.51 0.57
+1 J48 0.44 0.52 0.53 0.74
+1 PART 0.45 0.52 0.55 0.68
+1 RandomForest 0.40 0.60 0.56 0.70
-1 fa dun 282 (0.04) 549 (0.08) 682 (0.10) 927 (0.13)
-1 fa pair 25 (0.11) 51 (0.23) 60 (0.27) 82 (0.37)
-1 fa rep 267 (0.21) 406 (0.32) 487 (0.38) 671 (0.52)
-1 fa sol -6 (-0.13) -11 (-0.27) -14 (-0.32) -20 (-0.48)
-1 hack elec -9 (-0.11) -18 (-0.22) -20 (-0.25) -26 (-0.33)
-1 hbond bb sc -17 (-0.10) -40 (-0.23) -46 (-0.26) -60 (-0.34)
-1 NearestNeighbor 0.00 1.00 0.55 1.00
-1 NaiveBayes 0.34 0.41 0.47 0.54
-1 JRip 0.43 0.53 0.49 0.57
-1 J48 0.43 0.47 0.51 0.64
-1 PART 0.44 0.48 0.51 0.58
-1 RandomForest 0.40 0.50 0.53 0.70
TABLE 3.1 – Pour chaque terme de score sont indiques la valeur du premier quartile, de ´
la mediane, de la moyenne et du troisi ´ eme quartile, sur les presque-natifs (exemples `
+1) et les leurres (exemples -1). Entre parentheses se trouvent les valeurs des scores `
ramenees ´ a l’intervalle unit ` e quand ce n’est pas d ´ ej ´ a le cas. NearestNeighbor corre- `
spond au score donne par la fonction de score apprise au moyen du 1-plus-proche- ´
voisin, NaiveBayes au classifieur bayesien na ´ ¨ıf, JRip a l’impl ` ementation de R ´ IPPER,
J48 a l’impl ` ementation de C4.5, P ´ ART est une variante de C4.5 et RandomForest a`
l’apprentissage de forets al ˆ eatoires. ´
De maniere g ` en´ erale, moins de la moiti ´ e des complexes ont une ROC-AUC sup ´ erieure ´
a 0.5. Les performances de Vote ne sont pas indiqu ` ees car la fonction de score ap- ´
prise par Vote classe systematiquement les candidats comme presque-natifs. Seul le ´
classifieur bayesien na ´ ¨ıf donne des resultats satisfaisants, avec 108 des 120 com- ´
plexes ayant une ROC-AUC superieure ´ a 0.5 et 81 complexes avec un #presque- `
natifs (top10E(Candidats)) non nul.
Malgre les performances, il est tout de m ´ eme int ˆ eressant d’observer par exemple ´
les premiers termes de score utilises par les arbres de d ´ ecision (voir fig. 3.2). Ce ´
523.2. Evaluation des fonctions de score a posteriori ´
Classifieur ROC-AUC ROC-AUC > 0.5 #(top10E(Candidats))> 0
ROGER lineaire ´ 0.798±0.018 119 117
JRip 0.314±0.164 36 8
IB1 0.449±0.122 53 3
PART 0.472±0.039 49 18
J48 0.493±0.020 60 16
RandomForest 0.498±0.022 60 56
NaiveBayes 0.649±0.015 108 81
TABLE 3.2 – Pour chaque classifieur Weka selectionn ´ e sont indiqu ´ es : la moyenne ´
et la variance de la ROC-AUC, le nombre de complexes pour lesquels la ROCAUC
est superieure ´ a 0.5 et le nombre de complexes avec un #presque- `
natifs (top10E(Candidats)) non nul.
sont les termes de score fa dun – qui correspond au terme de score des rotameres `
Dunbrack – hack elec (terme de score electrostatique), fa ´ sol (terme de solvatation),
fa pair (terme d’affinite entre pairs d’atomes), fa ´ rep (terme de repulsion universelle) ´
et les termes de score hbond qui sont mis en avant. Nous avons vu dans l’etude de la ´
repartition des valeurs des termes de score entre presque-natifs et leurres que fa ´ dun
donnait pour les presque-natifs des valeurs plus elev ´ ees que pour les leurres. Et en ´
effet, une petite partie des presque-natifs correspond a un pic de valeurs extr ` emes en ˆ
fa dun, avec de nombreuses chaˆınes laterales dans des conformations ordinairement ´
peu probables dans une proteine. Ceci nous conforte dans l’id ´ ee que la distribution des ´
conformations des chaˆınes laterales des acides amin ´ es d’une prot ´ eine peut changer ´
a l’interaction avec un ARN. Les termes de score ` electrostatique, d’affinit ´ e entre pairs ´
d’atomes et des liaisons hydrogene ont d ` ej ´ a` et´ e vus dans la section 2.4.3.4 comme ´
etant des facteurs importants de l’interaction prot ´ eine-ARN. Le terme de score fa ´ rep a
aussi et ´ e vu dans le filtre par la m ´ ediane en fa ´ rep comme etant important pour ´ ecarter ´
les leurres comportant trop d’interpen´ etration (voir section 2.4.4). Seul le terme de ´
solvatation n’avait jusqu’a lors pas ` et´ e vu dans le chapitre pr ´ ec´ edent comme important ´
pour l’interaction proteine-ARN. ´
3.2.3 ROGER non lineaire ´
Lever la contrainte de linearit ´ e de la fonction de score permet d’explorer des solu- ´
tions plus complexes, pouvant prendre en compte des informations qu’une combinaison
lineaire des termes de score n’atteint pas. L’apprentissage de fonctions de score ´
non lineaires avec R ´ OGER a cet objectif. Deux types de fonctions de score sont apprises
: l’une apprise uniquement sur les termes de score physico-chimiques, l’autre
apprise aussi sur les scores des classifieurs selectionn ´ es dans Weka. ´
Meme si les classifieurs s ˆ electionn ´ es dans Weka ne donnent pas de r ´ esultats satis- ´
faisants, ils ont des performances de classifieur faible pour plusieurs dizaines de complexes
chacun. S’ils capturent chacun des informations differentes sur les candidats, il ´
53Chapitre 3. Approche a posteriori
• fa dun ≤ 866.949
• fa dun ≤ 231.186
• fa sol ≤ −23.739
• fa atr ≤ −2023.861 (presque-natifs)
• fa atr > −2023.861 (leurres)
• fa sol > −23.739
• hbond sc ≤ −12.138 (leurres)
• hbond sc > −12.138 (presque-natifs)
• fa dun > 231.186
• fa sol ≤ −35.702
• hbond bb sc ≤ −93.066 (leurres)
• hbond bb sc > −93.066 (presque-natifs)
• fa sol > −35.702
• fa rep ≤ 1042.462 (leurres)
• fa rep > 1042.462 (presque-natifs)
• fa dun > 866.949
• fa dun ≤ 1499.729
• hbond bb sc ≤ −148.009
• fa rep ≤ 1063.695 (leurres)
• fa rep > 1063.695 (presque-natifs)
• hbond bb sc > −148.009
• hack elec ≤ −2.433 (leurres)
• hack elec > −2.433 (presque-natifs)
• fa dun > 1499.729
• fa pair ≤ 65.641
• fa rep ≤ 556.425 (leurres)
• fa rep > 556.425 (presque-natifs)
• fa pair > 65.641
• hbond sr bb ≤ −8.178 (presque-natifs)
• hbond sr bb > −8.178 (leurres)
FIGURE 3.2 – Arbre de decision appris avec J48 sur les 120 complexes de la P ´ RIDB.
Seuls les nœuds apres au plus 4 bifurcations sont affich ` es, pour donner un aperc¸u des ´
premiers attributs mis en jeu dans l’arbre.
peut etre int ˆ eressant de combiner les forces de chacun de ces classifieurs. L’apprentis- ´
sage d’un metascore avec R ´ OGER non lineaire permet de tester cette hypoth ´ ese. Les `
scores des classifieurs selectionn ´ es dans Weka deviennent des termes de score, au ´
meme titre que les termes physico-chimiques. ˆ
Dans l’ensemble, les fonctions de score apprises avec ROGER non lineaire don- ´
nent des resultats moins satisfaisants que celles obtenues avec R ´ OGER lineaire (voir ´
tableau 3.3). Sans metascore, les r ´ esultats sont quasiment identiques concernant le ´
nombre de complexes avec une ROC-AUC superieure ´ a 0.5, mais moins satisfaisants `
du point de vue des autres mesures d’evaluation. L’emploi des scores des classifieurs ´
de Weka dans les metascores d ´ egradent les performances. Les m ´ etascores donnent ´
543.3. Conclusions sur la fonction de score a posteriori
tout de meme 114 complexes pour lesquels il y a au moins un presque-natif dans le ˆ
top10 des candidats tries en ´ energie, contre 106 pour R ´ OGER non lineaire sans ap- ´
prentissage d’un metascore. ´
Classifieur ROC-AUC ROC-AUC > 0.5 top10> 0
ROGER lineaire ´ 0.798±0.018 119 117
Metascore R ´ OGER non lineaire ´ 0.648±0.015 107 114
ROGER non lineaire ´ 0.649±0.015 115 106
TABLE 3.3 – Pour chaque classifieur ROGER selectionn ´ e sont indiqu ´ es : la ´
moyenne et la variance de la ROC-AUC, le nombre de complexes pour lesquels
la ROC-AUC est superieure ´ a 0.5 et le nombre de complexes avec un #presque- `
natifs (top10E(Candidats)) non nul.
3.3 Conclusions sur la fonction de score a posteriori
Nous avons commence par observer la r ´ epartition des termes de score en com- ´
parant les presque-natifs avec les leurres. Nous avons formule plusieurs constata- ´
tions, notamment que la base de donnees de rotam ´ eres Dunbrack n’est peut- ` etre ˆ
pas adaptee´ a la pr ` ediction d’interaction prot ´ eine-ARN. En plus d’utiliser une base ´
de donnees de rotam ´ eres pour les ARN, il peut ` etre n ˆ ecessaire d’utiliser une base ´
de donnees sp ´ ecifique aux interactions prot ´ eine-ARN pour obtenir les probabilit ´ es as- ´
sociees ´ a chaque rotam ` ere en interaction avec un ARN. Nous avons ` evalu ´ e des fonc- ´
tions de score modelis ´ ees pour ´ etre utilis ˆ ees ´ a posteriori de la gen´ eration de candidats ´
par RosettaDock. Nous avons modelis ´ e des fonctions de score directement apprises ´
grace ˆ a des classifieurs usuels, notamment des arbres et r ` egles de d ` ecision, mais ´
aussi des metascores prenant pour attributs les scores donn ´ es par ces classifieurs ´
en plus des termes de score physico-chimiques. Il s’avere que les fonctions de score `
testees n’ont pas de performances plus int ´ eressantes que celles de la fonction de ´
score atomique POS.
C’est la raison pour laquelle nous nous tournons maintenant vers l’usage de termes
de score non pas physico-chimiques, mais geom ´ etriques. Nous souhaitons ´ etendre le ´
protocole de prediction des interactions prot ´ eine-ARN en testant la fonction de score ´
atomique POS sur des candidats issus d’une prediction aveugle. Or, POS n’a ´ et´ e´
testee que pour des candidats ´ a au plus une quinzaine d’Angstr ` oms de la structure ¨
native. Nous souhaitons donc concevoir une fonction de score a une ` echelle plus gros- ´
grain avec pour objectif de trouver des candidats utilisables par POS.
55Chapitre 3. Approche a posteriori
56Chapitre 4
Approche multi-echelle ´
4.1 Principe de l’approche multi-echelle ´
Pour predire l’interaction avec un maximum d’efficacit ´ e – temps de calcul le plus ´
faible possible et qualite des pr ´ edictions – plusieurs approches peuvent ´ etre com- ˆ
binees. Nous avons vu l’utilisation de filtres ´ a posteriori, pour reordonner les r ´ esultats ´
du tri apres une g ` en´ eration de candidats qui contiennent au moins quelques presque- ´
natifs. Nous pouvons aussi intervenir en amont de la gen´ eration des candidats ´ a`
l’echelle atomique, en g ´ en´ erant des candidats ´ a l’ ` echelle gros-grain. Cette g ´ en´ eration ´
a l’ ` echelle gros-grain a l’int ´ er´ et de possiblement donner un aperc¸u du score qu’aurait ˆ
le meme candidat ˆ a l’ ` echelle atomique, mais avec un temps de calcul r ´ eduit. ´
4.1.1 Representation g ´ eom ´ etrique gros-grain des acides amin ´ es´
et des acides nucleiques ´
Le prix Nobel de Chimie 2013 7 a montre l’importance dans le domaine de la bi- ´
ologie structurale computationnelle des representations multi- ´ echelle combin ´ ees aux ´
modeles physiques simples. Ce mod ` ele correspond en effet au d ` eveloppement des ´
premiers potentiels energ ´ etiques des ann ´ ees 70. La premi ´ ere apparition correspond `
au modele de Levitt [151] dans lequel chaque r ` esidu d’une prot ´ eine ´ etait repr ´ esent ´ e´
par trois points encore appeles ”atomes gros-grains” : deux pour la cha ´ ˆıne principale
(squelette) et un pour la chaˆıne laterale. ´
Depuis ce modele initial, de nombreux autres mod ` eles ont ` et´ e d ´ evelopp ´ es [155, ´
231, 242]. Par exemple, Voth et Izvekoc [117] ont developp ´ e un potentiel multi- ´ echelle ´
gros-grain ou les param ` etres du champ de force sont extraits de simulations de dy- `
namique moleculaire en utilisant un proc ´ ed´ e d’adaptation des forces. Souvent, les ´
parametres obtenus sont tabul ` es de fac¸on ´ a ne pas ` etre restreints ˆ a la forme analytique `
d’un potentiel. Plus recemment, d’autres potentiels du m ´ eme type ont ˆ et´ e d ´ evelopp ´ es´
[105], permettant de simuler le repliement de proteines de petite taille [106]. ´
Les modelisations gros-grain rendent les calculs plus rapides. Par exemple, pour ´
7. http://www.nobelprize.org/nobel_prizes/chemistry/laureates/2013/
57Chapitre 4. Approche multi-echelle ´
le passage d’un modele tout atome ` a un mod ` ele r ` eduit avec un point par r ´ esidu/acide ´
nucleique, le nombre d’atomes (pseudo-atomes) est environ divis ´ e par dix, ce qui peux ´
rendre les calculs jusqu’a 100 fois plus rapide. Le m ` eme ordre de grandeur peut ˆ etre ˆ
observe lors du passage d’un mod ´ ele r ` eduit avec un point par r ´ esidu ´ a un point par `
el ´ ement de structure secondaire. ´
Toutefois, le degre de pr ´ ecision n ´ ecessaire ´ a la repr ` esentation fine des processus ´
biologiques est souvent atomique. Il est donc difficile de deriver une repr ´ esentation ´
gros-grain gen´ erique pour un ensemble de syst ´ emes et de simulations rendant la `
modelisation peu co ´ uteuse en temps de calcul et pr ˆ ecise quant ´ a la repr ` esentation ´
fine d’un phenom ´ ene biologique. Pour cette raison, de nombreux groupes ont combin ` e´
des approches a gros grains et grains fins dans des simulations mixtes [5]. Une revue `
des differentes approches est disponible [85]. ´
Dans cette etude, je pr ´ esenterai ´ a nouveau rapidement le mod ` ele utilis ` e par le ´
logiciel RosettaDock puis, de fac¸on plus detaill ´ ee, le mod ´ ele de Vorono ` ¨ı utilise pour ´
l’amarrage.
Dans le cadre de l’utilisation de RosettaDock, comme indique dans la section ´
2.1.1.3 du chapitre 2, la representation gros-grain des prot ´ eines comprend l’ensem- ´
ble des atomes du squelette et un a trois atomes pour la cha ` ˆıne laterale appel ´ es´
centro¨ıdes [99]. Dans cette etude, nous nous sommes limit ´ es´ a l’utilisation du mod ` ele`
a un centro ` ¨ıde que nous avons etendu ´ a l’ARN et ` a l’ADN. Les coordonn ` ees spatiales ´
des atomes gros-grain des acides nucleiques sont calcul ´ ees ´ a partir des coordonn ` ees ´
atomiques des acides nucleiques. L’ARN et l’ADN sont donc pourvus des coordonn ´ ees ´
spatiales de leurs atomes gros-grain (voir fig. 4.1).
a) Representation g ´ eom ´ etrique gros-grain b) Repr ´ esentation g ´ eom ´ etrique atomique ´
FIGURE 4.1 – Modele gros-grain et mod ` ele atomique : exemple de l’uracile. Le groupe- `
ment phosphate et les atomes lourds du sucre sont represent ´ es en gris. a) Le mod ´ ele`
gros grain avec le centro¨ıde en rouge b) Le modele atomique avec les atomes de la `
base en bleu. Le centro¨ıde est le centre geom ´ etrique des atomes lourds. ´
Pour l’adenine, par exemple, nous passons d’un mod ´ ele avec 33 atomes ` a un `
modele avec 13 atomes gros-grains. Le m ` eme facteur 3 est observ ˆ e pour les autres ´
acides nucleiques. ´
La taille des centro¨ıdes des acides nucleiques ainsi remplac ´ es est importante, car ´
elle conditionne la distance a partir de laquelle on peut consid ` erer une interp ´ en´ etration ´
des structures. Cette taille doit permettre aux centro¨ıdes d’occuper l’espace des atomes
584.1. Principe de l’approche multi-echelle ´
que chacun d’entre eux represente, pour leur permettre de se comporter de fac¸on ´
semblable. La taille des centro¨ıdes est donc fixee´ a la valeur donn ` ee pour leur version ´
atomique, a savoir 8 ` A. ˚
Pour les proteines, dans le cadre du mod ´ ele de Vorono ` ¨ı, nous avons choisi de travailler
avec un seul point par residu, le centre g ´ eom ´ etrique de la cha ´ ˆıne laterale et du ´
Cα. Ce choix permet tout d’abord de travailler sur un nombre reduit de points, mais ´
aussi de s’affranchir des mouvements des chaˆınes laterales. En effet, m ´ eme lorsque ˆ
la chaˆıne laterale bouge, ce qui est fr ´ equent ´ a la surface de la prot ` eine, le centre ´
geom ´ etrique n’est souvent pas trop affect ´ e. Pour la suite, la cellule de Vorono ´ ¨ı correspondante
est donc presque identique.
La triangulation de Delaunay pour les proteines a ´ et´ e le plus souvent effectu ´ ee´ a`
partir des carbones α [71, 183, 233, 253]. Nous avons choisi de construire les diagrammes
de Vorono¨ı a partir des centres g ` eom ´ etriques des acides amin ´ es, ceux-ci ´
ayant permis d’obtenir de bons resultats dans le cadre de l’amarrage prot ´ eine-prot ´ eine ´
[18, 15, 26, 27].
Ceux-ci ont et ´ e d ´ efinis comme centres de gravit ´ e des atomes de la cha ´ ˆıne laterale ´
et du carbone α, les atomes d’hydrogene n’ ` etant pas pris en compte. Le centre g ´ eo- ´
metrique ainsi obtenu est donc tr ´ es proche du centre de masse de l’acide amin ` e.´
Ce choix est a rapprocher d’une ` etude r ´ ealis ´ ee par S. Karlin d ´ ebut ´ ee en 1994 [131, ´
130] dans laquelle trois types de distances sont etudi ´ ees : ´
– entre carbones α ;
– entre centres de gravite des acides amin ´ es sans prendre en compte les carbones ´
α ;
– entre centres de gravite de tous les atomes du r ´ esidu (cha ´ ˆıne laterale et squelette). ´
Ces trois types de distances sont utilises pour mesurer la distance entre deux r ´ esidus ´
dans un ensemble de structures tridimensionnelles de proteines connues. Cette ´ etude ´
statistique montre que les distances entre centres de gravite des cha ´ ˆınes laterales ´
sont tres sensibles aux interactions ` electrostatiques et hydrophobes, mais tr ´ es peu `
aux contraintes steriques, contrairement aux distances entre les centres de gravit ´ e de ´
tous les atomes de chaque residu. Le fait de prendre en compte le carbone ´ α dans
le calcul du point qui va representer chaque acide amin ´ e, permet donc d’obtenir des ´
propriet ´ es interm ´ ediaires. S. Karlin et ses collaborateurs montrent ´ egalement que les ´
distances entre carbones α sont largement decorr ´ el ´ ees, ´ a la fois des interactions et `
des contraintes steriques. ´
Le meme mod ˆ ele a ` et ´ e utilis ´ e pour l’ARN o ´ u nous avons aussi un atome gros-grain `
par acide nucleique, situ ´ e au centre g ´ eom ´ etrique des atomes lourds de la base. En ´
effet, le groupement phosphate et les atomes du sucre sont consider´ es comme faisant ´
partie du squelette, tandis que les atomes lourds de la base sont consider´ es comme ´
etant la cha ´ ˆıne laterale. ´
Contrairement aux proteines, qui n’ont que quatre atomes lourds dans leur squelette, ´
les ARN ont douze atomes lourds et donc un squelette de taille importante. Ceci a
pour consequence de placer le centro ´ ¨ıde tres loin du squelette et donc de donner `
une grande importance a l’orientation de la base. Cette approche permet ainsi de `
representer g ´ eom ´ etriquement la flexibilit ´ e de l’ARN pour mieux en tenir compte dans ´
les mesures geom ´ etriques, plut ´ ot que de placer un atome gros-grain au centre de ˆ
59Chapitre 4. Approche multi-echelle ´
l’ensemble des atomes lourds de chaque nucleotide. ´
4.1.2 Mesure des termes geom ´ etriques ´ a l’ ` echelle gros-grain ´
Les termes geom ´ etriques sont uniquement utilis ´ es ici pour les fonctions de score ´
a l’ ` echelle gros-grain. Seuls les acides amin ´ es et les acides nucl ´ eiques ´ a l’interface `
sont consider´ es pour calculer les termes g ´ eom ´ etriques. Ces termes ont d ´ ej ´ a fait leurs `
preuves pour l’amarrage proteine-prot ´ eine [15]. Ils sont calcul ´ es´ a partir du diagramme `
de Vorono¨ı.
Le diagramme de Vorono¨ı est un pavage unique de l’espace en cellules de Vorono¨ı a`
partir d’un ensemble de sites. Dans le cas qui nous interesse, les sites sont les r ´ esidus ´
ou pseudo-atomes. Le pavage est defini de telle sorte que n’importe quel point de l’es- ´
pace plus proche d’un site que de tout autre appartient a la cellule de Vorono ` ¨ı de ce
site.
Formellement, soit l’ensemble des n sites {pj}1≤j≤n, l’ensemble des positions spatiales
V(pi) qui sont plus proches du site pi que de tout autre site constitue la cellule
de Vorono¨ı du site pi (voir eq. 4.1). ´
V(pi) = {x ∈ R
d
: kx − pik ≤ kx − pjk; ∀j ∈ N, 1 ≤ j ≤ n} (4.1)
Les jointures entre les cellules de Vorono¨ı s’appellent des facettes de Vorono¨ı. En
3 dimensions, une cellule de Vorono¨ı est un volume et une facette de Vorono¨ı est
une surface. Les facettes de Vorono¨ı representent la surface d’interaction entre les ´
differents sites. Plus les sites sont proches et peu encombr ´ es par les sites environ- ´
nants, plus elles sont grandes. La cellule de Vorono¨ı represente la zone o ´ u le site a le `
plus d’influence par rapport aux autres sites.
Intuitivement, la construction du diagramme de Vorono¨ı utilise entre les differents ´
sites le trace des m ´ ediatrices. Pour plus de clart ´ e, l’exemple illustr ´ e montre la construc- ´
tion manuelle d’un diagramme de Vorono¨ı dans un espace en 2 dimensions (voir fig.
4.2).
La Computational Geometry Algorithms Library (CGAL [36]) permet la construction
du diagramme de Vorono¨ı. CGAL est une librairie implement ´ ee en C++ de g ´ eom ´ etrie ´
computationnelle algorithmiquement efficace. En pratique, pour une plus grande rapidite
de calcul, C ´ GAL obtient le diagramme de Vorono¨ı en construisant son dual, la
triangulation de Delaunay (voir fig. 4.3).
La triangulation de Delaunay est une triangulation uniquement constituee de trian- ´
gles de Delaunay [167]. Un triangle est un triangle de Delaunay si son cercle circonscrit
ne contient aucun autre site que les trois sommets du triangle. Dans une triangulation
de Delaunay, tous les sites sont relies par des segments de droites formant des tri- ´
angles. L’algorithme construisant la triangulation de Delaunay en 3 dimensions est un
algorithme incremental probabiliste de complexit ´ e´ O(n
d
3
2
e
).
604.1. Principe de l’approche multi-echelle ´
a) b) c)
FIGURE 4.2 – Illustration de la construction intuitive d’un diagramme de Vorono¨ı en 2
dimensions : a) tracer les mediatrices entre chaque paire de sites (repr ´ esent ´ es par des ´
croix), b) puis limiter les segments de droite a leur jointure et c) it ` erer jusqu’ ´ a obtenir `
toutes les cellules de Vorono¨ı.
a) b) c)
FIGURE 4.3 – Exemple de triangulation de Delaunay (en 2 dimensions), le dual du
diagramme de Vorono¨ı. a) Les droites secantes entre les diff ´ erents sites forment des ´
triangles. b) Pour qu’une triangulation soit une triangulation de Delaunay, le cercle
circonscrit de chaque triangle ne doit contenir aucun autre site. c) Pour un meme en- ˆ
semble de sites, en gris sont represent ´ es les triangles de la triangulation de Delaunay ´
et en noir les facettes de Vorono¨ı.
La construction d’une triangulation de Delaunay commence par la selection al ´ eatoire ´
de 3 sites, qui sont toujours une triangulation de Delaunay. Puis, on teste l’insertion
aleatoire d’un nouveau site dans la triangulation en formant de nouveaux triangles ´
avec ce site. Si le nouveau site inser´ e forme un triangle dont le cercle circonscrit con- ´
tient un autre site, alors on teste la formation d’autres triangles avec le meme site. ˆ
Sinon, on accepte le nouveau site. On itere jusqu’ ` a ce que tous les sites soient ins ` er´ es´
61Chapitre 4. Approche multi-echelle ´
(voir fig. 4.4).
a) b) c)
FIGURE 4.4 – Construction d’une triangulation de Delaunay. Cas initial : 3 sites trac¸ant
un triangle constituent toujours une triangulation de Delaunay. Etape d’insertion d’un ´
nouveau site : a) inserer al ´ eatoirement un nouveau site, et donc un nouveau trian- ´
gle (l’insertion est valide si aucun autre site que les sommets du triangle n’est dans
son cercle circonscrit) ; b) si un autre site appartient au cercle circonscrit, on refuse
l’insertion du triangle et c) on teste alors la construction d’un autre triangle.
CGAL est couple´ a la ` Easy Structural Biology Templated Library (ESBTL [168])
pour determiner l’interface et obtenir les mesures statistiques. ESBTL est une li- ´
brairie implement ´ ee en C++, munie de ´ templates pour modeliser et manipuler effi- ´
cacement les entites biologiques. Il est notamment possible de s ´ electionner des entit ´ es´
biologiques telles que des chaˆınes d’acides amines ou d’acides nucl ´ eiques, des acides ´
amines, des acides nucl ´ eiques, des atomes. Des filtres peuvent ´ etre utilis ˆ es pour ne ´
selectionner qu’un sous-ensemble d’entit ´ es biologiques en fonction de son type. Nous ´
avons etendu ESBTL pour : ´
– definir des acides nucl ´ eiques ; ´
– construire automatiquement des atomes gros-grain a partir d’atomes de l’ ` echelle ´
atomique ;
– calculer l’aire d’une facette de Vorono¨ı et le volume d’une cellule de Vorono¨ı en
3D.
L’interface peut etre d ˆ efinie gr ´ ace au diagramme de Vorono ˆ ¨ı. L’usage d’une structure
geom ´ etrique telle que le diagramme de Vorono ´ ¨ı permet en effet de s’affranchir
des seuils arbitraires de distance utilises pour d ´ efinir si deux atomes sont en inter- ´
action. Ainsi, au sens du diagramme de Vorono¨ı, pour que deux atomes gros-grain
soient en interaction, ils doivent partager une facette de Vorono¨ı. L’interface est de cette
maniere repr ` esent ´ ee par l’ensemble des atomes gros-grain partageant une facette de ´
624.1. Principe de l’approche multi-echelle ´
Vorono¨ı avec au moins un atome gros-grain de l’autre partenaire (voir fig. 4.5). C’est
cette definition de l’interface qui est utilis ´ ee pour la fonction de score g ´ eom ´ etrique. ´
FIGURE 4.5 – L’interface d’une tessellation de Vorono¨ı appliquee´ a une interaction `
proteine-ARN. Les atomes gros-grain de la prot ´ eine (en bleu) et de l’ARN (en orange) ´
forment a leur interaction une interface (en vert). `
Le solvant est ajoute explicitement aux structures 3D notamment ´ a l’aide de ESBTL. `
Le solvant explicite a pour fonction de delimiter les surfaces ext ´ erieures des cellules ´
de Vorono¨ı qui ne sont pas enfouies dans la structure. L’ajout du solvant se traduit par
l’insertion de sites supplementaires, avant la construction du diagramme de Vorono ´ ¨ı.
Ces sites supplementaires sont ins ´ er´ es sous la forme d’un treillis o ´ u tout site est distant `
de tous ses voisins de 5A. Comme l’ajout du solvant explicite a pour cons ˚ equence une ´
forte augmentation du temps de calcul du diagramme de Vorono¨ı, les atomes grosgrain
de solvant inutiles sont retires. Sont inutiles tous les atomes gros-grain de solvant ´
qui sont trop loin des atomes gros-grain de chacun des deux partenaires pour interagir
avec eux. Comme l’ajout du solvant explicite peut induire un biais dans les resultats, ´
les atomes gros-grain en interaction avec le solvant ne sont pas consider´ es comme ´
faisant partie de l’interface.
FIGURE 4.6 – Le solvant a l’interface d’une tessellation de Vorono ` ¨ı construite sur les
atomes gros-grain d’une interaction proteine-ARN. Les atomes gros-grain du solvant ´
explicite (en rouge) reduisent l’interface (en vert) : tout atome gros-grain interagissant ´
avec un atome gros-grain du solvant est consider´ e en dehors de l’interface. ´
63Chapitre 4. Approche multi-echelle ´
4.1.3 Termes geom ´ etriques ´ a l’ ` echelle gros-grain ´
Il y a 210 termes de score geom ´ etriques r ´ epartis en 6 types de termes de score ´
geom ´ etriques (voir fig. 4.7) : ´
– P1 (1 terme), le nombre de centro¨ıdes a l’interface ; `
– P2 (1 terme), l’aire totale d’interaction, definie par la somme des aires des facettes ´
de Vorono¨ı a l’interface ; `
– P3 (24 termes), la proportion des cellules de Vorono¨ı des centro¨ıdes a l’interface `
sur le nombre total de cellules de Vorono¨ı a l’interface, pour chaque type d’acide `
amine (20) ou d’acide nucl ´ eique (4) ; ´
– P4 (24 termes), la volume median des centro ´ ¨ıdes a l’interface, pour chaque type `
d’acide amine (20) ou d’acide nucl ´ eique (4) ; ´
– P5 (80 termes), la proportion des facettes de Vorono¨ı a l’interface sur le nombre `
total de facettes de Vorono¨ı a l’interface, pour chaque paire de types d’acides `
amines (20) et d’acides nucl ´ eiques (4) ; ´
– P6 (80 termes), la distance mediane entre les centro ´ ¨ıdes a l’interface de cha- `
cun des deux partenaires, pour chaque paire de types d’acides amines (20) et ´
d’acides nucleiques (4). ´
FIGURE 4.7 – Mesure des parametres gros-grain ` a partir du diagramme de Vorono ` ¨ı entre
une proteine (en bleu) et un ARN (en orange). a) Facette de Vorono ´ ¨ı (surface grise)
entre un acide amine et un acide nucl ´ eique en interaction. Le param ´ etre P2 correspond `
a la somme des aires des facettes de Vorono ` ¨ı constituant l’interface. b) Cellule de
Vorono¨ı (en gris et ici decoup ´ ee pour faire appara ´ ˆıtre l’ARN en son centre) d’un acide
amine. Le param ´ etre P4 d’un type d’atome gros-grain correpond ` a la valeur m ` ediane ´
de ce volume sur tous les atomes gros-grain du type donne. c) Distance entre deux ´
atomes gros-grain (en jaune). Le parametre P6 de deux types donn ` es d’atomes gros- ´
grain correspond a la valeur m ` ediane de cette distance sur toutes les paires d’atomes ´
gros-grain de ces deux types donnes. ´
On peut dej ´ a remarquer que le nombre de termes de score est ` elev ´ e, avec 210 ´
termes. D’autres parametres auraient pu ` etre utilis ˆ es, comme le nombre de facettes ´
de Vorono¨ı ou la distance mediane entre tous les centro ´ ¨ıdes a l’interface. Mais ces `
644.1. Principe de l’approche multi-echelle ´
termes de score auraient pu augmenter la redondance des informations contenues
dans les differents termes de score. ´
Les deux premiers termes de score P1 et P2 sont attendus plus grands pour les
presque-natifs que pour les leurres. Cependant, il est tout a fait possible que leurs `
valeurs oscillent autour d’une valeur moyenne pour les presque-natifs et que des candidats
puissent avoir des valeurs encore plus elev ´ ees sans pour autant correspondre ´
a des presque-natifs. Le terme de score P1 correspond ` a une version issue du dia- `
gramme de Vorono¨ı du terme de score gros-grain interchain contact.
Les termes de score P3 et P5 ont pour objectif de mesurer l’impact de la presence ´
de chacun des types d’acide amine ou d’acide nucl ´ eique ´ a l’interface (P3), mais aussi `
leurs interactions pref ´ erentielles (P5). En effet, si un terme de score P3 est sensi- ´
blement plus elev ´ e au sein des presque-natifs qu’au sein des leurres, cela peut sig- ´
nifier que le type d’acide amine ou d’acide nucl ´ eique auquel il correspond se trouve ´
pref ´ erentiellement ´ a l’interface. De la m ` eme mani ˆ ere pour un terme de score P5, cela `
signifierait que le type d’acide amine et le type d’acide nucl ´ eique qui lui correspondent ´
sont plus souvent que les autres en interaction dans les complexes proteine-ARN. Les ´
termes de score P3 et P5 correspondent respectivement a une version g ` eom ´ etrique ´
des termes de score interchain env et interchain pair, mais dedi ´ es´ a l’interface. `
Le terme de score P4 evalue sp ´ ecifiquement l’empilement st ´ erique. Les acides ´
amines et nucl ´ eiques au contact les uns des autres forment ce qui est appel ´ e un em- ´
pilement sterique. Si les atomes gros-grain sont trop proches les uns des autres, le ´
volume median sera petit. Or, certains acides nucl ´ eiques et acides amin ´ es occupent ´
plus d’espace que d’autres. On attend donc des atomes gros-grain des acides amines´
et acides nucleiques dont la cha ´ ˆıne laterale est petite d’avoir un petit volume m ´ edian ´
chez les presque-natifs, et inversement.
Le terme de score P6 a plusieurs usages. D’une part, la distance mediane permet ´
de reperer les structures pour lesquelles une interaction anormalement longue inter- ´
vient, presageant d’un cas pathologique de leurre (mauvais empilement et donc pos- ´
siblement un probleme lors de la g ` en´ eration des leurres). D’autre part, P6 permet de ´
retrouver l’orientation des acides amines et acides nucl ´ eiques et d’ ´ evaluer si l’orienta- ´
tion de l’interaction se fait telle qu’attendue dans un presque-natif. En effet, les atomes
gros-grain representent la cha ´ ˆıne laterale et, selon l’orientation des acides amin ´ es et ´
acides nucleiques ´ a l’interaction, la distance entre eux n’est pas la m ` eme. ˆ
4.1.4 Donnees et fonctions de score ´ a l’ ` echelle gros-grain ´
Le jeu de donnees atomique de candidats est g ´ en´ er´ e autour et ´ a proximit ` e de la ´
solution. Or, la fonction de score gros-grain a besoin de discriminer des candidats
meme tr ˆ es` eloign ´ es de la solution des candidats mod ´ elisant l’ ´ epitope de l’interaction. ´
Ce jeu de donnees de candidats g ´ en´ er´ es n’est donc pas utilisable pour l’optimisation ´
de la fonction de score gros-grain.
Un jeu de donnees de candidats est donc g ´ en´ er´ e´ a l’identique du jeu de donn ` ees ´
atomique, aux parametres de la perturbation pr ` es. Plut ` ot que de d ˆ efinir un nuage de ´
perturbation gaussienne, les coordonnees de l’ARN sont d ´ efinies al ´ eatoirement au- ´
65Chapitre 4. Approche multi-echelle ´
tour de la proteine. Ceci assure que la structure native n’affecte pas le r ´ esultat et que ´
n’importe quel candidat puisse etre g ˆ en´ er´ e et utilis ´ e pour l’apprentissage comme pour ´
l’evaluation. ´
Les candidats gen´ er´ es sont ensuite ´ etiquet ´ es par un seuil diff ´ erent en I ´ RMSD de
celui utilise pour le jeu de donn ´ ees atomique, pour refl ´ eter la diff ´ erence d’objectif. L’ob- ´
jectif de la fonction de score gros-grain est en effet de trouver l’epitope, pas d’op ´ erer ´
un raffinement de la structure. Le seuil de IRMSD choisi est de 12 A, seuil en-dessous ˚
duquel un candidat est appele´ presque-natif, par analogie avec l’echelle atomique. ´
4.2 Optimisation de la fonction de score gros-grain
Comme pour l’echelle atomique, une fonction de score gros-grain impl ´ ement ´ ee di- ´
rectement dans RosettaDock necessite d’ ´ etre mod ˆ elis ´ ee sous la forme d’une combi- ´
naison lineaire des param ´ etres. Il est cependant possible de s’affranchir d’une telle `
contrainte et de n’utiliser la fonction de score gros-grain qu’en post-traitement de la
gen´ eration. Une telle utilisation implique d’avoir d ´ ej ´ a g ` en´ er´ e les candidats. Deux ap- ´
proches sont donc envisageables : l’utilisation d’une combinaison lineaire ou la mise ´
en place d’une fonction de score a posteriori.
ROGER, etant donn ´ ees ses performances pour l’adaptation de la fonction de score ´
atomique de RosettaDock a la pr ` ediction d’interactions prot ´ eine-ARN, est utilis ´ e pour ´
l’apprentissage d’une fonction logistique pour modeliser une fonction de score gros- ´
grain. La fonction de score ainsi apprise est appelee´ VOR. Nous allons maintenant
detailler comment cette fonction de score est apprise au moyen de R ´ OGER.
4.2.1 Methodologie d’optimisation de la fonction de score gros- ´
grain
La methodologie g ´ en´ erale d’optimisation de la fonction de score gros-grain se ´
decline en cinq phases : ´
– la gen´ eration de candidats issus des complexes de la P ´ RIDB par perturbation,
mais avec des candidats divergeant davantage de la structure native ;
– la construction d’un diagramme de Vorono¨ı sur chacun des candidats gen´ er´ es ; ´
– la mesure des valeurs des termes de score geom ´ etriques gros-grain sur les dia- ´
grammes de Vorono¨ı construits ;
– l’apprentissage de la fonction de score sur l’ensemble des 120 complexes de la
PRIDB ;
– l’evaluation des 120 fonctions de score apprises en ´ leave-”one-pdb”-out et eva- ´
luees sur les 10 000 candidats de leurs jeux d’ ´ evaluation. ´
La gen´ eration de candidats pour l’amarrage gros-grain doit donner des candi- ´
dats divergeant davantage de la solution. De plus, cette gen´ eration ne doit pas tenir ´
compte de la structure du natif. C’est pourquoi la gen´ eration des candidats de l’a- ´
marrage gros-grain se fait en aveugle : les coordonnees spatiales de l’ARN sont ´
determin ´ ees al ´ eatoirement. Une telle g ´ en´ eration sur 10 000 candidats nous emp ´ eche ˆ
664.3. Evaluation de l’interaction ´ a l’ ` echelle gros-grain ´
par consequent d’imposer la m ´ eme contrainte du nombre minimum de presque-natifs ˆ
et de leurres gen´ er´ es par complexe. Si le nombre de leurres est rapidement important, ´
le nombre de presque-natifs gen´ er´ es reste tr ´ es faible. Cependant, nous voulons que `
la fonction de score gros-grain nous permette seulement de predire les structures suff- ´
isamment proches de la solution pour etre affin ˆ ees par la fonction de score atomique. ´
Nous pouvons donc considerer ´ a l’ ` echelle gros-grain et pour des raisons d’appren- ´
tissage que le seuil de presque-natifs est cette fois-ci de 10A. Nous pouvons v ˚ erifier ´
que des candidats a moins de 10 ` A de la structure native en I ˚ RMSD permettent bien
d’affiner la structure par protocole d’amarrage grace aux entonnoirs d ˆ etect ´ es pour la ´
fonction de score atomique (voir fig. 4.8).
2i82 (ES = 7.14)
Irmsd (Å)
Score
0 20
−44 −26
0 20
3fht (ES = 3.66)
Irmsd (Å)
Score
0 20
−24 −17
0 20
3iev (ES = 5.64)
Irmsd (Å)
Score
0 20
−27 −19
0 20
FIGURE 4.8 – Exemples de diagrammes d’energie en fonction du I ´ RMSD pour la fonction
de score POS sur 3 complexes. On remarque des entonnoirs permettant un affinement
de structures candidates trouvees ´ a moins de 10 ` A de la structure native. ˚
Contrairement aux termes de score physico-chimiques, ici, tous les termes de score
geom ´ etriques ont des valeurs positives ou nulles. Nous ne contraignons donc pas l’ap- ´
prentissage a rechercher les poids sur l’intervalle de valeurs positif avec cette fonction `
de score gros-grain. Nous etudions toutefois les diff ´ erences entre un apprentissage ´
a poids positifs et un apprentissage sans contrainte sur l’intervalle de d ` efinition des ´
poids.
4.3 Evaluation de l’interaction ´ a l’ ` echelle gros-grain ´
La fonction de score gros-grain est modelis ´ ee au moyen de termes g ´ eom ´ etriques ´
issus de la construction d’un diagramme de Vorono¨ı avec pour sites de construction
du diagramme les atomes gros-grain de la structure 3D. En plus d’etablir un protocole ´
permettant la prediction des interactions prot ´ eine-ARN, il s’agit de mieux comprendre ´
les mecanismes donnant lieu ´ a une interaction entre prot ` eine et ARN. C’est pourquoi ´
nous etudions non seulement la fonction de score mod ´ elis ´ ee, mais aussi les valeurs ´
des parametres selon le type de structure rencontr ` ee : native ou candidate. ´
67Chapitre 4. Approche multi-echelle ´
4.3.1 Etude des valeurs des mesures g ´ eom ´ etriques ´
Les valeurs des mesures geom ´ etriques des structures natives et des candidats per- ´
mettent d’en apprendre plus sur le comportement des mesures geom ´ etriques lorsqu’il ´
y a interaction entre proteine et ARN. Toutes les valeurs des mesures g ´ eom ´ etriques ´
sont ici analysees avant traitement des valeurs non renseign ´ ees : ces derni ´ eres ne `
sont tout simplement pas prises en compte pour cette analyse. Les mesures les plus
eloquentes sont certainement le nombre de cellules de Vorono ´ ¨ı en interaction et l’aire
de la surface totale d’interaction pour une meme structure 3D. Pour ces deux mesures, ˆ
les valeurs sont reparties tr ´ es diff ` eremment entre les structures natives et les candi- ´
dats.
En effet, les structures natives ont une surface d’interaction minimale de 10A˚ 2
, contre
0 pour des candidats ou les partenaires sont suffisamment ` eloign ´ es l’un de l’autre ´
(voir tableau 4.1). Rappelons qu’il est possible pour des candidats d’avoir une surface
d’interaction nulle car tout atome gros-grain en interaction avec le solvant est retire de ´
l’interface. La mediane de la surface d’interaction des structures natives est de 756 ´ A˚ 2
,
contre 336A˚ 2 pour les candidats. La methode de g ´ en´ eration des candidats n’impose ´
pas de contrainte sur les partenaires. Comme ceux-ci sont rigides, les perturbations
engendrent de nombreux candidats qui presentent un mauvais emboitement et une ´
interface faible (voir fig. 4.9).
FIGURE 4.9 – Interaction de la proteine (en bleu) et de l’ARN (en orange) avec le ´
solvant explicite (en rouge) du modele gros-grain, avec le mod ` ele atomique des deux `
partenaires affiche pour information (en gris). Il peut arriver comme ici que le nombre ´
d’acides amines et de r ´ esidus ´ a l’interface soit r ` eduit ´ a 0 par la pr ` esence d’atomes ´
gros-grain de solvant autour d’une petite interface composee de trois ou quatre acides ´
amines et nucl ´ eiques. ´
Pour le nombre de cellules de Vorono¨ı a l’interface, c’est d’autant plus flagrant, `
puisque la mediane du nombre de cellules de Vorono ´ ¨ı a l’interface est de 44 pour `
les structures natives, contre 28 pour les candidats. Il y a au minimum 3 cellules de
Vorono¨ı a l’interface dans les structures natives, contre 27 220 candidats qui n’en ont `
aucune. Ces 27 220 candidats sont repartis sur 26 complexes et ont des partenaires ´
trop eloign ´ es pour avoir une interface, le solvant se logeant trop pr ´ es des quelques `
684.3. Evaluation de l’interaction ´ a l’ ` echelle gros-grain ´
atomes gros-grain interagissant. Cette absence d’interface est parfois aggravee par le ´
traitement des ions. Les ions a l’interface sont en effet retir ` es de la structure 3D et ´
sont par consequent remplac ´ es par des atomes de solvant s’ils laissent un vide trop ´
important. Or, tout atome gros-grain en interaction avec un atome gros-grain du solvant
n’est pas consider´ e comme faisant partie de l’interface, pour ´ eviter que le solvant ne ´
biaise les resultats des surfaces d’interaction et des volumes des cellules de Vorono ´ ¨ı.
Agregat ´ Aire de l’interface Nombre de cellules
Maximum 3209 174
Moyenne 952 54
Mediane ´ 756 44
Minimum 10 3
TABLE 4.1 – Repartition de deux termes de score g ´ eom ´ etriques sur les structures ´
natives de la PRIDB. L’aire de l’interface (P1) est la surface totale de l’interaction en A˚ 2
,
qui est indiquee avec le nombre de cellules de Vorono ´ ¨ı a l’interface. `
Les autres types de mesures sont repartis en fonction du type d’acide amin ´ e´
ou d’acide nucleique et sont donc plus nombreux, mais aussi parfois avec plus de ´
valeurs manquantes. On peut toutefois remarquer certaines propriet´ es int ´ eressantes ´
en comparaison avec les interactions proteine-prot ´ eine. Il a ´ et´ e vu pour les interac- ´
tions proteine-prot ´ eine que les acides amin ´ es hydrophobes ´ etaient les plus pr ´ esents ´
dans l’interface entre les partenaires [15]. Pour les interactions proteine-ARN, c’est le ´
phenom ´ ene inverse qui est observ ` e (voir fig. 4.11). ´ A part la leucine, ce sont les acides `
amines polaires – et notamment charg ´ es – qui sont ´ a l’interface : parmi les acides `
amines hydrophobes, seule la leucine fait partie des acides amin ´ es de proportion non ´
nulle a l’interface sur plus de la moiti ` e des structures natives. La leucine se partage ´
plus de la moitie des interfaces des structures natives avec l’arginine, l’aspartate, le ´
glutamate, la glycine, la lysine et la serine. Au total, parmi les acides amin ´ es charg ´ es, ´
seule l’histidine est absente de l’interface sur l’ensemble des structures natives alors
que, au contraire, parmi les acides amines polaires non charg ´ es, ce sont la glycine et ´
la serine qui ont une proportion non nulle. Aucun acide amin ´ e n’est ´ a l’interface dans `
toutes les structures natives. De plus, seule la lysine est presente ´ a l’interface dans `
plus des trois quarts des structures natives. De fac¸on plus gen´ erale, on constate une ´
queue de distribution plus elev ´ ee pour les leurres que pour les presque-natifs et natifs. ´
De la meme mani ˆ ere, les uraciles repr ` esentent en moyenne 12 % des acides amin ´ es´
et nucleiques ´ a l’interface, bien au-del ` a de la guanine (8 %), la cyst ` eine (7 %) et ´
l’adenine (5 %). Et seul l’uracile est pr ´ esent ´ a l’interface dans plus des trois-quarts `
des structures natives (voir fig. 4.12). On peut donc en conclure que les acides amines´
dominent largement les acides nucleiques dans leur participation ´ a l’interaction. Il y `
a plus d’un acide amine pour un acide nucl ´ eique. Le rapport est plus proche de sept ´
acides amines pour trois acides nucl ´ eiques dans les structures natives, donc plus ´
de deux pour un. C’est un rapport important a garder en t ` ete lorsque l’on souhaite ˆ
modeliser une interaction prot ´ eine-ARN. En effet, cela signifie que ce sont les atomes ´
69Chapitre 4. Approche multi-echelle ´
0 1000 2000 3000
0.0000 0.0010 0.0020 0.0030
P1 : aire de la surface d'interaction
Densité de structures
0 50 100 150 200
0.00 0.02 0.04
P2 : nombre d'acides aminés et nucléiques
Densité de structures
FIGURE 4.10 – Courbes de densite des termes de score P1 (surface d’interaction) et P2 ´
(nombre d’acides amines et nucl ´ eiques ´ a l’interface) sur les 120 structures natives (en `
rouge), sur les 64 994 presque-natifs (en orange) et sur les 1 135 006 leurres (en gris).
On peut remarquer que de nombreux candidats ne presentent pas d’interface, ce qui ´
est du au fait que tous les atomes gros-grain en interaction entre les deux partenaires ˆ
sont aussi en interaction avec le solvant.
gros-grain des acides amines qui ont le plus d’impact sur la valeur du score. ´
La forte proportion de candidats sans un ou plusieurs types d’acides nucleiques ´ a`
l’interface est explique par deux ph ´ enom ´ enes : `
– les candidats sans interface ;
704.3. Evaluation de l’interaction ´ a l’ ` echelle gros-grain ´
0.0 0.2 0.4 0.6
0 20 40 60 80
P3 : proportion de LEU
Densité de structures
0.0 0.2 0.4 0.6
0 10 20 30 40 50
P3 : proportion de ARG
Densité de structures
0.0 0.2 0.4 0.6
0 10 20 30 40 50 60
P3 : proportion de ASP
Densité de structures
FIGURE 4.11 – Courbes de densite des termes de score P3 pour quelques acides ´
amines sur les 120 structures natives (en rouge), sur les presque-natifs (en orange) et ´
sur les leurres (en gris).
– les candidats avec de petits ARN ou des ARN ne presentant qu’un ou deux types ´
d’acides nucleiques. ´
Nous avons en effet vu que les candidats sans interface etaient nombreux et ont ´
necessairement les valeurs des quatre param ´ etres P3 des acides nucl ` eiques ´ a z ` ero. ´
Mais il existe aussi de petits ARN ou des ARN ne presentant pas un ou plusieurs types ´
d’acides nucleiques. C’est le cas des queues poly-A ou poly-U, qui ne poss ´ edent que `
des adenines ou des uraciles. Il existe aussi des complexes dont l’ARN ne contient ´
71Chapitre 4. Approche multi-echelle ´
0.0 0.2 0.4 0.6
0
5 10 20 30
P3 : proportion de GLU
Densité de structures
0.0 0.2 0.4 0.6
0 10 30 50 70
P3 : proportion de GLY
Densité de structures
0.0 0.2 0.4 0.6
0
5 10 20 30
P3 : proportion de LYS
Densité de structures
0.0 0.2 0.4 0.6
0 20 40 60 80
P3 : proportion de SER
Densité de structures
FIGURE 4.11 (cont.) – Courbes de densite des termes de score P3 pour quelques ´
acides amines sur les 120 structures natives (en rouge), sur les presque-natifs (en ´
orange) et sur les leurres (en gris).
qu’une rep´ etition du motif GC. Aucun de ces complexes ne poss ´ ede certains types `
d’acides nucleiques et ceci se retrouve dans les param ´ etres P3 des acides nucl ` eiques ´
sous la forme d’un pic a l’abscisse z ` ero (voir fig. 4.12). ´
724.3. Evaluation de l’interaction ´ a l’ ` echelle gros-grain ´
0.0 0.2 0.4 0.6
0
5 10 20 30
P3 : proportion de A
Densité de structures
0.0 0.2 0.4 0.6 0.8
0
5 10 15 20
P3 : proportion de C
Densité de structures
0.0 0.2 0.4 0.6 0.8
0
5 10 15 20
P3 : proportion de G
Densité de structures
0.0 0.2 0.4 0.6 0.8
0
5 10 15 20
P3 : proportion de U
Densité de structures
FIGURE 4.12 – Courbes de densite des termes de score P3 pour les acides nucl ´ eiques ´
sur les 120 structures natives (en rouge), sur les presque-natifs (en orange) et sur les
leurres (en gris). Ici, s’ajoutent aux candidats sans interface les candidats avec de tres`
petits ARN, comme des queues poly-A, qui ne contiennent que des adenines et, par ´
consequent, ne poss ´ edent pas d’autre acide nucl ` eique ´ a l’interface que des ad ` enines. ´
4.3.2 Evaluation de la fonction de score gros-grain ´
La fonction de score gros-grain a pour objectif de trier les candidats de telle sorte
qu’au moins une structure modelisant l’ ´ epitope de l’interaction fasse partie des premi- ´
eres structures du tri. Une fois l’ ` epitope d ´ etect ´ e, c’est ´ a la fonction de score atomique `
73Chapitre 4. Approche multi-echelle ´
d’affiner la structure et d’en modeliser l’interaction 3D. Nous allons d’abord ´ evaluer ´
les poids de la fonction de score gros-grain, puis ses performances, que nous comparerons
ensuite a la m ` eme fonction de score dont les poids sont appris dans l’inter- ˆ
valle de valeurs positif, ainsi qu’a une fonction de score non lin ` eaire utilisant une valeur ´
de centrage par terme de score (voir section 3.1.1 chapitre 3).
4.3.2.1 Poids
Les poids des parametres P1 (l’aire totale de la surface d’interaction) et P2 (le nom- `
bre d’acides amines et nucl ´ eiques ´ a l’interface) sont sans surprise tr ` es n ` egatifs (voir ´
4.13). Ces poids etaient attendus n ´ egatifs car ils sont cens ´ es favoriser l’interaction : il ´
faut qu’il y ait un nombre suffisant d’acides amines et nucl ´ eiques (pour P1), de m ´ eme ˆ
qu’une surface d’interaction suffisante (pour P2) pour obtenir une interaction entre les
deux partenaires. On constate tout de meme une distance d’interquartile (entre le pre- ˆ
mier quartile et le troisieme) plus importante pour P2 que pour P1. Autrement dit, l’ap- `
prentissage sur chacun des plis du leave-”one-pdb”-out ne donne pas un consensus
aussi clair pour l’utilite de P2 que pour celle de P1 pour pr ´ edire l’interaction prot ´ eine- ´
ARN. Ceci suggere que le nombre d’acides amin ` es et nucl ´ eiques en interaction a une ´
contribution plus discutable que la surface d’interaction.
●
●
●●●
●
●
●
●
●
●
●
●
−1.0 −0.5 0.0 0.5 1.0
Termes de score P1 (surface d'interaction) et P2 (nombre d'acides aminés et nucléiques)
Poids
P1 P2
FIGURE 4.13 – Valeurs des coefficients des parametres P1 et P2 pour les 120 com- `
plexes : l’aire totale de la surface d’interaction (en A˚ 2
) et le nombre d’acide amines et ´
nucleiques ´ a l’interface. P1 et P2 sont tr ` es n ` egatifs. ´
On peut aussi constater que tous les parametres P3 (proportion d’acides amin ` es´
a l’interaction) fluctuent autour d’une valeur de 0.5, avec peu de diff ` erences entre les ´
types d’acides amines ou nucl ´ eiques (voir fig. 4.14). Ces poids ont donc tendance ´ a`
744.3. Evaluation de l’interaction ´ a l’ ` echelle gros-grain ´
augmenter le score final, donc classer le candidat comme leurre. La fonction de score
a pris en compte le fait qu’il existe des leurres pour lesquels la proportion d’acides
amines de m ´ eme type ˆ a l’interaction est tr ` es importante. Cette proportion importante `
d’acides amines de m ´ eme type correspond ˆ a la queue de distribution de chacun des `
termes de score de P3 vue a la section pr ` ec´ edente. ´
●● ●
●
●
● ● ●
●● ●
●
●
● ●
● ●
●● ●
−1.0 −0.5 0.0 0.5 1.0
Termes de score P3 : proportion d'acides aminés ou nucléiques par type
Poids
ALA
ARG
ASN
ASP
CYS
GLN
GLU
GLY
HIS
ILE
LEU
LYS
MET
PRO
PHE
SER
THR
TRP
TYR
VAL
A
C
G
U
FIGURE 4.14 – Valeurs des coefficients des parametres P3 pour les 120 complexes : `
les proportions de chaque type d’acide amine et d’acide nucl ´ eique. P3 p ´ enalise les ´
structures qui privilegient ´ a leur interface la pr ` esence d’un type d’acide amin ´ e ou ´
nucleique plut ´ ot qu’un autre. ˆ
Comparativement aux poids appris pour les interactions proteine-prot ´ eine, les poids ´
des parametres P4 – les volumes m ` edians – ne sont pas tous n ´ egatifs (voir 4.15). Au ´
contraire, plusieurs acides amines montrent des poids positifs de grande amplitude. En ´
realit ´ e, les poids P4 montrent que l’ordonnancement des acides amin ´ es selon leur taille ´
(ou encombrement sterique) a partiellement ´ et´ e retrouv ´ e´ a travers l’apprentissage. Ils `
sont positifs pour les acides amines de petite taille (alanine, glycine, aspartate, gluta- ´
mate, methionine, valine) et n ´ egatifs de grande amplitude pour les acides amin ´ es de ´
taille importante (arginine, tyrosine, tryptophane, phenylalanine, histidine). Les acides ´
amines polaires non charg ´ es (asparagine, glutamine) de composition proche de cer- ´
tains residus charg ´ es ont aussi des poids n ´ egatifs de plus grande amplitude que les ´
acides amines charg ´ es correspondants : l’aspartate et le glutamate d ´ ej ´ a cit ` es plus ´
haut. Globalement, les poids des parametres P4 sont n ` egatifs ou nuls m ´ eme pour ˆ
des acides amines de taille moyenne (thr ´ eonine, leucine, isoleucine, lysine, s ´ erine, ´
cysteine, proline). Pour les acides nucl ´ eiques, les poids sont positifs et faibles, indi- ´
quant que la fonction de score favorise les candidats ayant un volume median rela- ´
tivement faible pour chaque acide nucleique, en comparaison des volumes m ´ edians ´
75Chapitre 4. Approche multi-echelle ´
obtenus sur les candidats d’une gen´ eration de candidats par perturbation. Les poids ´
des pyrimidines (G et C) sont plus elev ´ es que ceux des purines, qui sont de taille ´
plus petite relativement aux pyrimidines. Le meme constat que pour les prot ˆ eines peut ´
donc etre fait pour les acides nucl ˆ eiques : l’ordonnancement des acides nucl ´ eiques ´
selon leur taille a et ´ e appris par la fonction de score. D’un point de vue g ´ eom ´ etrique, ´
les acides amines et nucl ´ eiques avec une taille importante ont tendance ´ a obtenir des `
cellules de Vorono¨ı plus volumineuses dans une structure native ou presque-native.
Dans une structure gen´ er´ ee al ´ eatoirement et ´ eloign ´ ee de la solution native, la cellule ´
de Vorono¨ı peut avoir un volume plus elev ´ e ou plus faible. Cette diff ´ erence entre le ´
volume des cellules de Vorono¨ı pour les presque-natifs et pour les leurres lors de l’apprentissage
a donc permis a l’algorithme d’apprentissage de retrouver les tailles des `
differents acides amin ´ es et nucl ´ eiques. ´
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
−1.0 −0.5 0.0 0.5 1.0
Termes de score P4 : volume médian par acide aminé ou nucléique
Poids
ALA
ARG
ASN
ASP
CYS
GLN
GLU
GLY
HIS
ILE
LEU
LYS
MET
PRO
PHE
SER
THR
TRP
TYR
VAL
A
C
G
U
FIGURE 4.15 – Valeurs des coefficients des parametres P4 pour les 120 complexes : `
les volumes medians par type d’acide amin ´ e ou nucl ´ eique. Les poids montrent que ´
la fonction de score a retrouve l’information d’encombrement st ´ erique de chaque type ´
d’acide amine et nucl ´ eique. ´
4.3.2.2 Evaluation de la fonction de score gros-grain ´
La fonction de score gros-grain VOR montre de moins bonnes performances que la
fonction de score atomique POS : seuls 65 des complexes ont au moins un presquenatif
parmi les 10 premiers candidats. Meme dans le top100 des candidats, seulement ˆ
99 des complexes ont au moins un presque-natif. Ceci est duˆ a plusieurs facteurs. `
Tout d’abord, on peut remarquer que le nombre de presque-natifs par complexe est
drastiquement plus faible : moins de 150 presque-natifs sur les 10 000 structures, pour
764.3. Evaluation de l’interaction ´ a l’ ` echelle gros-grain ´
plus de la moitie des complexes. En comparaison, aucun complexe n’avait aussi peu ´
de presque-natifs a l’ ` echelle atomique, puisque leur minimum ´ etait ´ a 225 presque- `
natifs et ce nombre depassait le millier pour 116 des complexes. Ensuite, le nombre de ´
parametres complexifie l’apprentissage. Nous avons pu voir dans l’ ` etude des poids que ´
de nombreuses informations ont et´ e extraites par la fonction de score : l’encombrement ´
sterique des acides amin ´ es et nucl ´ eiques ainsi que la queue de distribution des propor- ´
tions d’acides amines et nucl ´ eiques ´ a l’interface, notamment. Mais les 210 param ` etres `
ne sont appris que sur moins de 2 500 candidats a chaque fois. De plus, la g ` en´ eration ´
de candidats par perturbation n’a pas permis d’obtenir 30 presque-natifs pour tous
les complexes et ne permet qu’une gen´ eration in ´ egale du nombre de presque-natifs ´
par complexe. On peut notamment voir des illustrations de complexes pour lesquels la
prediction a fonctionn ´ e et d’autres pour lesquels elle n’a pas fonctionn ´ e (voir table 4.2). ´
pdb ES TOP10 Attendus TOP100 Presque-natifs ROC-AUC
1gtf 1.55 10 6.307 99 6307 0.70
1knz 3.26 10 1.136 90 1136 0.73
1m8v 1.70 10 6.192 92 6192 0.61
2a8v 2.22 10 5.018 90 5018 0.67
2voo 4.88 10 3.261 97 3261 0.77
3d2s 1.63 10 5.557 93 5557 0.62
1asy 2.35 0 0.008 0 8 0.59
1b23 1.67 0 0.024 1 24 0.72
1c0a 1.89 0 0.001 0 1 0.77
1ddl 1.21 0 0.327 1 327 0.61
1di2 0.93 0 0.114 0 114 0.52
1e8o 1.43 0 0.743 10 743 0.60
TABLE 4.2 – Resultats de la fonction de score gros-grain VOR sans contrainte sur ´
l’apprentissage des poids pour 6 des meilleurs (en haut) et 6 des pires (en bas) complexes
de la PRIDB (meilleurs ou pires au sens du nombre de presque-natifs dans le
top10) : score d’enrichissement (ES), nombre de presque-natifs dans le top10, nombre
de presque-natifs attendus en moyenne par un tri aleatoire, nombre de presque- ´
natifs dans le top100, nombre de presque-natifs sur les 10 000 structures et aire
sous la courbe ROC sur 10 000 candidats par pdb evalu ´ e. On peut remarquer que ´
tous ces meilleurs complexes ont plus de 1 000 presque-natifs dans les 10 000 candidats
gen´ er´ es, alors que tous ces pires complexes ont moins de 1 000 presque-natifs ´
gen´ er´ es, souvent m ´ eme bien moins. ˆ
Il est aussi a noter qu’il n’est pas n ` ecessaire d’avoir un maximum de presque-natifs ´
dans le top10 des candidats : un seul presque-natif suffit. De plus, ici, l’objectif est
davantage de minimiser la position du premier presque-natif – idealement pour qu’il ´
soit en premiere position dans le tri – que de le placer dans le top10. En effet, plus ce `
presque-natif sera place loin dans le tri et plus il faudra tester de candidats comme point ´
de depart d’un amarrage atomique avant de pouvoir effectuer un amarrage atomique ´
77Chapitre 4. Approche multi-echelle ´
sur le bon candidat.
Lorsque l’on regarde le top100 des candidats, on peut observer que plusieurs complexes
avec moins de 10 presque-natifs en ont un ou plusieurs dans le top100 (voir
table 4.3). Les aires sous la courbe ROC ont alors des valeurs tres` elev ´ ees. On peut ´
donc se rendre compte que, lorsque la gen´ eration de candidats par perturbation per- ´
met de rapidement gen´ erer de nombreux candidats de I ´ RMSD proche de la solution,
le protocole d’amarrage gros-grain fonctionne tres bien. Mais d ` es que les deux parte- `
naires sont de taille suffisamment elev ´ ee, la g ´ en´ eration de 10 000 candidats est insuff- ´
isante pour avoir de bonnes chances de trouver l’epitope en une dizaine de tentatives ´
d’amarrage atomique.
pdb ES TOP10 Attendus TOP100 Presque-natifs ROC-AUC
1ffy 2.30 0 0.008 2 8 0.88
1ser 1.95 0 0.008 1 8 0.88
1qtq 2.05 0 0.007 3 7 0.93
1f7u 2.56 0 0.007 1 7 0.86
1qf6 2.06 0 0.005 1 5 0.85
2bte 2.46 0 0.002 1 2 0.98
TABLE 4.3 – Resultats de la fonction de score gros-grain VOR sans contrainte sur ´
l’apprentissage des poids pour 6 autres des pires complexes de la PRIDB (pires au
sens du nombre de presque-natifs dans le top10), mais avec au moins un presquenatif
dans le top100 : score d’enrichissement (ES), nombre de presque-natifs dans le
top10, nombre de presque-natifs attendus en moyenne par un tri aleatoire, nombre de ´
presque-natifs dans le top100, nombre de presque-natifs sur les 10 000 structures et
aire sous la courbe ROC sur 10 000 candidats par pdb evalu ´ e. Malgr ´ e le faible nombre ´
de presque-natifs dans les 10 000 candidats de chaque complexe, il y a tout de meme ˆ
un ou plusieurs presque-natifs dans le top100 des candidats, ce qui donne de tres`
bonnes ROC-AUC.
4.3.2.3 Comparaison avec contrainte a poids positifs `
La fonction de score avec contrainte a poids positifs offre des performances encore `
moins bonnes. Seulement 8 complexes ont au moins un presque-natif dans le top10
des candidats (voir table 4.4). Et seulement 35 complexes ont au moins un presquenatif
dans le top100 des candidats.
Nous pouvons donc voir que la contrainte de l’intervalle de valeurs des poids a`
apprendre depend enti ´ erement du contexte de l’apprentissage. Les descripteurs appris `
sont ici differents du cas de l’ ´ echelle atomique et donnent tous, quelle que soit leur ´
nature, une valeur positive ou nulle. La modelisation de la fonction de score doit alors ´
prendre en compte la contrainte selon laquelle tous les poids doivent etre positifs, alors ˆ
que certains termes de score ne sont pas des termes de penalisation des structures, ´
mais au contraire penchent en faveur de l’interaction.
784.3. Evaluation de l’interaction ´ a l’ ` echelle gros-grain ´
pdb ES TOP10 Attendus TOP100 Presque-natifs ROC-AUC
1gtf 1.27 7 6.307 53 6307 0.48
2a8v 0.69 5 5.018 54 5018 0.46
3d2s 1.00 5 5.557 47 5557 0.49
1sds 0.69 4 2.190 15 2190 0.52
1dfu 0.31 1 0.743 2 743 0.31
2bu1 0.35 1 1.291 4 1291 0.38
TABLE 4.4 – Resultats de la fonction de score gros-grain ´ a poids positifs pour les `
6 meilleurs complexes de la PRIDB (au sens du nombre de presque-natifs dans le
top10) : score d’enrichissement (ES), nombre de presque-natifs dans le top10, nombre
de presque-natifs attendus en moyenne par un tri aleatoire, nombre de presque-natifs ´
dans le top100, nombre de presque-natifs sur les 10 000 structures et aire sous la
courbe ROC sur 10 000 candidats par pdb evalu ´ e. Comme on peut le voir, les r ´ esultats ´
ne sont pas satisfaisants pour notre protocole d’amarrage gros-grain.
4.3.2.4 Comparaison avec valeurs de centrage
Etant donn ´ e le comportement des structures natives par rapport aux candidats ´
gen´ er´ es, Il est l ´ egitime de penser que les presque-natifs ont une plage de valeurs ´
ideales pour au moins certains param ´ etres, au-dessus et en-dessous de laquelle se `
trouve un espace majoritairement peuple de leurres. Nous pouvons tirer parti de cette ´
repartition en plage de valeurs id ´ eales. C’est un concept qui a d ´ ej ´ a fait ses preuves, `
notamment en fouille de donnees textuelles [214], mais aussi en amarrage prot ´ eine- ´
proteine [6]. Une fonction de score non lin ´ eaire est alors compar ´ ee´ a la fonction `
de score constituee d’une combinaison lin ´ eaire des termes de score g ´ eom ´ etriques. ´
Son comportement sur un seul parametre se mod ` elise par une fonction d ´ ecroissante ´
jusqu’en 0, suivie d’une fonction croissante (voir fig. 4.16). La valeur de centrage ci
indique le centre estime par la fonction de score pour la plage de valeurs id ´ eales. Le ´
poids wi mesure la vitesse a laquelle s’ ` ecarter de cette valeur de centrage p ´ enalise ´
la structure. Au lieu d’un seul poids par terme de score i, cette fonction de score non
lineaire apprend donc les deux poids ´ wi et ci
, calculant le score ainsi, avec les valeurs
des A descripteurs de l’exemple tels que X = (x1, x2, ...x|A|) (voir eq. 4.2). ´
f(X) = X
|A|
i=1
wi
|xi − ci
| (4.2)
Ce modele de fonction de score a d ` ej ´ a` et´ e pr ´ esent ´ e au chapitre 3, en section 3.1.1. ´
Son avantage pour le cas qui nous interesse est de pouvoir discriminer, pour chaque ´
descripteur, d’une part une plage de valeurs correspondant aux presque-natifs, d’autre
part des valeurs correspondant aux leurres et positionnees de part et d’autre de cette ´
plage de valeurs. Remarquons que l’apprentissage des poids doit ici se faire dans
l’intervalle positif au moins pour les valeurs de centrage. Une valeur de ci negative n’a ´
en effet pas de sens puisque tous les termes de score sont a valeur dans l’intervalle `
79Chapitre 4. Approche multi-echelle ´
positif.
Valeur du terme de score xi
Participation yi de xi au score
0 ci
0 wi * |ci|
FIGURE 4.16 – Exemple de calcul de la participation yi a un score ` y par une fonction de
score avec valeurs de centrage, utilisant les poids wi et ci
. Le poids ci est aussi appele´
la valeur de centrage. On peut voir que l’ordonnee´ a l’origine est ` egale ´ a` wi∗|ci
|. Ce type
de fonction permet de modeliser des ph ´ enom ´ enes pour lesquels une plage de valeurs `
ideales est entour ´ ee de valeurs de plus en plus ´ eloign ´ ees du crit ´ ere caract ` erisant la ´
plage de valeurs ideales. ´
Les resultats de la fonction de score avec valeurs de centrage sont moins satis- ´
faisants (voir table 4.5). Il y a 28 complexes pour lesquels au moins un presque-natif
est trouve dans le top10 des candidats, et 61 complexes avec au moins un presque- ´
natif dans le top100 des candidats. La fonction de score avec valeurs de centrage est
tout de meme plus performante que la fonction de score form ˆ ee d’une combinaison ´
lineaire des param ´ etres dont les poids sont restreints ` a l’intervalle de valeurs positif. `
D’autre part, on n’observe plus aucun complexe pour lesquels il existe au moins un
presque-natif dans le top100 pour les complexes avec dix presque-natifs ou moins sur
l’ensemble des 10 000 candidats gen´ er´ es. Cette fonction de score est donc bien moins ´
adaptee´ a la pr ` ediction d’interactions prot ´ eine-ARN que la fonction de score VOR. ´
4.4 Conclusions sur la fonction de score gros-grain
Le protocole gros-grain part de candidats gen´ er´ es al ´ eatoirement dans l’espace des ´
candidats pour essayer de trouver un candidat suffisamment proche de l’epitope pour ´
etre exploitable par le protocole atomique. Malheureusement, les performances de la ˆ
fonction de score gros-grain ne remplissent pas aussi bien les objectifs fixes que pour ´
804.4. Conclusions sur la fonction de score gros-grain
pdb ES TOP10 Attendus TOP100 Presque-natifs ROC-AUC
1gtf 1.12 8 6.307 65 6307 0.51
1m8v 1.07 5 6.192 57 6192 0.49
2f8k 1.06 5 3.820 43 3820 0.49
1wsu 1.02 4 2.288 29 2288 0.51
2gxb 0.96 4 3.404 39 3404 0.49
2a8v 0.77 3 5.018 43 5018 0.49
TABLE 4.5 – Resultats de la fonction de score gros-grain avec valeurs de centrage pour ´
les 6 meilleurs complexes de la PRIDB (au sens du nombre de presque-natifs dans le
top10) : score d’enrichissement (ES), nombre de presque-natifs dans le top10, nombre
de presque-natifs attendus en moyenne par un tri aleatoire, nombre de presque-natifs ´
dans le top100, nombre de presque-natifs sur les 10 000 structures et aire sous la
courbe ROC sur 10 000 candidats par pdb evalu ´ e. Comme on peut le voir, les r ´ esultats ´
sont meilleurs que lorsque l’on contraint un apprentissage des poids dans un intervalle
de valeurs positif, mais toujours insatisfaisants pour notre protocole d’amarrage grosgrain.
la fonction de score atomique. Le manque de solutions acceptables a l’ ` echelle gros- ´
grain parmi celles obtenues avec la gen´ eration de candidats par perturbation participe ´
a ce constat. G ` en´ erer plus de 10 000 candidats pourrait permettre de mieux g ´ erer ce ´
phenom ´ ene. Le second probl ` eme est le nombre de param ` etres, qui s’ ` el ´ eve ` a 210, `
alors que la fonction de score utilise moins de 2 500 candidats dans l’apprentissage.
Malgre cela, m ´ eme pour des complexes avec tr ˆ es peu de solutions, on constate des `
presque-natifs dans le top100 des candidats.
Nous avons cependant pu constater a nouveau qu’il est important de savoir d ` efinir ´
avec precaution l’intervalle de valeurs des poids ´ a apprendre pour la fonction de score. `
Contrairement a l’amarrage atomique, ici, il convient de ne pas contraindre l’appren- `
tissage des poids a l’intervalle de valeurs positif, au risque d’obtenir une fonction de `
score moins performante. Nous avons aussi pu tester l’apprentissage d’une fonction de
score avec valeurs de centrage, qui semblait bien adaptee au ph ´ enom ´ ene de plages `
de valeurs ideales observ ´ ees pour plusieurs param ´ etres. Cette fonction de score avec `
valeurs de centrage etait tout de m ´ eme moins performante que la fonction de score ˆ
par combinaison lineaire des param ´ etres. `
Nous avons aussi pu montrer que les acides amines hydrophobes participent bien ´
moins a l’interaction que les acides amin ` es hydrophiles – surtout les acides amin ´ es´
charges – contrairement ´ a ce qui est observ ` e pour les interactions prot ´ eine-prot ´ eine. ´
Les poids associes aux param ´ etres issus des volumes m ` edians montrent que la taille ´
(encombrement sterique) des acides amin ´ es et des acides nucl ´ eiques est retrouv ´ ee et ´
prise en compte dans la fonction de score gros-grain.
81Chapitre 4. Approche multi-echelle ´
82Chapitre 5
Discussion biologique
5.1 Limites inherentes ´ a la construction de fonctions `
de score obtenues par apprentissage
Les modeles de fonction de score construits pour cette ` etude sont issus d’extrac- ´
tion de connaissances a partir de donn ` ees biologiques/biophysiques exp ´ erimentales et ´
simulees. Pour donner de bons r ´ esultats, ces mod ´ eles de fonction de score n ` ecessitent ´
donc des donnees de qualit ´ e et une mod ´ elisation fiable et pr ´ ecise des objets ´ etudi ´ es. ´
Or, si la quantite relativement faible de donn ´ ees disponibles (que nous verrons en sec- ´
tion 5.1.1) sur les interactions 3D proteine-ARN incite ´ a pr ` edire ces interactions, elle ´
limite aussi les modeles pouvant ` etre construits pour pr ˆ edire ces interactions. ´
Pour eviter une sur-repr ´ esentation de complexes tr ´ es` etudi ´ es dans la PDB, il est ´
necessaire de limiter la redondance dans les jeux de donn ´ ees. Mais cela a pour ´
consequence que les quantit ´ es de donn ´ ees disponibles sont faibles voire tr ´ es faibles. `
Le manque de donnees et la diversit ´ e des r ´ esidus et bases nucl ´ eiques imposent ´
des choix de methodes d’ ´ evaluation et de traitement des valeurs manquantes, des ´
valeurs non standards et du solvant. Chacun de ces choix a un impact sur les resultats. ´
Cette partie traite de cet impact, qu’il faut avoir a l’esprit pour correctement interpr ` eter ´
les resultats. ´
5.1.1 Une source de donnees exp ´ erimentales en constante ´ evolution ´
Nous avons pu extraire et nettoyer 120 complexes proteines-ARN de la P ´ RIDB
non redondante RB199. Nous avons ensuite utilise ces 120 solutions natives pour ´
gen´ erer 10 000 candidats chacune, d’une part pour l’ ´ echelle atomique, d’autre part ´
pour l’echelle gros-grain. Pour ces 120 complexes prot ´ eine-ARN, nous avons pu mon- ´
trer que l’objectif etait rempli pour plus de 90 % d’entre eux. ´
Un nouveau jeu de donnees non redondantes de r ´ ef´ erence – RB344 – est en cours ´
de construction 8
. Il contiendra comme son nom l’indique 344 chaˆınes d’acides amines´
et palliera en partie le manque de donnees. Qu’en serait-il si nous avions dispos ´ e´
8. http://www.pridb.gdcb.iastate.edu/download.php
83Chapitre 5. Discussion biologique
de ces complexes ? Avec davantage de donnees, il serait par exemple possible d’en- ´
visager une evaluation d’interactions non prises en compte dans le mod ´ ele pr ` esent ´ e,´
notamment les interactions avec le solvant explicite qui a et´ e trait ´ e lors du nettoyage ´
des donnees. ´
5.1.2 Influence du nettoyage des donnees ´
5.1.2.1 Valeurs manquantes
Le traitement des valeurs manquantes a ici eu pour but de minimiser l’impact
des parametres inconnus et de permettre d’utiliser des techniques pour lesquelles `
l’ensemble des descripteurs doivent etre renseign ˆ es. Dans les jeux de donn ´ ees de ´
ref ´ erence, certains acides nucl ´ eiques (resp. acides amin ´ es) sont peu pr ´ esents voire ´
inexistants en interaction avec des acides amines (resp. acides nucl ´ eiques). C’est no- ´
tamment le cas de la cysteine. Pour que le mod ´ ele de fonction de score soit complet, il `
necessite tout de m ´ eme un score associ ˆ e aux interactions rarement rencontr ´ ees. Pour ´
determiner cette valeur de score, nous utilisons une m ´ ethode statistique. Une premi ´ ere `
maniere de proc ` eder serait de prendre la valeur moyenne du score pour les autres ´
acides nucleiques ou acides amin ´ es. Ceci donnerait un poids identique ´ a chaque acide `
nucleique ou amin ´ e dans la valeur du score des interactions rares ou non rencontr ´ ees. ´
Or, plusieurs acides nucleiques ou amin ´ es diff ´ erent de mani ` ere importante des autres, `
que ce soit par leur taille ou par leur charge elev ´ ee. Nous avons donc choisi une sec- ´
onde methode : la valeur m ´ ediane. Pour minimiser l’impact de ces acides amin ´ es ou ´
nucleiques au comportement diff ´ erent, nous remplac¸ons la valeur de score des inter- ´
actions rarement rencontrees par la valeur m ´ ediane des acides nucl ´ eiques ou amin ´ es´
sur l’ensemble des structures natives. La mediane de chaque param ´ etre sur les struc- `
tures natives suffit pour attribuer une valeur a chacun des 210 param ` etres. Il s’ensuit `
que les interactions rares ou non rencontrees ont une estimation impr ´ ecise de la valeur ´
de leur score, mais qui correspond au comportement d’un acide amine ou nucl ´ eique ´
type dans une veritable interaction. ´
5.1.2.2 Acides amines et nucl ´ eiques non standards ´
Le traitement des valeurs issues des bases et residus non standards a un impact ´
sur les predictions issues du mod ´ ele. Pour d ` efinir les param ´ etres de la fonction de `
score gros-grain, les methodes utilis ´ ees mettent en œuvre des mesures statistiques ´
sur les jeux de donnees. Le principe est de faire l’hypoth ´ ese que toute nouvelle inter- `
action a pr ` edire se comportera localement pour un acide amin ´ e ou un acide nucl ´ eique ´
comme les interactions dej ´ a connues : `
– si un type d’acide amine se trouve souvent ´ a l’interaction dans les jeux de `
donnees de r ´ ef ´ erence, on aura tendance ´ a penser qu’il devrait g ` en´ eralement ´
etre ˆ a l’interaction ; `
– si un type d’atome ne se trouve quasiment jamais a moins d’une certaine dis- `
tance d’un autre type d’atome, on aura tendance a penser qu’il ne devrait pas se `
trouver plus pres d’un atome que cette distance. `
845.1. Limites inherentes ´ a la construction de fonctions de score obtenues par apprentissage `
De plus, il arrive que les proteines et ARN en interaction contiennent des acides ´
amines ou acides nucl ´ eiques non standards, g ´ en´ erant des param ´ etres qui leur sont `
specifiques. Or, ces acides nucl ´ eiques ou amin ´ es non standards sont rencontr ´ es trop ´
rarement pour modeliser correctement leur influence sur la fonction de score. Il faut ´
alors simplifier le modele et remplacer les acides amin ` es et acides nucl ´ eiques non ´
standards par la structure chimique standard leur etant la plus proche. ´
Cette simplification du modele a peu d’incidence sur la plupart des complexes `
proteine-ARN. Il existe cependant des cas o ´ u les acides amin ` es ou nucl ´ eiques non ´
standards jouent un role d ˆ eterminant dans l’interaction. C’est le cas de certains des ´
complexes mettant en jeu la reconnaissance specifique de ces acides amin ´ es ou ´
nucleiques non standards. Pour illustration, le complexe tRNA-pseudouridine avec la ´
tRNA-pseudouridine synthase necessite la reconnaissance sp ´ ecifique du codon de la ´
pseudouridine du tRNA par la tRNA synthase. Il existe plusieurs complexes de ce type,
avec differentes variantes de tRNA-pseudouridine synthase et diff ´ erents tRNA avec ´
lesquels ils doivent interagir. Pour tous ces complexes, la pseudouridine se trouve
clairement a l’interface. Mais la reconnaissance n’est pas garantie lorsque la pseu- `
douridine est remplacee par l’uridine. Commenc¸ons par un exemple o ´ u le mod ` ele de `
prediction admet la reconnaissance du tRNA par la tRNA-synthase m ´ eme lorsque la ˆ
pseudouridine est remplacee par l’uridine. Le complexe de code 1r3e existe chez la ´
bacterie ´ Thermotoga maritima [193]. Il represente l’interaction entre la tRNA-pseudo- ´
uridine synthase B et la tRNA-pseudouridine (voir fig. 5.1). Ici, l’interaction est correctement
predite par le mod ´ ele et l’on peut facilement observer un entonnoir dans le `
diagramme d’energie en fonction du I ´ RMSD (voir fig. 5.2). Mais il est un cas, illustre´
aussi par la PRIDB, ou l’interaction mettant en œuvre des acides nucl ` eiques non stan- ´
dards n’est pas correctement predite. Ce complexe, de code PDB 1asy, est pr ´ esent ´
chez Saccharomyces cerevisiae [218]. Il s’agit de la tRNA-aspartate synthase A en
interaction avec le tRNA-aspartate. Le tRNA-aspartate reconnu contient trois acides
nucleiques non standards en diff ´ erents points de l’interaction, dont la pseudouridine et ´
la methylguanosine. Notamment, la tRNA-aspartate synthase doit pouvoir diff ´ erencier ´
le tRNA-aspartate d’un autre tRNA (voir fig. 5.1). L’evaluation du mod ´ ele montre que `
des candidats avec une IRMSD > 5A sont pr ˚ esents dans le top10 des candidats en ´
energie (voir fig. 5.2). La d ´ etection d’entonnoir est aussi moins claire. ´ Etant donn ´ e´
le remplacement de la pseudouridine par l’uridine et de la methylguanosine par la ´
guanine, le modele propose donc des interactions diff ` erentes : la tRNA-aspartate syn- ´
thase ne doit pas etre en interaction avec un tRNA-aspartate dans lequel les acides ˆ
nucleiques non standards sont remplac ´ es par leur acide nucl ´ eique standard. ´
Certaines molecules biologiques sont aussi consid ´ er´ ees comme des h ´ et´ eroatomes ´
et sont retirees de la structure 3D. C’est notamment le cas des ATP, GTP et autres lig- ´
ands se liant aux complexes lors de mecanismes qui les mettent en jeu. C’est aussi le ´
cas par exemple de l’aspartyl-adenosine-monophosphate (AMP-ASP). Son implication ´
dans une interaction proteine-ARN est illustr ´ ee par le complexe de code 1c0a, pr ´ esent ´
dans Escherichia coli [75]. Ce complexe presente l’interaction de la tRNA-aspartate ´
synthase avec le tRNA-aspartate, mais avec la presence d’un AMP-ASP ´ a l’interaction `
(voir fig. 5.1). Le vide laisse par cet AMP-ASP n’emp ´ eche cependant pas la pr ˆ ediction ´
de l’interaction (voir fig. 5.2).
85Chapitre 5. Discussion biologique
a) b) c)
FIGURE 5.1 – Structure 3D de trois complexes proteine-ARN (la prot ´ eine en bleu ´
et l’ARN en orange), dans une etude de cas des acides amin ´ es et nucl ´ eiques non ´
standards, avec certains acides amines et nucl ´ eiques mis en ´ evidence (b ´ atonnets ˆ
verts, rouges et blancs) : a) Le tRNA-aspartate en interaction avec la tRNA-aspartate
synthase (code PDB 1c0a), ou l’interaction est mod ` elis ´ ee et pr ´ edite sans difficult ´ e.´
L’aspartyl-adenosine monophosphate est mise en ´ evidence ´ a l’interaction. b) Le tRNA- `
pseudouridine en interaction avec la tRNA-pseudouridine synthase (code PDB 1r3e),
ou l’interaction est aussi correctement pr ` edite. La pseudouridine est mise en ´ evidence ´
a l’interaction. c) Le tRNA-aspartate en interaction avec la tRNA-aspartate synthase `
de la levure (de code PDB 1asy), avec plusieurs acides nucleiques non standards ´
(PSU – la pseudouridine – et 1MG – la 1N-methylguanosine) remplac ´ es par les acides ´
nucleiques standards correspondants (respectivement l’uracile et la guanine). Cette in- ´
teraction est correctement predite, malgr ´ e quelques leurres avec des scores tr ´ es bas. `
5.1.2.3 Solvant et ions
Dans les etapes de nettoyage pr ´ esent ´ ees dans ce manuscrit, le solvant et les ions ´
sont retires des structures natives. Ce traitement du solvant et des ions permet de sim- ´
plifier le modele en retirant le solvant explicite et les ions de la mod ` elisation atomique. ´
En amarrage proteine-prot ´ eine, la communaut ´ e C´ APRI a mene des ´ evaluations de ´
la prediction de la position des mol ´ ecules du solvant et certains algorithmes d’amar- ´
rage ont montre de bonnes performances dans l’affinement de la position des mol ´ ecu- ´
les d’eau [68]. Cet affinement des positions des molecules d’eau a m ´ eme permis de ˆ
mieux modeliser l’interaction entre les deux partenaires. ´
Dans RosettaDock, les molecules d’eau ne sont pas prises en compte. Elles sont ´
865.1. Limites inherentes ´ a la construction de fonctions de score obtenues par apprentissage `
1c0a (ES = 5.89)
Irmsd (Å)
Score
0 20
−194 −162
0 20
1r3e (ES = 6.89)
Irmsd (Å)
Score
0 20
−18
3
0 20
0
1asy (ES = 3.69)
Irmsd (Å)
Score
0 20
176 223
0 20
FIGURE 5.2 – Diagramme d’energie en fonction du I ´ RMSD (EvsRMS) pour les trois
complexes de la PRIDB utilises dans l’ ´ etude de cas des partenaires. Pour 1c0a et 1r3e, ´
la prediction de l’interaction est un succ ´ es. Pour 1asy, des am ` eliorations sont encore ´
possibles.
tout simplement ignorees ´ a la lecture du fichier de structure, de m ` eme que les ions. ˆ
Si l’on devait modeliser l’interaction avec le solvant, il faudrait d ´ eterminer les in- ´
teractions possibles entre chacun des partenaires et chaque molecule d’eau pouvant ´
potentiellement s’incorporer a l’interface. En effet, les mol ` ecules d’eau sont des dip ´ oles ˆ
et peuvent avoir une interaction du cotˆ e des hydrog ´ enes comme du c ` otˆ e de l’oxyg ´ ene. `
D’une part, modeliser cette interaction revient ´ a traiter un cas plus complexe que le `
cas de l’interaction binaire. D’autre part, cette energie est d ´ ej ´ a partiellement prise en `
compte dans le terme de solvatation, qui calcule l’accessibilite au solvant : le solvant ´
est modelis ´ e implicitement [76, 144]. Mais la stabilit ´ e conf ´ er´ ee par l’interaction indi- ´
recte des deux partenaires par le biais de molecules d’eau n’est pas enti ´ erement prise `
en compte. C’est par exemple le cas du complexe impliquant la proteine ´ LA en interaction
avec la queue 3’ terminale UUU de certains ARN lorsqu’ils sont nouvellement
transcrits. C’est le complexe de code PDB 2voo pour la proteine humaine, avec pour ´
role la protection de la queue 3’terminale UUU avec laquelle la prot ˆ eine est en in- ´
teraction [139]. Dans ce complexe, l’interaction entre les deux partenaires implique de
nombreuses molecules d’eau ´ a l’interface, par comparaison avec la taille de l’ARN (voir `
fig. 5.3). L’evaluation du mod ´ ele par l’EvsRMSD montre que la plupart des candidats `
de plus basse energie s’ ´ eloignent de 3 ´ a 4 ` A en I ˚ RMSD de la structure native (voir fig.
5.4. La difference est suffisante pour montrer qu’une mod ´ elisation plus fine de l’inter- ´
action avec les molecules d’eau est n ´ ecessaire, au moins pour les complexes dot ´ es´
d’un partenaire de petite taille.
Un autre exemple de l’interaction avec le solvant peut etre observ ˆ e avec le com- ´
plexe de code PDB 2jlv du virus de la Dengue [169]. Dans ce complexe, la sousunite
NS3 de la s ´ erine prot ´ ease du virus de la Dengue est en interaction avec un petit ´
ARN simple brin. De nombreuses molecules de solvant peuvent ´ etre observ ˆ ees en- ´
tre la sous-unite NS3 et l’ARN, allant jusqu’ ´ a quasiment entourer l’ARN (voir fig. 5.3). `
Comme on peut le voir dans le diagramme EvsRMS, l’interaction de 2jlv n’est pas
87Chapitre 5. Discussion biologique
predite correctement par la fonction de score (voir fig. 5.4). ´
Le cas des ions est illustre par le complexe de code PDB 1jbs d’ ´ Aspergillus restrictus
[263]. La restrictocine d’Aspergillus restrictus est en interaction avec un ARN
analogue de la boucle du domaine sarcine-ricine de l’ARN 28S. Des ions potassium
se trouvent en interaction avec l’ARN et l’un d’entre separe m ´ eme l’ARN de la prot ˆ eine ´
(voir fig. 5.3). La fonction de score a du mal a pr ` edire avec exactitude l’interaction entre ´
la restrictocine et cet analogue de la boucle du domaine sarcine-ricine (voir fig. 5.4).
a) b) c)
FIGURE 5.3 – Structure 3D de trois complexes proteine-ARN (la prot ´ eine en bleu et ´
l’ARN en orange), dans une etude de cas du solvant (sph ´ eres rouge) et des ions `
(spheres violettes) : a) La prot ` eine ´ LA en interaction avec la queue 3’ terminale UUU
d’un ARN nouvellement transcrit (code PDB 2voo), avec quatre molecules d’eau as- ´
surant l’interaction entre les deux partenaires. Cette interaction est tout de meme cor- ˆ
rectement predite par la fonction de score. b) La sous-unit ´ e NS3 de la s ´ erine prot ´ ease ´
du virus de la dengue en interaction avec un petit ARN simple brin (code PDB 2jlv), ou`
l’interaction n’est pas predite correctement. De nombreuses mol ´ ecules de solvant sont ´
mises en evidence ´ a l’interface entre les deux partenaires. c) La restrictocine en inter- `
action avec un ARN analogue de la boucle du domaine sarcine-ricine de l’ARN 28S
(code PDB 1jbs), ou l’on peut voir un ion potassium log ` e entre la prot ´ eine et l’ARN. ´
Cette interaction n’est pas correctement predite par la fonction de score. ´
5.1.3 Influence du choix de la methode d’ ´ evaluation ´
Le leave-”one-pdb”-out peut etre vu comme une ˆ k-validation croisee avec ´ k egal ´
au nombre de structures natives et ou les exemples sont r ` epartis en une strate par ´
885.1. Limites inherentes ´ a la construction de fonctions de score obtenues par apprentissage `
2voo (ES = 1.69)
Irmsd (Å)
Score
0 20
−9 −5
0 20
2jlv (ES = 0.74)
Irmsd (Å)
Score
0 20
−142 −108
0 20
1jbs (ES = 0.79)
Irmsd (Å)
Score
0 20
−22 −12
0 20
FIGURE 5.4 – Diagramme d’energie en fonction du I ´ RMSD (EvsRMS) pour les trois
complexes de la PRIDB utilises dans l’ ´ etude de cas du solvant et des ions. Pour 2voo ´
et 2jlv, la prediction de l’interaction est un succ ´ es. Pour 1jbs, des am ` eliorations sont ´
encore possibles.
structure native. Chaque strate contient alors les exemples issus de la gen´ eration de ´
candidats par perturbation a partir d’une structure native donn ` ee. ´
Le leave-”one-pdb”-out est une methode permettant de se mettre en situation d’- ´
exploitation avec des donnees d’apprentissage. Plut ´ ot que d’ ˆ etre dans le cas o ˆ u l’on `
connaˆıt 120 structures natives, on considere ne conna ` ˆıtre que 119 structures natives.
On rencontre alors une structure native supplementaire et l’on ´ evalue la performance ´
de la fonction de score apprise sur cette structure native.
Comme il faut apprendre une fonction de score par strate, les calculs pour l’evaluation ´
des donnees sont plus co ´ uteux. Ainsi, cette m ˆ ethode d’ ´ evaluation est non seulement ´
pref ´ erable pour utiliser un maximum de donn ´ ees en apprentissage, mais son co ´ utˆ
evolue aussi en ´ n
2 ou` n est le nombre de complexes proteine-ARN du jeu de donn ´ ees. ´
Ces deux constats rendent le leave-”one-pdb”-out pref´ erable ´ a utiliser sur des jeux de `
donnees de petite taille. ´
Les analyses des resultats sont plus complexes, puisque l’on ne se retrouve plus ´
avec l’evaluation d’une seule fonction de score mais avec l’ ´ evaluation de 120 fonctions ´
de score. Il faut s’assurer que les fonctions de score sont toujours comparables et
verifier ´ a quel point les diff ` erentes mesures peuvent se comparer entre elles. La ROC- ´
AUC est pour cela une bonne mesure de la performance d’une fonction de score. Pour
illustration, le score d’enrichissement a 10 % ne donne pas de r ` esultats satisfaisants, ´
meme pour des complexes avec lesquels le diagramme d’EvsIrmsd permet de d ˆ etecter ´
un entonnoir. Il s’agit gen´ eralement de complexes pour lesquels il y a peu de leurres. ´
C’est notamment le cas pour 1av6, 1gtf et 1vfg (voir fig. 5.5). Toutefois, les fonctions
de score apprennent a discerner avec un seul en I ` RMSD < 5A un exemple des autres ˚
exemples, alors que le score d’enrichissement a 10 % s ` epare les exemples selon un ´
seuil dependant de la distribution en I ´ RMSD des exemples.
89Chapitre 5. Discussion biologique
1av6 (ES = 1.53)
Irmsd (Å)
Score
0 20
−4
6
0 20
1gtf (ES = 1.61)
Irmsd (Å)
Score
0 20
−35 −20
0 20
1vfg (ES = 0.32)
Irmsd (Å)
Score
0 20
58 68
0 20
FIGURE 5.5 – Diagramme d’energie en fonction du I ´ RMSD (EvsRMS) pour trois complexes
de la PRIDB pour lesquels on peut observer un faible score d’enrichissement,
malgre la d ´ etection d’un entonnoir. Il y a peu de leurres pour ces trois complexes, ´
compares aux autres complexes. ´
5.2 Flexibilite´ a l’interaction `
Les molecules biologiques adoptent ´ in vivo une conformation biologiquement active.
C’est cette structure 3D qui est recherchee dans les exp ´ eriences de repliement ´
et qui est utilisee par l’amarrage pour pr ´ edire la structure de l’interaction. Mais il ar- ´
rive que les structures des proteines et des ARN se d ´ eforment ´ a l’interaction. On parle `
alors de flexibilite. ´
C’est un concept qui a necessit ´ e de diff ´ erencier l’amarrage partant des structures ´
liees de l’amarrage partant des structures non li ´ ees. En effet, la pr ´ ediction de l’inter- ´
action est plus difficile avec des structures non liees qu’avec des structures li ´ ees. La ´
prediction est d’autant plus difficile que la d ´ eformation de la structure de l’un ou l’autre ´
des deux partenaires est grande a l’interface. Certaines grandes d ` eformations sont ´
modelisables lorsqu’elles mettent en jeu, notamment pour les prot ´ eines, des acides ´
amines se situant dans des boucles. ´
Il arrive aussi qu’un ARN en interaction avec une proteine ne soit compos ´ e que ´
de quelques acides nucleiques. Dans ce genre de cas, la d ´ etermination du repliement ´
de l’ARN doit se faire a la vol ` ee, directement ´ a l’interface avec la prot ` eine. Si ces ´
calculs peuvent etre co ˆ uteux pour des ARN de plusieurs dizaines ou centaines d’acides ˆ
nucleiques, ils sont n ´ ecessaires pour les plus petits ARN. ´
Pour les proteines dans RosettaDock, la flexibilit ´ e´ a l’interaction est mod ` elis ´ ee´
grace ˆ a deux m ` ecanismes : ´
– la reconstruction des chaˆınes laterales des acides amin ´ es en interaction avec ´
des acides amines du partenaire ; ´
– la reconstruction du squelette des boucles en interaction avec des acides amines´
du partenaire.
Pour les chaˆınes laterales, un ´ echantillonnage des diff ´ erents rotam ´ eres possibles `
est teste en ´ evaluant le score que chaque rotam ´ ere test ` e obtiendrait s’il remplac¸ait la ´
905.3. Limites du protocole de gen´ eration des candidats ´
chaˆıne laterale existante. Un algorithme de Monte-Carlo est utilis ´ e pour choisir quel ´
rotamere doit remplacer la cha ` ˆıne laterale existante. ´
Pour les boucles, un algorithme de reconstruction de boucle est utilise : ´ Cyclic Coordinate
Descent (CCD, [33]). La boucle a reconstruire est d’abord rompue pour perme- `
ttre un mouvement plus libre de ses acides amines. Puis, le squelette de chaque acide ´
amine est repositionn ´ e sans prendre en consid ´ eration sa cha ´ ˆıne laterale. Les cha ´ ˆınes
laterales sont enfin reposition ´ ees et, si elles sont en interaction avec des acides amin ´ es´
du partenaire, sont reconstruites par echantillonnage des rotam ´ eres possibles, comme `
decrit au paragraphe pr ´ ec´ edent. L’algorithme CCD est utilis ´ e pour refermer la boucle. ´
L’alliance de ces deux mecanismes de reconstruction de cha ´ ˆınes laterales et de ´
boucles permet de modeliser une part importante de la flexibilit ´ e des prot ´ eines. Ces ´
mecanismes ont toutefois un co ´ ut, qui est contr ˆ ol ˆ e en ne recherchant pas de mani ´ ere `
exhaustive les meilleurs rotameres et squelettes de boucle. En effet, pour l’un comme `
pour l’autre des mecanismes, le meilleur choix, qu’il s’agisse du rotam ´ ere ou du squelette, `
depend des autres choix ´ a effectuer pour les rotam ` eres ou squelettes. Une recherche `
exhaustive impliquerait un calcul combinatoire couteux. Une heuristique est donc utilis ˆ ee. ´
Evidemment, adapter ces deux m ´ ecanismes de reconstruction au cas de l’ARN sig- ´
nifie disposer de donnees cons ´ equentes sur la flexibilit ´ e des ARN. D’une part, nous de- ´
vons disposer d’une base de donnees de rotam ´ eres pour les ARN. Il se trouve qu’une `
base de donnees de rotam ´ eres d’ARN est disponible dans les fichiers de RosettaDock. `
Cependant, nous avons pu voir en section 3.2.1 du chapitre 3 que la base de donnees ´
de rotameres des prot ` eines n’ ´ etait peut- ´ etre pas adapt ˆ ee aux interactions prot ´ eine- ´
ARN. Il n’y a donc aucune raison pour que la base de donnees de rotam ´ eres ARN `
convienne a la pr ` ediction d’interactions prot ´ eine-ARN. Cela signifie qu’il faudrait aussi ´
adapter les rotameres ARN aux interactions prot ` eine-ARN. D’autre part, la reconstruc- ´
tion des boucles a et ´ e´ evalu ´ ee pour les acides amin ´ es. Elle n ´ ecessite une fonction de ´
score dedi ´ ee pour ´ evaluer le meilleur squelette de chaque acide amin ´ e. Il faudrait donc ´
aussi adapter cette fonction de score aux interactions proteine-ARN. ´
5.3 Limites du protocole de gen´ eration des candidats ´
Le tri des candidats d’une interaction entre macromolecules biologiques implique ´
d’avoir au prealable un ensemble de candidats g ´ en´ er´ e. Cet ensemble de candidats ´
a un impact direct sur les performances du tri. Comme on a pu le voir en section
2.4.4 du chapitre 2, un ensemble de candidats judicieusement filtre permet d’accro ´ ˆıtre
considerablement les performances d’une fonction de score. Ainsi, la g ´ en´ eration des ´
candidats doit suivre certains objectifs.
Le premier objectif de la gen´ eration des candidats est d’offrir un panel suffisamment ´
large et representatif de candidats pouvant raisonnablement ´ etre consid ˆ er´ es comme ´
des candidats de l’interaction : les candidats avec deux partenaires trop eloign ´ es pour ´
interagir ou avec trop d’interpen´ etration pour repr ´ esenter une interaction biologique ´
sont des leurres evidents. Cet objectif a cependant des implications s’il est rempli. Nous ´
pouvons par exemple observer pour certains des 120 complexes de la PRIDB que les
91Chapitre 5. Discussion biologique
candidats gen´ er´ es sont pour plus de 99.9 % d’entre eux r ´ epartis de part et d’autre d’un ´
intervalle de plus de 1A (voir fig. 5.6). Cet ˚ etat de fait a deux cons ´ equences. ´
1n35 (ES = 7.27)
Irmsd (Å)
Score
0 20
−28 −20
0 20
1tfw (ES = 4.38)
Irmsd (Å)
Score
0 20
−63 −49
0 20
2nug (ES = 6.56)
Irmsd (Å)
Score
0 20
−67 −42
0 20
FIGURE 5.6 – Diagramme d’energie en fonction du I ´ RMSD (EvsRMS) pour trois complexes
de la PRIDB pour lesquels on peut observer moins de 10 candidats sur un
intervalle de plus de 1 A, avec le reste des candidats se r ˚ epartissant de part et d’autre ´
de cet intervalle. Ce manque de donnees est li ´ e´ a une barri ` ere ` energ ´ etique ´ elev ´ ee´
entre les conformations des presque-natifs et celles des leurres.
Tout d’abord, la quasi-absence de candidats dans cet intervalle de IRMSD empeche ˆ
d’affirmer que, pour ces complexes, il est possible d’affiner une structure proche du
natif. Pour tous les autres complexes ou un entonnoir est d ` etect ´ e, nous pouvons ´
aisement confirmer que l’affinement de structure est possible. Mais pour ces com- ´
plexes, comme nous ne disposons pas des candidats dans cet intervalle de IRMSD,
nous ne pouvons pas affirmer qu’il n’y aura pas dans cet intervalle un saut en energie ´
empechant la formation d’un entonnoir. D’ailleurs, il y a toutes les chances que des ˆ
candidats gen´ er´ es dans cet intervalle de I ´ RMSD et qui ont et´ e rejet ´ es lors de la g ´ en´ eration ´
des candidats aient eu une energie ´ elev ´ ee, notamment due ´ a une tr ` es forte contribution `
du terme de score fa rep.
Ensuite, il existe une barriere ` energ ´ etique plus importante pour ces trois complexes ´
que pour les autres entre les conformations des presque-natifs et celles des leurres.
Cette barriere ` energ ´ etique est principalement due ´ a l’interp ` en´ etration trop importante ´
entre les deux partenaires, pour les candidats proches des presque-natifs gen´ er´ es. Il ´
s’agit d’ailleurs essentiellement de complexes pour lesquels l’agencement des partenaires
en interaction clef-serrure est particulierement marqu ` ee (voir fig. 5.7). ´
Cette distribution est liee au protocole de g ´ en´ eration des candidats par perturbation ´
en corps rigides. Lorsque les molecules sont emboit ´ ees, il n’est pas possible d’obtenir ´
un continuum de structures proches et donc un saut apparaˆıt. La fonction de score
obtenue pourrait donc avoir de mediocres performances lors de l’ ´ evaluation de ce type ´
d’interface par une approche semi-flexible.
925.3. Limites du protocole de gen´ eration des candidats ´
FIGURE 5.7 – Structure 3D d’une interaction de type clef-serrure. On peut voir que la
proteine (en bleu) et l’ARN (en orange) s’embo ´ ˆıtent comme le feraient une clef et une
serrure.
93Chapitre 5. Discussion biologique
94Chapitre 6
Conclusion et perspectives
6.1 Integration de connaissances ´ a priori de contextes
proches
L’amarrage proteine-prot ´ eine nous a appris de nombreuses connaissances tou- ´
jours valables en amarrage proteine-ARN : g ´ en´ eration de donn ´ ees ´ a partir d’un jeu de `
donnees de r ´ ef ´ erence, termes de score physico-chimiques, contraintes appliqu ´ ees sur ´
les intervalles de valeurs des poids a apprendre, ` etc. Tout d’abord, nous avons montre´
que les termes de score physico-chimiques, qui ont fait leur preuve en amarrage
proteine-prot ´ eine, permettent de capturer des informations d ´ ecisives dans la pr ´ ediction ´
des interactions proteine-ARN. Nous avons montr ´ e comment l’apprentissage d’une ´
fonction de score formee d’une combinaison lin ´ eaire des param ´ etres physico-chimiques `
et apprise grace ˆ a des donn ` ees de r ´ ef´ erence nettoy ´ ees permet d’atteindre l’objectif ´
fixe. Cet objectif est d ´ efini d’apr ´ es les attentes de la communaut ` e internationale de ´
l’amarrage de macromolecules biologiques, ´ a savoir pr ` edire correctement au moins ´
une structure candidate parmi les 10 meilleures proposees pour chaque interaction. ´
Nous avons pu atteindre cet objectif pour 117 des 120 complexes utilises pour l’ap- ´
prentissage de la fonction de score atomique avec ROGER. De plus, pour plus de 90 %
des complexes, cette fonction de score montre des capacites´ a affiner une structure `
candidate suffisamment proche de la solution, meme ˆ a 8 ` A en I ˚ RMSD de la solution.
Nous avons aussi montre que cet objectif n’aurait pas ´ et´ e atteint sans l’aide de con- ´
traintes appliquees sur les intervalles de valeurs des poids ´ a apprendre pour la fonction `
de score. Mais il reste des interactions proteine-ARN pour lesquelles les termes de ´
score physico-chimiques sont encore inefficaces, notamment pour ce qui est d’affiner
une structure candidate. D’autre part, l’utilisation de ce protocole atomique necessite ´
d’avoir une idee de l’ ´ epitope pour ne pas avoir ´ a g ` en´ erer des millions de candidats. ´
Nous avons egalement ´ evalu ´ e l’utilisation de donn ´ ees telles que des informations ´
supplementaires sur le type d’ARN de chacun des complexes prot ´ eine-ARN dont l’in- ´
teraction est a pr ` edire. Nous avons propos ´ e l’apprentissage d’une fonction de score ´
dedi ´ ee´ a chaque cat ` egorie d’ARN parmi trois (ARN simple brin, ARN double brin et ´
ARN de tranfert). Les trois fonctions de score gen´ er´ ees ne montrent cependant pas ´
d’amelioration des performances. Il reste encore ´ a tester l’utilisation d’informations `
95Chapitre 6. Conclusion et perspectives
supplementaires sur les cat ´ egories de prot ´ eines. ´
6.2 Extraction des donnees et complexit ´ es des mod ´ eles `
La modelisation de fonctions de score plus complexes qu’une combinaison lin ´ eaire ´
des termes de score physico-chimiques n’a pas permis d’obtenir davantage d’informations
sur la prediction d’interactions prot ´ eine-ARN. De nombreux mod ´ eles classiques `
ont et ´ e´ etudi ´ es et il est probable qu’une ´ etude plus approfondie soit n ´ ecessaire pour ´
tirer davantage parti des informations obtenues grace aux termes de score physico- ˆ
chimiques : apprentissage d’un modele bas ` e uniquement sur un sous-ensemble des ´
parametres, apprentissage d’une variable estim ` ee comme l’I ´ RMSD plutot qu’une clas- ˆ
sification binaire, etc. Des modeles non lin ` eaires tels que des fonctions de score ´
avec valeurs de centrage ou l’utilisation de metaclassifieurs n’a pas non plus ap- ´
porte de gain de performance. Cependant, il reste possible que les termes de score ´
physico-chimiques aient dej ´ a fourni tout ce qu’on peut en extraire sur l’interaction. `
Pour ameliorer la pr ´ ediction, il faudrait alors repenser la mod ´ elisation de certains des ´
termes de score physico-chimiques en fonction des differents facteurs d’interaction, ´
pour les adapter aux interactions proteine-ARN. Il n’y a par exemple aucune certi- ´
tude quant au fait que les criteres de d ` ecision soient les m ´ emes pour les interactions ˆ
proteine-prot ´ eine et prot ´ eine-ARN entre absence d’interaction (quand les partenaires ´
sont trop eloign ´ es), pr ´ esence d’interaction (quand les partenaires sont juste ´ a port ` ee) ´
et interpen´ etration (quand les partenaires sont trop proches l’un de l’autre). L’une des ´
ameliorations des termes de score physico-chimiques pourrait donc consister ´ a recali- `
brer les parametres propres ` a la d ` efinition de l’interaction et de l’interp ´ en´ etration pour ´
les interactions proteine-ARN. ´
Il est cependant concevable d’utiliser des fonctions de score a posteriori sur un
ensemble plus restreint de candidats, notamment le top10 ou le top100 des candidats
du protocole atomique. En ne triant que les meilleurs candidats, il devient possible pour
les fonctions de score a posteriori de se focaliser sur la discrimination des presquenatifs
au sein des candidats les plus proches d’une interaction biologique. On pourrait
par exemple attendre des fonctions de score a posteriori qu’elles assurent que les
presque-natifs du top10 d’un complexe aient plus de chances de se trouver parmi
les premiers candidats du top10. Il serait aussi envisageable d’explorer l’hypothese `
selon laquelle ces ces fonctions de score tenteraient de retrouver les presque-natifs
du top100 et absents du top10 pour les ramener dans le top10.
L’etude ´ a posteriori, en n’ameliorant pas la pr ´ ediction apport ´ ee par la combinai- ´
son lineaire, nous montre l’importance d’une m ´ ethode d’apprentissage adapt ´ ee´ a la `
problematique pos ´ ee. De plus, nous avons d ´ efini comme objectif pour l’apprentis- ´
sage par ROGER la maximisation de l’aire sous la courbe ROC. Or, notre objectif
veritable n’est pas de maximiser l’aire sous la courbe ROC, mais de maximiser le ´
nombre de presque-natifs dans les 10 premiers candidats du tri. Et pourtant, malgre´
cette difference entre l’objectif appris et l’objectif v ´ eritable ´ a atteindre, cet objectif `
veritable est rempli. En effet, ne pas utiliser l’objectif r ´ eel comme objectif appris est ´
un choix permettant de verifier si l’apprentissage a su retrouver les informations es- ´
966.3. Predictions multi- ´ echelle ´
sentielles pour caracteriser les interactions. Plus que cela, les candidats de l’appren- ´
tissage etaient seulement ´ etiquet ´ es presque-natifs et leurres, ramenant l’information ´
numerique prodigu ´ ee par le I ´ RMSD a une valeur binaire. Rien n’attestait qu’un appren- `
tissage reussi permettrait d’obtenir une fonction quasi-croissante du score en fonction ´
du IRMSD. Ceci montre bien que le modele de fonction de score form ` e d’une com- ´
binaison lineaire des param ´ etres physico-chimiques a v ` eritablement pu retrouver les ´
informations determinantes pour pr ´ edire l’interaction prot ´ eine-ARN. ´
Nous avons vu par ailleurs que l’apprentissage de fonctions de score a posteriori
a confirme l’importance de certains termes de score dans la description des interac- ´
tions proteine-ARN et en a r ´ ev´ el ´ e de nouveaux. En comparaison avec les interactions ´
proteine-prot ´ eine, le facteur le plus important est sans doute le terme de score des ´
forces electrostatiques. Avec une telle importance de ce facteur, une mod ´ elisation plus ´
fine des interactions electrostatiques devrait permettre de mieux mod ´ eliser l’interac- ´
tion.
6.3 Predictions multi- ´ echelle ´
Nous avons pu montrer qu’une adaptation judicieuse des recentes m ´ ethodes d’a- ´
marrage proteine-prot ´ eine permet de correctement pr ´ edire les interactions prot ´ eine- ´
ARN. La mise a contribution de termes de score g ` eom ´ etriques montre que d’autres ´
voies que celles sugger´ ees par les connaissances issues des scores physico-chimiques ´
peuvent mener a la pr ` ediction des interactions prot ´ eine-ARN. Cette vision de l’interac- ´
tion permet notamment de s’abstraire des seuils de distance utilises pour d ´ efinir si deux ´
atomes sont en interaction. Nous avons aussi pu voir que c’est une modelisation qui ´
prend mieux en compte, directement dans la representation g ´ eom ´ etrique, la flexibilit ´ e´
de l’ARN, plus accentuee que celle des prot ´ eines. ´
L’apprentissage de la fonction de score gros-grain a necessit ´ e, pour am ´ eliorer ´
les performances, de ne pas contraindre l’intervalle de valeurs des poids a appren- `
dre. Simplement contraindre l’apprentissage a l’intervalle de valeurs positif a en effet `
montre des performances d ´ egrad ´ ees. Cependant, apr ´ es une analyse d ` etaill ´ ee des ´
valeurs des parametres sur les structures natives, il peut para ` ˆıtre opportun d’imposer
des intervalles de valeurs differents pour chacun des poids, en fonction de leur nature. ´
Exactement comme pour les termes de score physico-chimiques, qui ont des valeurs
negatives lorsqu’elles favorisent l’interaction et positives lorsqu’elles la p ´ enalisent, ´
nous pourrions donner un poids negatif aux termes de score privil ´ egiant l’interaction et ´
positif aux termes de score la defavorisant. Cette modification du mod ´ ele de fonction `
de score gros-grain VOR pourrait certainement donner lieu a une am ` elioration de ses ´
performances.
La modelisation et l’ ´ evaluation du protocole gros-grain nous a permis de mettre ´
en lumiere des connaissances nouvelles sur les interactions prot ` eine-ARN. Contraire- ´
ment aux interactions proteine-prot ´ eine, qui favorisent les acides amin ´ es hydrophobes ´
a l’interaction, ce sont les acides amin ` es hydrophiles qui sont pr ´ ef´ erentiellement en ´
interaction avec les acides amines. Nous avons aussi pu voir que, des quatre acides ´
nucleiques, c’est l’uracile qui est majoritairement pr ´ esent ´ a l’interaction. Le volume `
97Chapitre 6. Conclusion et perspectives
median des cellules de Vorono ´ ¨ı des acides amines et nucl ´ eiques a aussi permis de ´
retrouver un ordonnancement des acides amines, d’une part, et des acides nucl ´ eiques, ´
d’autre part, en fonction de leur taille (leur encombrement sterique). Les param ´ etres `
associes au volume m ´ edian permettent de mesurer l’empilement st ´ erique. ´
Nous avons enfin pu voir que l’apprentissage multi-echelle repose essentiellement ´
sur le changement de point de vue sur l’objet a apprendre et sur le changement `
d’objectif. Du point de vue de l’apprentissage, changer de point de vue correspond
a changer les attributs utilis ` es, ici des termes de score. S’aider d’attributs de natures ´
differentes pour la pr ´ ediction – ici physico-chimiques et g ´ eom ´ etriques – permet de cap- ´
turer des informations sinon difficilement accessibles, potentiellement plus adaptees ´
au probleme pos ` e pour chacune des ´ echelles. Changer d’objectif pourrait revenir ´ a`
changer la fonction objectif de l’apprentissage, qui a et´ e l’aire sour la courbe ROC ´
chaque fois que nous avons appris une fonction de score a l’aide de R ` OGER. Se pose
alors la question de savoir si changer la fonction objectif utilisee pour l’apprentissage ´
permettrait d’ameliorer les performances de la fonction de score gros-grain. En effet, il ´
suffit qu’un seul presque-natif soit de rang le plus petit pour que la fonction de score
gros-grain .
Toutefois, il reste encore des voies a explorer. Le protocole propos ` e et ´ evalu ´ e dans ´
ce manuscrit est decompos ´ e en deux ´ etapes : amarrage gros-grain, puis amarrage ´
atomique. Il est toujours possible d’etudier des protocoles plus sophistiqu ´ es d’amar- ´
rage, qui permettront de traquer des epitopes potentiels, ´ a une ` echelle gros-grain, de ´
les explorer a une ` echelle atomique et de revenir ´ a l’ ` echelle gros-grain si les candidats ´
gen´ er´ es ne sont pas satisfaisants. Cet aller-retour entre amarrage gros-grain et amar- ´
rage atomique tire parti des deux perspectives et necessite d’ ´ etudier le meilleur moyen ´
de les faire communiquer dans trois buts :
– minimiser le nombre d’amarrages atomiques explores ; ´
– maximiser les chances de reperer l’ ´ epitope ; ´
– maximiser les chances de trouver un presque-natif une fois l’epitope rep ´ er´ e.´
Si l’on parametre les amarrages gros-grain et atomiques pour qu’ils prennent cha- `
cun approximativement le meme temps d’ex ˆ ecution, chaque erreur de l’amarrage ´
gros-grain conduisant a un amarrage atomique inutile augmente consid ` erablement ´
les temps de calcul necessaires avant de trouver la solution. D’un autre c ´ otˆ e, si l’amar- ´
rage gros-grain ou l’amarrage atomique manquent l’interaction a son ` echelle, c’est tout ´
le protocole d’amarrage qui est compromis. Un tel protocole pourrait ben´ eficier d’une ´
fonction de score permettant de definir s’il y a ou non interaction. Jusqu’ ´ a maintenant, `
les fonctions de score definies ici se contentent de trier les candidats et de proposer les ´
meilleurs d’entre eux pour representer l’interaction, m ´ eme si l’ensemble des candidats ˆ
utilises dans le tri sont des leurres ´ evidents. Or, pour juger que les candidats propos ´ es´
par un amarrage atomique sont insatisfaisants et ainsi remettre en cause une solution
proposee par l’amarrage gros-grain, il est n ´ ecessaire de pouvoir rejeter un candidat ´
juge trop ´ eloign ´ e de ce que devrait ´ etre une interaction prot ˆ eine-ARN. Cela fait appel ´ a`
une notion de seuil allant au-dela de l’approche par tri adopt ` ee dans ce manuscrit. La ´
fonction de tri, associee au seuil du top10 des candidats, ne fait que s ´ electionner 10 ´
candidats parmi les 10 000 gen´ er´ es et les propose dans un certain ordre. Cette fonc- ´
tion de tri n’a actuellement aucun moyen de reperer que l’un des candidats propos ´ es´
986.3. Predictions multi- ´ echelle ´
ne devrait pas faire partie de la liste de 10 candidats. C’est donc une autre approche
a mettre en œuvre, pouvant par exemple ` evaluer le nombre de leurres en queue de ´
distribution d’un tri pour s’assurer de pouvoir rejeter les candidats etant des leurres. ´
Mais ce n’est pas suffisant. Pour obtenir un seuil fixe et universel pour l’ensemble des
complexes proteine-ARN, il faudrait mod ´ eliser une fonction de score dont l’amplitude ´
du score ne depend pas de la taille du complexe (en nombre d’atomes). En effet, le ´
score obtenu avec les fonctions de score present ´ ees dans ce manuscrit, utilis ´ ees dans ´
RosettaDock et dans plusieurs autres algorithmes d’amarrage, est calcule en faisant ´
une somme sur l’ensemble des atomes ou acides amines et nucl ´ eiques. Un complexe ´
de tres petite taille aura donc de grandes chances d’avoir un score de faible amplitude `
alors qu’un complexe de grande taille aura de grandes chances d’avoir un score de
forte amplitude. Avec de tels ecarts entre les scores, il est impossible de fixer un seuil ´
pour l’ensemble des complexes proteine-ARN qui permette de d ´ eterminer ´ a partir de `
quand un candidat dote de ce score est n ´ ecessairement un presque-natif ou un leurre. ´
Il est donc necessaire, pour traiter du probl ´ eme de variabilit ` e du seuil, de traiter du ´
probleme de la variabilit ` e de taille des objets ´ etudi ´ es et de son impact sur le score. La ´
fonction de score gros-grain resoud en partie ce probl ´ eme, en proposant quatre types `
de parametres ind ` ependants de la taille du complexe (proportions et volumes m ´ edians ´
des acides amines et nucl ´ eiques ´ a l’interface, proportions et distances m ` edianes des ´
paires d’acides amines et nucl ´ eiques ´ a l’interface) et deux types de param ` etres qui en `
dependent (nombre d’acides amin ´ es et nucl ´ eiques ´ a l’interface). Pour cette fonction de `
score, il serait possible de se soustraire totalement de la taille du complexe en modifiant
ces deux derniers types de parametres en mesurant par exemple ` a la place le `
pourcentage d’acides amines et nucl ´ eiques ´ a l’interface et la surface m ` ediane d’une ´
facette de l’interface. Il est aussi envisageable d’etudier, en fonction de la taille des ´
complexes proteine-ARN, l’ ´ evolution du nombre d’acides amin ´ es et nucl ´ eiques ´ a l’in- `
terface, pour se faire une idee de leur courbe d’ ´ evolution l’un par rapport ´ a l’autre. Cette `
courbe n’est pas necessairement lin ´ eaire et pourrait conduire ´ a dresser des cat ` egories ´
de complexes en fonction de leur taille.
Plus qu’un protocole multi-echelle de pr ´ ediction d’interactions prot ´ eine-ARN, c’est ´
une approche que nous avons conc¸ue de sorte qu’elle est adaptable : d’autres protocoles
d’amarrage peuvent voir le jour en adaptant cette approche a d’autres algo- `
rithmes de gen´ eration de candidats et d’autres termes de score. Et plus g ´ en´ eralement, ´
la mise au point d’une methodologie telle que le ´ leave-”one-pdb”-out peut parfaitement
etre r ˆ eutilis ´ ee dans d’autes contextes informatiques. Le cadre le plus adapt ´ e au ´
leave-”one-pdb”-out est certainement la faible quantite d’instances positives connues, ´
couteuses ou rares ˆ a obtenir, pour lesquelles on souhaite apprendre, ` etant donn ´ e un ´
ensemble de parametres connus sur ces instances positives, ` a les retrouver. Il peut `
s’agir d’apprendre a les mod ` eliser pour les reproduire (commande souhait ´ ee accom- ´
plie pour la manipulation d’une interface neuronale) ou pour les eviter (accident en ´
vol pour un avion ou un drone). Cette methodologie n ´ ecessite une mani ´ ere, ` a partir `
de ces instances positives, de gen´ erer des exemples proches de ces instances pos- ´
itives et des exemples plus eloign ´ es. Elle implique aussi de disposer d’une mesure ´
de distance ou tout au moins de divergeance entre les exemples et l’instance positive
dont ils sont issus. Il reste ensuite a apprendre la donn ` ee recherch ´ ee en fonction des ´
99Chapitre 6. Conclusion et perspectives
parametres connus, en veillant ` a chaque fois ` a garder pour l’ ` evaluation les exemples ´
issus d’une meme instance positive. ˆ
Au-dela des protocoles d’amarrage se pose la question du filtrage collaboratif. `
Jusqu’ici, nous n’avons emis l’hypoth ´ ese d’un filtrage collaboratif que pour les ter- `
mes de score physico-chimiques et les scores issus des predictions des mod ´ eles ` a
posteriori. Cependant, nous pouvons toujours etudier les filtrages collaboratifs dans le ´
cadre de l’echelle gros-grain, potentiellement en conjonction avec les termes de score ´
physico-chimiques de l’echelle gros-grain. ´
Nous avions envisage dans la section pr ´ ec´ edente une autre fac¸on de traiter l’ ´ etude ´
a posteriori, en lui donnant un but different de la pr ´ ediction par combinaison lin ´ eaire. ´
Puisqu’il s’agit d’un tri a posteriori, le tri par combinaison lineaire est d ´ ej ´ a effectu ` e´
lorsque le tri a posteriori est applique. Dans ce cas de figure, il est tout ´ a fait possible `
de n’appliquer le tri a posteriori que sur un sous-ensemble dej ´ a tri ` e des pr ´ edictions. ´
Comme le tri par combinaison lineaire remplit les objectifs fix ´ es pour presque tous les ´
complexes, il est pensable de durcir les objectifs en integrant le tri ´ a posteriori pour ne
trier que les 10 ou 100 premiers candidats. De la sorte, le tri a posteriori ne traite que
des candidats dej ´ a jug ` es satisfaisants et pourrait ´ etre en mesure de donner au moins ˆ
un presque-natif dans les trois, quatre ou cinq premiers candidats. Si un tel objectif
peut etre atteint, cela signifie qu’il est possible, toujours en proposant 10 candidats ˆ
potentiels de l’interaction, de choisir des candidats representant le mieux l’interaction ´
telle qu’elle est vue par differents amarrages atomiques. Chacun de ces amarrages ´
atomiques serait initie par un candidat gros-grain diff ´ erent et ferait l’hypoth ´ ese d’un `
epitope distinct. ´
L’amarrage gros-grain tel qu’il est modelis ´ e dans ce manuscrit met en œuvre 210 ´
parametres dans sa fonction de score. De plus, 104 de ces param ` etres ont, pour la `
plupart des candidats, une valeur non attribuee et remplac ´ ee par la valeur m ´ ediane du ´
parametre sur l’ensemble des structures natives. Le premier facteur ` a l’origine de ces `
deux constatations est que nous differencions les vingt types d’acides amin ´ es et les ´
quatre types d’acides nucleiques. En effet, 208 des param ´ etres sont d ` efinis par le nom- ´
bre de types d’acides amines et d’acides nucl ´ eiques pris en compte : le nombre de cer- ´
tains de ces parametres est issu d’une addition du nombre de types d’acides amin ` es´
et du nombre de types d’acides nucleiques ; pour d’autres de ces param ´ etres, il s’agit `
d’une multiplication. Or, nous avons vu que des resultats satisfaisants en amarrage ´
proteine-prot ´ eine ont ´ et ´ e observ ´ es en regroupant les acides amin ´ es en six cat ´ egories ´
[15]. Une maniere de diminuer la complexit ` e du mod ´ ele serait donc de reprendre ces `
six categories, ramenant d’une part le nombre de param ´ etres ` a 64 et diminuant d’autre `
part le nombre de valeurs non attribuees pour chaque candidat. Confronter ce mod ´ ele`
au modele` a vingt types d’acides amin ` es permettrait de savoir, dans le cas o ´ u certaines `
informations echappent au mod ´ ele` a six cat ` egories d’acides amin ´ es, si les cat ´ egories ´
d’acides amines d ´ efinies pour l’amarrage prot ´ eine-prot ´ eine peuvent ´ etre remani ˆ ees ´
pour l’amarrage proteine-ARN. Il a toutefois fallu d ´ ej ´ a disposer du protocole tel que `
nous l’avons defini jusqu’ ´ a maintenant pour pouvoir confronter ce nouveau mod ` ele de `
fonction de score a celui que nous avons ` evalu ´ e.´
Les differentes approches ´ evalu ´ ees ont donc montr ´ e que, rien qu’ ´ a partir de la `
structure 3D de chacun des deux partenaires d’un complexe et sans aucune autre
1006.3. Predictions multi- ´ echelle ´
forme de donnees, il est possible de retrouver l’interaction de ces deux partenaires. Il ´
faudra certes encore prendre en compte la flexibilite des partenaires pour v ´ eritablement ´
passer de la structure 3D de partenaires non lies – dont la structure est d ´ etermin ´ ee´
en dehors de toute interaction – a la pr ` ediction de leur interaction. Mais la rapidit ´ e´
de calculs permet desormais de se pencher sur la question de l’amarrage haut d ´ ebit. ´
La prise en compte de la flexibilite et l’accession ´ a l’amarrage haut-d ` ebit constituent ´
certainement la suite logique de ces travaux.
La prediction d’interactions prot ´ eine-ARN est un domaine en plein essor, pour ´
lequel de plus en plus de defis sont relev ´ es. Cela a commenc ´ e par la pr ´ ediction d’inter- ´
actions de petites molecules, puis de mol ´ ecules de plus grandes tailles. La pr ´ ediction ´
d’interactions dans le cas ou la prot ` eine est non li ´ ee est en passe d’ ´ etre r ˆ esolue. ´
Nous devrions voir bientot des travaux traitant de la flexibilit ˆ e de l’ARN sur le point de ´
resoudre les interactions avec les deux partenaires non li ´ es. Mais ceci n ´ ecessitera pour ´
les petits ARN de savoir reconstruire l’ARN a la vol ` ee, en prenant en compte la prox- ´
imite de la prot ´ eine. Plus g ´ en´ eralement dans le domaine des interactions de macro- ´
molecules biologiques, C ´ APRI a recemment montr ´ e sa volont ´ e d’ ´ evaluer la pr ´ ediction ´
de caracteristiques sp ´ ecifiques de l’interaction, telles que la position des mol ´ ecules de ´
solvant ou l’affinite de l’interaction [68]. Avec des fonctions de score mieux adapt ´ ees ´
a l’estimation de la valeur d’une ` energie ou de l’affinit ´ e d’une interaction, il devien- ´
dra possible de passer le cap de la classification binaire. Mais de tels defis n ´ ecessitent ´
des donnees biologiques rarement disponibles en grandes quantit ´ es, et m ´ eme souvent ˆ
disponibles en bien moindres quantites que les structures 3D des interactions. Il fau- ´
dra encore quelques annees avant que l’on puisse utiliser des m ´ ethodes bas ´ ees sur la ´
connaissance pour predire l’affinit ´ e de l’interaction, et encore plus pour les complexes ´
proteine-ARN. ´
101Chapitre 6. Conclusion et perspectives
102Bibliographie
[1] L. Adamian, R. Jackups, Jr, T. A. Binkowski, and J. Liang. Higher-order interhelical
spatial interactions in membrane proteins. J Mol Biol, 327(1) :251–72,
2003.
[2] D. W. Aha, D. Kibler, and M. K. Albert. Instance-based learning algorithms. In
Machine Learning, pages 37–66, 1991.
[3] B. Angelov, J. F. Sadoc, R. Jullien, A. Soyer, J. P. Mornon, and J. Chomilier.
Nonatomic solvent-driven Voronoi tessellation of proteins : an open tool to analyze
protein folds. Proteins, 49(4) :446–56, 2002.
[4] J. C. Austin, K. R. Rodgers, and T. G. Spiro. Protein structure from ultraviolet
resonance Raman spectroscopy. Methods Enzymol, 226 :374–96, 1993.
[5] G. S. Ayton, W. G. Noid, and G. A. Voth. Multiscale modeling of biomolecular
systems : in serial and in parallel. Curr Opin Struct Biol, 17(2) :192–198, Apr
2007.
[6] J. Aze, T. Bourquard, S. Hamel, A. Poupon, and D. Ritchie. ´ Using Kendall-tau
Meta-Bagging to Improve Protein-Protein Docking Predictions, volume 7036 of
Lecture Notes in Computer Science, chapter 25, pages 284–295. Springer Berlin
Heidelberg, 2011.
[7] R. P. Bahadur, P. Chakrabarti, F. Rodier, and J. Janin. A dissection of specific
and non-specific protein-protein interfaces. J Mol Biol, 336(4) :943–55, 2004.
[8] D. Bakowies and W. F. Van Gunsteren. Water in protein cavities : a procedure
to identify internal water and exchange pathways and application to fatty acidbinding
protein. Proteins, 47(4) :534–45, 2002.
[9] A. Barik, N. C., and R. P. Bahadur. A protein-RNA docking benchmark (I) : nonredundant
cases. Proteins, 80(7) :1866–1871, Jul 2012.
[10] E. Ben-Zeev, A. Berchanski, A. Heifetz, B. Shapira, and M. Eisenstein. Prediction
of the unknown : inspiring experience with the CAPRI experiment. Proteins,
52(1) :41–6, 2003.
[11] E. Ben-Zeev and M. Eisenstein. Weighted geometric docking : incorporating
external information in the rotation-translation scan. Proteins, 52(1) :24–7, 2003.
[12] A. Berchanski, D. Segal, and M. Eisenstein. Modeling oligomers with Cn or Dn
symmetry : application to CAPRI target 10. Proteins, 60(2) :202–6, 2005.
103Bibliographie
[13] H. M. Berman, T. N. Bhat, P. E. Bourne, Z. Feng, G. Gilliland, H. Weissig, and
J. Westbrook. The Protein Data Bank and the challenge of structural genomics.
Nat Struct Biol, 7 Suppl :957–9, 2000.
[14] H. M. Berman, J. Westbrook, Z. Feng, G. Gilliland, T. N. Bhat, H. Weissig, I. N.
Shindyalov, and P. E. Bourne. The Protein Data Bank. Nucleic Acids Research,
28 :235–242, 2000.
[15] J. Bernauer, J. Aze, J. Janin, and A. Poupon. A new protein-protein docking scor- ´
ing function based on interface residue properties. Bioinformatics, 23(5) :555–
562, Mar 2007.
[16] J. Bernauer, R. P. Bahadur, F. Rodier, J. Janin, and A. Poupon. DiMoVo : a
Voronoi tessellation-based method for discriminating crystallographic and biological
protein-protein interactions. Bioinformatics, 24(5) :652–658, Mar 2008.
[17] J. Bernauer, X. Huang, A. Y. Sim, and M. Levitt. Fully differentiable coarsegrained
and all-atom knowledge-based potentials for RNA structure evaluation.
RNA, 17(6) :1066–75, 2011.
[18] J. Bernauer, A. Poupon, J. Aze, and J. Janin. A docking analysis of the statistical ´
physics of protein-protein recognition. Phys Biol, 2(2) :S17–23, 2005.
[19] T. A. Binkowski, L. Adamian, and J. Liang. Inferring functional relationships
of proteins from local sequence and spatial surface patterns. J Mol Biol,
332(2) :505–26, 2003.
[20] D. M. Blow, C. S. Wright, D. Kukla, A. Ruhlmann, W. Steigemann, and R. Huber. A
model for the association of bovine pancreatic trypsin inhibitor with chymotrypsin
and trypsin. J Mol Biol, 69(1) :137–44, 1972.
[21] A. Bondi. Van der Waals volumes and radii. The Journal of physical chemistry,
68(3) :441–451, 1964.
[22] A. J. Bordner and A. A. Gorin. Protein docking using surface matching and
supervised machine learning. Proteins, 68(2) :488–502, 2007.
[23] D. Bostick and I. I. Vaisman. A new topological method to measure protein structure
similarity. Biochem Biophys Res Commun, 304(2) :320–5, 2003.
[24] L. G. Boulu, G. M. Crippen, H. A. Barton, H. Kwon, and M. A. Marletta. Voronoi
binding site model of a polycyclic aromatic hydrocarbon binding protein. J Med
Chem, 33(2) :771–5, 1990.
[25] P. E. Bourne. CASP and CAFASP experiments and their findings. Methods
Biochem Anal, 44 :501–7, 2003.
[26] T. Bourquard, J. Bernauer, J. Aze, and A. Poupon. Comparing voronoi and laguerre
tessellations in the protein-protein docking context. In Voronoi Diagrams,
2009. ISVD ’09. Sixth International Symposium on, pages 225–232, 2009.
[27] T. Bourquard, J. Bernauer, J. Aze, and A. Poupon. A collaborative filtering ap- ´
proach for protein-protein docking scoring functions. PLoS One, 6(4) :e18541,
2011.
104[28] M. P. Bradley and G. M. Crippen. Voronoi modeling : the binding of triazines and
pyrimidines to L. casei dihydrofolate reductase. J Med Chem, 36(21) :3171–7,
1993.
[29] P. Bradley, L. Malmstrom, B. Qian, J. Schonbrun, D. Chivian, D. E. Kim, J. Meiler,
K. M. Misura, and D. Baker. Free modeling with Rosetta in CASP6. Proteins, 61
Suppl 7 :128–34, 2005.
[30] L. Breiman. Random Forests. Eighteenth International Conference on Machine
Learning, 45(1) :5–32, 2001.
[31] N. Calimet, M. Schaefer, and T. Simonson. Protein molecular dynamics with the
generalized Born/ACE solvent model. Proteins, 45(2) :144–58, 2001.
[32] C. J. Camacho. Modeling side-chains using molecular dynamics improve recognition
of binding region in CAPRI targets. Proteins, 60(2) :245–51, 2005.
[33] A. A. Canutescu and R. L. Dunbrack. Cyclic coordinate descent : a robotics
algorithm for protein loop closure. Protein science, 12(5) :963–972, 2003.
[34] C. W. Carter, Jr, B. C. LeFebvre, S. A. Cammer, A. Tropsha, and M. H. Edgell.
Four-body potentials reveal protein-specific correlations to stability changes
caused by hydrophobic core mutations. J Mol Biol, 311(4) :625–38, 2001.
[35] P. Carter, V. I. Lesk, S. A. Islam, and M. J. Sternberg. Protein-protein docking
using 3D-Dock in rounds 3, 4, and 5 of CAPRI. Proteins, 60(2) :281–8, 2005.
[36] Project CGAL. CGAL, Computational Geometry Algorithms Library, 1990.
[37] S. Chakravarty, A. Bhinge, and R. Varadarajan. A procedure for detection and
quantitation of cavity volumes proteins. Application to measure the strength of
the hydrophobic driving force in protein folding. J Biol Chem, 277(35) :31345–
53, 2002.
[38] C.-C. Chang and C.-J. Lin. LIBSVM : a library for support vector machines (version
2.31), 2001.
[39] R. Chen, L. Li, and Z. Weng. ZDOCK : an initial-stage protein-docking algorithm.
Proteins, 52(1) :80–7, 2003.
[40] R. Chen, W. Tong, J. Mintseris, L. Li, and Z. Weng. ZDOCK predictions for the
CAPRI challenge. Proteins, 52(1) :68–73, 2003.
[41] R. Chen and Z. Weng. Docking unbound proteins using shape complementarity,
desolvation, and electrostatics. Proteins, 47(3) :281–94, 2002.
[42] R. Chen and Z. Weng. A novel shape complementarity scoring function for
protein-protein docking. Proteins, 51(3) :397–408, 2003.
[43] Y. Chen, T. Kortemme, T. Robertson, D. Baker, and G. Varani. A new hydrogenbonding
potential for the design of protein-RNA interactions predicts specific contacts
and discriminates decoys. Nucleic Acids Res, 32(17) :5147–62, 2004.
[44] Y. Chen and G. Varani. Protein families and RNA recognition. FEBS J,
272(9) :2088–97, 2005.
105Bibliographie
[45] Y. Chen and G. Varani. Engineering RNA-binding proteins for biology. FEBS J,
280(16) :3734–54, 2013.
[46] J. Cherfils, S. Duquerroy, and J. Janin. Protein-protein recognition analyzed by
docking simulation. Proteins, 11(4) :271–80, 1991.
[47] C. Chothia and M. Gerstein. Protein evolution. How far can sequences diverge ?
Nature, 385(6617) :579, 581, 1997.
[48] C. Chothia and J. Janin. Principles of protein-protein recognition. Nature,
256(5520) :705–8, 1975.
[49] A. Clery, M. Blatter, and F. H. Allain. RNA recognition motifs : boring ? Not quite.
Curr Opin Struct Biol, 18(3) :290–8, 2008.
[50] W. W. Cohen. Fast Effective Rule Induction. In Proceedings of the Twelfth International
Conference on Machine Learning, pages 115–123. Morgan Kaufmann,
1995.
[51] N. Colloc’h, C. Etchebest, E. Thoreau, B. Henrissat, and J.P. Mornon. Comparison
of three algorithms for the assignment of secondary structure in proteins :
the advantages of a consensus assignment. Protein Eng, 6(4) :377–82, 1993.
[52] S. R. Comeau and C. J. Camacho. Predicting oligomeric assemblies : N-mers a
primer. J Struct Biol, 150(3) :233–44, 2005.
[53] S. R. Comeau, S. Vajda, and C. J. Camacho. Performance of the first protein
docking server ClusPro in CAPRI rounds 3-5. Proteins, 60(2) :239–44, 2005.
[54] M. L. Connolly. Analytical molecular surface calculation. Journal of Applied
Crystallography, 16(5) :548–558, 1983.
[55] M. L. Connolly. Solvent-accessible surfaces of proteins and nucleic acids. Science,
221(4612) :709–713, Aug 1983.
[56] M. L. Connolly. Molecular surface triangulation. Journal of Applied Crystallography,
18(6) :499–505, 1985.
[57] M. L. Connolly. Shape complementarity at the hemoglobin alpha 1 beta 1 subunit
interface. Biopolymers, 25(7) :1229–47, 1986.
[58] M. L. Connolly. Molecular interstitial skeleton. Computers & Chemistry,
15(1) :37–45, 1991.
[59] L. L. Conte, C. Chothia, and J. Janin. The atomic structure of protein-protein
recognition sites. J Mol Biol, 285(5) :2177–98, 1999.
[60] T. A. Cooper, L. Wan, and G. Dreyfuss. RNA and disease. Cell, 136(4) :777–93,
2009.
[61] A. Cornuiejols and L. Miclet. ´ Apprentissage Artificiel - Concepts et algorithmes.
Cepadues, 2002. ´
[62] D. Cozzetto, A. Di Matteo, and A. Tramontano. Ten years of predictions... and
counting. FEBS J, 272(4) :881–2, 2005.
[63] G. M. Crippen. Voronoi binding site models. NIDA Res Monogr, 112 :7–20, 1991.
106[64] M. D. Daily, D. Masica, A. Sivasubramanian, S. Somarouthu, and J. J. Gray.
CAPRI rounds 3-5 reveal promising successes and future challenges for RosettaDock.
Proteins, 60(2) :181–6, 2005.
[65] R. Das and D. Baker. Automated de novo prediction of native-like RNA tertiary
structures. Proc Natl Acad Sci U S A, 104(37) :14664–9, 2007.
[66] R. Das, J. Karanicolas, and D. Baker. Atomic accuracy in predicting and designing
noncanonical RNA structure. Nat Methods, 7(4) :291–4, 2010.
[67] S. J. de Vries, A. S. Melquiond, P. L. Kastritis, E. Karaca, A. Bordogna, M. van
Dijk, J. P. Rodrigues, and A. M. Bonvin. Strengths and weaknesses of datadriven
docking in critical assessment of prediction of interactions. Proteins,
78(15) :3242–9, 2010.
[68] S. J. De Vries, A. D. J. van Dijk, M. Krzeminski, M. van Dijk, A. Thureau, V. Hsu,
T. Wassenaar, and A. M. J. J. Bonvin. HADDOCK versus HADDOCK : new
features and performance of HADDOCK2. 0 on the CAPRI targets. Proteins :
structure, function, and bioinformatics, 69(4) :726–733, 2007.
[69] C. Dominguez, R. Boelens, and A. M. Bonvin. HADDOCK : a protein-protein
docking approach based on biochemical or biophysical information. J Am Chem
Soc, 125(7) :1731–7, 2003.
[70] R. L. Dunbrack, Jr and F. E. Cohen. Bayesian statistical analysis of protein sidechain
rotamer preferences. Protein Sci, 6 :1661–1681, 1997.
[71] F. Dupuis, J.F. Sadoc, R. Jullien, B. Angelov, and J.P. Mornon. Voro3D : 3D
Voronoi tessellations applied to protein structures. Bioinformatics, 21(8) :1715–
6, 2005.
[72] H. Edelsbrunner, M. Facello, and J. Liang. On the definition and the construction
of pockets in macromolecules. Pac Symp Biocomput, pages 272–87, 1996.
[73] H. Edelsbrunner, M. Facello, and J. Liang. On the definition and the construction
of pockets in macromolecules. Discr Appl Math, 88 :83–102, 1998.
[74] H. Edelsbrunner and P. Koehl. The weighted-volume derivative of a space-filling
diagram. Proc Natl Acad Sci U S A, 100(5) :2203–8, 2003.
[75] S. Eiler, A.-C. Dock-Bregeon, L. Moulinier, J.-C. Thierry, and D. Moras. Synthesis
of aspartyl-tRNAAsp in Escherichia coli—a snapshot of the second step. The
EMBO journal, 18(22) :6532–6541, 1999.
[76] D. Eisenberg and A. D. McLachlan. Solvation energy in protein folding and binding.
Nature, 319(6050) :199–203, 1986.
[77] M. Eisenstein. Introducing a 4th dimension to protein-protein docking. Structure
(Camb), 12(12) :2095–6, 2004.
[78] J. J. Ellis, M. Broom, and S. Jones. Protein-RNA interactions : structural analysis
and functional classes. Proteins, 66(4) :903–11, 2007.
[79] J. Fernandez-Recio, R. Abagyan, and M. Totrov. Improving CAPRI predictions : ´
optimized desolvation for rigid-body docking. Proteins, 60(2) :308–13, 2005.
107Bibliographie
[80] C. Ferri, P. Flach, and J. Hernandez-Orallo. Learning decision trees using the ´
area under the ROC curve. Machine Learning-International Workshop Then
Conference-, pages 139–146, 2002.
[81] S. Fields and O. Song. A novel genetic system to detect protein-protein interactions.
Nature, 340(6230) :245–6, 1989.
[82] J. L. Finney. Volume occupation, environment and accessibility in proteins. The
problem of the protein surface. J Mol Biol, 96(4) :721–32, 1975.
[83] D. Fischer, S. L. Lin, H. L. Wolfson, and R. Nussinov. A geometry-based suite of
molecular docking processes. J Mol Biol, 248(2) :459–77, 1995.
[84] D. Fischer, R. Norel, H. Wolfson, and R. Nussinov. Surface motifs by a computer
vision technique : searches, detection, and implications for protein-ligand
recognition. Proteins, 16(3) :278–92, 1993.
[85] S. C. Flores, J. Bernauer, S. Shin, R. Zhou, and X. Huang. Multiscale modeling
of macromolecular biosystems. Brief Bioinform, 13(4) :395–405, 2012.
[86] E. Frank and I. H. Witten. Generating accurate rule sets without global optimization.
Fifteenth International Conference on Machine Learning, 45(1) :144–151,
1998.
[87] D. Frishman and P. Argos. The future of protein secondary structure prediction
accuracy. Fold Des, 2(3) :159–62, 1997.
[88] J. J. Fritz, A. Lewin, W. Hauswirth, A. Agarwal, M. Grant, and L. Shaw. Development
of hammerhead ribozymes to modulate endogenous gene expression for
functional studies. Methods, 28(2) :276–285, Oct 2002.
[89] J. Furnkranz and Flach. An analysis of rule evaluation metrics. ¨ Proceedings of
the Twentieth International Conference on Machine Learning (ICML-2003), Jan
2003.
[90] H. H. Gan, A. Tropsha, and T. Schlick. Lattice protein folding with two and fourbody
statistical potentials. Proteins, 43(2) :161–74, 2001.
[91] E. J. Gardiner, P. Willett, and P. J. Artymiuk. GAPDOCK : a Genetic Algorithm
Approach to Protein Docking in CAPRI round 1. Proteins, 52(1) :10–4, 2003.
[92] A. C. Gavin, M. Bosche, R. Krause, P. Grandi, M. Marzioch, A. Bauer, J. Schultz,
J. M. Rick, A. M. Michon, C. M. Cruciat, M. Remor, C. Hofert, M. Schelder, M. Brajenovic,
H. Ruffner, A. Merino, K. Klein, M. Hudak, D. Dickson, T. Rudi, V. Gnau,
A. Bauch, S. Bastuck, B. Huhse, C. Leutwein, M. A. Heurtier, R. R. Copley,
A. Edelmann, E. Querfurth, V. Rybin, G. Drewes, M. Raida, T. Bouwmeester,
P. Bork, B. Seraphin, B. Kuster, G. Neubauer, and G. Superti-Furga. Functional
organization of the yeast proteome by systematic analysis of protein complexes.
Nature, 415(6868) :141–7, 2002.
[93] B. J. Gellatly and J. L. Finney. Calculation of protein volumes : an alternative to
the Voronoi procedure. J Mol Biol, 161(2) :305–22, 1982.
[94] M. Gerstein and C. Chothia. Packing at the protein-water interface. Proc Natl
Acad Sci U S A, 93(19) :10167–72, 1996.
108[95] M. Gerstein, J. Tsai, and M. Levitt. The volume of atoms on the protein surface :
calculated from simulation, using Voronoi polyhedra. J Mol Biol, 249(5) :955–66,
1995.
[96] A. Goede, R. Preissner, and C. Frommel. Voronoi cell : new method for allocation ¨
of space among atoms : elimination of avoidable errors in calculation of atomic
volume and density. J Comp Chem, 18(9) :1113–1123, 1997.
[97] S. C. B. Gopinath. Mapping of RNA-protein interactions. Anal Chim Acta,
636(2) :117–128, Mar 2009.
[98] J. J. Gray, S. Moughon, C. Wang, O. Schueler-Furman, B. Kuhlman, C. A. Rohl,
and D. Baker. Protein-protein docking with simultaneous optimization of rigidbody
displacement and side-chain conformations. J Mol Biol, 331(1) :281–99,
2003.
[99] J. J. Gray, S. Moughon, C. Wang, O. Schueler-Furman, B. Kuhlman, C. A. Rohl,
and D. Baker. Protein-protein docking with simultaneous optimization of rigidbody
displacement and side-chain conformations. J Mol Biol, 331(1) :281–99,
2003.
[100] J. J. Gray, S. E. Moughon, T. Kortemme, O. Schueler-Furman, K. M. Misura,
A. V. Morozov, and D. Baker. Protein-protein docking predictions for the CAPRI
experiment. Proteins, 52(1) :118–22, 2003.
[101] A. Guilhot-Gaudeffroy, J. Aze, J. Bernauer, and C. Froidevaux. Apprentissage ´
de fonctions de tri pour la prediction d’interactions prot ´ eine-ARN. In ´ Quatorzieme
conf ` erence Francophone sur l’Extraction et la Gestion des Connais- ´
sances, pages 479–484, 2014.
[102] D. M. Halaby and J. P. Mornon. The immunoglobulin superfamily : an insight on
its tissular, species, and functional diversity. J Mol Evol, 46(4) :389–400, 1998.
[103] M. Hall, E. Frank, G. Holmes, B. Pfahringer, P. Reutemann, and I. H. Witten. The
WEKA data mining software : an update. SIGKDD Explorations, 11(1) :10–18,
2009.
[104] I. Halperin, B. Ma, H. Wolfson, and R. Nussinov. Principles of docking : an
overview of search algorithms and a guide to scoring functions. Proteins,
47(4) :409–43, 2002.
[105] Wei Han, Cheuk-Kin Wan, Fan Jiang, and Yun-Dong Wu. Pace force field for
protein simulations. 1. full parameterization of version 1 and verification. Journal
of Chemical Theory and Computation, 6(11) :3373–3389, 2010.
[106] Wei Han, Cheuk-Kin Wan, and Yun-Dong Wu. Pace force field for protein simulations.
2. folding simulations of peptides. Journal of Chemical Theory and
Computation, 6(11) :3390–3402, 2010.
[107] Y. Harpaz, M. Gerstein, and C. Chothia. Volume changes on protein folding.
Structure, 2(7) :641–9, 1994.
[108] A. Heifetz, E. Katchalski-Katzir, and M. Eisenstein. Electrostatics in proteinprotein
docking. Protein Sci, 11(3) :571–87, 2002.
109Bibliographie
[109] Y. Ho, A. Gruhler, A. Heilbut, G. D. Bader, L. Moore, S. L. Adams, A. Millar,
P. Taylor, K. Bennett, K. Boutilier, L. Yang, C. Wolting, I. Donaldson, S. Schandorff,
J. Shewnarane, M. Vo, J. Taggart, M. Goudreault, B. Muskat, C. Alfarano,
D. Dewar, Z. Lin, K. Michalickova, A. R. Willems, H. Sassi, P. A.
Nielsen, K. J. Rasmussen, J. R. Andersen, L. E. Johansen, L. H. Hansen,
H. Jespersen, A. Podtelejnikov, E. Nielsen, J. Crawford, V. Poulsen, B. D.
Sorensen, J. Matthiesen, R. C. Hendrickson, F. Gleeson, T. Pawson, M. F. Moran,
D. Durocher, M. Mann, C. W. Hogue, D. Figeys, and M. Tyers. Systematic identifi-
cation of protein complexes in Saccharomyces cerevisiae by mass spectrometry.
Nature, 415(6868) :180–3, 2002.
[110] I. L. Hofacker. RNA secondary structure analysis using the Vienna RNA package.
Curr Protoc Bioinformatics, Chapter 12 :Unit 12.2, Feb 2004.
[111] G. M. Huang. High-throughput DNA sequencing : a genomic data manufacturing
process. DNA Seq, 10(3) :149–53, 1999.
[112] S. Y. Huang and X. Zou. A nonredundant structure dataset for benchmarking
protein-RNA computational docking. J Comput Chem, 34(4) :311–8, 2013.
[113] S. Y. Huang and X. Zou. A knowledge-based scoring function for protein-RNA
interactions derived from a statistical mechanics-based iterative method. Nucleic
Acids Res, 2014.
[114] Y. Huang, S. Liu, D. Guo, L. Li, and Y. Xiao. A novel protocol for three-dimensional
structure prediction of RNA-protein complexes. Scientific reports, 3, 2013.
[115] Y. Inbar, D. Schneidman-Duhovny, I. Halperin, A. Oron, R. Nussinov, and H. J.
Wolfson. Approaching the CAPRI challenge with an efficient geometry-based
docking. Proteins, 60(2) :217–23, 2005.
[116] T. Ito, K. Tashiro, S. Muta, R. Ozawa, T. Chiba, M. Nishizawa, K. Yamamoto,
S. Kuhara, and Y. Sakaki. Toward a protein-protein interaction map of the budding
yeast : a comprehensive system to examine two-hybrid interactions in all
possible combinations between the yeast proteins. Proc Natl Acad Sci U S A,
97(3) :1143–7, 2000.
[117] S. Izvekov and G. A. Voth. A multiscale coarse-graining method for biomolecular
systems. J Phys Chem B, 109(7) :2469–2473, Feb 2005.
[118] J. Janin. Assessing predictions of protein-protein interaction : the CAPRI experiment.
Protein Sci, 14(2) :278–83, 2005.
[119] J. Janin. Sailing the route from Gaeta, Italy, to CAPRI. Proteins, 60(2) :149,
2005.
[120] J. Janin. The targets of CAPRI rounds 3-5. Proteins, 60(2) :170–5, 2005.
[121] J. Janin. Protein-protein docking tested in blind predictions : the CAPRI experiment.
Mol Biosyst, 6(12) :2351–62, 2010.
[122] J. Janin, K. Henrick, J. Moult, L. T. Eyck, M. J. Sternberg, S. Vajda, I. Vakser, and
S. J. Wodak. CAPRI : a Critical Assessment of PRedicted Interactions. Proteins,
52(1) :2–9, 2003.
110[123] J. Janin and B. Seraphin. Genome-wide studies of protein-protein interaction.
Curr Opin Struct Biol, 13(3) :383–8, 2003.
[124] J. Janin and S. J. Wodak. Reaction pathway for the quaternary structure change
in hemoglobin. Biopolymers, 24(3) :509–26, 1985.
[125] J. Janin and S. J. Wodak. Protein modules and protein-protein interaction. Introduction.
Adv Protein Chem, 61 :1–8, 2002.
[126] F. Jiang and S. H. Kim. “Soft docking” : matching of molecular surface cubes. J
Mol Biol, 219(1) :79–102, 1991.
[127] G. H. John and P. Langley. Estimating continuous distributions in bayesian classifiers.
In Proceedings of the Eleventh Conference on Uncertainty in Artificial
Intelligence, UAI’95, pages 338–345, San Francisco, CA, USA, 1995. Morgan
Kaufmann Publishers Inc.
[128] W. Kabsch and C. Sander. Dictionary of protein secondary structure : pattern
recognition of hydrogen-bonded and geometrical features. Biopolymers,
22(12) :2577–637, 1983.
[129] R. Karaduman, P. Fabrizio, K. Hartmuth, H. Urlaub, and R. Luhrmann. RNA ¨
structure and RNA-protein interactions in purified yeast u6 snRNPs. J Mol Biol,
356(5) :1248–1262, Mar 2006.
[130] S. Karlin, Z. Y. Zhu, and F. Baud. Atom density in protein structures. Proc Natl
Acad Sci U S A, 96(22) :12500–5, 1999.
[131] S. Karlin, M. Zuker, and L. Brocchieri. Measuring residue associations in protein
structures. Possible implications fro protein folding. J. Mol. Biol., 264 :121–136,
1994.
[132] E. Katchalski-Katzir, I. Shariv, M. Eisenstein, A. A. Friesem, C. Aflalo, and I. A.
Vakser. Molecular surface recognition : determination of geometric fit between
proteins and their ligands by correlation techniques. Proc Natl Acad Sci U S A,
89(6) :2195–9, 1992.
[133] A. Ke and J. A. Doudna. Crystallization of RNA and RNA-protein complexes.
Methods, 34(3) :408–14, 2004.
[134] J. C. Kendrew, R. E. Dickerson, B. E. Standberg, R. G. Hart, D. R. Davies, and
D. C. Phillips. Structure of myoglobin. A three dimensional Fourier synthesis at
2 A resolution. ˚ Nature, 185 :422–427, 1960.
[135] J. Kittler, M. Hatef, R. Duin, and J. Matas. On combining classifiers. Pattern
Analysis and Machine Intelligence, IEEE Transactions on, 20(3) :226–239, 1998.
[136] N. Kobayashi, T. Yamato, and N. Go. Mechanical property of a TIM-barrel protein.
Proteins, 28(1) :109–16, 1997.
[137] K. Komatsu, Y. Kurihara, M. Iwadate, M. Takeda-Shitaka, and H. Umeyama. Evaluation
of the third solvent clusters fitting procedure for the prediction of proteinprotein
interactions based on the results at the CAPRI blind docking study. Proteins,
52(1) :15–8, 2003.
111Bibliographie
[138] J. Konig, K. Zarnack, N. M. Luscombe, and J. Ule. Protein-RNA interactions : new
genomic technologies and perspectives. Nat Rev Genet, 13(2) :77–83, 2011.
[139] O. Kotik-Kogan, E. R. Valentine, D. Sanfelice, M. R. Conte, and S. Curry. Structural
analysis reveals conformational plasticity in the recognition of RNA 3’ ends
by the human La protein. Structure, 16(6) :852–862, Jun 2008.
[140] B. Krishnamoorthy and A. Tropsha. Development of a four-body statistical
pseudo-potential to discriminate native from non-native protein conformations.
Bioinformatics, 19(12) :1540–8, 2003.
[141] A. Kryshtafovych, C. Venclovas, K. Fidelis, and J. Moult. Progress over the first
decade of CASP experiments. Proteins, 61 Suppl 7 :225–36, 2005.
[142] C. Laing and T. Schlick. Computational approaches to 3D modeling of RNA. J
Phys Condens Matter, 22(28) :283101, 2010.
[143] D. S. Law, L. F. Ten Eyck, O. Katzenelson, I. Tsigelny, V. A. Roberts, M. E. Pique,
and J. C. Mitchell. Finding needles in haystacks : Reranking DOT results by using
shape complementarity, cluster analysis, and biological information. Proteins,
52(1) :33–40, 2003.
[144] T. Lazaridis and M. Karplus. Effective energy function for proteins in solution.
Proteins, 35(2) :133–152, May 1999.
[145] R. H. Lee and G. D. Rose. Molecular recognition. I. Automatic identification of
topographic surface features. Biopolymers, 24(8) :1613–27, 1985.
[146] M. F. Lensink, I. H. Moal, P. A. Bates, P. L. Kastritis, A. S. Melquiond, E. Karaca,
C. Schmitz, M. van Dijk, A. M. Bonvin, M. Eisenstein, B. Jimenez-Garcia,
S. Grosdidier, A. Solernou, L. Perez-Cano, C. Pallara, J. Fern ´ andez-Recio, J. Xu, ´
P. Muthu, K. Praneeth Kilambi, J. J. Gray, S. Grudinin, G. Derevyanko, J. C.
Mitchell, J. Wieting, E. Kanamori, Y. Tsuchiya, Y. Murakami, J. Sarmiento, D. M.
Standley, M. Shirota, K. Kinoshita, H. Nakamura, M. Chavent, D. W. Ritchie,
H. Park, J. Ko, H. Lee, C. Seok, Y. Shen, D. Kozakov, S. Vajda, P. J. Kundrotas,
I. A. Vakser, B. G. Pierce, H. Hwang, T. Vreven, Z. Weng, I. Buch, E. Farkash,
H. J. Wolfson, M. Zacharias, S. Qin, H. X. Zhou, S. Y. Huang, X. Zou, J. A.
Wojdyla, C. Kleanthous, and S. J. Wodak. Blind prediction of interfacial water
positions in CAPRI. Proteins, 2013.
[147] M. F. Lensink, R. Mendez, and S. J. Wodak. Docking and scoring protein com- ´
plexes : CAPRI 3rd edition. Proteins, 69(4) :704–718, Dec 2007.
[148] M. F. Lensink and S. J. Wodak. Docking, scoring, and affinity prediction in CAPRI.
Proteins, 81(12) :2082–95, 2013.
[149] C. Levinthal, S. J. Wodak, P. Kahn, and A. K. Dadivanian. Hemoglobin interaction
in sickle cell fibers. I : theoretical approaches to the molecular contacts. Proc Natl
Acad Sci U S A, 72(4) :1330–4, 1975.
[150] M. Levitt. A simplified representation of protein conformations for rapid simulation
of protein folding. J Mol Biol, 104(1) :59–107, 1976.
112[151] M. Levitt. A simplified representation of protein conformations for rapid simulation
of protein folding. J Mol Biol, 104(1) :59–107, Jun 1976.
[152] B. A. Lewis, R. R. Walia, M. Terribilini, J. Ferguson, C. Zheng, V. Honavar, and
D. Dobbs. PRIDB : a protein-RNA interface database. Nucleic Acids Res,
39(Database issue) :D277–D282, Jan 2011.
[153] C. H. Li, L. B. Cao, J. G. Su, Y. X. Yang, and C. X. Wang. A new residuenucleotide
propensity potential with structural information considered for discriminating
protein-RNA docking decoys. Proteins, 80(1) :14–24, 2012.
[154] L. Li, R. Chen, and Z. Weng. RDOCK : refinement of rigid-body protein docking
predictions. Proteins, 53(3) :693–707, 2003.
[155] W. Li, H. Yoshii, N. Hori, T. Kameda, and S. Takada. Multiscale methods for
protein folding simulations. Methods, 52(1) :106–114, Sep 2010.
[156] X. Li, C. Hu, and J. Liang. Simplicial edge representation of protein structures
and alpha contact potential with confidence measure. Proteins, 53(4) :792–805,
2003.
[157] J. Liang and K. A. Dill. Are proteins well-packed ? Biophys J, 81(2) :751–66,
2001.
[158] J. Liang, H. Edelsbrunner, P. Fu, P. V. Sudhakar, and S. Subramaniam. Analytical
shape computation of macromolecules : I. Molecular area and volume through
alpha shape. Proteins, 33(1) :1–17, 1998.
[159] J. Liang, H. Edelsbrunner, P. Fu, P. V. Sudhakar, and S. Subramaniam. Analytical
shape computation of macromolecules : II. Inaccessible cavities in proteins.
Proteins, 33(1) :18–29, 1998.
[160] J. Liang, H. Edelsbrunner, and C. Woodward. Anatomy of protein pockets and
cavities : measurement of binding site geometry and implications for ligand design.
Protein Sci, 7(9) :1884–97, 1998.
[161] J. Liang and S. Subramaniam. Computation of molecular electrostatics with
boundary element methods. Biophys J, 73(4) :1830–41, 1997.
[162] D. R. Lide. CRC handbook of chemistry and physics. CRC press, 2004.
[163] S. L. Lin, R. Nussinov, D. Fischer, and H. J. Wolfson. Molecular surface representations
by sparse critical points. Proteins, 18(1) :94–101, 1994.
[164] C. X. Ling, J. Huang, and H. Zhang. AUC : a better measure than accuracy in
comparing learning algorithms. Advances in Artificial Intelligence, Jan 2003.
[165] C. X. Ling, J. Huang, and H. Zhang. AUC : a statistically consistent and more
discriminating measure than accuracy. International joint Conference on artificial
intelligence, pages 519–524, Jan 2003.
[166] J. Lipfert and S. Doniach. Small-angle X-ray scattering from RNA, proteins, and
protein complexes. Annu Rev Biophys Biomol Struct, 36 :307–27, 2007.
[167] Y. Liu and J. Snoeyink. A comparison of five implementations of 3D Delaunay
tessellation. Combinatorial and Computational Geometry, 52 :439–458, 2005.
113Bibliographie
[168] S. Loriot, F. Cazals, and J. Bernauer. ESBTL : efficient PDB parser and data
structure for the structural and geometric analysis of biological macromolecules.
Bioinformatics, 26(8) :1127–1128, Apr 2010.
[169] D. Luo, T. Xu, R. P. Watson, D. Scherer-Becker, A. Sampath, W. Jahnke, S. S.
Yeong, C. H. Wang, S. P. Lim, A. Strongin, et al. Insights into rna unwinding and
atp hydrolysis by the flavivirus ns3 protein. The EMBO journal, 27(23) :3209–
3219, 2008.
[170] J. G. Mandell, V. A. Roberts, M. E. Pique, V. Kotlovyi, J. C. Mitchell, E. Nelson,
I. Tsigelny, and L. F. Ten Eyck. Protein docking using continuum electrostatics
and geometric fit. Protein Eng, 14(2) :105–13, 2001.
[171] D. H. Mathews. Revolutions in RNA secondary structure prediction. J Mol Biol,
359(3) :526–532, Jun 2006.
[172] B. J. McConkey, V. Sobolev, and M. Edelman. Quantification of protein surfaces,
volumes and atom-atom contacts using a constrained Voronoi procedure. Bioinformatics,
18(10) :1365–73, 2002.
[173] R. Mendez, R. Leplae, L. De Maria, and S. J. Wodak. Assessment of blind
predictions of protein-protein interactions : current status of docking methods.
Proteins, 52(1) :51–67, 2003.
[174] R. Mendez, R. Leplae, M. F. Lensink, and S. J. Wodak. Assessment of CAPRI
predictions in rounds 3-5 shows progress in docking procedures. Proteins,
60(2) :150–69, 2005.
[175] E. C. Meng, B. K. Shoichet, and I. D. Kuntz. Automated docking with grid-based
energy evaluation. J Comp Chem, 13 :505–524, 1992.
[176] E. J. Merino, K. A. Wilkinson, J. L. Coughlan, and K. M. Weeks. RNA structure
analysis at single nucleotide resolution by selective 2’-hydroxyl acylation and
primer extension (shape). J Am Chem Soc, 127(12) :4223–4231, Mar 2005.
[177] C. E. Metz. Basic principles of ROC analysis. Seminars in nuclear medicine,
VIII(4) :283–298, Jan 1978.
[178] I. Mihalek, I. Res, and O. Lichtarge. A structure and evolution-guided Monte
Carlo sequence selection strategy for multiple alignment-based analysis of proteins.
Bioinformatics, 22(2) :149–56, 2006.
[179] M. Milek, E. Wyler, and M. Landthaler. Transcriptome-wide analysis of proteinRNA
interactions using high-throughput sequencing. Semin Cell Dev Biol,
23(2) :206–12, 2012.
[180] J. C. Mitchell, R. Kerr, and L. F. Ten Eyck. Rapid atomic density methods for
molecular shape characterization. J Mol Graph Model, 19(3-4) :325–30, 388–
90, 2001.
[181] I. S. Moreira, P. A. Fernandes, and M. J. Ramos. Protein-protein docking dealing
with the unknown. J Comput Chem, 31(2) :317–42, 2010.
114[182] J. Moult, K. Fidelis, B. Rost, T. Hubbard, and A. Tramontano. Critical assessment
of methods of protein structure prediction (CASP)–round 6. Proteins, 61 Suppl
7 :3–7, 2005.
[183] P. J. Munson and R. K. Singh. Statistical significance of hierarchical multi-body
potentials based on Delaunay tessellation and their application in sequencestructure
alignment. Protein Sci, 6(7) :1467–81, 1997.
[184] G. N. Murshudov, A. A. Vagin, and E. J. Dodson. Refinement of macromolecular
structures by the maximum-likelihood method. Acta Crystallographica Section
D : Biological Crystallography, 53(3) :240–255, 1997.
[185] A. G. Murzin, S. E. Brenner, T. Hubbard, and C. Chothia. SCOP : a structural
classification of proteins database for the investigation of sequences and structures.
J Mol Biol, 247(4) :536–40, 1995.
[186] K. Nadassy, I. Tomas-Oliveira, I. Alberts, J. Janin, and S. J. Wodak. Standard
atomic volumes in double-stranded DNA and packing in protein–DNA interfaces.
Nucleic Acids Res, 29(16) :3362–76, 2001.
[187] K. Nadassy, S. J. Wodak, and J. Janin. Structural features of protein-nucleic acid
recognition sites. Biochemistry, 38(7) :1999–2017, 1999.
[188] R. Norel, D. Fischer, H. J. Wolfson, and R. Nussinov. Molecular surface recognition
by a computer vision-based technique. Protein Eng, 7(1) :39–46, 1994.
[189] R. Norel, S. L. Lin, H. J. Wolfson, and R. Nussinov. Molecular surface complementarity
at protein-protein interfaces : the critical role played by surface normals
at well placed, sparse, points in docking. J Mol Biol, 252(2) :263–73, 1995.
[190] R. Norel, D. Petrey, H. J. Wolfson, and R. Nussinov. Examination of shape complementarity
in docking of unbound proteins. Proteins, 36(3) :307–17, 1999.
[191] C. A. Orengo, A. D. Michie, S. Jones, D. T. Jones, M. B. Swindells, and J. M.
Thornton. CATH–a hierarchic classification of protein domain structures. Structure,
5(8) :1093–108, 1997.
[192] E. Paci and M. Marchi. Intrinsic compressibility and volume compression in solvated
proteins by molecular dynamics simulation at high pressure. Proc Natl
Acad Sci U S A, 93(21) :11609–14, 1996.
[193] H. Pan, S. Agarwalla, D. T. Moustakas, J. Finer-Moore, and R. M. Stroud. Structure
of tRNA pseudouridine synthase TruB and its RNA complex : RNA recognition
through a combination of rigid docking and induced fit. Proc Natl Acad Sci
U S A, 100(22) :12648–12653, Oct 2003.
[194] P. Pancoska and T. A. Keiderling. Systematic comparison of statistical analyses
of electronic and vibrational circular dichroism for secondary structure prediction
of selected proteins. Biochemistry, 30(28) :6885–95, 1991.
[195] M. Parisien and F. Major. The MC-Fold and MC-Sym pipeline infers RNA structure
from sequence data. Nature, 452(7183) :51–5, 2008.
[196] L. Pauling and R. B. Corey. The pleated sheet, a new layer configuration of
polypeptide chains. Proc Natl Acad Sci U S A, 37(5) :251–6, 1951.
115Bibliographie
[197] L. Pauling, R. B. Corey, and H. R. Branson. The structure of proteins ; two
hydrogen-bonded helical configurations of the polypeptide chain. Proc Natl Acad
Sci U S A, 37(4) :205–11, 1951.
[198] K. P. Peters, J. Fauck, and C. Frommel. The automatic search for ligand binding
sites in proteins of known three-dimensional structure using only geometric
criteria. J Mol Biol, 256(1) :201–13, 1996.
[199] B. Pierce, W. Tong, and Z. Weng. M-ZDOCK : a grid-based approach for Cn
symmetric multimer docking. Bioinformatics, 21(8) :1472–8, 2005.
[200] H. Ponstingl, K. Henrick, and J. M. Thornton. Discriminating between homodimeric
and monomeric proteins in the crystalline state. Proteins, 41(1) :47–57,
2000.
[201] A. Poupon. Voronoi and Voronoi-related tessellations in studies of protein structure
and interaction. Curr Opin Struct Biol, 14(2) :233–41, 2004.
[202] R. Pribic, I. H. van Stokkum, D. Chapman, P. I. Haris, and M. Bloemendal. Protein
secondary structure from Fourier transform infrared and/or circular dichroism
spectra. Anal Biochem, 214(2) :366–78, 1993.
[203] T. Puton, L. Kozlowski, I. Tuszynska, K. Rother, and J. M. Bujnicki. Computational
methods for prediction of protein-RNA interactions. J Struct Biol, 179(3) :261–8,
2012.
[204] L. Perez-Cano, B. Jim ´ enez-Garc ´ ´ıa, and J. Fernandez-Recio. A protein-RNA ´
docking benchmark (II) : extended set from experimental and homology modeling
data. Proteins, 80(7) :1872–1882, Jul 2012.
[205] L. Perez-Cano, A. Solernou, C. Pons, and J. Fern ´ andez-Recio. Structural predic- ´
tion of protein-RNA interaction by computational docking with propensity-based
statistical potentials. Pac Symp Biocomput, pages 293–301, 2010.
[206] M. L. Quillin and B. W. Matthews. Accurate calculation of the density of proteins.
Acta Crystallogr D Biol Crystallogr, 56 (Pt 7) :791–4, 2000.
[207] J. R. Quinlan. C4.5 : Programs for Machine Learning. Morgan Kaufmann Publishers
Inc., San Francisco, CA, USA, 1993.
[208] A. Rakotomamonjy. Optimizing area under ROC curves with SVMs. ROCAI’04,
Jan 2004.
[209] G. N. Ramachandran. Conformation of polypeptides and proteins. Advances in
protein chemistry, 23 :283, 1968.
[210] J. Reeder, M. Hochsmann, M. Rehmsmeier, B. Voss, and R. Giegerich. Beyond ¨
Mfold : recent advances in RNA bioinformatics. J Biotechnol, 124(1) :41–55, Jun
2006.
[211] F. M. Richards. The interpretation of protein structures : total volume, group
volume distributions and packing density. J Mol Biol, 82(1) :1–14, 1974.
[212] F. M. Richards. Calculation of molecular volumes and areas for structures of
known geometry. Methods Enzymol, 115 :440–64, 1985.
116[213] D. W. Ritchie. Evaluation of protein docking predictions using Hex 3.1 in CAPRI
rounds 1 and 2. Proteins, 52(1) :98–106, 2003.
[214] M. Roche, J. Aze, Y. Kodratoff, and M. Sebag. Learning interestingness mea- ´
sures in terminology extraction. a ROC-based approach. In Jose Hern ´ andez- ´
Orallo, Cesar Ferri, Nicolas Lachiche, and Peter A. Flach, editors, ´ ROC Analysis
in Artificial Intelligence, 1st International Workshop, ROCAI-2004, Valencia,
Spain, August 22, 2004, ROCAI, pages 81–88, 2004.
[215] G. D. Rose, A. R. Geselowitz, G. J. Lesser, R. H. Lee, and M. H. Zehfus.
Hydrophobicity of amino acid residues in globular proteins. Science,
229(4716) :834–8, 1985.
[216] B. Rost, C. Sander, and R. Schneider. Redefining the goals of protein secondary
structure prediction. J Mol Biol, 235(1) :13–26, 1994.
[217] K. Rother, M. Rother, M. Boniecki, T. Puton, and J. M. Bujnicki. RNA and protein
3D structure modeling : similarities and differences. J Mol Model, 17(9) :2325–
36, 2011.
[218] M. Ruff, S. Krishnaswamy, M. Boeglin, A. Poterszman, A. Mitschler, A. Podjarny,
B. Rees, J. C. Thierry, and D. Moras. Class II aminoacyl transfer RNA synthetases
: crystal structure of yeast aspartyl-tRNA synthetase complexed with
tRNA (asp). Science, 252(5013) :1682–1689, 1991.
[219] S. P. Ryder and S. A. Strobel. Nucleotide analog interference mapping. Methods,
18(1) :38–50, May 1999.
[220] B. Sandak, R. Nussinov, and H. J. Wolfson. A method for biomolecular structural
recognition and docking allowing conformational flexibility. J Comput Biol,
5(4) :631–54, 1998.
[221] C. Sander and R. Schneider. Database of homology-derived protein structures
and the structural meaning of sequence alignment. Proteins, 9(1) :56–68, 1991.
[222] M. Schaefer, C. Bartels, F. Leclerc, and M. Karplus. Effective atom volumes for
implicit solvent models : comparison between Voronoi volumes and minimum
fluctuation volumes. J Comput Chem, 22(15) :1857–1879, 2001.
[223] R. E. Schapire, Y. Freund, P. Bartlett, and W. S. Lee. Boosting the margin : a new
explanation for the effectiveness of voting methods. The Annals of Statistics,
26(5) :1651–1686, 10 1998.
[224] D. Schneidman-Duhovny, Y. Inbar, R. Nussinov, and H. J. Wolfson. Geometrybased
flexible and symmetric protein docking. Proteins, 60(2) :224–31, 2005.
[225] D. Schneidman-Duhovny, Y. Inbar, V. Polak, M. Shatsky, I. Halperin,
H. Benyamini, A. Barzilai, O. Dror, N. Haspel, R. Nussinov, and H.J. Wolfson.
Taking geometry to its edge : fast unbound rigid (and hinge-bent) docking. Proteins,
52(1) :107–12, 2003.
[226] O. Schueler-Furman, C. Wang, and D. Baker. Progress in protein-protein docking
: atomic resolution predictions in the CAPRI experiment using RosettaDock
with an improved treatment of side-chain flexibility. Proteins, 60(2) :187–94,
2005.
117Bibliographie
[227] L. G. Scott and M. Hennig. RNA structure determination by NMR. Methods Mol
Biol, 452 :29–61, 2008.
[228] M. Sebag, J. Aze, and N. Lucas. Impact studies and sensitivity analysis in med- ´
ical data mining with ROC-based genetic learning. In Proceedings of the Third
IEEE International Conference on Data Mining, ICDM 2003, pages 637–40, Nov
2003.
[229] P. Setny and M. Zacharias. A coarse-grained force field for protein-RNA docking.
Nucleic Acids Res, 39(21) :9118–29, 2011.
[230] B. A. Shapiro, Y. G. Yingling, W. Kasprzak, and E. Bindewald. Bridging the gap
in RNA structure prediction. Curr Opin Struct Biol, 17(2) :157–165, Apr 2007.
[231] Paul Sherwood, Bernard R. Brooks, and Mark S P. Sansom. Multiscale methods
for macromolecular simulations. Curr Opin Struct Biol, 18(5) :630–640, Oct 2008.
[232] B. K. Shoichet, I. D. Kuntz, and D. L. Bodian. Molecular docking using shape
descriptors. J Comp Chem, 13 :380–397, 1992.
[233] R. K. Singh, A. Tropsha, and I. I. Vaisman. Delaunay tessellation of proteins :
four body nearest-neighbor propensities of amino acid residues. J Comput Biol,
3(2) :213–21, 1996.
[234] G. R. Smith and M. J. Sternberg. Prediction of protein-protein interactions by
docking methods. Curr Opin Struct Biol, 12(1) :28–35, 2002.
[235] G. R. Smith and M. J. Sternberg. Evaluation of the 3D-Dock protein docking suite
in rounds 1 and 2 of the CAPRI blind trial. Proteins, 52(1) :74–9, 2003.
[236] A. Soyer, J. Chomilier, J.P. Mornon, R. Jullien, and J.F. Sadoc. Voronoi tessellation
reveals the condensed matter character of folded proteins. Phys Rev Lett,
85(16) :3532–5, 2000.
[237] M. L. Stolowitz. Chemical protein sequencing and amino acid analysis. Curr
Opin Biotechnol, 4(1) :9–13, 1993.
[238] G. Terashi, M. Takeda-Shitaka, D. Takaya, K. Komatsu, and H. Umeyama.
Searching for protein-protein interaction sites and docking by the methods of
molecular dynamics, grid scoring, and the pairwise interaction potential of amino
acid residues. Proteins, 60(2) :289–95, 2005.
[239] C. A. Theimer, N. L. Smith, and M. Khanna. NMR studies of protein-RNA interactions.
Methods Mol Biol, 831 :197–218, 2012.
[240] R. Thiele, R. Zimmer, and T. Lengauer. Protein threading by recursive dynamic
programming. J Mol Biol, 290(3) :757–79, 1999.
[241] P. Tijerina, S. Mohr, and R. Russell. DMS footprinting of structured RNAs and
RNA-protein complexes. Nat Protoc, 2(10) :2608–2623, 2007.
[242] V. Tozzini. Coarse-grained models for proteins. Curr Opin Struct Biol, 15(2) :144–
150, Apr 2005.
[243] J. Tsai and M. Gerstein. Calculations of protein volumes : sensitivity analysis
and parameter database. Bioinformatics, 18(7) :985–95, 2002.
118[244] J. Tsai, R. Taylor, C. Chothia, and M. Gerstein. The packing density in proteins :
standard radii and volumes. J Mol Biol, 290(1) :253–66, 1999.
[245] J. Tsai, N. Voss, and M. Gerstein. Determining the minimum number of types
necessary to represent the sizes of protein atoms. Bioinformatics, 17(10) :949–
56, 2001.
[246] T. D. Tullius and B. A. Dombroski. Hydroxyl radical “footprinting” : high-resolution
information about DNA-protein contacts and application to lambda repressor and
Cro protein. Proc Natl Acad Sci U S A, 83(15) :5469–5473, Aug 1986.
[247] I. Tuszynska and J. M. Bujnicki. DARS-RNP and QUASI-RNP : new statistical
potentials for protein-RNA docking. BMC Bioinformatics, 12 :348, 2011.
[248] P. Uetz, L. Giot, G. Cagney, T. A. Mansfield, R. S. Judson, J. R. Knight, D. Lockshon,
V. Narayan, M. Srinivasan, P. Pochart, A. Qureshi-Emili, Y. Li, B. Godwin,
D. Conover, T. Kalbfleisch, G. Vijayadamodar, M. Yang, M. Johnston, S. Fields,
and J. M. Rothberg. A comprehensive analysis of protein-protein interactions in
Saccharomyces cerevisiae. Nature, 403(6770) :623–7, 2000.
[249] I. A. Vakser and P. Kundrotas. Predicting 3D structures of protein-protein complexes.
Curr Pharm Biotechnol, 9(2) :57–66, 2008.
[250] A. D. van Dijk, S. J. de Vries, C. Dominguez, H. Chen, H. X. Zhou, and A. M.
Bonvin. Data-driven docking : HADDOCK’s adventures in CAPRI. Proteins,
60(2) :232–8, 2005.
[251] S. Viswanath, D. V. Ravikant, and R. Elber. Improving ranking of models for
protein complexes with side chain modeling and atomic potentials. Proteins,
81(4) :592–606, 2013.
[252] M. Vuk and T. Curk. ROC curve, lift chart and calibration plot. Metodoloski zvezki,
3(1) :89–108, Jan 2006.
[253] H. Wako and T. Yamato. Novel method to detect a motif of local structures in
different protein conformations. Protein Eng, 11(11) :981–90, 1998.
[254] R. R. Walia, C. Caragea, B. A. Lewis, F. Towfic, M. Terribilini, Y. El-Manzalawy,
D. Dobbs, and V. Honavar. Protein-RNA interface residue prediction using machine
learning : an assessment of the state of the art. BMC Bioinformatics,
13 :89, 2012.
[255] H. Wang. Grid-search molecular accessible surface algorithm for solving the
protein docking problem. J Comp Chem, 12 :746–750, 1991.
[256] L. Wernisch, M. Hunting, and S. J. Wodak. Identification of structural domains in
proteins by a graph heuristic. Proteins, 35(3) :338–52, 1999.
[257] K. Wiehe, B. Pierce, J. Mintseris, W. W. Tong, R. Anderson, R. Chen, and
Z. Weng. ZDOCK and RDOCK performance in CAPRI rounds 3, 4, and 5. Proteins,
60(2) :207–13, 2005.
[258] D. S. Wishart, B. D. Sykes, and F. M. Richards. Relationship between nuclear
magnetic resonance chemical shift and protein secondary structure. J Mol Biol,
222(2) :311–33, 1991.
119Bibliographie
[259] S. J. Wodak and J. Janin. Computer analysis of protein-protein interaction. J Mol
Biol, 124(2) :323–42, 1978.
[260] S. J. Wodak and J. Janin. Structural basis of macromolecular recognition. Adv
Protein Chem, 61 :9–73, 2002.
[261] S. J. Wodak and R. Mendez. Prediction of protein-protein interactions : the
CAPRI experiment, its evaluation and implications. Curr Opin Struct Biol,
14(2) :242–9, 2004.
[262] H. J. Wolfson and R. Nussinov. Geometrical docking algorithms. A practical
approach. Methods Mol Biol, 143 :377–97, 2000.
[263] X. Yang, T. Gerczei, L. Glover, and C. C. Correll. Crystal structures of ´
restrictocin–inhibitor complexes with implications for RNA recognition and base
flipping. Nature Structural & Molecular Biology, 8(11) :968–973, 2001.
[264] K.-D. Zachmann, W. Heiden, M. Schlenkrich, and J. Brickmann. Topological analysis
of complex molecular surfaces. J Comp Chem, 13 :76–84, 1992.
[265] C. Zhang, S. Liu, and Y. Zhou. Accurate and efficient loop selections by the
DFIRE-based all-atom statistical potential. Protein Sci, 13(2) :391–9, 2004.
[266] C. Zhang, S. Liu, and Y. Zhou. Docking prediction using biological information,
ZDOCK sampling technique, and clustering guided by the DFIRE statistical energy
function. Proteins, 60(2) :314–8, 2005.
[267] C. Zhang, S. Liu, Q. Zhu, and Y. Zhou. A knowledge-based energy function
for protein-ligand, protein-protein, and protein-DNA complexes. J Med Chem,
48(7) :2325–35, 2005.
[268] J. Zhang. Protein-length distributions for the three domains of life. Trends Genet,
16(3) :107–9, 2000.
[269] S. Zheng, T. A. Robertson, and G. Varani. A knowledge-based potential function
predicts the specificity and relative binding energy of RNA-binding proteins.
FEBS J, 274(24) :6378–91, 2007.
[270] Z. H. Zhou. Towards atomic resolution structural determination by single-particle
cryo-electron microscopy. Curr Opin Struct Biol, 18(2) :218–28, 2008.
[271] H. Zhu, F. S. Domingues, I. Sommer, and T. Lengauer. NOXclass : prediction of
protein-protein interaction types. BMC Bioinformatics, 7(1) :27, 2006.
[272] X. Zhu, S. S. Ericksen, O. N. Demerdash, and J. C. Mitchell. Data-driven models
for protein interaction and design. Proteins, 81(12) :2221–8, 2013.
[273] R. Zimmer, M. Wohler, and R. Thiele. New scoring schemes for protein fold
recognition based on Voronoi contacts. Bioinformatics, 14(3) :295–308, 1998.
[274] M. Zuker. Mfold web server for nucleic acid folding and hybridization prediction.
Nucleic Acids Res, 31(13) :3406–3415, Jul 2003.
120Annexes
1 # P e rt u r b at i o n .
2 −docking : d o c k p e rt 3 8 # P e rt u r b a l i t t l e the second p a rt n e r (3A, 8d ) .
3 # P repacking .
4 −docking : dock ppk f al s e # No docking prepack mode .
5 # Output .
6 −out : pdb # Output pdb f i l e .
7 −out : o v e r w r it e t rue # O v e rw r it e o ut p ut f i l e s .
8 # Docking o pt i o n s .
9 −docking : d o c k i n g c e n t r o i d o u t e r c y c l e s 0
10 −docking : d o c k i n g c e n t r o i d i n n e r c y c l e s 0
11 −docking : n o f i l t e r s t rue
12 −docking : dock mcm f al s e
13 −docking : sc min f al s e
14 −docking : dock min f al s e
Listing .1 – Fichier de flags pour gen´ erer des candidats par perturbation. ´
1 # P e rt u r b at i o n .
2 −docking : d o c k p e rt 3 8 # P e rt u r b a l i t t l e the second p a rt n e r (3A, 8d ) .
3 −docking : randomize2 # Randomize the second p a rt n e r ( p a rt n e r B ) .
4 −docking : s p i n # Spin a l i t t l e the second p a rt n e r .
5 # P repacking .
6 −docking : dock ppk t rue # Docking prepack mode .
7 # Output .
8 −out : pdb # Output pdb f i l e .
9 −out : o v e r w r it e
10 # Docking o pt i o n s .
11 −docking : d o c k i n g l o c a l r e f i n e t rue
Listing .2 – Fichier de flags pour gen´ erer des candidats par amarrage atomique. ´
1211 # P e rt u r b at i o n .
2 −docking : d o c k p e rt 3 8 # P e rt u r b a l i t t l e the second p a rt n e r (3A, 8d ) .
3 −docking : randomize2 # Randomize the second p a rt n e r ( p a rt n e r B ) .
4 −docking : s p i n # Spin a l i t t l e the second p a rt n e r .
5 # P repacking .
6 −docking : dock ppk t rue # Docking prepack mode .
7 # Output .
8 −out : pdb # Output pdb f i l e .
9 −out : o v e r w r it e
10 # Docking o pt i o n s .
11 −docking : l o w r e s p r o t o c o l o n l y # Skip high re s docking .
Listing .3 – Fichier de flags pour gen´ erer des candidats par amarrage gros-grain. ´
1 # P e rt u r b at i o n .
2 −docking : d o c k p e rt 3 8 # P e rt u r b a l i t t l e the second p a rt n e r (3A, 8d ) .
3 −docking : randomize2 # Randomize the second p a rt n e r ( p a rt n e r B ) .
4 −docking : s p i n # Spin a l i t t l e the second p a rt n e r .
5 # P repacking .
6 −docking : dock ppk t rue # Docking prepack mode .
7 # Output .
8 −out : pdb # Output pdb f i l e .
9 −out : o v e r w r it e t rue # O v e rw r it e o ut p ut f i l e s .
Listing .4 – Fichier de flags pour gen´ erer des candidats par amarrage en aveugle. ´
1221asy (ES = 3.69)
Irmsd (Å)
Score
0 20
176 223
Irmsd (Å)
Score
0 20
−680 3420
1av6 (ES = 1.53)
Irmsd (Å)
Score
0 20
−4
6
Irmsd (Å)
Score
0 20
−310 4560
1b23 (ES = 2.87)
Irmsd (Å)
Score
0 20
−134 −90
Irmsd (Å)
Score
0 20
−340 3220
1c0a (ES = 5.89)
Irmsd (Å)
Score
0 20
−194 −162
Irmsd (Å)
Score
0 20
−620 3380
1ddl (ES = 2.64)
Irmsd (Å)
Score
0 20
26 44
Irmsd (Å)
Score
0 20
−380 1860
1dfu (ES = 5.07)
Irmsd (Å)
Score
0 20
−22 −7
Irmsd (Å)
Score
0 20
−120 3500
1di2 (ES = 4.05)
Irmsd (Å)
Score
0 20
−14 −2
Irmsd (Å)
Score
0 20
−160 2800
1e8o (ES = 2.08)
Irmsd (Å)
Score
0 20
−11 −5
Irmsd (Å)
Score
0 20
−140 3830
1f7u (ES = 4.46)
Irmsd (Å)
Score
0 20
−237 −191
Irmsd (Å)
Score
0 20
−700 3960
FIGURE S1 – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´ energie ´
et son IRMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme presque- ´
natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle apprise ´
par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle disponible
par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque diagramme `
(candidats indiques en gris). ´
1231feu (ES = 1.72)
Irmsd (Å)
Score
0 20
−78 −48
Irmsd (Å)
Score
0 20
−200 3350
1ffy (ES = 7.09)
Irmsd (Å)
Score
0 20
−69 −47
Irmsd (Å)
Score
0 20
−750 5130
1fxl (ES = 6.26)
Irmsd (Å)
Score
0 20
−7
2
Irmsd (Å)
Score
0 20
−140 3330
1gtf (ES = 1.61)
Irmsd (Å)
Score
0 20
−35 −20
Irmsd (Å)
Score
0 20
−140 5060
1h3e (ES = 5.02)
Irmsd (Å)
Score
0 20
−18 −5
Irmsd (Å)
Score
0 20
−250 4130
1h4s (ES = 1.9)
Irmsd (Å)
Score
0 20
−326 −287
Irmsd (Å)
Score
0 20
−1060 4100
1hq1 (ES = 2.42)
Irmsd (Å)
Score
0 20
−30 −17
Irmsd (Å)
Score
0 20
−110 4770
1j1u (ES = 1.4)
Irmsd (Å)
Score
0 20
−35 −29
Irmsd (Å)
Score
0 20
−370 3270
1j2b (ES = 6.25)
Irmsd (Å)
Score
0 20
91 110
Irmsd (Å)
Score
0 20
−660 5460
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1241jbs (ES = 0.79)
Irmsd (Å)
Score
0 20
−22 −12
Irmsd (Å)
Score
0 20
−150 5310
1jid (ES = 0.05)
Irmsd (Å)
Score
0 20
−14 −9
Irmsd (Å)
Score
0 20
−150 4350
1k8w (ES = 7.73)
Irmsd (Å)
Score
0 20
−31 −20
Irmsd (Å)
Score
0 20
−320 3300
1knz (ES = 5.68)
Irmsd (Å)
Score
0 20
−25 −17
Irmsd (Å)
Score
0 20
−210 2980
1lng (ES = 3.91)
Irmsd (Å)
Score
0 20
−41 −26
Irmsd (Å)
Score
0 20
−140 5170
1m8v (ES = 1.7)
Irmsd (Å)
Score
0 20
−2
5
Irmsd (Å)
Score
0 20
−60 2610
1m8x (ES = 4.61)
Irmsd (Å)
Score
0 20
−10
2
Irmsd (Å)
Score
0 20
−350 4470
1mzp (ES = 3.15)
Irmsd (Å)
Score
0 20
−107 −69
Irmsd (Å)
Score
0 20
−240 5100
1n35 (ES = 7.27)
Irmsd (Å)
Score
0 20
−28 −20
Irmsd (Å)
Score
0 20
−1190 4730
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1251n78 (ES = 3.67)
Irmsd (Å)
Score
0 20
−234 −191
Irmsd (Å)
Score
0 20
−530 3400
1ooa (ES = 2.56)
Irmsd (Å)
Score
0 20
−8
4
Irmsd (Å)
Score
0 20
−260 5530
1pgl (ES = 0)
Irmsd (Å)
Score
0 20
−48 −31
Irmsd (Å)
Score
0 20
−470 2510
1q2r (ES = 6.33)
Irmsd (Å)
Score
0 20
−92 −80
Irmsd (Å)
Score
0 20
−770 3560
1qf6 (ES = 7.3)
Irmsd (Å)
Score
0 20
−32 −17
Irmsd (Å)
Score
0 20
−600 4320
1qtq (ES = 6.36)
Irmsd (Å)
Score
0 20
−29 −12
Irmsd (Å)
Score
0 20
−550 4830
1r3e (ES = 6.89)
Irmsd (Å)
Score
0 20
−18
3
Irmsd (Å)
Score
0 20
−260 4080
1r9f (ES = 3.19)
Irmsd (Å)
Score
0 20
−30 −18
Irmsd (Å)
Score
0 20
−170 2790
1sds (ES = 1.51)
Irmsd (Å)
Score
0 20
−5
3
Irmsd (Å)
Score
0 20
−120 4170
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1261ser (ES = 4.35)
Irmsd (Å)
Score
0 20
−65 −48
Irmsd (Å)
Score
0 20
−760 3310
1si3 (ES = 4.66)
Irmsd (Å)
Score
0 20
1 11
Irmsd (Å)
Score
0 20
−90 4940
1t0k (ES = 1.34)
Irmsd (Å)
Score
0 20
21 34
Irmsd (Å)
Score
0 20
−410 5520
1tfw (ES = 4.38)
Irmsd (Å)
Score
0 20
−63 −49
Irmsd (Å)
Score
0 20
−930 5030
1u0b (ES = 6.33)
Irmsd (Å)
Score
0 20
−219 −154
Irmsd (Å)
Score
0 20
−490 4940
1un6 (ES = 2.93)
Irmsd (Å)
Score
0 20
−150 −87
Irmsd (Å)
Score
0 20
−120 4350
1uvj (ES = 3.2)
Irmsd (Å)
Score
0 20
−44 −37
Irmsd (Å)
Score
0 20
−670 2080
1vfg (ES = 0.32)
Irmsd (Å)
Score
0 20
58 68
Irmsd (Å)
Score
0 20
−130 2740
1wpu (ES = 3.48)
Irmsd (Å)
Score
0 20
−8 −3
Irmsd (Å)
Score
0 20
−150 3320
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1271wsu (ES = 1.72)
Irmsd (Å)
Score
0 20
−6
4
Irmsd (Å)
Score
0 20
−150 3870
1wz2 (ES = 5.18)
Irmsd (Å)
Score
0 20
43 57
Irmsd (Å)
Score
0 20
−380 5450
1yvp (ES = 2.69)
Irmsd (Å)
Score
0 20
−14 −5
Irmsd (Å)
Score
0 20
−510 3730
1zbh (ES = 1.74)
Irmsd (Å)
Score
0 20
−26 −12
Irmsd (Å)
Score
0 20
−220 4350
2a8v (ES = 2.2)
Irmsd (Å)
Score
0 20
−3
0
Irmsd (Å)
Score
0 20
−100 1840
2anr (ES = 2.06)
Irmsd (Å)
Score
0 20
15 25
Irmsd (Å)
Score
0 20
−140 2160
2asb (ES = 5.26)
Irmsd (Å)
Score
0 20
−33 −22
Irmsd (Å)
Score
0 20
−160 3430
2az0 (ES = 4.33)
Irmsd (Å)
Score
0 20
−20 −7
Irmsd (Å)
Score
0 20
−170 4540
2azx (ES = 2.29)
Irmsd (Å)
Score
0 20
−50 −43
Irmsd (Å)
Score
0 20
−770 4220
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1282b3j (ES = 3.18)
Irmsd (Å)
Score
0 20
−171 −135
Irmsd (Å)
Score
0 20
−330 3020
2bgg (ES = 4.89)
Irmsd (Å)
Score
0 20
−5
7
Irmsd (Å)
Score
0 20
−400 2820
2bh2 (ES = 7.08)
Irmsd (Å)
Score
0 20
−20 −6
Irmsd (Å)
Score
0 20
−390 3620
2bte (ES = 2.15)
Irmsd (Å)
Score
0 20
−164 −139
Irmsd (Å)
Score
0 20
−810 2290
2bu1 (ES = 2.41)
Irmsd (Å)
Score
0 20
−9
0
Irmsd (Å)
Score
0 20
−110 4340
2bx2 (ES = 2.08)
Irmsd (Å)
Score
0 20
2 12
Irmsd (Å)
Score
0 20
−250 1840
2ct8 (ES = 3.09)
Irmsd (Å)
Score
0 20
−295 −235
Irmsd (Å)
Score
0 20
−440 2770
2czj (ES = 3.51)
Irmsd (Å)
Score
0 20
0
9
Irmsd (Å)
Score
0 20
−20 4190
2d6f (ES = 2.75)
Irmsd (Å)
Score
0 20
6 17
Irmsd (Å)
Score
0 20
−290 3700
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1292der (ES = 4.52)
Irmsd (Å)
Score
0 20
−23 −13
Irmsd (Å)
Score
0 20
−250 3190
2du3 (ES = 2.11)
Irmsd (Å)
Score
0 20
−52 −42
Irmsd (Å)
Score
0 20
−850 4130
2e9t (ES = 7.7)
Irmsd (Å)
Score
0 20
−31 −15
Irmsd (Å)
Score
0 20
−430 4360
2f8k (ES = 1.47)
Irmsd (Å)
Score
0 20
−7 −2
Irmsd (Å)
Score
0 20
−110 4840
2f8s (ES = 2.19)
Irmsd (Å)
Score
0 20
−13 −5
Irmsd (Å)
Score
0 20
−530 1560
2fk6 (ES = 2.93)
Irmsd (Å)
Score
0 20
−26 −16
Irmsd (Å)
Score
0 20
−270 2750
2fmt (ES = 5.99)
Irmsd (Å)
Score
0 20
−12
2
Irmsd (Å)
Score
0 20
−290 3400
2gic (ES = 3.06)
Irmsd (Å)
Score
0 20
7 12
Irmsd (Å)
Score
0 20
−260 2830
2gje (ES = 2.6)
Irmsd (Å)
Score
0 20
−3
7
Irmsd (Å)
Score
0 20
−150 5750
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1302gjw (ES = 4.25)
Irmsd (Å)
Score
0 20
−7
4
Irmsd (Å)
Score
0 20
−470 5040
2gtt (ES = 3.38)
Irmsd (Å)
Score
0 20
19 26
Irmsd (Å)
Score
0 20
−210 5000
2gxb (ES = 1.87)
Irmsd (Å)
Score
0 20
−60 −23
Irmsd (Å)
Score
0 20
−70 3040
2hw8 (ES = 3.72)
Irmsd (Å)
Score
0 20
−45 −27
Irmsd (Å)
Score
0 20
−240 4120
2i82 (ES = 7.14)
Irmsd (Å)
Score
0 20
−44 −26
Irmsd (Å)
Score
0 20
−210 5770
2iy5 (ES = 6.69)
Irmsd (Å)
Score
0 20
22 35
Irmsd (Å)
Score
0 20
−810 5720
2jlv (ES = 0.74)
Irmsd (Å)
Score
0 20
−142 −108
Irmsd (Å)
Score
0 20
−210 5420
2nqp (ES = 3.02)
Irmsd (Å)
Score
0 20
−28 −15
Irmsd (Å)
Score
0 20
−510 4170
2nug (ES = 6.56)
Irmsd (Å)
Score
0 20
−67 −42
Irmsd (Å)
Score
0 20
−550 3410
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1312ozb (ES = 6.82)
Irmsd (Å)
Score
0 20
−4 12
Irmsd (Å)
Score
0 20
−360 2950
2pjp (ES = 1.75)
Irmsd (Å)
Score
0 20
−16 −8
Irmsd (Å)
Score
0 20
−140 4450
2po1 (ES = 1.35)
Irmsd (Å)
Score
0 20
−38 −28
Irmsd (Å)
Score
0 20
−510 4400
2qux (ES = 3.18)
Irmsd (Å)
Score
0 20
−16 −7
Irmsd (Å)
Score
0 20
−240 4040
2r7r (ES = 4.54)
Irmsd (Å)
Score
0 20
−15 −6
Irmsd (Å)
Score
0 20
−900 2450
2r8s (ES = 1.96)
Irmsd (Å)
Score
0 20
−369 −332
Irmsd (Å)
Score
0 20
−590 2480
2vnu (ES = 2.2)
Irmsd (Å)
Score
0 20
−63 −34
Irmsd (Å)
Score
0 20
−650 6230
2voo (ES = 1.69)
Irmsd (Å)
Score
0 20
−9 −5
Irmsd (Å)
Score
0 20
−180 2510
2w2h (ES = 3.96)
Irmsd (Å)
Score
0 20
101 109
Irmsd (Å)
Score
0 20
300 6590
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1322wj8 (ES = 6.11)
Irmsd (Å)
Score
0 20
16 24
Irmsd (Å)
Score
0 20
−340 2710
2z2q (ES = 2.64)
Irmsd (Å)
Score
0 20
49 56
Irmsd (Å)
Score
0 20
−810 2550
2zi0 (ES = 0.48)
Irmsd (Å)
Score
0 20
−17 −7
Irmsd (Å)
Score
0 20
−100 4820
2zko (ES = 4.04)
Irmsd (Å)
Score
0 20
−29 −14
Irmsd (Å)
Score
0 20
−220 3780
2zni (ES = 6.44)
Irmsd (Å)
Score
0 20
41 57
Irmsd (Å)
Score
0 20
−450 4090
2zue (ES = 4.53)
Irmsd (Å)
Score
0 20
−216 −171
Irmsd (Å)
Score
0 20
−710 4050
2zzm (ES = 8.06)
Irmsd (Å)
Score
0 20
−18 1
Irmsd (Å)
Score
0 20
−260 4930
3a6p (ES = 7.17)
Irmsd (Å)
Score
0 20
2 31
Irmsd (Å)
Score
0 20
−1120 3810
3bso (ES = 5.84)
Irmsd (Å)
Score
0 20
−31 −15
Irmsd (Å)
Score
0 20
−490 4210
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1333bt7 (ES = 4.98)
Irmsd (Å)
Score
0 20
−16 −7
Irmsd (Å)
Score
0 20
−280 2520
3ciy (ES = 2.79)
Irmsd (Å)
Score
0 20
6 21
Irmsd (Å)
Score
0 20
−440 4200
3d2s (ES = 0.79)
Irmsd (Å)
Score
0 20
−27 −14
Irmsd (Å)
Score
0 20
−110 2750
3dd2 (ES = 2)
Irmsd (Å)
Score
0 20
−35 −23
Irmsd (Å)
Score
0 20
−320 5130
3egz (ES = 3.05)
Irmsd (Å)
Score
0 20
−17 −6
Irmsd (Å)
Score
0 20
−120 4940
3eph (ES = 8.81)
Irmsd (Å)
Score
0 20
−17 −4
Irmsd (Å)
Score
0 20
−380 4410
3eqt (ES = 7.19)
Irmsd (Å)
Score
0 20
−16 −1
Irmsd (Å)
Score
0 20
−250 3430
3ex7 (ES = 4.06)
Irmsd (Å)
Score
0 20
−40 −29
Irmsd (Å)
Score
0 20
−610 2100
3fht (ES = 3.66)
Irmsd (Å)
Score
0 20
−24 −17
Irmsd (Å)
Score
0 20
−370 1790
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1343foz (ES = 8)
Irmsd (Å)
Score
0 20
−28 −15
Irmsd (Å)
Score
0 20
−360 4800
3gib (ES = 1.8)
Irmsd (Å)
Score
0 20
−3 1
Irmsd (Å)
Score
0 20
−170 4470
3hax (ES = 6.51)
Irmsd (Å)
Score
0 20
−59 −37
Irmsd (Å)
Score
0 20
−430 4460
3hl2 (ES = 3.66)
Irmsd (Å)
Score
0 20
−28 −20
Irmsd (Å)
Score
0 20
−790 1710
3htx (ES = 8.04)
Irmsd (Å)
Score
0 20
15 30
Irmsd (Å)
Score
0 20
−500 5330
3i5x (ES = 3.55)
Irmsd (Å)
Score
0 20
−29 −24
Irmsd (Å)
Score
0 20
−550 2350
3iab (ES = 5.28)
Irmsd (Å)
Score
0 20
−18 −10
Irmsd (Å)
Score
0 20
−250 5270
3icq (ES = 2.83)
Irmsd (Å)
Score
0 20
−197 −141
Irmsd (Å)
Score
0 20
−360 4850
3iev (ES = 5.64)
Irmsd (Å)
Score
0 20
−27 −19
Irmsd (Å)
Score
0 20
−290 2780
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1353k62 (ES = 3.4)
Irmsd (Å)
Score
0 20
−23 −13
Irmsd (Å)
Score
0 20
−430 3960
3l25 (ES = 7.02)
Irmsd (Å)
Score
0 20
−174 −127
Irmsd (Å)
Score
0 20
−530 3980
3snp (ES = 6.63)
Irmsd (Å)
Score
0 20
−54 −42
Irmsd (Å)
Score
0 20
−810 2450
FIGURE S1 (cont.) – Diagramme par complexe de l’energie en fonction du I ´ RMSD (EvsRMS).
Chaque candidat est positionne (par une croix) sur le diagramme selon son ´
energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es comme ´
presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est celle ´
apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1361b7f (ES = 5.15)
Irmsd (Å)
Score
0 20
−115 −98
Irmsd (Å)
Score
0 20
−90 3490
1c9s (ES = 1.19)
Irmsd (Å)
Score
0 20
−50 −34
Irmsd (Å)
Score
0 20
−60 3700
1dk1 (ES = 2.58)
Irmsd (Å)
Score
0 20
−145 −122
Irmsd (Å)
Score
0 20
−90 3140
1e7k (ES = 1.33)
Irmsd (Å)
Score
0 20
−126 −97
Irmsd (Å)
Score
0 20
−90 4790
1ec6 (ES = 0.88)
Irmsd (Å)
Score
0 20
−90 −73
Irmsd (Å)
Score
0 20
−80 3420
1efw (ES = 2.9)
Irmsd (Å)
Score
0 20
−492 −468
Irmsd (Å)
Score
0 20
−400 3340
1ekz (ES = 0.81)
Irmsd (Å)
Score
0 20
−98 −75
Irmsd (Å)
Score
0 20
−60 3960
1g1x (ES = 0.54)
Irmsd (Å)
Score
0 20
−166 −148
Irmsd (Å)
Score
0 20
−110 3170
1hc8 (ES = 3.63)
Irmsd (Å)
Score
0 20
−123 −105
Irmsd (Å)
Score
0 20
−110 1860
FIGURE S2 – Diagramme par complexe des Benchmarks I et II de l’energie en fonction ´
du IRMSD (EvsRMS). Chaque candidat est positionne (par une croix) sur le diagramme ´
selon son energie et son I ´ RMSD. Les 10 premiers candidats en energie sont indiqu ´ es´
comme presque-natifs (en bleu) ou leurres (en rouge). La fonction de score utilisee est ´
celle apprise par ROGER en leave-”one-pdb”-out pour les grands diagrammes et celle
disponible par defaut dans RosettaDock dans les encarts en bas ´ a droite de chaque `
diagramme (candidats indiques en gris). ´
1371hvu (ES = 1.93)
Irmsd (Å)
Score
0 20
−667 −636
Irmsd (Å)
Score
0 20
1210 6690
1jbr (ES = 0.02)
Irmsd (Å)
Score
0 20
−135 −112
Irmsd (Å)
Score
0 20
−140 4470
1kog (ES = 1.14)
Irmsd (Å)
Score
0 20
−365 −338
Irmsd (Å)
Score
0 20
−300 4420
1kq2 (ES = 5.4)
Irmsd (Å)
Score
0 20
−255 −236
Irmsd (Å)
Score
0 20
−270 4150
1m5o (ES = 1.33)
Irmsd (Å)
Score
0 20
−191 −170
Irmsd (Å)
Score
0 20
−200 3750
1m8w (ES = 1.27)
Irmsd (Å)
Score
0 20
−326 −307
Irmsd (Å)
Score
0 20
−360 3870
1mfq (ES = 2.35)
Irmsd (Å)
Score
0 20
−231 −204
Irmsd (Å)
Score
0 20
−180 4830
1mms (ES = 3.31)
Irmsd (Å)
Score
0 20
−169 −146
Irmsd (Å)
Score
0 20
−130 2850
1msw (ES = 8.84)
Irmsd (Å)
Score
0 20
−692 −656
Irmsd (Å)
Score
0 20
−500 5040
FIGURE S2 (cont.) – Diagramme par complexe des Benchmarks I et II de l’energie en ´
fonction du IRMSD (EvsRMS). Chaque candidat est positionne (par une croix) sur le ´
diagramme selon son energie et son I ´ RMSD. Les 10 premiers candidats en energie ´
sont indiques comme presque-natifs (en bleu) ou leurres (en rouge). La fonction de ´
score utilisee est celle apprise par R ´ OGER en leave-”one-pdb”-out pour les grands
diagrammes et celle disponible par defaut dans RosettaDock dans les encarts en bas ´
a droite de chaque diagramme (candidats indiqu ` es en gris). ´
1381ob2 (ES = 3.38)
Irmsd (Å)
Score
0 20
−320 −293
Irmsd (Å)
Score
0 20
−270 3590
1u63 (ES = 1.13)
Irmsd (Å)
Score
0 20
−191 −162
Irmsd (Å)
Score
0 20
−50 4650
1t4l (ES = 1.64)
Irmsd (Å)
Score
0 20
−27041 −25961
Irmsd (Å)
Score
0 20
9803120 9970860
1ttt (ES = 3.25)
Irmsd (Å)
Score
0 20
−374 −348
Irmsd (Å)
Score
0 20
−260 3610
1wne (ES = 4.41)
Irmsd (Å)
Score
0 20
−346 −324
Irmsd (Å)
Score
0 20
−410 4170
1zbi (ES = 2.95)
Irmsd (Å)
Score
0 20
−150 −124
Irmsd (Å)
Score
0 20
−130 3840
2ad9 (ES = 2.53)
Irmsd (Å)
Score
0 20
−64 −54
Irmsd (Å)
Score
0 20
−70 2080
2adb (ES = 3.37)
Irmsd (Å)
Score
0 20
−86 −76
Irmsd (Å)
Score
0 20
−100 2410
2adc (ES = 2.61)
Irmsd (Å)
Score
0 20
−148 −136
Irmsd (Å)
Score
0 20
−180 2440
FIGURE S2 (cont.) – Diagramme par complexe des Benchmarks I et II de l’energie en ´
fonction du IRMSD (EvsRMS). Chaque candidat est positionne (par une croix) sur le ´
diagramme selon son energie et son I ´ RMSD. Les 10 premiers candidats en energie ´
sont indiques comme presque-natifs (en bleu) ou leurres (en rouge). La fonction de ´
score utilisee est celle apprise par R ´ OGER en leave-”one-pdb”-out pour les grands
diagrammes et celle disponible par defaut dans RosettaDock dans les encarts en bas ´
a droite de chaque diagramme (candidats indiqu ` es en gris). ´
1392b6g (ES = 0.02)
Irmsd (Å)
Score
0 20
−95 −74
Irmsd (Å)
Score
0 20
−80 3630
2c0b (ES = 2.98)
Irmsd (Å)
Score
0 20
−327 −310
Irmsd (Å)
Score
0 20
−50 3410
2dra (ES = 6.16)
Irmsd (Å)
Score
0 20
−392 −369
Irmsd (Å)
Score
0 20
−440 4260
2err (ES = 2.48)
Irmsd (Å)
Score
0 20
−80 −62
Irmsd (Å)
Score
0 20
−90 3730
2ez6 (ES = 2.92)
Irmsd (Å)
Score
0 20
−278 −251
Irmsd (Å)
Score
0 20
−310 3850
2hgh (ES = 1.03)
Irmsd (Å)
Score
0 20
−138 −110
Irmsd (Å)
Score
0 20
−130 6030
2i91 (ES = 7.35)
Irmsd (Å)
Score
0 20
−444 −421
Irmsd (Å)
Score
0 20
−390 3710
2ix1 (ES = 2.14)
Irmsd (Å)
Score
0 20
−482 −451
Irmsd (Å)
Score
0 20
−580 6730
2py9 (ES = 2.95)
Irmsd (Å)
Score
0 20
−110 −101
Irmsd (Å)
Score
0 20
−110 1660
FIGURE S2 (cont.) – Diagramme par complexe des Benchmarks I et II de l’energie en ´
fonction du IRMSD (EvsRMS). Chaque candidat est positionne (par une croix) sur le ´
diagramme selon son energie et son I ´ RMSD. Les 10 premiers candidats en energie ´
sont indiques comme presque-natifs (en bleu) ou leurres (en rouge). La fonction de ´
score utilisee est celle apprise par R ´ OGER en leave-”one-pdb”-out pour les grands
diagrammes et celle disponible par defaut dans RosettaDock dans les encarts en bas ´
a droite de chaque diagramme (candidats indiqu ` es en gris). ´
1403bo2 (ES = 2.73)
Irmsd (Å)
Score
0 20
−295 −273
Irmsd (Å)
Score
0 20
−140 4850
3bsb (ES = 1.55)
Irmsd (Å)
Score
0 20
−306 −283
Irmsd (Å)
Score
0 20
−290 4870
3bsx (ES = 1.2)
Irmsd (Å)
Score
0 20
−315 −294
Irmsd (Å)
Score
0 20
−340 4660
3bx2 (ES = 3.09)
Irmsd (Å)
Score
0 20
−315 −296
Irmsd (Å)
Score
0 20
−310 4500
FIGURE S2 (cont.) – Diagramme par complexe des Benchmarks I et II de l’energie en ´
fonction du IRMSD (EvsRMS). Chaque candidat est positionne (par une croix) sur le ´
diagramme selon son energie et son I ´ RMSD. Les 10 premiers candidats en energie ´
sont indiques comme presque-natifs (en bleu) ou leurres (en rouge). La fonction de ´
score utilisee est celle apprise par R ´ OGER en leave-”one-pdb”-out pour les grands
diagrammes et celle disponible par defaut dans RosettaDock dans les encarts en bas ´
a droite de chaque diagramme (candidats indiqu ` es en gris). ´
1411m5o (ES = 4.75)
Irmsd (Å)
Score
0 20
−194 −174
Irmsd (Å)
Score
0 20
−200 3830
1qtq (ES = 6.09)
Irmsd (Å)
Score
0 20
−437 −403
Irmsd (Å)
Score
0 20
−380 5500
1wpu (ES = 3.15)
Irmsd (Å)
Score
0 20
−116 −103
Irmsd (Å)
Score
0 20
−150 2460
1yvp (ES = 0.2)
Irmsd (Å)
Score
0 20
−484 −459
Irmsd (Å)
Score
0 20
−540 3980
1zbh (ES = 0)
Irmsd (Å)
Score
0 20
−188 −165
Irmsd (Å)
Score
0 20
−200 3840
2ad9 (ES = 6.06)
Irmsd (Å)
Score
0 20
−50 −42
Irmsd (Å)
Score
0 20
−20 2170
FIGURE S3 – Diagramme par complexe des 6 complexes avec proteine non li ´ ee de ´
l’energie en fonction du I ´ RMSD (EvsRMS). Chaque candidat est positionne (par une ´
croix) sur le diagramme selon son energie et son I ´ RMSD. Les 10 premiers candidats
en energie sont indiqu ´ es comme presque-natifs (en bleu) ou leurres (en rouge). La ´
fonction de score utilisee est celle apprise par R ´ OGER en leave-”one-pdb”-out pour les
grands diagrammes et celle disponible par defaut dans RosettaDock dans les encarts ´
en bas a droite de chaque diagramme (candidats indiqu ` es en gris). ´
142Precision ´ Rappel Fscore Accuracy Sensibilite´ Specificit ´ e´
pdb ROS POS ROS POS ROS POS ROS POS ROS POS ROS POS
1asy 0.72 0.75 1.00 0.99 0.84 0.86 0.72 0.76 1.00 0.99 0.00 0.16
1av6 0.88 0.88 1.00 1.00 0.94 0.94 0.88 0.88 1.00 1.00 0.00 0.01
1b23 0.50 0.66 1.00 0.90 0.67 0.76 0.50 0.72 1.00 0.90 0.00 0.54
1c0a 0.26 0.71 1.00 0.78 0.41 0.74 0.26 0.86 1.00 0.78 0.00 0.89
1ddl 0.28 0.34 1.00 0.81 0.44 0.48 0.28 0.51 1.00 0.81 0.00 0.39
1dfu 0.92 0.96 1.00 0.99 0.96 0.97 0.92 0.95 1.00 0.99 0.00 0.44
1di2 0.76 0.84 1.00 0.94 0.86 0.88 0.76 0.82 1.00 0.94 0.00 0.45
1e8o 0.34 0.35 1.00 0.95 0.50 0.51 0.34 0.38 1.00 0.95 0.00 0.09
1f7u 0.41 0.76 1.00 0.85 0.58 0.80 0.41 0.83 1.00 0.85 0.00 0.81
1feu 0.91 0.92 1.00 0.99 0.95 0.95 0.91 0.91 1.00 0.99 0.00 0.10
1ffy 0.32 0.58 0.98 0.77 0.48 0.66 0.33 0.76 0.98 0.77 0.04 0.75
1fxl 0.51 0.86 1.00 0.87 0.68 0.87 0.51 0.86 1.00 0.87 0.00 0.86
1gtf 0.96 0.96 1.00 1.00 0.98 0.98 0.96 0.96 1.00 1.00 0.00 0.02
1h3e 0.59 0.69 1.00 0.94 0.74 0.79 0.59 0.71 1.00 0.94 0.00 0.38
1h4s 0.12 0.19 1.00 0.52 0.21 0.27 0.12 0.67 1.00 0.52 0.00 0.69
1hq1 0.28 0.28 0.89 0.97 0.42 0.43 0.36 0.33 0.89 0.97 0.17 0.10
1j1u 0.83 0.83 1.00 1.00 0.91 0.91 0.83 0.83 1.00 1.00 0.00 0.00
1j2b 0.13 0.64 1.00 0.81 0.23 0.71 0.13 0.91 1.00 0.81 0.00 0.93
1jbs 0.25 0.31 1.00 0.79 0.40 0.45 0.25 0.50 1.00 0.79 0.00 0.40
1jid 0.94 0.94 1.00 1.00 0.97 0.97 0.94 0.94 1.00 1.00 0.00 0.08
1k8w 0.39 0.72 1.00 0.86 0.56 0.78 0.39 0.81 1.00 0.86 0.00 0.79
1knz 0.31 0.84 1.00 0.89 0.47 0.86 0.31 0.91 1.00 0.89 0.00 0.92
1lng 0.73 0.76 1.00 0.98 0.84 0.86 0.73 0.76 1.00 0.98 0.00 0.16
1m8v 0.70 0.70 1.00 1.00 0.82 0.83 0.70 0.70 1.00 1.00 0.00 0.01
1m8x 0.84 0.84 1.00 1.00 0.91 0.91 0.84 0.84 1.00 1.00 0.00 0.01
1mzp 0.16 0.32 1.00 0.52 0.27 0.39 0.16 0.75 1.00 0.52 0.00 0.79
1n35 0.07 0.57 1.00 0.83 0.14 0.68 0.08 0.94 1.00 0.83 0.00 0.95
1n78 0.44 0.83 1.00 0.88 0.61 0.85 0.44 0.87 1.00 0.88 0.00 0.86
1ooa 0.87 0.88 1.00 1.00 0.93 0.94 0.87 0.88 1.00 1.00 0.00 0.14
1pgl 0.93 0.94 1.00 1.00 0.97 0.97 0.93 0.94 1.00 1.00 0.00 0.10
1q2r 0.46 0.73 1.00 0.92 0.63 0.82 0.46 0.81 1.00 0.92 0.00 0.71
1qf6 0.12 0.67 1.00 0.80 0.21 0.73 0.12 0.93 1.00 0.80 0.00 0.95
1qtq 0.30 0.72 1.00 0.77 0.46 0.74 0.30 0.84 1.00 0.77 0.00 0.87
1r3e 0.34 0.60 1.00 0.74 0.50 0.66 0.34 0.75 1.00 0.74 0.00 0.76
1r9f 0.94 0.94 1.00 1.00 0.97 0.97 0.94 0.94 1.00 1.00 0.00 0.04
1sds 0.43 0.42 0.96 1.00 0.59 0.59 0.44 0.43 0.96 1.00 0.07 0.02
1ser 0.30 0.66 1.00 0.87 0.46 0.75 0.30 0.83 1.00 0.87 0.00 0.81
1si3 0.77 0.95 1.00 0.95 0.87 0.95 0.77 0.92 1.00 0.95 0.00 0.84
1t0k 0.38 0.37 0.98 1.00 0.54 0.54 0.39 0.37 0.98 1.00 0.03 0.00
1tfw 0.02 0.71 1.00 0.96 0.04 0.82 0.02 0.99 1.00 0.96 0.00 0.99
1u0b 0.26 0.58 1.00 0.77 0.41 0.66 0.26 0.79 1.00 0.77 0.00 0.80
1un6 0.40 0.67 1.00 0.73 0.57 0.70 0.40 0.75 1.00 0.73 0.00 0.76
1uvj 0.21 0.72 1.00 0.92 0.34 0.81 0.21 0.91 1.00 0.92 0.00 0.91
1vfg 0.93 0.93 1.00 1.00 0.96 0.96 0.93 0.93 1.00 1.00 0.00 0.00
1wpu 0.87 0.88 1.00 1.00 0.93 0.93 0.87 0.88 1.00 1.00 0.00 0.05
1wsu 0.48 0.51 1.00 0.95 0.65 0.67 0.48 0.54 1.00 0.95 0.00 0.15
1wz2 0.25 0.51 1.00 0.78 0.39 0.62 0.25 0.76 1.00 0.78 0.00 0.76
Resultats globaux des 120 complexes de la P ´ RIDB sous le seuil du meilleur Fscore :
avec les mesures d’evaluation globales pour chacun des complexes pour la fonction ´
de score par defaut de RosettaDock (ROS) et la fonction de score atomique apprise ´
avec ROGER (POS).
143Precision ´ Rappel Fscore Accuracy Sensibilite´ Specificit ´ e´
pdb ROS POS ROS POS ROS POS ROS POS ROS POS ROS POS
1yvp 0.94 0.94 1.00 1.00 0.97 0.97 0.94 0.94 1.00 1.00 0.00 0.01
1zbh 0.38 0.47 1.00 0.90 0.55 0.61 0.38 0.57 1.00 0.90 0.00 0.37
2a8v 0.48 0.54 1.00 0.87 0.65 0.67 0.48 0.59 1.00 0.87 0.00 0.33
2anr 0.29 0.36 1.00 0.76 0.45 0.49 0.29 0.54 1.00 0.76 0.00 0.44
2asb 0.55 0.68 1.00 0.97 0.71 0.80 0.55 0.73 1.00 0.97 0.00 0.45
2az0 0.14 0.32 0.99 0.58 0.24 0.41 0.14 0.77 0.99 0.58 0.01 0.81
2azx 0.72 0.77 1.00 0.97 0.84 0.86 0.72 0.77 1.00 0.97 0.00 0.27
2b3j 0.72 0.88 1.00 0.94 0.84 0.91 0.72 0.87 1.00 0.94 0.00 0.68
2bgg 0.54 0.81 1.00 0.87 0.70 0.84 0.54 0.82 1.00 0.87 0.00 0.76
2bh2 0.23 0.76 1.00 0.70 0.38 0.73 0.23 0.88 1.00 0.70 0.00 0.93
2bte 0.73 0.80 1.00 0.93 0.84 0.86 0.73 0.78 1.00 0.93 0.00 0.39
2bu1 0.39 0.43 1.00 0.91 0.56 0.59 0.39 0.50 1.00 0.91 0.00 0.24
2bx2 0.35 0.51 0.99 0.89 0.51 0.65 0.35 0.67 0.99 0.89 0.01 0.56
2ct8 0.58 0.72 1.00 0.90 0.74 0.80 0.58 0.74 1.00 0.90 0.00 0.53
2czj 0.91 0.91 1.00 1.00 0.95 0.96 0.91 0.91 1.00 1.00 0.00 0.01
2d6f 0.85 0.85 1.00 1.00 0.92 0.92 0.85 0.85 1.00 1.00 0.01 0.00
2der 0.35 0.83 1.00 0.79 0.52 0.81 0.35 0.87 1.00 0.79 0.00 0.91
2du3 0.92 0.92 1.00 1.00 0.96 0.96 0.92 0.92 1.00 1.00 0.00 0.01
2e9t 0.17 0.93 1.00 0.98 0.29 0.95 0.17 0.98 1.00 0.98 0.00 0.99
2f8k 0.50 0.50 1.00 0.99 0.67 0.67 0.50 0.51 1.00 0.99 0.00 0.02
2f8s 0.68 0.69 1.00 0.99 0.81 0.82 0.68 0.69 1.00 0.99 0.00 0.05
2fk6 0.82 0.83 1.00 0.99 0.90 0.90 0.82 0.83 1.00 0.99 0.00 0.09
2fmt 0.27 0.53 1.00 0.88 0.42 0.66 0.27 0.76 1.00 0.88 0.00 0.71
2gic 0.40 0.69 1.00 0.90 0.57 0.78 0.40 0.80 1.00 0.90 0.00 0.74
2gje 0.72 0.78 1.00 0.95 0.84 0.85 0.72 0.76 1.00 0.95 0.00 0.28
2gjw 0.78 0.85 1.00 0.97 0.88 0.91 0.78 0.84 1.00 0.97 0.00 0.41
2gtt 0.24 0.51 0.98 0.87 0.39 0.64 0.26 0.76 0.98 0.87 0.03 0.73
2gxb 0.47 0.49 1.00 0.93 0.64 0.64 0.47 0.52 1.00 0.93 0.00 0.15
2hw8 0.73 0.81 1.00 0.97 0.84 0.88 0.73 0.81 1.00 0.97 0.00 0.38
2i82 0.69 0.78 1.00 0.95 0.82 0.85 0.69 0.78 1.00 0.95 0.00 0.39
2iy5 0.09 0.47 1.00 0.83 0.17 0.60 0.10 0.90 1.00 0.83 0.01 0.91
2jlv 0.46 0.71 0.99 0.94 0.63 0.81 0.47 0.80 0.99 0.94 0.04 0.68
2nqp 0.27 0.35 1.00 0.82 0.42 0.49 0.27 0.54 1.00 0.82 0.01 0.44
2nug 0.06 1.00 0.58 1.00 0.11 1.00 0.66 1.00 0.58 1.00 0.66 1.00
2ozb 0.37 0.66 1.00 0.76 0.54 0.71 0.37 0.77 1.00 0.76 0.00 0.77
2pjp 0.30 0.39 1.00 0.83 0.46 0.53 0.30 0.56 1.00 0.83 0.00 0.45
2po1 0.92 0.91 1.00 1.00 0.96 0.96 0.92 0.91 1.00 1.00 0.03 0.00
2qux 0.19 0.28 1.00 0.77 0.33 0.41 0.20 0.57 1.00 0.77 0.01 0.52
2r7r 0.42 0.83 1.00 0.94 0.59 0.88 0.42 0.89 1.00 0.94 0.00 0.86
2r8s 0.73 0.73 1.00 1.00 0.84 0.84 0.73 0.73 1.00 1.00 0.00 0.04
2vnu 0.25 0.69 1.00 0.96 0.40 0.80 0.25 0.88 1.00 0.96 0.00 0.86
2voo 0.76 0.76 1.00 1.00 0.86 0.86 0.76 0.76 1.00 1.00 0.00 0.00
2w2h 0.55 0.63 1.00 0.91 0.71 0.75 0.55 0.66 1.00 0.91 0.00 0.35
2wj8 0.24 0.82 1.00 0.93 0.39 0.88 0.24 0.94 1.00 0.93 0.00 0.94
2z2q 0.59 0.60 1.00 0.99 0.74 0.75 0.59 0.60 1.00 0.99 0.00 0.05
2zi0 0.79 0.89 1.00 0.98 0.88 0.93 0.79 0.89 1.00 0.98 0.00 0.55
2zko 0.17 0.24 0.52 0.62 0.26 0.34 0.61 0.68 0.52 0.62 0.62 0.69
Resultats globaux des 120 complexes de la P ´ RIDB sous le seuil du meilleur Fscore :
avec les mesures d’evaluation globales pour chacun des complexes pour la fonction ´
de score par defaut de RosettaDock (ROS) et la fonction de score atomique apprise ´
avec ROGER (POS).
144Precision ´ Rappel Fscore Accuracy Sensibilite´ Specificit ´ e´
pdb ROS POS ROS POS ROS POS ROS POS ROS POS ROS POS
2zni 0.27 0.52 1.00 0.71 0.42 0.60 0.27 0.75 1.00 0.71 0.00 0.76
2zue 0.49 0.77 1.00 0.88 0.66 0.82 0.49 0.81 1.00 0.88 0.00 0.74
2zzm 0.13 0.76 1.00 0.79 0.22 0.78 0.13 0.94 1.00 0.79 0.00 0.96
3a6p 0.61 0.88 0.56 0.90 0.58 0.89 0.84 0.96 0.56 0.90 0.91 0.97
3bso 0.25 0.77 0.99 0.94 0.40 0.85 0.27 0.92 0.99 0.94 0.04 0.91
3bt7 0.54 0.67 1.00 0.87 0.70 0.76 0.54 0.70 1.00 0.87 0.00 0.50
3ciy 0.56 0.58 1.00 0.98 0.72 0.73 0.56 0.58 1.00 0.98 0.00 0.07
3d2s 0.89 0.90 1.00 1.00 0.94 0.94 0.89 0.89 1.00 1.00 0.00 0.02
3dd2 0.25 0.30 1.00 0.79 0.40 0.43 0.25 0.48 1.00 0.79 0.00 0.38
3egz 0.52 0.82 1.00 0.91 0.69 0.87 0.52 0.85 1.00 0.91 0.00 0.79
3eph 0.10 0.93 1.00 0.95 0.18 0.94 0.10 0.99 1.00 0.95 0.00 0.99
3eqt 0.52 0.85 1.00 0.76 0.68 0.80 0.52 0.80 1.00 0.76 0.00 0.85
3ex7 0.75 0.87 1.00 0.96 0.86 0.91 0.75 0.86 1.00 0.96 0.00 0.59
3fht 0.83 0.92 1.00 0.95 0.90 0.93 0.83 0.89 1.00 0.95 0.00 0.59
3foz 0.13 0.68 1.00 0.92 0.24 0.78 0.13 0.93 1.00 0.92 0.00 0.93
3gib 0.23 0.40 1.00 0.64 0.38 0.49 0.23 0.69 1.00 0.64 0.00 0.71
3hax 0.10 0.76 1.00 0.60 0.19 0.67 0.10 0.94 1.00 0.60 0.00 0.98
3hl2 0.91 0.95 1.00 0.99 0.95 0.97 0.91 0.94 1.00 0.99 0.00 0.48
3htx 0.10 0.63 1.00 0.76 0.19 0.69 0.10 0.93 1.00 0.76 0.00 0.95
3i5x 0.68 0.79 1.00 0.96 0.81 0.87 0.68 0.80 1.00 0.96 0.00 0.47
3iab 0.48 0.74 1.00 0.85 0.65 0.79 0.48 0.78 1.00 0.85 0.00 0.73
3icq 0.51 0.67 1.00 0.89 0.68 0.76 0.51 0.72 1.00 0.89 0.00 0.53
3iev 0.79 0.79 1.00 1.00 0.88 0.88 0.79 0.79 1.00 1.00 0.00 0.01
3k62 0.85 0.85 1.00 1.00 0.92 0.92 0.85 0.85 1.00 1.00 0.00 0.03
3l25 0.12 0.92 1.00 0.96 0.22 0.94 0.12 0.98 1.00 0.96 0.00 0.99
3snp 0.32 0.63 1.00 0.75 0.48 0.68 0.32 0.78 1.00 0.75 0.00 0.79
TABLE S1 – Resultats globaux des 120 complexes de la P ´ RIDB sous le seuil du meilleur
Fscore : avec les mesures d’evaluation globales pour chacun des complexes pour la ´
fonction de score par defaut de RosettaDock (ROS) et la fonction de score atomique ´
apprise avec ROGER (POS).
145Precision ´ Rappel Fscore Accuracy Sensibilite´ Specificit ´ e´
pdb ROS POS ROS POS ROS POS ROS POS ROS POS ROS POS
1asy 0.70 0.90 0.00 0.00 0.00 0.00 0.28 0.28 0.00 0.00 1.00 1.00
1av6 0.50 1.00 0.00 0.00 0.00 0.00 0.12 0.12 0.00 0.00 1.00 1.00
1b23 0.40 1.00 0.00 0.00 0.00 0.00 0.50 0.50 0.00 0.00 1.00 1.00
1c0a 0.10 1.00 0.00 0.00 0.00 0.01 0.74 0.74 0.00 0.00 1.00 1.00
1ddl 0.20 0.40 0.00 0.00 0.00 0.00 0.72 0.72 0.00 0.00 1.00 1.00
1dfu 0.40 1.00 0.00 0.00 0.00 0.00 0.08 0.08 0.00 0.00 0.99 1.00
1di2 1.00 0.90 0.00 0.00 0.00 0.00 0.25 0.25 0.00 0.00 1.00 1.00
1e8o 0.60 0.40 0.00 0.00 0.00 0.00 0.66 0.66 0.00 0.00 1.00 1.00
1f7u 0.40 1.00 0.00 0.00 0.00 0.00 0.59 0.59 0.00 0.00 1.00 1.00
1feu 0.40 1.00 0.00 0.00 0.00 0.00 0.09 0.09 0.00 0.00 0.99 1.00
1ffy 0.00 0.80 0.00 0.00 0.00 0.01 0.69 0.69 0.00 0.00 1.00 1.00
1fxl 0.00 1.00 0.00 0.00 0.00 0.00 0.49 0.49 0.00 0.00 1.00 1.00
1gtf 1.00 1.00 0.00 0.00 0.00 0.00 0.04 0.04 0.00 0.00 1.00 1.00
1h3e 0.00 0.80 0.00 0.00 0.00 0.00 0.41 0.41 0.00 0.00 1.00 1.00
1h4s 0.10 0.50 0.00 0.00 0.00 0.01 0.88 0.88 0.00 0.00 1.00 1.00
1hq1 0.60 0.00 0.00 0.00 0.00 0.00 0.74 0.74 0.00 0.00 1.00 1.00
1j1u 1.00 1.00 0.00 0.00 0.00 0.00 0.17 0.17 0.00 0.00 1.00 1.00
1j2b 0.00 0.90 0.00 0.01 0.00 0.01 0.87 0.87 0.00 0.01 1.00 1.00
1jbs 0.00 0.20 0.00 0.00 0.00 0.00 0.75 0.75 0.00 0.00 1.00 1.00
1jid 0.20 1.00 0.00 0.00 0.00 0.00 0.06 0.07 0.00 0.00 0.99 1.00
1k8w 0.10 1.00 0.00 0.00 0.00 0.01 0.61 0.61 0.00 0.00 1.00 1.00
1knz 0.00 0.50 0.00 0.00 0.00 0.00 0.69 0.69 0.00 0.00 1.00 1.00
1lng 0.60 0.90 0.00 0.00 0.00 0.00 0.27 0.27 0.00 0.00 1.00 1.00
1m8v 1.00 0.90 0.00 0.00 0.00 0.00 0.30 0.30 0.00 0.00 1.00 1.00
1m8x 0.70 1.00 0.00 0.00 0.00 0.00 0.16 0.16 0.00 0.00 1.00 1.00
1mzp 0.00 0.60 0.00 0.00 0.00 0.01 0.84 0.84 0.00 0.00 1.00 1.00
1n35 0.00 0.00 0.00 0.00 0.00 0.00 0.93 0.93 0.00 0.00 1.00 1.00
1n78 0.00 1.00 0.00 0.00 0.00 0.00 0.56 0.56 0.00 0.00 1.00 1.00
1ooa 0.60 0.90 0.00 0.00 0.00 0.00 0.13 0.13 0.00 0.00 1.00 1.00
1pgl 1.00 1.00 0.00 0.00 0.00 0.00 0.07 0.07 0.00 0.00 1.00 1.00
1q2r 0.00 1.00 0.00 0.00 0.00 0.00 0.54 0.54 0.00 0.00 1.00 1.00
1qf6 0.00 1.00 0.00 0.01 0.00 0.02 0.88 0.89 0.00 0.01 1.00 1.00
1qtq 0.00 1.00 0.00 0.00 0.00 0.01 0.70 0.70 0.00 0.00 1.00 1.00
1r3e 0.00 0.90 0.00 0.00 0.00 0.01 0.66 0.67 0.00 0.00 1.00 1.00
1r9f 1.00 1.00 0.00 0.00 0.00 0.00 0.07 0.07 0.00 0.00 1.00 1.00
1sds 0.50 0.40 0.00 0.00 0.00 0.00 0.58 0.58 0.00 0.00 1.00 1.00
1ser 0.00 0.60 0.00 0.00 0.00 0.00 0.70 0.70 0.00 0.00 1.00 1.00
1si3 0.00 1.00 0.00 0.00 0.00 0.00 0.23 0.23 0.00 0.00 1.00 1.00
1t0k 0.80 0.00 0.00 0.00 0.00 0.00 0.63 0.63 0.00 0.00 1.00 1.00
1tfw 0.00 0.40 0.00 0.02 0.00 0.03 0.98 0.98 0.00 0.02 1.00 1.00
1u0b 0.00 1.00 0.00 0.00 0.00 0.01 0.74 0.74 0.00 0.00 1.00 1.00
1un6 0.00 0.90 0.00 0.00 0.00 0.00 0.60 0.61 0.00 0.00 1.00 1.00
1uvj 0.00 0.40 0.00 0.00 0.00 0.00 0.79 0.79 0.00 0.00 1.00 1.00
1vfg 0.90 0.90 0.00 0.00 0.00 0.00 0.07 0.07 0.00 0.00 1.00 1.00
1wpu 1.00 1.00 0.00 0.00 0.00 0.00 0.13 0.13 0.00 0.00 1.00 1.00
1wsu 0.00 0.60 0.00 0.00 0.00 0.00 0.52 0.52 0.00 0.00 1.00 1.00
1wz2 0.00 0.90 0.00 0.00 0.00 0.01 0.75 0.76 0.00 0.00 1.00 1.00
Resultats globaux des 120 complexes de la P ´ RIDB sous le seuil du top10 des candidats
: avec les mesures d’evaluation globales pour chacun des complexes pour la ´
fonction de score par defaut de RosettaDock (ROS) et la fonction de score atomique ´
apprise avec ROGER (POS).
146Precision ´ Rappel Fscore Accuracy Sensibilite´ Specificit ´ e´
pdb ROS POS ROS POS ROS POS ROS POS ROS POS ROS POS
1yvp 0.80 1.00 0.00 0.00 0.00 0.00 0.06 0.06 0.00 0.00 1.00 1.00
1zbh 0.20 0.80 0.00 0.00 0.00 0.00 0.62 0.62 0.00 0.00 1.00 1.00
2a8v 0.20 0.50 0.00 0.00 0.00 0.00 0.52 0.52 0.00 0.00 1.00 1.00
2anr 0.70 0.10 0.00 0.00 0.00 0.00 0.71 0.71 0.00 0.00 1.00 1.00
2asb 0.20 1.00 0.00 0.00 0.00 0.00 0.45 0.45 0.00 0.00 1.00 1.00
2az0 0.00 0.40 0.00 0.00 0.00 0.01 0.86 0.86 0.00 0.00 1.00 1.00
2azx 0.00 0.90 0.00 0.00 0.00 0.00 0.28 0.28 0.00 0.00 1.00 1.00
2b3j 0.00 1.00 0.00 0.00 0.00 0.00 0.28 0.28 0.00 0.00 1.00 1.00
2bgg 0.00 1.00 0.00 0.00 0.00 0.00 0.46 0.46 0.00 0.00 1.00 1.00
2bh2 0.00 1.00 0.00 0.00 0.00 0.01 0.77 0.77 0.00 0.00 1.00 1.00
2bte 0.70 1.00 0.00 0.00 0.00 0.00 0.28 0.28 0.00 0.00 1.00 1.00
2bu1 0.50 0.30 0.00 0.00 0.00 0.00 0.61 0.61 0.00 0.00 1.00 1.00
2bx2 0.00 0.80 0.00 0.00 0.00 0.00 0.65 0.66 0.00 0.00 1.00 1.00
2ct8 0.30 1.00 0.00 0.00 0.00 0.00 0.42 0.42 0.00 0.00 1.00 1.00
2czj 1.00 1.00 0.00 0.00 0.00 0.00 0.09 0.09 0.00 0.00 1.00 1.00
2d6f 1.00 0.50 0.00 0.00 0.00 0.00 0.16 0.15 0.00 0.00 1.00 1.00
2der 0.00 0.90 0.00 0.00 0.00 0.01 0.65 0.65 0.00 0.00 1.00 1.00
2du3 0.90 1.00 0.00 0.00 0.00 0.00 0.08 0.09 0.00 0.00 1.00 1.00
2e9t 0.00 0.90 0.00 0.01 0.00 0.01 0.83 0.83 0.00 0.01 1.00 1.00
2f8k 0.90 0.50 0.00 0.00 0.00 0.00 0.50 0.50 0.00 0.00 1.00 1.00
2f8s 0.60 1.00 0.00 0.00 0.00 0.00 0.32 0.32 0.00 0.00 1.00 1.00
2fk6 1.00 0.90 0.00 0.00 0.00 0.00 0.18 0.18 0.00 0.00 1.00 1.00
2fmt 0.00 1.00 0.00 0.00 0.00 0.01 0.73 0.73 0.00 0.00 1.00 1.00
2gic 0.00 0.60 0.00 0.00 0.00 0.00 0.60 0.60 0.00 0.00 1.00 1.00
2gje 0.60 1.00 0.00 0.00 0.00 0.00 0.28 0.28 0.00 0.00 1.00 1.00
2gjw 0.80 1.00 0.00 0.00 0.00 0.00 0.22 0.22 0.00 0.00 1.00 1.00
2gtt 0.00 0.40 0.00 0.00 0.00 0.00 0.76 0.76 0.00 0.00 1.00 1.00
2gxb 0.00 0.40 0.00 0.00 0.00 0.00 0.53 0.53 0.00 0.00 1.00 1.00
2hw8 0.90 0.90 0.00 0.00 0.00 0.00 0.27 0.27 0.00 0.00 1.00 1.00
2i82 0.60 1.00 0.00 0.00 0.00 0.00 0.31 0.31 0.00 0.00 1.00 1.00
2iy5 0.00 0.00 0.00 0.00 0.00 0.00 0.91 0.91 0.00 0.00 1.00 1.00
2jlv 0.00 0.10 0.00 0.00 0.00 0.00 0.55 0.55 0.00 0.00 1.00 1.00
2nqp 0.00 0.20 0.00 0.00 0.00 0.00 0.73 0.74 0.00 0.00 1.00 1.00
2nug 0.00 1.00 0.00 0.03 0.00 0.05 0.96 0.96 0.00 0.03 1.00 1.00
2ozb 0.10 1.00 0.00 0.00 0.00 0.01 0.63 0.63 0.00 0.00 1.00 1.00
2pjp 0.10 0.60 0.00 0.00 0.00 0.00 0.70 0.70 0.00 0.00 1.00 1.00
2po1 1.00 0.30 0.00 0.00 0.00 0.00 0.09 0.09 0.00 0.00 1.00 0.99
2qux 0.10 0.00 0.00 0.00 0.00 0.00 0.81 0.81 0.00 0.00 1.00 1.00
2r7r 0.00 0.70 0.00 0.00 0.00 0.00 0.58 0.58 0.00 0.00 1.00 1.00
2r8s 0.80 0.90 0.00 0.00 0.00 0.00 0.27 0.27 0.00 0.00 1.00 1.00
2vnu 0.00 0.20 0.00 0.00 0.00 0.00 0.75 0.75 0.00 0.00 1.00 1.00
2voo 1.00 1.00 0.00 0.00 0.00 0.00 0.25 0.25 0.00 0.00 1.00 1.00
2w2h 0.20 1.00 0.00 0.00 0.00 0.00 0.45 0.45 0.00 0.00 1.00 1.00
2wj8 0.00 0.80 0.00 0.00 0.00 0.01 0.76 0.76 0.00 0.00 1.00 1.00
2z2q 0.30 0.60 0.00 0.00 0.00 0.00 0.41 0.41 0.00 0.00 1.00 1.00
2zi0 0.00 0.60 0.00 0.00 0.00 0.00 0.21 0.21 0.00 0.00 1.00 1.00
2zko 0.00 0.10 0.00 0.00 0.00 0.00 0.87 0.87 0.00 0.00 1.00 1.00
Resultats globaux des 120 complexes de la P ´ RIDB sous le seuil du top10 des candidats
: avec les mesures d’evaluation globales pour chacun des complexes pour la ´
fonction de score par defaut de RosettaDock (ROS) et la fonction de score atomique ´
apprise avec ROGER (POS).
147Precision ´ Rappel Fscore Accuracy Sensibilite´ Specificit ´ e´
pdb ROS POS ROS POS ROS POS ROS POS ROS POS ROS POS
2zni 0.00 1.00 0.00 0.00 0.00 0.01 0.73 0.73 0.00 0.00 1.00 1.00
2zue 0.00 1.00 0.00 0.00 0.00 0.00 0.51 0.51 0.00 0.00 1.00 1.00
2zzm 0.00 1.00 0.00 0.01 0.00 0.02 0.87 0.88 0.00 0.01 1.00 1.00
3a6p 0.00 0.70 0.00 0.00 0.00 0.01 0.80 0.80 0.00 0.00 1.00 1.00
3bso 0.00 0.00 0.00 0.00 0.00 0.00 0.75 0.75 0.00 0.00 1.00 1.00
3bt7 0.10 1.00 0.00 0.00 0.00 0.00 0.46 0.46 0.00 0.00 1.00 1.00
3ciy 0.40 0.30 0.00 0.00 0.00 0.00 0.44 0.44 0.00 0.00 1.00 1.00
3d2s 0.60 1.00 0.00 0.00 0.00 0.00 0.11 0.11 0.00 0.00 1.00 1.00
3dd2 0.00 0.30 0.00 0.00 0.00 0.00 0.75 0.75 0.00 0.00 1.00 1.00
3egz 0.60 0.90 0.00 0.00 0.00 0.00 0.48 0.48 0.00 0.00 1.00 1.00
3eph 0.00 1.00 0.00 0.01 0.00 0.02 0.90 0.90 0.00 0.01 1.00 1.00
3eqt 0.20 1.00 0.00 0.00 0.00 0.00 0.48 0.48 0.00 0.00 1.00 1.00
3ex7 0.00 1.00 0.00 0.00 0.00 0.00 0.25 0.25 0.00 0.00 1.00 1.00
3fht 0.00 1.00 0.00 0.00 0.00 0.00 0.17 0.18 0.00 0.00 0.99 1.00
3foz 0.00 1.00 0.00 0.01 0.00 0.01 0.86 0.87 0.00 0.01 1.00 1.00
3gib 0.00 0.50 0.00 0.00 0.00 0.00 0.77 0.77 0.00 0.00 1.00 1.00
3hax 0.10 1.00 0.00 0.01 0.00 0.02 0.90 0.90 0.00 0.01 1.00 1.00
3hl2 0.00 1.00 0.00 0.00 0.00 0.00 0.09 0.09 0.00 0.00 0.99 1.00
3htx 0.00 0.90 0.00 0.01 0.00 0.02 0.89 0.90 0.00 0.01 1.00 1.00
3i5x 0.00 1.00 0.00 0.00 0.00 0.00 0.32 0.32 0.00 0.00 1.00 1.00
3iab 0.00 1.00 0.00 0.00 0.00 0.00 0.52 0.52 0.00 0.00 1.00 1.00
3icq 0.00 0.90 0.00 0.00 0.00 0.00 0.49 0.49 0.00 0.00 1.00 1.00
3iev 0.80 1.00 0.00 0.00 0.00 0.00 0.21 0.21 0.00 0.00 1.00 1.00
3k62 0.90 1.00 0.00 0.00 0.00 0.00 0.15 0.15 0.00 0.00 1.00 1.00
3l25 0.00 0.90 0.00 0.01 0.00 0.01 0.88 0.88 0.00 0.01 1.00 1.00
3snp 0.10 1.00 0.00 0.00 0.00 0.01 0.68 0.68 0.00 0.00 1.00 1.00
TABLE S2 – Resultats globaux des 120 complexes de la P ´ RIDB sous le seuil du top10
des candidats : avec les mesures d’evaluation globales pour chacun des complexes ´
pour la fonction de score par defaut de RosettaDock (ROS) et la fonction de score ´
atomique apprise avec ROGER (POS).
148Precision ´ Rappel Fscore Accuracy Sensibilite´ Specificit ´ e´
pdb ROS POS ROS POS ROS POS ROS POS ROS POS ROS POS
1b7f 0.36 0.75 1.00 0.73 0.53 0.74 0.36 0.82 1.00 0.73 0.00 0.87
1c9s 0.59 0.64 1.00 0.94 0.74 0.77 0.59 0.66 1.00 0.94 0.00 0.25
1dk1 0.77 0.81 1.00 0.97 0.87 0.88 0.77 0.80 1.00 0.97 0.00 0.25
1e7k 0.34 0.34 0.98 1.00 0.50 0.50 0.35 0.34 0.98 1.00 0.04 0.00
1ec6 0.18 0.22 0.99 0.81 0.30 0.34 0.20 0.46 0.99 0.81 0.03 0.39
1efw 0.64 0.73 1.00 0.91 0.78 0.81 0.64 0.73 1.00 0.91 0.00 0.41
1ekz 0.19 0.19 0.89 0.96 0.31 0.31 0.30 0.25 0.89 0.96 0.17 0.09
1g1x 0.88 0.88 1.00 1.00 0.93 0.93 0.88 0.88 1.00 1.00 0.00 0.00
1hc8 0.94 0.95 1.00 1.00 0.97 0.97 0.94 0.94 1.00 1.00 0.00 0.07
1hvu 0.44 0.50 0.99 0.90 0.61 0.65 0.45 0.57 0.99 0.90 0.03 0.32
1jbr 0.92 0.92 1.00 1.00 0.96 0.96 0.92 0.92 1.00 1.00 0.00 0.00
1kog 0.15 0.16 1.00 0.94 0.27 0.28 0.15 0.25 1.00 0.94 0.00 0.12
1kq2 0.26 0.42 1.00 0.65 0.41 0.51 0.26 0.67 1.00 0.65 0.00 0.68
1m5o 0.47 0.66 1.00 0.91 0.64 0.77 0.47 0.74 1.00 0.91 0.00 0.57
1m8w 0.83 0.84 1.00 1.00 0.91 0.91 0.83 0.84 1.00 1.00 0.00 0.02
1mfq 0.78 0.78 1.00 1.00 0.88 0.87 0.78 0.78 1.00 1.00 0.02 0.00
1mms 0.89 0.90 1.00 0.99 0.94 0.94 0.89 0.89 1.00 0.99 0.00 0.13
1msw 0.08 0.91 1.00 0.99 0.16 0.95 0.08 0.99 1.00 0.99 0.00 0.99
1ob2 0.46 0.67 1.00 0.83 0.63 0.74 0.46 0.73 1.00 0.83 0.00 0.65
1t4l 0.79 0.79 1.00 1.00 0.88 0.88 0.79 0.79 1.00 1.00 0.00 0.00
1ttt 0.47 0.59 1.00 0.89 0.64 0.71 0.47 0.65 1.00 0.89 0.00 0.44
1u63 0.83 0.86 1.00 0.97 0.91 0.91 0.83 0.84 1.00 0.97 0.00 0.22
1wne 0.22 0.92 1.00 0.99 0.36 0.95 0.22 0.98 1.00 0.99 0.00 0.98
1zbi 0.22 0.37 1.00 0.71 0.37 0.49 0.22 0.67 1.00 0.71 0.00 0.66
2ad9 0.92 0.92 1.00 1.00 0.96 0.96 0.92 0.92 1.00 1.00 0.00 0.01
2adb 0.92 0.95 1.00 0.97 0.96 0.96 0.92 0.93 1.00 0.97 0.00 0.48
2adc 0.69 0.85 1.00 0.85 0.82 0.85 0.69 0.79 1.00 0.85 0.00 0.67
2b6g 0.52 0.52 1.00 1.00 0.69 0.69 0.52 0.52 1.00 1.00 0.00 0.00
2c0b 0.39 0.67 1.00 0.82 0.57 0.73 0.39 0.77 1.00 0.82 0.00 0.73
2dra 0.14 0.63 1.00 0.67 0.25 0.65 0.14 0.90 1.00 0.67 0.00 0.93
2err 0.83 0.92 1.00 0.97 0.90 0.95 0.83 0.91 1.00 0.97 0.00 0.60
2ez6 0.52 0.53 1.00 0.98 0.69 0.69 0.53 0.54 1.00 0.98 0.01 0.06
2hgh 0.54 0.76 1.00 0.80 0.70 0.78 0.54 0.75 1.00 0.80 0.00 0.70
2i91 0.17 0.81 1.00 0.85 0.29 0.83 0.17 0.94 1.00 0.85 0.00 0.96
2ix1 0.18 0.66 1.00 0.91 0.30 0.76 0.18 0.90 1.00 0.91 0.00 0.89
2py9 0.80 0.88 1.00 0.98 0.89 0.92 0.80 0.87 1.00 0.98 0.00 0.44
3bo2 0.37 0.55 1.00 0.89 0.54 0.68 0.37 0.69 1.00 0.89 0.00 0.57
3bsb 0.83 0.84 1.00 1.00 0.91 0.91 0.83 0.84 1.00 1.00 0.00 0.02
3bsx 0.84 0.85 1.00 1.00 0.92 0.92 0.84 0.85 1.00 1.00 0.00 0.02
3bx2 0.86 0.87 1.00 0.99 0.92 0.93 0.86 0.86 1.00 0.99 0.00 0.07
TABLE S3 – Resultats globaux des ´ Benchmarks I et II : avec les mesures d’evaluation ´
globales pour chacun des complexes pour la fonction de score par defaut de Rosetta- ´
Dock (ROS) et la fonction de score atomique apprise avec ROGER (POS).
149Precision ´ Rappel Fscore Accuracy Sensibilite´ Specificit ´ e´
pdb ROS POS ROS POS ROS POS ROS POS ROS POS ROS POS
1m5o 0.48 0.66 1.00 0.81 0.65 0.73 0.48 0.71 1.00 0.81 0.00 0.62
1qtq 0.28 0.73 1.00 0.76 0.44 0.74 0.28 0.85 1.00 0.76 0.00 0.89
1wpu 0.87 0.88 1.00 1.00 0.93 0.93 0.87 0.88 1.00 1.00 0.00 0.05
1yvp 0.94 0.94 1.00 1.00 0.97 0.97 0.94 0.94 1.00 1.00 0.00 0.00
1zbh 0.98 0.99 1.00 1.00 0.99 0.99 0.98 0.99 1.00 1.00 0.00 0.21
2ad9 0.00 0.00 1.00 1.00 0.00 0.01 0.02 0.98 1.00 1.00 0.02 0.98
TABLE S4 – Resultats globaux des 6 complexes avec prot ´ eine non li ´ ee : avec les ´
mesures d’evaluation globales pour chacun des complexes pour la fonction de score ´
par defaut de RosettaDock (ROS) et la fonction de score atomique apprise avec ´
ROGER (POS).
150pdb ES Top10 Top100 # presque-natifs ROC-AUC
ROS POS ROS POS Attendu ROS POS ROS POS
1b7f 0.47 5.15 1 10 3.58 1 100 3579 0.32 0.89
1c9s 0.90 1.19 6 7 5.91 25 81 5905 0.37 0.69
1dk1 2.32 2.58 9 8 7.66 89 97 7660 0.61 0.82
1e7k 0.67 1.33 2 1 3.36 11 16 3359 0.50 0.53
1ec6 0.31 0.88 1 0 1.73 3 14 1730 0.44 0.60
1efw 0.41 2.90 0 10 6.37 0 96 6366 0.33 0.79
1ekz 0.95 0.81 4 1 1.77 18 20 1768 0.52 0.52
1g1x 3.32 0.54 2 6 8.76 85 82 8764 0.59 0.51
1hc8 1.56 3.63 10 10 9.43 94 100 9433 0.49 0.79
1hvu 0.77 1.93 2 2 4.37 42 48 4366 0.50 0.70
1jbr 3.56 0.02 9 9 9.23 71 86 9229 0.45 0.65
1kog 0.95 1.14 3 1 1.53 11 23 1532 0.49 0.54
1kq2 0.09 5.40 0 9 2.60 0 89 2602 0.31 0.74
1m5o 1.06 1.33 6 5 4.75 6 78 4748 0.24 0.83
1m8w 1.79 1.27 4 10 8.34 80 97 8343 0.37 0.74
1mfq 1.36 2.35 10 3 7.76 91 52 7757 0.62 0.59
1mms 2.52 3.31 10 9 8.86 85 96 8859 0.50 0.86
1msw 0.00 8.84 0 10 0.84 0 98 841 0.08 1.00
1ob2 0.78 3.38 7 10 4.63 12 97 4625 0.41 0.83
1t4l 0.56 1.64 10 10 7.85 98 95 7852 0.52 0.61
1ttt 0.76 3.25 6 10 4.69 11 97 4691 0.39 0.78
1u63 3.14 1.13 7 10 8.34 72 100 8338 0.44 0.86
1wne 0.01 4.41 0 7 2.21 0 96 2213 0.17 0.99
1zbi 0.37 2.95 0 8 2.23 0 69 2231 0.34 0.75
2ad9 1.99 2.53 10 10 9.18 84 100 9179 0.31 0.90
2adb 1.03 3.37 10 10 9.18 75 100 9180 0.25 0.89
2adc 3.38 2.61 3 10 6.94 40 100 6940 0.44 0.86
2b6g 1.73 0.02 9 6 5.23 93 62 5228 0.58 0.42
2c0b 0.00 2.98 0 8 3.94 0 91 3937 0.26 0.86
2dra 0.03 6.16 0 8 1.42 0 88 1419 0.32 0.91
2err 1.27 2.48 8 10 8.26 20 100 8263 0.15 0.92
2ez6 1.42 2.92 10 9 5.24 87 67 5235 0.58 0.62
2hgh 0.74 1.03 0 4 5.39 0 69 5387 0.25 0.82
2i91 0.47 7.35 0 10 1.73 0 95 1726 0.28 0.98
2ix1 0.02 2.14 0 4 1.80 0 55 1795 0.17 0.94
2py9 4.28 2.95 9 10 8.01 89 98 8014 0.50 0.83
3bo2 0.66 2.73 4 6 3.66 4 82 3663 0.31 0.80
3bsb 1.60 1.55 7 10 8.35 81 100 8348 0.36 0.80
3bsx 1.60 1.20 3 10 8.45 83 100 8448 0.32 0.82
3bx2 1.83 3.09 8 10 8.60 75 100 8595 0.33 0.84
TABLE S5 – Resultats pour les 40 complexes utilis ´ es des ´ Benchmarks I et II : score
d’enrichissement (ES), nombre de presque-natifs dans le top10, nombre de presquenatifs
attendus en moyenne par un tri aleatoire, nombre de presque-natifs dans le ´
top100, nombre de presque-natifs sur les 10 000 structures et aire sous la courbe ROC
(ROC-AUC) sur 10 000 candidats par pdb evalu ´ e.´
151pdb ES Top10 Top100 # presque-natifs ROC-AUC
ROS POS ROS POS Attendu ROS POS ROS POS
1m5o 0.43 4.75 0 4 4.79 3 66 4790 0.25 0.79
1qtq 0.00 6.09 0 10 2.80 0 98 2798 0.24 0.91
1wpu 1.60 3.15 9 10 8.72 71 100 8723 0.47 0.70
1yvp 0.93 0.20 6 10 9.36 61 100 9362 0.29 0.81
1zbh 0.88 0.00 5 10 9.83 82 100 9834 0.12 0.96
2ad9 0.00 6.06 0 0 0.00 0 0 1 0.02 0.98
TABLE S6 – Resultats pour les 6 complexes dans le cas de la prot ´ eine non li ´ ee des ´
Benchmarks I et II : score d’enrichissement (ES), nombre de presque-natifs dans le
top10, nombre de presque-natifs attendus en moyenne par un tri aleatoire, nombre de ´
presque-natifs dans le top100, nombre de presque-natifs sur les 10 000 structures et
aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb evalu ´ e.´
152pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
1asy 2.35 0 0.008 0 8 0.59
1av6 2.43 5 0.654 19 654 0.71
1b23 1.67 0 0.024 1 24 0.72
1c0a 1.89 0 0.001 0 1 0.77
1ddl 1.21 0 0.327 1 327 0.61
1dfu 1.20 2 0.743 9 743 0.66
1di2 0.93 0 0.114 0 114 0.52
1e8o 1.43 0 0.743 10 743 0.60
1f7u 2.56 0 0.007 1 7 0.86
1feu 1.97 2 0.378 17 378 0.69
1ffy 2.30 0 0.008 2 8 0.88
1fxl 4.43 8 0.589 64 589 0.85
1gtf 1.55 10 6.307 99 6307 0.70
1h3e 1.98 0 0.024 1 24 0.75
1h4s 1.73 0 0.036 1 36 0.67
1hq1 1.27 0 0.684 9 684 0.60
1j1u 1.66 0 0.112 1 112 0.54
1j2b 2.15 0 0.001 0 1 0.72
1jbs 2.57 0 0.499 20 499 0.71
1jid 1.91 1 0.377 11 377 0.65
1k8w 3.16 2 0.151 16 151 0.84
1knz 3.26 10 1.136 90 1136 0.73
1lng 1.80 2 0.13 6 130 0.65
1m8v 1.70 10 6.192 92 6192 0.61
1m8x 1.91 4 0.899 25 899 0.67
1mzp 1.85 2 0.148 8 148 0.69
1n35 4.40 2 0.017 17 17 1.00
1n78 2.08 0 0.01 1 10 0.83
1ooa 2.92 0 0.497 21 497 0.76
1pgl 1.85 2 0.898 26 898 0.63
1q2r 1.62 0 0.043 0 43 0.51
1qf6 2.06 0 0.005 1 5 0.85
1qtq 2.05 0 0.007 3 7 0.93
1r3e 1.78 0 0.028 0 28 0.59
1r9f 1.77 0 0.2 2 200 0.71
1sds 1.47 2 2.19 36 2190 0.67
1ser 1.95 0 0.008 1 8 0.88
1si3 2.33 4 0.547 23 547 0.69
1t0k 1.08 0 0.382 1 382 0.56
1tfw 2.99 0 0.004 0 4 0.98
1u0b 2.24 1 0.014 3 14 0.83
1un6 3.44 1 0.129 20 129 0.85
1uvj 5.06 8 0.357 62 357 0.94
1vfg 2.02 1 0.248 7 248 0.68
1wpu 1.53 1 1.162 21 1162 0.65
1wsu 1.26 0 2.288 20 2288 0.59
1wz2 2.18 0 0 0 0 1.00
Resultats de la fonction de score gros-grain VOR pour les 120 complexes de la P ´ RIDB :
score d’enrichissement (ES), nombre de presque-natifs dans le top10, nombre de
presque-natifs attendus en moyenne par un tri aleatoire, nombre de presque-natifs ´
dans le top100, nombre de presque-natifs sur les 10 000 structures et aire sous la
courbe ROC (ROC-AUC) sur 10 000 candidats par pdb evalu ´ e.´
153pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
1yvp 1.72 1 0.13 4 130 0.64
1zbh 2.07 4 0.967 30 967 0.62
2a8v 2.22 10 5.018 90 5018 0.67
2anr 1.52 3 0.929 22 929 0.59
2asb 2.80 3 0.186 9 186 0.80
2az0 2.83 1 0.2 3 200 0.69
2azx 2.00 0 0.011 0 11 0.70
2b3j 2.39 2 0.426 29 426 0.71
2bgg 2.13 2 0.131 8 131 0.63
2bh2 3.23 0 0.051 12 51 0.84
2bte 2.46 0 0.002 1 2 0.98
2bu1 1.88 2 1.291 22 1291 0.65
2bx2 1.74 3 0.31 9 310 0.62
2ct8 1.92 0 0.029 1 29 0.64
2czj 2.69 2 0.207 9 207 0.76
2d6f 1.58 0 0.087 2 87 0.55
2der 1.10 0 0.029 0 29 0.72
2du3 1.20 0 0.186 1 186 0.56
2e9t 2.75 1 0.06 16 60 0.80
2f8k 1.33 3 3.82 52 3820 0.53
2f8s 1.21 0 0.076 0 76 0.39
2fk6 2.18 0 0.092 5 92 0.70
2fmt 1.82 0 0.018 0 18 0.67
2gic 4.48 7 0.103 38 103 0.94
2gje 2.11 0 0.079 3 79 0.72
2gjw 1.98 0 0.078 3 78 0.70
2gtt 3.91 5 0.069 24 69 0.91
2gxb 1.99 7 3.404 65 3404 0.64
2hw8 2.10 1 0.149 13 149 0.75
2i82 2.80 2 0.159 19 159 0.83
2iy5 1.22 0 0.001 0 1 0.51
2jlv 4.63 8 0.416 59 416 0.90
2nqp 2.10 1 0.296 15 296 0.70
2nug 2.19 0 0.001 0 1 0.97
2ozb 2.20 2 0.078 4 78 0.74
2pjp 2.14 1 0.576 15 576 0.65
2po1 1.91 1 0.19 4 190 0.65
2qux 2.53 1 0.26 7 260 0.74
2r7r 3.19 3 0.074 25 74 0.95
2r8s 1.31 0 0.039 0 39 0.56
2vnu 5.79 8 0.123 38 123 0.98
2voo 4.88 10 3.261 97 3261 0.77
2w2h 1.30 0 0.018 0 18 0.46
2wj8 3.08 3 0.43 29 430 0.79
2z2q 1.73 3 0.863 20 863 0.57
2zi0 0.86 3 1.278 15 1278 0.49
2zko 3.61 1 0.181 11 181 0.80
Resultats de la fonction de score gros-grain VOR pour les 120 complexes de la P ´ RIDB :
score d’enrichissement (ES), nombre de presque-natifs dans le top10, nombre de
presque-natifs attendus en moyenne par un tri aleatoire, nombre de presque-natifs ´
dans le top100, nombre de presque-natifs sur les 10 000 structures et aire sous la
courbe ROC (ROC-AUC) sur 10 000 candidats par pdb evalu ´ e.´
154pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
2zni 1.91 1 0.017 2 17 0.83
2zue 2.77 0 0.004 0 4 0.95
2zzm 3.59 2 0.009 4 9 0.93
3a6p 2.19 0 0.001 1 1 0.99
3bso 2.74 2 0.038 12 38 0.85
3bt7 3.59 6 0.192 36 192 0.87
3ciy 1.43 0 0.01 2 10 0.79
3d2s 1.63 10 5.557 93 5557 0.62
3dd2 1.95 1 0.232 6 232 0.74
3egz 1.41 0 0.235 5 235 0.57
3eph 2.01 0 0.001 0 1 0.99
3eqt 3.87 2 0.405 24 405 0.80
3ex7 2.03 1 0.239 12 239 0.71
3fht 2.05 2 0.513 8 513 0.65
3foz 1.81 0 0.019 4 19 0.89
3gib 1.67 1 0.641 13 641 0.63
3hax 2.07 0 0.008 0 8 0.62
3hl2 2.07 0 0.015 1 15 0.67
3htx 1.59 0 0.014 0 14 0.65
3i5x 2.48 0 0.175 3 175 0.74
3iab 3.35 0 0.03 3 30 0.82
3icq 2.64 0 0.002 0 2 0.91
3iev 1.90 1 0.227 8 227 0.68
3k62 2.34 4 0.486 19 486 0.69
3l25 7.94 3 0.247 26 247 0.97
3snp 2.68 0 0.041 8 41 0.85
TABLE S7 – Resultats de la fonction de score gros-grain VOR pour les 120 com- ´
plexes de la PRIDB : score d’enrichissement (ES), nombre de presque-natifs dans le
top10, nombre de presque-natifs attendus en moyenne par un tri aleatoire, nombre de ´
presque-natifs dans le top100, nombre de presque-natifs sur les 10 000 structures et
aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb evalu ´ e.´
155pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
1asy 0.43 0 0.008 0 8 0.35
1av6 0.46 0 0.654 0 654 0.37
1b23 1.16 0 0.024 0 24 0.60
1c0a 0.79 0 0.001 0 1 0.04
1ddl 1.12 0 0.327 0 327 0.53
1dfu 0.31 1 0.743 2 743 0.31
1di2 0.82 0 0.114 1 114 0.39
1e8o 0.88 0 0.743 0 743 0.54
1f7u 0.38 0 0.007 0 7 0.16
1feu 0.23 0 0.378 1 378 0.38
1ffy 0.65 0 0.008 0 8 0.15
1fxl 0.46 0 0.589 2 589 0.38
1gtf 1.27 7 6.307 53 6307 0.48
1h3e 0.51 0 0.024 0 24 0.36
1h4s 0.73 0 0.036 0 36 0.34
1hq1 0.50 0 0.684 0 684 0.41
1j1u 0.65 0 0.112 0 112 0.43
1j2b 0.16 0 0.001 0 1 0.12
1jbs 0.92 0 0.499 2 499 0.56
1jid 0.38 0 0.377 0 377 0.32
1k8w 1.58 0 0.151 0 151 0.47
1knz 0.10 0 1.136 1 1136 0.26
1lng 0.32 0 0.13 0 130 0.34
1m8v 0.48 0 6.192 34 6192 0.44
1m8x 0.40 0 0.899 6 899 0.41
1mzp 0.60 0 0.148 0 148 0.40
1n35 0.12 0 0.017 0 17 0.01
1n78 0.46 0 0.01 0 10 0.13
1ooa 0.15 0 0.497 2 497 0.27
1pgl 0.35 0 0.898 0 898 0.30
1q2r 1.00 0 0.043 1 43 0.46
1qf6 0.81 0 0.005 0 5 0.18
1qtq 0.59 0 0.007 0 7 0.09
1r3e 0.73 0 0.028 0 28 0.39
1r9f 0.49 0 0.2 0 200 0.38
1sds 0.69 4 2.19 15 2190 0.52
1ser 0.33 0 0.008 0 8 0.12
1si3 0.18 0 0.547 0 547 0.25
1t0k 0.19 0 0.382 1 382 0.33
1tfw 0.27 0 0.004 0 4 0.13
1u0b 0.37 0 0.014 0 14 0.14
1un6 0.21 0 0.129 0 129 0.20
1uvj 0.02 0 0.357 0 357 0.09
1vfg 0.51 0 0.248 0 248 0.40
1wpu 0.62 0 1.162 5 1162 0.48
1wsu 0.71 0 2.288 7 2288 0.50
1wz2 0.29 0 0 0 0 1.00
Resultats de la fonction de score gros-grain avec poids positifs pour les 120 com- ´
plexes de la PRIDB : score d’enrichissement (ES), nombre de presque-natifs dans le
top10, nombre de presque-natifs attendus en moyenne par un tri aleatoire, nombre de ´
presque-natifs dans le top100, nombre de presque-natifs sur les 10 000 structures et
aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb evalu ´ e.´
156pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
1yvp 0.89 0 0.13 1 130 0.33
1zbh 0.23 0 0.967 0 967 0.29
2a8v 0.69 5 5.018 54 5018 0.46
2anr 0.35 0 0.929 1 929 0.38
2asb 0.32 0 0.186 0 186 0.27
2az0 0.64 0 0.2 0 200 0.32
2azx 0.76 0 0.011 0 11 0.33
2b3j 0.34 0 0.426 0 426 0.28
2bgg 0.52 0 0.131 0 131 0.50
2bh2 0.84 0 0.051 0 51 0.40
2bte 0.33 0 0.002 0 2 0.02
2bu1 0.35 1 1.291 4 1291 0.38
2bx2 0.90 0 0.31 0 310 0.35
2ct8 0.84 0 0.029 0 29 0.39
2czj 0.63 0 0.207 0 207 0.34
2d6f 0.53 0 0.087 0 87 0.49
2der 1.27 0 0.029 0 29 0.45
2du3 0.78 0 0.186 2 186 0.44
2e9t 0.40 0 0.06 0 60 0.27
2f8k 0.66 0 3.82 14 3820 0.47
2f8s 0.87 0 0.076 3 76 0.62
2fk6 0.48 0 0.092 0 92 0.34
2fmt 0.15 0 0.018 0 18 0.25
2gic 0.18 0 0.103 0 103 0.07
2gje 0.26 0 0.079 0 79 0.28
2gjw 0.45 0 0.078 0 78 0.54
2gtt 0.01 0 0.069 0 69 0.07
2gxb 0.16 1 3.404 8 3404 0.32
2hw8 0.27 0 0.149 0 149 0.21
2i82 0.49 0 0.159 0 159 0.21
2iy5 0.47 0 0.001 0 1 0.51
2jlv 0.54 0 0.416 1 416 0.17
2nqp 0.27 0 0.296 0 296 0.34
2nug 0.34 0 0.001 0 1 0.28
2ozb 1.10 0 0.078 2 78 0.52
2pjp 0.70 0 0.576 1 576 0.40
2po1 0.16 0 0.19 0 190 0.35
2qux 0.06 0 0.26 0 260 0.20
2r7r 0.48 0 0.074 0 74 0.45
2r8s 0.62 0 0.039 0 39 0.50
2vnu 0.21 0 0.123 0 123 0.18
2voo 0.00 0 3.261 3 3261 0.34
2w2h 0.81 0 0.018 0 18 0.52
2wj8 0.01 0 0.43 0 430 0.17
2z2q 0.71 0 0.863 2 863 0.45
2zi0 1.07 1 1.278 14 1278 0.51
2zko 0.32 0 0.181 0 181 0.17
Resultats de la fonction de score gros-grain avec poids positifs pour les 120 com- ´
plexes de la PRIDB : score d’enrichissement (ES), nombre de presque-natifs dans le
top10, nombre de presque-natifs attendus en moyenne par un tri aleatoire, nombre de ´
presque-natifs dans le top100, nombre de presque-natifs sur les 10 000 structures et
aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb evalu ´ e.´
157pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
2zni 0.45 0 0.017 0 17 0.16
2zue 0.18 0 0.004 0 4 0.15
2zzm 0.37 0 0.009 0 9 0.11
3a6p 0.34 0 0.001 0 1 0.31
3bso 0.57 0 0.038 0 38 0.22
3bt7 0.63 0 0.192 0 192 0.17
3ciy 0.89 0 0.01 0 10 0.23
3d2s 1.00 5 5.557 47 5557 0.49
3dd2 0.68 0 0.232 0 232 0.36
3egz 0.67 0 0.235 1 235 0.38
3eph 0.18 0 0.001 0 1 0.01
3eqt 0.21 0 0.405 0 405 0.22
3ex7 1.09 0 0.239 1 239 0.46
3fht 0.88 0 0.513 2 513 0.51
3foz 0.82 0 0.019 0 19 0.20
3gib 0.62 0 0.641 2 641 0.41
3hax 0.83 0 0.008 0 8 0.40
3hl2 0.48 0 0.015 0 15 0.42
3htx 0.77 0 0.014 0 14 0.36
3i5x 0.19 0 0.175 0 175 0.21
3iab 0.05 0 0.03 0 30 0.15
3icq 0.20 0 0.002 0 2 0.08
3iev 0.31 0 0.227 0 227 0.19
3k62 0.34 0 0.486 1 486 0.31
3l25 0.04 0 0.247 0 247 0.08
3snp 0.63 0 0.041 0 41 0.31
TABLE S8 – Resultats de la fonction de score gros-grain avec poids positifs pour les 120 ´
complexes de la PRIDB : score d’enrichissement (ES), nombre de presque-natifs dans
le top10, nombre de presque-natifs attendus en moyenne par un tri aleatoire, nombre ´
de presque-natifs dans le top100, nombre de presque-natifs sur les 10 000 structures
et aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb evalu ´ e.´
158pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
1asy 0.69 0 0.008 0 8 0.46
1av6 0.93 0 0.654 2 654 0.48
1b23 0.77 0 0.024 0 24 0.48
1c0a 0.81 0 0.001 0 1 0.48
1ddl 1.04 0 0.327 1 327 0.48
1dfu 1.08 2 0.743 14 743 0.52
1di2 1.06 1 0.114 1 114 0.45
1e8o 0.80 0 0.743 5 743 0.49
1f7u 0.52 0 0.007 0 7 0.38
1feu 1.07 1 0.378 4 378 0.48
1ffy 0.65 0 0.008 0 8 0.46
1fxl 0.63 0 0.589 0 589 0.45
1gtf 1.12 8 6.307 65 6307 0.51
1h3e 0.80 0 0.024 0 24 0.39
1h4s 0.86 0 0.036 0 36 0.46
1hq1 0.96 1 0.684 7 684 0.50
1j1u 0.98 1 0.112 3 112 0.55
1j2b 0.73 0 0.001 0 1 0.51
1jbs 0.86 0 0.499 1 499 0.49
1jid 1.04 0 0.377 4 377 0.48
1k8w 0.71 0 0.151 0 151 0.47
1knz 0.81 1 1.136 11 1136 0.50
1lng 0.97 0 0.13 0 130 0.45
1m8v 1.07 5 6.192 57 6192 0.49
1m8x 1.04 1 0.899 7 899 0.51
1mzp 0.93 0 0.148 0 148 0.44
1n35 0.73 0 0.017 0 17 0.27
1n78 0.71 0 0.01 0 10 0.45
1ooa 0.74 1 0.497 3 497 0.46
1pgl 1.04 2 0.898 6 898 0.50
1q2r 1.07 0 0.043 0 43 0.53
1qf6 0.85 0 0.005 0 5 0.52
1qtq 0.69 0 0.007 0 7 0.34
1r3e 1.07 0 0.028 0 28 0.45
1r9f 0.98 0 0.2 2 200 0.43
1sds 1.04 1 2.19 16 2190 0.50
1ser 0.82 0 0.008 0 8 0.41
1si3 0.80 0 0.547 3 547 0.46
1t0k 0.88 0 0.382 3 382 0.50
1tfw 0.95 0 0.004 0 4 0.61
1u0b 0.71 0 0.014 1 14 0.55
1un6 0.34 0 0.129 0 129 0.36
1uvj 0.94 1 0.357 5 357 0.51
1vfg 0.81 0 0.248 1 248 0.44
1wpu 0.96 2 1.162 6 1162 0.49
1wsu 1.02 4 2.288 29 2288 0.51
1wz2 0.60 0 0 0 0 1.00
Resultats de la fonction de score gros-grain non lin ´ eaire avec valeurs de centrage ´
pour les 120 complexes de la PRIDB : score d’enrichissement (ES), nombre de
presque-natifs dans le top10, nombre de presque-natifs attendus en moyenne par un
tri aleatoire, nombre de presque-natifs dans le top100, nombre de presque-natifs sur ´
les 10 000 structures et aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats par
pdb evalu ´ e. ´
159pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
1yvp 0.99 0 0.13 3 130 0.48
1zbh 0.87 0 0.967 4 967 0.48
2a8v 0.77 3 5.018 43 5018 0.49
2anr 0.71 0 0.929 4 929 0.47
2asb 0.86 0 0.186 0 186 0.46
2az0 1.40 1 0.2 5 200 0.51
2azx 0.83 0 0.011 1 11 0.52
2b3j 0.66 0 0.426 1 426 0.49
2bgg 0.92 0 0.131 2 131 0.53
2bh2 0.65 0 0.051 1 51 0.39
2bte 0.55 0 0.002 0 2 0.17
2bu1 0.96 1 1.291 8 1291 0.49
2bx2 1.09 0 0.31 0 310 0.48
2ct8 0.75 0 0.029 0 29 0.39
2czj 0.75 0 0.207 1 207 0.49
2d6f 1.00 0 0.087 3 87 0.53
2der 0.94 0 0.029 0 29 0.48
2du3 0.91 0 0.186 3 186 0.47
2e9t 0.91 1 0.06 2 60 0.49
2f8k 1.06 5 3.82 43 3820 0.49
2f8s 1.04 0 0.076 2 76 0.53
2fk6 0.65 0 0.092 0 92 0.41
2fmt 0.89 0 0.018 0 18 0.41
2gic 0.40 0 0.103 0 103 0.42
2gje 0.69 0 0.079 0 79 0.49
2gjw 0.89 0 0.078 0 78 0.47
2gtt 0.40 0 0.069 0 69 0.34
2gxb 0.96 4 3.404 39 3404 0.49
2hw8 0.59 0 0.149 0 149 0.39
2i82 0.86 0 0.159 2 159 0.46
2iy5 0.87 0 0.001 0 1 0.02
2jlv 1.01 1 0.416 6 416 0.50
2nqp 0.84 0 0.296 1 296 0.51
2nug 1.09 0 0.001 0 1 0.42
2ozb 0.64 0 0.078 0 78 0.47
2pjp 0.86 0 0.576 1 576 0.49
2po1 0.86 0 0.19 1 190 0.48
2qux 0.79 0 0.26 1 260 0.46
2r7r 0.73 0 0.074 0 74 0.40
2r8s 0.85 0 0.039 0 39 0.52
2vnu 0.49 0 0.123 0 123 0.27
2voo 1.07 3 3.261 27 3261 0.49
2w2h 1.14 0 0.018 0 18 0.47
2wj8 0.74 0 0.43 2 430 0.47
2z2q 0.97 2 0.863 10 863 0.49
2zi0 1.09 1 1.278 13 1278 0.51
2zko 1.37 1 0.181 6 181 0.53
Resultats de la fonction de score gros-grain non lin ´ eaire avec valeurs de centrage ´
pour les 120 complexes de la PRIDB : score d’enrichissement (ES), nombre de
presque-natifs dans le top10, nombre de presque-natifs attendus en moyenne par un
tri aleatoire, nombre de presque-natifs dans le top100, nombre de presque-natifs sur ´
les 10 000 structures et aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats par
pdb evalu ´ e. ´
160pdb ES Top10 Attendu Top100 # presque-natifs ROC-AUC
2zni 0.75 0 0.017 0 17 0.47
2zue 0.64 0 0.004 0 4 0.26
2zzm 0.67 0 0.009 0 9 0.36
3a6p 1.16 0 0.001 0 1 0.11
3bso 0.66 0 0.038 0 38 0.38
3bt7 0.47 0 0.192 0 192 0.45
3ciy 1.07 0 0.01 0 10 0.62
3d2s 0.91 3 5.557 49 5557 0.48
3dd2 0.87 1 0.232 6 232 0.50
3egz 0.98 0 0.235 0 235 0.47
3eph 0.83 0 0.001 0 1 0.59
3eqt 0.40 0 0.405 1 405 0.45
3ex7 0.85 0 0.239 1 239 0.47
3fht 0.99 0 0.513 3 513 0.49
3foz 0.72 0 0.019 0 19 0.30
3gib 0.84 0 0.641 3 641 0.49
3hax 0.86 0 0.008 0 8 0.39
3hl2 0.76 0 0.015 0 15 0.51
3htx 0.99 0 0.014 0 14 0.54
3i5x 0.90 0 0.175 1 175 0.52
3iab 0.67 0 0.03 0 30 0.52
3icq 0.71 0 0.002 0 2 0.46
3iev 0.82 0 0.227 0 227 0.45
3k62 0.87 0 0.486 3 486 0.48
3l25 0.35 0 0.247 0 247 0.42
3snp 0.70 0 0.041 0 41 0.50
TABLE S9 – Resultats de la fonction de score gros-grain non lin ´ eaire avec valeurs de ´
centrage pour les 120 complexes de la PRIDB : score d’enrichissement (ES), nombre
de presque-natifs dans le top10, nombre de presque-natifs attendus en moyenne par
un tri aleatoire, nombre de presque-natifs dans le top100, nombre de presque-natifs ´
sur les 10 000 structures et aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats
par pdb evalu ´ e. ´
161pdb Description prot´eine Nombre d’acides amin´es Description ARN Nombre d’acides nucl´eiques Type
2zi0 Tomato aspermy virus protein 2b 60 siRNA 40 dsRNA
2gxb H. sapiens dsRNA-specific adenosine deaminase 62 dsRNA 5’-UCGCGCG-3’ and 5’-CGCGCG-3’ 13 dsRNA
1hq1 E. coli signal recognition particle protein 76 4.5S RNA domain IV 49 dsRNA
2f8k S. cerevisiae VTS1 protein SAM domain 84 5’-UAAUCUUUGACAGAUU-3’ 16 dsRNA
1lng M. jannaschii signal recognition particle 19 kDa protein 87 7S.S signal recognition particle RNA 97 dsRNA
3egz H. sapiens U1 small nuclear ribonucleoprotein A 91 Tetracyclin haptamer and artificial riboswitch 65 dsRNA
1dfu E. coli ribosomal protein L25 94 5S rRNA fragment 38 dsRNA
1jid H. sapiens signal recognition particle 19 kDa protein 114 signal recognition particle RNA helix 6 29 dsRNA
2pjp E. coli selenocysteine-specific elongation factor selB 121 SECIS RNA 23 dsRNA
1r9f Tomato bushy stunt virus core protein 19 121 siRNA 40 dsRNA
2czj T. thermophilus SsrA-binding protein 122 tmRNA tRNA domain 62 dsRNA
1wsu M. thermoacetica selenocystein-specific elongation factor 124 5’-GGCGUUGCCGGUCGGCAACGCC-3’ 22 dsRNA
2bu1 E. phage MS2 coat protein 129 5’-CAUGAGGAUUACCCAUG-3’ 17 dsRNA
1di2 X. laevis protein A dsRNA-binding domain 129 dsRNA 5’-GGCGCGCGCC-3’ tetramer 40 dsRNA
2zko Influenza A virus non-structural protein 1 (NS1) 140 dsRNA 42 dsRNA
2az0 Flock house virus B2 protein 141 dsRNA 5’-GCAUGGACGCGUCCAUGC-3’ dimer 36 dsRNA
1jbs A. restrictus restrictocin 142 29-mer sarcin/ricin domain RNA analog 29 dsRNA
1un6 X. laevis transcription factor IIIA 145 5S rRNA fragment 61 dsRNA
1e8o H. sapiens signal recognition particle 9 kDa and 14 kDa protein 149 7SL RNA 49 dsRNA
2anr H. sapiens neuro-oncological ventral antigen 1 (NOVA 1) 155 5’-CUCGCGGAUCAGUCACCCAAGCGAG-3’ 25 dsRNA
1feu T. thermophilus 50S ribosomal protein L25 185 5S rRNA fragment 40 dsRNA
2i82 E. coli ribosomal large subunit pseudouridine synthase A 217 5’-GAGGGGAAUGAAAAUCCCCUC-3’ 21 dsRNA
1mzp S. acidocaldarius 50S ribosomal protein L1P 217 23S rRNA fragment 55 dsRNA
1zbh H. sapiens 3’-5’ exonuclease ERI1 224 histone mRNA stem-loop 16 dsRNA
2hw8 T. thermophilus 50S ribosomal protein L1 228 mRNA 36 dsRNA
2qux P. phage coat protein 244 dsRNA 25 dsRNA
3iab S. cerevisiae ribonuclease P/MRP protein subunit POP6 255 Ribonuclease MRP RNA component P3 domain 46 dsRNA and POP7
3eqt H. sapiens ATP-dependent RNA helicase DHX58 269 5’-GCGCGCGC-3’ 8 dsRNA
3dd2 H. sapiens thrombine 288 dsRNA 26 dsRNA
2b3j S. aureus tRNA adenosine deaminase (tAdA) 302 tRNA-ARG2 anticodon stem-loop 15 dsRNA
1k8w E. coli tRNA-PseudoU synthase B 304 T stem-loop RNA 22 dsRNA
Codes PDB des complexes prot´eine-ARN utilis´es dans la PRIDB non redondante RB199, avec une description de la prot´eine
et de l’ARN, ainsi que le nombre d’acides amin´es #aa et d’acides nucl´eiques #an dans la structure 3D. Le type d’ARN est
aussi indiqu´e entre simple brin (ssRNA), double brin (dsRNA) et ARN de transfert (tRNA).
162pdb Description prot´eine Nombre d’acides amin´es Description ARN Nombre d’acides nucl´eiques Type
1r3e T. maritima tRNA-PseudoU synthase B 305 tRNA-PseudoU T-arm 51 dsRNA
1ooa M. musculus nuclear factor NF-kappa-B p105 subunit 313 RNA aptamer 29 dsRNA
1vfg A. aeolicus tRNA nucleotidyltransferase 342 Primer tRNA 31 dsRNA
2ozb H. sapiens U4/U6 small nuclear ribonucleoprotein Prp31 365 U4snRNA 5’ stem-loop 33 dsRNA
3bt7 E. coli tRNA (uracile-5)-methyltransferase 369 19 nucleotide T-arm analogue 19 dsRNA
2bgg A. fulgidus piwi AF1318 protein 395 dsRNA 5’-UUCGACGC-3’ and 5’-GUCGAAUU-3’ 16 dsRNA
2r8s M. musculus synthetic FAB 433 P4-P6 RNA ribozyme domain 159 dsRNA
2nug A. aeolicus ribonuclease III 434 dsRNA 44 dsRNA
1t0k E. coli maltose-binding periplasmic-protein 462 mRNA 3’ consensus 5’-UGACC-3’ 27 dsRNA and S. cerevisiae 60S ribosomal protein L30
2e9t Foot-and-mouth disease virus RNA-dependent RNA polymerase 474 dsRNA 5’-UAGGGCCC-3’ and 5’-GGGCCCU-3’ 15 dsRNA
3bso Norwalk virus RNA-dependent RNA polymerase 479 primer-template RNA 16 dsRNA
3l25 Ebola virus polymerase cofactor VP35 492 dsRNA 5’-CGCAUGCG-3’ dimer 16 dsRNA
1yvp X. laevis 60 kDa SS-A Ro ribonucleoprotein 529 Both strands of the Y RNA sequence 20 dsRNA
2w2h Equine infectious anemia virus protein TAT 581 TAR RNA 44 dsRNA and E. caballus cyclin-T1
2gjw A. fulgidus tRNA-splicing endonuclease 612 dsRNA 37 dsRNA
3ciy M. musculus toll-like receptor 3 661 dsRNA 92 dsRNA
1q2r Z. mobilis queunine tRNA ribosyltransferase 748 dsRNA 5’-AGCACGGCUNUAAACCGUGC-3’ dimer 40 dsRNA
3htx A. thaliana RNA methyltransferase HEN1 780 dsRNA 44 dsRNA
3snp O. cuniculus cytoplasmic aconitate hydratase 850 Ferritin H IRE RNA 30 dsRNA
1tfw A. fulgidus tRNA nucleotidyltransferase 874 Immature tRNA 26 dsRNA
3icq S. cerevisiae GTP-binding nuclear protein GSP1/CNR1 1116 dsRNA 62 dsRNA and S. pombe exportin-T
3a6p H. sapiens exportin-5 1242 pre-miRNA 46 dsRNA
1n35 M. orthoreovirus minor core protein lambda 3 1264 dsRNA 5’-GGGGG-3’ and 5’-UAGCCCCC-3’ 13 dsRNA
2f8s A. aeolicus argonaute protein 1408 dsRNA 5’-AGACAGCAUAUAUGCUGUCUUU-3’ dimer 44 dsRNA
1m8v P. abyssi putative snRNP sm-like protein 72 5’-UUUUUU-3’ 6 ssRNA
1sds M. jannaschii 50S ribosomal protein L7Ae 112 Archeal box H/ACA sRNA K-turn 15 ssRNA
2a8v E. coli rho-dependent transcription termination 118 5’-CCC-3’ 3 ssRNA factor RNA-binding domain
1si3 H. sapiens eukaryotic translation initiation factor 2C 1 120 5’-CGUGACUCU-3’ 9 ssRNA
Codes PDB des complexes prot´eine-ARN utilis´es dans la PRIDB non redondante RB199, avec une description de la prot´eine
et de l’ARN, ainsi que le nombre d’acides amin´es #aa et d’acides nucl´eiques #an dans la structure 3D. Le type d’ARN est
aussi indiqu´e entre simple brin (ssRNA), double brin (dsRNA) et ARN de transfert (tRNA).
163pdb Description prot´eine Nombre d’acides amin´es Description ARN Nombre d’acides nucl´eiques Type
3d2s H. sapiens musculeblind-like protein 1 (MBNL1) 135 5’-GCUGU-3’ 5 ssRNA
1gtf G. staerothermophilus TRP RNA-binding attenuation protein 142 5’-GAGU-3’ 4 ssRNA
1wpu B. subtilis hut operon positive regulatory protein 148 5’-UUGAGUU-3’ 7 ssRNA
1fxl P. encephalomyelitis antigen hud 167 5’-UUUUAUUUU-3’ 9 ssRNA
2voo H. sapiens lupus LA protein 179 5’-UUU-3’ 3 ssRNA
3gib E. coli protein Hfq 191 5’-AAAAAAAAA-3’ 9 ssRNA
2asb M. tuberculosis transcription elongation protein nusA 226 5’-GAACUCAAUAG-3’ 11 ssRNA
1av6 Vaccinia cap-specific mRNA methyltransferase VP39 290 M7G Capped RNA 5’-GAAAAA-3’ 7 ssRNA
1knz S. rotavirus nonstructural RNA-binding protein 34 292 mRNA 3’ consensus 5’-UGACC-3’ 5 ssRNA
2gje T. brucei mRNA-binding protein bBP 292 Guide-RNA fragment 18 ssRNA
3iev A. aeolicus GTP-binding protein ERA 302 16S rRNA 3’ end 11 ssRNA
1m8x H. sapiens pumilio 1 homology domain 341 5’-UUGUAUAU-3’ 8 ssRNA
2wj8 Human respiratory syncytial virus nucleoprotein 374 5’-CCCCCCC-3’ 7 ssRNA
3fht H. sapiens ATP-dependent RNA helicase DDX19B 392 5’-UUUUUU-3’ 6 ssRNA
3k62 C. elegans Fem-3 mRNA-binding factor 2 400 5’-UGUGUUAUC-3’ 9 ssRNA
2gtt Rabies virus nucleoprotein 401 ssRNA 17 ssRNA
2gic Vesicular stomatitis Indiana virus nucleocapsid protein 416 ssRNA fragment 15 ssRNA
2bh2 E. coli 23S ribosomal RNA (uracil-5)-methyltransferase RUMA 419 23S rRNA fragment 29 ssRNA
2jlv Dengue virus serine protease subunit NS3 451 5’-AGACUAA-3’ 7 ssRNA
2bx2 E. coli ribonuclease E 500 5’-UUUACAGUAUUUGU-3’ 14 ssRNA
2po1 P. abyssi probable exosome complex exonuclease 503 5’-AAAAAAA-3’ 7 ssRNA
3i5x S. cerevisiae ATP-dependent RNA helicase MSS116 509 5’-UUUUUUUUUU-3’ 10 ssRNA
1ddl Desmodium yellow mottle tymovirus 551 5’-UUUUUUU-3’ 7 ssRNA
1pgl Bean pod mottle virus 555 5’-AGUCUC-3’ 6 ssRNA
1uvj P. phage P2 protein 664 5’-UUCC-3’ 4 ssRNA
3ex7 H. sapiens CASC3 and mago nashi homolog 687 5’-UUUUUU-3’ 6 ssRNA and RNA-binding protein 8 and eukaryotic initiation factor 4A-III
2vnu S. cerevisiae exosome complex exonuclease RRP44 694 5’-AAAAAAAAA-3’ 9 ssRNA
2z2q Flock house viruse capsid protein 980 Flock house virus genomic RNA 12 ssRNA
2r7r Simian rotavirus RNA-dependent RNA polymerase 1073 5’-UGUGACC-3’ 7 ssRNA
1j1u M. jannaschii tRNA-TYR synthetase 300 tRNA-TYR 74 tRNA
3foz E. coli isopentenyl-tRNA transferase 303 tRNA-PHE 69 tRNA
Codes PDB des complexes prot´eine-ARN utilis´es dans la PRIDB non redondante RB199, avec une description de la prot´eine
et de l’ARN, ainsi que le nombre d’acides amin´es #aa et d’acides nucl´eiques #an dans la structure 3D. Le type d’ARN est
aussi indiqu´e entre simple brin (ssRNA), double brin (dsRNA) et ARN de transfert (tRNA).
164pdb Description prot´eine Nombre d’acides amin´es Description ARN Nombre d’acides nucl´eiques Type
2fk6 B. subtilis ribonuclease Z 307 tRNA-THR 53 tRNA
2fmt E. coli tRNA-FMET formyltransferase 314 Formyl-methionyl-tRNA-FMET2 77 tRNA
2zzm M. jannaschii uncharacterized protein MJ0883 329 tRNA-LEU 84 tRNA
2der E. coli tRNA-specific 2-thiouridylase mnmA 348 tRNA-GLU 74 tRNA
3eph S. cerevisiae tRNA isopentenyltransferase 402 tRNA 69 tRNA
1b23 T. aquaticus elongation factor EF-TU 405 E. coli tRNA-CYS 74 tRNA
1h3e T. thermophilus tRNA-TYR synthetase 427 Wild type tRNA-TYR (GUA) 84 tRNA
1u0b E. coli tRNA-CYS 461 tRNA-CYS 74 tRNA
2ct8 A. aeolicus tRNA-MET synthetase 465 tRNA-MET 74 tRNA
1n78 T. thermophilus tRNA-GLU synthetase 468 tRNA-GLU 75 tRNA
2d6f M. thermautotrophicus tRNA-GLN amidotransferase 485 tRNA-GLN 72 tRNA
1asy Yeast tRNA-ASP synthetase 490 tRNA-ASP 75 tRNA
3hax
P. furiosus probable tRNA-PseudoU synthase B
503 H/ACA RNA 74 tRNA and ribosome biogenesis protein Nop10
and 50S ribosomal protein L7Ae
2nqp E. coli tRNA-PseudoU synthase A 528 tRNA-LEU 71 tRNA
1qtq E. coli tRNA-GLN synthetase 529 tRNA-GLN II 74 tRNA
2zni D. hafniense tRNA-PYL synthetase 558 tRNA-PYL 72 tRNA
1c0a E. coli tRNA-ASP synthetase 585 tRNA-ASP 77 tRNA
1f7u S. cerevisiae tRNA-ARG synthetase 607 tRNA-ARG 76 tRNA
2zue P. horikoshii tRNA-ARG synthetase 628 tRNA-ARG 76 tRNA
1qf6 E. coli tRNA-THR synthetase 641 tRNA-THR 76 tRNA
2azx H. sapiens tRNA-TRP synthetase 778 tRNA-TRP 72 tRNA
1ser T. thermophilus tRNA-SER synthetase 793 tRNA-SER 65 tRNA
2bte T. thermophilus aminoacyl-tRNA synthetase 877 tRNA-LEU transcript with anticodon CAG 78 tRNA
3hl2 H. sapiens O-phosphoseryl-tRNA-SEC selenium transferase 886 tRNA-SEC 82 tRNA
1ffy S. aureus tRNA-ILE synthetase 917 tRNA-ILE 75 tRNA
1h4s T. thermophilus tRNA-PRO synthetase 946 tRNA-PRO (CGG) 67 tRNA
1wz2 P. horikoshii tRNA-LEU synthetase 948 tRNA-LEU 88 tRNA
2du3 A. fulgidus O-phosphoseryl-tRNA synthetase 1001 tRNA-CYS 71 tRNA
2iy5 T. thermophilus tRNA-PHE synthetase 1117 tRNA-PHE 76 tRNA
1j2b P. horikoshii archaeosine tRNA-GUA transglycosylase 1152 tRNA-VAL 77 tRNA
TABLE S10 – Codes PDB des complexes prot´eine-ARN utilis´es dans la PRIDB non redondante RB199, avec une description
de la prot´eine et de l’ARN, ainsi que le nombre d’acides amin´es et d’acides nucl´eiques dans la structure 3D. Le type d’ARN
est aussi indiqu´e entre simple brin (ssRNA), double brin (dsRNA) et ARN de transfert (tRNA).
165D pdb pdb aa Description prot´eine Nombre d’acides amin´es pdb na Description ARN Nombre d’acides nucl´eiques Type
R 2b6g 2d3d S. cerevisiae VTS1 protein SAM domain 81 2b7g 5’-GGAGGCUCUGGCAGCUUUC-3’ 19 dsRNA
R 1ec6 1dtj H. sapiens neuro-oncological ventral antigen 2 (NOVA 2) 87 – dsRNA 20 dsRNA
R 1t4l 1t4o S. cerevisiae ribonuclease III 90 – snRNA 47 precursor 5’ terminal hairpin 32 dsRNA
R 1m5o 1nu4 H. sapiens U1 small nuclear ribonucleoprotein A 92 – RNA substrate and RNA hairpin ribozyme 113 dsRNA
R 3bo2 1nu4 H. sapiens U1 small nuclear ribonucleoprotein A 95 – Group I intron P9 and mRNA 221 dsRNA
R 1g1x 1ris T. thermophilus 30S ribosomal protein S6 98 – 16S rRNA fragment 84 dsRNA
R 1zbi 1zbf B. halodurans Ribonuclease H-related protein 135 – RNA-DNA hydrid 24 dsRNA
R 1jbr 1aqz A. restrictus restrictocin 149 – 31-mer SRD RNA analog 31 dsRNA
R 1u63 1l2a M. jannaschii 50S ribosomal protein L1P 214 – mRNA 49 dsRNA
R 2ez6 1jfz A. aeolicus ribonuclease III 218 – dsRNA 56 dsRNA
R 1kog 1evl E. coli tRNA-THR synthetase 401 – tRNA-THR synthetase mRNA 37 dsRNA operator essential domain
R 2dra 1r89 A. fulgidus CCA-adding enzyme 437 1vfg tRNA mini DCC 34 dsRNA
R 1wne 1u09 Foot-and-mouth disease virus 476 – dsRNA 5’-CAUGGGCC-3’ 13 dsRNA RNA-dependent RNA polymerase and 5’-GGCCC-3’ dimer
R 1c9s 1qaw G. staerothermopilus TRP RNA-binding attenuation protein 67 – 5’-GAUGAGA-3’ 7 ssRNA
R 1m8w 1mz8 H. sapiens pumilio 1 homology domain 340 – 5’-UUGUAUAU-3’ 8 ssRNA
R 3bsb 1m8z H. sapiens pumilio 1 homology domain 341 – 5’-UUUAAUGUU-3’ 9 ssRNA
R 3bsx 1m8z H. sapiens pumilio 1 homology domain 341 – 5’-UUGUAAUAUU-3’ 10 ssRNA
R 1kq2 1kq1 S. aureus host factor protein for Q beta 365 – 5’-AUUUUUG-3’ 7 ssRNA
R 2i91 1yvr S. laevis 60 kDa SS-A Ro ribonucleoprotein 526 – misfolded RNA fragment 23 ssRNA
Codes PDB des 40 complexes prot´eine-ARN utilis´es dans les benchmarks I et II, par difficult´e (D, avec R pour corps rigide,
S pour semi-flexible et X pour flexible), avec une description de la prot´eine et de l’ARN, ainsi que le nombre d’acides amin´es
#aa et d’acides nucl´eiques #an dans la structure 3D et le code PDB de la structure 3D de la prot´eine (pdb aa) et de l’ARN
(pdb na) non li´es si disponibles. Le type d’ARN est aussi indiqu´e entre simple brin (ssRNA), double brin (dsRNA) et ARN
de transfert (tRNA).
166D pdb pdb aa Description prot´eine Nombre d’acides amin´es pdb na Description ARN Nombre d’acides nucl´eiques Type
R 2ix1 2id0 E. coli exoribonuclease II 643 – 5’-AAAAAAAAAAAAA-3’ 13 ssRNA
R 1ttt 1eft T. aquaticus elongation factor EF-TU 405 4tna Yeast tRNA-PHE 76 tRNA
R 1efw 1l0w T. thermophilus tRNA-ASP synthetase 580 1c0a tRNA-ASP 73 tRNA
S 1hc8 1foy G. staerothermopilus ribosomal protein L11 74 – 23S rRNA fragment 57 dsRNA
S 1dk1 2fkx T. thermophilus 30S ribosomal protein S15 86 – 30S rRNA fragment 57 dsRNA
S 1mfq 1qb2 H. sapiens signal recognition particle 54 kDa protein 108 1l9a 7S RNA of Human signal recognition particle 128 dsRNA
S 1e7k 2jnb H. sapiens 15.5 kDa RNA-binding protein 125 – 5’-GCCAAUGAGGCCGAGGC-3’ 17 dsRNA
S 1mms 2k3f T. maritima ribosomal protein L11 133 – 23S rRNA fragment 58 dsRNA
S 2err 2cq3 H. sapiens ataxin-2-binding protein 1 (Fox 1) 88 – 5’-UGCAUGU-3’ 7 ssRNA
S 2ad9 1sjq H. sapiens polypyrimidine tract-binding protein RBD1 98 – 5’-CUCUCU-3’ 6 ssRNA
S 2adb 1sjr H. sapiens polypyrimidine tract-binding protein RBD2 127 – 5’-CUCUCU-3’ 6 ssRNA
S 2py9 2jzx H. sapiens poly(rC)-binding protein 2 141 – Human telomeric RNA 12 ssRNA
S 2adc 2evz H. sapiens polypyrimidine tract-binding protein RBD3 and 4 208 – 5’-CUCUCU-3’ 6 ssRNA
S 3bx2 1m8z H. sapiens pumilio 1 homology domain 328 – 5’-UGUAUAUUA-3’ 9 ssRNA
X 1ekz 1stu D. melanogaster maternal effect protein 76 – RNA hairpin 30 dsRNA
X 2hgh 2j7j S. laevis transcription factor IIIA 87 – 5S rRNA fragment 55 dsRNA
X 1hvu 2vg5 Human immunodeficiency virus HIV1 reverse transcriptase 954 – RNA pseudoknot 30 dsRNA
X 1b7f 3sxl D. melanogaster SXL-lethal protein 167 – 5’-GUUGUUUUUUUU-3’ 12 ssRNA
X 2c0b 2vmk E. coli ribonuclease E 488 – 5’-UUUACAGUAUU-3’ 11 ssRNA
X 1msw 1aro E. phage DNA-directed T7 RNA polymerase 863 – mRNA 47 ssRNA
X 1ob2 1efc E. coli elongation factor EF-TU 393 1ehz tRNA-PHE 76 tRNA
TABLE S11 – Codes PDB des 40 complexes prot´eine-ARN utilis´es dans les benchmarks I et II, par difficult´e (D, avec R pour
corps rigide, S pour semi-flexible et X pour flexible), avec une description de la prot´eine et de l’ARN, ainsi que le nombre
d’acides amin´es et d’acides nucl´eiques dans la structure 3D et le code PDB de la structure 3D de la prot´eine (pdb aa) et de
l’ARN (pdb na) non li´es si disponibles. Le type d’ARN est aussi indiqu´e entre simple brin (ssRNA), double brin (dsRNA) et
ARN de transfert (tRNA).
167ES TOP10 TOP100 ROC-AUC
pdb ROS POS ALL NEG ROS POS ALL NEG Attendu ROS POS ALL NEG ROS POS ALL NEG
1asy 0.49 3.69 0.88 0.87 7 8 7 7 7.195 28 95 92 92 0.43 0.74 0.58 0.57
1av6 3.15 1.53 0.00 0.00 5 10 10 10 8.815 77 100 97 97 0.38 0.88 0.62 0.62
1b23 1.47 2.87 0.94 0.94 4 10 9 9 5.037 4 99 88 88 0.39 0.81 0.61 0.61
1c0a 0.46 5.89 2.82 2.76 1 10 9 9 2.568 11 99 75 75 0.30 0.91 0.70 0.70
1ddl 0.52 2.64 1.24 1.24 2 3 1 1 2.789 18 35 28 28 0.48 0.64 0.53 0.52
1dfu 2.11 5.07 0.22 0.22 4 10 10 10 9.24 47 100 99 99 0.28 0.93 0.74 0.73
1di2 0.59 4.05 0.92 0.92 10 10 8 8 7.553 99 98 90 89 0.41 0.91 0.60 0.60
1e8o 1.18 2.08 1.48 1.48 6 2 8 8 3.376 23 37 62 62 0.44 0.63 0.56 0.56
1f7u 0.17 4.46 2.58 2.55 4 10 10 10 4.105 4 94 75 75 0.21 0.89 0.80 0.80
1feu 1.16 1.72 0.11 0.11 4 10 9 9 9.081 65 99 96 96 0.34 0.81 0.67 0.67
1ffy 0.02 7.09 1.11 1.10 0 10 4 4 3.121 0 100 17 17 0.42 0.93 0.58 0.58
1fxl 0.08 6.26 0.26 0.24 0 10 10 10 5.104 0 100 98 98 0.18 0.79 0.83 0.82
1gtf 4.28 1.61 0.00 0.00 10 10 10 10 9.628 97 100 100 100 0.49 0.72 0.51 0.51
1h3e 0.41 5.02 0.96 0.95 0 10 4 4 5.918 11 100 65 65 0.35 0.77 0.65 0.65
1h4s 0.81 1.90 1.72 1.75 1 4 4 4 1.19 2 34 35 35 0.42 0.63 0.58 0.58
1hq1 1.43 2.42 0.68 0.67 6 3 0 0 2.624 31 40 6 6 0.57 0.67 0.43 0.43
1j1u 1.56 1.40 0.15 0.15 10 9 10 10 8.331 96 92 97 97 0.53 0.67 0.47 0.47
1j2b 0.02 6.25 4.17 4.14 0 10 9 9 1.317 0 100 75 75 0.13 0.87 0.87 0.87
1jbs 0.58 0.79 0.59 0.59 0 0 3 3 2.528 1 5 25 26 0.44 0.61 0.56 0.56
1jid 2.52 0.05 0.00 0.00 2 10 10 10 9.357 63 98 95 95 0.37 0.65 0.64 0.63
1k8w 0.59 7.73 2.78 2.70 1 10 10 10 3.916 5 100 86 86 0.35 0.94 0.67 0.65
1knz 0.00 5.68 0.19 0.19 0 10 3 3 3.11 0 100 62 63 0.15 0.93 0.86 0.85
1lng 2.74 3.91 0.77 0.77 6 10 5 5 7.299 70 95 58 58 0.61 0.65 0.39 0.39
1m8v 0.85 1.70 0.51 0.50 10 3 10 10 7.017 90 51 81 81 0.44 0.54 0.56 0.56
1m8x 1.68 4.61 0.26 0.26 7 10 9 9 8.413 86 100 90 90 0.43 0.75 0.58 0.58
1mzp 0.76 3.15 1.96 1.95 0 6 4 4 1.592 11 51 39 38 0.40 0.71 0.60 0.60
1n35 0.10 7.27 2.62 2.62 0 8 0 0 0.732 0 85 13 13 0.34 0.99 0.67 0.67
1n78 0.33 3.67 0.53 0.53 0 10 4 4 4.39 0 98 62 62 0.30 0.92 0.71 0.71
1ooa 3.45 2.56 0.00 0.00 6 10 10 10 8.662 75 100 95 95 0.44 0.91 0.57 0.57
1pgl 3.13 0.00 0.00 0.00 10 9 9 9 9.344 80 98 99 99 0.24 0.85 0.76 0.76
1q2r 0.00 6.33 1.13 1.11 0 10 9 9 4.585 0 100 93 93 0.24 0.82 0.77 0.77
1qf6 0.09 7.30 2.92 2.92 0 10 7 7 1.154 0 99 52 52 0.23 0.90 0.77 0.77
R´esultats des fonctions de score atomiqes de la fonction par d´efaut de RosettaDock (ROS), positive (POS), n´egative (NEG)
et sans contrainte (ALL) pour les complexes de la PRIDB : score d’enrichissement, nombre de presque-natifs dans le top10,
nombre de presque-natifs attendus en moyenne par un tri al´eatoire, nombre de presque-natifs dans le top100 et aire sous
la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb ´evalu´e.
168ES TOP10 TOP100 ROC-AUC
pdb ROS POS ALL NEG ROS POS ALL NEG Attendu ROS POS ALL NEG ROS POS ALL NEG
1qtq 0.05 6.36 2.57 2.54 0 10 9 9 2.971 4 100 80 80 0.30 0.89 0.70 0.70
1r3e 0.66 6.89 2.65 2.65 0 10 6 6 3.356 10 100 75 75 0.41 0.90 0.60 0.60
1r9f 1.55 3.19 0.28 0.28 10 10 10 10 9.359 99 100 98 98 0.38 0.87 0.63 0.62
1sds 0.80 1.51 0.47 0.47 5 6 2 2 4.183 41 37 32 32 0.55 0.59 0.45 0.45
1ser 0.10 4.35 0.51 0.51 0 9 7 7 2.999 0 95 41 39 0.29 0.96 0.72 0.71
1si3 0.27 4.66 0.11 0.09 0 10 10 10 7.681 0 100 100 100 0.08 0.75 0.92 0.92
1t0k 1.53 1.34 0.73 0.73 8 0 4 4 3.725 59 14 27 27 0.55 0.51 0.45 0.45
1tfw 0.02 4.38 3.33 3.31 0 10 1 1 0.225 0 97 14 14 0.22 1.00 0.79 0.78
1u0b 0.02 6.33 3.44 3.41 0 10 7 7 2.616 0 97 69 69 0.21 0.87 0.79 0.79
1un6 0.66 2.93 1.29 1.30 0 9 7 7 3.952 1 93 87 86 0.30 0.83 0.71 0.71
1uvj 0.51 3.20 0.66 0.66 0 6 2 2 2.066 0 73 47 46 0.31 0.80 0.69 0.69
1vfg 2.96 0.32 0.11 0.11 9 10 10 10 9.313 87 99 98 98 0.42 0.74 0.59 0.59
1wpu 2.16 3.48 0.14 0.13 10 10 9 9 8.746 78 100 95 95 0.51 0.62 0.49 0.49
1wsu 0.50 1.72 1.50 1.48 0 2 6 6 4.816 14 32 72 72 0.36 0.52 0.64 0.64
1wz2 0.25 5.18 1.81 1.72 0 10 5 4 2.451 0 98 55 53 0.31 0.79 0.70 0.69
1yvp 2.26 2.69 0.00 0.00 8 10 10 10 9.384 84 100 99 99 0.37 0.84 0.63 0.63
1zbh 0.15 1.74 1.33 1.33 2 8 7 7 3.809 4 69 62 62 0.34 0.68 0.66 0.66
2a8v 0.14 2.20 1.81 1.83 2 8 6 6 4.775 14 84 64 65 0.34 0.53 0.66 0.66
2anr 0.55 2.06 2.14 2.15 7 0 3 3 2.927 23 18 48 48 0.38 0.57 0.62 0.62
2asb 1.18 5.26 0.13 0.13 2 10 6 6 5.475 3 100 60 60 0.46 0.92 0.55 0.55
2az0 0.22 4.33 1.36 1.34 0 10 1 1 1.351 1 77 12 12 0.40 0.84 0.61 0.61
2azx 0.13 2.29 1.85 1.81 0 9 9 9 7.22 10 90 90 89 0.29 0.63 0.72 0.71
2b3j 1.56 3.18 0.11 0.11 0 10 10 10 7.172 7 100 100 100 0.24 0.93 0.76 0.76
2bgg 0.30 4.89 2.25 2.21 0 10 10 10 5.42 4 100 98 97 0.28 0.88 0.73 0.73
2bh2 0.29 7.08 1.75 1.74 0 10 8 8 2.34 0 100 82 82 0.32 0.89 0.68 0.68
2bte 0.98 2.15 0.23 0.23 7 10 6 6 7.251 76 98 83 82 0.42 0.82 0.59 0.58
2bu1 0.18 2.41 1.75 1.73 5 3 2 2 3.909 17 54 43 43 0.38 0.60 0.62 0.62
2bx2 0.07 2.08 0.98 0.96 0 5 3 2 3.441 0 42 21 20 0.36 0.81 0.64 0.64
2ct8 0.68 3.09 0.87 0.87 3 10 4 4 5.817 37 87 69 69 0.35 0.79 0.65 0.65
2czj 3.12 3.51 0.06 0.05 10 10 10 10 9.135 94 100 97 97 0.51 0.78 0.49 0.49
2d6f 2.30 2.75 0.00 0.00 10 10 1 1 8.458 81 96 64 64 0.63 0.67 0.37 0.37
2der 0.88 4.52 0.88 0.87 0 10 5 5 3.535 0 100 84 84 0.26 0.96 0.75 0.74
R´esultats des fonctions de score atomiqes de la fonction par d´efaut de RosettaDock (ROS), positive (POS), n´egative (NEG)
et sans contrainte (ALL) pour les complexes de la PRIDB : score d’enrichissement, nombre de presque-natifs dans le top10,
nombre de presque-natifs attendus en moyenne par un tri al´eatoire, nombre de presque-natifs dans le top100 et aire sous
la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb ´evalu´e.
169ES TOP10 TOP100 ROC-AUC
pdb ROS POS ALL NEG ROS POS ALL NEG Attendu ROS POS ALL NEG ROS POS ALL NEG
2du3 2.14 2.11 0.05 0.05 9 6 10 10 9.16 65 84 95 95 0.48 0.52 0.52 0.52
2e9t 0.00 7.70 1.83 1.80 0 10 4 4 1.688 0 100 75 73 0.19 1.00 0.83 0.82
2f8k 1.37 1.47 0.92 0.92 9 1 4 4 4.993 78 32 63 62 0.51 0.57 0.49 0.49
2f8s 1.27 2.19 0.62 0.62 6 10 10 10 6.802 53 100 93 93 0.40 0.67 0.60 0.60
2fk6 0.84 2.93 0.61 0.61 10 10 9 9 8.17 78 98 94 94 0.46 0.86 0.54 0.54
2fmt 0.59 5.99 1.07 1.06 0 10 7 7 2.675 10 100 44 43 0.40 0.90 0.61 0.61
2gic 1.11 3.06 0.13 0.13 0 8 3 3 3.956 0 87 36 35 0.38 0.92 0.63 0.63
2gje 1.11 2.60 0.27 0.26 6 9 10 10 7.233 74 95 93 93 0.30 0.83 0.70 0.70
2gjw 0.11 4.25 0.18 0.18 8 10 10 10 7.806 28 100 100 100 0.22 0.89 0.79 0.79
2gtt 1.03 3.38 0.41 0.38 0 9 0 0 2.419 0 88 12 12 0.43 0.88 0.57 0.57
2gxb 0.54 1.87 0.98 0.95 0 3 3 3 4.715 16 45 37 37 0.49 0.59 0.51 0.51
2hw8 1.89 3.72 0.14 0.14 9 10 9 9 7.302 23 99 91 90 0.52 0.93 0.49 0.48
2i82 3.45 7.14 0.05 0.05 6 10 10 10 6.908 60 100 96 96 0.41 0.84 0.60 0.60
2iy5 0.07 6.69 2.12 2.10 0 4 0 0 0.92 0 79 3 3 0.31 0.96 0.70 0.70
2jlv 0.53 0.74 0.00 0.00 0 1 0 0 4.519 0 13 7 7 0.33 0.81 0.67 0.67
2nqp 0.74 3.02 0.77 0.77 0 5 1 1 2.642 5 58 25 25 0.43 0.74 0.57 0.57
2nug 0.29 6.56 5.83 5.82 0 10 0 0 0.365 0 100 1 1 0.66 1.00 0.40 0.37
2ozb 1.10 6.82 2.24 2.23 1 10 10 10 3.716 3 100 95 95 0.37 0.84 0.63 0.63
2pjp 0.01 1.75 2.16 2.17 1 1 6 6 2.983 1 33 53 53 0.31 0.60 0.69 0.69
2po1 1.98 1.35 0.00 0.00 10 10 1 1 9.139 97 100 55 55 0.45 0.75 0.56 0.56
2qux 0.16 3.18 1.63 1.61 1 4 0 0 1.94 1 56 16 17 0.40 0.70 0.60 0.60
2r7r 0.03 4.54 0.16 0.16 0 10 6 6 4.231 0 98 74 73 0.18 0.91 0.83 0.83
2r8s 1.35 1.96 0.28 0.28 8 10 9 9 7.263 42 90 83 82 0.46 0.59 0.54 0.54
2vnu 0.09 2.20 1.13 1.13 0 2 0 0 2.481 0 58 30 30 0.24 0.93 0.76 0.76
2voo 0.08 1.69 0.13 0.13 10 10 10 10 7.556 96 100 97 97 0.43 0.85 0.58 0.57
2w2h 0.50 3.96 2.71 2.70 2 10 10 10 5.472 20 99 97 97 0.36 0.81 0.64 0.64
2wj8 0.06 6.11 0.66 0.65 0 10 5 5 2.429 0 99 52 52 0.22 0.91 0.79 0.79
2z2q 0.49 2.64 1.36 1.36 3 9 5 5 5.908 26 89 76 76 0.41 0.60 0.59 0.59
2zi0 3.01 0.48 0.01 0.01 0 9 4 4 7.917 10 88 58 58 0.27 0.80 0.74 0.74
2zko 1.15 4.04 0.99 1.00 0 7 0 0 1.338 9 83 9 9 0.57 0.83 0.44 0.43
2zni 0.30 6.44 1.70 1.64 0 10 9 9 2.671 0 100 48 46 0.40 0.76 0.61 0.61
2zue 0.30 4.53 1.50 1.49 0 10 9 9 4.929 0 99 82 82 0.22 0.89 0.79 0.78
R´esultats des fonctions de score atomiqes de la fonction par d´efaut de RosettaDock (ROS), positive (POS), n´egative (NEG)
et sans contrainte (ALL) pour les complexes de la PRIDB : score d’enrichissement, nombre de presque-natifs dans le top10,
nombre de presque-natifs attendus en moyenne par un tri al´eatoire, nombre de presque-natifs dans le top100 et aire sous
la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb ´evalu´e.
170ES TOP10 TOP100 ROC-AUC
pdb ROS POS ALL NEG ROS POS ALL NEG Attendu ROS POS ALL NEG ROS POS ALL NEG
2zzm 0.11 8.06 3.62 3.57 0 10 6 6 1.256 0 100 67 67 0.18 0.93 0.83 0.83
3a6p 6.30 7.17 0.00 0.00 0 7 0 0 1.972 54 96 0 0 0.80 0.99 0.21 0.20
3bso 0.94 5.84 0.08 0.08 0 10 0 0 2.472 1 100 0 0 0.43 0.99 0.58 0.58
3bt7 0.57 4.98 0.75 0.72 1 10 10 10 5.376 20 100 90 90 0.33 0.79 0.68 0.68
3ciy 1.71 2.79 0.19 0.18 4 10 2 2 5.629 44 82 54 53 0.59 0.69 0.41 0.41
3d2s 0.04 0.79 0.56 0.56 6 10 9 9 8.929 62 97 97 97 0.32 0.71 0.69 0.69
3dd2 0.74 2.00 1.21 1.21 0 3 2 2 2.468 4 43 34 35 0.44 0.66 0.56 0.56
3egz 1.05 3.05 0.41 0.39 6 10 7 7 5.223 6 97 91 90 0.16 0.79 0.84 0.84
3eph 0.19 8.81 5.65 5.61 0 10 10 10 1.002 0 100 90 90 0.13 0.99 0.88 0.87
3eqt 0.40 7.19 0.50 0.48 2 10 8 8 5.188 54 100 85 85 0.38 0.94 0.62 0.62
3ex7 0.05 4.06 0.55 0.53 0 10 10 10 7.516 0 96 99 99 0.18 0.75 0.83 0.82
3fht 2.19 3.66 0.01 0.01 0 10 10 10 8.25 0 100 100 100 0.18 0.84 0.83 0.83
3foz 0.48 8.00 2.67 2.66 0 10 8 8 1.341 0 100 48 48 0.21 0.98 0.80 0.79
3gib 0.37 1.80 1.78 1.78 0 6 6 6 2.324 0 48 56 57 0.31 0.49 0.69 0.69
3hax 0.04 6.51 4.73 4.71 1 10 9 9 1.027 1 100 81 80 0.19 0.88 0.81 0.81
3hl2 2.67 3.66 0.00 0.00 0 10 10 10 9.062 56 100 100 100 0.48 0.99 0.54 0.53
3htx 0.02 8.04 3.70 3.69 0 10 6 6 1.045 0 100 52 51 0.22 0.96 0.79 0.78
3i5x 0.31 3.55 1.20 1.19 0 10 8 8 6.791 4 100 80 79 0.35 0.80 0.65 0.65
3iab 0.59 5.28 1.17 1.13 0 10 10 10 4.77 7 92 100 100 0.24 0.73 0.77 0.77
3icq 0.14 2.83 1.12 1.12 0 10 7 8 5.14 10 88 80 80 0.35 0.81 0.65 0.65
3iev 1.30 5.64 0.94 0.92 8 10 10 10 7.914 67 100 99 99 0.61 0.65 0.40 0.40
3k62 2.51 3.40 0.15 0.15 9 10 9 9 8.482 86 100 96 96 0.35 0.78 0.65 0.65
3l25 0.35 7.02 1.09 1.07 0 7 2 2 1.205 0 79 35 33 0.38 0.99 0.64 0.62
3snp 0.02 6.63 2.80 2.77 1 10 10 10 3.201 1 100 86 86 0.25 0.84 0.75 0.75
TABLE S12 – R´esultats des fonctions de score atomiqes de la fonction par d´efaut de RosettaDock (ROS), positive (POS),
n
´egative (NEG) et sans contrainte (ALL) pour les complexes de la PRIDB : score d’enrichissement, nombre de presquenatifs
dans le top10, nombre de presque-natifs attendus en moyenne par un tri al´eatoire, nombre de presque-natifs dans le
top100 et aire sous la courbe ROC (ROC-AUC) sur 10 000 candidats par pdb ´evalu´e.
171
https://hal.archives-ouvertes.fr/tel-01081605/document
Une approche agile, fiable et minimale pour le maintien
de la qualit´e de service lors de l’´evolution d’applications
`a base de processus m´etiers
Alexandre Feugas
To cite this version:
Alexandre Feugas. Une approche agile, fiable et minimale pour le maintien de la qualit´e de
service lors de l’´evolution d’applications `a base de processus m´etiers. Software Engineering.
Universit´e des Sciences et Technologie de Lille - Lille I, 2014. French.
HAL Id: tel-01073193
https://tel.archives-ouvertes.fr/tel-01073193
Submitted on 9 Oct 2014
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of scientific
research documents, whether they are published
or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destin´ee au d´epˆot et `a la diffusion de documents
scientifiques de niveau recherche, publi´es ou non,
´emanant des ´etablissements d’enseignement et de
recherche fran¸cais ou ´etrangers, des laboratoires
publics ou priv´es.Universit´e Lille 1 Sciences et Technologies
D´epartement de formation doctorale en informatique Ecole doctorale SPI Lille ´
UFR IEEA
Une Approche Agile, Fiable et
Minimale pour le Maintien de la
Qualit´e de Service lors de l’Evolution
´
d’Applications `a Base de Processus
M´etiers
THESE `
pr´esent´ee et soutenue publiquement le 8 octobre 2014
pour l’obtention du
Doctorat de l’Universit´e Lille 1 Sciences et Technologies
Sp´ecialit´e Informatique
par
Alexandre Feugas
Composition du jury
Rapporteurs : Marie-Pierre Gervais, Universit´e Paris Ouest Nanterre La D´efense
Jean-Michel Bruel, Universit´e de Toulouse
Directeur de th`ese : Laurence Duchien, Universit´e Lille 1
Examinateurs : Jean-Luc Dekeyser, Universit´e Lille 1
S´ebastien Mosser, Universit´e Nice - Sophia Antipolis
Laboratoire d’Informatique Fondamentale de Lille — UMR CNRS 8022
INRIA Lille - Nord EuropeUne Approche Agile, Fiable et Minimale pour le Maintien de la Qualité de
Service lors de l’Évolution d’Applications à Base de Processus Métiers
Les logiciels actuels adoptent une méthodologie de développement dite "agile" pour
mieux prendre en compte la nécessité de s’adapter constamment aux nouveaux besoins des
utilisateurs. Les concepteurs et développeurs se rapprochent alors des futurs utilisateurs
du logiciel en proposant des cycles courts d’itération, où le futur utilisateur fait un retour
rapide sur l’incrément apporté au logiciel, et fait part de nouveaux besoins à prendre en
compte dans les incréments à venir. Ces itérations peuvent être vues comme des évolutions,
faisant suite à la définition d’un nouveau besoin de l’utilisateur, à un changement de l’environnement
d’exécution, ou encore à une remise en question de l’architecture du logiciel.
Dans l’écosystème des architectures orientées services, la conception d’applications passe
par la chorégraphie ou l’orchestration de services par des processus métiers. Concevoir ces
applications consiste alors à mettre en relation les flots de contrôle et de données de ces
services. La phase d’évolution devient une phase complexe, où une simple modification localisée
à une sous-partie d’un processus métier peut avoir des conséquences sur l’ensemble
du système logiciel, causant par exemple son ralentissement lors de l’exécution. Du point
de vue de la qualité de service (QoS), la maîtrise de la fiabilité du processus d’évolution
pour maintenir la qualité de service d’un logiciel est alors critique.
Il est donc nécessaire de pouvoir proposer des mécanismes d’évolution agiles et fiables
permettant le maintien de la QoS lors de l’évolution d’applications à base de processus
métiers. En d’autres termes, il s’agit de s’assurer qu’une évolution ne viole pas les contrats
de QoS définis initialement. Cette garantie doit être établie en fonction du contrat soit lors
de la conception soit lors de l’exécution. Dans ce dernier cas, le processus de vérification
doit être minimal et localisé, afin de ne pas dégrader les performances du système logiciel.
Pour cela, nous proposons de mettre en œuvre un cycle de développement agile, centré
sur le maintien de la QoS lors de l’évolution. Il s’agit de prendre l’aspect évolutif du système,
ceci dès l’étape de conception initiale, en identifiant les informations requises pour déterminer
si la QoS est correcte et si elle est non violée par une évolution. Ces informations
étant détenues par plusieurs intervenants, il est également nécessaire d’établir les points
d’interaction au cours du cycle de développement, au cours desquels les informations seront
partagées de façon à ce que le logiciel qui en est issu reste syntaxiquement et sémantiquement
cohérent et que les contrats de QoS soient (re)vérifiés a minima. Les contributions de
cette thèse sont donc mises en œuvre dans Blink, un cycle de développement pour l’évolution,
et Smile, un canevas de développement pour le maintien de la qualité de service lors de
l’évolution d’applications orientées service définies à base de processus métiers. Tandis que
le cycle de développement Blink vise à identifier les différents rôles présents dans l’équipe
de développement et à expliciter leurs interactions, le canevas Smile propose la réalisation
d’une boucle d’évolution. Cette boucle permet de concevoir, d’analyser et d’appliquer une
évolution, en détectant les potentielles violations de contrat de QoS. Pour cela, l’analyse
de l’évolution détermine son effet sur la QoS du logiciel, en établissant des relations de
causalité entre les différentes variables, opérations, services et autres parties du système.
Ainsi, en identifiant les éléments causalement affectés par l’évolution et en écartant ceux
qui ne le sont pas, notre approche permet de limiter le nombre d’éléments à (re)vérifier,
garantissant ainsi une étape d’évolution fiable, avec une étape de (re)vérification minimale.
Nous montrons sur un cas concret de système de gestion de crises, constitué de onze
processus métiers et de dix scénarios, que l’utilisation conjointe de Blink et de Smile
permet d’identifier, pour chaque évolution, quel sera son effet sur le reste du système, et si
la qualité de service sera maintenue ou non.An Agile, Reliable and Minimalist Approach to Preserve the QoS of
Business-Processes Based Applications during their Evolutions
Current softwares are built using "agile" development methods, to better consider the need
to adapt to new user requirements. Developers and designers are getting closer to future
software users by making short iterative cycles, where the future user gives a fast feedback
on the increment made to the software and emits new user requirement to be fulfilled in
future increments. These iterations can be seen as evolutions, as an answer to the definition
of a new user requirement, or due to a change in the execution environment or in the
architecture of the software. In the Service-Oriented Architecture (SOA) world, the design
of software is composed of service choreography, or service orchestration using business
processes. The design of these applications is equivalent to connecting the services control
flow and data flow. As a result, the evolution step becomes a complex step, where a simple
modification on a sub-part of a business process can have consequences on the entire system,
causing for example its slowing down at runtime. From the Quality of Service (QoS) point
of view, ensuring the fiability of the evolution process to maintain software QoS is critical.
As a result, it is necessary to propose agile, reliable evolution mecanisms ensuring QoS
preservation during the evolution of software made of business processes. In other words,
we need to control that an evolution does not violate any QoS contract initially set up.
Depending of the contract, this garanty must be established either at design time or at
runtime. In the latter case, the verification process must be minimal and local, in order to
not degrade the software performance.
To achieve this goal, we propose to realise an agile development cycle, centered on the
QoS preservation during the evolution. It is necessary to care about the evolutive concern
of a system from the initial design step, by identifying required information to determine
if the QoS continues to be correct and not violated by an evolution. Considering that this
information is known by many stakeholders, it is also necessary to set up interaction points
during the development cycle, during which information is shared in order to keep building a
syntactically and semantically coherent software and to minimally (re)check QoS contracts.
The contributions of this thesis are applied in Blink, a development cycle for evolution,
and Smile, a framework to maintain QoS during the evolution of a service-oriented software
made of business processes. While Blink is intended to identify the different actors and to
make their interactions explicit, Smile proposes the realisation of an evolution loop. This
loop enables the design, analysis and application of an evolution, by detecting the potential
QoS contract violation. The evolution analysis determines its effect on the software QoS,
by defining causal relations among variables, operations, services and other parts of the
system. In this way, by identifying elements that are causally affected by the evolution, and
by avoiding the elements that are not, our approach enables the limitation of the number of
elements to (re)check in order to assure a reliable evolution step, with a minimal (re)check
step.
We show on the concrete case of a crisis management system, composed of eleven business
processes and ten scenarios, that the combined use of Blink and Smile enables for
each evolution the identification of its effect on the system, and the QoS preservation of the
system.Remerciements
La thèse est une aventure, une expérience humaine qui vous marque profondément tant
elle change vos habitudes,votre façon de penser. J’ai vécu au cours de ces quatre dernières
années quelque chose de beau, d’intense, de douloureux et de décourageant aussi. Mais
c’est avant tout l’ensemble des rencontres faites durant ce laps de temps qui ont fait de
cette thèse un moment fort à mes yeux. Dans cette page, je n’aurai pas la prétention d’être
exhaustif, j’oublierai sûrement quelques personnes qui, je l’espère, ne m’en voudront pas.
Mais sachez juste que, qui que vous soyez, que je vous ai croisé de près ou de loin, merci à
vous d’avoir joué un rôle dans mon aventure doctorante.
Je voudrais remercier en premier lieu mes encadrants, Laurence et Seb, qui ont dû avoir
quelques cheveux blancs à cause de moi. Merci de vous être impliqué dans ces travaux,
d’avoir su garder patience avec moi. J’espère que vous ne m’en voulez pas trop de vous
avoir mené la vie dure. A titre postume, j’ai également une pensée profonde pour AnneFrançoise,
qui a su croire en moi ; qui m’a encouragé et qui a été derrière moi à mes débuts.
Merci à toi. J’aurais aimé que tu sois présente, auprès de nous.
Plus généralement, je voudrais remercier l’équipe Adam/Spirals, qui a été ma deuxième
famille. Merci aux permanents, avec leurs remarques, leurs discussions passionnantes, ou
leurs reculs. Merci enfin aux doctorants et ingénieurs de l’équipe, qui ont partagé avec moi
le stress des différentes présentations et autres deadlines d’articles. On ne le dit jamais
assez, une thèse, c’est pas une sinécure... Et puis merci à tous les collègues embarqués dans
la même galère : bravo, merci et courage au 4 autres compagnons ayant démarré cette folle
aventure avec moi : Adel, Nico, Rémi et Rémi. Bonne continuation à vous, en espérant que
vous garderez le même souvenir d’Inria que moi.
Un clin d’œil pour Clément, frère de thèse, qui a su m’accueillir à Lille malgré son accent
sudiste, qui m’a fait découvrir de nombreux endroits sympathiques. J’ai beaucoup apprécié
nos longues conversations, autant scientifiques que footballistiques. J’espère que tu mèneras
une longue et brillante carrière académique, en démarrant par Milan. Obrigado également
à Antonio, mon frère de bière, compagnon de nuit et de braderie, qui m’a fait découvrir sa
culture, son pays, et bien plus encore. J’ai été heureux de faire ta connaissance, en espérant
te re-croiser un jour, ou dans une vie future. Je ne pourrai pas écrire ces remerciements sans
penser à mes camarades de l’association des doctorants, Tilda. Tout particulièrement, je
voudrais saluer Fabien et sa bonne humeur, avec qui j’ai eu le plaisir de travailler. Enfin, un
immense merci à Julie, voisine de thèse, compagnon de pause café et motivatrice intarissable.
Merci de m’avoir épaulé autant dans ma thèse que dans ma vie perso.
Enfin, merci à ma famille, qui m’a soutenu tout au long de ces quatre dernières années,
dans les bons et les mauvais moments. Merci d’avoir été auprès de moi, d’avoir cru en moi,
lorsque moi-même je n’y croyais plus. Encore une fois, merci à vous. Merci également à
tous mes amis sudistes, qui ont sû rester en contact avec moi, malgré la grande distance
séparant mon sud natal de cette terre d’accueil qu’a été le Nord. Je ne citerai personne
de peur d’oublier quelqu’un, exception faite bien sûr de Laetitia, qui a été mon accroche
immuable tout au long du doctorat. Tu as su rester auprès de moi malgré la distance, l’eau
qui coulait sur les ponts, et nos chemins qui tendaient à bifurquer. Tu as été présente au
bout du téléphone lorsque j’allais bien, lorsque j’allais mal, quand j’avais envie de parler
politique, ou simplement de la pluie et du beau temps pour oublier les difficultés de la
journée passée. Plus encore, c’est sans nul doute grâce à toi si aujourd’hui, je suis docteur...
(le 13ème ?) C’est toi qui, au moment où j’avais envie de baisser les bras, là où je ne voyais
plus aucun espoir ni réconfort, a réussi non seulement à me donner la force de terminer
ma thèse, mais qui m’a en plus redonné l’envie de sourire, et qui m’a donné un but en
m’attendant patiemment dans notre nouvelle contrée toulousaine. Merci, merci infiniment.
iiiTable des matières
Table des matières
1 Introduction 1
1.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Défis pour maintenir la qualité de service lors de l’évolution . . . . . . . . . 2
1.3 Proposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Organisation du document . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Liste des publications liées à cette thèse . . . . . . . . . . . . . . . . . . . . 5
I Contexte et Motivations 7
2 Contexte 9
2.1 Les architectures orientées services . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Organisation des architectures orientées services . . . . . . . . . . . 10
2.2 La Qualité de Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Qualité du logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Méthodes de détermination de la qualité de service . . . . . . . . . . 14
2.2.3 Contrats de Qualité de Service . . . . . . . . . . . . . . . . . . . . . 17
2.3 Évolution des systèmes logiciels . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.1 Définition de l’évolution . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.2 Caractéristiques d’une évolution . . . . . . . . . . . . . . . . . . . . 18
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 État de l’art 25
3.1 Processus de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.1.1 Les processus de développement généralistes . . . . . . . . . . . . . . 26
3.1.2 Les processus de développement spécialisés SOA . . . . . . . . . . . 27
3.1.3 Prise en compte de la Qualité de Service . . . . . . . . . . . . . . . . 28
3.1.4 Prise en compte de l’évolution . . . . . . . . . . . . . . . . . . . . . 28
3.1.5 Comparatif et limitations . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Analyse d’impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.1 Fondements de la causalité . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.2 Application de la causalité : les analyses d’impact . . . . . . . . . . 30
3.2.3 Analyse d’impact pour la qualité de service . . . . . . . . . . . . . . 32
3.2.4 Comparatif et limitations . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Conclusion de l’état de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4 Présentation du cas d’étude 37
4.1 Séduite, un système de diffusion d’informations à base de processus métiers 37
4.2 PicWeb, un processus métier de recherche d’images . . . . . . . . . . . . . 39
4.2.1 Description de PicWeb . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.2 Évolution de PicWeb . . . . . . . . . . . . . . . . . . . . . . . . . . 40Table des matières
II Contributions 41
5 Un processus de développement pour le maintien de la qualité de service 43
5.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Définition des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 Description du processus de développement . . . . . . . . . . . . . . . . . . 44
5.4 Coopération entre acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.5 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6 Modélisation d’un système à base de processus métiers 51
6.1 Défis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2 Modélisation du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2.1 Univers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2.2 Variables et types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.2.3 Messages et Opérations . . . . . . . . . . . . . . . . . . . . . . . . . 53
6.2.4 Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.2.5 Activités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.2.6 Relations d’ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.2.7 Processus métier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.2.8 Système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.3 Causalité de l’exécution d’un système . . . . . . . . . . . . . . . . . . . . . 58
6.3.1 Mise en œuvre de la causalité . . . . . . . . . . . . . . . . . . . . . . 59
6.3.2 Relations causales fonctionnelles . . . . . . . . . . . . . . . . . . . . 59
6.3.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.4 Déduction des relations causales d’un système . . . . . . . . . . . . . . . . . 61
6.4.1 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.4.2 Expression des règles causales . . . . . . . . . . . . . . . . . . . . . . 62
6.5 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7 Modélisation de la qualité de service pour l’évolution 65
7.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.2 Modélisation de la qualité de service d’un système . . . . . . . . . . . . . . 66
7.2.1 Propriété, unité et critère de comparaison . . . . . . . . . . . . . . . 67
7.2.2 Domaine d’application . . . . . . . . . . . . . . . . . . . . . . . . . . 67
7.2.3 Valeur de propriété . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.2.4 Influence et ressource . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.2.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
7.3 Définition des relations causales de propriété . . . . . . . . . . . . . . . . . 69
7.3.1 Relations d’environnement . . . . . . . . . . . . . . . . . . . . . . . . 71
7.3.2 Relations de dérivation de propriétés . . . . . . . . . . . . . . . . . . 71
7.3.3 Relations d’agrégation de valeurs . . . . . . . . . . . . . . . . . . . . 73
7.3.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.4 QoS4Evol, un langage de description de la qualité de service . . . . . . . . . 74
7.4.1 Présentation de QoS4Evol . . . . . . . . . . . . . . . . . . . . . . . . 75
7.4.2 Définition du langage . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.4.3 Caractéristiques du langage . . . . . . . . . . . . . . . . . . . . . . . 76
7.5 Déduction des règles causales d’une propriété . . . . . . . . . . . . . . . . . 77
7.5.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.5.2 Obtention des relations causales d’environnement . . . . . . . . . . . 78
7.5.3 Obtention des relations causales de dérivation . . . . . . . . . . . . . 79
viTable des matières
7.5.4 Obtention des relations causales d’agrégation . . . . . . . . . . . . . 79
7.5.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
7.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8 Analyse de l’évolution du logiciel orientée QoS 83
8.1 Présentation générale du processus d’évolution . . . . . . . . . . . . . . . . 84
8.1.1 Enjeux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
8.1.2 Spécification du processus d’évolution . . . . . . . . . . . . . . . . . 84
8.1.3 Hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2 Un langage pour l’évolution des processus métier . . . . . . . . . . . . . . . 86
8.3 Spécification de l’analyse de l’évolution . . . . . . . . . . . . . . . . . . . . . 87
8.3.1 Aperçu des différentes étapes . . . . . . . . . . . . . . . . . . . . . . 88
8.3.2 Étape 1 : mise à jour du modèle causal . . . . . . . . . . . . . . . . . 89
8.3.3 Étape 2 : analyse causale . . . . . . . . . . . . . . . . . . . . . . . . 92
8.3.4 Étape 3 : re-vérification . . . . . . . . . . . . . . . . . . . . . . . . . 93
8.3.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
8.4 Résultat de l’analyse et prise de décision . . . . . . . . . . . . . . . . . . . . 96
8.4.1 Enjeux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.4.2 Vérification des contrats . . . . . . . . . . . . . . . . . . . . . . . . . 97
8.4.3 Détermination des causes racines . . . . . . . . . . . . . . . . . . . . 98
8.4.4 Déploiement et retour en arrière (roll-back) . . . . . . . . . . . . . . 99
8.4.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.5 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
III Validation 103
9 Mise en œuvre et utilisation de Smile 105
9.1 Réalisation de Smile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
9.1.1 Présentation du canevas . . . . . . . . . . . . . . . . . . . . . . . . . 106
9.1.2 Besoins des utilisateurs de Smile . . . . . . . . . . . . . . . . . . . . 106
9.1.3 Architecture de Smile . . . . . . . . . . . . . . . . . . . . . . . . . . 106
9.2 Smile pour la description du système . . . . . . . . . . . . . . . . . . . . . 109
9.2.1 Import de système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
9.2.2 Description des règles causales . . . . . . . . . . . . . . . . . . . . . 111
9.3 Smile pour la qualité de service . . . . . . . . . . . . . . . . . . . . . . . . 113
9.3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
9.3.2 Description d’une propriété . . . . . . . . . . . . . . . . . . . . . . . 113
9.3.3 Gestion des règles causales de propriété . . . . . . . . . . . . . . . . 114
9.3.4 Collecte des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
9.3.5 Description d’un contrat . . . . . . . . . . . . . . . . . . . . . . . . . 116
9.4 Smile pour l’évolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
9.4.1 Description d’une évolution . . . . . . . . . . . . . . . . . . . . . . . 117
9.4.2 Analyse causale de l’évolution . . . . . . . . . . . . . . . . . . . . . . 118
9.4.3 Contrôle à l’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . 119
9.5 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
9.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
viiTable des matières
10 Evaluation 121
10.1 Défis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.2 Cas d’étude : le Système de gestion de crises . . . . . . . . . . . . . . . . . . 122
10.2.1 Contexte du cas d’étude . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.2.2 Description du scénario . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.2.3 Cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
10.3 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.4 Évolutions du scénario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.4.1 Évolutions pour la construction du système . . . . . . . . . . . . . . 128
10.4.2 Évolutions du processus Gestion de la Mission . . . . . . . . . . . . 129
10.5 Évaluation quantitative des contributions . . . . . . . . . . . . . . . . . . . 132
10.5.1 Comparaison des éléments à re-vérifier . . . . . . . . . . . . . . . . . 132
10.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.7 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
IV Conclusion 137
11 Conclusion et Travaux Futurs 139
11.1 Résumé des contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
11.2 Perspectives à court terme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
11.3 Perspectives à long terme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
viiiTable des figures
Table des figures
2.1 Exemple de détermination par dérivation. . . . . . . . . . . . . . . . . . . . 16
2.2 Exemple de détermination par agrégation. . . . . . . . . . . . . . . . . . . . 16
4.1 Utilisation de Séduite au cours de la nuit de l’info. . . . . . . . . . . . . . . 38
4.2 Architecture de Séduite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Évolutions de PicWeb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.1 Schéma du processus de développement Blink. . . . . . . . . . . . . . . . . 46
6.1 Extrait du méta-modèle de Smile : variables et types. . . . . . . . . . . . . 53
6.2 modélisation du service Helper. . . . . . . . . . . . . . . . . . . . . . . . . . 54
6.3 Extrait du méta-modèle de Smile : services, opérations et messages. . . . . 55
6.4 Extrait du méta-modèle de Smile : activités. . . . . . . . . . . . . . . . . . 55
6.5 Extrait du modèle de PicWeb : activité receive. . . . . . . . . . . . . . . . 55
6.6 Extrait du modèle de PicWeb : relations d’ordre. . . . . . . . . . . . . . . 57
6.7 Extrait du méta-modèle : relations d’ordre. . . . . . . . . . . . . . . . . . . 57
6.8 Extrait du méta-modèle : processus métier. . . . . . . . . . . . . . . . . . . 58
6.9 Modèle causal fonctionnel de PicWeb. . . . . . . . . . . . . . . . . . . . . . 60
6.10 Procédé de déduction des relations causales. . . . . . . . . . . . . . . . . . . 62
7.1 Modèle et méta-modèle d’une propriété. . . . . . . . . . . . . . . . . . . . . 67
7.2 Modèle et méta-modèle du domaine d’application. . . . . . . . . . . . . . . 68
7.3 Méta-Modèle de propriété : Valeurs de propriété. . . . . . . . . . . . . . . . 69
7.4 Modèle du temps de réponse : Valeurs de propriété. . . . . . . . . . . . . . . 70
7.5 Modèle et méta-modèle des facteurs d’influence. . . . . . . . . . . . . . . . . 71
7.6 Modèle causal enrichi avec les relations d’environnement. . . . . . . . . . . 72
7.7 Modèle causal enrichi avec les relations de dérivation. . . . . . . . . . . . . 72
7.8 Modèle causal enrichi avec les relations d’agrégation. . . . . . . . . . . . . . 73
7.9 Définition du Temps de Réponse. . . . . . . . . . . . . . . . . . . . . . . . . 75
7.10 Chaîne de déduction des relations causales de propriété. . . . . . . . . . . . 78
8.1 Processus d’évolution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2 Évolution de PicWeb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
8.3 Étapes de l’analyse de l’évolution. . . . . . . . . . . . . . . . . . . . . . . . 88
8.4 Traduction de l’évolution en actions sur le modèle causal. . . . . . . . . . . 90
8.5 Application à PicWeb de l’analyse causale. . . . . . . . . . . . . . . . . . . 93
8.6 Application à PicWeb de l’analyse causale. . . . . . . . . . . . . . . . . . . 94
8.7 Obtention des données brutes. . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.8 Contrat de QoS qualifiant le temps de réponse de PicWeb. . . . . . . . . . 98
8.9 Détermination des causes racines de la violation du contrat de PicWeb. . . 100
9.1 Diagramme des cas d’utilisation de Smile. . . . . . . . . . . . . . . . . . . . 107
9.2 Architecture de Smile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
9.3 Procédé dirigé par les modèles de l’approche Smile. . . . . . . . . . . . . . 109
9.4 Import de PicWeb. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
9.5 Extrait de fichier composite. . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Table des figures
9.6 Méta-modèle du modèle causal. . . . . . . . . . . . . . . . . . . . . . . . . . 112
9.7 Extrait d’une règle causale écrite en ATL. . . . . . . . . . . . . . . . . . . . 112
9.8 Processus de la partie QoS de Smile. . . . . . . . . . . . . . . . . . . . . . . 114
9.9 Chaîne d’outillage pour la description d’une propriété. . . . . . . . . . . . . 115
9.10 Méta-Modèle de traces de Smile. . . . . . . . . . . . . . . . . . . . . . . . . 115
9.11 Modélisation des contrat de qualité de service. . . . . . . . . . . . . . . . . 116
9.12 Méta-Modèle d’évolution de Smile. . . . . . . . . . . . . . . . . . . . . . . . 117
9.13 Utilisation de l’éditeur d’évolutions de Smile. . . . . . . . . . . . . . . . . . 118
10.1 Description des différents rôles opérationnels. . . . . . . . . . . . . . . . . . 123
10.2 Description des différents rôles d’observation. . . . . . . . . . . . . . . . . . 124
10.3 Description des différents rôles stratégiques. . . . . . . . . . . . . . . . . . . 124
10.4 Architecture du système de gestion de crises. . . . . . . . . . . . . . . . . . 127
10.5 Graphe de dépendance des processus métiers du système de gestion de crises. 127
10.6 Évolution de la taille du modèle causal au cours de la construction du système.128
10.7 Processus métier du cas d’utilisation "Exécution de la mission". . . . . . . . 129
10.8 Évolution du processus métier Gestion de la mission : UnavailableIntRes. . 130
10.9 Évolution du processus métier Gestion de la mission : UnavailableExtRes. . 131
10.10Évolution du processus métier Gestion de la mission : RehandleOnChange. 132
10.11Extrait du modèle causal du processus métier Gestion de la mission après
l’évolution RehandleOnChange. . . . . . . . . . . . . . . . . . . . . . . . . . 133
xListe des tableaux
Liste des tableaux
2.1 Taxonomie d’une évolution : la dimension "Où". . . . . . . . . . . . . . . . 19
2.2 Taxonomie d’une évolution : la dimension "Quoi". . . . . . . . . . . . . . . 20
2.3 Taxonomie d’une évolution : la dimension "Quand". . . . . . . . . . . . . . 21
2.4 Taxonomie d’une évolution : la dimension "Comment". . . . . . . . . . . . . 22
2.5 Récapitulatif des hypothèses de travail. . . . . . . . . . . . . . . . . . . . . . 23
3.1 Comparatif des différents processus de développement. . . . . . . . . . . . . 29
3.2 Comparatif des différentes analyses d’impact. . . . . . . . . . . . . . . . . . 35
5.1 Rôles intervenants dans la réalisation d’un système. . . . . . . . . . . . . . . 45
5.2 Description des étapes 0 à 2 du processus de développement (Blink). . . . 47
5.3 Description des étapes 3 à 5 du processus de développement (Blink). . . . 48
5.4 Description de l’étape 6 du processus de développement (Blink). . . . . . . 49
6.1 Règle causale pour les relations causales de paramètre d’entrée. . . . . . . . 62
6.2 Règle causale pour les relations causales de paramètre de sortie. . . . . . . . 63
7.1 Formules d’agrégation du temps de réponse. . . . . . . . . . . . . . . . . . . 76
7.2 Règle de production des relations causales d’environnement. . . . . . . . . . 78
7.3 Règle causale d’environnement générée. . . . . . . . . . . . . . . . . . . . . 78
7.4 Règle de production des relations causales de dérivation. . . . . . . . . . . . 79
7.5 Règle causale de dérivation générée. . . . . . . . . . . . . . . . . . . . . . . 79
7.6 Règle de production des relations causales d’agrégation. . . . . . . . . . . . 80
7.7 Règle causale d’agrégation générée. . . . . . . . . . . . . . . . . . . . . . . . 80
8.1 Liste des opérations d’évolution. . . . . . . . . . . . . . . . . . . . . . . . . 86
8.2 Correspondance entre opérations d’évolution et actions du modèle causal. . 90
8.3 Génération de la mise à jour du modèle causal de PicWeb. . . . . . . . . . 91
8.4 Description de l’opération collecte. . . . . . . . . . . . . . . . . . . . . . . . 92
9.1 Description des fonctionnalités par module. . . . . . . . . . . . . . . . . . . 108
10.1 Nombre de valeurs de propriété à re-vérifier pour chaque méthode d’analyse. 134Chapitre 1
Introduction
Sommaire
1.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Défis pour maintenir la qualité de service lors de l’évolution . . 2
1.3 Proposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Organisation du document . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Liste des publications liées à cette thèse . . . . . . . . . . . . . . . 5
L
’informatique prend aujourd’hui une place de plus en plus grande dans le quotidien des
personnes, et dans le quotidien des entreprises. L’outil numérique développé au cours
du dernier siècle est aujourd’hui omniprésent dans la société. Cela se traduit par l’existence
de nombreux systèmes logiciels, allant du simple jeu sur un téléphone portable au moteur de
recherche utilisé massivement. Ces systèmes, qui autrefois étaient monolithiques et centralisés,
sont devenus avec l’apogée de l’Internet et l’augmentation de la taille des organisations
des entreprises des systèmes distribués, de taille conséquente, et à la complexité croissante.
Les architectures orientées services (SOA) constituent une solution permettant de maî-
triser cette complexité. La conception d’applications se matérialise par le biais de la chorégraphie
ou de l’orchestration de services à l’aide de processus métiers, offrant ainsi un
mécanisme de composition permettant de gagner en abstraction et de réduire la complexité.
En ce sens, concevoir une application reposant sur les principes des architectures orientées
services consiste à mettre en relation les flots de contrôle et de données de ces services.
Au delà de la nécessité de produire des systèmes correspondant aux besoins des utilisateurs,
la qualité de service (QoS), définie par Crnkovic et al. comme "une caractérisation
de tout ou d’une partie du système, selon une préoccupation particulière" [Crnkovic 2005],
constitue une préoccupation à gérer au cours du développement de logiciels. L’analyse et le
maintien de la QoS d’un système sont des opérations critiques, car la QoS sert de base à
l’établissement de contrats de service entre fournisseurs et utilisateurs, et un non-maintien
de la QoS entrainerait une rupture de contrat. De par la composition des services, la dé-
termination de la QoS d’une orchestration s’effectue par calcul, dépendant ainsi de la QoS
des services la constituant. C’est ce que l’on appelle l’agrégation [Cardoso 2004].
Les logiciels que nous considérons ici, dont la taille et la complexité échappent à la
compréhension d’une seule personne, sont amenés à être modifiés tout au long de leur cycle
de vie. Les modifications opérées, que l’on appelle dans ce document évolutions, sont la
conséquence/réaction d’un changement de besoins de la part des utilisateurs, d’un changement
survenu dans l’environnement d’exécution ou encore dans l’architecture du système.
Ces évolutions, de par la modification du comportement du système qu’elles entraînent,
impliquent de s’assurer que la QoS n’a pas été détériorée. Ainsi, lors de chaque évolution,
les changements effectués sur le logiciel impliquent de re-vérifier la QoS de l’ensemble du
système.1.1. Problématique
1.1 Problématique
Dans un contexte où les attentes en termes de fonctionnalités et de qualités du logiciel
sont fortes, faire évoluer ce dernier est un processus critique, tant par l’effet que l’évolution
peut avoir que par la nécessité d’un processus court permettant d’être réactif à l’égard des
utilisateurs. Il est parfois même nécessaire d’appliquer l’évolution au cours même de leur
exécution. Dans ce cas, il est vital d’établir un processus d’évolution court et minimal, pour
ne pas parasiter ou ralentir son fonctionnement. Il s’agit ici d’un problème complexe, où
la nécessité d’effectuer une évolution maintenant les propriétés de QoS implique une collaboration
proche entre les différentes expertises de l’équipe de développement, notamment
entre l’expertise de la QoS et celle de l’évolution. Le processus d’évolution nécessite d’être
court dans sa réalisation, tout en s’assurant du maintien de la QoS du logiciel. L’objectif est
donc ici de minimiser la re-vérification des propriétés de QoS, en déterminant de manière
précise quelles parties du logiciel ont été réellement affectées par l’évolution.
Dans le cadre de cette thèse, nous nous intéressons tout particulièrement aux systèmes
reposant sur une architecture orientée services, pour lesquels le comportement est représenté
à l’aide de processus métiers. Les mécanismes d’évolution à définir doivent permettre d’établir
l’effet d’une évolution sur le reste du système, afin d’éviter un ensemble de dépendances
cachées entre les éléments. De plus, le processus d’évolution devra garantir le maintien des
contrats de qualité de service. Il s’agit donc non seulement de comprendre l’effet d’une évolution
sur le reste du système, mais également sur les différentes propriétés de QoS ayant
un intérêt pour l’équipe de développement ou pour la communauté d’utilisateurs. Enfin,
ces mécanismes d’évolution devront prendre en compte la répartition des compétences et
des expertises de l’équipe de développement, en définissant les différents rôles nécessaires à
un processus d’évolution fiable en termes de QoS, et en identifiant les points d’interaction
entre ces différents rôles pour partager leurs expertises propres.
1.2 Défis pour maintenir la qualité de service lors de
l’évolution
L’objectif de cette thèse est de fournir à l’équipe de développement et de maintenance les
outils permettant de s’assurer que la qualité de service est maintenue au cours des différentes
évolutions du logiciel, tout au long de son cycle de vie. Le maintien de la QoS lors d’une
évolution est une tâche complexe, nécessitant la collaboration de différentes expertises telles
que l’expertise du métier, de l’environnement d’exécution, ou encore de la propriété de QoS
considérée.
De plus, le contexte des architectures orientées services positionne notre travail dans un
environnement où l’agilité du développement est pré-dominante. En effet, avec des changements
fréquents des besoins des utilisateurs, mais également des services externes utilisés,
la fiabilité de la QoS et son maintien dans de tels systèmes sont des valeurs importantes.
Nous énumérons dans cette section les différents défis liés à l’évolution d’un logiciel en
terme de qualité de service :
1. Collaboration entre acteurs : pour gérer une évolution et assurer le maintien de la
qualité de service d’un système, la connaissance et la coopération des acteurs œuvrant
au niveau du système développé, des propriétés de qualité de service étudiées, et des
évolutions sont nécessaires. En effet, effectuer une évolution tout en s’assurant du
maintien de la qualité de service requiert une connaissance transversale à ces différents
domaines, que seule la coopération peut apporter. L’identification des différents rôles
et des différentes expertises au sein de l’organisation permettront de concevoir et de
21.3. Proposition
faire évoluer un système où la qualité de service est l’une des préoccupations. Cette
identification est nécessaire dans le but de responsabiliser et de définir les différentes
collaborations à mettre en place.
2. Interactions entre les différentes parties d’un logiciel : le logiciel réalisé par
l’équipe de développement est bien souvent constitué de sous-parties, qui interagissent
pour proposer des fonctionnalités attendues par les utilisateurs. Ces interactions in-
fluent sur la qualité du service du système, et sont bien souvent implicites. L’identi-
fication explicite des interactions entre les éléments d’un système permet d’améliorer
la compréhension du système dans son ensemble, notamment lors d’une évolution.
3. Minimisation de la vérification : afin de s’assurer du maintien de la qualité de
service, l’étape de l’évolution est accompagnée d’une étape de vérification, où chaque
propriété de QoS est contrôlée pour l’ensemble du système. Toutefois, avec l’augmentation
de la taille des systèmes, cette phase peut devenir chronophage. Ce phénomène
s’accentue si l’on considère des systèmes développés de manière agile, où les évolutions
sont fréquentes. Dans ces conditions, l’étape de vérification doit être la plus rapide
possible afin de ne pas interférer avec le bon fonctionnement du système et de ne pas
dégrader ses performances. Nous devons rendre l’étape de vérification la plus rapide
possible, en minimisant le nombre d’éléments à re-vérifier.
4. Identification de la cause de la violation d’un contrat : lorsqu’une évolution
viole un contrat de QoS, l’équipe de développement a pour tâche de détecter l’origine
de cette violation, dans le but de pouvoir corriger l’évolution. Partant du contrat
violé, il s’agit donc d’identifier l’ensemble des interactions du logiciel impliquées dans
la dégradation de la QoS, afin de cibler au plus près son origine. Pour cela, nous
cherchons à établir les dépendances existant entre l’exécution du logiciel et sa qualité
de service.
1.3 Proposition
Pour répondre à ces défis, nous présentons dans cette thèse un ensemble de contributions
constituant un mécanisme d’évolution à la fois agile dans la réaction aux besoins de
l’utilisateur, fiable dans le maintien de la qualité de service une fois l’évolution réalisée, et
minimale, dans le sens où le processus de vérification de la qualité de service doit être le
plus court possible dans le cas où l’évolution s’opèrerait à l’exécution.
Ces contributions s’articulent autour d’un cycle de développement agile, nommé Blink,
portant une attention particulière sur le maintien de la QoS lors de l’évolution. Notre cycle
de développement met au centre des préoccupations la notion d’évolution comme élément
à prendre en compte dès les premières étapes de conception du logiciel. En identifiant les
différents rôles nécessaires au maintien de la QoS de l’évolution, Blink permet d’identifier
l’ensemble des informations devant être fourni, et de délimiter les points d’interaction dans
le but d’échanger ces informations.
En complément du processus de développement, nous présentons Smile, un canevas
de développement mettant en œuvre Blink. Celui-ci implémente une boucle d’évolution,
permettant de concevoir, d’analyser et d’appliquer une évolution, en portant une attention
particulière au maintien de la qualité de service. Le but de cette boucle est de déterminer au
plus tôt l’effet que peut avoir une évolution sur le reste du système et sur sa QoS. Pour cela,
notre analyse de l’évolution consiste à déterminer les relations de causalité qu’une évolution
a sur le reste du système. Il s’agit ici d’utiliser ces relations causales, dans le but d’identifier
les différents éléments affectés et de re-vérifier par la suite si la qualité de service de ces
éléments a été affectée. Cela permet ainsi de pouvoir identifier dans un premier temps la
31.4. Organisation du document
portée d’une évolution, afin de pouvoir dans un second temps minimiser le processus de
re-vérification.
En résumé, les contributions de la thèse sont les suivantes :
– Blink, un processus de développement collaboratif pour le maintien de la
QoS lors de l’évolution : nous définissons dans ce document un processus de développement
pour lequel la problématique du maintien de la QoS lors de l’évolution est
au centre des préoccupations. Pour cela, nous définissons un ensemble d’acteurs, devant
collaborer tout au long du cycle de développement en partageant les informations
propres à leur expertise qui pourraient être utile au maintien.
– Une méthode de détermination des interactions entre les différentes parties
du système : nous définissons dans un premier temps quels types d’influence nous
pouvons retrouver dans un système et au niveau de la qualité de service. Puis, nous
présentons une méthode permettant, à partir d’un système et de la description d’une
propriété de qualité de service, de déterminer de manière automatique ces influences.
– Une analyse d’évolution permettant de déterminer l’effet d’une évolution
sur la QoS du système : en réutilisant les modèles représentant les interactions
existantes au sein d’un système, nous présentons une analyse permettant, à partir
d’une évolution, de savoir l’effet de cette dernière au sein du système, mais également
de déterminer si un contrat de QoS a été violé ou non, gage du maintien de la QoS.
– Smile, un canevas de développement automatisant les différents traitements
nécessaires à Blink : nous introduisons dans ce document notre canevas
supportant les différents points abordés ci-dessus, et montrons ce que ce canevas de
développement apporte lors de l’évolution.
Afin de valider l’apport de notre approche dans le maintien de la QoS lors de l’évolution,
nous appliquons Blink et Smile sur un cas d’étude nommé Système de gestion de crises.
Lors de cette validation, nous vérifions notamment si notre outil est en mesure de détecter
le non-maintien de la QoS lors de l’évolution du cas d’étude.
1.4 Organisation du document
Ce document est organisé en trois parties :
1. La première partie se concentre sur le contexte et les motivations de la thèse. Dans
le chapitre 2, nous posons le contexte de travail, d’un point de vue conceptuel et
technologique. Nous définissons ici les notions liées aux architectures orientées services,
à la qualité de service, et à l’évolution des systèmes logiciels. Dans le chapitre 3, nous
dressons l’état de l’art des travaux de recherche sur ce domaine. Pour cela, nous
nous focalisons sur deux axes, à savoir les cycles de développement d’un logiciel,
et les différentes analyses d’impact pouvant déterminer l’effet d’une évolution, ou
d’un changement en général. Enfin, dans le chapitre 4, nous décrivons PicWeb, que
nous utilisons comme exemple fil rouge nous permettant d’illustrer les différentes
contributions de la thèse. Après avoir présenté l’exemple, nous expliquons comment
un problème de qualité de service est survenu lors de son évolution.
2. La deuxième partie regroupe les contributions de la thèse, réparties en quatre chapitres.
Dans le chapitre 5, nous présentons Blink, un processus de développement
orienté pour le maintien de la qualité de service au cours des différentes évolutions.
Nous mettons notamment en évidence les différents acteurs nécessaires au maintien
de la QoS. Les chapitres 6 à 8 se focalisent alors successivement sur chaque acteur
41.5. Liste des publications liées à cette thèse
impliqué dans Blink. Le chapitre 6 se centre sur la réalisation d’un système, et
sur le rôle de l’architecte du système. Nous définissons un méta-modèle permettant
de représenter un système à base de processus métiers. Puis, nous introduisons la
notion de causalité dans un système, permettant de représenter les interactions entre
ses différentes parties, et dressons une liste de causalités que l’on peut retrouver. Le
chapitre 7 est focalisé sur le rôle de l’expert en qualité de service. Nous présentons
ici notre méta-modèle pour représenter une propriété, ainsi que QoS4Evol, un langage
permettant à l’expert en QoS de la définir de manière textuelle. De manière similaire
au chapitre précédent, nous définissons ensuite la notion de causalité pour les propriétés
de qualité de service. Nous listons les différents types de relation causale que
nous pouvons retrouver pour une propriété de QoS, et les illustrons sur PicWeb.
Enfin, nous présentons une méthode permettant d’extraire automatiquement les relations
causales de la description d’une propriété. Le chapitre 8 porte sur l’architecte
de l’évolution. Nous introduisons un langage d’évolution des processus métiers, permettant
d’ajouter ou de supprimer des fonctionnalités. Puis, nous nous focalisons sur
l’étape d’analyse d’une évolution, où nous utilisons les relations causales présentées
dans les chapitres précédents pour déterminer l’effet d’une évolution sur la qualité de
service d’un système, et ainsi qualifier si une évolution permet le maintien de la QoS
ou non.
3. La troisième partie du document s’intéresse à l’évaluation de notre approche. Le chapitre
9 détaille la mise en œuvre des différentes contributions au travers de notre
canevas, Smile, tandis que le chapitre 10 est une évaluation de notre approche sur un
autre cas d’étude, le système de gestion de crise. Ce cas d’étude a l’avantage d’être de
taille plus importante que PicWeb, d’être constitué de plusieurs processus métiers,
et d’être doté d’une base d’évolutions conséquentes. Enfin, nous terminons avec le
chapitre 11, où nous faisons le bilan des différents chapitres de la thèse, et présentons
quelques pistes à explorer dans de futurs travaux.
1.5 Liste des publications liées à cette thèse
Les communications mentionnées ci-dessous ont été réalisées dans des manifestations
avec comité de sélection.
Communications internationales
– A Causal Model to predict the Effect of Business Process Evolution on
Quality of Service. Alexandre Feugas, Sébastien Mosser et Laurence Duchien.
Dans International Conference on the Quality of Software Architectures (QoSA’13),
pages 143-152, Vancouver, Canada, juin 2013. (Rang A selon le classement CORE
Austalian)
Communications nationales
– Déterminer l’impact d’une évolution dans les processus métiers. Alexandre
Feugas, Sébastien Mosser, Anne-Françoise Le Meur et Laurence Duchien. Dans IDM,
pages 71-76, Lille, France, juin 2011.
51.5. Liste des publications liées à cette thèse
Posters
– Un processus de développement pour contrôler l’évolution des processus
métiers en termes de QoS. Alexandre Feugas, Sébastien Mosser et Laurence Duchien.
Poster dans GDR GPL, pages 237-238, Rennes, France, Juin 2012.
6Première partie
Contexte et MotivationsChapitre 2
Contexte
Sommaire
2.1 Les architectures orientées services . . . . . . . . . . . . . . . . . . 9
2.1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Organisation des architectures orientées services . . . . . . . . . . . 10
2.2 La Qualité de Service . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.1 Qualité du logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.2 Méthodes de détermination de la qualité de service . . . . . . . . . . 14
2.2.3 Contrats de Qualité de Service . . . . . . . . . . . . . . . . . . . . . 17
2.3 Évolution des systèmes logiciels . . . . . . . . . . . . . . . . . . . . 17
2.3.1 Définition de l’évolution . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.2 Caractéristiques d’une évolution . . . . . . . . . . . . . . . . . . . . 18
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
N
ous avons présenté dans l’introduction l’objectif de cette thèse. Dans ce chapitre,
nous présentons ses enjeux d’un point de vue conceptuel et technologique : nous abordons
dans un premier temps les architectures orientées services. Puis, nous présentons la
notion de qualité de service, ainsi que les approches existantes permettant de l’étudier.
Nous introduisons enfin la définition de l’évolution : quelles notions se trouvent derrière ce
concept, comment l’équipe de développement s’y prend pour faire évoluer un logiciel.
2.1 Les architectures orientées services
2.1.1 Définitions
Les architectures orientées services (SOA) sont un nouveau paradigme de conception apparu
dans la fin des années 90. Il existe différentes définitions pour caractériser les architectures
orientées service. Parmi elles, nous pouvons retenir la définition du W3C [Haas 2004] :
Définition 1
Architecture Orientée Services (W3C) : "une architecture orientée services regroupe
un ensemble de composants qui peuvent être invoqués, et pour lesquels les descriptions
de leurs interfaces peuvent être publiées et découvertes".
Cette définition peut être complétée par une autre définition, d’IBM :
Définition 2
Architecture Orientée Services (IBM) : "une architecture orientée services est un
canevas d’information qui considère les applications métiers de tous les jours pour les
fragmenter en fonctions et processus métiers individuels, appelés services. Une architecture
orientée service permet la construction, le déploiement et l’intégration de ces2.1. Les architectures orientées services
services indépendamment des applications et des plate-formes d’exécution".
De ces deux définitions, nous pouvons comprendre que la notion de service, comme entité
de calcul invocable, et pour lequel une interface est définie, est principale. Ces services sont
indépendants, ils sont déployés pour pouvoir par la suite être publiés, découverts et invoqués.
Il existe différentes technologies dites orientées services, reprenant les principes des architectures
orientées services plus ou moins fidèlement. Parmi elle, nous retiendrons notamment
les web-services [Kuebler 2001], où l’on considère que les services sont définis et exposés en
utilisant les standards du Web.
Propriétés remarquables
Les architectures orientées service ont été définies pour concevoir des systèmes logiciels
pour lesquels les entités de première classe sont les services, des entités autonomes,
invocables, dont l’interface est clairement explicitée. Plusieurs travaux ont proposé la caractérisation
des architectures orientées services [Papazoglou 2003, Huhns 2005, Breivold 2007,
Papazoglou 2007]. Dans la suite, nous recensons les propriétés suivantes :
– Couplage lâche des éléments : afin de pouvoir faciliter la reconfiguration d’un
service, e.g., son remplacement, les éléments d’un système doivent bénéficier d’un
couplage lâche, c’est-à-dire qu’il n’est pas nécessaire pour un appelant à un service
de connaître la structure ou l’implémentation de ce dernier pour pouvoir l’utiliser.
De même, une façon de permettre un couplage lâche au niveau d’un service consiste
à séparer l’interface de l’opération et son implémentation. Cela offre la possibilité de
pouvoir modifier l’implémentation, ou de pouvoir exposer facilement l’interface du
service.
– Neutralité technologique : pour permettre à tout système d’interagir avec un
service, la dépendance à un contexte technologique donné est à proscrire. Cette propriété
s’inscrit dans un contexte d’inter-opérabilité, facilitant ainsi l’établissement de
partenariats entre différentes organisations.
– Transparence de la localisation : un service doit être explicitement atteignable,
de façon à permettre à tout client de pouvoir l’invoquer, dans son périmètre de disponibilité.
Dans le cas des web-services, un service doit être disponible à n’importe
quel point de l’Internet.
– Modularité et Composabilité : les architectures orientées services mettent en
avant le côté réutilisable des services. Par le biais d’une interface exposée et de l’interopérabilité
des services, le concept de service a été conçu pour facilité la modularité, la
réutilisabilité et la composabilité d’une application. Ainsi, il est possible de délimiter
le cadre de modification d’un service par son aspect modulaire, l’exposition de son
interface permet de réutiliser le service dans une autre application, et, partant de différents
services, il est possible de composer un nouveau service avec une fonctionnalité
différente, en utilisant d’autres services par le biais d’invocations.
Pour atteindre cet ensemble de propriétés, un éco-système des architectures orientées services
a été défini par Papazoglou [Papazoglou 2003] comme étant constitué de trois couches.
Dans la suite de cette section, nous détaillons cette organisation en trois couches.
2.1.2 Organisation des architectures orientées services
Dans son travail sur la définition des architectures orientées service, Papazoglou a imaginé
l’éco-système des SOA comme étant constitué de trois couches, où chaque couche s’appuie
sur les définitions des couches précédentes. La première couche concerne les services à
102.1. Les architectures orientées services
leur niveau le plus simple. Ici, on s’intéressera aux notions d’interface, de publication et de
sélection d’un service. La seconde couche s’appuie sur les services basiques pour définir de
nouveaux services par composition. On appelle composition de services la réalisation d’un
service en réutilisant d’autres services, le plus souvent pour construire une fonctionnalité
de complexité supérieure. Ici, on attachera plus d’importance à la sémantique du nouveau
service composé, mais également à des caractéristiques non fonctionnelles d’un service telles
que les propriétés de qualité de service. Enfin, le dernière couche considère la gestion des
services. Ici, il s’agit en fait de considérer l’infrastructure dans son ensemble, en ayant en
tête des préoccupations telles que le cycle de vie du service, son contrôle, et la gestion du
changement d’un service.
2.1.2.1 Services simples
Définition d’un service
Comme introduit dans les propriétés des SOA, une opération d’un service, ou par abus
de langage un service, a une interface explicitement définie. Cette interface définit a minima
la signature de l’opération. Concrètement, il peut s’agir d’une structure écrite dans un Language
de Description d’Interface (IDL) [Bachmann 2002]. Dans le cadre des web-services, le
langage adopté est le Langage de Description des Web Services (WSDL) [Chinnici 2007]. Il
est ainsi possible d’y décrire des types de données, les signatures des différentes opérations,
tout comme consigner la localisation du service par le biais d’un identifiant de ressource
(Uniform Resource Identifier, URI en abbrégé) [Coates 2001]. Un service est en soi autonome
et indépendant. C’est cette caractéristique qui permet aux architectures orientées
services d’offrir un couplage lâche entre les éléments.
Interactions d’un service
Au niveau des interactions entre les services, il est important de différencier deux acteurs
différents. Ces acteurs auront des préoccupations différentes :
– Fournisseur de Service : il est en charge de l’implémentation des différentes opé-
rations du service. Il doit notamment prendre en compte la qualité de service, en
adoptant une politique, cette police pouvant aller d’une politique de "meilleur effort"
(où aucun niveau minimal de qualité est à atteindre), jusqu’à mettre la qualité de
service au rang de préoccupation majeure. Ce dernier scénario se rencontre fréquemment
dans les logiciels à base de services. En effet, dans un système où les services
sont publiés et disponibles pour tous, le critère de différenciation et de choix entre
deux services implémentant les mêmes fonctionnalités portera sur le niveau de qualité
de service garanti pour l’opération. Il est important dans ce cas de fournir le service
le plus efficient possible. Afin de pouvoir établir ces contraintes et ces attentes
en termes de qualité de service, il est nécessaire pour le fournisseur du service et
pour l’utilisateur du service d’établir un contrat, nommé Service Level Agreement
(SLA) [Ludwig 2003], où chacune des parties s’engagent respectivement à fournir un
certain niveau de qualité de service et à utiliser le service dans certaines conditions.
Nous reviendrons sur ce point dans la section 2.2.3.
– Utilisateur du service : il s’agit de l’entité faisant appel à l’opération proposée par
le fournisseur. Si l’utilisateur n’a a priori aucun engagement auprès du fournisseur de
service, ce dernier doit être en mesure d’établir des limites dans l’utilisation du service
invoqué, afin de pouvoir garantir un niveau de qualité de service satisfaisant. En
effet, invoquer un service de façon disproportionnée (trop fréquemment par exemple)
pourrait notamment détériorer les performances de ce dernier [Menasce 2002]. De
112.2. La Qualité de Service
plus, l’utilisateur du service doit être le garant de la bonne intégration du service
dans l’éco-système du logiciel qu’il réalise, notamment dans le cadre de transactions.
2.1.2.2 Composition de Services
La notion de service est enrichie avec le concept de composition, où l’on va chercher ici à
réutiliser des services existants pour, en les combinant, produire un nouveau service ayant
une fonctionnalité différente.
Dans les architectures orientées services, il existe principalement deux types de composition
: la composition par orchestration et la composition par chorégraphie. Nous appelons
orchestration de services un processus métier exécutable, pouvant interagir avec des services
internes et externes [Peltz 2003]. Il s’agit en fait de la combinaison d’un flot de contrôle et
d’un flot de données pour décrire la séquence des opérations à effectuer pour aboutir à
un but donné. L’orchestration d’un service diffère de la chorégraphie dans le sens où cette
dernière a un rôle de vision globale des interactions d’un système, là où l’orchestration
représente le comportement d’une seule opération, et ses échanges avec d’autres services.
2.1.2.3 Gestion de services
Le dernier niveau organisationnel consiste à gérer les différents services existants. Dans
cette partie, il s’agit de gérer le cycle de vie d’un service (marche/arrêt) ainsi que le contrôle
de son exécution. Dans certains cas, il pourra également s’agir de gérer le remplacement
à chaud de services par un autre, en cas de défaillance par exemple. Ces techniques sont
implémentées dans les Bus de Services pour les Entreprises (ESB), véritable plate-forme
d’exécution gérant entre autres l’exécution des services et leurs communication.
La modularité présente dans les architectures orientées services, associée à la notion
d’inter-opérabilité, permet notamment de faciliter la sélection ou le remplacement d’un
service par un autre aux fonctionnalités similaires. Dès lors, le concepteur a face à lui un
panel de services équivalents parmi lesquels il devra en choisir un. Pour effectuer son choix,
il peut désormais prendre en compte un nouveau critère de sélection : la qualité de service.
2.2 La Qualité de Service
Dans cette section, nous présentons la notion de qualité de service. Nous introduisons
dans un premier temps le domaine de qualité du logiciel, avant de nous concentrer sur
ce qu’est la qualité de service, quelles sont les différentes méthodes de détermination, et
comment il est possible de la maintenir dans les SOA.
2.2.1 Qualité du logiciel
La notion de qualité du logiciel regroupe l’ensemble des caractéristiques visant à évaluer
la manière dont le logiciel a été réalisé. Derrière ce terme, on retrouve un ensemble
de caractéristiques ; certaines sont quantifiables, tandis que d’autres sont totalement à l’appréciation
de l’humain. Afin de pouvoir caractériser les caractéristiques d’un logiciel qui ne
sont pas propres à son exécution ou à sa logique métier, la notion de qualité du logiciel a
été introduite dans le milieu des années 70 pour définir une classification d’un ensemble de
propriétés de qualité du logiciel [Boehm 1976]. Cette notion fut normalisée par la norme
ISO/CEI9126 [ISO 2001] et est régulièrement ré-actualisée [ISO 2004], pour s’inscrire désormais
dans une démarche d’établissement des besoins de qualité et de son évaluation. Cette
122.2. La Qualité de Service
démarche se nomme Square. On retrouve notamment dans cette norme une classification
regroupant l’ensemble des propriétés de qualité autour de 5 catégories :
– La capacité fonctionnelle : il s’agit de la manière dont les fonctionnalités développées
correspondent au cahier des charges. On s’intéresse notamment ici aux souscaractéristiques
d’aptitude, d’exactitude et d’interopérabilité [Brownsword 2004].
– La fiabilité : il s’agit de la faculté du logiciel à continuer d’être digne de confiance.
Pour cela, on s’intéresse aux sous-caractéristiques de maturité, de tolérance aux fautes
et de capacité de récupération [Ucla 2001, Clements 2003].
– La facilité d’usage : cette catégorie qualifie la capacité d’un utilisateur quelconque à
utiliser le logiciel développé. On s’intéresse ici aux sous-caractéristiques d’exploitabilité,
de facilité d’apprentissage et de facilité de compréhension
– L’efficacité : cette caractéristique étudie l’adéquation entre les moyens financiers et
humains mis en œuvre pour réaliser le logiciel, et les besoins effectifs. On s’intéresse
ici à l’efficacité en parlant des ressources employées, et des temps de réalisation
– La maintenabilité : cette catégorie regroupe toutes les caractéristiques propres à la
faculté de modifier le logiciel pour ,par exemple, corriger un bogue. On s’intéresse ici
aux sous-caractéristiques de stabilité, de facilité de modification, de facilité d’analyse,
et de facilité à être testé.
– La portabilité : enfin, une dernière caractéristique propre à la qualité se centre sur la
capacité à déployer une application sur une machine quelconque. On s’intéresse ici aux
sous-caractéristiques de facilité d’installation, de facilité de migration, d’adaptabilité
et d’interchangeabilité.
De toutes ces sous-caractéristiques, certaines sont mesurables et quantifiables, tandis
que d’autres sont subjectives. Dans le cadre de cette thèse, nous considérons que les propriétés
de qualité de service sont quantifiables, et dont un changement de valeur démontre
un changement dans le comportement du système. À noter qu’il est important pour les différentes
personnes gravitant autour du logiciel développé de prendre en compte la qualité
du logiciel. Pour le client, il s’agit du gage d’un système performant. Pour les développeurs,
développer un système de qualité permet de s’assurer que l’entreprise engrangera du profit
au lieu d’essuyer des pertes.
Qualité de Service
Il existe de nombreuses définitions de la qualité de service. Parmi elles, nous retenons
dans ce document la définition de Crnkovic et al. [Crnkovic 2005] :
Définition 3
Qualité de Service : On appelle propriété de qualité de service "une caractérisation
de tout ou d’une partie du système, selon une préoccupation particulière".
Il s’agit ici de propriétés portant directement sur le comportement du logiciel. Elles sont
le plus souvent quantifiables. Dans le cadre de cette thèse, nous restreignons notre étude
des propriétés de QoS aux propriétés quantifiables de manière non équivoque. Un exemple
de propriétés de qualité de service correspondant à notre définition est les propriétés de
performance telles que la sécurité, le temps de réponse ou la disponibilité [O’Brien 2007,
Rosenberg 2006], pour lesquelles il existe bien souvent des outils d’analyse ou de contrôle à
l’exécution permettant d’obtenir une valeur numérique. Tout particulièrement, on regardera
du côté de [Lelli 2007, Fakhfakh 2012] pour des exemples de propriétés de qualité de service
que l’on rencontre dans les SOA.
132.2. La Qualité de Service
Il existe de nombreux langages de modélisation de la qualité de service. Les travaux les
plus proche de notre thématique sont CQML [Rottger 2003], WQSDL [Newcomer 2002] et
MARTE [OMG 2009b]. Dans ces langages, une propriété est définie par son nom. À ce nom
est associé a minima une unité de grandeur et un critère de comparaison permettant de
savoir si une valeur est meilleure qu’une autre. Par exemple, on cherchera le plus souvent
à minimiser des durées (le plus petit est meilleur), mais on cherchera à augmenter un
pourcentage dans le cas de la disponibilité (le plus grand est meilleur).
Outre ces informations, les langages de QoS décrivent une, ou plusieurs manières de
déterminer la valeur de qualité de service. Nous discutons des différentes méthodes de
détermination dans la section suivante.
2.2.2 Méthodes de détermination de la qualité de service
Dans le contexte de la thèse, les propriétés de qualité de service sont des grandeurs
quantifiables caractérisant un spécimen donné, à savoir le service. Nous présentons dans
cette section les différentes méthodes de détermination de la qualité de service existantes.
Détermination par analyse statique
Une manière de déterminer les valeurs des propriétés de qualité de service consiste à
effectuer une analyse statique du logiciel. Cette méthode s’opère le plus souvent au cours
de la phase de conception, et peut s’appuyer sur des informations provenant de l’exécution
du logiciel. De nombreuses techniques existent pour analyser un logiciel. Par exemple, de
nombreux travaux transforment le logiciel/processus métier en réseau de Pétri [Reisig 1998]
pour effectuer des analyses formelles. On retiendra notamment les travaux de van der Aalst
et de Massuthe qui cherchent à déterminer si un logiciel est correct [Van der Aalst 2008,
Massuthe 2005].
Dans le domaine de l’ingénierie des performances, l’établissement de modèles tels que
les réseaux de file d’attente ("queuing network" en anglais) ou les modèles d’utilisation permettent
de simuler l’exécution du système. Il est également possible de traduire un processus
métier dans une logique temporelle linéaire (LTL) [Pnueli 1977, Giannakopoulou 2001] ou
dans un langage de Pi-Calcul [Milner 1999]. Cela permet par exemple de déterminer des
propriétés de sûreté et de correction (justesse). [Havelund 2002, Ferrara 2004].
La détermination par analyse est particulièrement adaptée pour des propriétés portant
sur la structure ou l’architecture du système, et qui ne dépendent pas de l’état des éléments
du système à l’exécution. Cette technique s’applique hors-ligne, à un moment où on peut se
permettre de prendre plus de temps pour exécuter les analyses. Toutefois, dans certains cas,
comme lorsqu’on souhaite déterminer la taille d’un message où la taille de certaines variables
n’est pas fixe, l’analyse n’est pas déterminable hors ligne. Dans ce cas, l’analyse raffine en
déterminant tout ce qui est possible à la conception, pour aller chercher uniquement les
informations nécessaires à l’exécution. On parle alors d’analyse dynamique.
Détermination par analyse dynamique
Dans le cas où certaines informations ne sont pas disponibles hors ligne, la détermination
d’une valeur de propriété s’effectue à l’exécution. C’est le cas notamment pour des
propriétés telles que le temps de transmission d’un message ou le temps de réparation d’un
service [OASIS 2010], qui ont une forte dépendance au contexte d’exécution. Pour cela, la
détermination s’effectue à l’aide d’un moniteur. Un moniteur a pour rôle d’observer un
142.2. La Qualité de Service
ou plusieurs événements survenant au cours de l’exécution d’un logiciel, en capturant des
informations sur l’état du logiciel avant, après, ou en parallèle de ces événements.
Outre la propriété qu’il observe, il est possible de qualifier un moniteur selon différents
critères. Nous retiendrons ici le type de moniteur. Wetzstein et al. classifient dans leurs
travaux trois types de moniteurs : moniteur externe au moteur d’exécution, instrumentation
du moteur d’exécution et instrumentation du processus métier [Wetzstein 2009]. Selon
la solution choisie, l’insertion de code lié à la capture des informations à l’exécution engendrera
un sur-coût en terme de performance pouvant influer sur le bon fonctionnement
du système et sur sa qualité de service. On dit que le contrôle à l’exécution est intrusif
[Cheng 2009]. L’intrusion du moniteur ainsi que son niveau d’interopérabilité seront plus ou
moins grands. Par exemple, un moniteur instrumentant le moteur d’exécution sera optimisé
pour que son intrusion soit moindre, mais il ne sera par compatible avec un autre moteur
d’exécution.
Nous retiendrons également la granularité de l’observation d’un moniteur : il s’agit
du degré de détail auquel le moniteur est sensible [Ghezzi 2007]. À titre d’exemple, une
mesure peut être effectuée au niveau du processus pour avoir une vision d’ensemble, au
niveau de l’activité, ou encore basé sur des événements bas niveau tels que le changement
d’état d’une activité en passe d’être exécutée [De Pauw 2005]. Ici encore, cette finesse dans
la granularité a un coût : plus le contrôle sera fin, et plus de données seront collectées et
précises. C’est autant de données qu’il faut par la suite analyser et interpréter. En revanche,
rester à niveau d’abstraction trop élevé empêchera l’observation de certains phénomènes.
Détermination par dérivation de propriétés
Il est également possible de définir la détermination d’une propriété comme étant une
fonction mathématique dépendant de valeurs d’autres propriétés. On parle de propriété
dérivée de sous-propriétés. La valeur de propriété pour un élément du système (tel qu’un
service) est définie en fonction de valeurs d’autres propriétés pour le même élément du
système. Par exemple, le temps de réponse d’un service peut être défini comme étant la
somme du temps de transmission et du temps d’exécution. Cette définition est opérée à
l’aide d’une formule mathématique, nommée formule de dérivation. La Figure 2.1 est un
exemple de dérivation où le temps de réponse est calculé en se basant sur les valeurs des
propriétés dont il dérive.
La détermination des valeurs de propriétés par dérivation a pour avantage d’être lé-
gère, les formules définies utilisant le plus souvent des opérateurs arithmétiques simples.
Toutefois, il est nécessaire de déterminer les opérandes utilisés dans la formule ; ces valeurs
étant d’autres valeurs de propriétés, la détermination par dérivation nécessitera au préalable
d’effectuer des analyses à la conception et/ou des mesures à l’exécution.
Détermination par agrégation de valeurs
Nous avons restreint dans le cadre de cette thèse le champ des propriétés étudiées aux
propriétés composables. Cela veut dire que pour un élément de composition (tels que les
processus métiers, les séquences, ou les appels en parallèle), il existe une formule mathématique
permettant de déduire la valeur de propriété de la composition, à partir des valeurs
de propriétés des activités contenues. Il suffit donc d’observer ces activités (par analyse
statique ou par mesure), et de composer une valeur de propriété pour la composition en
utilisant une formule mathématique nommée formule d’agrégation. Il est important de noter
qu’ici, contrairement à la détermination par dérivation de propriétés, la détermination
par agrégation de valeurs ne repose pas sur plusieurs propriétés différentes. Ici, il s’agit de
152.2. La Qualité de Service
Activity act
Monitor Report
Transmission Time = 30 ms
Monitor Report
Computation Time = 19 ms
Derivation Report
Response Time = 30 + 19 = 49 ms
Figure 2.1 – Exemple de détermination par dérivation.
déduire une valeur de propriété pour un élément de composition à partir des valeurs de la
même propriété, pour les éléments le constituant.
La Figure 2.2 illustre la détermination par agrégation sur un processus métier quelconque.
Ici, le temps de réponse du processus est la somme des temps de réponse des
activités qu’il contient. De nombreux travaux ont porté sur l’établissement de ces formules
d’agrégation. Les premiers à les avoir formalisées sont Cardoso [Cardoso 2004] et Jaeger
[Jaeger 2004]. Ces travaux furent repris par Mukherjee [Mukherjee 2008], et par Dumas pour
permettre leur établissement dans le cadre de processus métiers mal formés [Dumas 2010].
Canfora a même étendu le concept d’agrégation à des propriétés non fonctionnelles, mais
spécifiques au domaine du logiciel étudié [Canfora 2006].
a1
a2
a4
a3
Derivation Report
Response Time = 9 ms
Derivation Report
Response Time = 30 ms
Derivation Report
Response Time = 55 ms
Derivation Report
Response Time = 6 ms
Aggregation Report
Response Time = 9 + 30 + 55 + 6 = 100 ms Figure 2.2 – Exemple de détermination par agrégation.
De manière similaire à la détermination par dérivation, la méthode par agrégation est
peu coûteuse en elle-même en termes de ressources. Toutefois, elle nécessitera également
une phase préliminaire de détermination à la conception et/ou à l’exécution.
162.3. Évolution des systèmes logiciels
2.2.3 Contrats de Qualité de Service
Dans l’éco-système d’un service, différentes parties œuvrant pour sa réalisation et son
utilisation doivent collaborer. Il s’agit notamment du fournisseur du service, responsable de
son implémentation et de sa disponibilité, et du consommateur du service, qui l’utilise. Afin
de pouvoir garantir que le service proposé reste stable au niveau de sa qualité de service,
les différentes parties impliquées doivent se mettre d’accord.
Pour pouvoir établir cet engagement, il est nécessaire d’établir des contrats entre ces
différentes parties. Il existe différents supports pour pouvoir établir ces contrats. Le plus
utilisé se nomme Web Service Level Agreement (WSLA) [Keller 2003]. Un contrat est un
accord liant deux ou plusieurs parties sur certaines conditions, telles que les responsabilités
de chaque partie ou les engagements à respecter. Dans le cadre des WSLA, un contrat est
constitué de trois sections. D’abord, il s’agit d’établir l’identité de chaque partie impliquée.
Puis, le contrat se poursuit par la désignation du service pour lequel les parties se mettent
d’accord. Enfin, la dernière section du contrat établit les différentes clauses d’engagement.
On parle alors d’objectifs de niveau de service (SLO). Un objectif est constitué d’une partie
engagée par l’objectif (l’Obligee en anglais), d’une période de validité de l’objectif, et
d’une condition à respecter. Cette condition prend la forme d’une expression, indiquant un
ensemble d’opérateurs sur des métriques. Par exemple, on pourra décrire que la métrique
de disponibilité doit être supérieur ou égale à 80%, ce qui signifie que le service en question
doit être accessible pour le consommateur au minimum 80% du temps.
Une fois que le contrat est mis en place, il est nécessaire de s’assurer que tous les objectifs
sont bien respectés. Une approche possible pour cela consiste à utiliser un contrôleur, qui
vérifie bien qu’aucun objectif n’est violé. On retiendra notamment les travaux de Oriol et
al., qui ont développé un système nommé SALMon pour l’analyse et le contrôle de SLA
[Oriol 2008].
Nous venons de présenter dans cette section les travaux existants autour de la qualité
de service dans les architectures orientées services. Nous avons vu différentes manières de
déterminer une valeur de propriété de QoS permettent de qualifier un service, avant de
s’intéresser à la manière dont la QoS peut être conservée en définissant un contrat entre
le fournisseur du service et son consommateur. Si ce dernier point est facilement vérifiable
au moment du contrat, il convient de s’intéresser à l’étape de l’évolution, au cours de
laquelle les changements opérés peuvent interférer la validité du contrat. Pour cela, nous
nous intéressons dans la section suivante aux différentes caractéristiques de l’évolution des
systèmes logiciels.
2.3 Évolution des systèmes logiciels
2.3.1 Définition de l’évolution
Le domaine de cette thèse se concentre sur la manière de faire évoluer un logiciel au
fil du temps. Cela veut dire par exemple d’ajouter des fonctionnalités, ou de maintenir le
code pour effectuer les mêmes fonctionnalités. Traditionnellement, les logiciels ont besoin
de changer pour correspondre aux besoins des utilisateurs, pour corriger un bug ou pour
supporter l’évolution technologique.
La notion d’évolution est apparue dans la fin des années 60 [Lehman 1969]. Lehman et
al. ont été les premiers à en donner une définition [Lehman 1985] :
Définition 4
Évolution du logiciel : "La satisfaction [des besoins] continue demande des change-
172.3. Évolution des systèmes logiciels
ments continus. Le système aura à être adapté en fonction d’un environnement changeant
et des besoins changeants, en développant des concepts et en faisant progresser
les technologies. L’application et le système doivent évoluer. "
Ce genre de logiciel est appelé un logiciel de type-E.
Pour accompagner cette définition, les auteurs ont érigé une série de lois de l’évolution,
établies de manière empirique suite à l’étude de plusieurs systèmes industriels monolithiques
[Lehman 1997, Lehman 2006]. Parmi elles, nous retenons les suivantes, car elles s’inscrivent
tout particulièrement dans notre contexte :
Définition 5
Lois de l’évolution du logiciel :
– Continuité du changement : Un système satisfera progressivement de moins
en moins les besoins des utilisateurs au fil du temps, à moins qu’il s’adapte de
manière continue pour satisfaire les nouveaux besoins.
– Croissance de la complexité : Un système deviendra progressivement de plus
en plus complexe, à moins qu’un travail soit effectué pour réduire la complexité.
– Déclin de la qualité : Un système sera perçu comme perdant en qualité au fil
du temps, à moins que sa conception soit maintenue avec précaution et adaptée à
de nouvelles contraintes opérationnelles.
En s’appuyant sur des expériences industrielles concrètes, ces trois lois renforcent notre
position sur le besoin de faire évoluer un logiciel, et du besoin de s’assurer que la qualité
du système continue à être maintenue au fil du temps. Il est important de noter ici que
la notion de changement est au centre de ces définitions. Ce changement peut s’opérer
de plusieurs manières : si l’on considère l’éco-système d’un système logiciel comme étant
constitué du code source du système, de l’environnement dans lequel il est exécuté, des
besoins utilisateurs desquels le système a émané, le changement peut s’opérer sur chacun
de ces éléments.
Pour nous positionner dans cet éco-système, nous nous appuyons sur les travaux de
Godfrey et al. [Godfrey 2008]. Dans leur papier, les auteurs dressent un état des lieux du
vocabulaire utilisé et des différentes catégories d’opérations que l’on peut qualifier de "changement".
Ils se positionnent sur l’utilisation des mots maintenance et évolution. Dans le
contexte de la thèse, nous considérons que la maintenance est une phase au cours de laquelle
le logiciel est modifié pour corriger des bugs. Nous appelons adaptation la modification du
logiciel pendant son exécution pour réagir à un changement de son environnement. En-
fin, nous appelons évolution la modification d’un système logiciel suite à l’apparition de
nouveaux besoins des utilisateurs.
2.3.2 Caractéristiques d’une évolution
Cette section s’intéresse aux différents facteurs permettant de caractériser une évolution.
Nous présentons dans un premier temps les différentes catégories, avant de positionner nos
travaux pour chaque catégorie, dessinant ainsi le type d’évolution que nous traitons dans
cette thèse.
Afin de pouvoir décrire les caractéristiques d’une évolution, Mens et al. ont dressé une
taxonomie de l’évolution du logiciel [Mens 2003]. Dans ces travaux, les auteurs ont défini
quatre dimensions pour caractériser une évolution : le Où, le Quoi, le Quand et le Comment
de l’évolution. Sous chaque dimension, un ensemble de caractéristiques caractérise
182.3. Évolution des systèmes logiciels
cette dimension, proposant parfois diverses alternatives. Nous reprenons chacune de ces caractéristiques
dans la suite pour positionner les travaux de cette thèse, en définissant quel
type d’évolution nous traitons.
Le "Où" de l’évolution :
Cette dimension cherche à caractériser la localisation de l’application d’une évolution.
Pour cela, les auteurs se sont intéressés à différents facteurs :
– le type d’artéfact logiciel modifié : une évolution va consister en la modification d’un
élément du système au sens large. Ici, il peut s’agir bien évidemment du code source de
l’application ; mais on peut également considérer l’évolution comme un changement au
niveau des besoins de l’utilisateur, de l’architecture, ou encore de la documentation.
– la granularité de l’évolution : ce facteur est un ordre de grandeur évaluant à quel
niveau de finesse l’évolution opère. Il peut s’agir d’une granularité fine, telle qu’un
changement d’instruction ou de paramètre, jusqu’à un changement opéré à l’échelle
du fichier, du package, du service, ou même du système dans son ensemble.
– l’impact de l’évolution : le facteur d’impact est un critère d’importance pour qualifier
une évolution. Il a pour but de caractériser la portée de l’effet du changement sur le
reste du système. Il s’agit ici également d’un ordre de grandeur, allant d’un impact
local, jusqu’à un impact à l’échelle du système.
– la propagation du changement : ce facteur reprend la notion d’impact, en l’appliquant
à l’échelle du processus de développement. Là où le facteur d’impact d’une évolution
se concentre sur l’effet de l’évolution sur le comportement du système, la propagation
du changement s’intéresse aux effets sur d’autres éléments tels que la documentation
ou le modèle conceptuel.
Nous résumons l’ensemble des facteurs de la dimension "Où" dans la Table 2.1, où
les éléments notés en gras sont ceux que nous traitons dans le cadre de la thèse. Comptetenu
de la définition de l’évolution que nous avons choisie, nous traitons des évolutions
portant sur une partie du code source de l’application, à savoir les processus métiers. Ces
évolutions ont une granularité fine : nous souhaitons pouvoir caractériser tout changement
dans un processus métier, et un impact pouvant être local comme global. Enfin, nous nous
intéressons uniquement à son effet sur le comportement du système, nous ne traitons pas
la propagation du changement sur d’autres documents de conception.
Table 2.1 – Taxonomie d’une évolution : la dimension "Où".
Où
Type d’artéfact Granularité Impact Propagation du changement
Documentation Paramètre Local Documentation
Conception Instruction Système Conception
Implémentation Fichier Implémentation
Tests Package Tests
Le "Quoi" de l’évolution :
Cette dimension s’intéresse aux caractéristiques du système sur lequel l’évolution est
appliquée.
– Disponibilité : la disponibilité du système peut être définie comme la capacité du
système à répondre à une requête dans un laps de temps donné. Ici, il est important de
192.3. Évolution des systèmes logiciels
savoir quelles contraintes sont définies sur le système pour pouvoir prévoir l’application
d’une évolution. On considère qu’il peut être requis d’un système qu’il soit tout le
temps disponible, qu’il peut y avoir des périodes d’arrêt du système sur des périodes
courtes, ou simplement que le critère de disponibilité n’a pas d’importance.
– Dynamisme : ce facteur détermine si les changements à opérer sur le système sont
guidés de l’extérieur (système réactif), ou si les changements proviennent d’une observation
faites par des contrôleurs propres à l’application (système proactif). Pour ce
dernier cas, on parle de système autonome, et le changement est opéré à l’exécution.
– Exposition : les auteurs parlent d’ouverture du système pour désigner sa faculté à
autoriser son extension. On parle de système ouvert lorsque l’architecture et l’environnement
d’exécution sont constitués de mécanismes d’extension.
– Sûreté : la sûreté de l’évolution désigne la propriété du système à s’assurer que
l’évolution ne met pas le système dans un état erroné. Il peut s’agir de mécanismes
à la compilation, ou de contrôles effectués à l’exécution. On parle de sûreté statique
lorsque le contrôle de sûreté est effectué hors ligne. À l’inverse, la sûreté dynamique
consiste à vérifier l’évolution au cours de l’exécution du système.
Nous résumons l’ensemble des facteurs de la dimension "Quoi" dans la Table 2.2. Pour
cette dimension, nous nous positionnons dans un cadre où les systèmes doivent être réactifs
(le client pouvant potentiellement poser des contraintes fortes de disponibilité d’un service),
mais pour lesquels un temps d’arrêt pour effectuer de l’évolution est prévisible. Nous traitons
des évolutions réactives, dans le sens où elles sont déclenchées par un changement dans les
besoins du client, et ne sont pas le fruit d’une adaptation à l’environnement. De part le
contexte technologique des SOA, l’exposition du système est ouverte, donnant de par le
couplage lâche et l’aspect modulaire des services la possibilité de l’étendre. Enfin, nous nous
positionnons dans un contexte d’évolution dont nous assurons la sûreté à la conception, par
le biais d’une analyse.
Table 2.2 – Taxonomie d’une évolution : la dimension "Quoi".
Quoi
Disponibilité Dynamisme Exposition Sûreté
Toujours disponible Réactif Ouvert Statique
Temps d’arrêt acceptable Proactif Fermé Dynamique
Indifférent
Le "Quand" de l’évolution :
Cette dimension s’intéresse aux caractéristiques temporelles d’une évolution. Plus particulièrement,
les auteurs étudient dans cette dimension les propriétés suivantes :
– le moment au cours duquel une évolution peut survenir (à la conception, à la compilation,
ou à l’exécution)
– l’historique des évolutions. Cette caractéristique permet de savoir s’il est possible
d’appliquer plusieurs évolutions en concurrence. En effet, avec l’augmentation de la
taille des systèmes, la taille des équipes de développement a également augmenté,
décentralisant ainsi le développement et de fait les évolutions. On distingue ici trois
cas : les évolutions peuvent être prises de manière séquentielle, c’est à dire qu’il n’est
pas possible d’appliquer une évolution tant qu’une autre évolution est en cours, de
manière parallèle synchrone, où ici, le développement des évolutions peut être effectué
202.3. Évolution des systèmes logiciels
indépendamment, mais leur application concrète est réalisée à un point précis dans le
temps, ou encore de manière parallèle asynchrone, où le développement et l’application
des évolutions sont indépendants. Ce dernier cas est complexe à gérer, dans le sens
où l’aboutissement à un système incohérent est possible, sans pouvoir effectuer une
analyse lors du point de synchronisation, comme cela est possible dans la deuxième
méthode.
– la fréquence de l’évolution, à savoir si le système étudié évolue fréquemment de sorte
que des périodes de temps d’arrêt du système sont à prévoir, ou non. On distingue
ici une évolution continue, où le système est en perpétuel changement, une évolution
périodique, où les évolutions sont appliquées de manière régulière, ou encore arbitraire,
où les évolutions sont effectuées à un rythme irrégulier et peu soutenu.
Nous résumons l’ensemble des facteurs de la dimension "Quand" dans la Table 2.3.
Nous traitons dans cette thèse des évolutions subvenant au moment de la conception. De
part l’ensemble des problématiques liées à l’historique d’une évolution, nous nous focalisons
sur des évolutions entrant dans une logique d’application séquentielle. Enfin, la fréquence
n’influençant pas la nécessité du maintien de la qualité de service, nous traitons les évolutions
qu’elles soient à fréquence soutenue, ou plus disparates dans le temps.
Table 2.3 – Taxonomie d’une évolution : la dimension "Quand".
Quand
Moment Historique Fréquence
Conception Séquentiel Continue
Compilation Parallèle synchrone Périodique
Exécution Parallèle asynchrone Arbitraire
Chargement
Le "Comment" de l’évolution :
Cette dimension s’intéresse à la manière dont l’évolution est opérée. Pour cela, les auteurs
étudient les facteurs suivants :
– le degré d’automatisation de la mise en œuvre de l’évolution. Une évolution peut être
complètement automatisée, notamment dans le cadre des systèmes auto-adaptatifs,
partiellement automatisée, où l’équipe de développement décrit les modifications à
apporter dans un langage d’évolution, laissant au moteur d’évolution la tâche d’appliquer
ces modifications sur les différents documents formant le système, ou manuelle,
entraînant l’équipe de développement à modifier à la main tous les documents, en
prenant à bien garde à garder un système cohérent.
– le degré de formalité de la mise en œuvre de l’évolution. Ici, il s’agit de caractériser à
quel degré de formalisme est exprimée une évolution. Par exemple, une évolution peut
être effectuée de manière ad-hoc (i.e., sans aucun support), ou dans un formalisme
mathématique tel que la réécriture de graphe, permettant ainsi de pouvoir s’intéresser
à des propriétés de propagation de changement ou de re-factoring.
– le support du processus d’évolution. Il s’agit de savoir ici si l’évolution s’effectue de
manière manuelle, ou bien si un ou plusieurs outils viennent accompagner le développeur
de l’évolution pour automatiser certaines tâches.
– le type de changement, à savoir s’il s’agit d’un changement structurel ou comportemental.
Dans le premier cas, on modifiera les fonctionnalités par un ajout ou une
212.4. Conclusion
Table 2.4 – Taxonomie d’une évolution : la dimension "Comment".
Comment
Degré d’automatisation
Formalisme Support du processus Type de changement
Automatisé Ad-hoc Aucun Structurel
Partiellement automatisé
Formalisme mathématique
Re-factoring Sémantique
Manuel Analyse d’impact
suppression de paramètres ou de fonctions. Dans le deuxième, il s’agit de la modifi-
cation de la logique fonctionnelle du programme. À noter ici que ces deux critères ne
sont pas mutuellement exclusifs : une évolution est le plus souvent à la fois structurelle
et comportementale.
Nous résumons l’ensemble des facteurs de la dimension "Comment" dans la Table 2.4.
Nous traitons dans cette thèse des évolutions partiellement automatisées, dans le sens où
elle ne sont pas le fruit d’une auto-adaptation. Nous cherchons à faire évoluer des processus
métiers, en nous appuyant sur un langage pour exprimer ces évolutions. Ce langage nous
permettra de raisonner dans une logique des graphes. Enfin, nos évolutions, à la fois structurelles
et comportementales, seront analysées dans le but de déterminer son impact sur la
qualité de service.
2.4 Conclusion
Dans ce chapitre, nous avons présenté le contexte de cette thèse, en étudiant successivement
les architectures orientées services, la qualité de service et la notion d’évolution. Lors
de l’étude de ces domaines, nous avons émis un certain nombres d’hypothèses, que nous
récapitulons dans la Table 2.5. Cette thèse s’inscrit dans un contexte de développement
d’applications orientées services. Ici, les logiciels développés sont notamment modulaires et
autonomes. Afin de pouvoir différencier plusieurs services aux fonctionnalités similaires, la
notion de qualité de service peut être utilisée comme indicateur de comparaison. Enfin, ces
systèmes répondants à des besoins changeants de la part de l’utilisateur, il est nécessaire de
prévoir des évolutions semi-automatisées, subvenant à la conception, dans le but de pouvoir
les analyser pour savoir si, après leur application, la qualité de service est maintenue dans
le système.
222.4. Conclusion
Table 2.5 – Récapitulatif des hypothèses de travail.
Architectures Orientées Services
Hypothèse 1 Nous étudions l’évolution dans le contexte des services. Les entités étudiées,
nommées services, peuvent être distribuées. Nous considérons
qu’ils sont modulaires, que leur localisation est transparente vis-à-
vis de l’équipe de développement, et que leur couplage est lâche.
Qualité de Service
Hypothèse 2 Pour toutes les propriétés que nous étudions, il existe au moins une
méthode permettant de déterminer la valeur de propriété d’un service.
Hypothèse 3 Dans un système, les besoins en terme de qualité de service sont définis
à l’aide d’un contrat de qualité de service. Le plus souvent, ils sont
représentés sous la forme d’une SLA.
Évolution
Hypothèse 4 Les évolutions que nous considérons dans cette thèse s’opèrent au niveau
de l’implémentation du système. Elles sont définies au niveau
de granularité de la réalisation d’un processus métier, c’est-à-dire au
niveau des activités qui le constitue.
Hypothèse 5 Lorsqu’une évolution est appliquée, nous considérons qu’un temps
d’arrêt du système est acceptable. Cette évolution est réalisée en ré-
action à un changement dans les besoins de l’utilisateur. L’analyse de
la validité de l’évolution est effectuée de manière statique.
Hypothèse 6 Le processus d’évolution est effectué au moment de la conception.
Nous considérons dans notre cas que les évolutions sont appliquées de
manière séquentielle, i.e., qu’à tout moment du cycle de vie, il y a
au plus une évolution en train d’être appliquée. La fréquence de ces
évolutions, elle, n’importe peu.
Hypothèse 7 Une évolution, si elle est appliquée de manière automatique sur le
système, est déclenchée par un acteur humain. Il peut s’agir de changements
structurels, ou sémantiques. Pour supporter ce processus
d’évolution, nous cherchons à effectuer une analyse d’impact de son
effet sur le reste du système.
23Chapitre 3
État de l’art
Sommaire
3.1 Processus de développement . . . . . . . . . . . . . . . . . . . . . . 25
3.1.1 Les processus de développement généralistes . . . . . . . . . . . . . . 26
3.1.2 Les processus de développement spécialisés SOA . . . . . . . . . . . 27
3.1.3 Prise en compte de la Qualité de Service . . . . . . . . . . . . . . . . 28
3.1.4 Prise en compte de l’évolution . . . . . . . . . . . . . . . . . . . . . 28
3.1.5 Comparatif et limitations . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Analyse d’impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.1 Fondements de la causalité . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.2 Application de la causalité : les analyses d’impact . . . . . . . . . . 30
3.2.3 Analyse d’impact pour la qualité de service . . . . . . . . . . . . . . 32
3.2.4 Comparatif et limitations . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Conclusion de l’état de l’art . . . . . . . . . . . . . . . . . . . . . . 33
N
ous avons vu dans le chapitre 2 que les applications à base de services avaient pour
particularité de devoir être réactives face aux changements des besoins des utilisateurs,
tout en ayant une préoccupation particulière pour la QoS. Dans ce contexte, l’équipe en
charge du système doit mettre en place une stratégie pour faire évoluer le logiciel, tout en
prenant en compte le maintien de la qualité de service. Dans ce chapitre, nous dressons
dans un premier temps l’état de l’art des processus de développement logiciel. Puis, nous
étudions la notion d’analyse d’impact comme possibilité d’établir l’effet d’une évolution sur
le reste du système.
3.1 Processus de développement
Nous présentons dans cette section l’état de l’art concernant les processus de développement.
Pour étudier les différents travaux, nous nous focalisons sur les critères suivants :
– Agilité : le critère d’agilité est le minimum requis pour pouvoir effectuer des évolutions
de manière continue. On considèrera ainsi que dans un processus de développement
agile, le côté itératif et incrémental peut être vu comme une évolution.
– Collaboration : nous étudions ici des systèmes complexes où plusieurs expertises au
niveau de l’élaboration de services, de processus métiers, d’évolution ou de qualité de
service sont requises. Il est donc important qu’une place soit accordée à ces rôles dans
le processus de développement.
– Prise en compte de la QoS : le but d’une équipe de développement est de produire
un logiciel fonctionnel. La qualité de service n’est pas forcément considérée comme
une préoccupation principale ; il s’agira de voir si elle est intégrée au sein du processus
de développement.3.1. Processus de développement
Dans la suite, nous considérons dans un premier temps les processus de développement
généralistes. Puis, nous nous centrons sur les processus orientés SOA, et étudions ceux qui
prennent en compte la qualité de service et l’évolution. Enfin, nous effectuons un comparatif
des différentes approches.
3.1.1 Les processus de développement généralistes
Les processus de développement ont pour rôle de guider l’équipe de développement dans
la réalisation de logiciels. Il existe de nombreux processus de développement, chacun ayant
ses avantages et ses inconvénients. Pour la plupart, ils sont construits autour des mêmes
grandes étapes, comme référencées dans l’ISO 12207 [IEEE 2008] :
– Analyse des besoins : au cours de cette étape, les besoins du client sont identifiés
(par exemple à l’aide d’un diagramme de cas d’utilisation UML) et consignés dans un
cahier des charges.
– Conception : l’architecte logiciel conçoit une solution en se basant sur les besoins
collectés précédemment. Ici, il s’agit d’une solution à haut niveau d’abstraction. L’architecte
décrit ce qui doit être réalisé, sans donner les détails de comment le réaliser.
– Implémentation : l’équipe de développement se base sur la conception de l’architecte
pour écrire le code du logiciel.
– Vérification et validation : une fois la solution logicielle développée, l’étape suivante
consiste à vérifier que l’on a bien implémenté le logiciel, i.e., que le logiciel ne
présente pas de bogue. Cette phase se nomme "vérification" du logiciel. On s’assure
également que l’on a implémenté le bon logiciel, i.e., que le comportement du logiciel
correspond aux besoins du client. Dans ce cas, on parle de validation du logiciel.
– Déploiement : enfin, l’étape de déploiement consiste à installer le logiciel sur la
machine de production, pour pouvoir être utilisé.
Parmi les processus de développement les plus utilisés, nous retenons le modèle en cascade
[Royce 1970], comme étant le déroulement séquentiel des étapes listées ci-dessus. Un
autre processus est le modèle en V [IABG 1997], développé dans les années 80 par la République
Fédérale d’Allemagne, qui est une extension du modèle en V. Ici, au lieu de considérer
les étapes de manière séquentielle, une association est faite entre les étapes de réalisation, et
les étapes de test, afin de pouvoir les mener en parallèle, et de renforcer leur cohérence. Ces
approches sont dites en cascade : le client établit en amont du projet un certain nombre de
besoins fonctionnels et non fonctionnels. Le porteur du projet déclenche alors le début du
cycle de développement choisi. S’en suit le déroulement des différentes étapes, pour aboutir
à la production d’un logiciel correspondant aux besoins établis. Toutefois, ce genre d’approche
a été vivement critiqué, principalement pour un manque de réactivité vis-à-vis des
besoins du client. Pour pallier ce genre de problème, de nouveaux cycles de développement
ont été proposés. C’est le début des méthodes dites agiles [Beck 2001] : ici, l’accent est
porté sur la livraison fréquente et le retour d’expérience, par le biais de méthodes dites
itératives, l’équipe en charge de réaliser le logiciel exécute plusieurs fois le processus de
développement, et incrémentales, où chaque itération augmente les fonctionnalités du logiciel
réalisé [Larman 2003]. Le client est désormais au centre du processus, là où il n’était
consulté auparavant qu’en début et en fin de projet, permettant ainsi d’éviter de réaliser
un logiciel trop éloigné des besoins. Parmi les méthodes agiles, nous retiendrons l’Extreme
Programming (XP) [Beck 2004], le Rationale Unified Process (RUP) [Kruchten 2004] ainsi
que la méthode Scrum [Schwaber 2004], qui font partie des méthodes de développement les
plus utilisées à ce jour.
263.1. Processus de développement
Pour positionner les processus de développement par rapport à la notion d’évolution, les
cycles de développement agiles sont les plus à même à en supporter les différents mécanismes
liés. En effet, le caractère itératif et incrémental des méthodes agiles permet une réalisation
naturelle de l’évolution, là où les cycles de développement classiques, de par leur long dé-
roulement, nécessite soit d’interrompre le déroulement classique du cycle pour prendre en
compte l’évolution, soit d’attendre la fin d’une itération pour prendre en compte l’évolution.
Dans le premier cas, cela peut engendrer des problèmes de consistance, par exemple en abandonnant
momentanément le développement en cours pour s’occuper de l’évolution. Dans le
second cas, cette approche ne permet pas d’être réactif face aux besoins de l’évolution. Les
approches agiles sont donc les plus à même de supporter l’évolution.
3.1.2 Les processus de développement spécialisés SOA
Selon les principes énoncés dans le chapitre 2, la construction de logiciels basés sur
des architectures orientées services diffère des systèmes traditionnels, notamment dans le
sens où la notion de réutilisabilité est prépondérante. Pour cela, de nombreux travaux ont
tenté d’adapter des processus de développement généralistes aux architectures orientées
services. Ceux-ci sont comparés dans les études de Ramollari et al., et de Shahrbanoo et al.
[Ramollari 2007, Shahrbanoo 2012]. Nous retiendrons ici les travaux de Papazoglou et al.,
qui ont développé un certain nombre de recommandations pour l’élaboration d’un processus
de développement pour les SOA [Papazoglou 2006]. Leur processus de développement agile
est constitué de six étapes :
– Planification : l’étape initiale consiste à étudier la faisabilité de la mise en œuvre
d’une solution à base de services. Il s’agit dans un premier temps d’établir les besoins
de l’utilisateur. Également, c’est dans cette phase que l’équipe de développement prendra
garde à s’assurer que la solution à développer s’intègrera dans un environnement
existant.
– Analyse et conception : Il s’agit de la première étape du cycle de développement.
Ici, on établit l’existant en énumérant les différents services, et en revenant potentiellement
sur les besoins de l’utilisateur pour identifier quels sont les services en place,
et quels sont les services à développer ou à faire évoluer.
– Construction et test : au cours de cette étape, on reprend les besoins identifiés dans
l’étape précédentes pour concevoir, réaliser et tester de nouveaux services et processus
métiers. Il s’agira de déterminer parmi l’ensemble des besoins quels services devront
être réalisés, réutilisés, ou composés.
– Approvisionnement : cette étape cherche à établir l’équilibre entre les services
fournis et leur offre en termes de propriétés. Ici, l’équipe s’intéresse à l’établissement
de contrats (de type SLA), en déterminant quel niveau de qualité peut être fourni,
comment il peut être monnayé à une potentielle entreprise, et quel usage doit être fait
du service pour garantir le niveau de qualité spécifié.
– Déploiement : une fois que les nouveaux services ont été validés, ils peuvent être
déployés et être promus au niveau des autres organisations potentiellement intéressées.
– Exécution et Contrôle : enfin, les nouveaux services peuvent être exécutés. S’il est
nécessaire, des contrôles (notamment de la qualité de service) peuvent être enclenchés,
afin de pouvoir collecter des données sur la qualité du système, et amorcer ainsi la
réflexion d’une autre boucle de développement.
La méthode de développement nommée "Service-Oriented modeling and Architecture"
(SOMA) est une autre approche développée par IBM [Arsanjani 2008]. Cette approche a
273.1. Processus de développement
la particularité de mettre en évidence les rôles nécessaires pour la réalisation d’un logiciel
à base de services. La méthode est constituée de sept activités assez similaire à l’approche
de Papazoglou et al..
La différence principale entre ces approches et les approches généralistes résident dans la
notion de réutilisation, mais également la notion de niveau de service fourni. Ainsi, certaines
actions, comme par exemple l’implémentation, diffèrent des approches généralistes de par
la sélection de services existants.
3.1.3 Prise en compte de la Qualité de Service
Si les cycles de développement se focalisent dans un premier temps sur la livraison
d’un logiciel fonctionnel correspondant au cahier des charges établi, tous ne considèrent pas
la qualité de service dans leurs préoccupations. Toutefois, certains travaux ont consisté à
dériver des processus de développement existants pour y inclure la qualité de service.
Par exemple, Koziolek et al. [Koziolek 2006] ont dérivé le cycle de développement RUP
pour intégrer la QoS dans les différentes étapes du développement de logiciels à base de
composants. Ce processus a notamment pour but d’aider l’architecte à choisir parmi des
composants sur l’étagère, en utilisant la QoS comme critère de comparaison. Comme RUP,
leur nouveau processus est itératif et incrémental, permettant aux développeurs de proposer
de nouveaux composants à chaque itération. Toutefois, chaque itération implique une revérification
complète de l’architecture. Cette approche identifie quatre rôles de référence :
l’expert du domaine, le responsable du déploiement du système, l’architecte du système, et
le développeur de composants.
Gatti et al. proposent également de prendre compte des propriétés de qualité comme
le temps d’exécution pire-cas à travers l’ensemble du cycle de développement [Gatti 2011].
Dans leur approche, chaque étape est guidée par des éléments émanant de l’étape précé-
dente, dans le but d’assurer la traçabilité d’une propriété de l’étape des besoins jusqu’à
l’exécution.
3.1.4 Prise en compte de l’évolution
Tous les processus de développement ne prennent pas en compte explicitement l’évolution
comme une de leurs étapes. Il est évidemment possible de considérer dans un processus
de développement itératif que l’itération est une évolution. Toutefois, il est également possible
de considérer l’évolution comme une étape à part entière, en allouant également un
temps pour analyser les effets de l’évolution sur le reste du système [Lewis 2010].
Il existe différents processus prenant en compte l’évolution comme une étape à part
entière : Kijas et al. ont développé un processus d’évolution pour les architectures orientées
services [Kijas 2013]. Pour cela, ils ont réalisé un modèle d’évolution de manière empirique,
en s’appuyant sur les différents scénarios que l’on peut rencontrer dans la modification
d’un système à base de services. Par exemple, la création d’un service entraîne d’autres
opérations, telles que la publication de l’interface de ce service. De là, ils analysent l’effet
de l’évolution sur le reste du code, en se reposant sur ces scénarios.
Kim et al. proposent une approche fondée sur le tissage d’aspect pour établir et faire
évoluer un système à base de services [Kim 2010]. Pour cela, ils se basent sur des réseaux
de Pétri et sur la séparation des préoccupations par aspects pour établir une évolution, sur
laquelle leur outil est en mesure d’effectuer des analyses de performance.
283.2. Analyse d’impact
Table 3.1 – Comparatif des différents processus de développement.
Rôles Support de la QoS Support de l’évolution Agilité
[Koziolek 2006] Oui Oui Non Oui
[Gatti 2011] Non spécifiés Oui Non Non
[Papazoglou 2006] Non spécifiés Oui Non Oui
[Kijas 2013] Non spécifiés Non Oui Non indiqué
[Kim 2010] Non spécifiés Oui Oui Oui
3.1.5 Comparatif et limitations
Le Table 3.1 regroupe les différents processus de développement que nous avons pré-
sentés. Nous effectuons la comparaison selon les points suivants :
– Rôles : nous pouvons voir ici qu’une minorité de processus intègre la notion de
rôles ; mais si un rôle est défini, aucun des travaux ne prévoit dans le processus de
développement des points de rencontre explicite où les rôles sont amenés à collaborer.
– Support de la QoS : de par l’importance donnée à la qualité de service dans les
fondements des architectures orientées services, presque tous les processus s’intéressent
à la qualité de service. Toutefois, si la majorité des processus supporte la qualité de
service, il est important de s’intéresser à la manière donc la QoS est étudiée. En effet,
pour chaque évolution, une complète réévaluation du niveau global de QoS du système
est effectuée. Si cette pratique permet d’obtenir le résultat escompté, bon nombre des
analyses effectuées sont ré-exécutées de manière arbitraire, sans porter attention au
fait que l’élément analysé n’a peut être pas été affecté par l’évolution.
– Support de l’évolution et agilité : seuls les travaux les plus récents ont choisi
de considérer l’évolution au sein du cycle de développement. Des cinq processus de
développement que nous étudions, seul le processus développé par Gatti et al. n’est
pas un processus agile, et avec un manque d’information sur le processus de Kijas et
al.. En mettant en perspective ce critère avec le support de l’évolution, nous pouvons
voir que tous à l’exception du processus de Gatti et al. ont une possibilité plus ou
moins évidente de réaliser une évolution du logiciel, que ce soit en considérant une
itération du processus, ou en l’exprimant de manière explicite.
Nous venons d’effectuer une comparaison des différents processus de développement.
De tous ces processus, aucun ne satisfait l’ensemble des critères nécessaires au maintien de
la QoS lors de l’évolution. De manière plus spécifique, chacun de ces processus considère
une re-vérification complète de la QoS du système pour chaque évolution, sans essayer de
cibler les éléments affectés par l’évolution. Pour pallier ce genre de problème, il s’agit de
considérer les techniques d’analyse d’impact.
3.2 Analyse d’impact
3.2.1 Fondements de la causalité
La notion de causalité est un principe trans-disciplinaire, touchant à la fois la physique,
les mathématiques, la philosophie. Nous retrouvons notamment les origines des concepts de
cause et de conséquence dès les dialogues de Platon, dans les récits d’Artistote, ou encore
dans le Discours de la méthode de Descartes.
Les travaux de Judea Pearl ont posé les fondements de la causalité, en les formalisant
d’un point de vue logique [Pearl 2000]. En accord avec ses travaux, nous parlons dans ce
293.2. Analyse d’impact
document de relation de dépendance causale (ou relation causale en abrégé) entre deux
éléments A et B, noté A −→ B, signifiant le fait que A est une cause de B, ou que B est la
conséquence de A.
De ces fondements, la notion d’analyse causale est apparue, introduisant des valeurs
probabilistes pour représenter la potentialité d’une relation causale. Ces travaux reposent
notamment sur l’établissement du modèle causal à l’aide d’un réseau Bayésien et de chaines
de Markov [Spohn 2001].
Le besoin d’effectuer une analyse d’impact pour comprendre une évolution a déjà été
évoqué dans les travaux de Papazoglou [Papazoglou 2011], où l’auteur explique que ce genre
d’analyse serait nécessaire pour prédire et réduire le sous-ensemble des éléments impactés,
et comprendre concrètement l’effet de l’évolution.
3.2.2 Application de la causalité : les analyses d’impact
Les théories établies dans la section précédente ont une applicabilité directe dans l’étude
de systèmes logiciels. En 2002, Moe et al. ont motivé le besoin d’étudier la causalité au sein
de systèmes distribués, dans le but de résoudre certains problèmes liés à la compréhension
de l’effet du système, d’un sous-système, ou même d’un message [Moe 2002]. Parmi ces
problèmes, on retiendra notamment la découverte de goulots d’étranglement. Dans la suite
de ce paragraphe, nous nous focalisons sur la causalité lié à un changement opéré dans un
système, en présentant différentes techniques permettant de déterminer son impact. Nous
les classons en deux catégories, à savoir les méthodes d’analyse de causes racines, et les
méthodes d’analyse de l’impact du changement.
Analyse des causes racines
La détermination de la ou les causes à l’origine d’un phénomène est une discipline
connue sous le nom d’analyse des causes racines (root cause analysis en anglais). Elle a été
formalisée dans les années 80 [Busch 1986] dans le contexte du département de l’énergie.
L’objectif des analyses de causes racine est, partant d’une situation établie (le plus souvent
un problème rencontré), d’obtenir les causes de cette situation. Il s’agit d’une approche
réactive, dans le sens où on cherche à remonter à l’origine d’un problème. On opposera
ainsi les approches réactives aux approches proactives, où la cause est connue, et où on
cherche à en prédire les conséquences.
Les analyses de causes racines fonctionnent en quatre temps [Rooney 2004] :
– Collecte de données : afin de pouvoir établir les causes du changement, il est
nécessaire de comprendre concrètement ce qu’il se passe dans le système. Pour cela,
il s’agit d’établir son état courant, c’est à dire l’état dans lequel se trouve chacun des
éléments qui le constituent, mais également l’ensemble des événements l’ayant mené
à cet état.
– Tracé des facteurs de causalité : en partant des informations collectées, il s’agit
de dresser une cartographie des différentes influences entre les éléments. Il s’agit le
plus souvent d’un diagramme de séquence, où les différents événements jouent le
rôle de garde et où la séquence représente la chaîne de causalité. Ainsi, une fois que
le diagramme est tracé, un ensemble de branches apparaît, menant au nœud final
correspondant à l’état courant.
– Identification des causes racines : une fois que tous les facteurs causaux ont été
intégrés au diagramme, un diagramme de décision, appelé carte des causes racine, est
établi pour identifier la ou les causes ayant mené à l’état courant. Cette carte permet
303.2. Analyse d’impact
d’établir comment, à partir d’une cause éloignée, par un effet de cascade, le système
a pu aboutir à son état courant.
– Recommandations : enfin, une fois que les causes racines sont établies, l’analyse
préconise une ou plusieurs actions à effectuer pour éviter à l’avenir de se retrouver
dans cet état.
Une manière de représenter les résultats de l’analyse s’effectue à l’aide des diagrammes de
Pareto. Dans ces diagrammes, l’ensemble des causes dont le problème émane est représenté
en colonnes, classées par ordre décroissant de probabilité d’implication sur la conséquence.
Les diagrammes de Pareto font partie, avec le diagramme en arêtes de poisson, des sept
outils à utiliser pour contrôler la qualité [Tague 2004].
Si cette catégorie de méthode permet d’établir un diagnostic face à un problème, tel
que la dégradation de propriété de qualité de service par exemple [Ben Halima 2008], elle
ne s’inscrit cependant pas complètement dans le cadre de cette thèse. En effet, nous avons
pour objectif de maintenir la qualité de service tout au long du cycle de vie du logiciel. Or,
ce genre de méthode se positionne davantage dans la situation où la qualité de service n’est
plus maintenue.
Analyse de l’impact du changement
L’analyse de l’impact du changement (change impact analysis en anglais) s’intéresse à
l’identification des conséquences d’un changement effectué sur un système. Ces méthodes ont
été définis à l’origine par Bohner et Arnold [Bohner 1996] comme étant "The determination
of potential effects to a subject system resulting from a proposed software change". Cette
description générale peut s’appliquer à l’ingénierie logicielle en particulier. On retrouve dans
la littérature de nombreuses applications de ce principe, agissant sur différentes parties du
cycle de vie : l’analyse de l’effet sur les phases de collecte des besoins, sur la conception de
la solution, sur son implémentation, et sur la vérification.
Les techniques d’analyse de l’impact du changement n’ont pas pour but unique de se
centrer sur l’effet d’une évolution. Dans leurs travaux, Xiao et al. utilisent ces techniques
pour calculer le coût d’une évolution [Xiao 2007]. En effet, modifier un processus métier
s’accompagne souvent d’une modification des interfaces, voir même de la logique d’implé-
mentation de certains services. Les auteurs effectuent une analyse d’impact sur le processus
métier dans le but de quantifier le coût de l’évolution sur le reste du système. Nous pensons
que cette technique serait une bonne approche si elle pouvait être étendue pour prendre en
compte non pas le coût d’une évolution mais son effet sur la qualité de service.
Cette approche contemplative de l’étude de l’évolution est appliquée de manière active
dans l’outil nommé Morpheus [Ravichandar 2008]. Ici, les auteurs proposent de s’appuyer
sur les relations de dépendance établies pour automatiser l’évolution, en propageant les
changements sur les autres éléments constituant le système.
Analyse des effets d’une évolution
Plusieurs travaux se sont intéressés à l’analyse d’impact de l’évolution d’un logiciel. Par
exemple, Elbaum et al. ont présenté une étude empirique sur l’effet de l’évolution du logiciel
sur les tests de couverture de code [Elbaum 2001]. Ils ont montré que même une modification
minime dans le logiciel peut modifier les instructions au niveau du code, impliquant de le
re-tester. Fondamentalement, nous visons à réaliser le même genre d’approche au niveau
des orchestrations de service, et en se préoccupant principalement de la qualité de service.
313.2. Analyse d’impact
Analyse de l’évolution dans les SOA
L’analyse d’impact, ou la détermination des éléments affectés par un changement, a été
étudiée dans le cadre des processus métiers. Soffer a défini dans ses travaux la notion de
portée du changement, dont l’identification permet de "faciliter l’ajustement du système
face aux changements des processus métiers" [Soffer 2005]. Pour cela, l’auteur dresse une
taxonomie des différentes modifications pouvant être effectuées sur un processus métier :
modification d’un état, modification d’une transition d’état (que ce soit au niveau de la
structure du flot de contrôle, ou d’une potentielle condition de garde), modification des
variables, ou modification totale, en remplaçant le processus métier par un autre.
Partant de cette taxonomie, l’auteur définit quel est le scope de changement pour chacune
des catégories, à savoir le changement contenu (où il n’y a pas de changement indirect),
le changement local, ou encore le changement global.
Le canevas proposé par Ravichandar et al. vise à contrôler l’évolution de processus mé-
tiers [Ravichandar 2008]. Ils établissent les relations entre les différents éléments du système,
et opèrent à la fois sur le code source et sur les descriptions de haut niveau d’abstraction
pour conserver la cohérence du système. Enfin, l’élaboration d’une évolution entraîne grâce
à leur outil une propagation du changement dans l’ensemble de l’architecture. Ces travaux
sont similaires à ceux de Dam et al. [Dam 2010] .
3.2.3 Analyse d’impact pour la qualité de service
Enfin, un certain nombre de travaux ont porté sur l’étude de l’effet d’un changement
sur la qualité de service. Dans le langage CQML+ [Rottger 2003], il existe la possibilité
de représenter les relations de causalité pouvant exister entre les différentes propriétés.
Toutefois, aucun outil, ou aucune application, n’est proposée pour pouvoir déterminer pour
un système donné la chaine de conséquences entre une évolution et son effet sur la qualité
de service. Becker et al. proposent une approche nommée Q-Impress visant à prédire les
conséquences des évolutions, au moment de la conception du logiciel, sur les différents
attributs de qualité. Pour cela, les auteurs se basent sur des modèles de prédiction tels que
les chaînes de Markov ou les réseaux de file d’attente [Becker 2008].
Cicchetti et al. ont développé une approche pour analyser les effets de l’évolution sur
la qualité de service d’applications à base de composants [Cicchetti 2011]. Leur approche
considère une évolution effectuée de manière ad-hoc : l’équipe de développement réalise
une nouvelle version du système, et l’incrément est calculé en effectuant la différence des
modèles architecturaux. En fonction de cette différence, leur outil calcule l’impact de cette
différence selon un ensemble de règles. Toutefois, l’inconvénient de leur approche réside dans
la nécessité de mesurer a priori l’ensemble des valeurs pour pouvoir ensuite déterminer quel
en a été l’impact. Il en résulte une re-vérification complète du système.
3.2.4 Comparatif et limitations
La Table 3.2 regroupe les différents types d’analyse d’impact que nous avons présentés.
Nous effectuons la comparaison selon les points suivants :
– Adaptabilité au contexte : notre contexte circonscrit les domaines des processus
métiers, de la QoS et de l’évolution. Sur l’ensemble des analyses que nous avons étudié,
aucune de ces méthodes ne s’inscrit complètement dans notre contexte, prenant en
compte au mieux deux des trois critères, comme le font Becker et al. ou Cicchetti et
al..
323.3. Conclusion de l’état de l’art
– Identification du sous-ensemble impacté : de par notre analyse précédente, nous
pouvons opposer les méthodes d’analyse des causes racines aux méthodes d’analyse
de l’impact du changement. En considérant que pour garantir le maintien de la QoS
lors de l’évolution, nous avons besoin de déterminer en premier lieu quel est l’impact
de l’évolution, l’analyse des causes racines n’est pas adapté à notre problématique.
– Quantification de l’impact : une fois que l’impact a été déterminé, c’est-à-dire que
l’analyse a identifié quels sont les éléments du système affecté par une évolution, il est
nécessaire de savoir si cet impact est bénéfique ou néfaste du point de vue de la QoS.
Toutes les méthodes d’analyse n’effectuent pas cette vérification cependant, essentielle
pour pouvoir dire si la QoS est maintenue. C’est le cas notamment de Ravichandar et
al., Elbaum et al. ou Rottger et al..
– Coût de l’analyse : enfin, le dernier critère de comparaison consiste à étudier le
coût pour l’utilisateur de l’analyse. Nous cherchons en effet ici à avoir une analyse la
plus automatisée possible, et pour laquelle l’utilisateur sera le moins impliqué. Si la
plupart des méthodes ont un coût important, en terme d’effort de modélisation ou de
temps d’exécution de l’analyse en elle-même, Ben Halima et al. ainsi que Ravichandar
et al. ont un faible coût.
En résumé, aucune approche ne propose une analyse d’impact qui soit à la fois adapté
à notre contexte, faible en coût, et fournissant l’ensemble des informations nécessaires à
garantir le maintien de la QoS lors de l’évolution d’un logiciel.
3.3 Conclusion de l’état de l’art
Nous venons de dresser l’état de l’art en matière de processus de développement et
d’analyses d’impact pour l’évolution. Beaucoup de travaux gravitent autour de ces domaines
depuis de nombreuses années. Il existe de nombreux processus de développement spécialisés
dans la détermination de la qualité de service, dans l’élaboration de systèmes à base de
services, ou incluant l’évolution comme étape du processus.
Nous avons également étudié les travaux portants sur la détermination des effets de
l’évolution en termes d’impact. Là encore, de nombreux travaux existent, s’intéressant à
la cause d’un changement ou à son effet. Ces techniques ont été appliquées à différents
domaines et dans différents contextes.
Dans cette thèse, nous souhaitons maintenir la qualité de service d’un logiciel au cours
de ses différentes évolutions, tout en minimisant la phase de re-vérification. Dans cette
optique, les défis sont :
– faire collaborer les acteurs de l’équipe de développement, en identifiant les
connaissances requises pour le maintien de la QoS lors de l’évolution, et en caractérisant
les moments au cours desquels les acteurs devront collaborer.
– déterminer les interactions au sein d’un logiciel, afin de pouvoir établir le
lien existant entre la modification d’un élément du système et la modification d’une
propriété de qualité de service.
– minimiser la vérification de la QoS, en déterminant les éléments du système
impactés par l’évolution de manière à ne vérifier la QoS que sur ces derniers.
– identifier la cause de la violation d’un contrat de QoS, en appliquant les
techniques d’analyse des causes racines sur le contrat déterminé comme violé.
Dans la suite de ce document, nous présentons nos différentes contributions permettant
d’assurer le maintien de la qualité de service lors de l’application à base de processus métiers.
333.3. Conclusion de l’état de l’art
Nous présentons dans le chapitre 5 un processus de développement, nommé Blink, mettant
en évidence les différentes collaborations entre acteurs. Il s’agit dans un premier temps
d’identifier ces acteurs, et de déterminer à quel moment du processus de développement
une coopération entre acteurs est nécessaire.
Puis, nous nous focalisons dans le chapitre 6 sur le rôle de l’architecte du système. Nous
présentons dans un premier temps comment modéliser un système selon les principes des
architectures orientées services. Nous cherchons pour cela à définir ce qu’est un système, et
quelles sont les informations que l’équipe de développement doit fournir pour établir son
bon fonctionnement. Puis, nous définissons le concept de causalité, à savoir l’influence que
peut avoir un élément d’un système sur un autre élément. À travers la notion de modèle
causal, nous identifions l’ensemble des interactions dans un système, dans le but de pouvoir
déterminer l’effet d’une évolution sur les éléments du système.
Dans le chapitre 7, nous considérons le rôle de l’expert en qualité de service. Après avoir
fourni une définition de la qualité de service, nous présentons un langage de modélisation
d’une propriété de QoS. À partir de la description d’une propriété, nous cherchons alors à
enrichir le modèle causal établi dans le chapitre 6 pour déterminer les interactions entre les
éléments du système et ses propriétés de QoS, et cibler les propriétés de QoS à re-vérifier
lors d’une évolution.
Enfin, dans le chapitre 8, nous nous intéressons au rôle de l’architecte de l’évolution.
Après avoir donné une définition de ce qu’est une évolution, nous présentons un langage
permettant à l’architecte de décrire des évolutions. Puis, nous présentons un outil d’analyse
permettant de déterminer si oui ou non la qualité de service est maintenue une fois
l’évolution appliquée. Le résultat de cette analyse est une chaine de conséquence, rendant
explicite la cause possible du non-maintien de la qualité de service.
L’ensemble des contributions de cette thèse est regroupé au sein de Smile, un canevas
de développement pour le maintien de la qualité de service. Notre canevas regroupe la
réalisation des contributions, en s’inscrivant de pair avec Blink, notre processus de développement
identifiant les interactions entre les expertises de l’équipe de développement, et
en implémentant les différentes contributions propres aux expertises de la modélisation du
système, de la qualité de service et de l’évolution. Ces contributions sont illustrés à l’aide de
PicWeb, notre exemple fil rouge dont la description est réalisée dans le chapitre suivant.
343.3. Conclusion de l’état de l’art
Critères
Adapté aux
processus métiers Adapté à la QoS Adapté à l’évolution Identification du sous-ensemble impacté Quantification de l’impact Coût de l’analyse
Analyses des causes
racines
[Ben Halima 2008]
Non Oui Non Non Oui Bas (analyse de trace)
Analyse de l’impact
du changement
[Ravichandar 2008]
Non Non Oui Oui Non Bas (analyse de dépendance)
Analyse de
l’évolution
[Elbaum 2001]
Non Non Oui Oui Non Élevé (étude empirique)
Analyse de
Processus Métiers
[Soffer 2005]
Oui Non Oui Oui Oui Élevé (taxonomie)
Analyse de
Processus Métiers
[Dam 2010]
Oui Non Non Oui Oui
Moyen
(modélisation du
système nécessaire)
Analyse de la QoS
[Rottger 2003] Non Oui Non Non Non élevé (pas d’outil disponible)
Analyse de la QoS
[Becker 2008] Non Oui Oui Oui Oui
Élevé (besoin de
modèles de
performance
supplémentaires)
Analyse de la QoS
[Cicchetti 2011] Non Oui Oui Oui Oui
Moyen (besoin de
re-vérifier
l’intégralité du
système)
Table 3.2 – Comparatif des différentes analyses d’impact.
35Chapitre 4
Présentation du cas d’étude
Sommaire
4.1 Séduite, un système de diffusion d’informations à base de processus
métiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 PicWeb, un processus métier de recherche d’images . . . . . . . 39
4.2.1 Description de PicWeb . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2.2 Évolution de PicWeb . . . . . . . . . . . . . . . . . . . . . . . . . . 40
C
e chapitre présente PicWeb, un service de recherche d’images provenant de différentes
sources qui correspondent à un mot-clé passé en paramètre. PicWeb est
représenté par un processus métier dont le développement s’est déroulé de manière agile.
Au fil du temps, ce processus métier a évolué pour continuer de correspondre aux besoins
des utilisateurs. Il constitue à ce titre un cas d’étude idéal de par sa taille raisonnable et sa
compréhension aisée pour illustrer les problèmes rencontrés lors de l’évolution d’application
à base de processus métiers. Tout particulièrement, nous montrons ici qu’il est difficile de
garantir le maintien de la qualité de service lors de l’évolution. Nous utilisons PicWeb tout
au long du document pour illustrer l’apport des différentes contributions de cette thèse.
Dans ce chapitre, nous présentons le scénario d’utilisation de PicWeb : nous montrons
comment il s’inscrit dans un système plus large nommé Séduite [Delerce-Mauris 2009] et en
quoi les différentes évolutions de PicWeb ont été source de problèmes pour maintenir la
qualité de service du système.
4.1 Séduite, un système de diffusion d’informations à
base de processus métiers
Séduite est un système de diffusion d’informations à destination du personnel et des
étudiants d’une université. Son origine provient d’un besoin de diffuser sur un campus universitaire
des informations diverses, provenant de sources différentes telles que la scolarité,
le restaurant universitaire, ou encore les différentes associations étudiantes souhaitant communiquer
sur leurs activités. De par l’hétérogénéité du public ciblé, ces informations doivent
être affichables sur des périphériques variés tels que des écrans de contrôle positionnés au
sein de l’institution, des smartphones, ou encore via un site web. La Figure 4.1 illustre
l’interface graphique de Séduite.
Le développement de Séduite a débuté en 2005. Originellement utilisé comme prototype
de recherche à des fins d’expérimentation (il a servi notamment de validation au projet
FAROS 1
), le système prit de l’ampleur suite à l’implication d’une équipe de huit développeurs.
Le système est aujourd’hui constitué de vingt-six services implémentés en Java
et de sept processus métiers implémentés dans le Business Process Execution Language
1. Projet RNTL FAROS, 2005.4.1. Séduite, un système de diffusion d’informations à base de processus
métiers
Figure 4.1 – Utilisation de Séduite au cours de la nuit de l’info.
BPEL [OASIS 2007]. Ces services ont pour tâches de collecter les différentes informations
provenant des différents services administratifs de l’université, mais également de services
web externes. La Figure 4.2 représente l’architecture globale de Séduite.
En huit ans, Séduite a été déployé dans plusieurs institutions. Son développement s’est
effectué de manière agile : en s’appuyant fortement sur les nombreux retours de la part
des utilisateurs, l’implémentation de Séduite a subi de nombreuses évolutions. Nous nous
focalisons dans le cadre de cette thèse sur l’évolution de l’un de ces processus métiers,
nommé PicWeb.
Figure 4.2 – Architecture de Séduite.
384.2. PicWeb, un processus métier de recherche d’images
Activité Activité du
processus métier
Activité Activité modifiée au
cours de l'évolution
Légende:
(a) PicWeb V0
(b) PicWeb V1
Evolution
a1 Keyword:= receive()
Pics[] :=
Picasa:getPics(Keyword) a2
a3 PicsF[] = shuffle(Pics[])
a4 reply(PicsF[])
a1 Keyword:= receive()
PicsPicasa[] :=
Picasa:getPics(Keyword) a2 PicsFlickr[] :=
Flickr:getPics(Keyword) a21
a30 Pics[] := Helper:join(PicsPicasa[], PicsFlickr[])
a3 PicsF[] = shuffle(Pics[])
a4 reply(PicsF[])
a4 a4
Figure 4.3 – Évolutions de PicWeb.
4.2 PicWeb, un processus métier de recherche d’images
De l’ensemble des évolutions de Séduite, le cas des évolutions de PicWeb se dégage
particulièrement. En effet, à l’issue de l’une de ces évolutions, le déploiement de la nouvelle
version entraîna le ralentissement de l’ensemble du système. Nous nous focalisons dans cette
section sur cette évolution, qui nous servira d’exemple tout au long du document.
4.2.1 Description de PicWeb
PicWeb est un processus métier faisant partie de Séduite. Il a pour but d’afficher
sur les écrans de diffusion différentes photos de la vie du campus. Pour cela, le processus
métier interroge des services web de stockage de photos tels que Flickr de Yahoo! ou
encore Picasa de Google, en récupérant les photos correspondant à un mot-clé donné. Le
processus métier récupère ces ensembles de photos et effectue un mélange afin de rendre
l’affichage des photos aléatoire. Par exemple, sur le campus de Lille, PicWeb est utilisé
pour diffuser les photos des différents événements de la vie étudiante.
La Figure 4.3(a) est une représentation de la version initiale de PicWeb selon le formalisme
des diagrammes d’activités d’UML, permettant la description du processus métier. Au
départ, le processus métier récupère les photos correspondant à un mot-clé donné (activité
a1 ). Le processus reçoit le mot-clé, effectue une invocation au service Picasa (activité a2 )
pour récupérer les correspondances, les mélange pour obtenir un ordre aléatoire (activité
a3 ), et les retourne en tant que résultat (activité a4 ).
394.2. PicWeb, un processus métier de recherche d’images
Dans le cadre du développement de PicWeb, l’équipe de développement s’est intéressé
particulièrement à étudier le temps de réponse du service. Concrètement, il s’agissait de
caractériser un appel à un service ou à un processus métier, en mesurant le temps passé
entre la réception du message d’entrée, et l’envoi du résultat en sortie. Ce temps comprend le
temps passé pour l’envoi des messages d’entrée et de sortie (appelé temps de transmission),
et le temps passé pour calculer la réponse (appelé temps de calcul). Pour s’assurer que le
temps de réponse de PicWeb se situait dans un intervalle de temps acceptable, des mesures
ont été effectuées sur l’ensemble du processus. Puis, lors de chaque évolution, l’équipe de
développement considérait uniquement les activités modifiées par l’évolution pour s’assurer
du maintien de la qualité de service pour le temps de réponse.
4.2.2 Évolution de PicWeb
Au cours de son cycle de vie, PicWeb évolua à plusieurs reprises pour répondre aux
changements des besoins des utilisateurs. Nous nous focaliserons dans ce document sur
l’évolution décrite dans la Figure 4.3, car elle montre comment le simple ajout d’un appel
de service peut avoir un impact sur la qualité de service de l’ensemble du processus métier,
voire même du système tout entier. PicWeb évolue pour prendre en considération un
nouveau fournisseur d’images (Flickr), comme montré dans la figure Figure 4.3 (b). Ce
fournisseur est désormais appelé en parallèle de Picasa, avant que le résultat soit concaténé
dans la réponse.
Lors de cette évolution, si les temps de réponse des activités a20, a21 et a30 de la
Figure 4.3(b) présentaient individuellement des valeurs d’un ordre de grandeur attendu,
le déploiement de la nouvelle version de PicWeb révéla une toute autre réalité. En effet, les
temps de réponse de PicWeb, mais également de Séduite dans son ensemble, augmentèrent
de façon significative. Cette augmentation provoqua le ralentissement du système, obligeant
l’équipe de développement à déployer dans l’urgence une version précédente du système.
Il est intéressant de noter ici que la cause du problème ne vient pas directement de
l’évolution mais d’un autre service. Ici, l’appel à Flickr ou au service de concaténation
n’était pas la cause du ralentissement du système. Toutefois, l’augmentation de la taille
des données traitées par l’activité de formatage des images ralentit considérablement son
exécution, causant le ralentissement de l’ensemble du système. En effet, l’implémentation de
l’opération shuffle consiste, pour un ensemble de n éléments donnés en entrée, à effectuer n
2
permutations afin de mélanger l’ensemble. L’évolution appliquée à PicWeb n’a pas modifié
l’implémentation de shuffle ; toutefois, le contenu de la variable Pics, donnée en entrée de
shuffle, est passé de n éléments à 2n. Au niveau de shuffle, l’évolution a entrainé les n
2
permutations à devenir 4n
2 permutations, causant ainsi un ralentissement de l’exécution
de l’opération, de PicWeb et du système dans son ensemble.
De ce fait, il n’est pas raisonnable de limiter l’analyse de l’évolution aux seuls éléments
modifiés dans l’évolution, car cette modification peut avoir des effets indirects sur le reste
du système. Il est donc nécessaire de pouvoir déterminer la relation entre l’évolution et
son effet sur le reste du système, afin de pouvoir qualifier l’effet concret de l’évolution sur
l’ensemble du système.
Ce chapitre vient de présenter le cas d’étude de ce document. Dans le chapitre suivant,
nous présentons les différents problèmes rencontrés au cours de l’évolution de PicWeb.
Nous en extrayons les différents défis liés à l’évolution, avant de donner un aperçu des
contributions de la thèse pour apporter une solution à cette problématique.
40Deuxième partie
ContributionsChapitre 5
Un processus de développement
pour le maintien de la qualité de
service
Sommaire
5.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Définition des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3 Description du processus de développement . . . . . . . . . . . . 44
5.4 Coopération entre acteurs . . . . . . . . . . . . . . . . . . . . . . . 45
5.5 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . 46
C
e chapitre présente notre approche pour guider l’équipe de développement dans
la réalisation d’un système suivant les principes des architectures orientées services,
avec un point de vue particulier pour la qualité de service. Nous identifions tout d’abord les
différents acteurs opérant sur le logiciel, en décrivant leur rôle, et en quoi leurs expertises
propres interviennent dans le maintien de la QoS lors de l’évolution d’un logiciel. Nous
présentons ensuite le cycle de développement en lui-même. Enfin, nous mettons l’accent sur
le besoin d’interactions entre les différents acteurs pour parvenir à maintenir la QoS tout
au long du cycle de vie.
5.1 Motivations
La conception et la réalisation d’un système informatique nécessitent la mobilisation
d’un ensemble de compétences propres à un domaine particulier [IEEE 2008, Tarr 1999].
Nous nous intéressons dans le cadre de cette thèse à la réalisation d’une évolution et au
maintien de la qualité de service d’un système. Si ces deux compétences peuvent être traitées
indépendamment, leur implication dans la réalisation du système entraine des conflits à
prendre en compte. Typiquement, l’évolution de PicWeb et les mesures de son temps de
réponse peuvent être gérées de manière isolée ; toutefois, en agissant de la sorte, l’application
de l’évolution a eu de fait une influence sur la propriété étudiée, ayant ainsi des conséquences
inattendues.
Pour pouvoir contrôler ces conséquences, il est nécessaire d’identifier les influences entre
les différentes expertises, c’est-à-dire les moments dans le cycle de vie d’un logiciel où les
choix techniques et architecturaux réalisés par une expertise donnée auront un impact sur
une ou plusieurs autres expertises. Il s’agit donc dans un premier temps d’expliciter les
compétences existantes, pour ensuite définir les moments dans le cycle de vie où les choix
d’une expertise ont un impact sur une autre expertise, et où une concertation est nécessaire.
Nous avons décidé dans un premier temps d’identifier les compétences requises et de les5.2. Définition des acteurs
affecter à des entités nommées acteurs [Taskforce 2011]. Un acteur est une, ou plusieurs
personnes, responsable d’un ensemble de tâches propres à une préoccupation. Ainsi, une
tâche commune à deux acteurs implique un échange de connaissances entre les deux acteurs,
que ce soit par le biais d’une rencontre, ou encore par un échange de documents et de
données ; c’est ce que l’on appelle un point d’interaction.
Le défi ici est de définir quelles sont les interactions nécessaires entre les différents
membres de l’équipe de développement. Pour cela, nous proposons Blink, un processus de
développement permettant d’ordonner les tâches en étapes, et de définir le but de chaque
tâche. En identifiant les compétences fournies par les acteurs et les compétences requises
pour chaque étape, nous mettons en évidence les interactions nécessaires. Dans la suite de
ce chapitre, nous présentons quelles sont les acteurs gravitant autour de la réalisation d’un
système. Puis, nous introduisons Blink, et détaillons l’ensemble des étapes nécessaires pour
le développement d’un système avec une préoccupation pour la qualité de service. Enfin,
nous explicitons les différentes interactions au sein de l’équipe de développement.
Pour illustrer nos propos, nous nous appuyons sur le cas de l’évolution de PicWeb.
5.2 Définition des acteurs
Au cours du développement et de l’évolution de l’application, différents acteurs interviennent
pour apporter leur expertise propre. Ces acteurs ont un rôle spécifique, et sont
amenés à prendre des décisions modifiant la structure et le comportement du système réalisé.
Dans le contexte de la réalisation de systèmes orientés services se préoccupant de la
Qualité de Service, nous listons dans la Table 5.1 les différents acteurs identifiés, et décrivons
leur rôle. Ces acteurs ont été identifiés en nous inspirant des travaux de Bejaoui et al.
[Bejaoui 2008], de Kajko-Mattson et al. [Kajko-Mattsson 2007], ou encore de Zimmermann
et al. [Zimmermann 2006]. Nous comptons cinq rôles. Parmi eux, un est extérieur à l’équipe
de développement (l’utilisateur). Le dernier rôle est un acteur non humain : il s’agit de notre
canevas de développement, Smile, dont nous présentons les différentes parties tout au long
du document, et dont l’implémentation est décrite dans le chapitre 9.
Nous cherchons maintenant à déterminer la manière dont les acteurs œuvrent pour
réaliser un système. Pour cela, nous répertorions chacune des étapes de Blink, notre processus
de développement. Nous présentons chacune des étapes en décrivant leur rôle dans
le processus global, et les acteurs amenés à y participer.
5.3 Description du processus de développement
Afin d’éviter les problèmes d’influence entre les expertises et de pouvoir définir un système
dont la qualité de service est maintenue au fil du temps, nous identifions dans cette
section les étapes clés du processus de développement, au cours desquelles une mise en commun
des informations et des choix effectués par les acteurs concernés est nécessaire. Pour
définir notre processus de développement, Blink, nous nous sommes inspirés de processus
de développement existants, tels qu’ils sont présentés dans [Papazoglou 2006] ou encore dans
[Kijas 2013]. De ces processus, nous avons conçu Blink, un processus de développement
pour le maintien de la qualité de service à l’évolution. La Figure 5.1 représente le diagramme
d’activités de ce processus de développement. Chacune des étapes est décrite dans
les Tables 5.2, 5.3 et 5.4, accompagnée d’un diagramme selon la spécification SPEM 1
. Ce
processus a été conçu pour réaliser un système de façon itérative et incrémentale, où chaque
1. http://www.omg.org/spec/SPEM/2.0/
445.4. Coopération entre acteurs
Table 5.1 – Rôles intervenants dans la réalisation d’un système.
Utilisateur du système Représente la communauté utilisant le logiciel. Il est responsable
de faire part auprès de l’équipe de développement des nouveaux
besoins, nécessitant de faire évoluer le logiciel.
Architecte du processus
métier
Réalise la logique métier du système au moyen de processus mé-
tiers et de services. Il a une connaissance approfondie du comportement
du système et de la panoplie de services déjà implémentés
qu’il peut utiliser.
Expert en Qualité de
Service
Définit les propriétés de qualité de service. Il a une connaissance
approfondie des propriétés et des outils pour les observer au sein
de n’importe quel système. Il est en mesure de déterminer en cas
de dégradation des valeurs de propriétés les facteurs d’influence
pouvant en être la cause.
Architecte de l’évolution Décrit les évolutions à produire pour modifier le comportement
de système, en accord avec les nouveaux besoins de l’utilisateur.
Il a une connaissance partielle du comportement du système.
Smile Joue le rôle d’interlocuteur avec les autres acteurs de l’équipe de
développement, en leur communiquant par exemple les informations
nécessaires à leurs prises de décisions. Il contient des informations
sur le système, son implémentation, et les différentes
analyses effectuées. Dans le cadre de Blink, Smile automatise
certaines tâches comme l’application de l’évolution au système,
ou encore son analyse.
incrément est une évolution à considérer. Il implique l’ensemble des acteurs du système et
permet, à partir de l’expression de nouveaux besoins de la part de l’utilisateur, de définir
une évolution qui sera analysée afin de s’assurer du maintien de la qualité de service dans
le système post-évolution.
Au cours des différentes étapes, certains acteurs sont amenés à interagir. Nous définissons
dans la section suivante les points d’interaction du processus, où plusieurs expertises sont
nécessaires pour accomplir des tâches communes.
5.4 Coopération entre acteurs
Le but de cette section est de mettre en évidence les coopérations entre les différents
acteurs. Il s’agit de définir pour un point d’interaction à quel moment celui-ci intervient
dans le processus de développement, quels acteurs sont nécessaires, et quelles informations
ils vont échanger. Nous distinguons trois points d’interaction, indiqué sur la Figure 5.1
par un titre d’étape souligné :
– Évolution des besoins : au cours de cette étape, l’utilisateur et l’architecte du
système collaborent ensemble pour établir le plus précisément possible les nouveaux
besoins. Il en résulte une spécification des besoins.
– Définition de l’évolution : pour pouvoir définir une évolution, l’architecte de cette
évolution a pour tâche de proposer une modification qui satisfera les besoins spécifiés.
Pour cela, la collaboration de l’architecte du système et de l’architecte de l’évolution
consiste à la mise en commun des besoins, une spécification des besoins, guidée par la
455.5. Conclusion du chapitre
0 - Import initial
du système
1 - Évolution
des besoins
2 - Définition
de l'évolution
3 - Analyse
de l'évolution
4 - Vérification des
éléments affectés
6 (b) - Annulation
de l'évolution
6 (a) - Application
de l'évolution
5 - Diagnostic et
prise de décision
décision='ok' décision='¬ ok'
Figure 5.1 – Schéma du processus de développement Blink.
connaissance pointue du système que l’architecte du système a acquis depuis le début
du projet.
– Diagnostic et prise de décision : une fois que l’architecte de l’évolution a conçu une
modification, et que l’expert en qualité de service l’a analysée, il s’agit de mettre en
commun ces deux expertises dans le but de dresser un diagnostic. Pour cela, l’expert en
qualité de service apporte les différentes mesures effectuées : l’architecte de l’évolution
est en mesure de les interpréter, afin de comprendre pourquoi une évolution a violé un
contrat de qualité de service, le cas échéant. Cette coopération a pour but de faciliter
le diagnostic, dans l’optique de l’écriture d’une nouvelle évolution qui ne violera pas
de contrat de qualité de service.
En se basant sur ces différentes coopérations, nous mettons en évidence à quel moment
du cycle de vie il est important d’unir plusieurs expertises, évitant ainsi un cloisonnement
des acteurs de l’équipe de développement.
5.5 Conclusion du chapitre
Nous venons de présenter Blink, un processus de développement pour gérer le maintien
de la qualité de service à l’évolution. Pour atteindre cet objectif, nous avons établi
un ensemble d’acteurs, et défini leur rôle dans la réalisation d’un système logiciel. Notre
processus est constitué d’un ensemble d’étapes, pour lesquelles le ou les acteurs impliqués
sont désignés. De plus, cette répartition des rôles tout au long du processus de développe-
465.5. Conclusion du chapitre
0 - Import initial du système
0 - Import initial
du système
Description
Système
Description
Système SMILE
Architecte
Système
<> <