I
SchedaePrépublications de l’Université de Caen Basse-Normandie
MajecSTIC 2007
Fascicule n° 2 2007
Presses
univers i ta ires
de Caen
II
III
Schedae, 2007
Conférenciers invitésPhilippe Jorrand (Grenoble – Laboratoire d'Informatique de Grenoble);
Michel Lesourd (Rouen – LEDRA).
Comité de programmePrésident : Romain Robbes (Lugano – USI).
Membres docteurs : Rumen Andonov (Rennes – IRISA); Henri Basson (Calais – LIL) ; Mohamed-
Moncef Ben Khelifa (Toulon – HANDIBIO) ; Mohammed Benjelloun (Calais – LASL) ; Luc
Brun (Caen – GREYC) ; Ghais El Zein (Rennes – INSA) ; Michel Gourgand (Clermont-Ferrand –
LIMOS) ; Jérémie Guiochet (Toulouse – LAAS) ; Denis Hamad (Calais – LASL) ; Maryvonne
Holzem (Rouen – DYALANG) ; Brigitte Kerhervé (Montreal – UQAM) ; Fabien Laguillaumie
(Caen – GREYC) ; Hervé Lecrosnier (Caen – GREYC) ; Michel Lesourd (Rouen – LEDRA) ;
Jacques Madelaine (Caen – GREYC) ; René Mandiau (Valenciennes – RAIHM) ; Fabrice Maurel
(Caen – GREYC) ; Madiha Nadri (Lyon – LAGEP) ; Sami Othman (Lyon – LAGEP) ; Patrice
Quinton (Rennes – IRISA) ; Marinette Revenu (Caen – GREYC) ; Brigitte Vallée (Caen – GREYC) ;
Bruno Zanuttini (Caen – GREYC) ; Khaldoun Zreik (Paris – LIP6).
Membres doctorants : Guillaume Bagan (Caen – GREYC) ; Pierre Louis Cayrel (Limoges –
XLIM) ; Iwen Coisel (Caen – FT R&D) ; Guillaume Collet (Rennes – IRISA) ; Julien Doublet
(Caen – FT R&D) ; Joel Gardes (Grenoble – FT R&D) ; Sofien Hajji (Sfax/Tunisie – ENIS) ;
Céline Hébert (Caen – GREYC) ; Emmanuel Jeanvoire (Rennes – IRISA/EDF R&D) ; Anne
Lavallard (Caen – FT R&D) ; Jérôme Lebossé (Caen – FT R&D) ; Guillaume Lebrun
(Poitiers – FT R&D) ; Simon Legloannec (Caen – GREYC) ; Grégory Lehaut (Caen – LPC) ;
Nicolas Levasseur (Caen – GREYC) ; Alain Loisel (Rouen – LITIS) ; Tarak Maatoug (Sfax/
Tunisie – ENIS) ; Cédric Mesnage (Lugano – USI) ; Céline Roudet (Lyon – LIRIS) ; Fatiha Saïs
(Orsay – GEMO) ; Vinh Thong Ta (Caen – GREYC) ; Antonio Vera (Caen – GREYC).
Comité de relectureMembres docteurs : Arab Alicherif ; Sébastien Aupetit ; Anne-Elisabeth Baert ; Frédéric
Bouchara ; Philippe Bouché ; Moez Bouchouicha ; Stanislas Boutoille ; Didier Caucal ;
Daniel Chillet ; Denis Christophe ; Jean-Francois Couchot ; Bernard Courtois ; Philippe
Coussy ; Emmanuel Dellandréa ; Claude Duvallet ; Anne Etien ; Jean-Jacques Fuchs ; Nor-
bert Giambiasi ; Mathieu Giraud ; Alban Grastien ; Marc Guyomard ; Gaetan Hains ; Ingrid
Jacquemin ; Nicolas Jouandeau ; Khalil Kassmi ; Christophe Kolski ; Raphaël La Greca ;
Abdelkabir Lahrech ; Jacques Le Maitre ; Jean-Charles Noyer ; Philippe Preux ; Eric Ramat ;
Mathieu Roche ; Gilles Roussel ; Olivier Serre ; Marc Sevaux ; Catherine Tessier ; Chouki
Tibermacine ; Najib Tounsi ; Erwan Tranvouez ; Marie-Hélène Verrons.
Membres doctorants : Houda Anoun ; Imène Benkermi ; Jérémy Blieck ; Nicolas Bonnel ;
Larbi Boubchir ; Romain Bourqui ; Sébastien Bougleux ; Pierre Buyssens ; Christophe
Guéret ; Vincent Guilloux ; Fieny Kouadio ; Najeh Lakhoua ; Benoit Laurent ; Gurvan Le
Guernic ; Yosr Naija ; Sylvie Saget ; Oumaima Saidani ; Nicolas Signolle ; Antoine Vacavant.
Fascicule n° 2
MajecSTIC 2007Responsable : François Lecellier
IV
Comité d’organisationPrésident : François Lecellier ; Vice-président : Cyril Bazin ; Trésorier : François-Xavier Dupé ;
Logistique : Léonard Dallot et Jean-Hugues Pruvot ; Webmestres : Haz-Edine Assemlal,
Romain Brixtel et Guillaume Née ; Édition : Jean-Philippe Métivier ; Communication : Matthieu
Boussard et Hugo Pommier ; Relations Étudiants : Nadia Zérida ; Coordination scientifique :
Florent Chuffart, Lehui Ding, Simon Le Gloannec, Fenglong Liu.
Comité de pilotageValérie Pujalte, MajecSTIC’03, représentante de l’A2DL et du LSIS ; Philippe Bouché,
MajecSTIC’03, représentant de l’A2DL et du LSIS ; Arnaud Lewandowski, MajecSTIC’04,
représentant de l’A2DL et du LIL ; Alexandre Vautier, MajecSTIC’05, représentant de
l’IRISA ; Étienne Rivière, MajecSTIC’05, représentant de l’IRISA.
GREYC – Groupe de Recherche en Informatique,Image, Automatique et Instrumentation de CaenStatut : unité mixte de recherche CNRS, Université de Caen Basse-Normandie
et ENSICAEN – UMR 6072
Directeur : Régis Carin
Directeur-adjoint : Étienne Grandjean
Axes de recherches: algorithmique, sécurité, interface homme-machine, image, automatique,
capteurs, électronique, traitement automatique des langues, interactions, aide à la décision.
V
Schedae, 2007
Sommaire
Préface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IX
Session 1 : Commande
Malik SEKHER, Mondher FARZA, Mohammed M’SAAD :Commande non linéaire d’un réacteur chimique . . . . . . . . . . . . . . . . . . . . . 1
Ruth LEZAMA MORALES, Amhed KHELASSI :Commande à structure variable d’un robot anthropomorpheactionné par muscles artificiels pneumatiques . . . . . . . . . . . . . . . . . . . . . . . 11
Session 2 : Génie logiciel et SGBD
Mohamed Amine CHAÂBANE, Lotfi BOUZGUENDA, Rafik BOUAZIZ, Faiez GARGOURI :Spécification des processus workflows évolutifs versionnés . . . . . . . . . . . . . . . 21
Yliès FALCONE : Combiner test actif et surveillance pour la sécurité . . . . . . . . . . . . . . . . . . . . . . 31
Anis HAJ SAID, Laurent AMANTON, Bruno SADEG, Béchir AYEB : Contrôle de la réplication dans les SGBD temps réel distribués . . . . . . . . . . . 41
Session 3 : Modélisation
Saïd LANKRI, Alexandre ABELLARD, Pascal BERRUET, André ROSSI, Jean-Luc PHILIPPE :Vers une approche orientée services pour l’aide au handicap . . . . . . . . . . . 51
Lassaad BAATI :Approche de modélisation DEVS à structure hiérarchique et dynamique . . 61
Marie-José MHAWEJ : Analyse de la dynamique de l’infection VIH – sensibilité aux traitements . . 71
Session 4 : Communication sans fil
Oussama FRIOUI, Fayrouz HADDAD, Lakhdar ZAID, Wenceslas RAHAJANDRAIBE :État de l’art des standards/architectures pour les communications sans fil . . . . 79
Hugues KAMPÉ, Olivier HUBERT, David DENIS, Patrick MARTIN :Extraction d’inductances parasites et re-simulation pour circuits intégrés RF . . 87
Julien CHAMP, Clément SAAD :Un nouvel algorithme de routage géographiquedans les réseaux de capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Session 5 : Théorie de l’information
Maria NAYA-PLASENCIA :Cryptanalyse de Achterbahn-128/80avec une nouvelle limitation de suite chiffrante . . . . . . . . . . . . . . . . . . . . . . 105
Andrea RÖCK : Attaques par collision basées sur la perte d’entropiecausée par des fonctions aléatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Frédéric EDOUKOU :Codes correcteurs d’erreurs construits à partir des variétés algébriques . . . 125
Fascicule n° 2
VI
Session 6 : Agents et décision
Michel NABAA, Besma ZEDDINI, Pierrick TRANOUEZ :Approche décentralisée pour résoudre le problèmedu transport à la demande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Stéphane MERCIER :Vers un contrat d’autonomie entre agents et opérateurs . . . . . . . . . . . . . . . . . 141
Baptiste BLANPAIN, David MERCIER, Jean BARTHE :Calcul par réseaux de neurones de la dose déposée en radiothérapiepar un faisceau fin dans un fantôme hétérogène . . . . . . . . . . . . . . . . . . . . . . . 151
Session 7 : Algorithmique
Julien DAVID :REGAL: une bibliothèque pour la génération des automates déterministes . . 161
Rodrigo DE SOUZA :Méthode structurelle pour décider si un transducteur est k-valué . . . . . . . . 171
Session 8 : Séparation aveugle de sources
Steredenn DAUMONT, Daniel LE GUENNEC :Séparation aveugle de source pour des systèmes MIMOet un codage d’Alamouti et de Tarokh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Mohamed Salem OULD MOHAMED, Amor KEZIOU,Hassan FENNIRI, Georges DELAUNAY :
Séparation aveugle de sources cyclostationnairespar utilisation des statistiques de second ordre . . . . . . . . . . . . . . . . . . . . . . 191
Olivier FOURT, Messaoud BENIDIR :Séparation aveugle de sources : estimation du nombre de signauxet application aux signaux à phase polynomiale. . . . . . . . . . . . . . . . . . . . . . 199
Session 9 : Imagerie
Gawain JONES, Christelle GÉE, Frédéric TRUCHETET :Modélisation de scènes agronomiques pour tester et comparerles performances d’algorithmes de discrimination d’adventices . . . . . . . . . 207
Nicolas SIGNOLLE, Jérome DELETTRE, Marinette REVENU,Paulette HERLIN, Benoît PLANCOULAINE :
Segmentation multi-résolution basée sur la texture :application à la segmentation de très grandes imagesde microscopie cellulaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Yara BACHALANY, François CABESTAING, Sébastien AMBELLOUIS :Suivi de libellules par analyse de séquences d’images . . . . . . . . . . . . . . . . . 229
Articles courts
Frederik ARMKNECHT, Pierre-Louis CAYREL, Philippe GABORIT, Olivier RUATTA :Algorithme amélioré pour trouver des équations de bas degrédans le cadre des attaques algébriquessur des registres à décalage avec mémoire . . . . . . . . . . . . . . . . . . . . . . . . . 239
Soumia Mohammed DJAOUTI, Abdallah KOUDACHE, Ahmed BOUDAIEB :Champs de Markov pour la segmentation des images polarimétriques. . . . 245
Nabila RABBAH, Bahloul BENSASSI :Commande d’un système d’entraînement de bande . . . . . . . . . . . . . . . . . . 251
Achraf JABEUR TELMOUDI, Lotfi NABLI :Détection des symptômes dans les SFPMpar suivi des indicateurs de performance : approche qualité-flux. . . . . . . . . 257
Raimana TEINA, Dominique BÉRÉZIAT, Benoît STOLL :Étude de la cocoteraie des Tuamotu sur des images Ikonos . . . . . . . . . . . . 265
Mathilde ALONSO :Interaction dans un environnement d’apprentissagede la modélisation orientée objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Fenglong LIU, Mondher FARZA, Mohammed M’SAAD :Observateur à grand gain pour des systèmes non linéairesavec couplage non complètement triangulaire. . . . . . . . . . . . . . . . . . . . . . . 275
Ali MROUÉ :Recherche de parcours prototypique pour l’analyse de parcours web. . . . . 279
VII
Aslı ÜRGÜPLÜ :Réduction d’un système d’équations différentielles ordinaireset son implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Mohamad MUHIEDDINE, Édouard CANOT, Ramiro MARCH :Simulation 1-D de l’évaporation forcée de l’eaudans un sous-sol poreux saturé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Dalila BOUGHACI :Un algorithme de recherche dispersée pour le problème MAX-SAT . . . . . . 293
Omar DOUKARI :Un nouveau cadre pour la révision locale de croyances . . . . . . . . . . . . . . . . 299
Samya SAGAR, Mohamed BEN AHMED :Une proposition d’extension de GML pour un modèle génériqued’intégration de données spatio-temporelles hétérogènes . . . . . . . . . . . . . 303
Mohamed Najeh LAKHOUA :Utilisation du SIG dans une entreprise industriellepour l’analyse et la prise de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Yliès FALCONE, Mohamad JABER :Vers l’intégration automatique d’une politique de sécurité Or-BAC . . . . . . 315
VIII
IX
Schedae, 2007
Préface
La conférence MajecSTIC est née en 2003 à Marseille sous l’impulsion des doctorants
du LSIS (Laboratoire des Sciences de l’Information et des Systèmes). Les années passées la
conférence a réuni des doctorants de l’ensemble des domaines des STIC (Sciences et Techno-
logies de l’Information et de la Communication). Pour sa cinquième édition, les doctorants
du GREYC (Groupe de Recherche en Informatique, Image, Automatique et Instrumentation
de Caen) ont l’honneur d’organiser cette conférence à Caen, les 29, 30 et 31 octobre 2007.
L’objectif de MajecSTIC est d’être pluridisciplinaire en abordant des thèmes tels que la cryp-
tographie, l’algorithmique, la bio-informatique, le traitement d’images, la microélectronique et
l’automatique. Elle a également pour but d’être interdisciplinaire et fait interagir entre autres:
médecine et imagerie, urbanisme et systèmes multi-agents, agriculture et modélisation.
Ce volume contient les actes de l’édition 2007 de la manifestation. Cette édition alterne
conférences d’invités, exposés oraux, session poster et table ronde. Pas moins de cinquante-
trois articles ont été soumis cette année. Chacune de ces soumissions a été relue par un
minimum de deux relecteurs spécialistes du domaine et un relecteur non spécialiste. Le
processus de sélection des articles a ainsi conduit à retenir vingt-cinq articles longs qui
feront l’objet d’une présentation orale de quinze à vingt minutes suivie de questions. En plus
de ces exposés, quinze articles courts ont été retenus pour faire l’objet d’une présentation
sous la forme de posters. Nous espérons que chacun aura fait l’effort de rendre les résultats
de ses recherches clairs et compréhensibles par le plus grand nombre, y compris des non-spé-
cialistes du domaine. Cet effort de vulgarisation est une des clés permettant de garantir le
succès de la conférence. Chacun pouvant ainsi enrichir ses connaissances et tisser des liens
avec des doctorants issus de domaines différents.
Les membres du comité d’organisation souhaitent remercier l’ensemble des acteurs qui
ont rendu possible l’organisation de cette conférence. Nous tenons à remercier tout d’abord
les doctorants qui ont fait l’effort de soumettre des articles de qualité et les membres des
comités de programme et de relecture pour la rigueur de leur travail de sélection des arti-
cles. Nous remercions également le comité de pilotage de MajecSTIC pour nous avoir fait
confiance et nous avoir choisis pour organiser cette édition 2007. Nous témoignons toute
notre gratitude aux différents invités pour nous faire l’honneur de venir présenter leurs travaux.
Nous voulons aussi souligner l’efficacité des personnels des PUC (Presses universitaires de
Caen) qui nous ont permis d’éditer ces actes. Nous n’oublions pas l’ensemble des personnels
du GREYC pour leur soutien tout au long de cette année d’organisation. Enfin, nous remer-
cions particulièrement les différents sponsors sans qui le déroulement de MajecSTIC 2007
eût été impossible. En espérant que vous aurez autant de plaisir à participer à cette édition
de MajecSTIC que nous avons eu à l’organiser. Bonne conférence!
Le comité d’organisation de MajecSTIC 2007
Fascicule n° 2
X
Commande
session 1
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 1
Prépublication n° 9 | Fascicule n° 2
Commande non linéaired’un réacteur chimique
Malik Sekher, Mondher Farza, Mohammed M’SaadGREYC, UMR 6072 CNRS, Université de Caen Basse-Normandie, ENSICAEN
6 Bd Maréchal Juin – 14050 Caen Cedex – France
[email protected], [email protected], [email protected]
Résumé :
Ce papier présente une méthode de synthèse des asservissements de température dans les réac-
teurs chimiques exothermiques à double enveloppe fonctionnant enmode batch. Cette méthode
utilise les concepts de commande avec retour d’état et d’observation du type grand gain à partir
des mesures des températures du réacteur et du fluide caloporteur dans la double enveloppe.
La commande avec retour d’état permet de réaliser une poursuite asymptotique parfaite d’un
modèle de référence adéquat dans le cas idéal, i.e. la chaleur de réaction est bien connue et les
perturbations sont supposées être identiquement nulles. L’observation du type grand gain per-
met de réaliser une estimation relativement précise de la chaleur de réaction qui est généralement
inconnue. Un rejet asymptotique robuste des perturbations du type échelon est réalisé via une
action intégrale filtrée. Le filtrage est particulièrement utilisé pour réduire la sensibilité de l’ob-
servateur considéré vis-à-vis des bruits de mesure inéluctables. Les performances du système de
commande proposé sont illustrées dans un contexte de simulation réaliste utilisant un modèle
de réacteur chimique exothermique fonctionnant en mode batch et soumis à des perturbations
d’état de type échelon et des bruits de mesure
Mots-clés : Réacteur chimique, Asservissement de température, Commande avec retour
d’état, Observation, Grand gain, Action intégrale filtrée..
1 Introduction
Le contrôle de réacteurs chimiques a suscité l’intérêt de nombreux chercheurs tout au long
des deux dernières décennies. Un problème crucial concerne la modélisation des vitesses
de réactions qui reste ouvert malgré les nombreuses études qui y ont été consacrées. On
dispose en effet d’un ensemble de lois empiriques relativement incertaines pour permet-
tre de réaliser de bonnes performances. Pour pallier ce manque de connaissances, des lois
d’adaptation paramétrique ont été considérées aussi bien dans le contexte de commande
Malik Sekher, Mondher Farza, Mohammed M’Saad« Commande non linéaire d’un réacteur chimique »
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
2 |
adaptative (voir par exemple [1, 2]) que dans celui d’observation de systèmes non linéaires
[3, 4, 5, 6, 7, 8].
Dans ce papier, on traite le problème d’asservissement de la température dans un réac-
teur chimique à double enveloppe au sein duquel se déroule une réaction exothermique.
Pour ce faire, on utilise une méthode de commande avec retour d’état du type grand gain
incorporant une loi d’adaptation paramétrique pour l’estimation de la chaleur de réaction.
La commande avec retour d’état considérée est obtenue par dualité avec l’observation du
type grand gain [9], alors que la loi d’adaptation paramétrique est basée sur un observateur
du type grand gain [8]. On distingue trois aspects importants de synthèse du système de
commande.
A1. La loi de commande utilise uniquement les variables d’état mesurées, notamment
la température du réacteur et la température du fluide caloporteur dans la double
enveloppe.
A2. Une fonction de synthèse qui permet de retrouver naturellement toutes les lois
de commande du type grand gain disponibles, en l’occurrence la commande avec
modes glissants et les variantes qui ont été développées pour s’affranchir du phéno-
mène de réticence intrinsèque à la fonction signe.
A3. Une action intégrale filtrée est incorporée dans la synthèse de la loi de commande
pour réaliser une compensation robuste des perturbations de charge du type éche-
lon tout en réduisant la sensibilité du système de commande vis-à-vis des bruits de
mesure inéluctables.
Ce papier est organisé comme suit. La méthode de commande avec retour d’état con-
sidérée est présentée d’une manière compréhensive au second paragraphe. Une attention
particulière est réservée à la classe des systèmes non linéaires considérée et au problème de
poursuite parfaite admissible associé. Le troisième paragraphe est consacré au problème
d’asservissement de température du réacteur chimique. Des résultats de simulation sont
présentés au quatrième paragraphe. Un accent est mis sur l’amélioration des performances
du système de commande via la connaissance acquise en matière de réaction chimique via
l’observateur. Une conclusion est faite pour préciser le contexte de cette contribution et ses
perspectives.
2 Commande avec retour d’état
La commande avec retour d’état de type grand gain considérée a été obtenue en exploitant
le concept de dualité à partir de l’observation du type grand gain [9]. Elle concerne les
systèmes commandables que l’on peut décrire par la représentation d’état suivante
x = Ax+Bb(x)u+ ϕ(x) (1)
y = Cx (2)
avec
x =
0BBBBBBB@
x1
x2
...
xq
1CCCCCCCA, ϕ(x) =
0BBBBBBBBBBB@
ϕ1(x1)
ϕ2(x1, x2)
...
ϕq−1(x1, . . . , xq−1)
ϕq(x)
1CCCCCCCCCCCA(3)
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
| 3
A =
0@ 0 In−p
0 0
1A , B =
0@ 0
Ip
1A et C =
0@ Ip
0
1A (4)
où x ∈ ϑ ⊂ IRn avec xk ∈ IRp, désigne le vecteur d’état du système et est supposé être
mesurable, u ∈ U ⊂ IRm avec m ≥ p, désigne l’entrée du système et b(x) est une matrice
rectangulaire p×m.
Le problème de commande considéré consiste en une poursuite asymptotique parfaite de
la sortie du système, soit
limt→∞
(y(t)− yr(t)) = 0 (5)
où yr(t) ∈ IRp désigne la trajectoire de sortie désirée dont on suppose que les dérivées
jusqu’à l’ordre n sont disponibles. Le problème de commande considéré est bien posé
pourvu que la matrice b(x) et la fonction ϕ vérifient les hypothèses suivantes.
H1. La fonction b est lipschitzienne sur ϑ et il existe deux scalaires positifs α et β tels
que pour tout x ∈ ϑ, on a α2Ip ≤ b(x) (b(x))T ≤ β2Ip.
H2. La fonction ϕ est lipschitzienne sur ϑ.
H3. La séquence de référence est suffisamment dérivable.
Compte tenu de la classe considérée des systèmes, on peut définir un modèle de référence
admissible comme suit
˙x = Ax+Bb(x)ur + ϕ(x) (6)
où ur(t) ∈ IRm et x(t) ∈ IRn désignent respectivement la séquence d’entrée et la
trajectoire d’état du système correspondantes à la trajectoire de sortie yr(t) ∈ IRp. Ces
séquences sont données par
x1 = yr
xk = ˙xk−1 − ϕk−1(x1, . . . , xk−1) pour k ∈ [2, q]
ur = (b(x))+`˙xq − ϕq(x)
´(7)
et peuvent être déterminées d’une manière récursive à partir de la séquence de référence
et ses dérivées successives comme suit
xk = gk“yr, y
(1)r , . . . , y
(k−1)r
”avec y
(i)r =
diyr
dti(8)
pour k ∈ [1, q] où les fonctions gi sont données par
g1(yr) = yr
gk(yr, y(1)r , . . . , y
(k−1)r ) =
k−2Xj=0
∂gk−1
∂y(j)r
(yr, . . . , y(k−2)r )y
(j+1)r
−ϕk−1(g1(yr), . . . , gk−1(yr, . . . , y(k−2)r )) ∀k ∈ [2, q]
(9)
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
4 |
Le problème de poursuite parfaite en sortie (5) peut être alors étendu au problème de pour-
suite de trajectoire d’état défini par
limt→∞
(x(t)− x(t)) = 0 (10)
Et ce dernier peut être interprété comme un problème de régulation pour le système d’er-
reur obtenu à partir des équations du système (1) et du modèle de référence (6)
e = Ae+B (b (x)u (x)− b (x)ur) + ϕ (x)− ϕ (x) (11)
2.1 Commande avec retour d’étatLa commande avec retour d’état considérée est obtenue par dualité avec l’observation de
type grand gain de la classe des systèmes considérée dans [9]. La loi de commande qui en
résulte est
u(x) = (b(x))+ ( ˙xq − ϕq(x) + ν(e))
= (b(e+ x))+ ( ˙xq − ϕq(x) + ν(e))
ν(e) = −λBT ∆−1λ Kc(S∆λe) (12)
où (b(·))+ est l’inverse à gauche de b(·) (dont l’existence est garantie par l’hypothèse H1),
∆λ est une matrice diagonale par blocs définie par
∆λ = diag
„Ip,
1
λIp, . . . ,
1
λq−1Ip
«(13)
où λ > 0 est un nombre réel, S est l’unique solution définie positive de l’équation algébrique
de Lyapunov
S +AT S + SA = SBBT S (14)
et Kc : IRn 7→ IRn est une fonction bornée satisfaisant la propriété suivante
∀ξ ∈ Ω on a ξTBBTKc(ξ) ≥1
2ξTBBT ξ (15)
où Ω est un compact quelconque de IRn.
Remarque 1 Comme l’équation algébrique de Lyapunov suivante
S +ATS + SA = CTC (16)
admet une solution unique symétrique et définie positive [10], il en sera de même pourl’équation algébrique (14). Cette solution unique peut être exprimée comme suit
S = TS−1T avec T =
0BBBBB@0p . . . 0p Ip... 0p Ip 0p
0p Ip 0p
...Ip 0p . . . 0p
1CCCCCAEt compte tenu de cette relation ainsi que de l’expression S−1CT donnée dans [7], onobtient
BT S = CS−1T = [Cqq C
q−1q . . . C1
q ]
où Ckq =
q!
(q − k)!k!, k = 1, . . . , q
Cette loi de commande avec retour d’état réalise bien l’objectif de poursuite considéré (10)
comme l’indique le résultat fondamental suivant.
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
| 5
Théorème 1 Les trajectoires d’état et de sortie du système (1)-(4) soumis aux hypothèsesH1 àH3 où l’entrée u est donnée par (12)-(15) convergent globalement exponentiellementvers celles du modèle de référence (6) pour des valeurs de λ relativement grandes.
La démonstration de ce résultat est donnée dans [9].
Remarque 2 Considérons le cas où la structure de la matrice d’état du système est donnéepar
A =
0BBBBBBBB@
0 A1 0 . . . 0
0 0 A2
. . . 0...
. . .. . .
. . . 0...
. . .. . . Aq−1
0 . . . . . . 0 0
1CCCCCCCCAoù Ai ∈ IRp×p pour i ∈ [1, q−1] est une matrice carrée invertible. On peut montrer aisémentque la loi de commande ν(e) correspondante est donnée par
ν(e) = −λ
0@q−1Yi=1
Ai
1A−1
BT ∆−1λ Kc
`S∆λTe
´(17)
avec
T = diag
0@Ip, A1, A1A2, . . . ,
q−1Yi=1
Ai
1A (18)
En effet, si l’on effectue la changement de variable z = Tx, le système peut se récrirecomme suit
z = TAT−1z + TBb(x)u+ Tϕ(x) (19)
Et compte tenu de la structure de la réalisation d’état du système et de la matrice de trans-formation, on a
TAT−1 =
„0 In−p
0 0
«, TB = B
0@q−1Yi=1
Ai
1A (20)
On retrouve ainsi la structure de la classe considérée des systèmes, soient les équations (1)à (4), et en déduire naturellement l’expression de la loi de commande (17).
2.2 Incorporation d’une action intégrale filtréeOn peut introduire relativement aisément une action de filtrage suivie d’une action intégrale
de l’erreur de poursuite dans la loi de commande avec retour d’état proposée ci-dessus
modulo l’introduction de variables d’états supplémentaires comme suit
σf = ef
ef = −Γef + Γe1(21)
où e1 = x1 − x1 = y − yr, Γ = Diag
1
τ1, . . . ,
1
τp
ffest une matrice diagonale et les τi, i =
1, . . . , p sont des paramètres de synthèse associés à l’action de filtrage. Le gain du système
de commande avec retour d’état est alors déterminé à partir du modèle de synthèse suivant
ea = Aaea +Ba (b(e+ x)u(x, ea)− b(x)ur)
+ψ(x, ea)− ψ(xr, 0)
ya = σf
(22)
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
6 |
ea =
0BBB@σf
ef
e
1CCCA , Aa =
0BBB@0 Ip 0
0 0 Γ
0 0 A
1CCCA , Ba =
0BBB@0p
0p
B
1CCCA
ψ(x, ea) =
0BBB@0p
−Γef
ϕ(e+ x)
1CCCAEn effet, il apparaît clairement que la structure du modèle de synthèse (22) est similaire à
celle du système d’erreur (11). La loi de commande incorporant une action intégrale est
alors donnée par
u(x, ea) = (b(e+ x))+`xq
r − ϕq(x) + ν(ea)´
ν(ea) = −λΓ−1BTa ∆−1
aλKac(Sa∆aλTea)
(23)
où
ea =
0BBB@σf
ef
e
1CCCA (24)
∆aλ = diag
„Ip,
1
λIp, . . . ,
1
λqIp,
1
λq+1Ip
«(25)
Λ = diag (Ip, Ip,Γ, . . . ,Γ)
où Sa est l’unique solution définie positive de l’équation algébrique
Sa + SaAa + ATa Sa = SaBaB
Ta Sa (26)
et Kac : IRn+2p 7→ IRn+2p est une fonction bornée satisfaisant une inégalité similaire à (15)
sur un compact Ωa de IRn+p , en l’occurrence
ξTa BaB
Ta Kac(ξa) ≥
1
2ξTa BaB
Ta ξa ∀ ξa ∈ Ω (27)
On montre aisément que le système de commande avec retour d’état résultant est globa-
lement stable et réalise un rejet asymptotique des perturbations d’état et/ou de sortie de
type échelon.
2.3 Quelques fonctions de synthèseLe gain de commande avec retour d’état dépend d’une fonction de synthèse Kc bornée
complètement caractérisée par la propriété (15). Dans ce qui suit, on donne quelques fonc-
tions de synthèse satisfaisant cette propriété. On distingue
• Les fonctions de synthèse de type grand gain données par
Kac(ξ) = kc ξ (28)
où kc est une constante positive avec kc ≥1
2.
• Les fonctions de synthèse de type modes glissants données par
Kac(ξ) = kc sign(ξ) (29)
où kc est un scalaire positif et ’sign’ est la fonction signe usuelle. Cependant, ces
fonctions ne peuvent pas être utilisées comme telles dans la pratique car la fonction
signe induit un phénomène de réticence.
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
| 7
• Les fonctions de synthèse communément utilisées dans la pratique des méthodes à
modes glissants pour s’affranchir du phénomène de réticence, notamment
Kac(ξ) = kc tanh(koξ) (30)
où tanh signifie la fonction tangente hyperbolique et kc et ko sont deux scalaires
positifs. Il est aisé de voir que la fonction (30) satisfait bien la condition (15) pour des
valeurs relativement grandes de kc.
Il est important de remarquer que le choix de la fonction de synthèse Kac ne se limite pas
aux fonctions présentées ci-dessus. D’autres expressions valables pour Kac peuvent être
obtenues en considérant par exemple l’inverse de la fonction tangente ou en additionnant
des fonctions de type grand gain avec les fonctions de type modes glissants.
3 Commande du réacteur chimique
Considérons un réacteur chimique à double enveloppe fonctionnant en mode batch au
sein duquel se déroule une réaction exothermique. Le modèle d’un tel réacteur est obtenu
à partir des bilans d’énergie dans la double enveloppe et dans la cuve du réacteur. Si ce
dernier est supposé être parfaitement agité, on aura
8>>><>>>:TR(t)=
UA
CR(TJ (t)− TR(t))−
qr
CR
TJ (t)=UA
Cj(TR(t)−TJ (t))+
Fj
Vj(TJin(t)− TJ (t))
(31)
où TR(t), TJ (t) et TJin(t) désignent respectivement les températures dans le réacteur, dans
la double enveloppe et à l’entrée de la double enveloppe, qr(t) désigne la chaleur de réac-
tion, Fj désigne le débit du fluide caloporteur, UA, CR et CJ désignent respectivement le
coefficient de transfert global de chaleur, la chaleur spécifique du milieu réactionnel et la
chaleur spécifique du fluide caloporteur ; VR et VJ désignent respectivement les volumes
du réacteur et de la double enveloppe.
Comme il a été mentionné plus haut, on cherche à résoudre un problème d’asservissement
de la température du réacteur chimique (31), i.e. maintenir la température du réacteur dans
un voisinage d’une séquence de référence T ∗R(t) en agissant sur la température du fluide
caloporteur à l’entrée de la double enveloppe TJin(t). On utilisera pour ce faire la méthode
de commande avec retour d’état présentée au second paragraphe puisque le modèle du
réacteur 31 peut se mettre sous la forme canonique (1)-(2) (cf. remarque 2). En effet, il suffit
de choisir les variables d’état, d’entrée et de sortie comme suit
x1 = TR, x2 = TJ , u = TJin et y = TR
La connaissance requise de la chaleur de réaction et sa dérivée par rapport au temps est
obtenue par un observateur du type grand gain [11, 12, 7] donné par les équations
8>>>><>>>>:˙TR(t) =
UA
CR
“TJ (t)− TR(t)
”−qr(t)
CR− 3θ(TR − TR)
˙qr(t) = ξ(t) + 3CRθ2(TR − TR)
˙ξ(t) = CRθ
3(TR − TR)
(32)
où TR, qr et ξ désignent respectivement les estimées de TR, qr et qr et θ > 0 est le
paramètre de synthèse de l’observateur. La caractéristique de cet observateur (32) réside
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
8 |
dans le fait que dans le cas ou la dérivée par rapport au temps de la chaleur de réaction est
constante, la convergence de l’erreur d’estimation est exponentielle. Lorsque cette dérivée
n’est pas constante mais bornée, l’erreur asymptotique d’estimation peut être rendue aussi
petite que désirée par le choix de valeurs relativement grandes de θ.
La commande avec retour d’état incorporant un observateur pour l’estimation de la chaleur
de réaction et sa dérivée par rapport au temps est donnée par
8>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>:
σ = ef
ef = 1τe1 − 1
τef
Tjin =“
Fj
VJ
”−1 “Fj
VJTJin + ν(e)
”ν(e) = −
τCR
UAλ4
Kc
„σ +
4
λef +
6
τλ2e1 +
4UA
τCRλ3e2
«e1 = TR − TR
e2 = TJ − TJ
TR = T ?R
TJ =CR
UA
„˙TR +
qr(t)
CR
«+ TR
Fj
VJTJin = ˙TJ −
UA
CJ(TR − TJ ) +
Fj
VJTJ
˙TJ =CR
UA
„¨TR +
qr(t)
CR
«+ ˙TR
Remarque 3 On peut considérer la réaction comme une perturbation d’état du réacteur etne pas tenir compte de la chaleur de réaction dans la loi de commande. Pour ce faire, ilsuffit de remplacer la chaleur de réaction et sa dérivée par un zéro, i.e qr(t) = qr(t) = 0.Dans la suite, on se référera à cette loi de commande par “commande sans observateur".
4 Résultats de simulation
Les performances de l’asservissement de température proposé ont été étudiées dans un
environnement de simulation réaliste à partir du modèle d’un réacteur donné par
SIMUL
8>>>>>>>>>>>>><>>>>>>>>>>>>>:
TR(t) = UACR
`TJ (t)− TR(t)
´− 1
CRqr(t)
TJ (t) = UACJ
`TR(t)− TJ (t)
´− FJ
VJ
`TJ (t)− TJin(t)
´+ v(t)
r(t) = ko exp (− ERTR
)CA(t)
CA(t) = −r(t)
qr(t) = Vr∆Hr(t)
TRM (t) = TR(t) + η(t)
où TRM (t), η(t) et v(t) désignent respectivement la mesure de la température dans le réac-
teur, le bruit de mesure et les perturbations. Le bruit de mesure est issu d’une séquence
aléatoire uniformément distribuée de moyenne nulle et de variance 0.0316, alors que les
perturbations sont générés par une séquence identiquement nulle qui prend une valeur
constante de 0.05K.s−1 sur l’intervalle de temps [4000s 5000s].
Le profil de température de référence a été choisi comme suit : le milieu réactionnel est
d’abord chauffé de la température ambiante jusqu’à la température de réaction. Cette tem-
pérature est ensuite maintenue constante jusqu’à la fin de la réaction et enfin le réacteur
est refroidi jusqu’à la température ambiante. Un tel profil de température est réalisé à par-
tir d’une séquence de points de consignes appropriée, donnée par la figure de gauche 1,
préalablement filtrée par un système de second ordre de gain statique unitaire sans zéros
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
| 9
0 1000 2000 3000 4000 5000 6000 7000 800015
20
25
30
35
40
TIME (s)
TR* (°C)
0 1000 2000 3000 4000 5000 6000 7000 8000−16
−14
−12
−10
−8
−6
−4
−2
0
2
4
x 10−3
TEMPS (s)
EVOLUTION DE qr/C
R (K.s−1)
SIMULEE ESTIMEE
Fig. 1: Séquence de référence et estimation de la chaleur de réaction.
caractérisé par des pôles réels p1 = p2 = −10. Toutes les fonctions de synthèse présentées
plus haut ont été utilisées et ont conduit à des résultats similaires. On présente plus parti-
culièrement les résultats obtenus avec la fonction de synthèse Kac définie par l’expression
(30) qui permet de tenir compte des limitations intrinsèques sur l’entrée. Les paramètres de
synthèse ont été spécifiés comme suit
kc = 4, ko = 0.1, λ = 0.05 et τ = 100
La figure 2montre le comportement d’entrée-sortie du réacteur, i.e. la température du fluide
caloporteur à l’entrée de la double enveloppe et la température du réacteur. La figure de
droite 1 montre l’évolution de la chaleur de réaction, issue de la simulation du modèle, et
de son estimée, délivrée par l’observateur. Outre les bonnes performances réalisées par
l’asservissement conçu, on distingue deux aspects remarquables. Le premier concerne la
robustesse en performances puisque l’asservissement réalise un rejet asymptotique des
perturbations du type échelon pourvu qu’il soit asymptotiquement stable. Le second est
relatif à la robustesse par rapport à la connaissance de la chaleur de réaction puisque les
performances du système de commande sans prise en compte de la chaleur de réaction
sont bonnes.
0 1000 2000 3000 4000 5000 6000 7000 800015
20
25
30
35
40
TEMPS (s)
TR
(°C)
0 1000 2000 3000 4000 5000 6000 7000 800010
15
20
25
30
35
40
45
TEMPS (s)
TJin
(°C)
Fig. 2: Performances d’entré-sortie et entrée de commande.
5 Conclusion
La motivation de ce papier a été de proposer une méthodologie de commande non linéaire
d’un réacteur chimique exothermique à double enveloppe fonctionnant en mode batch. La
pierre angulaire de cette méthodologie consiste en une loi de commande avec retour d’état
du type grand gain et d’un observateur grand gain qui constitue une base d’apprentissage
permettant d’acquérir en temps réel les connaissances requises sur la chaleur de réaction. La
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
10 |
synthèse de la loi de commande est effectuée à partir d’un modèle résultant d’une cascade
composée d’une action intégrale filtrée et du modèle du réacteur. L’action intégrale filtrée
réalise un rejet asymptotique robuste des perturbations du type échelon tout en garantis-
sant une insensibilité vis-à-vis des bruits demesure inéluctables. La méthodologie proposée
à été évaluée dans un contexte de simulation réaliste conçu à partir d’un modèle de réac-
teur chimique exothermique à double enveloppe. les résultats obtenus sont relativement
prometteurs pour envisager une validation expérimentale sur la plate-forme expérimentale
disponible au laboratoire.
Références[1] D. Dochain. Design of adaptive linearizing controllers for non-isothermal reactors. International
Journal of Control, 59 :689–710, 1994.
[2] B. Guo, A. Jiang, X. Hua, and A. Jutan. Nolinear adaptive control for multivariable chemical pro-
cesses. Chemical Engineering Science, 56 :6781–6791, 2001.
[3] J.P. Gauthier and G. Bornard. Observability for any u(t) of a class of nonlinear systems. IEEE Trans.
Auto. Control, AC-26 :922–926, 1981.
[4] G. Bornard and H. Hammouri. A high gain observer for a class of uniformly observable systems.
In Proc. 30th IEEE Conference on Decision and Control, volume 122, Brighton, England, 1991.
[5] J.P. Gauthier and I. Kupka. Deterministic Observation Theory and Applications. Cambridge Uni-
versity Press, 2001.
[6] H. Hammouri and M. Farza. Nonlinear observers for locally uniformly observable systems. ESAIM
J. on Control, Optimisation and Calculus of Variations, 9 :353–370, 2003.
[7] M. Farza, M. M’Saad, and L. Rossignol. Observer design for a class of MIMO nonlinear systems.
Automatica, 40 :135–143, 2004.
[8] M. Farza, M. M’Saad, and M. Sekher. A set of observers for a class of nonlinear systems. In Proc.
of the IFAC World Congress, Prague, Czech Republic, 2005.
[9] S. Hajji, A. Chaari, M. M’Saad, and M. Farza. Output feedback controller for a class of nonlinear
systems. In Proc. of the European Control Conference, Kos, Greece, 2007.
[10] J.P. Gauthier, H. Hammouri, and S. Othman. A simple observer for nonlinear systems - application
to bioreactors. IEEE Trans. Auto. Control, AC-37 :875–880, 1992.
[11] M. Farza, K. Busawon, and H. Hammouri. Simple nonlinear observers for on-line estimation of
kinetic rates in bioreactors. Automatica, 34(3) :301–318, 1998.
[12] M. Farza, M. Nadri, and H. Hammouri. Nonlinear observation of specific growth rate in aerobic
fermentation processes. Bioprocess Engineering, 23 :359–366, 2000.
Schedae, 2007, prépublication n° 9, (fascicule n° 2, p. 1-10).
| 11
Prépublication n° 10 | Fascicule n° 2
Commande à structure variable d’un robotanthropomorphe actionné par musclesartificiels pneumatiques
Ruth Lezama Morales, Amhed Khelassi, Bertrand Tondu, Claude BaronLATTIS, Laboratoire Toulousain de Technologie et d’Ingénierie des Systèmes
INSA, Institut National de Sciences Appliqués de Toulouse
[email protected], [email protected], [email protected],
Résumé :
Les robots de service sont des applications utiles, non-répétitives, destinées au service de
l’homme. Des robots actionnés par muscles artificiels pneumatiques dits deMcKibben sont adap-
tés aux applications de la robotique de service car ils fournissent au robot une souplesse artic-
ulaire et une compliance naturelle comparable à celle du corps humain. Malgré ces avantages,
l’actionneur à muscles artificiels est un système dynamique complexe qui présente une forte
non-linéarité, ce qui le rend difficile à commander. La structure variable à régimes glissants est
une commande robuste vis-à-vis de l’incertitude sur le modèle, des perturbations et des varia-
tions de charge manipulée. Dans les applications pratiques, le principal inconvénient associé à
la commande est l’apparition du phénomène de broutement. Dans notre cas, des résultats en
simulation ont démontré que la cause des oscillations n’est pas dû aux limitations physiques de
l’actionneur mais à la présence d’un retard pur. La minimisation de l’amplitude des oscillations
est donc, obtenue par l’introduction du prédicteur de Smith. L’objectif de notre travail est l’étude
et implantation d’une loi de commande à structure variable sur l’axe de coude d’un bras robo-
tique anthropomorphe à 7 degrés de liberté actionné par muscles artificiels pneumatiques. Des
résultats expérimentaux sont discutés en mode de régulation et en suivi de trajectoire.
Mots-clés : robots de service, actionneur à muscles artificiels de McKibben, commande
à structure variable, prédicteur de Smith.
1 Introduction
Un robot de service se caractérise par sa facilité d’adaptation à l’environnement, son apti-
tude à exécuter des tâches non-répétitives et sa capacité d’interaction et coopération avec
Ruth Lezama Morales, Amhed Khelassi, Bertrand Tondu, Claude Baron« Commande à structure variable d’un robot anthropomorphe – actionné par muscles artificiels pneumatiques »
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
12 |
les êtres humains [1]. Dans ce domaine, nos travaux portent sur un bras robotique anthro-
pomorphe qui conserve des propriétés inhérentes au bras humain comme sa légèreté, sa
flexibilité, sa souplesse articulaire mais surtout sa capacité naturelle de contact. Des robots
actionnés par muscles artificiels pneumatiques dit de McKibben sont appropriés dans des
applications de la robotique de service car ils fournissent au robot une compliance naturelle
comparable à celle du corps humain. Grâce à la compliance le contacte souple du robot
est assuré [2].
Inventé dans les années 1950 par le physicien Joseph L. McKibben, le muscle artificiel
était destiné à la motorisation d’orthèses. Le muscle artificiel de McKibben est composée
d’un tube interne en caoutchouc, recouvert d’une enveloppe tressée. Les premières ap-
plications du muscle artificiel de McKibben pour la motorisation des robots ont débuté
dans les années 1980 quand la firme Bridgestone redésigna le muscle artificiel sous le nom
de Rubbertuator. Parmi les applications actuelles du muscle artificiel de McKibben nous
citons : l’exosquelette à sept degrés de liberté [3, 4], le robot humanoïde ISAC [5], le robot
bipède LUCY [6] et le développement des robots insectes [7].
L’actionneur à muscles artificiels de McKibben est un système dynamique complexe qui
introduit des fortes non linéarités inhérentes aux systèmes pneumatiques, notamment l’hys-
térésis et les frottements secs. Dans ce cadre, la réalisation d’une commande de position
assez précise devient compliquée. Différentes approches de commande de position de
l’actionneur à muscles artificiels pneumatiques ont été proposés, en particulier : le PID et
ses variantes [3], la commande adaptive [4], la commande par réseaux de neurones [8], la
commande H∞ [9] et la commande à structure variable [10, 11, 12, 13].
La commande à structure variable par régimes glissants est un schéma de commande ro-
buste vis-à-vis des incertitudes sur le modèle, des perturbations et des variations de charge
manipulée. De plus, elle assure un comportement indépendant de la nature linéaire ou
non linéaire du procédé [13]. Toutes ces caractéristiques font de la commande à structure
variable souhaitable pour commander les actionneurs de la plate-forme robotique de notre
étude. En outre, la recherche précédente dans notre laboratoire a démontré l’efficacité en
appliquant ce type de commande par exemple, les travaux faits sur un prototype de bras
robotique à trois degrés de liberté [10] et le robot SCARA à deux axes [11].
Malgré ces avantages, l’implantation pratique d’un contrôleur à structure variable souf-
fre d’un handicap nommé broutement. Le phénomène de broutement apparaît car la
structure variable suppose que la commande peut être commutée infiniment rapidement
[14]. En pratique, ceci n’est pas possible principalement à cause de la dynamique non
modélisée du système, c’est-à-dire, la non prise en compte des retards et les limitations
physiques des actionneurs, entre autres [15, 16]. Dans notre cas, des résultats en simu-
lation démontraient que la cause des oscillations n’était pas dû aux limitations physiques
de l’actionneur mais à la présence d’un retard pur. Afin de réduire l’effet du broutement,
nous proposons l’utilisation du prédicteur de Smith. Le prédicteur de Smith est un régu-
lateur à compensation de temps mort, proposé par O.J.M. Smith en 1959. La caractéris-
tique, la plus attractive de cette approche, est sa capacité à éliminer le retard de la boucle
d’asservissement. Un inconvénient du prédicteur de Smith est sa dépendance au modèle
identifié. Cependant, nous démontrons que l’utilisation de cette technique de compensa-
tion en combinaison avec une commande robuste comme la structure variable peut donner
des résultats prometteurs.
Notre travail est illustré par des expérimentations pratiques effectuées sur un bras robo-
tique anthropomorphe à sept degrés de liberté actionné parmuscles artificiels deMcKibben.
Les performances de la commande sont montrées en les comparant avec un PID clas-
sique. La robustesse de la commande est prouvée en ajoutant différents poids à l’organe
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
| 13
terminal du robot. L’organisation de ce document est la suivante : la première partie contient
une description de la plate-forme robotique de notre étude. Nous présentons le principe
de fonctionnement de l’actionneur à muscles artificiels de McKibben et l’identification des
paramètres du modèle présumé. La deuxième partie est consacrée à la loi commande à
structure variable implantée sur l’axe de coude du bras robotique. Dans cette partie, nous
discutons notre proposition d’utilisation du prédicteur de Smith dans la boucle d’asservisse-
ment. Finalement, nous concluons avec les résultats expérimentaux et leur discussion.
2 Bras robotique anthropomorphe
Notre étude se sert d’un bras robotique anthropomorphe actionné par muscles artificiels
pneumatiques dit de McKibben (Figure 1(a)). Il s’agit d’une chaîne cinématique ouverte,
redondante, avec des articulations de type rotoïde. Chaque axe est motorisé par un action-
neur à deux muscles artificiels de McKibben placés en antagonisme. La structure cinéma-
tique de ce bras robotique peut être interprétée comme un modèle simplifié de la structure
cinématique d’un bras humain [17]. La conception et la réalisation mécanique de cette
plate-forme robotique sont le fruit de la collaboration avec le Laboratoire de Génie Mé-
canique de l’INSA de Toulouse. Des détails sur ce robot peuvent être trouvés dans [17].
2.1 Actionneur à muscles artificiels de McKibbenLa motorisation du bras robotique anthropomorphe de notre étude est effectuée par des
paires de muscles artificiels de McKibben placés en antagonisme. Chaque paire des mus-
cles est reliée par une chaîne à une roue dentée qui assure l’entraînement en permettant la
rotation de l’axe dans les deux sens (Figure 1(b)).
(a) Plate-forme Robotique (b) Schéma de Principe de l’Actionneur
Fig. 1: Bras robotique anthropomorphe actionné par muscles artificiels de McKibben.
2.1.1 Principe de fonctionnement de l’actionneur
Le principe de fonctionnement de l’actionneur à muscles artificiels de McKibben est le suiv-
ant. Au début, les deux muscles qui composent l’actionneur sont gonflés à une même
pression initiale P0. À partir de cet état équilibre, la commande de l’actionneur augmente
la pression ∆P dans un des muscles tout en diminuant la même quantité de pression ∆P
dans l’autre muscle. Par conséquent, un muscle se contracte pendant que l’autre muscle
s’allonge ce qui produit le mouvement de rotation (Figure1(b)). Cette relation est exprimée
comme suit :
muscle 1 : P1 = P0 + ∆P
muscle 2 : P2 = P0 −∆P (1)
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
14 |
2.2 Modélisation et identification du systèmeL’implantation d’un algorithme à structure variable sur l’axe de coude du bras robotique
nécessite d’associer un modèle qui relie les entrées et les sorties du système. Une fois que
le modèle a été choisi, l’identification des paramètres peut être effectuée.
2.2.1 Modèle présumé
La modélisation est accomplie en faisant des observations sur une série de tests en boucle
ouverte. En accord avec les réponses obtenues, la dynamique de l’articulation peut être
approximée par un modèle de second ordre sans dynamique zéro avec un retard pur :
G(s) =θ
U=
b
s2 + a1s + a2e−τs (2)
avec
U : entrée de pression en bars
θ : sortie de position en degrés
b, a1, a2 les paramètres à identifier
2.2.2 Identification des paramètres
Afin d’identifier les paramètres du modèle présumé (2), nous employons l’algorithme des
moindres carrés hors-ligne. Bien que la simplicité du modèle présumé ne décrive pas la
complexité du système réel, le modèle choisi sera suffisant compte tenu de la robustesse
de la commande à structure variable vis-à-vis des erreurs de modélisation.
3 Commande à structure variable
Les systèmes à structure variable se composent d’un ensemble de fonctions continues avec
une commutation logique appropriée [18]. Les régimes glissants sont un type de système à
structure variable dans lesquels une fonction de surface est délibérément introduite de telle
manière que les trajectoires d’état soient orientées vers elle [?]. Cette fonction de surface
est appelée par abus de langage surface de glissement. L’idée est de faire en sorte que
le comportement dynamique du système corresponde à celui du système réduit équivalent
(analogue à la surface de glissement quand la condition de glissement est vérifiée), de telle
manière que le système devienne insensible aux erreurs de modélisation et autres pertur-
bations [13]. En général, la commande à structure variable classique à régime glissant est
composée de deux termes : une commande équivalente et une composante discontinue.
Dans les sections suivantes, nous décrivons la loi de commande à structure variable
implantée sur l’axe de coude du bras robotique.
3.1 Surface de glissementDans notre cas, la surface de glissement est une droite définie par la fonction de surface (S)
suivante :
S(t) = Ce(t) + e(t) (3)
avec
e(t) = θ(t)− θd(t) et e(t) = θ(t)− θd(t)
θd : position desirée de l’articulation
Quand le régime glissant est parfait, le point de fonctionnement du système évolue sur
la surface de glissement. Par conséquent, la dynamique du système sera définie par S = 0
au lieu d’être définie par la transmittance entre l’entrée et la sortie [16, 13].
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
| 15
3.2 Commande équivalenteLa commande équivalente est une fonction continue qui satisfait S = 0. Nous adoptons la
proposition de [13] et nous considérons que la commande équivalente est composée de
deux actions : un terme d’anticipation et une composante de glissement.
UEQ = Uanticipation + Uglissement (4)
Puisque l’articulation du bras robotique à commander est considérée comme un système de
second ordre sans dynamique zéro (2), la commande équivalente est donnée par l’équation :
Uanticipation = b−1[θd + a1θd + a2θd]
Uglissement = b−1[(a2− C)e + a1e] (5)
b, a1, a2, C paramètres constants
La figure 2 montre le schéma de principe de la commande à structure variable proposé
par [13].
Fig. 2: Schéma de principe de la commande à structure variable.
3.3 Composante discontinueLa composante discontinue est un terme de commutation de haute fréquence. En effet,
pour amener et maintenir le point de fonctionnement sur la surface de glissement ou dans
son voisinage, la fonction S(t) doit vérifier la condition globale de glissement théorique :
SS < 0. Une fois que le point de fonctionnement atteint la surface, il oscille autour d’elle. En
théorie, la commutation de la commande doit être à une fréquence infinie et une amplitude
nulle. La composante discontinue s’écrit :
U = −Ksign(S) (6)
K : paramètre constant strictement positif
Finalement, la loi commande à structure variable prend la forme suivante :
U = b−1[θ + a1θ + a2θ + (a2− C)e + a1e]−Ksign(S) (7)
où (7) n’est pas exactement connu sinon l’estimé par : b∗, a1∗, a2∗.
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
16 |
3.4 BroutementDans les applications pratiques, la commutation de la commande peut produire des oscil-
lations indésirables connues sous le nom de broutement. Le phénomène du broutement
apparaît car la commutation de la commande ne peut pas se faire à une fréquence infinie
à cause de non prise en compte des retards et des limitations physiques de l’actionneur
[15, 16].
Dans notre cas, des résultats en simulation démontraient que les oscillations n’était
pas dûes aux limitations physiques de l’actionneur mais à la présence d’un retard pur. La
figure 3(a) correspond à la simulation de la loi commande à structure variable où est clair
l’effet de broutement en état d’équilibre. Notre proposition pour minimiser l’amplitude
des oscillations est l’introduction d’un schéma de compensation de temps mort nommé
prédicteur de Smith (3(b)).
(a) Simulation de la commande à struc-ture variable sans le prédicteur de Smith(consigne de position 30)
(b) Simulation de la commande à struc-ture variable avec prédicteur de Smith(consigne de position 30)
Fig. 3: Phénomène de broutement.
La figure 4 présente le schéma de principe de la commande à structure variable avec le
prédicteur de Smith. Le rôle du prédicteur dans la boucle d’asservissement est de réduire
l’effet du retard et ainsi éviter l’apparition des oscillations.
Fig. 4: Schéma de principe de la commande à structure variable avec le prédicteur de Smith.
Bien que la performance du prédicteur de Smith dépende du modèle identifié, nous
démontrons que l’utilisation de cette technique de compensation de temps mort en com-
binaison avec une commande robuste comme la structure variable peut donner des résultats
prometteurs.
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
| 17
4 Résultats expérimentaux
Dans cette partie, nous présentons les résultats expérimentaux de l’implantation d’une com-
mande à structure variable à régimes glissants avec le prédicteur de Smith sur l’axe de coude
d’un bras robotique anthropomorphe actionné par muscles artificiels de McKibben. L’algo-
rithme de commande a été mis en ouvre en utilisant C++ sous le système d’exploitation
temps réel VxWorks dans l’environnement Tornado. Les simulations sont effectuées avec
Matlab et Simulink.
4.1 Résultats expérimentaux en régulationLa figure 5 correspond à la réponse expérimentale enmode de régulation sur l’axe de coude
du bras robotique pour des consignes de position de 30, 60 et 90. La performance de
la commande implantée peut être résumée par :
– la stabilité en régime permanent ;
– la rapidité de la réponse (≈ 1.2s) ;
– une erreur statique relativement petite (≈ 0.7).
La robustesse de cette approche est démontrée en ajoutant différents poids à l’organe
terminal du robot. La figure 4.1 présente les mêmes réponses en mode de régulation en
appliquant une charge de 0.5kg.
(a) consigne de position 30 (b) consigne de position 60 (c) consigne de position 90
(d) commande de pressionU30
(e) commande de pressionU60
(f) commande de pressionU90
Fig. 5: Réponses en mode de régulation pour l’axe de coude du robot.
(a) consigne de position 30 (b) consigne de position 60 (c) consigne de position 90
Fig. 6: Réponses en mode de régulation pour l’axe de coude du robot avec une charge de 0.5kg.
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
18 |
4.2 Résultats expérimentaux en suivi de trajectoireLes résultats expérimentaux en suivi d’une trajectoire sinusoïde sur l’axe de coude du bras
robotique sont présentés dans les figures (7(a), 7(b)) en comparaison avec un correcteur
PID classique. Pendant que l’erreur statique de la commande à structure variable reste
relativement petite (≈ 0.7), l’erreur statique du correcteur PID augmente (plus de 10.0). La
robustesse de la commande à structure variable est démontrée également en ajoutant une
charge de 0.5kg (figures 7(c),7(d)).
(a) PID (b) Structure Variable
(c) PID avec charge (d) Structure Variable aveccharge
Fig. 7: Réponses en suivi d’une trajectoire sinusoïde pour l’axe de coude du robot.
5 Conclusion
La commande à structure variable à régimes glissants implantée sur l’axe de coude d’un
bras robotique anthropomorphe actionné par muscles artificiels de McKibben a donné des
résultats prometteurs. Les oscillations produites par la présence d’un retard pur ont été
réduites en utilisant le prédicteur de Smith. La robustesse de la commande à structure
variable à été démontrée vis-à-vis des erreurs de modélisation, des perturbations et des
variations de charge manipulée.
Les résultats obtenus nous permettent d’établir des hypothèses sur la généralisation
de la commande à structure variable dans les autres axes du robot. Actuellement, nous
travaillons sur l’implantation de cette loi commande sur l’axe de l’épaule du bras robo-
tique. L’idée est ramener le problème d’un robot à sept degrés de liberté au problème
d’un robot simplifié à deux axes. Avec ces deux articulations, nous arriverons à faire des
trajectoires droites dans un plan de l’espace cartésien en utilisant un générateur de trajec-
toires et un algorithme de cinématique. Celui-ci nous permettra d’étudier la commande à
structure variable multivariable et d’analyser la problématique du couplage entre les deux
articulations.
6 Remerciements
Nous remercions M. Serge Ippolito, Responsable de la Plate-forme Robotique du LATTIS,
pour son aide practique et théorique au métier des muscles artificiels. Nous remercions
également le «Conseil National de Science et Technologie du Mexique (CONACYT) » pour
la bourse de R. Lezama Morales.
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
| 19
Références[1] S. Asami. Robots in Japan : Present and Future. IEEE Robotics & Automation Magazine, 1994.
[2] F Daerden. Pneumatic Artificial Muscles : Actuators for Robotics and Automatation. European
Journal of Mechanical and Environmental Engineering, 2002.
[3] D.G. Caldwell, G.A Medrano-Cerda, and M.J. Goodwin. Braided Pneumatic Actuator Control of
a Multi-jointed Manipulator. Systems, Man and Cybernetics, 1993.
[4] D.G. Caldwell, G.A Medrano-Cerda, and C.J. Bowler. Adaptive Position Control of Antagonistic
Pneumatic Muscle Actuators. Proceedings of the Intelliget Robots and Systems, 1995.
[5] WilkesnD.M., W.A. Alford, T.E Rogers, K. Kawamura, and R.A Peters. Isac : Foundations in Human-
Humanoid Interaction. IEEE Intelligent Systems, 2000.
[6] B. Verrelst, R. Van Ham, B. Vanderborght, F. Daerden, D. Lefeber, and Vermeulen.J. The Pneumatic
Biped âŁLucy⣞ Actuated with Pleated Pneumatic Artificial Muscles. Journal Autonomous Robots,
2005.
[7] R.D. Quinn, G.M. Nelson, R.J. Bachmann, and R.E. Ritzmann. Toward Mission Capable Legged
Robots through Biological Inspiration. Autonomous Robots, 2001.
[8] T. Hesselroth, K. Sarkar, P.P. van der Smagt, and K. Schulten. Neural Network Control of a Pneumatic
Robot Arm. IEEE Transactions on Systems, Man and Cybernetics, 1994.
[9] K. Osuka, T. Kimura, and T. Ono. H∞ Control of a certain Nonlinear Actuator. IEEE International
Conference on Decision and Control, 1990.
[10] M. Hamerlain. An Anthropomorphic Robot Arm Driven by Artificial Muscles using a Variable Struc-
ture control. Proceedings of the International Conference on Intelligent Robots and Systems -
IROS, 1995.
[11] V. Boitier. Implementation and Control of a Two degrees of freedom S.C.A.R.A. Robot Actuated
by Mckibben Artificial Pneumatic Muscles. PhD thesis, 1996.
[12] B. Tondu and P. Lopez. Modelling and Control of McKibben Artificial Muscle Robot Actuators.
IEEE Control Systems Magazine, 2000.
[13] P. Lopez and A.S. Nouri. Théorie élémentaire et Pratique de la Commande par les Régimes Glis-
sants. Springer, 2006.
[14] J.Y. Hung, W. Gao, and J.C. Hung. Variable Structure Control : A Survey. IEEE Transactions on
Industrial Electronics, 1993.
[15] V. Utkin. Sliding Mode Control Design Principles and Applications to Electric Drives. IEEE Trans-
actions on Industrial Electronics, 1993.
[16] J.E Slotine and L Weiping. Applied Nonlinear Control. Prentice-Hall, 1997.
[17] B. Tondu, S. Ippolito, J. Guiochet, and A. Daidie. A Seven-degrees-of-freedom Robot-arm Driven
by Pneumatic Artificial Muscles for Humanoid Robots. International Journal of Robotics Research,
2005.
[18] K. Utkin. Variable Structure Systems with Sliding Modes. IEEE Transactions on Automatic Control,
1977.
Schedae, 2007, prépublication n° 10, (fascicule n° 2, p. 11-19).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
Génie logiciel & SGBD
session 2
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 21
Prépublication n° 11 | Fascicule n° 2
Spécification des processusworkflows évolutifs versionnés
Mohamed Amine Chaâbane, Lotfi Bouzguenda, Rafik Bouaziz, Faiez GargouriMIRACL-ISIMS, Route Mharza km 1,5, CP 3018, Sfax, Tunisie
[email protected], [email protected], [email protected],
Résumé :
Les processus d’entreprises évoluent suite à toute modification des actions / tâches (modèle de
processus), des données (modèle informationnel) et/ou des acteurs (modèle organisationnel).
Nous les appelons Processus Workflows Évolutifs (PWE). Cet article propose de spécifier des PWE
à l’aide des Réseaux de Petri à Objets (RPO), d’une part, et du versionnement, tel que utilisé
dans le domaine des Bases de Données Temporelles (BDT), d’autre part. Si les RPO sont bien
appropriés à la spécification des trois modèles (organisationnel, informationnel et processus) des
processus workflows stables, ils ne suffisent pas pour décrire les processus qui évoluent dans le
temps. Pour pallier cette limite, nous proposons une nouvelle approche basée sur une utilisation
conjointe des RPO et du versionnement pour assurer une spécification de bonne qualité des PWE
et la tenue de leurs différentes versions.
Mots-clés : processus workflows évolutifs, réseaux de petri à objets, versionnement,
versions.
1 Introduction
L’objectif du workflow est d’automatiser les processus des organisations [1]. Un processus
(e.g. suivi de dossier médical) est un enchaînement coordonné de tâches, suivant un certain
schéma, aboutissant à un résultat bien déterminé. Durant l’exécution d’un processus, dif-
férents formulaires, documents et informations sont partagés ou sont transmis d’un poste
de travail à un autre pour être traités.
Trois modèles sont généralement utilisés pour décrire la structure du processus [2], les
ressources et les informations nécessaires à sa mise en œuvre. Le Modèle Organisation-
nel (MO) structure les ressources en rôles et leur attribue des autorisations pour réaliser
les tâches composant le processus. Le Modèle Informationnel (MI) décrit la structure des
formulaires, des documents et des données qui sont utilisés et produits par le processus.
Mohamed Amine Chaâbane, Lotfi Bouzguenda, Rafik Bouaziz, Faiez Gargouri« Spécification des processus workflows évolutifs versionnés »
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
22 |
Le Modèle de Processus (MP) définit les tâches composantes, leur coordination, les infor-
mations et les ressources impliquées dans chaque tâche. C’est le MP qui constitue le com-
posant pivot d’un workflow, assurant le lien entre les différentes ressources impliquées et
les différentes informations utilisées.
Nous avons montré dans [3], à travers une étude comparative de quelques langages
existants, que les Réseaux de Petri à Objets (RPO) [4] sont bien adaptés pour spécifier des
processus workflows stables, bien identifiés et prévisibles. Cependant, les RPO n’intègrent
pas la dimension temporelle ; il est donc impossible d’intégrer l’évolution des processus
workflows qui subissent des modifications fréquentes de leurs actions / tâches (modèle de
processus), de leurs données (modèle informationnel) et/ou de leurs acteurs (modèle organ-
isationnel). Pour pallier cette limite, nous proposons dans cet article d’utiliser : (i) les RPO, en
tant que langage formel, pour spécifier les processus workflows, à travers leurs trois mod-
èles (informationnel, organisationnel et processus). (ii) le versionnement, tel que défini dans
le domaine des Bases de Données Temporelles (BDT) [5], pour prendre en considération
l’évolution de ces processus dans le temps.
La suite de cet article est organisée comme suit : La section 2 présente les motivations
pour l’utilisation des RPO en tant que langage de spécification des processus workflows
stables et bien définis, ensuite elle le présente brièvement, et enfin elle expose leur limite
majeure ; la non possibilité de prendre en compte l’évolution des processus dans le temps.
La section 3 introduit le versionnement, en tant que technique d’historisation de l’infor-
mation temporelle. La section 4 décrit les principes de notre approche et présente notre
contribution, consistant à utiliser conjointement et d’une manière cohérente les RPO et le
versionnement. La section 5 situe le travail réalisé par rapport aux travaux existants dans la
littérature et la section 6 dresse un bilan de l’article et donne la perspective de nos futurs
travaux.
2 RPO : Un langage approprié pour la spécification des proces-sus workflows
2.1 Motivations pour l’utilisation des RPOTout d’abord, plusieurs raisons justifient l’utilisation des Réseaux de Petri (RP) dans le con-
texte du workflow [6] :
– un pouvoir d’expression approprié puisque les RP permettent de décrire clairement
les différentes tâches composant un processus workflow et leur coordination ;
– une représentation graphique qui aide au processus de spécification du workflow ;
– une sémantique opérationnelle qui facilite le passage des spécifications à l’exécu-
tion ;
– des fondements théoriques qui permettent l’analyse, la vérification de propriétés
comportementales et l’évaluation de performances.
Cependant, les RP se concentrent sur le processus lui-même et n’accordent que peu d’at-
tention aux autres dimensions du workflow, à savoir le modèle organisationnel et le modèle
informationnel. Comme indiqué précédemment, les RPO étendent les RP en intégrant des
structures de haut niveau (en l’occurrence des objets) et permettent de modéliser les ac-
teurs du modèle organisationnel et les actions qu’ils réalisent ainsi que les informations et
données du modèle informationnel.
2.2 Une rapide présentation de RPOLes RPO proposent un formalisme qui combine la technologie des Réseaux de Petri [7]
et l’approche Orientée Objet (OO). Les RP sont utilisés pour décrire la dynamique d’un
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
| 23
système, tandis que l’approche objet permet de modéliser les acteurs et les informations
du système. Un modèle RPO est constitué, comme tout modèle RP, de places, d’arcs et de
transitions. Dans les RPO, les jetons du réseau font référence à des objets. Plus précisément,
les caractéristiques propres à un RPO sont les suivantes :
– Les places sont typées. Le type d’une place prend le type d’un objet. Un jeton dans
une place a une valeur conforme au type de la place et la valeur d’une place est
l’ensemble des jetons qu’elle contient ;
– Les arcs sont étiquetés. Chaque arc est étiqueté par une variable du type de la place
auquel l’arc est relié. Les variables jouent le rôle de paramètres formels pour une
transition et définissent les jetons qui circulent des places d’entrée vers les places de
sortie de la transition ;
– une sémantique opérationnelle qui facilite le passage des spécifications à l’exécu-
tion ;
– Chaque transition est décrite par un triplet (pré-condition, action, règle d’émission).
La pré-condition est une expression logique faisant intervenir les variables d’entrée
(c’est-à-dire les variables des arcs d’entrée allant d’une place d’entrée à la transi-
tion). L’action décrit le code à exécuter pour franchir la transition. Cette action n’est
exécutée que si la pré-condition est vérifiée. Les règles d’émission sont des expres-
sions logiques qui traduisent les résultats possibles après l’exécution de l’action. Plus
précisément, ces expressions logiques déterminent les arcs et les places de sortie.
2.3 Limite majeure des RPO pour les PWEDans ce qui suit, nous présentons la limite majeure des RPO pour les PWE à travers un exem-
ple illustratif. Il s’agit du PWE d’inscription des nouveaux étudiants en troisième cycle [8]. Ce
processus est constitué essentiellement de deux tâches. La première tâche, « Enregistrement
Demande », consiste à enregistrer les demandes d’inscription par la secrétaire au début de
mois de septembre de chaque année. La demande sera rejetée si elle est incomplète. La
deuxième tâche, « Entrevue », consiste à passer une entrevue entre l’étudiant concerné et
un examinateur. Suite à l’entrevue une autorisation d’inscription est accordée à l’étudiant
si l’examinateur donne un avis favorable ; autrement il y a rejet d’inscription. La figure 1
modélise ce processus d’inscription à l’aide des RPO.
Cependant, l’université a constaté que les entrevues constituent une tâche difficile pour
les demandes arrivant en retard ; souvent l’université doit faire appel, pour réaliser les entre-
vues à des gens ayant de l’expérience, qualifiés (professeurs, chefs de laboratoires, etc.) et
doit tenir compte de leur disponibilité. Elle a décidée alors d’adopter un nouveau processus
pour les demandes d’inscription reçues après le 30 septembre. Chaque demande doit être
accompagnée d’un CV détaillé de l’étudiant, qui sera examiné par l’examinateur de la for-
mation doctorale. Seuls les étudiants retenus après une présélection des CV peuvent passer
l’entrevue. Ce nouveau processus modélisé en figure 2, utilise le processus initial (cf. figure
1) mais lui ajoute la nouvelle transition (modélisant une tâche) « Examen CV » et la nouvelle
classe d’objets CV. Les éléments ajoutés sont représentés en gris. Cependant, il est difficile
de décrire à l’aide des RPO les deux processus dans un modèle unique pour tenir compte
de l’évolution subie dans le temps. En conclusion, les RPO dans leur état actuel sont peu
adaptés pour modéliser des PWE. Cet article montre la nécessité de maintenir des versions
de processus à utilisation alternative. On peut aussi avoir besoin de maintenir des versions
historiques pour rester capable d’expliquer le comportement du système à tout moment.
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
24 |
Fig. 1: Processus d’inscription d’un nouveau étudiant en troisième cycle.
Fig. 2: Processus d’inscription d’un nouveau étudiant après le 30 septembre.
3 Le Versionnement :Une technique d’historisation de l’information temporelle
Une Base de Données Temporelles (BDT) est définie comme une BD supportant des faits
temporels et des faits non temporels. Un fait temporel est un fait caractérisé dans le temps
par plusieurs valeurs, dont on a besoin de garder trace. C’est le cas du salaire d’un employé
qui évolue dans le temps et dont les valeurs historiques intéressent l’application gestion
des carrières. Pour l’historisation des faits temporels, les BDT utilisent principalement deux
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
| 25
types de temps : le temps de validité et le temps de transaction. Le temps de validité d’un
fait est le temps de sa validité dans le monde réel alors que le temps de transaction d’un
fait représente le temps de sa prise en charge dans la base de données. Par ailleurs, la
modification de structure d’une BD classique nécessite la migration des données vers l’es-
pace de stockage de la nouvelle structure et la destruction de l’ancien. Par contre, une BDT
peut être étendue pour assurer également l’historisation de son schéma. Elle devient alors
capable de conserver toute version de schéma, créée suite à la modification de sa structure
et/ou à l’augmentation ou la diminution de sa dimension temporelle. Un tel environnement
multiversions de schéma (EMVS) permet de prendre en compte plusieurs versions. Dans [9],
les auteurs distinguent trois pratiques de versionnement de schémas selon le type de temps
appliqué à une version :
– Le versionnement de schémas selon le temps de transaction : c’est le type de ver-
sionnement de schémas qui estampille les versions avec leurs temps de transaction
(ou temps physiques) ;
– Le versionnement de schémas selon le temps de validité : c’est le type de version-
nement de schémas qui estampille les versions avec leurs temps de validité (ou temps
logiques) ;
– Le versionnement bitemporel de schémas : c’est le versionnement de schémas qui
utilise à la fois le temps de transaction et le temps de validité pour estampiller les
versions de schémas.
Les auteurs de [10] montrent que les axes temporels de validité et de transaction, utili-
sés pour l’historisation des données, conviennent peu aux exigences du versionnement et
posent des problèmes de gestion. Ils proposent plutôt de gérer les versions conformément
à un autre axe : l’axe temporel d’application des versions, avec un temps de début d’appli-
cation (TDA) et un temps de fin d’application (TFA) pour chacune.
Le versionnement est donc une technique facilitant l’historisation des schémas. Nous
envisageons alors de l’utiliser pour décrire l’évolution des processus workflows, en adoptant
l’axe temporel d’application.
4 Spécification des Processus Workflows Évolutifs Versionnés
Nous considérons un PWE comme étant un ensemble fini de versions relatives à un pro-
cessus workflows donné. Ces versions concernent la même application, mais diffèrent au
niveau de certaines spécifications de leurs schémas d’enchaînement de tâches (MP), leurs
acteurs (MO) et/ou leurs informations (MI). Nous spécifions séparément, dans un premier
temps, chaque version du processus workflows considéré à l’aide des RPO. Dans un deux-
ième temps, nous intégrons les différentes versions dans un modèle unique tout en pré-
cisant le temps d’application de chaque version conformément aux décisions de l’admin-
istrateur. Le résultat obtenu est un PWE versionné spécifié à l’aide des RPO. La figure 3
illustre notre approche. Notre proposition vise alors à étendre les RPO afin qu’ils puissent
historiser les différentes informations nécessaires pour l’exécution d’une tâche dans un envi-
ronnement multiversions de processus (EMVP). Un même processus peut changer au cours
du temps au niveau de l’ordre d’exécution de ses tâches, des patterns de coordination entre
les tâches [11], des ressources (humaine oumachine pouvant exécuter une tâche) invoquées
et/ou des informations utilisées. Cette proposition consiste à associer à chaque élément du
modèle RPO (place, arc, action, pré et post-condition) une étiquette informant l’intervalle
de temps d’applicabilité de cet élément.
En effet, à chaque version, on peut associer deux temps de application TDA et TFA. Ces
deux temps définissent l’intervalle d’application [TDA - TFA] de toute version considérée
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
26 |
Fig. 3: Approche de versionnement des PWE.
par l’administrateur. Ainsi, il devient possible de disposer de différentes versions alterna-
tives et de différentes versions historisées.
La figure 4 illustre notre proposition en modélisant le processus d’inscription des étudi-
ants en troisième cycle (cf. section 2.3) dans un EMVP. Il s’agit de modéliser des versions
alternatives à utiliser en fonction de la période de chaque année. La première transition En-
registrement Demande est représentée en deux versions. La première version possède deux
places d’entrée « Secrétaire disponible » et « Demande arrivée » ayant un intervalle d’ap-
plication [01/09 - 31/12] et respectant la pré-condition P1= S ˆ D. Cette version fait appel
à la méthode EnregistrerD de l’objet secrétaire. Alors que la deuxième version de cette
même transition possède, en plus des deux places d’entrée de la première version, une
nouvelle place d’entrée « CV arrivé » applicable dans l’intervalle [01/10 - 31/12] respectant
une deuxième version de la pré-condition P1’= S ˆ Dˆ CV avec un intervalle d’application
[01/10 - 31/12], et deux places de sortie, «Demande et CV enregistrés » ou «Enregistrement
refusé » selon la méthode EnregisterDCV de l’objet secrétaire. La deuxième transition Exa-
men CV, figurant seulement dans la deuxième version, possède deux places d’entrée «De-
mande et CV enregistrés » et « Examinateur disponible » respectant la pré-condition P2 =
Ex ˆ Dˆ CV, deux places de sorties « Demande refusée » ou « Demande et CV retenus » et
elle appelle la méthode examiner de l’objet examinateur. Cette transition et ses différents
composants (places d’entrée, places de sortie, actions, pré et post conditions, arcs entrants
et arcs sortants) sont applicables dans l’intervalle [01/10 - 31/12]. La troisième transition
entrevue est représentée en deux versions. La première version possède trois places d’en-
trées « Examinateur disponible », « Etudiant présent » applicable dans l’intervalle [01/09
- 31/12] et « Demande enregistrée » ayant un intervalle d’applicabilité [01/10 - 31/12], et
deux places de sortie « Demande et CV retenus » ou « Demande refusée ». Cette ver-
sion n’est déclanchée que si la pré-condition P3= Ex ˆ D ˆ E est vérifiée. Elle fait appel à
la méthode questionnerED de l’objet examinateur. Alors que la deuxième version de cette
même transition possède, en plus des deux premières places d’entrée de la première ver-
sion, une troisième place « Demande et CV retenus » applicable dans l’intervalle [01/10 -
31/12] respectant une deuxième version de la pré-condition P3’= Ex ˆ CV ˆ E avec un inter-
valle d’applicabilité [01/10 - 31/12], et deux places de sortie, «Demande et CV retenus » ou
« Demande refusée » selon la post-condition associé à cette transition. Cette deuxième ver-
sion exécute la méthode questionnerEDCV de l’objet examinateur. Les versions qui ne sont
pas applicables qu’à partir du début de mois d’octobre sont représentées dans la figure 4
avec des traits discontinus.
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
| 27
Fig. 4: Spécification d’un PWE à l’aide des RPO dans un EMVP.
5 Positionnement par rapport à d’autres approches
L’étude de la spécification des processus workflows n’est pas nouvelle. Elle a déjà donné
lieu à plusieurs travaux, tels que ceux décrits dans [4, 12, 13]. Ces travaux sont dédiés aux
processus workflows stables, bien identifiés et prévisibles : ils ne prennent pas en compte
l’évolution des processus dans le temps (c’est-à-dire les PWE tel que nous les avons définis
précédemment). Par ailleurs, les trois modèles complémentaires utilisés dans le workflow
ne sont pas souvent décrits dans un cadre cohérent.
En ce qui concerne les travaux exploitant les versions, sont aussi nombreux [5, 14, 15,
16]. Ces travaux en réalité mettent l’accent sur le modèle informationnel et n’accordent pas
d’attention aux autres modèles organisationnel et de processus.
Quant aux travaux traitant la spécification des processus workflows évolutifs, ils sont très
peu [17, 18]. Ces travaux proposent une solution permettant la migration d’une version d’un
PWE à une autre, sans garder la trace des versions antérieures qui peuvent être réutilisées
dans le futur.
Notre travail diffère des travaux existants sur les points suivants : notre proposition utilise
la technique de versionnement (telle que utilisée dans le domaine des bases de données)
pour étendre les Réseaux de Petri à Objets. Bien articulés, ces deux outils (RPO et le ver-
sionnement) permettent de traiter de manière appropriée les problèmes de spécification
des PWE. L’utilisation des RPO, possède en effet un pouvoir d’expression adapté à la spé-
cification des processus workflows. Ce pouvoir d’expression est notamment dû au fait qu’il
intègre judicieusement l’approche Objet et les Réseaux de Petri. Cette expressivité a pu
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
28 |
être démontrée dans les exemples de la section 2.3. Quant au versionnement, il permet de
supporter l’évolution des trois modèles d’un workflow dans le temps.
6 Conclusion
Cet article concerne la problématique des langages de spécification des PWE. Cet article a
montré que les RPO conviennent bien à la description des processus workflows bien identi-
fiés et prévisibles, mais non évolutifs. Pour pallier cette limite, cet article a proposé d’utiliser
conjointement les RPO et le Versionnement. Notre approche a les avantages suivants :
– une spécification de bonne qualité des processus workflows grâce à l’utilisation des
RPO ;
– prise en compte de l’évolution des processus dans le temps, qui devient une néces-
sité pour les entreprises souhaitant faire face à l’évolution du monde réel, dans un
EMVP.Nous visons maintenant de mettre en œuvre notre proposition, en développant un outilpermettant la spécification des PWE à l’aide d’une utilisation conjuguée des RPO et duversionnement.
Références[1] The Workflow Management Coalition. Workflow management coalition terminology and glossary.
WFMC-TC-1011, Febrary 1999.
[2] M. Divitini, C. Hanachi, and C. Sibertin-Blanc. Inter-orgaanizational workflow for enterprise coor-
dination. Coordination of Internet Agents, chapter 15, A. Omicini, F. Zambonelli, M. Klusch, R.
Tolksdorf (Eds), Springer Verlag,, 2001.
[3] M.A. Chaâbane, L. Bouzguenda, R. Bouaziz, and F. Gargouri. Etude comparative de quelques
langages de spécification de processus workflow. Actes des 7èmes journées scientifiques des
jeunes chercheurs en Génie Electrique et Informatique (GEI), 2007.
[4] C. Sibertin-Blanc. High level petri nets with data structure. In 6th International Workshop on Petri
Nets and Applications Espoo, Finland, 1985.
[5] R. Bouaziz and M. Moalla. Gestion des versions de schémas dans les bases de données. Forum
de Recherche en Informatique (FRI)-Tunis, juillet 1996.
[6] W.M.A. Van der Aalst. The application of petri nets to workflow management. the International
Journal of Circuits, System and Computers 8(1), pages 21–66, 1998.
[7] C.A. Petri. Kommunication mit automaten. Institute für Instrumentelle Mathematik, Schriften des
IMM, (n°2), 1962.
[8] C. Combi and G. Pozzi. Architectures for a temporal workflow management system. In SAC’04,
Nicosia, Cyprus, March 2004.
[9] C. De Castro, F. Grandi, and M.R. Scalas. Schema versioning for multitemporal relational
databases. Information Systems, Vol. 22(N° 5) :249–290, july 1997.
[10] Z. Brahmia and R. Bouaziz. Problématique du versionnement des schémas dans les bases de
données temporelles relationnelles. Actes des 5èmes journées scientifiques des jeunes chercheurs
en Génie Electrique et Informatique (GEI), mars 2005.
[11] W.M.A. Van der Aalst, A.H.M. Ter Hofstede, B. Kiepuszewski, and A. Barros. Workflow patterns.
In the International Journal on Distributed and Parallel Databases 34(1), pages 5–51, 2003.
[12] S.A. White. Introduction to bpmn. Business Process modeling Notation - IBM, www.bpmn.org,
May 2004.
[13] W.M.A. Van der Aalst and A.H.M. Ter Hofstede. Yawl : Yet another workflow language. In the
International Journal on Information Systems, 30(4), pages 245–275, March 2005.
[14] S. Gançarski and G. Jomier. Vers un langage demanipulation pour bases de données multiversion.
BDA, pages 161–180, 1996.
[15] S. Gançarski. Database versions to represent bitemporal databases. DEXA, pages 832–841, 1999.
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
| 29
[16] A. Doucet, S. Gançarski, G. Jomier, and S. Monties. Mantien de la cohérence dans une base de
données multiversion. BDA, pages 181–, 1996.
[17] F. Casati, S. Ceri, B. Pernici, and G. Pozzi. Workflow evolution. Proceedings of the 15th ER’96
international Conference, Oct 7-10 1996. Cottbus, Germany, Springer Verlag Lecture Notes in
Computer Science.
[18] M. Kradolfer and A. Geppert. Dynamic workflow schema evolution based on workflow type ver-
sioning and workflow migration. International Conference on Cooperative Information Systems
(CoopIS‘99), Edimburgh. IEEE Computer Society Press, 1999.
Schedae, 2007, prépublication n° 11, (fascicule n° 2, p. 21-29).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 31
Prépublication n° 12 | Fascicule n° 2
Combiner test actifet surveillance pour la sécurité
Yliès FalconeVérimag & Laboratoire d’Informatique de Grenoble
Résumé :
Nous présentons une approche pour combiner les avantages du test et de la surveillance de
programme à l’exécution. Nous intégrons une méthode de test avec spécification partielle dans
la théorie de vérification à l’exécution. Des techniques de tests sont intégrées à un environnement
logiciel de surveillance. L’environnement que l’on obtient repose sur deux approches récentes :
génération de test depuis une spécification partielle, et programmation orientée moniteur. Nous
montrons comment ces techniques peuvent contribuer à une nouvelle méthode de validation
que nous appelons surveillance active qui combine les avantages de la génération automatique
de test et la surveillance.
Mots-clés : test actif, surveillance, sécurité, cas de test abstrait, concrétisation.
1 Introduction 1
Pour répondre aux besoins de sécurité croissants des logiciels et des systèmes d’information
une approche largement utilisée aujourd’hui est celle basée sur les politiques de sécurité.
La sécurité du système est assurée via l’application d’un ensemble de règles et de recom-
mandations s’appliquant à divers niveaux tant physique que logique. La complexité des sys-
tèmes auxquels peut s’appliquer une politique a généré beaucoup d’efforts de recherche
pour trouver des modèles de politique de sécurité. Mais, la validation du déploiement des
politiques de sécurité reste un défi. Parmi les techniques de validation disponibles, le test et
la surveillance bénéficient d’une recherche active accompagnée de résultats prometteurs.
Le Test – est une technique de validation très populaire, restant incontournable pour
valider les logiciels critiques. Son objectif est essentiellement de trouver des fautes sur l’im-
plémentation d’un système, en pratiquant une suite de contrôles et d’observations sur celui-
ci. Le test du système peut se dérouler soit durant sa phase de développement, soit une
1. Ces travaux ont partiellement été réalisés dans le cadre du RNRT Politess ANR-05-RNT-01301.
Yliès Falcone« Combiner test actif et surveillance pour la sécurité »
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
32 |
fois que la version finale est complétée. En conséquence, et même si beaucoup de travail
a déjà été fait sur ce sujet, améliorer l’efficacité de la phase de test tout en réduisant son
coût et le temps passé reste un challenge très important soutenu par une forte demande in-
dustrielle. Récemment, nous avons développé une approche originale [1, 2] pour tester les
systèmes pour lesquels uniquement des spécifications partielles étaient disponibles. Cette
approche s’est montrée être bien adaptée au test de politiques de sécurité. En effet, il est
classique dans le domaine de la sécurité d’exprimer la spécification comme un ensemble
d’exigences (au lieu d’une spécification complète). Cette approche exprime la conformité
à un ensemble d’exigences spécifiées dans un formalisme basé sur des traces. La propriété
globale est décidée par une combinaison de tests de propriétés élémentaires.
La surveillance (monitoring) – est une technique, venant de la communauté de la vérifi-
cation, pour suivre le comportement d’un programme à l’exécution. Son objectif principal
est de détecter le comportement incorrect d’un programme, voire d’en corriger le com-
portement si une faute apparaît. Des propriétés sont vérifiées pendant l’exécution du pro-
gramme surveillé. La spécification est généralement exprimée dans un formalisme déclarant
des propriétés reliées à l’histoire du programme. Pour cela, des événements pertinents sont
déclarés par instrumentation du programme initial. Ensuite, des moniteurs sont synthétisés
surveillant ces événements et, agissant comme un oracle, les moniteurs délivrent les ver-
dicts. De nombreux environnements de vérification existent. Notre choix s’est porté sur un
environnement de surveillance qui nous semble générique, expressif, et efficace. Monitor-
ing Oriented Programming (MOP) [3] est un paradigme de développement de logiciel dans
lequel la synthèse de moniteur est automatiquement réalisée depuis une spécification don-
née par l’utilisateur, en utilisant la programmation orientée aspects [4]. Cet environnement
est implanté dans un outil, Java-MOP [5], basé sur AspectJ.
Dans cet article nous cherchons à combiner les caractéristiques du test et de la surveil-
lance de façon mutuellement bénéfique. L’objectif de cet article est d’utiliser un environ-
nement de surveillance pour mettre en œuvre du test actif. Ainsi, cette surveillance active
ouvre la possibilité de surveiller des propriétés complexes dans un système tout en influen-
çant son exécution. Cette approche essaye de combiner les avantages de la surveillance
(pas de spécification complète nécessaire), et ceux du test (les séquences exécutées sont
contrôlées).
Travaux reliés. – Plusieurs travaux sont connectés à ceux présentés dans cet article.
– [6] présente des résultats préliminaires pour l’exécution automatique de cas de test
en utilisant l’analyse à l’exécution et une exploration du domaine d’entrée du pro-
gramme. Cette approche permet de détecter des erreurs de concurrence ;
– Une autre direction de recherche active est autour de l’expressivité de la program-
mation orientée aspect [4] notamment le déclenchement de « code advice » sur des
événements complexes (voir [7] pour une application à la surveillance de trace) ;
– Dans [8], les auteurs combinent dans une même chaîne de validation vérification
et test de conformité. La spécification est vérifiée par rapport à une propriété de
haut niveau, en utilisant des techniques d’interprétation abstraite. Ensuite, des tests
symboliques sont générés depuis la spécification. Ces tests peuvent alors détecter si
la spécification viole la propriété, ou si l’implémentation viole la propriété, ou encore
si l’implémentation n’est pas conforme à la spécification ;
– [9] montre comment des techniques de test aident à faciliter la phase de vérification.
L’auteur utilise un générateur de tests symboliques pour extraire des sous graphes
d’une spécification. En utilisant un assistant à la preuve, il est alors possible de vérifier
les sous graphes et de déduire la correction du graphe complet sous hypothèses.
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
| 33
La suite de cet article est organisée comme suit. La section 2 présente quelques prélim-
inaires / prérequis : une variation de la théorie du test de conformité pour traiter les spéci-
fications partielles, et la programmation orientée moniteur. Dans la section 3 nous présen-
tons l’environnement de surveillance active. La section 4 expose une étude de cas reliée
à l’implémentation d’une agence de voyage virtuelle. Finalement, la section 5 fournit des
conclusions et les directions de recherches futures.
2 Préliminaires
Une approche intéressante pour la génération automatique de test est la technique appelée
test basé sur les modèles. Cette technique a été implémentée dans plusieurs outils, voir par
exemple [10] pour un état de l’art. Néanmoins, des limites peuvent en entraver l’utilisation
dans d’autres domaines. Tout d’abord, cette technique repose sur la disponibilité d’une
spécification du système, ce qui n’est pas toujours le cas en pratique. De plus, lorsqu’elle
existe, la spécification doit être assez complète pour assurer l’intérêt de la suite de test pro-
duite. Finalement, la spécification tend à ne pas englober tous les détails d’implémentation,
et à être restreinte à un certain niveau d’abstraction.
2.1 Traiter les spécifications partiellesNous avons proposé une approche alternative à l’approche classique pour produire une
suite de test dédiée à la validation d’exigences comportementales partielles. Dans ce ca-
dre [2], les exigences sont exprimées par des formules logiques ϕ construites au dessus d’un
ensemble de prédicats abstraitsPi décrivant les opérations (éventuellement non atomiques)
effectuées par le système sous test (SST). Un exemple typique d’une telle exigence pourrait
être une politique de sécurité où les prédicats abstraits dénoteraient des opérations de haut
niveau comme « l’utilisateur A est authentifié » ou « lemessageMest corrompu». L’approche
repose sur la considération suivante : une connaissance parfaite des détails d’implémenta-
tion est nécessaire pour produire des cas de test élémentairesTci capables de décider si de
tels prédicats sont satisfaits ou non dans un état de l’exécution du logiciel. Ainsi, l’écriture de
ces cas de tests dédiés devrait être laissée à la compétence des programmeurs (ou testeurs)
lorsqu’une spécification détaillée n’est pas disponible. Toutefois, l’orchestration correcte de
ces cas de test basiques et la combinaison de leur résultats pour déduire la validité de la
formule dans son ensemble sont plus faciles à automatiser (dépendant uniquement des
opérateurs utilisés dans la formule). Cette étape peut donc être produite par un générateur
automatique de test, et cette génération automatique peut même être réalisée de façon
compositionnelle (sur la structure de la formule logique). Plus précisément, depuis la for-
mule ϕ, une fonction de génération de test produits automatiquement un testeur (abstrait)
ATϕ. Ce testeur consiste en un ensemble de contrôleurs de test, un pour chaque opérateur
apparaissant dans ϕ. Ainsi, ATϕ dépend seulement de la structure de la formule ϕ. ATϕ est
ensuite instanciée utilisant les cas de test Tci pour obtenir un testeur concret Tϕ pour la
formule ϕ. L’exécution de ce testeur sur l’implémentation I produit le verdict final.
2.2 Monitoring Oriented ProgrammingLa programmation orientée moniteurs (Monitoring Oriented Programming [3], MOP) con-
sidère que la spécification et l’implémentation doivent être unifiées. Une présentation com-
plète de tous les aspects de MOP est hors du cadre de cet article. Nous présentons briève-
ment quelques uns de ces principes intéressants pour notre approche ainsi que son implé-
mentation pour Java, Java-MOP [5].
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
34 |
MOP est un cadre fournissant des moyens pour générer et intégrer des moniteurs dans
un programme selon une spécification fournie par l’utilisateur. Une caractéristique de MOP
est la séparation entre la génération et l’intégration des moniteurs qui permet la personnal-
isation et l’extension en utilisant une architecture en couches. La spécification définit des
événements exprimés en termes du programme sous-jacent. Ces événements sont utilisés
pour déclarer une formule dans un formalisme d’expression sur les traces en logique tem-
porelle linéaire [11], ou en expressions régulières étendues. Les moniteurs générés suivent
ces événements et font avancer l’évaluation correspondant à chaque formule. L’intégra-
tion du moniteur est faite en regard de paramètres de portée donnés par l’utilisateur qui
influencent les points du programme où seront insérés les moniteurs et leur occurrences
(e.g. classe ou méthode). MOP permet aussi plusieurs modes d’analyses des événements,
e.g. analyse centralisée ou hors-ligne de la trace. Cette génération de moniteurs customis-
able et générique est spécifiée en utilisant un langage de spécification dédié.
3 Un environnement de surveillance active
Nous exprimons dans cette section comment nous réalisons un environnement de surveil-
lance active en combinant les capacités de surveillance existantes en MOP avec l’approche
de test à partir de spécification partielles. L’approche résultante mise en œuvre par cet
environnement est appelée surveillance active.
3.1 Intégration de caractéristiques de test dans MOPUne première limitation de MOP et de la surveillance en général vient de son lien avec la
vérification à l’exécution. En effet, les événements sont restreints à des observations pures
des événements dans l’exécution du programme. Par exemple, un évènement peut être ob-
servé dès qu’une méthode démarre ou finit son exécution. Il n’y a pas de moyen de vérifier
une propriété en guidant le système dans des états qui permettent d’évaluer les propriétés.
Ceci explique les limitations annoncées dans l’introduction. En conséquence, nous avons
décidé de remplacer les événements observationnels de MOP par des séquences com-
plexes d’interactions en théorie du test. De façon abstraite, il est possible de dire que dans
notre environnement les notions d’événements en vérification à l’exécution sont remplacés
par des cas de test abstraits.
Utilisation d’un formalisme de cas de test abstrait – Les évènement traditionnels de la
théorie de vérification sont remplacés par des tests. Pour permettre cela, notre framework
inclut dans la spécification la possibilité d’utiliser des tests concrets exprimés par exem-
ple comme des combinaisons d’appels des interfaces du SST. Ce qui est nécessaire est
d’exprimer facilement et de façon intuitive toutes les opérations possibles pour tester. Par
exemple, on peut s’attendre à utiliser de la récursivité, communication, et du parallélisme
(invocation de deux interfaces indépendantes). Parmi les nombreux formalismes d’expres-
sion des cas de test, on peut vouloir intégrer TTCN-3 [12] et le profil de test UML [13].
Nous avons également développé un moteur d’exécution pour des cas de tests abstraits
exprimés sous forme de systèmes de transitions étiquetés à entrées-sorties. Das les cas de
tests abstraits, nous distinguons principalement deux types d’actions. Premièrement les ac-
tions dîtes « externes » qui sont des actions où le SST est impliqué avec le testeur. Nous
avons distingués parmi les actions externes, les actions qui effectue du contrôle sur le SST,
les actions d’observation sur le SST, et enfin les actions de contrôles où l’observation est
attendue (exécution synchrone bloquante pour le testeur). Deuxièmement les actions dîtes
internes qui sont des actions de modifications de l’état du cas de test abstrait.
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
| 35
Utilisation des traitants (« handlers ») comme correcteurs de propriétés – Comme ex-
posé précédemment, une des originalités du framework MOP est la possibilité donnée à
l’utilisateur de spécifier des traitants de validation et violation une fois qu’un verdict pour
la propriété a été évalué. Cette fonctionnalité est utilisée et customisée dans notre frame-
work de la manière suivante. Nous autorisons tout d’abord l’exécution de code natif comme
dans l’approche MOP. Nous autorisons également l’utilisation de code de correction spé-
cifié dans un formalisme peut-être différent de celui de la spécification. On peut penser
utiliser des appels d’interfaces privilégiées pour corriger le comportement du SST, e.g. ar-
rêt d’un composant, appel d’interface administrateur. . .
3.2 Vue d’ensemble de l’environnementNous décrivons dans cette section le framework proposé en utilisant Java-MOP pour la
génération de moniteur. Le processus de génération global est représenté sur la Fig. 1.
Moteur de Test
Spec
LTL|ERE|...
PASS
FAIL...
communication interne
Monitor/Test engine
verdictstests
executiondirectives
GenerationJava−MOP
events
appel interface
aux composants
communication entre
Java−Mop personnaliséMoniteur
Interface Interface
SST SST
ATCBiblio
MoniteursMoniteurs
Ordonnanceur
MoteurCTA
Architecture
GénérateurEvenenments
CTA
Fig. 1: Vue d’ensemble du processus de génération.
3.2.1 Entrées.
Interface du système sous test – L’interface du système à tester est considérée comme
une entrée. Elle contient l’ensemble des variables et procédures appelables. La description
du système fournie par l’interface est utilisée par l’outil pour générer le lien entre les cas de
test abstraits et l’implémentation interne des composants.
Bibliothèque de cas de test abstraits – La description de l’architecture du SST et son
interface fournissent l’ensemble des actions observables et contrôlables du système. Ces
points de contrôles et d’observations (PCOs) sont supposés être fournis par l’interface du
SST. Par exemple, une variable publique observable à travers une interface est une variable
dans l’environnement des cas de test abstrait. Les actions de communication des cas de
test abstraits sont des appels de méthodes sur les interfaces des composants du SST. L’util-
isateur peut composer ces observations et contrôles en regard du formalisme de cas de test
abstraits. La programmation est facilitée par l’abstraction fournie par l’interface des com-
posants. En conséquence, l’utilisateur fournit avec cette méthode des cas de tests abstraits
utilisés comme événements dans la spécification MOP étendue.
Spécification MOP personnalisée –
<Specification> := /*@ <Header> <Body> <Handler> @*<Header> := [logic=<Logic>]<Handlers> : := <ViolationHandler> <ValidationHandler><ViolationHandler> : := violation <HandlerHeader> <Code><ValidationHandler> : := validation <HandlerHeader> <Code><HandlerHeader> : := handler in <ATC-Formalism>
Fig. 2: Syntaxe de la spécification MOP personnalisée.
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
36 |
<Body> : := [VarDeclaration]* <Event>* <Formula><Event> : := event <EventHeader> : [ATC-Code] ;<EventHeader> : := [Identifier] in <ATC-Formalism><ATC-Formalism> : := native | PA | TTCN<Formula> : := formula : <LogicFormula>
Fig. 3: Syntaxe du corps de la spécification.
Le troisième élément en entrée de la génération est l’ensemble des propriétés à tester.
Le format de la spécification est inspiré du format de la spécification MOP (voir Fig. 2 et 3).
Néanmoins, des différences existent, notamment, elle intègre des caractéristiques de test.
La spécification est toujours composée de trois parties : un entête (header), un corps (body),
des traitants (handlers). Nous détaillons la syntaxe de la spécification et ses différences avec
l’originale dans la suite.
L’entête contient des informations pour la génération du moniteur et son intégration.
On y trouve le formalisme pour la formule utilisée comme spécification. Pour des raisons
liées au test, nous considérons uniquement les formalismes basés sur les traces : les clas-
siques logiques temporelles linéaires du passé et du futur (LTLs), les expressions régulières
étendues. Dans [2] nous avons défini une variante à trois valeurs de LTL dédiée au test avec
spécifications partielles. Nous prévoyons d’implémenter une génération de moniteur MOP
pour cette logique.
Le corps donne la définition de la propriété désirée. Il commence avec la déclaration
de variables qui peuvent être utilisée dans la spécification. Les déclarations d’événements
suivent. Un évènement, synonyme de cas de test abstrait, est spécifié grâce à un formalisme
de cas de test abstrait et son expression dans le formalisme dédié. Ensuite, la dernière et
plus importante partie est celle de la déclaration de la formule dans une logique.
Dans la partie handler, on spécifie les actions de la propriété que l’application doit
réaliser lorsque la propriété exprimée est violée ou validée. Dans l’approcheMOP originale,
les traitants sont exprimées comme des parties de codes qui sont exécutées une fois que la
propriété a été évaluée. Dans la spécification de notre framework, cette partie des traitants
permet le traitement d’origine de MOP et les autres modes présentés dans 3.1.
3.2.2 Architecture générée
Une vue d’ensemble de l’architecture générée est représentée sur la droite de la Fig. 1.
On peut voir que l’architecture générée est composée de deux composants distincts : un
moniteur Java-MOP modifié et un moteur de test. Ces deux composants communiquent
en échangeant deux sortes de messages. Le moteur de test envoie les verdicts de l’exécu-
tion des cas de test au moniteur Java-MOP modifié. Ces verdicts sont interprétés comme
des événements du moniteur. Calculant le verdict, le moniteur peut envoyer des signaux
régulant l’exécution au moteur de test (responsable de l’orchestration des tests). Détaillons
ces deux composants.
Moteur de Test – Le moteur de test est composé de plusieurs sous-composants. Le
moteur de cas de test abstrait (Moteur CTA) est en charge de l’exécution des cas de test
abstraits spécifiés comme événements dans la spécification. Il décide de l’action suivante
à exécuter. Nous avons développé récemment une algèbre de processus ainsi que son
moteur d’exécution pour exprimer les cas de test abstraits. Ce calcul a été d’abord in-
troduit dans [1] puis s’est montré être une solution adaptée [2] pour les systèmes dis-
posant uniquement de spécification partielle. L’exécution des cas de tests est orchestrée
par l’ordonnanceur. Pour tester une formule l’ensemble des séquences possibles montrant
que la formule est satisfaite ou non par le SST est potentiellement infinie. D’abord, considé-
rant uniquement les événements apparaissant dans la formule et leur cas de test concrets
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
| 37
correspondants, il est possible de générer un premier ensemble de tests possibles. Par
ailleurs, on peut vouloir mélanger dans les séquences de test des événements qui n’ap-
paraissent pas dans la formule considérée. Ces événements n’influencent pas le calcul du
verdict. Cependant, ils peuvent modifier le comportement interne du SST. En conséquence,
l’ensemble des tests possibles pour une formule spécifiée est potentiellement infini. Dans le
but de construire des cas de test et suites de test pertinents l’ordonnanceur peut utiliser des
modèles de vulnérabilités (e.g. scénarios d’attaque) comme entrée. Ces modèles, peuvent
être par exemple des faiblesses de sécurité connues informées par les développeurs du
SST ou des experts de sécurité. Aussi l’ordonnanceur peut construire « à la volée » des cas
de test dynamiques basés sur les événements observés précédemment. Selon la formule
testée, et les verdicts retournés par l’exécution des sous tests, il décide de l’action suivante
du cas de test abstrait à exécuter. Le composant architecture de cas de test abstrait (Archi-
tecture CTA) contient des informations à propos de l’architecture des composants du SST
et leur encodage dans les cas de test abstraits par exemple des informations sur les actions.
Moniteur MOP modifié – Nous modifions la génération du moniteur MOP dans le but
de rendre celui-ci compatible avec les événements de tests. Une fois concrétisés les cas de
test abstraits émettent des verdicts qui sont transmis au nouveau moniteur. Les verdicts des
tests sont transformés en événements, i.e. entrées du moniteur. Une fois que le moniteur
atteint un verdict, et selon les directives indiquées dans les handlers le moniteur décide
des actions à prendre en conséquence. Par exemple le moniteur enverra des directives
d’exécution pour modifier les propriétés suivantes à tester. Si une faute apparaît, il peut par
exemple arrêter l’exécution du système.
4 Étude de cas : une agence de voyage
Nous esquissons ici comment nous avons appliqué la technique présentée précédemment
pour étudier la sécurité d’une application d’agence de voyage virtuelle nommée Travel.
Cette technique permet de trouver des erreurs d’implémentation et valider certaines pro-
priétés de sécurité.
4.1 Description de TravelL’idée de l’application vient du projet RNRT Politess [14]. Les études dans ce projet nous
ont mené à une spécification de cette application. L’application Travel permet la gestion
de requêtes de missions concurrentes de ses utilisateurs. Dans le but d’enregistrer des re-
quêtes de mission, un utilisateur doit détenir un compte sur l’application. Chaque utilisateur
possède son propre valideur (également un utilisateur de Travel) qui est l’unique personne
pouvant vérifier l’état de la mission et faire la validation finale. Dans le cas d’une absence
prolongée, un utilisateur de Travel peut déléguer ses droits d’accès à un autre utilisateur.
La personne déléguée peut alors agir au nom de l’utilisateur original.
En étudiant la spécification et le descriptif initiale de cette application, nous avons
développé notre propre prototype dédié à l’exécution de test. Nous renvoyons à [15] pour
une description complète de l’application. L’architecture de l’application est assez simple,
elle suit un schéma de type client-serveur. Nous avons implémenté l’application en Java, et
utilisé le mécanisme de RMI pour la communication depuis un client vers le serveur appli-
catif. Une partie de l’interface offerte par le serveur est montrée sur la Fig. 4.
4.2 Une politique de sécurité pour TravelDepuis une politique de sécurité globale [16] écrite pour Travel nous avons extrait des exi-
gences de sécurité. Nous avons formalisé et exprimé ces exigences en utilisant les ex-
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
38 |
int Identify(String Login, String Pswd) throws RemoteException ;String missionRequest(int ID, String Name, String Dest, ...) ;String getInfo(int ID) throws RemoteException ;String checkMissions(int ID) throws RemoteException ;int getNbVoyage() throws RemoteException ;String cancelMission(int ID, int numVoyage) ;String validMission(int ID, int numVoyage) ;String changePswd(String oldPswd, String newPswd, int ID) ;String delegTravel(int id, String Name, String FirstName) ;String cancelTravDeleg(int id, String Name, String FirstName) ;String delegValid(int ID, String Name, String FirstName) ;String cancelValidDeleg(int ID, String Name, String FirstName) ;String seePropositions(int ID, int numVoyage) ;String chooseAgency(int ID, int numVoyage, int numAgency) ;
Fig. 4: Extrait simplifié de l’interface de Travel.
pressions régulières étendues. Pour cela, nous avons utilisé l’approche compositionelle
de [2] en « découpant » les propriétés et en identifiant des sous-propriétés élémentaires
pour lesquelles des test élémentaires étaient implémentables. Par exemple l’exigence in-
formelle « Il est interdit pour un utilisateur de Travel de valider sa propre mission » peut être
raisonnablement compris en ¬ (create_mission(t, m) · validate_mission(t, m)) ou comme
(create_mission(t, m) · validate_mission(t′, m)) [t 6= t′] avec t, t′ et m désignant respective-
ment un voyageur et une mission. De façon similaire, nous formalisons l’exigence « Un
utilisateur ne peut pas agir pour un autre s’il n’est pas dans la liste de délégation » en
¬ (¬add_delegate(t1, t2) · connect(t1, t2)).
4.3 Mise en œuvre de l’architectureÉcriture des cas de test abstraits. – Nous avons écrit des cas de test pour les prédicats
élémentaires apparaissant dans les formules. Les cas de test sont exprimés sous forme de
systèmes de transition étiquetés et représentés en XML. Ils sont exécutés par notre mo-
teur de cas de test abstrait. À titre d’exemple, sur la Fig. 5, nous représentons une version
simplifiée du cas de test correspondant au prédicat élémentaire create_mission(t, m).
token := Identify(login, psw)[token == −1]ver := inc
[token! = −1]result := missionRequest(token, . . .)[result! = ”OK”]ver := fail
[result == ”OK”]ver := pass
Fig. 5: Représentaiton graphique simplifiée du cas de test correspondant au prédicat create_mission(t, m).
Monitoring actif de Travel. – Une fois les cas de test élémentaires écrits il est possible
d’obtenir un ensemble cas de test correspondants à la formule que l’on veut vérifier. On peut
alors dériver deux sortes de cas de test, des cas de test dits validant dont le succès (verdict
pass) signifie que la formule est satisfaite. Ou alors on peut dériver des cas de test infirmant
la formule, i.e. des tests qui lorsqu’ils réussissentmontrent que la formule n’est pas satisfaite.
Lors de notre étude de cas nous avons dérivé les deux types de test. Premièrement, les tests
validant sont dérivés directement depuis la formule. Pour sélectionner les tests à exécuter
nous nous sommes aidés de « profils utilisateur » décrivant des comportements typiques.
Deuxièmement nous avons dérivé des tests infirmant. Pour cela, nous avons combiné les
cas de test en utilisant des schémas de vulnérabilités.
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
| 39
Par exemple pour la première propriété (interdisant l’auto-validation), un schéma de
vulnérabilité décrivant des scénarios de délégations cycliques amenant à une possible auto-
validation d’une mission est utilisé. Ainsi le scénario aide le moniteur lors de la phase de
sélection du test. Nous construisons un test parcourant le moniteur vers un état qui viole
la propriété en suivant le scénario. On a pu ainsi mettre en évidence un manque dans
la vérification préliminaire lors de validation de la mission. Lors de la phase de validation,
l’application vérifiait uniquement que la personne qui voyage était différente de la personne
qui valide. Nous avons donc mis en lumière qu’il était nécessaire de vérifier également que
la personne qui dépose la mission doit être différente de la personne qui la valide.
5 Conclusion et travaux futurs
Cet article a présenté une modification de l’environnement MOP pour lui ajouter des car-
actéristiques de test. Nous croyons que cette technique est assez générale pour ouvrir une
nouvelle approche pour tester et surveiller des propriétés de sécurité sur une application.
Cette approche, appelée surveillance active, présentée ici comme un « proof-of-concept »
nous amène à la possibilité d’intégrer des moniteurs complexes dans une application. Nous
avons choisi le framework MOP pour sa généralité, et sa généricité, mais d’autres peuvent
être choisis. Nous soutenons que les extensions présentées dans notre framework suivent
la même philosophie. La représentation des cas de test abstraits et leur exécution sont
intégrés de façon générique.
Ce travail nous semble un premier pas vers l’utilisation commune de techniques héritées
de deux techniques populaires de validation. Plusieurs directions de travail sont ouvertes.
Tout d’abord la sélection (guidée par un scénario) d’un chemin dans le moniteur qui mène
vers une propriété se doit d’être définie formellement. Nous cherchons également à inté-
grer des notions pour mesurer la qualité des tests comme la couverture (exprimée par exem-
ple en terme d’appels aux interfaces). Aussi, nous prévoyons d’implémenter complètement
cette approche dans un outil de sécurité pour les applications.
Références[1] Yliès Falcone, Jean-Claude Fernandez, Laurent Mounier, and Jean-Luc Richier. A test calculus
framework applied to network security policies. In FATES/RV, 2006.
[2] Yliès Falcone, Jean-Claude Fernandez, Laurent Mounier, and Jean-Luc Richier. A compositional
testing framework driven by partial specifications. In TESTCOM/FATES, 2007.
[3] Feng Chen, Marcelo D’Amorim, and Grigore Rosu. Checking and correcting behaviors of java
programs at runtime with java-mop. In Workshop on Runtime Verification (RV’05), volume 144(4)
of ENTCS, 2005.
[4] G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J-M. Loingtier, and J. Irwin. Aspect-
oriented programming. In Proceedings European Conference on Object-Oriented Programming,
volume 1241. Springer-Verlag, 1997.
[5] Feng Chen and Grigore Rosu. Java-mop : A monitoring oriented programming environment for
java. In Proceedings of the Eleventh International Conference on Tools and Algorithms for the
construction and analysis of systems (TACAS’05), volume 3440 of LNCS. Springer-Verlag, 2005.
[6] C. Artho, D. Drusinsky, A. Goldberg, K. Havelund, M. Lowry, C. Pasareanu, G. Rosu, and W. Visser.
Experiments with test case generation and runtime analysis, 2003.
[7] P. Avgustinov, E. Bodden, E. Hajiyev, L. Hendren, O. Lhoták, O. de Moor, N. Ongkingco, D. Sereni,
G. Sittampalam, J. Tibble, and M. Verbaere. Aspects for trace monitoring. In Formal Approaches
to Testing Systems and Runtime Verification (FATES/RV), LNCS. Springer, 2006.
[8] Vlad Rusu, Hervé Marchand, and Thierry Jéron. Automatic verification and conformance testing
for validating safety properties of reactive systems. In John Fitzgerald, Andrzej Tarlecki, and Ian
Hayes, editors, Formal Methods 2005 (FM05), LNCS. Springer, July 2005.
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
40 |
[9] Vlad Rusu. Verification using test generation techniques. In FME ’02 : Proceedings of the In-
ternational Symposium of Formal Methods Europe on Formal Methods - Getting IT Right, pages
252–271, London, UK, 2002. Springer-Verlag.
[10] Alan Hartman. Model based test generation tools survey. Technical report, AGEDIS Consortium,
11 2002.
[11] Zohar Manna and Amir Pnueli. Temporal verification of reactive systems : safety. Springer-Verlag
New York, Inc., New York, NY, USA, 1995.
[12] ETSI’s official TTCN-3 home page, 2007. http ://www.ttcn-3.org.
[13] Alexandra Cavarra. The UML testing profile - an overview. Technical report, AGEDIS Consortium,
2002.
[14] Rnrt Politess, 2007. http ://www.rnrt-politess.info.
[15] Yliés Falcone and Laurent Mounier. A travel agency application dedicated to the case studies
of test generation and policy enforcement techniques. Technical Report TR-2007-7, Verimag Re-
search Report, 2007.
[16] Diala Abi Haidar. A global security policy for the Travel agency application. Technical report,
France Telecom R&D, Politess Project, 2006.
Schedae, 2007, prépublication n° 12, (fascicule n° 2, p. 31-40).
| 41
Prépublication n° 13 | Fascicule n° 2
Contrôle de la réplicationdans les SGBD temps réel distribués
Anis Haj Said, Laurent Amanton, Bruno SadegLaboratoire d’Informatique, de Traitement de l’Information et des Systèmes (LITIS) – Université du Havre
[email protected], [email protected], [email protected]
Béchir AyebPôle de Recherche en Informatique du Centre (PRINCE) – Université de Monastir
Résumé :
La réplication des données représente une alternative intéressante pour les systèmes de gestion
de bases de données temps réel distribués (SGBDTRD) puisque la disponibilité des données
sur plusieurs sites pourrait augmenter les chances de respecter les échéances des transactions.
Cependant, ces systèmes doivent assurer la mise à jour et la cohérence des différentes copies
des données. Afin de satisfaire ces exigences, les SGBDTRD doivent implémenter des protocoles
de contrôle de réplication adaptés. Dans ce papier, nous discutons de l’intérêt de répliquer les
données dans les SGBDTRD et nous présentons RT-RCP, un protocole de contrôle de réplication
que nous avons conçu pour gérer la réplication des données dans un contexte temps réel. Le
défi est d’assurer la mise à jour des copies sans pour autant affecter le respect des échéances
des transactions. Pour cela, RT-RCP tolère l’apparition d’incohérences entre les copies tout en
empêchant les accès aux données non-fraîches.
Mots-clés : base de données, temps réel, réplication, protocole de réplication, transac-
tion.
1 Introduction
Les SGBDTR sont utilisés essentiellement pour gérer les données dans les systèmes temps
réel (STR), puisque les base de données classiques ne sont pas en mesure de garantir la
prévisibilité et le respect des contraintes temporelles de ces systèmes [1, 2]. Les STR étant
généralement distribués [2], la gestion des données dans ces systèmes nécessite des sys-
tèmes de gestion de base de données temps réel distribués (SGBDTRD).
Anis Haj Said, Laurent Amanton, Bruno Sadeg, Béchir Ayeb« Contrôle de la réplication dans les SGBD temps réel distribués »Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
42 |
La réplication des données est utilisée dans les SGBD distribués afin d’augmenter la
disponibilité des données permettant aux transactions de s’exécuter sur n’importe quel
site du système et ainsi diminuer le temps de réponse des transactions. Cet aspect peut
favoriser le respect des contraintes temporelles des transactions dans les SGBDTRD. En
effet, la réplication des données permet de mieux distribuer la charge du système sur tous
les sites permettant une exécution plus rapide des transactions et favorisant ainsi le re-
spect des échéances temporelles des transactions. La réplication des données répond aux
exigences des applications temps réel puisque ces dernières présentent souvent des con-
traintes temporelles sur le temps d’accès aux données aussi bien que l’accès à des données
à durées de validité. Cependant, l’utilisation de la réplication des données nous amène à
être vigilant par rapport à la cohérence de la base. En effet, permettre aux transactions de
manipuler plusieurs copies d’une même donnée peut générer des incohérences [3].
Plusieurs recherches ont été dédiées au domaine de la réplication des données dans les
systèmes de base de données distribués et ont proposé plusieurs protocoles de contrôle
de réplication appliqués à différentes architectures de systèmes. On distingue deux prin-
cipaux modèles pour ces protocoles. Le modèle de réplication synchrone [4] et le modèle
de réplication asynchrone [5]. Dans le premier modèle, une transaction doit se synchroniser
avec toutes les copies qu’elle modifie avant validation. Alors qu’avec le deuxième modèle,
les modifications introduites par une transaction sont propagées aux autres sites seulement
après validation de la transaction.
On distingue aussi deux architectures principales qui déterminent l’emplacement de
l’exécution de la transaction [6]. La première est l’architecture primary copy dans laquelle
chaque donnée possède une copie primaire dans un site spécifique (serveur). Les trans-
actions sont seulement exécutées sur les serveurs des données qu’elles manipulent et les
mises à jour sont envoyées aux autres copies sur les autres sites. Dans la deuxième archi-
tecture, update everywhere, les transactions peuvent être exécutées sur n’importe quel site
du système et toutes les copies des données modifiées sont mises à jour ultérieurement.
D’autres études se sont intéressées à la réplication des données dans les SGBDTRD
[7, 8, 9]. Ces études prennent en compte l’aspect temps réel des transactions et des don-
nées. Les approches de réplication présentées dans ces études proposent d’utiliser soit
l’architecture primary copy pour mettre à jour les réplicas d’une manière déterministe [7]
soit les protocoles de contrôle de concurrence adaptés avec des protocoles de validation
distribués pour la sérialisation des mises à jour [9] ou encore des critères de similarité tels
que l.pdfilon-sérialisabilité afin de tolérer des incertitudes dans les valeurs des copies [8].
Dans [7], Wei et al. proposent le protocole de réplication ORDER (On-demand Real-Time
Decentralized Replication) dans lequel les mises à jour des réplicas sont faites par le pri-
mary copy périodiquement. Les périodes varient selon les besoins des transactions temps
réel et la charge du système. L’incovénient des protocoles de mises à jour à la demande
est le temps nécessaire pour mettre à jour une donnée obsolète. En effet, les transactions
temps réel, une fois lancées, sont obligées d’attendre les mises à jour des données non
fraîches nécessaires, ce qui peut provoquer le dépassement de leur échéance. En plus,
en cas de surcharge du système, un site primary copy devient un goulet d’étranglement
[10, 3]. Xiong et al. proposent MIRROR (Managing Isolation in Replicated Real Time Ob-
ject Repositories) [9], qui est un protocole de contrôle de concurrence pour les SGBDTR
répliqués, qui intègre au protocole O2PL [11] un méchanisme qui détermine les priorités
des transactions selon leur état d’exécution afin d’améliorer les performances du SGBDTR.
L.pdfilon-sérialisabilité est une autre approche proposée par Son et al. [8]. Elle consiste à
tolérer des imprécisions limitées dans les valeurs des données utilisées par les transactions
Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
| 43
temps réel. Dans cette approche, la cohérence de la base est sacrifiée en faveur du respect
des contraintes temporelles.
Le reste du papier est organisé comme suit. Dans la deuxième section, nous proposons
nos modèles et les hypothèses que l’on pose pour notre SGBDTRD. Puis, dans la section 3,
nous discutons de la contribution de la réplication des données dans les SGBDTRD. Ensuite,
nous présentons RT-RCP, un protocole de contrôle de réplication que nous avons conçu
pour les SGBDTRD (cf. section 4). Enfin, nous concluons par une discussion sur le protocole
RT-RCP et les perspectives que nous donnons à notre travail.
2 Modèles et hypothèses
2.1 Modèle des donnéesLes applications temps réel manipulent des données temporelles auxquelles sont associés
des intervalles de validité, dans lesquels les valeurs de ces données sont utilisables. Ces
données deviennent non-fraîches une fois que la borne supérieure de l’intervalle est dépas-
sée sans qu’elles ne soient mises à jour. Ces données sont mises à jour par des transactions
de mise à jour et sont également appelées données variantes. De plus, les applications
temps réel manipulent des données invariantes, qui dénotent celles dont les valeurs ne
changent pas au cours du temps. En d’autres termes, l’intervalle de validité des données
invariantes est infini. Un sous ensemble des données invariantes est utilisé par des transac-
tions temps réel.
On dénote par D l’ensemble des données de la base. Certaines données de l’ensem-
ble D sont plus critiques pour le fonctionnement du système que d’autres. On dénote
l’ensemble des données critiques par Dcritique. Cet ensemble comporte l’ensemble des
données variantes et une partie des données invariantes puisqu’elles sont manipulées par
des transactions temps réel. Ainsi, on définit deux sous-ensembles de données critiques
qui sont Dvarcritique et Dinvar
critique. Les autres données de la base sont utilisées seulement par
des transactions non temps réel et ne sont donc pas critiques pour le système. On dénote
l’ensemble de ces données par Dnon−critique. Généralement, Dnon−critique représente la
majeure partie des données dans un SGBDTR. Ce modèle a été adopté dans [12].
2.2 Modèle du systèmeNous proposons un modèle de système dans lequel les données de Dcritique sont totale-
ment répliquées. Chaque site contient une copie de chaque donnée de Dcritique. Chaque
site dans le système possède des listes associées à chaque donnée de Dinvarcritique. Dans
chaque liste relative à une donnée critique invariante se trouvent les sites dans lesquels
ses copies sont fraîches. En d’autres termes, ce sont des listes des copies disponibles de
chaque donnée dans Dinvarcritique. On dénote chaque liste associée à une donnée par LAC
(List of Available Copies).
2.3 Modèle des transactionsDans notre modèle, nous considérons que le SGBDTRD exécute des transactions temps
réel et des transactions non temps réel. En plus, pour les transactions temps réel, nous
considérons seulement les transactions strictes et non-critiques (firm-transactions) [13], qui,
lorsqu’elles dépassent leur échéance deviennent inutiles pour le système et sont abandon-
nées.
Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
44 |
2.4 HypothèsesDans cet article, nous considérons un SGBDTRD qui consiste en un ensemble de bases
de données résidentes en mémoire principale, connectées à un réseau haut-débit. Nous
supposons également que le temps de transmission de chaque message par le réseau est
prévisible. En plus, les messages envoyés par un site sont délivrés selon leur ordre d’émis-
sion (FIFO).
3 La réplication des donnéesdans les bases de données temps réel distribuées
La réplication des données est souvent utilisée dans les systèmes de bases de données
distribués afin d’augmenter la disponibilité et faciliter l’accès aux données. Ainsi, la perfor-
mance, la fiabilité et la disponibilité de tels systèmes peuvent être améliorées considérable-
ment à travers la réplication des données. Certaines données de la base sont plus critiques
que d’autres pour le fonctionnement du système (cf. 2.1). En se basant sur cette propriété,
un protocole de contrôle de réplication approprié pour les SGBDTRD doit tenir compte des
caractéristiques des données et de leur importance pour le système. Le protocole de répli-
cation doit assurer la disponibilité et l’accessibilité des données critiques afin de permettre
au système d’accomplir ses tâches principales, et d’améliorer ainsi sa performance qui est
le ratio des transactions qui respectent leur échéance.
La manipulation de plusieurs copies d’une donnée peut engendrer l’apparition d’inco-
hérences entre les copies. Les protocoles de réplication doivent garantir la cohérence des
copies afin d’éviter l’utilisation des copies non-fraîches par des transactions. L’idée la plus
simple consiste à adopter un modèle de réplication synchrone qui assure la cohérence des
copies. Cependant, l’utilisation de ce modèle peut augmenter considérablement la proba-
bilité de blocage et par conséquent le nombre de transactions abandonnées. En effet, avec
le modèle de réplication synchrone, une transaction ne peut être validée qu’après propa-
gation des mises à jour à toutes les copies des données modifiées. Ainsi, la durée de la
phase de validation de la transaction augmente en fonction du nombre de données et de
sites intervenant dans l’exécution de la transaction. Cette contrainte accroît la probabilité
que la transaction rate son échéance. Par conséquent, ce modèle ne convient pas pour la
mise à jour des réplicas des données dans Dinvarcritique.
Le modèle asynchrone, où les modifications effectuées par les transactions sont propa-
gées aux autres sites après validation, est souvent utilisé dans plusieurs systèmes de bases
de données commerciaux. La mise à jour asynchrone a pour effet de diminuer la charge
du système, par contre des incohérences parmi les copies peuvent survenir. Cette car-
actéristique ne signifie pas que la cohérence de la base n’est pas importante. Il est bien
connu des utilisateurs et des développeurs que la résolution des incohérences créées par
le modèle asynchrone peut être coûteuse et compliquée. En effet, afin de résoudre ce
problème et ramener la base dans un état cohérent, les systèmes de bases de données
utilisent des protocoles de réconciliation basée sur des techniques d’estampillage. Le pro-
tocole de réconciliation provoque l’annulation puis le redémarrage des transactions ayant
utilisé des données non-fraîches. Ce problème rend le modèle asynchrone inadéquat pour
les SGBDTRD, puisque l’annulation et le redémarrage des transactions peut affecter con-
sidérablement les performances du système.
L’inconvénient de ces deux modèles est que chaque site du système ne possède au-
cune information particulière sur l’état de la base localisée sur les autres sites du système
distribué. En effet, pour le modèle asynchrone, les transactions sont exécutées localement
sans se soucier de l’état des copies des données utilisées. Les incohérences sont détectées
Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
| 45
après l’achèvement de l’exécution de la transaction. Alors que pour le modèle synchrone,
les transactions sont forcées de mettre à jour toutes les copies des données impliquées
avant validation pour s’assurer qu’elles ont la même valeur.
Puisque les données dans les SGBDTRD ont des caractéristiques différentes, nous esti-
mons qu’un protocole de contrôle de réplication adapté aux données de l’ensemble
Dinvarcritique ne l’est pas forcément pour les données de l’ensemble Dvar
critique. Dans le para-
graphe suivant, nous présentons le protocole RT-RCP (Real Time Replication Control Pro-
tocol) afin de gérer les réplicas des données dans l’ensemble Dinvarcritique. RT-RCP autorise
l’apparition d’incohérences entre les copies des données, tout en empêchant les accès à
ces données jusqu’à leur mise à jour.
4 Le protocole RT-RCP
Les données dans l’ensemble Dinvarcritique sont utilisées par des transactions temps réel qui
doivent s’exécuter avant qu’elles ne dépassent leur échéance. Puisque généralement la
plupart des opérations exécutées par les transactions sont des opérations de lecture, la
disponibilité des données sur les différents sites du réseau distribué peut augmenter con-
sidérablement la probabilité que ces transactions respectent leur échéance.
Dans notre modèle, les données dans l’ensemble Dinvarcritique sont totalement répliquées,
ce qui permet aux transactions d’accéder aux données sur n’importe quel site. Répliquer
les données sur tous les sites nous amène à être vigilant par rapport à la cohérence des
copies des données critiques. En effet, quand une transaction modifie une donnée, ses
copies doivent être mises à jour en même temps ou bien suspendues d’accès jusqu’à leur
mise à jour. Autrement, il y aura un risque que d’autres transactions utilisent des données
obsolètes.
Puisque le temps nécessaire à la transmission d’un message est prévisible, un site peut
estimer le nombre de mises à jour qu’il peut exécuter tout en respectant l’échéance de la
transaction. En effet, si le temps disponible avant la validation est supérieur au temps maxi-
mum de transmission des informations de validation, alors la synchronisation des données
est réalisée immédiatement, sinon elle est différée pour être effectuée de manière asyn-
chrone. Pour chaque site distant, on envoie la liste des données à mettre à jour ainsi que
les nouvelles valeurs. Cet envoi est effectué que si le temps de transmission de ces données
est plus court que le temps restant avant validation, sachant que le temps de mise à jour
proprement dit reste négligeable devant le temps de communication.
L’idée principale de notre protocole est d’utiliser une approche mixte afin de mettre
à jour les copies des données dans l’ensemble Dinvarcritique. En fait, avec RT-RCP, un site qui
exécute une transaction met à jour d’une manière synchrone autant de copies que possible
avant validation et diffère les autres mises à jour après validation de la transaction.
La figure 1 illustre le fonctionnement de RT-RCP afin de mettre à jour les copies des
données qui sont utilisées par une transaction. Soit d une donnée dans l’ensemble Dinvarcritique
manipulée par la transaction T qui s’exécute sur le site 2. Lorsque la transaction T suscite un
accès en écriture sur la donnée d, elle requiert des verrous en écriture sur la copie locale de d
et sur ses copies. Ainsi, l’accès à d et ses copies est suspendu jusqu’à leur mise à jour. Durant
la phase de validation, le site 2 met à jour deux copies de d et libère les verrous en écriture
sur ces deux copies. Il ne peut pas faire plus car il doit assurer le respect de l’échéance de
la transaction. Après validation, le site 2 propage les modifications aux copies qui ne sont
pas encore mises à jour et libère les verrous en écriture.
D’un coté, le protocole RT-RCP essaye de respecter les contraintes temporelles des
transactions, et de l’autre coté, il tente de rendre disponibles les copies des données
Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
46 |
Fig. 1: Fonctionnement de RT-RCP.
manipulées. Ce fonctionnement de RT-RCP comporte un inconvénient qui peut être décrit
par la situation suivante :
Soit T ′ une transaction lancée sur le site 4 après les mises à jour synchrones propagées
par la transaction T . Afin de distribuer l’exécution de la transaction sur les différents sites
du système, T ′ est divisée en sous-transactions T ′1, ....., T ′
n (1 < n ≤ N avec N le nombre de
sites dans le système). Puisque les données dans l’ensemble Dinvarcritique sont répliquées sur
tous les sites et puisque les sites ne possèdent aucune information sur l’état de la base de
donnée dans les autres sites, les sous-transactions de T ′ sont envoyées aléatoirement aux
sites participants. Soit T ′i (1 ≤ i ≤ n) une sous-transaction lancée sur le site k (1 < k ≤ n)
qui veut accéder à la donnée d. Deux cas peuvent se produire :
– La copie de la donnée d sur le site k est fraîche et ainsi la sous-transaction T ′i sera
exécutée normalement ;
– La copie de d n’est pas encore mise à jour et dans ce cas la sous-transaction T ′i sera
bloquée jusqu’a ce que le site k reçoive la nouvelle valeur de d et libère le verrou en
écriture.
Dans ce dernier cas, le blocage de la transaction T ′i peut provoquer le dépassement de son
échéance et ainsi son abandon. Alors que T ′i aurait pu avoir une chance de s’exécuter en
respectant son échéance si elle avait été lancée sur un site où la donnée d est fraîche.
L’abandon de transactions affecte les performances des SGBDTRD et doit être évité au-
tant que possible. Pour empêcher le deuxième cas de se produire, chaque site doit avoir des
informations sur l’état de la base de données sur les autres sites du système. Ces informa-
tions aident les sites à prendre des décisions adéquates lors du choix des sites participants
à l’exécution d’une transaction. En associant des listes de copies disponibles (LAC) avec
chaque donnée dans l’ensemble Dinvarcritique, un site peut lancer des sous-transactions sur les
sites où les données désirées sont disponibles. Chaque site qui détient des verrous en écri-
ture sur une donnée et ses copies doit mettre à jour chaque LAC relative à chaque copie de
cette donnée. Étant le seul responsable de la propagation des mises à jour, le site détenteur
des verrous en écriture est le seul à avoir des informations sur l’état de chaque copie de la
donnée verrouillée. Il informe ainsi les autres sites en joignant la liste LAC relative à cette
donnée avec chaque message de mise à jour.
Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
| 47
4.1 Mise à jour des listes LACsLa mise à jour des LACs se fait en deux étapes. La première étape de mises à jour est jointe
aux éventuelles mises à jour des copies des données modifiées lorsque la transaction entre
dans sa phase de validation. La deuxième étape commence lorsque toutes les copies des
données modifiées ont reçu les mises à jour. Ainsi, on établit une nouvelle étape d’échange
de messages pour la mise à jour des LACs. Les figures Fig. 2, Fig. 3, Fig. 4 et Fig. 5, illustrent
les modifications des LACs au cours de l’utilisation du protocole RT-RCP pour le même
exemple que celui dans Fig. 1.
Les LACs associées aux copies de la donnée d contiennent l’ensemble des sites dans
lesquels les copies de d sont à jour. Supposons qu’initialement (Fig. 2) les copies de d sont
fraîches sur tous les sites. Ainsi, chaque LAC comporte comme éléments les cinq sites du
système. Afin de permettre à la transaction d’exécuter des opérations d’écriture sur d, le
site 2 verrouille en écriture sa copie locale de d et demande les verrous en écriture sur les
copies de d aux autres sites (Fig. 3).Chaque site envoie un message de confirmation au site
2 lorsque sa copie locale de d est verrouillée et modifie sa LAC pour ne contenir que le site
2. Quand les verrous sont détenus par le site 2, ce dernier se comporte comme une primary
copy de la donnée d. Chaque transaction qui a besoin de la donnée d est automatiquement
envoyée au site 2 pour y être exécutée. Pendant la phase de validation (Fig. 4), et puisque
le temps nécessaire pour l’envoi d’un message est prévisible, le site 2 ne peut mettre à jour
que les copies de d du site 1 et 4, sinon la transaction T risque de rater son échéance. Une
nouvelle liste LAC est jointe au message de la mise à jour dans lequel figurent les trois sites
où les copies de d seront à jour. Le but de l’envoi des mises à jour avant la validation de
la transaction est de mettre en disponibilité aussi rapidement que possible les copies de d.
En effet, lorsque le site 2 détient les verrous en écriture sur d, il se comporte comme une
primary copy de d et il devient ainsi un goulet d’étranglement [10]. Après validation de la
transaction (Fig. 5), le site 2 envoie les modifications aux sites qui n’ont pas encore de mise
à jour pour d et sa LAC. Le site 2 envoie d’abord un message au site 5 contenant la mise à
jour de la copie de d et une nouvelle liste LAC contenant les trois sites précédemment mis
à jour en plus du site 5. De même, la liste LAC envoyée au site 3 contiendra les cinq sites
du système.
site 1
site 2
site 3
site 5site 4
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
Fig. 2: État initial du système.
site 1
site 2
site 3
site 5site 4
2
2
22
2
Fig. 3: Demande de verrous.
À ce stade du protocole RT-RCP, toutes les copies de d sont fraîches. Cependant, les
LACs contiennent des informations différentes selon l’ordre de réception de la mise à jour.
Une fois la propagation des modifications achevée, le site 2 envoie une nouvelle LAC à
chaque site du système contenant les cinq sites.
L’objectif du protocole RT-RCP est de mettre à jour les réplicas des données modifiées
sans que cela n’affecte les performances du système. RT-RCP répond aux exigences des
transactions temps réel en garantissant le respect de leur échéance (la mise à jour des
réplicas ne provoque pas le dépassement de l’échéance de la transaction) et en rendant
disponible à l’accès autant de réplicas que possible. Cependant, le coût de l’étape
Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
48 |
site 1
site 2
site 3
site 5site 4
2
2,1,4
2,1,4
2,1,4
2
Fig. 4: Mises à jour synchrones.
site 1
site 2
site 3
site 5site 4
2,1,4
2,1,42,1,4,5
2,1,4,5,3
2,1,4,5,3
Fig. 5: Mises à jour différées.
supplémentaire d’échange de messages nécessaire à la mise à jour des LACs peut affecter
les performances du système en cas de surcharge. Les simulations qu’on envisage de faire
nous permettront de conclure, selon le comportement du système, sur l’efficacité de RT-
RCP.
5 Conclusion et perspectives
Le protocole RT-RCP trouve un compromis entre le respect des contraintes temporelles des
transactions et la mise à jour des réplicas. En effet, RT-RCP ne se soucie pas de mettre à
jour tous les réplicas d’une manière synchrone. Il le fait tant que l’échéance de la transaction
peut être respectée et il diffère les mises à jour restantes après validation de la transaction.
Comme résultat, on a un niveau de réplication dynamique des données qui varie selon la
charge du système et les contraintes temporelles des transactions temps réel.
RT-RCP assure l’utilisation des données fraîches par les transactions temps réel. En effet,
les sites se réfèrent aux listes LAC de chaque copie afin de faire un choix adéquat des
participants à l’exécution d’une transaction. Puisque chaque LAC relative à une donnée est
délivrée par le site qui détenait les verrous en écriture sur toutes les copies de cette donnée,
alors les sites figurant dans une LAC ne peuvent contenir qu’une copie fraîche de la donnée.
Notons que le fonctionnement de ce protocole nécessite deux étapes d’échanges de
messages entre le site sur lequel s’exécute la transaction et les autres sites du système
distribué. Le coût de ces échanges pourrait alors être élevé en cas du surcharge du système.
L’une des perspectives de notre travail consiste d’abord à tester notre protocole RT-RCP
sur un simulateur développé dans notre équipe de recherche et ensuite de coupler ce pro-
tocole avec un système tolérant aux fautes se basant sur une architecture primary/backup.
Références[1] K. Ramamritham. Real-Time Databases. Journal of Distributed and Parallel Databases, 1(2) :199–
226, 1993.
[2] K. Ramamritham, S.H. Son, and L.C. Dipippo. Real-Time Databases and Data Services. Real-Time
Systems, 28 :179–215, 2004.
[3] J. N. Gray, P. Holland, D. Shasha, and P. O’Neil. The dangers of Replication and a Solution. In
1996 ACM SIGMOD on Management of Data, pages 173–182, Montreal, Canada, 1996.
[4] P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database
Systems. Addison-Wesley, 1987.
[5] C. Pu and A. Leff. Replica Control in Distributed Systems : An Asynchronous Approach. In J. Clifford
and R. King, editors, Proc. of the ACM SIGMODonManagement of Data, Denver, Colorado, pages
377–386. ACM Press, 1991.
[6] J. Gray. The Benchmarks HandBook for DataBases and Transaction Processing Systems. Morgan
Kaufmann, 1993.
Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
| 49
[7] Y. Wei, A. A. Aslinger, S. H. Son, and J. A. Stankovic. Order : A Dynamic Replication Alogorithm
for Periodic Transactions in Distributed Real-Time Databases. In 10th International Conference on
Real Time and Embedded Computing Systems and Applications (RTCSA 2004), 2004.
[8] S. H. Son and F.Zhang. Real-Time Replication Control for Distributed Database Systems : Al-
gorithms and Their Performance. In Proc. of the 4th Intl. Conf. DASFAA’95, Singapore, pages
214–221, 1995.
[9] M. Xiong, K. Ramamritham, J. R. Haritsa, and J. A. Stankovic. Mirror : a State-Conscious Concur-
rency Control Protocol for Replicated Real-Time Databases. Inf. Syst., 27(4) :277–297, 2002.
[10] M.Wiesmann, F. Pedone, A. Schiper, B. Kemme, andG. Alonso. Database Replication Techniques :
A Three Parameter Classification. In Proceedings of 19th IEEE Symposium on Reliable Distributed
Systems (SRDS2000), Nürenberg, Germany, 2000. IEEE Computer Society.
[11] R. Abbott and H. Garcia-Molina. Scheduling Real-Time Transactions : A Performance Evaluation.
In 14th Int. Conf. on Very Large Data Bases (VLDB), pages 1–12, Los Angeles, California, March
1988.
[12] L. Shu, J. Stankovic, and S. Son. Real-Time Logging and Failure Recovery. In In IEEE Real-Time
Technology and Applications Symposium, 2002.
[13] C. Duvallet, Z. Mammeri, and B. Sadeg. Les SGBD Temps Réel. Technique et Science Informa-
tiques, 18(5) :479–517, 1999.
Schedae, 2007, prépublication n° 13, (fascicule n° 2, p. 41-49).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
Modélisation
session 3
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 51
Prépublication n° 14 | Fascicule n° 2
Vers une approche orientée servicespour l’aide au handicap
Saïd Lankri, Alexandre Abellard, Pascal Berruet, André Rossi, Jean-Luc PhilippeLaboratoire d’Électronique des Systèmes TEmps Réel (CNRS FRE 2734)
Université de Bretagne-Sud
[email protected], [email protected], [email protected], [email protected],
Résumé :
Ce papier s’intéresse à la construction d’un système d’aide au handicap et de maintien des per-
sonnes à domicile à travers deux aspects fondamentaux consistant pour le premier en la modéli-
sation de l’espace de vie et pour le deuxième en la modélisation de la proposition de services.
L’usager sur fauteuil roulant dans sa maison ou en institut de rééducation se voit offrir par le sys-
tème les services courants de la vie quotidienne, en sélectionne un et le système se charge d’éla-
borer un itinéraire correspondant à ses besoins, de piloter son fauteuil jusqu’à destination en enfin
activer les actions nécessaires à l’accomplissement du service. Notre approche vise aussi bien les
petites structures que les grands centres de soins et par conséquent adopte volontairement une
stratégie répartie pour le système d’assistance au handicap. Nous proposons une modélisation
d’espace de vie décentralisée répartie ainsi qu’un modèle de services tolérant aux pannes pour
assurer une qualité de service suffisante en plus de mécanismes sécurité pour les usagers. Le
système ainsi obtenu se distingue des autres travaux antérieurs du fait de son homogénéité et
de sa complétude.
Mots-clés : assistance au handicap, maintien à domicile, contrôle environnemental, do-
motique, modélisation.
1 Introduction et Contexte
Durant ces cinquante dernières années, l’espérance de vie de la population française a
augmenté de quinze ans en moyenne 1. Cette croissance va s’accentuer dans les prochaines
décennies et la pyramide des âges s’en retrouvera complètement boulversée. De plus en
plus de personnes âgées, ajoutées aux personnes handicapées auront besoin d’assistance
1. Source : Institut National d’Études Démographiques. http ://www.ined.fr.
Saïd Lankri, Alexandre Abellard, Pascal Berruet, André Rossi, Jean-Luc Philippe« Vers une approche orientée services pour l’aide au handicap »
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
52 |
dans leur vie de tous les jours, afin de maintenir leur mobilité, leur autonomie et un certain
degré de confort et d’indépendance. Au vu de ces tendances, on peut craindre un manque
de ressources humaines et de structures d’accueil pour prendre en charge ces personnes
dépendantes. Par conséquent, des solutions reposant sur des technologies informatiques et
électroniques doivent être rapidement trouvées afin de maintenir ces personnes à domicile
et leur conférer un maximum d’autonomie. Le but étant de compenser l’âge avancé ou bien
le handicap par de la technologie d’assistance.
Afin d’accomplir cet objectif, nous nous plaçons dans un environnement domotique,
c’est-à-dire un espace de vie (maison ou centre spécialisé) équipé d’appareils électriques
ou électroniques contrôlables via une interface homme-machine. La domotique peut être
définie comme l’application de l’informatique et/ou de la robotique au domaine du main-
tien des personnes à domicile et aux bâtiments intelligents. Parmi les nombreuses appli-
cations nous pouvons citer les maisons intelligentes (Smart Homes en Anglais) : il s’agit de
maisons (ou plus généralement de complexes résidentiels) aménagées de façon à pouvoir
fournir toute une panoplie de services utilisés quotidiennement de manière automatisée et
simple. Ces maisons sont équipées de capteurs et d’actionneurs permettant d’ajuster au-
tomatiquement la température, d’ouvrir les volets dès qu’il fait jour, d’allumer les lumières à
l’arrivée d’un individu, etc. La domotique rejoint un domaine de recherche encore plus large
qui est ce que l’on appelle l’informatique omniprésente (Ubiquitous Computing en Anglais)
dont les objectifs sont de mettre un ordinateur ou contrôleur électronique dans chaque ob-
jet de la vie quotidienne et d’accroître le nombre de services automatisés. Comme exemples
de cette informatique omniprésente, nous pouvons citer le paiement des places de parking
et le règlement de petits achats avec un téléphone portable.
À plus grande echelle, on peut également noter dans les initiatives récentes, le « labora-
toire d’accessibilité de la Gare Montparnasse (Paris) » de mai à juillet 2006, qui met en œu-
vre une série d’aménagements pour les personnes handicapées : cheminements podotac-
tiles de guidage et bandes au sol de différents types permettent de guider une personne
malvoyante munie d’une canne, ou borne à l’entrée d’un ascenseur permettant de délivrer
des informations sonores ou en braille indiquant les services installés à chaque étage. Quant
à l’informatique omniprésente, elle peut trouver des applications directes dans le domaine
des maisons intelligentes comme montré dans [1], en permettant d’associer a chaque ac-
tivation d’appareil un choix par défaut calculé grâce à un Réseau Bayésien à partir des
habitudes des utilisateurs, ainsi que d’éventuelles activations supplémentaires. Ce réseau
permet de modéliser les relations entre les actions des utilisateurs et les appareils à con-
trôler. Au niveau des entreprises, on peut noter un certain intérêt pour ce secteur qui sera
probablement économiquement très porteur dans quelques années. Ainsi, la société H2AD
(Grenoble), spécialisée dans les solutions innovantes médico-techniques et l’assistance des
personnes âgées à domicile, a conçu cinq appartements dotés d’équipements communi-
cants, permettant d’analyser à distance un trouble du comportement, à la suite d’une chute,
d’une attaque ou d’une déshydratation, et d’émettre ainsi des alarmes.
Toutes ces initiatives sont récentes et témoignent d’une certaine dynamique dans ce do-
maine. Néanmoins, très peu de ces réalisations ont donné lieu à des résultats scientifiques
diffusés en revue ou en conférence. De plus, il manque manifestement une vision d’ensem-
ble car il s’agit le plus souvent d’un assemblage de procédés indépendants. Par ailleurs,
ces projets ne s’adressent qu’à une personne seule vivant dans un espace relativement ré-
duit, et ne sont pas généralisables facilement à un espace de vie plus grand, où cohabitent
plusieurs personnes.
Le présent document est structuré comme suit : nous abordons en premier lieu le dé-
coupage de l’espace de vie et la distribution des informations pour obtenir un modèle
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
| 53
décentralisé et distribué. Nous explicitons aussi la technologie choisie pour connecter les
équipements domotiques. Ensuite nous abordons la modélisation de l’offre de services du
système dans ce contexte distribué, nous explicitons les relations entre les deux modèles
et les coopérations nécessaires afin de délivrer le service voulu. Nous abordons aussi les
notions de tolérance aux pannes à travers des processus de reconfiguration de services et
terminons par des aspects orientés développeur pour concevoir de tels systèmes avec des
techniques de haut-niveau.
2 Modélisation de l’espace de vie
2.1 GénéralitésLe système proposé doit être en mesure de s’adapter tant aux domiciles des personnes
qu’aux structures plus grandes telles que les centres de rééducation. La modélisation de
l’espace de vie a fait l’objet de nombreux travaux antérieurs et consiste en la transformation
en données manipulables par des machines de l’espace physique dans lequel évoluent les
usagers sur leurs fauteuils roulants. Le choix d’une représentation dépend pour une très
grande partie de l’exploitation qui sera faite des données, et aussi dans unemoindremesure
de l’espace nécessaire pour stocker le volume de données obtenu. Concernant les espaces
de vie, deux grandes familles se dégagent l’une topologique et l’autre métrique. Pour la
première, les régions accessibles de l’espace de vie sont représentées par des nœuds d’un
graphe et les parcours possibles entre ces régions par des arêtes. Cette modélisation est
simple et permet l’application de techniques de recherche de chemins et de navigation
courantes via une discrétisation de l’espace en régions adjacentes selon une granularité
choisie en fonction des besoins, comme les topologies sous forme de grilles.
Pour la deuxième, l’espace de vie est modélisé via une représentation dite d’apparence,
consistant essentiellement en des distances et des angles.
Outre la finalité d’utilisation, les représentations topologiques sont adoptées le plus
souvent lorsque l’environnement est connu a priori, tandis que les représentationsmétriques
sont adoptées lorsque l’entité navigante (e.g. un robot) ne connaît pas le terrain où est
déployée, et qu’elle utilise des dispositifs basés sur l’apparence pour explorer le terrain.
Dans ce cas, des caméras et des capteurs de distance et d’angles renvoient des données
métriques utilisées dans le double but de construire premièrement une représentation de
l’environnement qui l’entoure, et deuxièmement de se repérer, procédé appelé SLAM (Si-
multaneous Localization and Mapping).
La répartition des données est aussi un aspect important du système. Par répartition
nous entendons la manière de les découper indépendamment du type de représentation
choisie. Il existe trois grandes manières d’organiser l’information dans sa dimension spa-
tiale : l’approche centralisée, l’approche décentralisée et l’approche répartie. Enfin, il est
nécessaire de faire la distinction entre la répartition de l’information et des traitements. L’in-
formation peut être stockée demanière centralisée et traitée demanière distribuée, comme
cela est souvent le cas dans le domaine de l’animation ou du calcul scientifique.
Quelle que soit la représentation des données choisie, lorsque le volume de ces dernières
devient conséquent, les traitements s’en retrouvent naturellement alourdis et parfois même
leur fouille pose problème. Des solutions usuelles d’indexation peuvent être employées
pour réduire les temps d’accès aux données. Pour réduire les temps de traitements, des
techniques d’abstractions sont utilisées et consistent à diminuer la granularité des données
à traiter. Dans un graphe, on regroupe plusieurs nœuds d’un même super-nœud selon un
critère de similarité, la technique est appelée clustering de graphe et a fait l’objet de nom-
breux travaux [2, 3, 4]. Les questions qui se posent sont alors la définition des critères de
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
54 |
similarité et enfin d’évaluer la qualité du clustering, qui peut se faire sur plusieurs niveaux
d’abstractions, formant ainsi un dendrogramme (un graphe hiérarchique clusterisé).
2.2 Le modèle proposéNotre système sera déployé au sein du Centre Mutualiste de Rééducation et de Réadap-
tation Fonctionnelles de Kerpape, par conséquent l’espace de vie est connu à l’avance et
le choix d’une représentation topologique en découle. Nous optons pour un modèle de
graphe dont certaines arêtes sont orientées avec attributs sur les nœuds et les arêtes. Les
divers attributs serviront entre autres à stocker des informations concernant les distances à
parcourir pour évaluer les positions des fauteuils ainsi que les droits d’accès aux nœuds et
aux arêtes pour assurer la sécurité des utilisateurs.
La modélisation répartie – L’architecture matérielle déployée est en faveur d’une distribu-
tion de l’information répartie. Le centre est équipé de plusieurs bornes fixes (des ordina-
teurs peu performants à bas coût), chacune d’elles couvrant une zone géographique du
bâtiment. Par conséquent, le modèle topologique est distribué de manière à correspondre
à cette couverture. Les bornes fixes contiennent en plus de leurs modèles, des parties des
modèles des autres bornes afin d’assurer un recouvrement des informations, en utilisant un
mécanisme de clustering dans lequel les méta-nœuds correspondent aux bornes (cf. Fig. 1).
Ce recouvrement des informations possède l’avantage de faire de la réplication partielle,
ainsi si une borne tombe en panne, une copie des données même partielle reste disponible.
Fig. 1: Distribution des informations cartographiques entre bornes.
La recherche de chemins – La recherche de chemins est toujours lancée de la borne sous
laquelle se trouve l’usager et est à charge de celle-ci, elle a pour objectif de trouver un
itinéraire d’une source à une destination souhaitée. Cette borne favorise l’utilisation des
modèles qu’elle contient et télécharge les modèles manquants si nécessaire pour constru-
ire un chemin de la position actuelle jusqu’à la destination. Les modèles à télécharger sont
déterminés grâce à des tables de routage entre les bornes : connaissant la borne sous
laquelle se trouve le nœud de destination, les tables de routage déterminent les bornes
intermédiaires par lesquelles il faut passer, il s’agit en quelque sorte d’une recherche de
chemins au niveau des bornes, puis la borne actuelle télécharge leurs modèles et effectue
une recherche de chemins au niveau des nœuds.
Un modèle dynamique – Le modèle proposé est dynamique. En effet, lorsqu’il y a une réor-
ganisation des lieux de vie, par exemple suite au déplacement du mobilier, les informations
sont mises à jour au niveau de la borne qui couvre la région concernée par l’administra-
teur du site. Ceci pose un problème de cohérence car d’anciennes copies du modèle sont
disponibles dans les bornes voisines. Pour remédier à ce problème, un système de versions
des clusters a été mis en place. Chaque mise à jour du modèle d’une borne est suivie d’une
incrémentation de son numéro de version, que les bornes voisines se chargent de vérifier
avant d’utiliser les copies dont elles disposent. Pour réduire les temps de traitement et les
échanges entre bornes, les chemins calculés par une borne sont mis dans son cache, avec
les numéros de versions des modèles qu’ils traversent, qui sont vérifiés à chaque fois que
le même chemin est demandé.
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
| 55
La planification conjointe – Dans un contexte multi usagers, les chemins calculés par le sys-
tème peuvent conduire à des engorgements du trafic des fauteuils, car ils sont déterminés
indépendamment les uns des autres. Pour éviter cela, le système doit en plus procéder à
une planification conjointe dont le but est de déterminer de nouveaux chemins en tenant
compte des chemins déjà calculés. Le principe d’une planification conjointe est d’introduire
une dimension temporelle au processus de recherche de chemins. Concrètement, à chaque
nœud du graphe est ajoutée une information d’occupation dans le temps, et le système
s’assure qu’un nœud n’est pas occupé par plusieurs fauteuils. L’imprécision de navigation
des fauteuils rend impossible la prédiction des temps et intervalles de passages de ceux-
ci sur les nœuds, il n’est donc pas nécessaire d’effectuer la planification tout au long du
chemin calculé par la borne fixe. Pour faire de la planification conjointe, le système calcule
un chemin complet de la source jusqu’à la destination sans tenir compte des autres chemins,
puis au fur et à mesure de l’exécution du parcours, il vérifie qu’il n’y a pas de conflit pour
une petite partie des nœuds qui restent à parcourir. Il s’agit en fait de calculer un chemin
complet et de faire de la planification conjointe dans une fenêtre à dimension réduite que
l’on fait glisser vers l’avant [5].
3 Modélisation de l’offre de services
Outre les aspects navigation, le système propose aussi aux usagers des services mis à leur
disposition dans le centre de rééducation ou à leur domicile. Il s’agit de services de la vie
quotidienne tels que l’ouverture de portes ou l’utilisation de téléviseurs visant à fournir une
certaine autonomie aux personnes lourdement handicapées. Les appareils fournissant ces
services sont reliés entre eux via un bus domotique de type EIBus sur lequel sont envoyées
des commandes pour les piloter. Des liaisons infrarouges (via des ports USB) sont aussi
disponibles pour piloter les téléviseurs et tout appareil ne pouvant être connecté directe-
ment au bus.
3.1 TerminologieLe modèle de services élaboré s’inspire des graphes fonctionnels [6] que l’on trouve dans
les systèmes automatisés de production (SAP) et reprend donc leur terminologie. Les équi-
pements domotiques représentent des ressources délivrant un ou plusieurs services élé-
mentaires. Les services sont dans notre cas de deux types : les opérations et les fonctions.
Une opération est une fonctionnalité du système réalisée par une ressource spécifique [7].
Les services élémentaires des ressources sont leurs opérations. Une fonction est une fonc-
tionnalité offerte directement par le système indépendemment de la ressource qui l’im-
plante.
Pour illustrer ces trois définitions, nous pouvons dire que « regarder la télévision » est
une fonction, car elle ne désigne aucun téléviseur particulier. Le téléviseur est une ressource
qui offre diverses opérations telles que Allumer, Éteindre. Nos ressources (équipements
domotiques) offrent donc des opérations (services élémentaires) et les fonctions du système
peuvent être implantées par diverses ressources.
Pour la représentation des fonctions, nous adoptons le modèle de graphe fonctionnel
introduit dans les SAP qui est un graphe dont les « sommets » représentent les fonctions
principales du système, comme la fonction « Produire ». Ces fonctions principales sont en-
suite décomposées en sous-fonctions sur plusieurs niveaux selon les choix de conception
jusqu’à aboutir aux fonctions élémentaires du graphe. Chaque fonction élémentaire peut
être mise en œuvre par une ou plusieurs ressources. Par conséquent, les fonctions élémen-
taires sont décomposées en opérations comme le montre la Fig. 2.
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
56 |
Fig. 2: Le modèle de services.
Outre le graphe fonctionnel, unmodèle de ressource est associé à chaque équipement
domotique. Il décrit les opérations offertes par la ressource, son fonctionnement interne,
ainsi que ses attributs, notamment un mécanisme de gestion de droits d’accès aux équi-
pements. La combinaison du graphe fonctionnel et des modèles de ressources forme notre
modèle de services. Chaquemodèle de services est en relation avec le modèle topologique
afin de pouvoir localiser les équipements. Concrètement, les ressources sont de deux types :
les ressources à activation locale liées au modèle topplogique au travers de nœuds d’acti-
vations qui servent à déterminer les bonnes positions pour en disposer, et les ressources à
activation distante qui ne nécessitent pas de position particulière pour les utiliser.
3.2 Le modèle proposéLe graphe fonctionnel consistant en une hiérarchie de fonctions permet une décomposi-
tion de la structure fonctionnelle du système. Tel qu’il est construit, il offre peu de détails
en vue d’une exploitation en cours de fonctionnement du système, c’est à dire des infor-
mations sur le séquencement et l’ordonnancement des diverses fonctions et opérations,
mais aussi aucune possibilité de diagnostic en vue d’une reprise sur erreur ou défaillance
d’une ressource. Nous proposons d’étendre le modèle sur ces deux aspects. Nous lui avons
donné un premier aspect dit de flux d’exécution qui spécifie clairement dans quel ordre les
actions (opérations ou fonctions) doivent être exécutées afin de répondre à la demande de
l’usager qui peut solliciter par exemple l’exécution d’une fonction principale ou tout sim-
plement d’une opération. Le deuxième aspect dit fonctionnel décrit l’incidence du succès
ou de l’échec d’une action sur l’action mère.
Fig. 3: Un scénario de vie modélisé par un graphe fonctionnel.
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
| 57
Pour ce faire, des opérateurs spécifiques ont été élaborés afin de rendre compte de ces
deux aspects en même temps. Chaque opérateur possède deux sémantiques, l’une fonc-
tionnelle et l’autre de flux d’exécution. Concernant la sémantique fonctionnelle, on souhaite
savoir si l’échec d’une action remet en cause l’exécution de l’action mère, pour cela, les
opérateurs classiques de logique ET et OU conviennent. Concernant le flux d’exécution, il
est nécessaire d’avoir à disposition un opérateur de séquence pour donner un ordre d’exé-
cution des actions, comme cela est le cas dans l’algèbre de processus ACPτ [8], ainsi qu’un
opérateur de parallélisme permettant de déclencher des actions en même temps. Voici un
exemple de scénario de vie décrit dans la Fig. 3.
Ici l’opération Sortie de la Chambre fournie par la pseudo-ressource Chambre néces-
site l’activation des services Off de HiFi et de Lumiere, du service Baisser de Volets et du
service Ouvrir de Porte. Le graphe fonctionnel se lit donc de haut en bas et sa formalisation
correspondante est :
Chambre.Sortir :=
(HiFi.Off · Volets.Off · Lumiere.Off) ‖ Porte.Ouvrir
L’opérateur ‖ en terme de flux d’exécution permet de lancer simultanément l’exécution
des deux actions opérandes et se termine lorsque les deux sont terminées. En terme fonc-
tionnel, son comportement est analogue à un ET logique. L’opérateur de séquence · en
terme de flux d’exécution permet de lancer dans l’ordre de ses opérandes les actions cor-
respondantes et se termine lorsque la dernière action est exécutée. En terme fonctionnel,
sa valeur est toujours vraie, quel que soit le retour des actions exécutées.
On voit alors comment ce graphe fonctionnel permet de modéliser avec une grande
précision le scénario de vie présenté. En effet, l’opérateur ‖ empêche de déclarer l’opération
Sortir en cas d’échec de l’ouverture de la porte, ce qui correspondant parfaitement à la
réalité et assure de plus la sécurité des usagers, surtout si ceux-ci sont en fauteuil roulant.
Quant à l’opérateur de séquence, il vaut toujours vrai mais sa véritable utilité réside dans
la tentative d’exécution de ses opérandes. Autrement dit, peu importe si l’extinction des
lumières échoue, ceci ne remet pas en cause la sortie de la chambre, par contre, il est bien
évidemment préférable d’essayer d’effectuer l’action.
Nous remarquons que les extensions fonctionnelles et de flux d’exécution apportées
au graphe fonctionnel font de lui bien plus qu’un modèle décrivant la structure fonction-
nelle des services. En effet, la valeur ajoutée consiste surtout en la possibilité de décrire
des alternatives d’exécution grâce à un opérateur de choix OU. Pour la fonction Regarder
la Télévision, plusieurs ressources peuvent la mettre en œuvre et par conséquent l’échec de
sa mise enœuvre par une ressource peut être compensé par une autre ressource. Le graphe
fonctionnel apporte donc un avantage en termes de reprise sur erreur et de reconfiguration.
4 Exploitation des modèles en environnement distribué
Dans un environnement complètement distribué, chaque borne dispose des informations
relatives à la zone qu’elle administre. Ces informations consistent en des données topologi-
ques des lieux ainsi qu’en les modèles de services qu’elle propose aux usagers. Lorsque
l’utilisateur a choisi un service, le système d’assistance commence par créer un nouveau
graphe fonctionnel pour la demande. Ce graphe a pour sommet (fonction principale) le
service recherché, puis la borne y attache un lien de type OU Logique. Elle demande aux
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
58 |
bornes qu’elle connaît et qui offrent le service de lui transmettre les modèles de services
pour la fonction souhaitée. Ces modèles sont ensuite attachés comme opérandes du OU
Logique, comme le montre la Fig. 4.
Fig. 4: Construction d’un graphe fonctionnel pour la sélection des configurations.
Par conséquent, chaque sous-graphe fonctionnel opérande de l’opérateur OU repré-
sente une configuration de la fonction de service demandée, autrement dit, une manière
de l’obtenir. La prochaine étape consiste à choisir une configuration pour offrir le service de-
mandé. Ce choix peut s’effectuer manuellement en proposant à l’utilisateur les différentes
possibilités, ou bien automatiquement selon des critères de proximité, de confort, etc. . .
Une fois la configuration choisie, une recherche de chemins est lancée pour atteindre les
ressources du graphe fonctionnel et activer les opérations pour chaque ressource à activa-
tion locale. L’avantage de notre modèle de services est qu’il n’est pas nécessaire de lui ap-
porter des modifications pour prendre en compte l’aspect recherche de chemins. En effet,
la procédure de recherche de chemins produit un chemin qui se traduit en termes de graphe
fonctionnel par des commandes (ou opérations) de déplacement (tourner, avancer. . .) à exé-
cuter par le fauteuil. Cet aspect commande est compatible avec les éléments présents dans
le graphe fonctionnel et son intégration devient naturelle.
De plus, le chemin calculé peut à son tour faire intervenir l’exécution d’autres services.
Ceci est le cas si par exemple pour aller d’un endroit à un autre l’ouverture d’une porte est
nécessaire. La porte étant une ressource comme une autre, l’intégration de son opération
Ouvrir se fait facilement dans le graphe fonctionnel.
5 Conclusion et Perspectives
Nous avons présenté un système d’aide au handicap dont la particularité est la claire sépara-
tion entre les modèles topologiques et de services. Les techniques classiques de recherche
de chemins y sont appliquées, ainsi que des techniques plus récentes de planification con-
jointe. L’aspect distribué du modèle d’espace de vie permet le déploiement du système
dans des structures à grande échelle. Quant à l’offre de service, elle repose sur des con-
cepts éprouvés dans le domaine des SAP adaptés et enrichis pour le handicap. Plusieurs
chambres du centre de Kerpape ont été équipés d’appareils domotiques qui sont déjà pi-
lotés par infrarouge et EIBus. Les communications entre équipements, bornes et fauteuils
se font grâce à des technologies standardisées telles que le Bluetooth, l’infrarouge et l’eth-
ernet. Actuellement, nous construisons la représentation topologique de ces lieux de vie
afin de mettre en œuvre la stratégie distribuée abordée et la planification conjointe, ainsi
qu’une modélisation des services sur des usages et scénarios types définis par le centre
de Kerpape. À terme, nous envisageons une approche centrée développeur, qui grâce aux
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
| 59
modèles permettra d’obtenir un système d’assistance au handicap sur mesure, avec des
transformations de modèles et de la génération automatique de code.
Références[1] N. Kushwaha, M. Kim, D. Yoon Kim, and W. Cho. An intelligent agent for ubiquitous computing
environments : Smart home UT-AGENT. In Second IEEE Workshop on Software Technologies for
Future Embedded and Ubiquitous Systems, 2004.
[2] P. Berkhin. Survey of clustering data mining techniques. Technical report, Accrue Software, 2002.
[3] J. Hartigan. Clustering Algorithms. Wiley, 1975.
[4] H. Spath. Cluster Analysis Algorithms. Ellis Horwood, 1980.
[5] D. Silver. Cooperative pathfinding. In Artificial Intelligence and Interactive Entertainment Confer-
ence, 2005.
[6] N. Dangoumau. Contribution à la gestion des modes des systèmes automatisés de production.
PhD thesis, Université des sciences et technologies de Lille, Septembre 2000.
[7] P. Berruet. Contribution au recouvrement des systèmes flexibles de production manufacturière :
analyse de la tolérance et reconfiguration. PhD thesis, Université des Sciences et Technologies de
Lille, Décembre 1998.
[8] J. A. Bergstra and J. W. Klop. ACP τ : A universal axiom system for process specification. In
Algebraic Methods : Theory, Tools and Applications. 1987.
Schedae, 2007, prépublication n° 14, (fascicule n° 2, p. 51-59).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
61
Lassaad Baati« Approche de modélisation DEVS à structure hiérarchique et dynamique »
Schedae
, 2007, prépublication n°15, (fascicule n°2, p. 61-70).
Schedae
,
2007
Approche de modélisation DEVSà structure hiérarchique et dynamique
Lassaad Baati
LSIS UMR-CNRS 6168
Domaine Universitaire de St Jérôme – Avenue Escadrille Normandie Niemen – 13397 Marseille cedex 20
Résumé :
La modélisation des structures variables devient cruciale pour la modélisation des systèmes
dynamiques. En effet, au delà de la dynamique du comportement, les modèles nécessitent un
changement plus profond (de structure) pour mieux représenter la dynamique de certains systè-
mes. Dans le but de résoudre les interrogations liées à la modélisation des structures dynami-
ques Diverses approches ont été fournies. Nous proposons « une approche de modélisation
DEVS à structure hiérarchique et dynamique », qui préserve le formalisme DEVS et permet une
modélisation à structure dynamique à travers un modèle DEVS atomique (modèle de structure),
ensuite nous décrivons le simulateur abstrait relatif à cette approche.
Mots-clés : Modélisation et simulation à événement discret, DEVS, structure variable/
dynamique, Structure hiérarchique, simulateur abstrait.
1 Introduction
La modélisation et la simulation ne cessent de s’imposer comme outils incontournables
pour analyser le comportement des systèmes dynamiques. Plusieurs méthodes ont été
proposées pour améliorer le processus d’analyse de comportement de ces systèmes. Ces
propositions tentent d’atteindre des modèles plus réalistes, assez simples et fortement
flexibles. Notre intérêt porte sur DEVS (
Discrete Event System Specification
) qui est un for-
malisme de modélisation des systèmes à événements discrets. Des efforts ont été conduits
pour adapter ce formalisme à différents domaines et situations. Dans ce vaste créneau,
nous nous penchons vers la problématique de la structure dynamique en cours de simula-
tion. En effet, les modèles dynamiques peuvent changer leur structure dans le but de
s’adapter à différentes situations [1], aussi en vue d’avoir une structure optimale de simula-
tion [2]. En fait, un système à structure dynamique a un comportement dynamique assez
profond pour qu’un changement de la structure du système devienne nécessaire pour
réussir une simulation.
Prépublication n° 15 Fascicule n° 2
62
Schedae
,
2007, prépublication n°15, (fascicule n°2, p. 61-70).
Différentes approches basées ou proches du formalisme DEVS ont été proposées
pour résoudre la problématique de la structure dynamique, relativement à des domaines
spécifiques. Ces approches procèdent à des modifications du formalisme DEVS [3] pour
appliquer de façon dynamique le changement de structure. Elles ajoutent des fonctions [4]
ou des variables [5] pour appliquer les changements de structure. Cependant, le change-
ment de structure ne peut pas être au détriment de la modularité ni de la réutilisabilité.
Encore il serait intéressant de conserver les propriétés de DEVS. Dans ce contexte, nous
proposons une approche de modélisation à structure dynamique qui préserve les pro-
priétés du formalisme DEVS. Cette approche utilise un modèle atomique DEVS (modèle
de structure) pour gérer la structure dynamique d’un modèle DEVS couplé.
Cet article est organisé comme suit. Dans la section II nous rappelons le formalisme
DEVS, en distinguant les modèles atomiques et couplés. Dans la section III nous présen-
tons une revue de la littérature basée sur le formalisme DEVS, qui traite de la probléma-
tique des modèles à structures dynamiques. Dans la section IV nous décrirons l’« approche
de modélisation DEVS à structure hiérarchique et dynamique » ainsi que la représentation
formelle correspondante. Dans la section V nous proposons un simulateur abstrait appro-
prié avec un exemple d’application. Enfin, nous concluons dans la section VI.
2 Le formalisme DEVS
DEVS est un formalisme modulaire qui permet la modélisation des systèmes causaux et
déterministes. Un modèle atomique DEVS est basé sur un temps continu, des entrées, des
sorties, des états et des fonctions (sortie, transition, durée de vie des états). Des modèles
plus complexes sont construits en connectant plusieurs modèles atomiques de façon hié-
rarchique. Les interactions sont assurées à travers les ports d’entrée et de sortie des modè-
les, ce qui favorise la modularité.
2.1 Spécification formelle d’un modèle atomique DEVS
– La base de temps est continue et n’est pas explicite : T =
ℜ
;
– X est l’ensemble des entrées externes. Elles peuvent interrompre le comportement
autonome du modèle, tel que prévu par la fonction de transition externe ext. La réac-
tion du système par rapport à un événement externe dépend de l’état courant du sys-
tème, l’entrée et le temps écoulé dans cet état ;
– Y est l’ensemble des sorties du modèle ;
– S représente l’ensemble des états séquentiels : la dynamique consiste en une
séquence ordonnée d’états de S ;
–
δ
int est la fonction de transition interne qui fait passer le système d’un état à un autre
de manière autonome. Elle dépend du temps passé dans l’état et des conditions ;
– lt (s) représente la durée de vie d’un état s du système ;
–
λ
est la fonction de sortie du modèle.
2.2 Spécification formelle d’un modèle couplé DEVS
Le formalisme du DEVS couplé décrit un système à événements discrets dans les termes
d’un réseau de composants couplés.
Self
représente le modèle lui-même.
⟩⟩⟩⟩⟨⟨⟨⟨==== ltSYXAtomicDEVS ext ,,,,,, int λλλλδδδδδδδδ
⟩⟩⟩⟩∈∈∈∈⟨⟨⟨⟨==== ICEOCEICDdMDYXSCoupledDEV dselfself ,,,/,,,
63
Schedae
,
2006, prépublication n°15, (fascicule n°2, p. 61-70).
– X
self
est l’ensemble des entrées possibles du modèle couplé ;
– Y
self
est l’ensemble des sorties possibles du modèle couplé ;
– D est l’ensemble des noms associés aux composants du modèle,
self
n’étant pas dans
D ;
– est l’ensemble des composants du modèle couplé, tel que d appar-
tient à D ;
– EIC, EOC et IC définissent la structure de couplage dans le modèle couplé ;
– EIC est l’ensemble des couplages externes en entrée. Ils connectent les entrées du
modèle couplé à ceux de ses propres composants ;
– EOC est l’ensemble des couplages externes en sortie. Ils connectent les sorties des
composants à ceux du modèle couplé ;
– IC défini le couplage interne. Il connecte les sorties des composants avec les entrées
d’autres composants dans le même modèle couplé.
3 État de l’art
Pour être fiables et rentables, les approches de modélisation tentent d’être de plus en plus
fidèles à la réalité. Une des exigences des systèmes du monde réel est d’avoir une struc-
ture dynamique. Pour répondre à cette exigence, différentes approches ont été propo-
sées. Cette section fournit une revue brève de celles basées ou proches du formalisme
DEVS.
Kyou H. Lee & al proposent le formalisme «
Variable Structure System Specification
(VSSS) ». Il comporte un « VSSS
coordinator
», nommé « compositeVSSS », et un «
mapped-
model
», nommé « AtomicVSSS ». Le « compositeVSSS » utilise des entrées, des sorties, des
sous modèles, des variables d’état, des fonctions de sortie et de transition, et une
« fonction de mapping ». Le modèle « atomicVSSS » utilise des entrées, des sorties, des
états, des fonctions de sortie et de transition. La fonction de « mapping » supervise la struc-
ture du « compositeVSSS » en activant dynamiquement les sous modèles [3]. Le formalisme
VSSS est proche de DEVS.
A. Uhrmacher & al proposent le formalisme « DEVS dynamique » [4]. Ce formalisme
ajoute deux fonctions au formalisme classique DEVS dans le but de permettre le change-
ment dynamique de la structure. La première est la fonction de transition de modèle qui
est incluse dans le modèle atomique dynamique. La deuxième est la fonction de transition
de réseau, qui est incluse dans le modèle de réseau/couplé. Leur objectif est de permettre
un changement dynamique de la structure sans avoir recours à des contrôleurs externes.
T. Pawletta propose dans [5] une approche de modélisation et de simulation des
modèles variables hybrides basée sur le formalisme DEVS. Il crée un modèle couplé à
structure variable
N
dyn
, correspondant au modèle couplé dans le formalisme DEVS clas-
sique.
N
dyn
est un modèle DEVS couplé étendu avec une variable d’état complexe
H
N
.
Cette variable contient les variables d’état capables de changer la structure du modèle.
Ainsi, la modification de ces variables implique la modification de la structure courante du
modèle.
F. Barros propose une suite d’extensions du formalisme DEVS ; « variable structure
modeling formalism V-DEVS » [6]. Ensuite, le formalisme « Dynamic Structure DEVS »
DSDEVS [7]. Ce dernier étend le formalisme DEVS comme suit ; il fournit un « modèle
exécutif » dans le modèle couplé à structure dynamique. Ce modèle exécutif est un DEVS
modifié/étendu, il comporte une transition de structure et l’ensemble des structures possi-
bles du modèle couplé
Σ
*. Ainsi, il propose le formalisme parallèle de structure dynamique
DdMd ∈∈∈∈/
64
Schedae
,
2007, prépublication n°15, (fascicule n°2, p. 61-70).
DEVS « DSDE » [7,8], qui ajoute des entrées X
N
et des sorties Y
N
dans le modèle couplé/de
réseau, et permet l’exécution de simulation parallèle.
Xiaolin Hu propose dans [9] une approche de modélisation du formalisme DEVS à
structure variable. Il spécifie qu’un modèle peut impliquer un changement de structure
d’un autre modèle à travers des fonctions de transition internes ou externes [1]. En fait,
l’évolution de la structure est incluse dans le modèle de comportement. Ainsi, le modèle
global DEVS peut changer de façon autonome sa propre structure à l’aide des fonctions de
transition.
Ces approches peuvent être classées en deux catégories ; celles qui modifient le for-
malisme DEVS en ajoutant des fonctions ou des variables spécifiques pour gérer de façon
dynamique la structure des modèles, ce qui exige de redémontrer des propriétés propres
à DEVS (fermeture sur le couplage, hiérarchie, etc.). Et ceux qui préservent le formalisme
DEVS mais qui intègrent les informations concernant la structure dans le modèle de com-
portement lui-même, ce qui diminue la modularité, la souplesse et la réutilisabilité.
4 Approche de modélisation DEVSà structure hiérarchique et dynamique
Dans le but de gérer la structure dynamique, nous proposons « une approche de modéli-
sation DEVS à structure hiérarchique et dynamique » [10]. Elle vise à gérer la structure
dynamique en préservant les propriétés DEVS, et en séparant la structure et le comporte-
ment des modèles. Cette section présente cette approche et sa représentation formelle.
4.1 Approche dynamique
Cette approche propose un modèle de structure qui est un modèle atomique classique
DEVS. Il vise à gérer de façon dynamique le changement de structure du modèle de com-
portement. En effet, il décrit le comportement de structure du modèle couplé géré.
La Figure 1 présente un modèle couplé global incluant un modèle couplé à structure
variable et un modèle atomique représentant le modèle de structure. Ce modèle atomique
peut être influencé par les sorties du modèle couplé de comportement, ou par les événe-
ments externes déclenchés par des modèles externes connectés. Le modèle de structure
ignore les détails de changement de comportement non liés à la structure. Il représente
seulement le comportement de structure du modèle couplé à structure variable. Donc, son
changement d’état implique un changement de structure du modèle couplé à structure
variable. Cette approche permet la simulation du modèle couplé DEVS à structure variable
en utilisant un modèle DEVS atomique. Ainsi, le modèle couplé global n’est autre qu’un
modèle DEVS couplé, et est simulé en tant que tel.
Fig. 1 : Modèle couplé à structure variable.
65
Schedae
,
2006, prépublication n°15, (fascicule n°2, p. 61-70).
4.2 Représentation formelle
Cette approche préserve la représentation formelle DEVS de simulation proposée par Zei-
gler dans [11]. Les informations se rapportant à la structure dynamique sont incluses dans
l’ensemble des variables d’état du modèle de structure [10]. Nous décrivons ci-dessous
cette représentation formelle.
La représentation formelle du modèle de structure :
et est le modèle couplé de comportement à
structure variable, qui évolue à travers différentes structures appliquées par
Z
.
X
Z
: Ensemble des couples, port d’entrée et valeur du port. Ces entrées sont réduites
à celles dont les événements impliquent un changement de structure du modèle
Mc
(Modèle de structure).
: Ensemble des couples, port de sortie et valeur,
qui donnent les étapes d’évolution du changement de structure.
: Ensemble des variables d’état du modèle couplé de comportement à
structure variable.
θ
: Ensemble des variables d’état propres au modèle de structure.
st
i
: Ensemble des paramètres qui décrivent la structure courante du modèle couplé
de comportement à structure variable
Mc
.
i
fait référence à la structure représentée par
l’état
S
Z
courant du modèle de structure. Chaque nouvelle structure correspond à un nou-
veau modèle.
X
i
/
Y
i
: Ensemble des entrées/sorties du modèle couplé relatif à la structure
i
.
D
i
: Ensemble des noms des composants du modèle relatif à la structure
i
.
: Ensemble des couplages externes en entrée.
Chaque couplage constitue un lien entre un port d’entrée (
st
i
. IN
) du modèle couplé de
comportement à structure variable
Mc
correspondant à la structure
st
i
, et un port d’entrée
d’un sous modèle (
M
d
. IN
). Avec
d
est le nom du sous modèle dans le modèle
Mc
corre-
spondant à la structure
st
i
.
: Ensemble des couplages externes en sor-
tie.
: Ensemble des couplages internes. Ce sont les
connections entre les ports des sous modèles, au niveau du modèle couplé de comporte-
ment à structure variable
Mc
.
:
Ensemble des fonctions de couplage. est une fonction de couplage
relative à la relation de couplage
c
, avec
c
appartient à EIC U EOC U IC. Chaque relation
de couplage possède sa propre fonction de couplage.
: Fonction de transition externe. Elle est déclenchée par un
événement externe. Elle permet un changement de la structure du modèle correspondant
à un nouvel état.
Tel que : , avec
e
est le temps écoulé dans l’état
s :
Q
est l’ensemble des états totaux.
S
m
État courant. Il comporte l’ensemble des variables d’état (
m
) propres au modèle
atomique de structure, et celles relatives au comportement de la structure du modèle cou-
plé géré (
st
m
).
: Ensembles de variables d’état dans le modèle de structure, relatifs aux struc-
tures .
e
: Valeur du temps écoulé dans l’état s
m
.
⟩⟩⟩⟩⟨⟨⟨⟨==== ZZextZZZ ltSYXZ ,,,,,, int λλλλδδδδδδδδ
⟩⟩⟩⟩⟨⟨⟨⟨==== FICEOCEICMDYXMc ,,,,,,,
(((( )))) pZ VyvOPortspvpY ∈∈∈∈∈∈∈∈==== ,,
(((( ))))iZ stS ,θθθθ====
(((( )))) idii DdINMINstEIC ∈∈∈∈××××∈∈∈∈ /..
(((( )))) idii DdOUTMOUTstEOC ∈∈∈∈××××∈∈∈∈ /..
(((( )))) ''.. ddwithINdOUTdICi ≠≠≠≠××××∈∈∈∈
(((((((( )))) (((( )))))))) ',,'/,',, ddi IPortsbOPortsaddbdadIC ∈∈∈∈∈∈∈∈≠≠≠≠====
∑∑∑∑==== cfF cf
ZZext SXQ →→→→××××:δδδδ
(((( )))) (((( )))) slteetSsesQ ZZ ≤≤≤≤≤≤≤≤∈∈∈∈==== 0/,
nmetSsssXes Znmnmmext ≠≠≠≠∈∈∈∈==== ,/),,(δδδδ (((( ))))mmm sts ,θθθθ====⇒⇒⇒⇒
(((( ))))(((( )))) (((( ))))nnmmmext stXest ,,,, θθθθθθθθδδδδ ====
nm θθθθθθθθ ,
nm stst ,
66
Schedae, 2007, prépublication n°15, (fascicule n°2, p. 61-70).
Xm : Valeur d’entrée introduite à travers un événement externe.
Fonction de transition interne. Elle est exécutée après avoir passé la
durée relative à lt(s) dans le même état sans recevoir aucun événement externe. Des sys-
tèmes peuvent nécessiter un changement de structure après avoir passé une certaine péri-
ode dans le même état (division cellulaire, Glace-eau-vapeur, etc.).
-
Fonction de sortie. Elle permet d’établir une connexion avec d’autres
modèles.
ltZ Fonction de durée de vie propre à chaque état du modèle.
Fm est l’ensemble des fonctions de couplage du modèle couplé.
5 Simulateur abstrait de l’approche de modélisation DEVSà structure dynamique et hiérarchique
Pour définir la sémantique de simulation des modèles DEVS, Zeigler a présenté le simula-
teur abstrait. Les avantages de ce concept est la dichotomie entre les modèles et le simu-
lateur. Au niveau du simulateur abstrait, un composant correspond à un composant du
modèle. En fait, DEVS est l’un des rares formalismes formels qui propose un algorithme
d’implémentation. Selon [11], un modèle couplé est composé de modèles atomiques et/
ou couplés. Le simulateur abstrait est composé d’un coordinateur racine, de coordinateurs
et de simulateurs. L’algorithme correspondant est décrit dans [11]. En fait, le coordinateur
racine représente le niveau supérieur du simulateur ; il gère l’horloge de la simulation. Le
coordinateur correspond au modèle couplé, il permet de gérer les subordonnées (coordi-
nateurs et/ou simulateurs) et assure le routage des messages. Enfin, le simulateur permet
la simulation d’un modèle atomique.
5.1 Architecture du simulateur abstraitCette approche préserve la représentation formelle du formalisme DEVS, ainsi que la com-
position du simulateur abstrait proposée par Zeigler dans [11]. La Figure 2 présente un
mappage d’un modèle hiérarchique à structure dynamique, vers un simulateur hiérarchi-
que selon l’approche décrite ci-dessus.
Le coordinateur de structure assure toutes les fonctions classiques du coordinateur et
fournit la possibilité d’appliquer des changements de structure au niveau du coordinateur
fils. Le simulateur qui exécute le modèle atomique correspondant au modèle de structure
est classique. Quand l’état du modèle change, le simulateur fournit un message de sortie
« Ymessage (y, t) » qui comporte les changements de structure, et l’envoie au coordinateur
de structure. En effet, les changements de structure constituent un ensemble d’actions qui
doivent être exécutées par le coordinateur de structure pour obtenir la nouvelle structure
adéquate. Le coordinateur de structure récupère les actions incluses dans Ymessage et les
applique sur le coordinateur fils. Ces actions peuvent être ; ajouter/supprimer des
modèles, des relations de couplage, des ports d’entrée et de sortie. Il est à noter qu’un
modèle de structure est attribué à chaque modèle couplé à structure variable. Ainsi, la
complexité du modèle dynamique est répartie sur plusieurs modèles. Ce qui diminue la
complexité et permet d’avoir des modèles plus simples et fortement réutilisables.
5.2 Algorithme du simulateur abstraitDans ces travaux nous veillons à conserver les propriétés fondamentales de l’algorithme
abstrait proposé par Zeigler, tel que sa composition (coordinateur racine, coordinateurs et
mmmmmdmmmm FICEOCEICDdMDYXst ,,,,/,,, ∈∈∈∈====
ZZ SS →→→→:intδδδδ
Znmnm Sssss ∈∈∈∈==== ,/)(intδδδδ (((( )))) (((( ))))(((( )))) (((( ))))nnmZmm stsltst ,,,int θθθθθθθθδδδδ ====
mm Ys ====)(λλλλ
67
Schedae, 2006, prépublication n°15, (fascicule n°2, p. 61-70).
simulateurs). Comme présenté ci-dessus le simulateur qui gère la structure est un simula-
teur classique sans aucun changement majeur. En effet la modification se situe dans le
« coordinateur de structure ». Ce nouveau coordinateur étend les attributions du coordina-
teur classique, pour assurer l’application des changements de structure de façon dynami-
que.
L’algorithme présenté dans la Figure 3 est une extension de celui du coordinateur
classique DEVS proposé par Zeigler. En effet, le coordinateur de structure correspond au
modèle couplé incluant le modèle atomique associé au modèle de structure, ainsi que le
modèle couplé à structure variable. Il assure évidemment la gestion de ses subordonnés
(coordinateurs et simulateurs) et le routage des messages. Il fournit une variable
« action_list » qui contient les mises à jour à appliquer sur le modèle couplé à structure var-
iable pour atteindre sa nouvelle structure.
Quand le coordinateur de structure reçoit un message d’initialisation Imessage, il le
redirige vers ses enfants/subordonnées.
Quand le coordinateur de structure reçoit *-message relatif à une transition interne, il
vérifie la consistance du temps courant « t » par rapport au temps de l’événement suivant
« tn ». Ensuite, ce message est transféré vers le fils imminent qui est le premier dans
l’échéancier. Enfin, l’échéancier et les variables de temps (tn, tl) sont mis à jour.
Fig. 2 : le mappage d’un modèle devs à structure dynamique vers un simulateur.
Fig. 3 : Algorithme du coordinateur de structure.
variablesparent //parent coordinatortl //time of last eventtn //time of next event//subordinated coupled modelDEVNX,Y,Md/d in D,D,EIC,EOC,IC,F//list of elements (d,tnd) sorted by //tnd ordered listevent-listd* //selected imminent child//list of actions changing structureActions_list
when receive Ymessage (y,t) with output yif d* is simulatorsend Ymessage with value YN=F(Yd*) to parentc*= yS.related_coordinator
//loop to perform a set of actionswhile yS.actions_list not empty set
doexecute_action(yS.action(i),
yS.related_coordinator) end do
else//check EOC to get external output event
receivers=r|r in D-d*, r in DEVN.IC.source)if d* in DEVN.EOC.source
send Ymessage with value YN=F(Yd*) to parentif d* in DEVN.IC.source
send Ymessage with input value x=F(Yd*)to r
………end DEVS-Structure-Coordinator
68
Schedae, 2007, prépublication n°15, (fascicule n°2, p. 61-70).
Quand le coordinateur de structure reçoit un message d’entrée Xmessage, il vérifie
que le temps courant est compris entre tl et tn. En premier lieu, il récupère les subordon-
nés influencés à partir de l’ensemble des couplages externes en entrée, et les ajoute dans
la variable « receivers ». En second lieu, il envoie Xmessage au destinataire correspondant.
Enfin, il met à jour tl et tn respectivement avec le temps courant et le temps minimum du
prochain événement à déclencher.
Quand le coordinateur de structure reçoit un message de sortie Ymessage, il vérifie en
premier lieu si la source du message est le simulateur fils ou le coordinateur fils. Si la source
est le coordinateur fils, alors les ensembles EIC et IC sont parcourus pour déterminer si ce
message Ymessage sera transféré vers le coordinateur père ou bien qu’il devrait être trans-
formé en Xmessage avec la fonction de couplage correspondante F (x = F (y)), ensuite il
sera transféré vers les destinataires fils. Autrement, si la source est le simulateur, le mes-
sage de sortie sera analysé et les actions éventuelles seront exécutées. Éventuellement, la
liste des couplages internes en entrée est analysée pour déterminer si le message de sortie
devrait être transféré vers le coordinateur père.
Le coordinateur de structure parcourt la liste des actions en les exécutant une à une à
travers la fonction « execute_action ». En effet, cette fonction permet d’exécuter les fonc-
tions de changement de structure selon le type d’action à appliquer. Il faut préciser que
certains changements de structure impliquent des réinitialisations. Une description som-
maire des fonctions de changement de structure est présentée dans [12].
5.3 Exemple du modèle couplé du comportementde l’équipe du tireur embusqué
Nous décrivons ci-dessous l’exemple de l’équipe du tireur embusqué proposé dans [12].
L’équipe du tireur embusqué est composée d’un officier chargé des tireurs embusqués
« SEO », d’un tireur embusqué et d’un observateur. L’équipe est gérée à distance par l’offi-
cier chargé des tireurs. Dans cet exemple, nous nous intéressons exclusivement aux chan-
gements de structure du modèle. En effet, nous décrivons ci-dessous le résultat du
changement de structure déclenché par l’événement de la mort de l’officier chargé des
tireurs embusqués.
Comme décrit dans Figure 4. Quand l’événement de mort de l’officier chargé des
tireurs est déclenché, le modèle de structure passe à l’état transitoire « st_12 », ensuite, il
envoie un message de sortie équivalent à « structure_2 », qui comporte la liste des actions
à exécuter pour changer de structure. Enfin, le modèle passe à « st_2 ». Quand le coordi-
nateur de structure reçoit un message de sortie, il vérifie la consistance du temps courant,
et applique les mises à jour de structure.
Fig. 4 : Modèle de structure de l’équipe du tireur embusqué [10].
,()_ compdel()_ eocadd
69
Schedae, 2006, prépublication n°15, (fascicule n°2, p. 61-70).
Le message de sortie comporte une liste d’actions correspondant à des fonctions dans
Figure 4. del_comp (st1, « C_SEO ») et add_eoc (st1, result, « C_team », team_res). En effet,
la boucle au niveau de l’algorithme du coordinateur de structure permet de parcourir
l’échéancier, et d’exécuter les fonctions correspondantes au changement de structure.
La structure 1 présentée dans la Figure 5, représente un modèle couplé composé des
modèles de comportement de l’officier chargé des tireurs « SEO » et du groupe tireur/
observateur « C_team ».
La première action dans l’échéancier « action_list » consiste à supprimer le composant
de l’officier chargé des tireurs (modèle « C_team »). Ceci implique la suppression de tous
les couplages associés, ainsi que l’instance du modèle et du simulateur relatif à l’officier. La
deuxième action est d’ajouter un couplage externe en sortie entre le port de sortie
« result », et le port de sortie « team_res » du modèle de comportement « C_team ». Ainsi,
la deuxième structure qui est réduite au modèle de comportement du groupe est atteinte
(Figure 6).
6 ConclusionCe papier décrit une approche de modélisation DEVS à structure hiérarchique et dynami-
que et le simulateur abstrait correspondant, inspiré des travaux de Zeigler. Cette approche
préserve les propriétés du formalisme DEVS et sa représentation. Elle permet donc de tirer
profit de l’expertise et des possibilités qu’offre le formalisme DEVS dans la modélisation et
la simulation. Ainsi, nous préservons les concepts de hiérarchie, de modularité, de ferme-
ture sur le couplage et des autres possibilités démontrées pour DEVS. L’utilisation d’un
modèle DEVS atomique classique pour gérer la structure, ainsi que la séparation entre le
modèle de structure et le modèle couplé de comportement, permet d’accroître la réutili-
sabilité des modèles de comportement. Ceci permet aussi d’avoir des modèles de struc-
ture simplifiés puisque chaque modèle couplé à structure variable possède son propre
modèle de structure. Les travaux futurs portent sur la définition des limites de la structure
dynamique des modèles DEVS et l’application de cette approche sur des systèmes plus
complexes tels que les simulateurs militaires pour évaluer ses performances.
Fig. 5 : Modèle de comportementde l’équipe 1re structure.
Fig. 6 : Modèle de comportementde l’équipe 2e structure.
70
Schedae, 2007, prépublication n°15, (fascicule n°2, p. 61-70).
Références[1] Hu X., Zeigler B. P., et Mittal S. « Variable Structure in DEVS Component-Based Modeling and
Simulation », SIMULATION : Transactions of The Society for Modeling and Simulation International,
Vol. 81, No. 2, 91-102, 2005.
[2] Pawletta T., Pawletta S. « A DEVS-based simulation approach for structure variable hybrid systems
using high accuracy integration methods ». Actes de the Conference on Conceptual Modeling and
Simulation, Part of the Mediterranean Modelling Multiconference CSM2004-I3M, (October 28-31),
Genova, Italie, Vol.1, pages 368-373, 2004.
[3] Lee K., Choi K., Kim J., et Vansteenkiste G. « A methodology for variable structure system
specification : Formalism, framework, and its application to ATM-based network systems », ETRI
Journal 18, 4, pages 245 – 254, 1997.
[4] Uhrmacher A.M. « Dynamic Structures in Modeling and Simulation – A Reflective Approach », ACM
Transactions on Modeling and Simulation, Vol.11 No.2, April : pages 206-232, 2001.
[5] Pawletta T. ; Lampe B. ; Pawletta S. ; Drewelow, W. « A DEVS-Based Approach for Modeling and
Simulation of Hybrid Variable Structure Systems » Dans : Modeling, Anlysis, and Design of Hybrid
Systems. Engel S., Frehse G., Schnieder E. (Ed.), Lecture Notes in Control and Information Sciences
279, Springer, pages 107-129, 2002.
[6] Barros F.J., Mendes M.T., et Zeigler B. P « Variable DEVS – Variable Structure Modeling Formalism :
An Adaptive Computer Architecture Application », Fifth Annual Conference on AI, Simulation, and
Planning in High Autonomy Systems, pages. 185-192, Gainesville, Florida. 1994.
[7] Barros F.J. « Modeling Formalism for Dynamic Structure Systems ». ACM Transactions on Modeling
and Computer Simulation, 7 (4) : pages 501--514, 1997.
[8] Barros. F « Multimodels and Dynamic Structure Models : An Integration of DSDE/DEVS and
OOPM », Dans Proceedings of the 1998 Winter Simulation Conference, pp. 413-419, Winter
Simulation Conference, Décembre-1998.
[9] Hu X. « A Simulation-based Software Development Methodology for Distributed Real-time
Systems », Ph. D. Dissertation, Electrical and Computer Engineering Dept., University of Arizona,
Mai 2004.
[10] Baâti L., Frydman C., Giambiasi N. « Simulation Semantics for Dynamic Hierarchical Structure DEVS
Model » DEVS06. Dans Proceedings of DEVS’06-SpringSim’06, Huntsville Alabama, Avril 2006.
[11] Zeigler B. P., Praehofer H., T. G. Kim, Theory of modeling and simulation, Second edition,
integrating discrete event and continuous complex dynamic systems, Academic Press, 2000.
[12] Baâti L., Frydman C., Giambiasi N., Seck M. « A DEVS Based Modeling Of A Sniper Team For
CGFs. », Dans Proceedings of the EuroSIW’05. Juin 27-30. SISO. Toulouse, FR, pages 143-152,
2005.
| 71
Prépublication n° 16 | Fascicule n° 2
Analyse de la dynamique de l’infection VIHSensibilité aux traitements
Marie-José MhawejIRCCyN – Institut de recherche en communication et cybernétique de Nantes, UMR-CNRS 6597
1, rue de la Noë – BP 92101 – 44321 Nantes Cedex 03, France
Résumé :
Le virus VIH/SIDA affecte le système immunitaire en infectant les cellules saines CD4+, qui se
muent en de véritables usines productrices de nouvelles particules virales. Les multithérapies qui
existent se composent essentiellement des inhibiteurs de protéase (PI) qui perturbent la matu-
ration des nouveaux virions, et des inhibiteurs de transcriptase inverse (RTI) qui contrarient la
production de nouveaux virions en bloquant la transcription inverse de l’ARN viral en ADN viral.
Dans ce papier, nous nous intéressons à l’effet de ces deux voies d’action thérapeutique sur les
paramètres du modèle mathématique de l’infection. Nous abordons aussi le problème de la sen-
sibilité aux traitements par étude de la commandabilité du modèle. Ce travail a été globalement
mis en œuvre sur des modèles identifiés à partir de données cliniques réelles fournies par le CHU
de Nantes.
Mots-clés : automatique, modélisation, identification, commandabilité, efficacité des
traitements, sensibilté aux traitements.
1 Introduction
La lutte contre le VIH/SIDA suit plusieurs axes de recherche. En particulier, la modélisation
et l’analyse mathématique de la dynamique de l’infection permettent demieux comprendre
ses mécanismes en vue d’une aide au diagnostic. Les modèles mathématiques qui existent
de nos jours décrivent les dynamiques des cellules CD4+ saines (principales cibles du virus),
des cellules CD4+ infectées, de la charge virale et parfois des cellules CD8+. Les premiers
travaux en ce sens datent des années 90 [1, 2, 3, 4]. Ils ont permis par exemple d’estimer
les durées de vie in vivo du virus et des cellules infectées [2, 1]. Des travaux plus récents
mettent l’accent sur l’identification des paramètres des modèles mathématiques [5, 6, 7] ou
encore sur l’application des théories de la commande pour l’optimisation des traitements
antirétroviraux [8, 9].
Marie-José Mhawej« Analyse de la dynamique de l’infection VIH – Sensibilité aux traitements »
Schedae, 2007, prépublication n° 16, (fascicule n° 2, p. 71-78).
72 |
Dans ce papier, nous nous intéressons particulièrement à l’efficacité des traitements que
l’on aborde sous deux axes :
1. D’abord, l’étude de l’impact des traitements sur les paramètres du modèle ;
2. Ensuite, l’analyse de la sensibilité aux traitements par étude de la commandabilité
du modèle.
L’ensemble des résultats est mis en œuvre sur des données cliniques réelles reçues du
CHU de Nantes.
Les multi-thérapies qui existent se composent essentiellement des Inhibiteurs de la Pro-
téase (PI) qui perturbent la maturations des nouveaux virions et des Inhibiteurs de la Tran-
scriptase Inverse (RTI) qui empêchent la production de nouveaux virions en bloquant la
transcription inverse de l’ARN viral en ADN. D’un point de vue d’automaticien, les traite-
ments sont les entrées du système à contrôler. Dans un problème de commande, il est
d’abord nécessaire d’identifier le lieu d’application des entrées, ce qui correspond au pre-
mier point ci-dessus. Une fois que les paramètres affectés par la commande sont identifiés,
il est important de vérifier la commandabilité du système, ce que nous traitons en second
lieu.
L’organisation de ce papier est comme suit : en section 2, nous présentons deux mod-
èles de la dynamique de l’infection. Dans la partie 2.3 nous discutons l’identifiabilité de ces
deux modèles ainsi que la méthode d’identification utilisée pour le calcul des paramètres.
Dans la section 3, nous analysons l’effet des traitements sur les paramètres du modèle alors
qu’en section 4 nous abordons le problème de la sensibilité aux traitements par étude de la
commandabilité du modèle mathématique linéarisé. Les résultats de cette section ont été
validés sur des données réelles. Enfin, la section 5 conclut ce travail et ouvre de nouvelles
perspectives dans l’application de l’automatique dans le domaine de la santé.
2 Modélisation et identification
Nous présentons dans cette section deux modèles décrivant la dynamique de l’infection
par le VIH. Le premier modèle est le modèle de base à 3 dimensions. Ce modèle est simple
à manipuler et donne des résultats assez satisfaisants du point de vue rapport complex-
ité / exactitude. Cependant, ce modèle ne peut être commandé que par une seule entrée
représentant l’effet des RTI. On ne peut pas donc y voir un effet découplé des deux voies
d’action thérapeutique. C’est donc pourquoi nous introduisons un modèle à 4 dimensions,
très proche du premier, mais sur lequel on peut nettement séparer l’effet des RTI et des PI.
2.1 Le modèle 3DReprenons lemodèle 3D de base. Cemodèle fait intervenir trois grandeurs caractéristiques :
la population de cellules CD4+ saines (T ) en (CD4/mm3), la population de cellules CD4+
infectées (T ∗) en (CD4/mm3) et la charge virale (V ) en (copiesd′ARN/ml).T = s− δT − βTV,
T ∗ = βTV − µT ∗,
V = kT ∗ − cV.
(1)
Ce modèle suppose que les CD4+ sains sont produits à un taux constant s et meurent à
un taux δ. Ils sont infectés à la « vitesse » βTV proportionnelle à leur nombre et à la charge
virale (V ). Les CD4+ infectés meurent à un taux µ et les virus à un taux c. Les virions sont
produits par les CD4+ infectés à un taux kT ∗.
Schedae, 2007, prépublication n° 16, (fascicule n° 2, p. 71-78).
| 73
Le paramètre β est un indicateur de l’efficacité du processus d’infection. Il inclut la pro-
babilité de rencontre d’une cellule CD4+ saine et d’un virus ainsi que le taux de pénétration
du virus dans celle-ci. Le paramètre k est in indicateur de la production de virus. Ces deux
paramètres reflètent le pouvoir « offensif » du virus [10]. Ces deux paramètres sont donc
les « cibles » potentielles des traitements. Dans la suite, nous utiliserons le modèle 3D à
une seule entrée u1 = 1 − ηRTI où ηRTI est l’efficacité combinée des RTI administrés
(0 ≤ ηRTI ≤ 1). Ce modèle suppose donc un traitement aux RTI seuls.T = s− δT − u1βTV,
T ∗ = u1βTV − µT ∗,
V = kT ∗ − cV.
(2)
2.2 Le modèle 4DAfin de mieux illustrer l’effet des traitements,nous pouvons décrire la dynamique de l’in-
fection par un modèle à 4 dimensions. En effet, ce modèle est très similaire au modèle 3D
mais il permet de distinguer les virus infectieux (V1) des virus non-infectieux (V2) produits
sous l’effet des PI. T = s− δT − u1βTV1
T ∗ = u1βTV1 − µT ∗
V1 = u2kT ∗ − c1V1
V2 = (1− u2)kT ∗ − c2V2
(3)
L’effet des RTI est de ralentir le processus d’infection et, selon une majorité d’études, ils
agissent sur le paramètre β [11, 12, 9]. La première entrée de commande est donc u1 = 1−
ηRTI où ηRTI est l’efficacité de l’ensemble des RTI administrés (0 ≤ ηRTI ≤ 1). Par ailleurs,
les PI empêchent les cellules CD4 infectées de produire des particules virales infectieuses
en bloquant la maturation des protéines virales. Leur action se reflète donc essentiellement
sur le paramètre k [2, 11, 12]. La deuxième entrée de commande est donc u2 = 1− ηPI où
ηPI est l’efficacité de l’ensemble des PI administrés (0 ≤ ηPI ≤ 1).
2.3 Identifiabilité et identification des modèles 3D et 4DL’identifiabilité des systèmes dynamiques est une propriété fondamentale puisqu’elle per-
met, avant toute estimation, de savoir si le problème d’identification peut être résolu. Dans
le cas contraire, les tests d’identifiabilité donnent les conditions nécessaires à la mise en
œuvre de la procédure d’identification.
Selon la théorie de l’identifiabilité présentée dans [13], nous avons montré que les mo-
dèles 2 et 3 sont algébriquement identifiables c’est à dire qu’on peut calculer les paramètres
de ces modèles à partir de la seule connaissance des sorties mesurées, à savoir, la popu-
lation totale de CD4 (y1 = T + T ∗) et la charge virale (y2 = V pour le modèle 3D et
y2 = V1 + V2 pour le modèle 4D). Pour des raisons d’espace, nous ne reprenons pas les
calculs d’identifiabilité dans ce papier.
L’identification des paramètres des modèles 3D et 4D à partir des données cliniques
standard a été introduite dans [14]. Cette approche se basait sur l’optimisation par la mé-
thode du simplex visant à minimiser la distance entre les données réelles et le modèle. Mais,
à cause de la complexité du problème liée notamment au très faible nombre de données
disponibles, l’algorithme présenté dans [14] était sensible à son initialisation. Il était donc
nécessaire de calibrer manuellement l’algorithme afin de réduire les erreurs. Pour surmon-
ter ce problème, une nouvelle méthode d’identification basée sur l’approche Monte-Carlo
Schedae, 2007, prépublication n° 16, (fascicule n° 2, p. 71-78).
74 |
a été proposée dans [6]. Celle-ci prend naissance de la méthode proposée en [14] mais
consiste à initialiser aléatoirement l’algorithme dans l’espace admissible des paramètres et
ceci à différentes reprises (des centaines de fois). La robustesse de cette technique vis-à-vis
des bruits de mesure a été présentée dans [15] et [7]. Cet algorithme d’identification a été
implémenté dans un logiciel disponible sur le web 1. Les identifications présentées dans ce
papier ont été faites directement avec ce logiciel.
3 Étude de l’effet des thérapies sur les paramètres du modèle
Le but de cette partie est d’utiliser le modèle 3 pour prédire l’efficacité des diverses familles
demédicaments à partir de l’identification des paramètres. Nous rappelons que les dosages
de RTI et PI sont les entrées de commande du système et nous posons (1 − ηRTI)β = β
et ηPIk = k. Ainsi les paramètres β et k seraient des images des efficacités respectives
des RTI et des PI. Ce travail trouve sa motivation dans la large gamme de médicaments
disponibles. Ces médicaments sont adaptés aux diverses souches de virus. Dans les pays
développés, la composition d’une multi-thérapie se base sur l’analyse génotypique du virus
mais cette analyse est trop chère pour être accessible à grande échelle dans les pays en
développement. C’est donc pourquoi, nous estimons qu’une analyse mathématique peut
aider dans l’évaluation et l’adaptation d’une thérapie tout en évitant les grands frais des
analyses génotypiques.
D’une manière succincte et très schématique, nous pouvons résumer comme suit l’ac-
tion des deux voies thérapeutiques telles qu’elles sont présentées en littérature :
– Les RTI agissent sur β [11, 12, 9] ;
– Les PI agissent sur k [2, 11, 12].
C’est cette modélisation qui est considérée dans le modèle 4D. Ce modèle suppose un
découplage total des effets des RTI et des PI. Jusqu’à nouvel ordre, aucun résultat illustrant
cette modélisation théorique n’est disponible. Notre but est donc d’essayer de valider ou
réfuter ces hypothèses en se basant sur l’identification des paramètres du modèle 4D (nota-
ment les paramètres β et k) à partir de données réelles. Pour ce faire, un protocole particulier
doit être mis en place. Pour un même patient, nous avons besoin de trois séries de données
successives :
1. Une série de données avant le début du traitement ;
2. Une série de données sous RTI seuls ;
3. Une série de données sous RTI et PI ensemble.
À noter que le traitement par PI seuls n’est pas acceptable cliniquement. Chaque série de
données doit inclure au moins 6 mesures du taux total de CD4 et 6 mesures de la charge
virale pour garantir l’identifiabilité du modèle 4D ; ces mesures doivent être fréquentes en
phase transitoire du régime.
La réalisation d’un tel protocole n’est pas facile, mais de premiers résultats se basant sur
des données hors-protocole que nous avons pu avoir du CHU de Nantes montrent que les
effets des RTI et PI ne sont pas tout à fait découplés et que l’efficacité d’une bi-thérapie est
plus visible sur le paramètre k. Des travaux plus concrets restent à mettre en œuvre dans
cette optique qui reste une perspective de recherche ouverte.
1. IRCCyN Web software for the computation HIV infection parameters, Available at http ://www.irccyn.ec-nantes.fr/hiv.
Schedae, 2007, prépublication n° 16, (fascicule n° 2, p. 71-78).
| 75
4 Commandabilité et sensibilité aux traitements
4.1 Préliminaires4.1.1 Décomposition par valeurs singulières
La décomposition par valeurs singulières (SVD pour Singular Value Decomposition) d’une
matrice A de dimension m× n est la factorisation A = UΣV T où U et V sont des matrices
orthogonales et Σ = diag(σ1, σ2, ...σr) avec r = min(m, n) et σ1 > σ2 > ... > σr. Les
valeurs σi sont les valeurs singulières (valeurs propres) de la matrice A.
La matrice A est singulière si au moins une des valeurs propres de σ est nulle ; le nombre de
valeurs propres non nulles correspond au rang de cette matrice. Lorsqu’une valeur propre
de A tend vers zéro,on s’attend alors à une chute de rang de A.
4.1.2 Linéarisation autour d’un point de fonctionnement
Soit le système non linéaire x = f(x, u),
y = h(x).(4)
Le système linéaire approché s’écrit alors :x = ∂f
∂x.x + ∂f
∂u.u,
y = ∂h∂x
.x.(5)
Ce système est de la forme x = Ax + Bu,
y = Cx.(6)
La matrice de commandabilité du système 6 est C= (B, AB, A2B, ..., An−1B) où n est la
dimension de l’espace des états.
4.2 Application aux modèles du VIHLes modèles 2 et 3 sont non linéaires. On peut donc les linéariser autour d’un point de
fonctionnement donné (x0, u0 = 1). Après linéarisation, on obtient respectivement les ma-
trices ARTI et BRTI pour le modèle 2 et les matrices ACO et BCO pour le modèle 3. On
calcule alors les matrices de commandabilité des ces deux modèles CRTI et CCO. En ap-
pliquant la décomposition par valeurs singulières aux matrices CRTI et CCO on peut avoir
une « estimée » de la commandabilité du système. En effet, en examinant l’évolution de la
plus petite valeur singulière (en valeur absolue) de ces deux matrices, on peut dire que le
système devient moins contrôlable lorsque cette valeur s’approche de zéro. Dans la suite,
nous désignerons par VSM cette valeur singulière minimale.
4.3 RésultatsLes simulations effectuées sur les modèles identifiés à partir de données réelles ont permis
de valider les résultats de [11] en ce qui concerne la commandabilité de la dynamique du
virus. En effet, pour tous les essais effectués, le profil de commandabilité présente une ex-
cellente corrélation avec la charge virale en phase asymptomatique. On peut dire aussi que
le patient est le plus sensible aux traitements (système maximalement commandable) juste
avant que la charge virale n’atteigne son maximum. Le pic de VSM a toujours lieu quelques
jours avant le pic de la charge virale en primo infection. De plus, il a été conclu à partir de
Schedae, 2007, prépublication n° 16, (fascicule n° 2, p. 71-78).
76 |
Patient 06KEIN Patient 009699627s(mm−3j−1) 7.13 10.31δ(j−1) 0.009 0.01β(mm3j−1) 3.49E − 09 9.58E − 08µ(j−1) 0.09 0.05k(mm3ml−1j−1) 4.64 236.44c(j−1) 0.19 0.3
T (0)(CD4/mm3) 405 791T ∗(0)(CD4/mm3) 23 280V (0)(copies/ml) 93150 1510
Tab. 1: Paramètres des patients 06KEIN et 009699627 estimés sur une période de l’infection. Pour le modèle4D, on a c1 = c2 = c, V1(0) = V (0) et V2(0) = 0.
l’étude purement mathématique des matrices de commandabilité que tous les états de la
maladie sont commandables sauf ceux pour lesquels T ou V sont nuls pour la plupart des
jeux de paramètres. Ce résultat a été notamment validé par les courbes obtenues pour des
patients naïfs c’est-à-dire qui n’ont jamais eu de traitement préalable. Ces patients se car-
actérisent par une charge virale qui décroît rapidement vers le niveau d’indétectabilité et
par un paramètre k très faible. Chez ces patients, on remarque que la VSM s’annule quand
la charge virale s’annule, ce qui explique bien la perte de commandabilité dans ce cas. Par
ailleurs, on remarque sur la figure 3 que la courbe VSM du modèle 4D est au-dessus de la
courbe VSM du modèle 3D ce qui montre bien que la bithérapie est plus efficace que les
monothérapies en ce qui concerne la commande de la charge virale.
Par ailleurs, une telle étude du profil de commandabilité permet de prédire les moments
où un certain patient serait le plus favorable à la thérapie, c’est-à-dire les moments où la
thérapie aura l’impact le plus bénéfique. En effet, il suffit de quelques points (6 à 10) pris sur
quelques mois pour obtenir le jeu de paramètres qui caractérise un quelconque patient. À
partir du modèle obtenu, les simulations sur des périodes plus longues pourraient indiquer
des moments propices de thérapie ou au contraire d’interruption éventuelle de traitement.
? Patient 06KEIN : La table 1 montre les paramètres relatifs au patient 06KEIN. Ce
patient est naïf à tout traitement préalable. Pour ce patient le coefficient de corrélation
entre la charge virale et la VSM est de 0.9998 pour les deux modèles.
? Patient 009699627 : De même, la table 1 montre les paramètres relatifs au patient
009699627. Ce patient est « complexe » dans ce sens qu’il n’est pas naïf au traitement, par
contre, il a reçu des traitements trop variés. Pour ce patient le coefficient de corrélation entre
la charge virale et la VSM est de 0.9518 pour le modèle 3D et de 0.9459 pour le modèle 4D.
Évolution conjointe de de la VSM et de la charge virale pour le patient 06KEIN
0 20 40 60 80 1000
1
2x 10
−3
vale
ur s
ingu
liere
min
imal
e
temps en jours
Evolution conjointe de la charge virale et de la VSM
0 20 40 60 80 1000
5
10x 10
4
char
ge v
irale
en
copi
es/m
l
0 20 40 60 80 1000
1
2x 10
−3
vale
ur s
ingu
liere
min
imal
e
temps en jours
Evolution conjointe de la charge virale et de la VSM
0 20 40 60 80 1000
5
10x 10
4
char
ge v
irale
en
copi
es/m
l
Modèle 3D (RTI seuls) Modèle 4D (RTI+PI)
Fig. 1: Analyse de la commandabilité pour le patient 06KEIN.
Schedae, 2007, prépublication n° 16, (fascicule n° 2, p. 71-78).
| 77
Évolution conjointe de de la VSM et de la charge virale pour le patient 009699627
0 100 200 300 400 5000
0.1
0.2
vale
ur s
ingu
liere
min
imal
e
temps en jours
Evolution conjointe de la charge virale et de la VSM
0 100 200 300 400 5000
1
2x 10
5
char
ge v
irale
en
copi
es/m
l
0 100 200 300 400 5000.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
0.1
0.11
0.12
vale
ur s
ingu
liere
min
imal
e
temps en jours
Evolution conjointe de la charge virale et de la VSM
0 100 200 300 400 5000
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2x 10
5
char
ge v
irale
en
copi
es/m
l
Modèle 3D (RTI seuls) Modèle 4D (RTI+PI)
Fig. 2: Analyse de la commandabilité pour le patient 009699627.
0 100 200 300 400 5000
0.02
0.04
0.06
0.08
0.1
0.12
temps en jours
vale
ur s
ingu
lière
min
imal
e
VSM−3DVSM−4D
Fig. 3: Représentation de la VSM des modèles 3D et 4D pour le patient 009699627. Pour le modèle 4D (actioncombinée de RTI et PI) la courbe de commandabilité est au-dessus de celle du modèle 3D (RTI seuls).
5 Conclusion
Le travail présenté nous permet de mieux comprendre la dynamique de l’infection par le
VIH. Dans ce papier, nous avons mis le point sur l’étude de l’effet des traitements sur les
paramètres du modèle mathématique. Nous avons conclu que les paramètres les plus af-
fectés par les thérapies sont bien les paramètres k et β, cependant nous n’avons pas pu
trancher sur les effets découplés des RTI et PI et ceci à cause du manque de données
adéquates pour ce genre d’étude. Cependant, ce travail reste un début demodélisation des
« actionneurs » du système. À noter que la pharmacocinétique et la pharmacodynamique
des antirétroviraux ne sont pas à négliger en vue d’une modélisation complète de l’action
effective des médicaments sur la dynamique de l’infection.
D’autre part, nous avons pu montrer que l’étude de la commandabilité du modèle mathé-
matique permet d’évaluer la sensibilité du patient aux traitements au cours du temps. Nous
avons aussi validé sur des données clinique réelles les résultats de la littérature concernant
la corrélation qui existe entre l’évolution de la charge virale et cette sensibilité. On peut
alors dire qu’un patient serait le plus « favorable » au traitement quelques jours avant le pic
de la charge virale, c’est à dire en début de primo-infection.
Enfin, ces résultats ouvrent de nouvelles perspectives dans le domaine. Il s’agit par exemple
de l’utilisation des modèles identifiés à partir de données réelles dans l’établissement de
Schedae, 2007, prépublication n° 16, (fascicule n° 2, p. 71-78).
78 |
lois de commande optimales personnalisées [16, 11, 17, 12, 9, 18, 10, 8, 19] ou encore de
l’utilisation de l’analyse mathématique dans l’aide au diagnostic (diagnostic précoce des
échecs thérapeutiques).
Références[1] A.S. Perelson et al. Decay characteristics of HIV-1 infected compartment during combination ther-
apy. Nature, 387 :188–191, 1997.
[2] A.S. Perelson and P.W. Nelson. Mathematical analysis of HIV-1 dynamics in vivo. SIAM Review,
41(1) :3–44, 1999.
[3] David D. Ho et al. Rapid turnover of plasma virion and CD4 lymphocytes in HIV-1 infection. Nature,
373 :123–126, 1995.
[4] Xiping Wei et al. Viral dynamics in human immunodeficiency virus type 1 infection. Nature,
373 :117–122, 1995.
[5] R.A. Filter, X. Xia, and I.K. Gray. Dynamic HIV/AIDS parameter estimation with application to a vac-
cine readiness study in southern Africa. IEEE Transactions on Biomedical Engineering, 52(5) :284–
291, 2005.
[6] D.A. Ouattara. Mathematical analysis of the HIV-1 infection : Parameter estimation, therapies
effectiveness, and therapeutical failures. In 27th Annual International Conference of the IEEE En-
gineering in Medecine and Biology Society, Shanghai, China, 2005.
[7] D.A. Ouattara. Modélisation de l’infection par le VIH, identification et aide au diagnostic. PhD
thesis, Ecole Centrale de Nantes & Université de Nantes, Nantes, France, 2006.
[8] R. Zurakowski and R.A. Teel. A model predictive control based scheduling method for HIV therapy.
Journal of Theoretical Biology, pages 368–382, 2006.
[9] H. Shim, S.-J. Han, C.C. Chung, S.W. Nam, and J.H. Seo. Optimal scheduling of drug treatment
for HIV infection : Continuous dose control and receding horizon control. International Journal of
Control, Automation, and Systems, 1(3), 2003.
[10] A.M. Jeffrey. A control theoretic approach to HIV/AIDS drug dosage desing and timing the initia-
tion of therapy. PhD thesis, University of Preotria, South Africa, 2006.
[11] M.A. Jeffrey, X. Xia, and I.K. Graig. When to initiate HIV therapy : A control theoretic approach.
IEEE Transactions on Biomedical Engineering, 50(11) :1213–1220, 2003.
[12] I. Craig and X. Xia. Can HIV/AIDS be controlled ? IEEE Control sytems Magazine, pages 80–83,
2005.
[13] X. Xia and C. H. Moog. Identifiability of nonlinear suystems with application to hiv/aids models.
IEEE Transactions on Automatic Control, 48(2) :330–333, 2003.
[14] R.A. Filter and X. Xia. A penalty function to HIV/AIDS model parameter estimation. In 13th IFAC
Symposium on System Identification, Rotterdam, 2003.
[15] D.A. Ouattara and C.H. Moog. Modelling of the HIV/AIDS infection : an aid for an early diagnosis
of patients. In Biology and control theory : current challenges, volume Springer Series in Lecture
Notes in Control and Information Sciences (LNCIS). Springer Verlag, 2007.
[16] D. Kirschner, S. Lenhart, and S. Serbin. Optimal control of the chemotherapy of HIV. J. Math. Biol,
35 :775–792, 1997.
[17] F. Biafore and C.E. D’Attellis. Exact linearisation and control of an HIV-1 predator-prey model. In
27th Annual International Conference of the IEEE Engineering in Medecine and Biology Society,
Shanghai, China, 2005.
[18] J. Kim, W.H. Kim, H.B. Chung, and C.C. Chung. Constant drug dose leading long-term non-
progressor for HIV-infected patients with RTI and PI. In 44th IEEE Conference on Decision and
Control, and the European Control Conference 2005, Seville, Spain, 2005.
[19] D.A. Ouattara and C.H. Moog. Identification, linéarisation et commande optimale du modèle
3D de l’infection VIH-1. In Conférence International Francophone d’Autotmatique, CIFA 2006,
Bordeaux, France, 2006.
Schedae, 2007, prépublication n° 16, (fascicule n° 2, p. 71-78).
Communication sans fil
session 4
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
79
Oussama Frioui, Fayrouz Haddad, Lakhdar Zaid, Wenceslas Rahajandraibe« Évolution des standards/architectures pour les communications sans fil Application aux systèmes multistandards en technologie CMOS »
Schedae
, 2007, prépublication n°17, (fascicule n°2, p. 79-86).
Schedae
,
2007
Évolution des standards/architectures pour les communications sans filApplication aux systèmes multistandards en technologie CMOS
Oussama Frioui, Fayrouz Haddad, Lakhdar Zaid,Wenceslas Rahajandraibe
L2MP – CNRS – Laboratoire Matériaux et Microélectronique de Provence
IMT – Technopole de château Gombert – 13451 Marseille cedex 13
[email protected], [email protected], [email protected], [email protected]
Résumé :
Dans l’état actuel des choses, il est possible de rassembler la totalité des systèmes de commu-
nications mobiles dans six grandes catégories : les systèmes de radiocommunications privés, les
systèmes sans fil, les systèmes de radiomessagerie unilatérale, les systèmes cellulaires, les systè-
mes par satellites et les systèmes réservés à la transmission de données. Actuellement, Les étu-
des système visent à répartir les contraintes de la norme sur les performances de chaque bloc,
en prenant en considération les technologies disponibles du fait qu’il existe un lien formel entre
norme et architecture du système d’émission/réception. Il s’agit dans cet article d’étudier d’une
façon non exhaustive l’ensemble des normes et des architectures radiofréquences afin d’établir
un lien entre elles.
Mots-Clés : CMOS, wireless, systèmes multistandards.
Introduction
Dès les années quatre vingt dix, le domaine des systèmes cellulaires et sans fil a connu une
croissance phénoménale, au point de devenir le premier marché, en terme de volume de
l’industrie des semi-conducteurs. Il semble donc évident qu’au fur et à mesure de l’évolu-
tion des protocoles de communications et des terminaux (téléphones, assistants personnels,
ordinateurs portables…), les systèmes électroniques devront être conçus selon une archi-
tecture unique, en utilisant le caractère configurable de chacun de ses blocs pour adapter
son comportement aux spécifications des normes visées. Actuellement, les concepteurs se
sont alors dirigés vers la recherche de solutions pour des architectures multistandards, c’est-
à-dire des architectures fonctionnelles au moins pour deux standards à la fois, ce qui permet
de réduire le coût et d’augmenter la flexibilité et l’utilité de ces terminaux [1], [2]. Dans une
Prépublication n° 17 Fascicule n° 2
80
Schedae
,
2007, prépublication n°17, (fascicule n°2, p. 79-86).
première partie, nous détaillerons l’évolution de ces normes de communication. Ensuite,
nous présenterons un état de l’art des différentes architectures de réception RF classiques
ainsi qu’un aperçu sur l’aspect multistandard. Puis, la quatrième partie exposera des diffé-
rentes solutions proposées et réalisées récemment à titre d’exemple. Et pour finir, quelques
perspectives seront mentionnées.
Évolution des standards de communication
Il convient de constater que le développement des techniques nécessaires à la mise en
place des systèmes sans fil et radiomobiles se sont largement développées. En effet, la
réception hétérodyne a été inventée dans les années dix et les techniques de traitement
du signal telles que l’étalement du spectre ou les modulations numériques ont été déve-
loppées dans les années quarante. Cependant, depuis les premières expériences de Mar-
coni à la fin du XIX
e
siècle, les communications sans fil entre deux éléments mobiles ont été
limitées à des applications professionnelles et ce, jusqu’à la fin des années soixante dix. Il
a fallu attendre les années quatre vingt avant de voir la naissance des systèmes de télépho-
nie mobile cellulaire, de première génération, entièrement analogiques comme le NMT
(
Nordic Mobile Telephony
), l’AMPS (
Advanced Mobile Phone Service
), le TACS (
Total
Access Cellular System
) ou le Radiocom2000. Néanmoins, les ressources spectrales rédui-
tes, la courte durée de vie des batteries et le coût du terminal, ont été des obstacles qui
ont restreint les débuts du développement des téléphones portables de première généra-
tion. La seconde génération des systèmes cellulaires est apparue au début des années 90
avec le DECT (
Digital Enhanced Cordless Telecommunications
), le GSM (
Global System for
Mobile communications
, Europe), le PDC (Japon), et le PCS (États-Unis). Prévue initialement
pour des applications de transport de la parole et de données à faibles débits (9600 bits/s)
autour des fréquences (935-960 MHz) ou (890-915 MHz), cette norme a permis l’essor des
communications mobiles. Les performances (efficacité spectrale, sécurité, fonctionnalités)
de la seconde génération de systèmes cellulaires sont plus importantes que celles de la
première génération. Un important apport à ces systèmes a consisté en la modification de
la méthode d’accès aux données, et a donné lieu à la naissance de la génération intermé-
diaire nommée 2.5G, incarnée par le système GPRS (
General Packet Radio Service
). Une
autre forme d’évolution des systèmes cellulaires de seconde génération est incarnée par
les systèmes EDGE (
Enhanced Data rate for GSM Evolution
) ; ils utilisent une nouvelle
modulation, optimisant le débit efficace à l’interface GSM, permettant d’atteindre des
débits de 384kb/s au maximum. Les différents continents ont développé des systèmes
assez similaires dans le principe, mais parfois différents dans leur réalisation. C’est donc
dans le cadre d’une homogénéisation globale des standards qu’est née l’idée d’une troisième
génération de systèmes cellulaires. La troisième génération (3G) de systèmes cellulaires,
souvent assimilée en Europe à l’UMTS (
Universal Mobile Telecommunication Services
), a
été principalement conçue et imaginée afin de satisfaire l’acheminement de données mul-
timédia (accès à Internet, aux réseaux d’entreprise, à des services de messageries, de visio-
conférence, de jeux, etc.). Au même titre que le GPRS et EDGE ont, sans modifier le
principe de base des communications, permis à leur génération de systèmes cellulaires
d’évoluer en terme d’efficacité, le HSDPA (
High-Speed Downlink Packet Access
) est déjà
considéré comme le standard 3.5G des télécommunications mobiles. Alors que le débit
maximum permis sur une liaison UMTS est de 2Mb/s pour une bande passante de 5MHz,
le HSDPA, grâce à sa modulation en 16QAM (
16 Quadrature Amplitude Modulation
), auto-
rise des débits de 10Mb/s. De plus, le but principal des nouvelles technologies de commu-
nication est de supprimer les câbles et de permettre la transmission (voix, données…) via
une liaison radio. De ce fait, on peut noter la naissance des principaux standards suivants :
81
Schedae
,
2006, prépublication n°17, (fascicule n°2, p. 79-86).
Bluetooth (IEEE 802.15.1)
Cette norme fonctionne dans la bande ISM (
Industrial Scientific Medical
) entre 2.4 GHz et
2.48 GHz utilisable librement (sans Licence ni autorisation) [3], [4]. Elle permet des débits
pouvant atteindre 3 Mbits/s dans un rayon de moins de 100 mètres. La technologie Blue-
tooth est également de plus en plus utilisée dans les téléphones portables, afin de leur
permettre de communiquer avec des ordinateurs ou des assistants personnels et surtout
avec des dispositifs mains-libres tels que des oreillettes Bluetooth.
ZigBee (802.15.4)
C’est une norme caractérisée par un faible débit et un faible coût avec pour atout majeur
une faible consommation. Elle fonctionne dans la bande de fréquence située autour de
2.4 GHz [5].
WiFi (IEEE 802.11x)
C’est un ensemble de normes concernant les réseaux locaux sans fil (WLAN) qui offrent des
débits pouvant atteindre théoriquement 54 Mbits/s (de 11 Mbit/s en 802.11b à 54 Mbit/s
en 802.11a/g) sur une bande de fréquence de 2.4 GHz (802.11b/g) et 5 GHz (802.11a) [6],
[7]. Son équivalent en Europe est le HiperLAN.
WiMax (IEEE 802.16)
Ce standard permet un débit théorique de 70 Mbits/s sur un rayon de 50 km maximum. La
norme WiMax Mobile devrait permettre des services comme la communication en VoIP
(Téléphonie sur Réseau IP) sur téléphone portable ou encore l’accès à des services mobiles
en hauts débits. Son équivalent en Europe est le HiperMAN.
Ainsi, le développement rapide des communications sans fil et l’émergence des nou-
veaux standards sollicite la convergence vers la quatrième génération de communications
mobiles, initialement prévue pour les années 2010, semblerait présenter ses toutes
premières réalisations commerciales légèrement plus tôt. Cette avance par rapport aux
prévisions est notamment due au fait que la quatrième génération ne sera pas l’issue d’une
révolution dans les communications (comme l’ont été les seconde et troisième généra-
tions), mais plutôt la convergence de différents standards, applications et produits
(figure 1). En effet, il semble pertinent de considérer la 4G comme la convergence des
standards et des technologies couverts par la 3G et les réseaux locaux sans fil (WLAN). Le
but de la “4G” est d’améliorer les performances de la troisième génération, sans changer
fondamentalement le contenu ni les applications prévues au départ pour la 3G. C’est en
fait la troisième génération qui n’a a priori pas rempli les attentes. Par conséquent, au lieu
d’un standard universel, de nombreux standards sont nés, incompatibles entre eux pour la
plupart, et ce même sur un même continent.
Fig. 1 : Vue d’ensemble des normes de communication.
82
Schedae
,
2007, prépublication n°17, (fascicule n°2, p. 79-86).
En conclusion, l’émergence des réseaux sans fil et la téléphonie mobile ont causé une
surcharge des bandes de fréquences allouées (surtout les bandes autour de 2.4 GHz et
5 GHz) à cela s’ajoute les perturbations et les interférences causées par des appareils
industriels ce qui nécessite des systèmes de plus en plus robustes ayant des architectures
pouvant recevoir la majorité de ces standards.
Architectures des récepteurs RF
Il existe différentes architectures pour les systèmes de réception RF. Elles se caractérisent par
la disposition et le nombre de blocs qu’elles utilisent mais elles doivent répondre aux para-
mètres techniques fixés par la norme. Un niveau d’intégration élevé, une grande flexibilité et
une faible consommation sont les principaux critères de choix d’une architecture. Mais, le
développement rapide des communications sans fils et l’émergence de nouveaux standards,
comme on vient de le mentionner, ont sollicité la demande pour des récepteurs radio
multi-modes à faible coût ce qui rend le critère d’adaptabilité au multistandard l’un des
principaux critères pour le choix définitif d’une architecture. Dans ce qui suit, on donnera une
idée succincte sur l’état de l’art des différentes architectures proposées dans la littérature.
Architecture Hétérodyne
C’est l’architecture la plus classique. Le principe du récepteur superhétérodyne (figure 2)
consiste à la transposition de la bande du signal RF reçue autour d’une fréquence intermé-
diaire (FI) fixe. Si cette transposition se fait en une seule étape, le récepteur est hétéro-
dyne, si elle nécessite plusieurs étapes alors le récepteur est appelé superhétérodyne.
Ce type de récepteur est le plus utilisé dans les mobiles de deuxième génération,
grâce à ses bonnes performances en termes de sélectivité et de sensibilité [8], [9] mais elle
est consommatrice et incompatible aux applications multistandards.
Architecture Homodyne (Zero-IF)
Dans ce type de récepteur, après le filtrage radiofréquence et l’amplification à faible bruit,
le signal utile est directement transposé autour de la fréquence nulle à l’aide d’un oscilla-
teur local (OL) fonctionnant à une fréquence égale à celle du canal sélectionné (figure 3).
Cette architecture a fait l’objet d’une recherche intensive grâce à de ses avantages par
rapport à la structure hétérodyne surtout sur l’aspect intégration et consommation et donc
Fig. 2 : Architecture superhétérodyne.
Fig. 3 : Architecture Homodyne.
FiltreRéjection
Image
Filtre desélectionde canal
Démodulateur
LO1 LO2
RF
LNAFiltre RF
IFiltre
P.Bande CAG
CAG
CAN
CAN
BBDSP
FiltreP.Bande
Q
LNAFiltre RF
RF
LO 0 90
83
Schedae
,
2006, prépublication n°17, (fascicule n°2, p. 79-86).
le coût mais elle est sensible au bruit en 1/f et aux problèmes d’offset (DC). De ce fait, c’est
l’architecture la mieux adaptée pour l’UMTS et le WLAN [10]- [15].
Architecture Faible FI (Low-IF)
C’est une solution intermédiaire entre les deux précédentes. Son principe consiste à trans-
poser le signal RF en une fréquence intermédiaire très faible (de l’ordre de deux ou trois
fois la largeur de la bande utile) [5]. La partie analogique est similaire à celle du récepteur
Homodyne.
Cette architecture est la mieux adaptée pour le Bluetooth [10], [13], [14] ainsi que pour
le ZigBee [1].
En récapitulant, l’architecture hétérodyne, malgré sa maîtrise de conception, présente
des inconvénients incontournables de par sa complexité et de son incompatibilité avec les
systèmes multi-modes/multi-bandes. Par contre, les architectures Zero-IF remplissent par-
faitement le rôle de configurabilité, en faisant en partie reposer cette flexibilité sur chacun
des blocs constitutifs de l’architecture. L’architecture à faible FI offre de réelles potentialités
grâce à son haut niveau d’intégration mais elle est plus efficace pour les standards à bande
étroite que pour les standards à large bande [13].
Par conséquent, les nouvelles architectures se basent sur les architectures homodyne
et/ou à faible FI qui offrent surtout un degré d’intégration élevé donc un faible coût et une
relative faible consommation [16]. De ce fait, la structure générale d’une architecture multi-
standard, proposée dans [17], est représentée à la Figure 5. Cette architecture est divisée
en deux parties : une partie adoptel’architecture à faible FI pour la réception du standard
Bluetooth (ce choix est favorisé du fait que la norme Bluetooth est fonctionnelle sans
licence et par conséquent le niveau des signaux perturbateurs sera plus important ce qui
demande une grande sensibilité pour le récepteur). La seconde partie est basée sur l’archi-
tecture Zero-IF, qui recevra principalement les standards : GSM, UMTS et WLAN. De plus,
cette architecture est caractérisée par une antenne multi-bande et un amplificateur à faible
bruit (LNA
1
) multi-bande.
Fig. 4 : Architecture Faible-FI.
Fig. 5 : Architecture multistandard proposée dans [17].
1. LNA (
Low Noise Amplifier
) :c’est un amplificateur à faible bruit.
Filtre RF
RF
IFiltre
P.Bande
LO 0 90
CAG
CAG
CAN
CAN
BBDSP
FiltreP.Bande
Q
LNAFiltrage et
multiplicationnumériques
Filtre RFUMTS
FiltreRFGSM
Duplexeur
Antenne Multi-bandes
RécepteurBluetooth
.
.
.
. LNAMulti-bandes
Q
FiltrePassebas
FiltrePassebas
CANMulti-
standard
CANMulti-
standard
LO 0 90 Bande deBase
ContrôleAutomatique
de Gain
ContrôleAutomatique
de Gain
I
84
Schedae
,
2007, prépublication n°17, (fascicule n°2, p. 79-86).
Solutions et réalisations actuelles
Dans cette partie, nous présentons deux récepteurs conçus pour des applications multi-
standards.
Récepteur WLAN/GSM/WCDMA
La figure 6 présente une architecture en technologie CMOS 0.25 µm, proposée dans [18],
pour la réception des standards IEEE 802.11g, GSM et WCDMA tout en adoptant l’archi-
tecture Zero-IF.
L’architecture proposée est composée de trois filtres RF en tête pour la sélection des
différents standards. Ensuite, chaque bande sélectionnée est amplifiée par le LNA, corre-
spondant. Le signal utile est directement transposé autour de la fréquence nulle à l’aide
d’un oscillateur local dont le fonctionnement est adapté à chaque standard.
Cette architecture a permis d’avoir de bonnes performances en termes de bruit et de
sensibilité mais elle occupe une grande surface silicium et présente un courant de consom-
mation important.
Récepteur DECT/Bluetooth
L’environnement radiofréquence actuel est très perturbé comme on vient de le noter.
Ainsi, pour la norme Bluetooth, qui fonctionne dans la bande ISM, les niveaux des signaux
sont plus importants ce qui a donné naissance à une architecture basée sur la topologie
Low-IF avec un système d’estimation du niveau des signaux pour l’adaptation de la réjec-
tion des fréquences images (figure 7). Le filtre polyphase RF est utilisé pour la génération
de deux signaux en quadrature (voix : I et Q). Un système d’estimation de niveau des
signaux est introduit qui génère les signaux E1, E2 et E3 pour le contrôle.
Cette architecture a été testée en technologie CMOS 0.18 µm et se révèle promet-
teuse car elle a permis une amélioration du niveau de réjection d’image et de la sensibilité
Fig. 6 : Architecture multistandard proposée dans [18].
Fig. 7. Architecture multistandard proposée dans [2].
LNAWCDMA
LNA802.11g
LNAGSM
90°
I
Q
Synthètiseur defréquence
Filtre desélection du
canal
Filtre desélection du
canal
CANMultistandard
CANMultistandard
Bande deBase
Duplexeur
RF
85
Schedae
,
2006, prépublication n°17, (fascicule n°2, p. 79-86).
du récepteur mais au prix d’une complexité de conception plus importante et une aug-
mentation de la surface silicium.
Conclusion et perspectives
Dans cet article, un état de l’art des différentes normes pour les communications sans fil
ainsi que pour différentes architectures RF a été effectué. La réalisation des architectures
multistandards paraît un challenge pour la nouvelle ère de radiocommunication. En effet,
la stratégie de reconfigurabilité pour les circuits analogiques est la clé pour la diminution
de la taille des puces et la consommation et donc du coût de fabrication bien évidemment.
De ce fait, l’apparition des LNA et des antennes multi-bandes favorise cette évolution ce
qui nous amène à penser à la viabilité des structures de filtrage au cours de la chaîne de
réception et donc à la configurabilité des différents blocs de filtrage. Il s’agit alors, dans les
contextes actuel et futur, d’apporter des techniques de conception qui permettent
l’accomplissement de ces potentialités, tout en sachant se conformer aux spécifications
électriques habituelles des normes visées et en tirant parti des possibilités offertes par les
avancées des technologies du semi-conducteurs.
Références
[1] W. Kluge et al,
“A Fully Integrated 2.4-GHz IEEE 802.15.4-Compliant Tranceiver for ZigBee
Applications”
IEEE J. Solid-state Circuits, vol. 41, no 12, pp 27676-2775. Dec. 2006.
[2] V. Vidojkovic, J. Tang, A. Leeuwenburgh and A. Roermund “
A DECT/BLUETOOTH Multistandard
front-end with adaptative image rejection 0.18 mm CMOS
”, IEEE International Conference on
Electronics, Circuits and Systems. Dec. 2005.
[3] Specification of the Bluetooth System, Dec. 1999.
[4] H. Darabi et al,
"A 2.4-GHz CMOS tranceiver for Bluetooth"
, IEEE J. Solid-state Circuits, vol. 36, no
12, pp 2016-2024. Dec. 2001.
[5] IEEE 802.15.4 Standard, Draft P802.15.4 b/D3, Oct. 2005.
[6] Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications – High-Speed
Physical Layer in the 5 GHz Band, ANSI/IEEE Standard 802.11a, 1999.
[7] Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications – Further
Higher-Speed Physical Layer Extension in the 2.4 GHz Band, IEEE Standard 802.11g/D1.1, 2002.
[8] B. Razavi, RF Microelectronics, Prentice Hall PTR
,
1997.
[9] B
.
Razavi, “
Architectures and Circuits for RF CMOS Receivers
’’
IEEE Custom Integrated Circuils
Conference, pp. 393-401, 1998.
[10] A. Springer, L. Maurer and R. Weigel,
"RF system concepts for highly integrated RFICs for W-
CDMA mobile radio terminals"
, IEEE trans. Microw. Theory and Tech, vol. 50, no 1, pp 254-267.
Jan. 2002.
[11] F. Gatta, D. Manstretta, P. Rossi and F. Svelto,
"A fully integrated 0.18 µm CMOS direct conversion
receiver front-end with on chip LO for UMTS "
, IEEE J. Solid-state Circuits, vol. 39, no 1, pp 15-23.
Jan. 2004.
[12] J. Ryynanen, K. Kivekas, J. Jussila, A. Parssinen, and K. Halonen,
“A dual-band RF front-end for
WCDMA and GSM applications
”
IEEE J. Solid-State Circuits, vol. 36, no. 8, pp. 1198 – 1204, Aug.
2001.
[13] D. Brunel, C. Caron, C. Cordier, and E. Soudée
“A highly integrated 0.25 _m BiCMOS chipset for
3G UMTS/WCDMA handset RF subsystem,”
IEEE Radio Frequency Integrated Circuits Symp., pp.
191 – 194, June. 2002
[14]
“RF5421 – Dual-band tri-mode 802.11a/b/g wireless LAN solution,”
RF Micro Devices, Greensboro,
NC, 2003. [Online]. Available :
http://www.rfmd.com.
[15] D. Brunel, C. Caron, C. Cordier, and E. Soudée
“A highly integrated 0.25 µm BiCMOS chipset for
3G UMTS/WCDMA handset RF subsystem,”
IEEE Radio Frequency Integrated Circuits Symp., pp.
191 – 194, June. 2002
86
Schedae
,
2007, prépublication n°17, (fascicule n°2, p. 79-86).
[16] J. Mahattanakul
“The effect of I/Q imbalance and complex filter component mismatch in Low-IF
receivers”
IEEE trans. Circuits Syst, vol 53, no 2, pp. 247 – 253, Feb. 2006.
[17] D. Brandolini, P. Rossi, D. Manstretta, and F. Svelto
“Toward Multistandard mobile terminals- Fully
Integrated Receivers Requirements and Architectures”,
IEEE trans. Microw. Theory and Tech, vol.
53, no 3, pp 1026-1038. March. 2005.
[18] A.A. Abidi,
“
RF CMOS comes of Age
”, IEEE Symposium on VLSI Circuits, Digest of Technical
Papers. pp. 113-116, 2003.
87
Hugues Kampé, Olivier Hubert, David Denis, Patrick Martin« Extraction d’inductances parasites et re-simulation pour circuits intégrés RF »
Schedae
, 2007, prépublication n°18, (fascicule n°2, p. 87-94).
Schedae
,
2007
Extraction d’inductances parasiteset re-simulation pour circuits intégrés RF
Hugues Kampé
LaMIPS : Laboratoire de Microélectronique ENSICAEN NXP
NXP Chief Technology Office/Process & Library technology
NXP Semiconducteurs, 2 Esplanade Anton Philips, BP 20 000, 14906 Caen Cedex 9, France
Olivier Hubert, David Denis
NXP Chief Technology Office/Process & Library technology
NXP Semiconducteurs, 2 Esplanade Anton Philips, BP 20 000, 14906 Caen Cedex 9, France
Patrick Martin
LaMIPS : Laboratoire de Microélectronique ENSICAEN NXP
Résumé :
Les inductances parasites et le couplage inductif peuvent avoir un impact majeur sur les circuits
intégrés fonctionnant à des fréquences de l’ordre du GHz. La densité et la longueur croissante
des lignes d’interconnexion de ces circuits sont quelques tendances technologiques qui accrois-
sent les effets inductifs. Ces effets doivent être considérés dans le processus de conception afin
d’évaluer et d’optimiser les performances des circuits avant leur fabrication. Deux approches
complémentaires répondent à ce besoin : la simulation électromagnétique et l’utilisation des
moteurs d’extraction d’éléments parasites. L’étude globale évalue et valide différents outils
d’extraction, tout en comparant leur vitesse, précision et capacité à intégrer de grands circuits.
Le moteur d’extraction présenté est Assura RCX-PL de Cadence. Il a été évalué sur des structures
relativement simples et bien connues : des lignes de transmission ; et aussi sur des cas plus
complexes : Oscillateur Contrôlé en Tension. Les résultats de mesures sont présentés.
Mots clés : inductance parasite, couplage inductif, extraction RLC, Assura RCX-PL.
Prépublication n° 18 Fascicule n° 2
88
Schedae
,
2007, prépublication n°18, (fascicule n°2, p. 87-94).
Introduction
La réduction des dimensions de gravure des procédés CMOS et BiCMOS, la montée en
fréquence des applications et le nombre croissant de lignes d’interconnexions entre blocs,
imposent de prendre en compte l’effet du couplage inductif et des inductances parasites
[1] dans les circuits radio fréquence (RF).
Cet effet, conjugué à ceux des résistances et des capacités parasites, est critique aux
hautes fréquences (HF) – dès l’ordre du Giga Hertz – [2]. Il doit donc être considéré très tôt
dans le flot de conception afin d’évaluer avec précision les performances réelles des cir-
cuits RF avant fabrication.
Dans cette optique, deux types d’outils sont disponibles :
– Les outils électromagnétiques fondés sur les équations de Maxwell. Ils sont très précis,
mais les temps de calcul trop importants ne permettent pas de simuler un circuit com-
plet.
– Les logiciels d’extraction d’éléments parasites qui utilisent des expressions analyti-
ques. Ils sont un bon compromis entre précision et vitesse. Ils sont aujourd’hui capa-
bles d’extraire des inductances et des mutuelles inductances parasites, en plus des
résistances et capacités, sur des blocs fonctionnels complets.
Cette étude porte sur l’évaluation des inductances parasites dans les circuits RF, appli-
quée au cas des lignes de transmission représentatives des interconnexions dans le circuit.
L’outil utilisé est le moteur d’extraction d’éléments parasites Assura RCX-PL [3] de
Cadence.
La seconde partie présente le modèle utilisé pour les interconnexions étudiées. La
troisième met en évidence les effets à haute fréquence sur les interconnexions. La quat-
rième section illustre l’adéquation entre la théorie et les résultats fournis par l’outil et par
des mesures. Enfin, un aperçu des travaux autour du couplage inductif est présenté en
conclusion.
Lignes de transmission
L’étude des effets inductifs est réalisée sur des lignes de transmission représentatives des
interconnexions utilisées dans les circuits RF : figure 1. Elles sont de diverses dimensions,
formes, et couches métalliques dans la technologie BiCMOS QUBIC4G [4]. Ces lignes ont
été choisies suffisamment longues (supérieure à
λ
/2 à 50GHz) pour capturer toute l’infor-
mation de phase et avoir une vue globale des pertes.
Pour étudier l’excitation et la propagation du courant et de la tension en haute
fréquence, des segments de ligne de dimensions négligeables comparées à la longueur
d’onde
λ
sont considérés, de façon à pouvoir négliger le temps de propagation du signal
le long de ces segments. Le modèle analytique retenu [5] est celui à éléments distribués,
fig. 2.
1.1. Ligne simple 1.2. Ligne coplanaire en U 1.3. Lignes coplanaires en superposées
Fig. 1 : Lignes de transmission étudiées.
Largeur ligne
SignalLargeur ligne
Signal
Largeurmasse
M x
Largeur ligne
espacementespacement
Largeurmasse
Signal
M y
Largeurmasse
M x
Largeur ligne
espacementespacement
Largeurmasse
Signal
M y
Largeurmasse
M x
Largeur li gne
espacementespacement
Largeurmasse
Signal
M y
Largeurmasse
M x
Largeur li gne
espacementespacement
Largeurmasse
Signal
M y
Largeur ligne
SignalLargeur ligne
Signal
Largeurmasse
M x
Largeur ligne
espacementespacement
Largeurmasse
Signal
M y
Largeurmasse
M x
Largeur ligne
espacementespacement
Largeurmasse
Signal
M y
Largeurmasse
M x
Largeur li gne
espacementespacement
Largeurmasse
Signal
M y
Largeurmasse
M x
Largeur li gne
espacementespacement
Largeurmasse
Signal
M y
89
Schedae
,
2006, prépublication n°18, (fascicule n°2, p. 87-94).
R, L, C et G sont respectivement la résistance, l’inductance, la capacité et la conduct-
ance distribués par unité de longueur. La constante de propagation du signal
γ
et
l’impédance caractéristique Z
c
de la ligne sont tels que :
(1)
α
est la constante d’atténuation du signa
l,
β
= 2
π
/
λ
est la constante de phase, w = 2f la pulsation.
Afin d’évaluer ces paramètres de lignes à partir des paramètres S provenant des
mesures ou de l’utilisation d’outils, les lignes sont assimilées à des quadripôles caractérisés
par leur matrice [ABCD].
Le passage de cette matrice [ABCD] à celle des paramètres S [7] donne :
(2)
Z
0
= 50
Ω
est l’impédance de référence.
Les éléments R, L, C et l’impédance totale Z de la ligne de longueur l, ainsi que
l’atténuation D en décibel du signal et son temps de propagation le long de la ligne (t
pha
)
exprimé en secondes sont aussi calculés à partir des paramètres S.
(3)
Ces paramètres sont utilisés pour caractériser les éléments parasites des interconnex-
ions et comparer les outils.
Effets à haute fréquence
À basse fréquence (<100 MHz) la distribution de courant est uniforme dans la section de la
ligne. Quand la fréquence augmente, l’effet de peau provoque une diminution de la den-
sité de courant au centre de la section. Cet effet est caractérisé à la pulsation
ω
par l’épais-
seur de peau
δ
qui est la profondeur de pénétration à laquelle la densité de courant est
divisée par e2,71.
(4)
Avec
σ
= 1/
ρ
la conductivité du conducteur de perméabilité µ= 410
-7
.
Fig. 2 : Circuit équivalent d’un segment de ligne.
22 )())(( βαγ jjwCGjwLR +=++=jwCG
jwLRZc +
+=
212
211
212
2112
02
)1()1(
SSSS
ZCB
Zc −−−+
==
( )
)/(1010ln
20
2
3 mmdBD
sf
ltpha
α
π
β
−=
=
ωγ
ωγ
γγ
)/.(
)..(
)..(
..
c
c
c
c
ZlmagC
ZlmagL
ZlealR
ZlZ
ℑ=
ℑ=
ℜ=
=
ωμσδ
2=
90
Schedae
,
2007, prépublication n°18, (fascicule n°2, p. 87-94).
La figure 3 illustre la distribution de la densité de courant selon la section d’un conduc-
teur. Le phénomène de peau est analysé selon qu’on observe cette distribution dans le
sens de l’épaisseur ou de la largeur de la section.
Analysons la variation de cette densité lorsqu’on entre par deux faces opposées selon
la section. Afin de simplifier cette analyse, supposons uniforme la densité de courant sur
un élément de section d’épaisseur
δ
dans la direction observée.
Avec cette hypothèse,
– Si on peut distinguer plus de deux éléments de section d’épaisseur
δ
selon la direction
observée, la distribution de la densité de courant sera considérée non-uniforme :
l’impact de l’effet de peau est important ;
– Si on ne peut pas distinguer plus de deux éléments de section d’épaisseur
δ
selon la
direction observée, l’effet de peau aura un impact négligeable. La densité de courant
sera considérée uniforme.
Rappelons que cette subdivision de la section du conducteur en éléments d’épaisseur
δ
dépend de la fréquence. En appliquant cette méthode, on observe que :
– Dans le sens de l’épaisseur du conducteur, le courant est uniformément distribué ;
– En observant dans le sens de la largeur du conducteur, la densité de courant varie.
Il en résulte une distribution non-uniforme de cette densité selon la section du con-
ducteur, comme illustré figure 3. Une estimation de la résistance à basse fréquence (R
DC
),
à 50GHz (R
50GHz
) et de l’inductance L [6] est :
(5)
l la longueur de la ligne, h son épaisseur, m sa largeur, 2*
δ
la largeur où circule le cour-
ant à 50GHz.
T est un paramètre dépendant de la fréquence, et qui est caractéristique de l’effet de
peau.
La résistance rencontrée par le flux d’électrons dans la section du conducteur aug-
mente avec la fréquence, car la section traversée par le courant diminue. De même,
l’inductance L diminue, car le paramètre T diminue avec la fréquence. L’impact de cet effet
dépend de la géométrie de la ligne, mais aussi de son environnement.
En effet, le phénomène de peau est amplifié pour des conducteurs très proches – de
l’ordre du micron – par un autre phénomène appelé effet de proximité. La distribution du
courant dans un de ces conducteurs sera influencée par celle dans l’autre, et vice-versa. Le
courant ne circulera plus sur les deux côtés selon la section du conducteur : figure 3, mais en
majorité sur l’un des deux côtés (selon le sens du courant dans l’un et l’autre conducteur).
C’est ainsi qu’une variation de 40 % de la valeur de la résistance entre 50 MHz et 50GHz
et de 1 % de la valeur de l’inductance a été constatée pour une ligne simple (figure 1.1) de
3 mm de long et de 2um de large en technologie CMOS. Alors qu’une variation de 62 %
Fig. 3 : Distribution de courant à haute fréquence selon la section d’un conducteur.
δ 2δδδδ 2δ δδδδδ 2δδδδ 2δ δδδδ
δδδδδ
δδδδδ
+ =paisseur du conducte ur
Largeur
mhl
RDC*
ρ=δ
ρ**250 h
lR GHz = nH
Tl
hmhm
llL ⎟
⎠
⎞⎜⎝
⎛+
+++
+=
4325049.0
2ln2
91
Schedae
,
2006, prépublication n°18, (fascicule n°2, p. 87-94).
pour R et de 10 % pour L entre les même bornes a été établie pour une ligne coplanaire
de 3 mm de long et 2um de large, espacement de 1um.
La combinaison de ces deux effets HF change considérablement le comportement résis-
tif et inductif de ces lignes. C’est pourquoi il est important de disposer d’outils qui permet-
tent de tenir compte de l’influence de ces paramètres lors du dessin de circuits intégrés RF.
Comparaison mesures et outil
Les paramètres mesurés des structures représentées sur les figures 1.2 et 1.3 ont été obte-
nus en utilisant l’analyseur de réseau vectoriel Agilent8510XF après calibrage SOLT. Ils sont
comparés aux paramètres S obtenus après simulation avec le simulateur Spectre (de
Cadence) du circuit généré par Assura RCX-PL. Ce dernier circuit contient la représentation
électrique des inductances parasites.
Résultats concernant la structure en U : figure 1.2
La structure en U utilisée a 2 mm de long, 3um de « largeur masse » et de « largeur ligne »
pour 5um d’« espacement ». La fenêtre de mesure et d’analyse est en fréquence entre
500 KHz et 50GHz.
En dessous de 30GHz sur la figure 4, la différence entre la mesure et la simulation est
au maximum de 0.5dB pour S12 et de 1.2dB pour S11.
Autour de 30GHz le circuit est résonant. Dès lors, la précision du modèle électrique
utilisé par l’outil Assura afin de représenter les éléments parasites des lignes devient cri-
tique. Au vu des pics apparaissant sur les courbes de paramètre S de Assura et des dif-
férences de résultats avec les mesures, nous avons conclu à une limite d’utilisation du
moteur d’extraction de Cadence.
Les différences de résultats de paramètres S se reflètent sur la courbe de l’inductance
où un écart maximum de 10 % entre les mesures et la simulation est constaté (figure 5). Ce
faible écart est égal au seuil de tolérance admis dans le cadre l’étude. De même que la dif-
férence sur la valeur de la résistance qui est en dessous de 3 %.
Fig. 4 : Comparaison des paramètres S d’une structure en U.
Fig. 5 : Résistance et inductance comparées de la structure en U.
92
Schedae
,
2007, prépublication n°18, (fascicule n°2, p. 87-94).
L’analyse des variations de la résistance et de l’inductance pour des fréquences allant
jusqu’à 50GHz montre que la valeur de la résistance HF peut être supérieure de 70 % à
celle à 50MHz, tandis que la valeur de l’inductance diminue de plus de 12 %. Ceci illustre
combien il est important de tenir compte de ces parasites à haute fréquence dans l’analyse
des interconnexions des circuits.
La structure coplanaire (figure 1.3) présente des résultats similaires, voire des écarts
moins importants entre les résultats de simulation et les résultats de mesure.
Résultats concernant un Oscillateur Contrôlé en Tension
Afin d’évaluer l’importance des inductances parasites sur des structures complexes, et
aussi de valider l’utilisation du moteur d’extraction de Cadence, l’étude des éléments
d’interconnexion d’un oscillateur contrôlé en tension a été menée.
L’oscillateur [8] conçu dans la technologie BiCMOS QUBIC4G [4] présente des nœuds
connectant son inductance au reste de son circuit. Ces nœuds nommés Tank A et Tank B
sur la figure 6 sont parfaitement symétriques.
L’effet des inductances parasites de ces interconnexions sur la fréquence d’oscillation
a été analysé. Pour ce faire, le paramètre S11 issu de la simulation du modèle schématique
de l’oscillateur, modèle n’incluant pas les inductances parasites, est comparé à celui issu
de l’extraction de tous les éléments parasites (dont les inductances) par Assura.
Les résultats montrent une baisse de la fréquence de résonance, de 10.8GHz à
9.1GHz, soit près de 16 % ! Cette baisse est quasiment égale à celle relevée lors des
mesures [8].
De plus, une seconde fréquence de résonance est mise en exergue. Sa présence
s’explique par la spécificité dans la conception de l’oscillateur contrôlé en tension étudié.
L’équation qui régit sa valeur n’inclue que les inductances parasites.
Fig. 6 : Structure de l’oscillateur contrôlé en tension étudié.
Fig. 7 : Fréquence de résonance de l’oscillateur contrôlé en tension.
inductanc e
Circuit de r glage de l os cillateur
Tank A Tank B
interconnexions
Schematic & RC-Extracted S11
RLCK-extracted S11
93
Schedae
,
2006, prépublication n°18, (fascicule n°2, p. 87-94).
Grâce à une optimisation de géométrie, l’impact de ces inductances sur la fréquence
de résonance de l’oscillateur a été minimisé.
Conclusion
La simulation des lignes d’interconnexion, après extraction par l’outil Assura RCX-PL de
leurs paramètres parasites R et C mais aussi des parasites inductifs, fournit une estimation
correcte du comportement électrique de ces structures sur une large bande de fréquence
et pour un temps de simulation bien moindre qu’avec les outils électromagnétiques.
Pour les lignes de transmission, les écarts entre les données provenant des mesures et
celles provenant de la simulation sont faibles. L’outil présente cependant quelques limitations
à très haute fréquence et au-delà de la fréquence de résonance des lignes présentées.
Dans le cas de l’oscillateur, l’analyse des inductances parasites permet d’évaluer avec
précision la fréquence d’oscillation du circuit, et ainsi d’évaluer les performances du circuit
avant fabrication.
Les résultats de cette étude ouvrent la voie à l’analyse du couplage inductif. En effet,
diverses structures d’un circuit (lignes d’alimentation, inductances, lignes transportant un
signal à haute fréquence) peuvent interagir de façon inductive. Cette interaction peut
générer un comportement inattendu du circuit. La mutuelle entre différents éléments du
circuit (figure 8) doit être minimisée. La suite de cette étude y est consacrée.
Remerciements
Les auteurs tiennent à remercier leur collègue D. Lesenechal pour les mesures RF qu’il a
effectuées, ainsi que leurs collègues A. Farrugia et C. S. Vaucher pour leur collaboration
dans le cadre de l’étude de l’oscillateur contrôlé en tension.
Ce travail a été réalisé avec le support de la Région de Basse-Normandie, du Fonds
Européen de Développement Régional (FEDER) et du ministère français de la recherche.
Bibliographie
[1] A.E. Ruehli. Inductance calculations in a complex integrated circuit environment. IBM J. Res.
Develop, vol. 16, pp. 470-481, Sept. 1972.
[2] Luuk F. Tiemeijer, R.M.T. Pijper, R.J. Havens, O. Hubert. Low-Loss Patterned Ground Shield
Interconnect Transmission Lines in Advanced IC Processes. IEEE Trans. Microwave Theory and
Tech., 2007.
[3] K. L. Shepard, D. Sitaram, and Y. Zheng. Full-chip, three-dimensional, shapes-based RLC
extraction. Proc. Int. Conf. Computer-Aided Design, pp. 142-149, 2000.
[4] Deixler, P. et al. QUBiC4G : a low power SiGe-BiCMOS production technology with high quality
passives for 12.5 Gb/s optical networking and emerging wireless applications up to 20 GHz.
Proceedings of the Bipolar/BiCMOS Circuits and Technology Meeting, 2002.
Fig. 8 : Couplage inductif.
LNA Mixer
= potentiel probl m e
94
Schedae
,
2007, prépublication n°18, (fascicule n°2, p. 87-94).
[5] Robert E. Collin. Foundations for microwave engineering. Mc Graw Hill, Inc. 2nd ed. 1992.
[6] H. Greenhouse. Design of Planar Rectangular Microelectronic Inductors. Parts, Hybrids, and
Packaging, IEEE Transactions on Vol. 10, n
∞
. 2, pp 101- 109, 1974.
[7] Frickey, D.A. Conversions between S, Z, Y, H, ABCD, and T parameters which are valid for complex
source and load impedances. IEEE Trans. Microwave Theory and Tech., Volume 42, pp 205-211,
Feb. 1994.
[8] A. Farrugia ; C.S. Vaucher, Single-Cable Channel Converter (SC3) and US Ku-Band VCO Systems :
Design and Measurements, Technical Note : NXP-R-TN 2007/00040
| 95
Prépublication n° 19 | Fascicule n° 2
Un nouvel algorithmede routage géographiquedans les réseaux de capteurs
Julien ChampLaboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier
Clément SaadLaboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier
Laboratoire d’Informatique d’Avignon
Résumé :
Ce papier présente un nouvel algorithme de routage géographique pour les réseaux de cap-
teurs. On suppose que chaque capteur connaît la position de l’ensemble des capteurs, y compris
la sienne, à une erreur de position près. Un nœud n’est donc pas certain de l’existence d’un lien
entre deux capteurs du réseau, sauf s’il est l’un des deux capteurs. On propose un algorithme
de routage capable d’optimiser deux critères simultanément : la consommation d’énergie du
système et le taux d’acheminement des messages. Les performances sont validées par des sim-
ulations confrontant notre méthode à un algorithme optimal du point de vue énergétique.
Mots-clés : réseaux de capteurs sans fil, erreur de positionnement, dépense d’énergie.
1 Introduction
Les progrès réalisés ces dernières années dans les domaines des microsystèmes électromé-
caniques ainsi que des techniques de communication sans fil ont permis de voir apparaître
un nouveau type de réseau : le réseau de capteurs sans fil. Ces réseaux sont composés
de capteurs qui ont la capacité de récolter diverses données environnementales telles que
la température ou la présence d’un gaz. Une fois ces informations récoltées les données
sont transmises grâce à un routage multi-sauts vers un « puits » ou « point de collecte »
qui traite alors l’information. Les domaines d’applications des réseaux de capteurs sont
Julien Champ, Clément Saad« Un nouvel algorithme de routage géographique dans les réseaux de capteurs »
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
96 |
nombreux [1] : par exemple la surveillance de départs de feu de forêt ou de mouvements
de troupes ennemies. C’est pour cette raison que leMIT’s Technology Review [2] considère
les réseaux de capteurs comme l’une des dix technologies qui vont changer le monde.
La problématique du routage est essentielle dans ce type de réseau. Elle doit prendre
en compte les caractéristiques des capteurs : chaque capteur est doté d’une unité de dé-
tection d’événements, de calcul et de communication. Tous ces composants sont alimentés
par une batterie, il est donc nécessaire que les algorithmes de routage proposés utilisent
des chemins permettant une dépense d’énergie minimale. Plusieurs solutions ont été pro-
posées pour résoudre ce problème, par exemple [3, 4, 5, 6, 7]. Parmi ces solutions, certaines
utilisent les informations de localisation des capteurs pour effectuer le routage [5, 6, 7]. Ces
méthodes supposent que chaque capteur a la connaissance exacte de sa position, soit grâce
à la technologie GPS (Global Positioning System), soit grâce à des méthodes de localisa-
tion telles que [8, 9, 10]. De telles méthodes de localisation utilisent soit une estimation
de la distance séparant deux capteurs, en fonction des propriétés du signal reçu (temps de
propagation, atténuation du signal. . .), soit en fonction de l’angle d’arrivée du message. Les
méthodes de localisation utilisent ces connaissances afin d’en déduire la position estimée
des nœuds du réseau.
Dans la pratique, les systèmes de localisation ne sont pas forcément précis. Par exemple,
dans [8, 9], les auteurs proposent des méthodes de localisation où les capteurs déterminent
leurs positions ainsi que leurs bornes d’erreur de positionnement.
Dans ce papier, nous proposons une technique de routage géographique (en utilisant le
positionnement des capteurs) prenant en compte l’incertitude des positions des capteurs.
Nous supposons qu’un capteur connaît la position ainsi que l’erreur de positionnement de
tous les capteurs. À cause des erreurs de positionnement, les liens de communication ne
sont pas sûrs. Chaque capteur possède la même vision du réseau, sauf en ce qui concerne
son voisinage : la probabilité d’existence de liens avec ses voisins est 1. Les voisins d’un
capteur sont les capteurs situés à portée de communication de celui-ci. L’algorithme de
routage que nous proposons choisit un chemin composé d’arcs possédant à la fois une
bonne probabilité d’existence et un bon rapport entre la dépense d’énergie et le progrès
réalisé. La notion de progrès sera définie dans la section 3.
2 Hypothèses et modélisation du problème
Dans certaines applications, les capteurs peuvent êtremobiles. Ce papier considère unique-
ment des réseaux de capteurs statiques. Nous supposons que tous les capteurs ont lemême
rayon d’émission r, et que les émissions sur le lien radio sont idéales 1. Si deux capteurs sont
séparés par une distance inférieure ou égale à r, ils peuvent alors communiquer. Cepen-
dant, tous les capteurs ont la capacité d’ajuster leur rayon d’émission afin d’émettre sur une
portée plus courte et ainsi économiser de l’énergie. On suppose qu’il y a un seul point de
collecte dans le réseau et que chaque nœud sait où il est positionné.
Imaginons que les capteurs soient déployés par hélicoptère, il est alors possible de
connaître à l’avance leur position finale. Cependant plus les capteurs sont jetés de haut, plus
l’erreur de positionnement est grande. Il est possible d’enregistrer avant le déploiement,
dans chaque capteur, la position de tous les autres capteurs du réseau ainsi que l’erreur de
positionnement associée à chacun d’entre eux.
Considérons un réseau de capteurs. Soit V l’ensemble des capteurs du réseau. On asso-
cie à chaque capteur u une position estimée (Xu, Yu) dans le plan cartésien et une borne
1. Une émission radio est considérée comme idéale s’il n’y a pas de brouillages dus par exemple à laprésence d’obstacles.
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
| 97
d’erreur de positionnement εu. La position réelle du capteur modélisé par le nœud u est
incluse dans le disque de centre (Xu, Yu) et de rayon εu. On considère une distribution
uniforme : le capteur a autant de chance d’être en chaque point de ce disque. Nous modé-
lisons le réseau par un graphe orienté G dont l’ensemble des sommets est l’ensemble V .
Il y a un arc entre deux nœuds A et B si et seulement si distAB − εA − εB ≤ r où distAB
est la distance euclidienne entre les points de coordonnées (XA, YA) et (XB , YB). Du fait
des hypothèses de départ, le graphe G est symétrique. Notons E l’ensemble des arcs du
graphe G.
La figure 1 représente un réseau de capteurs sans fil que nous considérons dans cet
article, le graphe étant symétrique nous représentons deux arcs (A, B) et (B, A) par un
segment.
A
C
Aε
B
r : rayon d’émission
D
Fig. 1: Représentation d’un réseau de capteurs sans fil, avec erreurs de positionnement.
3 Estimation du coût d’un lien
Dans cette partie, nous allons proposer une métrique afin d’attribuer un coût à chaque arc
du graphe. Soit deux capteurs A et B. Le coût d’un arc (A, B) est défini en fonction des
critères suivants : la probabilité que la communication soit possible entre les capteurs A et
B, la dépense d’énergie et le progrès réalisé si le capteur A transmet le message au capteur
B. Le progrès est la différence entre la distance euclidienne du nœud émetteur au puits, et
la distance du nœud récepteur au puits. Dans un premier temps nous allons voir comment
estimer la probabilité PAB d’existence d’un lien de communication entre A et B, puis le
rapport RAB entre la dépense d’énergie et le progrès réalisé lors de la transmission d’un
message de A vers B.
3.1 Estimation de la probabilité d’existence d’un lienConnaissant la position de chaque capteur à une erreur de position près, et leur rayon
d’émission r, nous proposons dans cette section une fonction permettant d’estimer la proba-
bilité d’existence d’un lien de communication entre deux capteursA etB. Notons PAB cette
probabilité associée à l’arc (A, B).
Il est possible de différencier trois cas pour calculer la probabilité PAB :
– Le cas où les deux capteurs sont placés avec précision (i.e. εA = εB = 0) ;
– Le cas où un seul des deux capteurs est positionné avec une incertitude (par exemple
εB = 0 et εA 6= 0) ;
– Le cas où les deux capteurs ont une erreur de positionnement.
Le premier cas est le plus simple. Si les ε sont nuls cela signifie que les positions de A et
de B sont exactes. Dans ce cas PAB = 1 si la distance entre A et B est inférieure ou égale
à r. Autrement, PAB = 0.
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
98 |
Le second cas se résoud en effectuant un simple rapport de surface : soit S la surface
de la zone définie par l’intersection du disque centré en B de rayon r et celui de A de rayon
εA. La probabilité PAB est égale à Sπ×ε2
A
.
Le dernier cas est le plus difficile. Il est illustré en figure 2 :
– La surface S1, la plus à gauche, correspond aux positions que peut prendre le capteur
A sans pouvoir recevoir les messages émis par B ;
– La surface S3, la plus à droite, correspond, elle, aux positions que peut prendre le
capteur A en garantissant la réception les messages émis par B ;
– La surface S2, comprise entre les deux zones précédentes, correspond aux positions
où l’existence, ou non, d’un lien ne peut être garantie. La probabilité d’existence de
lien dans cette zone devra être calculée ou estimée.
r + ε B
r − ε B
C
S
S
S
ε
Capteur A
(Xa,Ya)
Capteur B(Xb,Yb)
A
ε
B2
13
A
B
C
Fig. 2: Émission de B vers A avec εA et εB > 0.
La probabilité d’existence d’un lien entre les capteurs A et B dépend des surfaces
S1,S2,S3 ainsi que des probabilités P1, P2 et P3 d’existence du lien dans chacune de ces
zones. Le calcul permettant d’obtenir la probabilité que la communication soit possible
entre les deux capteurs est le suivant :
PAB =S1 ∗ P1 + S2 ∗ P2 + S3 ∗ P3
π ∗ ε 2A
(1)
Lorsque le capteur A est dans la surface S3, les capteurs A et B sont sûrs de pouvoir
communiquer, P3 = 1. Par contre, la communication sera impossible si A est positionné
dans la surface S1, donc P1 = 0. Le calcul de la probabilité PAB se simplifie en :
PAB =S2 ∗ P2 + S3
π ∗ ε 2A
(2)
Le calcul de la probabilité P2 est plus délicat. Pour le détail des calculs, le lecteur est
invité à se reporter à [11]. Intéressons nousmaintenant au calcul du rapport entre la dépense
d’énergie et le progrès réalisé lorsqu’on traverse un arc.
3.2 Calcul du rapport entre la dépense d’énergieet le progrès réalisé en traversant un arc
Dans cette section, nous utilisons la modélisation énergétique définie dans [12]. Consi-
dérons deux capteurs A et B et la distance dAB qui les sépare. Le coût énergétique JAB
d’un envoi sur le lien (A, B) est donné par la formule :
JAB = daAB + c (3)
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
| 99
avec a et c des constantes dépendantes de l’environnement du réseau. Nous prenons ici
a = 4 et c = 2× 108 comme dans [12].
Le progrès progAB lorsqu’on traverse le lien (A, B) est donné par la formule :
progAB = dA,puits − dB,puits (4)
Considérons le rapport suivant : JABprogAB
. Afin de normaliser cette valeur entre 0 et 1 on
utilise le rapport Jopt
progoptqui correspond au meilleur compromis possible entre la dépense
d’énergie et le progrès pour un modèle énergétique donné.
Le rapport entre la dépense d’énergie et le progrès réalisé, en traversant un arc, est
donné par la formule :
RAB =Jopt
progopt×
progAB
JAB(5)
Cependant, le progrès pouvant être négatif, RAB appartiendrait à l’intervalle [−1, 1]. Afin
que RAB soit compris dans l’intervalle [0, 1], on utilise la formule suivante :
RAB =(
Jopt
progopt× progAB
JAB) + 1
2(6)
Etant donné que JAB = JBA mais que progAB 6= progBA, alors RAB 6= RBA pour les arcs
(A, B) et (B, A).
3.3 Calcul du coût d’un arcMaintenant que nous savons comment calculer PAB et RAB , il nous reste à combiner les
deux pour définir le coût de l’arc (A, B). Nous cherchons maintenant à pénaliser un arc, en
lui attribuant un coût élevé, lorsqu’il ne présente pas un bon compromis entre la probabilité
et le rapport dépense d’énergie progrès réalisé en le traversant. Quel que soit (A, B) ∈ E,
le coût de l’arc (A, B), noté CAB , est donné par la formule suivante :
CAB = 1− [αPAB + (1− α)RAB ] (7)
La constante α comprise entre 0 et 1 permet d’avantager soit la probabilité soit le rap-
port « dépense d’énergie » / « progrès réalisé » en traversant un arc.
Le coût d’un chemin se calcule en faisant la somme des coûts des arcs appartenant à
ce chemin. L’algorithme de routage cherchera à prendre un chemin ayant un coût minimal.
4 Principe de l’algorithme
Avant le déploiement, chaque capteur a une vision globale et identique du réseau, il con-
naît les coûts associés à chacun des arcs. Suite au déploiement, par exemple au moyen
d’un hélicoptère, chaque capteur émet un message HELLO afin de prendre connaissance
de son voisinage et mettre à jour les coûts des arcs avec ses voisins. L’idée générale de
l’algorithme est la suivante : lorsqu’un capteur veut envoyer un message il calcule, grâce à
sa connaissance du réseau, le meilleur chemin (i.e. celui possédant le plus faible coût) entre
lui et la destination et il transmet le message au nœud suivant dans le chemin.
Dans un premier temps, un capteur calcule pour chaque voisin v le coût du meilleur
chemin pour atteindre la destination en passant par v. Ces coûts sont stockés dans la table
Tab_Couts qui associe un voisin à son coût. Lorsqu’un capteur désire transmettre un mes-
sage au point de collecte, il sélectionne le voisin par lequel passe le chemin de plus faible
coût. Il lui transmet un message contenant les champs suivants 2 :
2. La destination peut être ajoutée au message dans le cas où il y a plusieurs points de collecte différents.
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
100 |
– la position du capteur qui a détecté l’événement ;
– le coût de son chemin de secours (un chemin de secours est calculé comme étant le
deuxième meilleur chemin) ;
– des informations sur l’événement détecté.
Lors de la réception par u d’un message envoyé par v, u déduit qu’il est le meilleur choix
de v. Il met à jour sa table Tab_Couts, en changeant le coût associé à l’expéditeur v par le
coût du chemin de secours inclus dans le message auquel il additionne le coût Cuv . À son
tour, u va sélectionner le voisin correspondant à son meilleur chemin, auquel il transmet le
message, en y ajoutant la valeur de son chemin de secours.
On constate que le chemin choisi au départ n’est pas forcément respecté par les nœuds
chargés de faire suivre le message car chacun prendra une décision en fonction de ses
propres connaissances. C’est ce genre de comportement qui peut entraîner l’apparition de
boucles.
Gestion des boucles – Afin d’empêcher qu’un message tourne en boucle, nous prenons
la décision suivante : si le capteur A a envoyé le message au capteur B, et que le message
revient à A par un autre capteur que B, cela signifie qu’il y a une boucle. Le capteur A, en
s’interdisant de renvoyer le message à B empêche que cette boucle se reproduise.
Détection de pannes – En supposant qu’un capteur envoie périodiquement à son voisi-
nage un message I_AM_ALIV E, il est possible de détecter les pannes de capteurs. Lors-
qu’un capteur tombe en panne, ses voisins détectent cet événement au bout d’un certain
temps (i.e. pas de réception de message I_AM_ALIV E en provenance de ce capteur)
et mettent à jour leurs données relatives à ce capteur. Cette détection se fait localement
et n’est pas propagée dans le réseau, mais permet de prendre en compte la panne d’un
capteur.
Algorithme 1: Lorsque le capteur u reçoit le message Msg envoyé par v
/* Msg= < Expediteur, CoutExp,D> *//* Expediteur l’identifiant de l’expéditeur et CoutExp,D le coût de son chemin desecours*//* MettreAJourCout(voisin,cout) Met à jour la table Tab_Couts. *//* Interdire(voisin) Interdit au capteur de choisir voisin comme destinataire. *//* Stocker(Msg) Mémorise le message Msg. *//* PasRecu(Msg) Retourne Vrai si Msg est reçu pour la première fois, faux sinon.*//* CalculMeilleurChemin() Retourne parmi tous les voisins non interdits celui qui a lemeilleur chemin, -1 s’il y en a aucun. *//* CalculCoutCheminSecours() Retourne parmi tous les voisins non interdits, le coût du2eme meilleur chemin, -1 s’il y en a aucun. */
if Coutv,D !=-1 thenMettreAJourCout(v,CoutExp,D + Coutv,D )
elseInterdire(v) // Celui qui nous a envoyé Msg n’a plus de chemin à proposer
if (PasRecu(Msg)) thenStocker(Msg)
elseif (v 6= MeilleurV oisin) then
Interdire(MeilleurV oisin) // On interdit MeilleurV oisin, à l’origine de la boucle
MeilleurV oisin = CalculMeilleurChemin()Msg.Coutu,D = CalculCoutCheminSecours()if (MeilleurV oisin 6= -1) then
Envoyer(MeilleurV oisin, Msg)
elseAbandon
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
| 101
5 Résultats de simulation
Afin de mesurer l’intérêt de la méthode que nous proposons, nous avons implémenté cet
algorithme dans un logiciel développé par nos soins. La coucheMAC est considérée comme
étant idéale, et le canal radio comme étant parfait : tout message émis arrive correctement
à la destination (pas de perte de paquets).
Nous avons généré des topologies de réseaux contenant 100 capteurs à l’intérieur d’un
carré de taille 1200 par 1200. Afin d’avoir une densité qui varie entre 6 et 20 nous faisons
varier le rayon d’émissionmaximum r du capteur. Pour chaque nœud u ∈ V , avec V l’ensem-
ble des nœuds, on tire aléatoirement et en suivant une distribution uniforme :
– la position estimée (Xu, Yu) de u dans le carré de taille 1200× 1200 ;
– son erreur de positionnement εu compris entre 0 et r ;
– sa position réelle à l’intérieur du cercle centré en (Xu, Yu) et de rayon εu.
La position du point de collecte est elle aussi tirée aléatoirement, mais sans erreur de
positionnement. Pour chacune des densités nous générons 100 topologies, dans nos scé-
narios tous les capteurs émettent un message en direction de la station de base. Pour com-
parer notre algorithme, chaque routage est comparé au routage dans la même topologie
en ayant une connaissance exacte de la présence ou non des liens (i.e. on calcule le plus
court chemin en terme d’énergie par exemple grâce à l’algorithme de Dijkstra).
Nous nous intéressons à plusieurs points dans ces simulations. Le tableau 1, nous in-
dique la valeur à choisir pour le paramètre α, de manière à avoir 99%, si possible, des
messages qui arrivent à destination, tout en ayant une dépense d’énergie raisonnable.
Densité 6 8 10 12 14 16 18 20α 0.1 0.3 0.6 0.7 0.7 0.7 0.8 0.8
% de messages à destination 94 99 99 99 99 99 100 100
Tab. 1: Choix du paramètre α en fonction de la densité.
Les figures 3 et 4 nous permettent de voir l’influence du paramètre α dans les réseaux
de densité 6. La première figure analyse l’impact sur le taux d’acheminement des messages
et la deuxième, l’impact sur la dépense d’énergie. Il est important de noter que dans un
réseau de densité 6 plus le paramètre α est bas, plus le taux d’acheminement est haut.
Inversement, plus le paramètre α est haut, plus la consommation d’énergie est basse.
Sur la figure 5, nous faisons varier la densité du réseau et nous étudions le pourcentage
d’énergie nécessaire en plus de la dépense d’énergie optimale. Pour chaque densité nous
choisissons le meilleur paramètre α d’après le tableau 1.
Nous pouvons remarquer que dans notreméthode la dépense d’énergie décroit lorsque
la densité du réseau augmente. Même dans des réseaux de faible densité (i.e. densité égale
à 6) notre algorithme consomme moins de 30% d’énergie en plus de la dépense d’énergie
optimale. Dans des réseaux à forte densité (i.e. dont la densité est supérieure ou égale à
14), la dépense d’énergie supplémentaire par rapport à la dépense d’énergie optimale est
de moins de 20%.
Pour conclure, nous pouvons noter, grâce à ces simulations, que pour avoir un réseau
où la majorité des messages arrivent à destination (i.e. plus de 99% des messages) tout en
ayant une dépense d’énergie raisonnable, il est possible d’utiliser des réseaux de densité
supérieure ou égale à 8. L’utilisation de réseaux de densité supérieure permet alors de
réduire la dépense totale d’énergie.
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
102 |
75
80
85
90
95
100
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
% d
e m
essa
ges
à de
stin
atio
n
Alpha
’Densite6’
Fig. 3: Influence de α sur le taux d’acheminement dans des réseaux de densité 6.
10
15
20
25
30
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
% d
’éne
rgie
dép
ensé
e en
plu
s de
l’op
timal
Alpha
’Densite6’
Fig. 4: Influence de α sur la consommation d’énergie dans des réseaux de densité 6.
10
15
20
25
30
6 8 10 12 14 16 18 20
% d
’éne
rgie
dép
ensé
e en
plu
s de
l’op
timal
Densité du réseau
’Depense_Energie’
Fig. 5: Comportement de la dépense d’énergie lorsque la densité varie.
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
| 103
6 Conclusion
Ce papier présente un algorithme de routage géographique prenant en compte les erreurs
de positionnement des capteurs, ce qui engendre des incertitudes sur l’existence de liens
entre les nœuds. Cet algorithme achemine les messages le long des chemins ayant le
meilleur compromis entre les probabilités d’existence des liens et la consommation d’én-
ergie. Il a notamment la propriété d’être résistant aux pannes.
Certaines améliorations peuvent être apportées à cette méthode. Dans le but d’aug-
menter la durée de vie du réseau, si un capteur connaît le pourcentage de batterie restant
de ses voisins, il peut pénaliser celui ou ceux qui ont une batterie faible, de manière à ne
pas toujours passer par les mêmes capteurs. La gestion des boucles peut elle aussi être
améliorée. En interdisant un lien à l’origine d’une boucle, on ne peut pas garantir que les
messages arrivent à destination s’il existe un chemin entre la source et la destination. Il serait
intéressant de gérer plus finement les boucles. Enfin, la connaissance intégrale du réseau
par un capteur n’est pas nécessaire. Un capteur peut définir un sous graphe du réseau lui
permettant d’atteindre la destination. L’étude de cette restriction est en cours.
7 Remerciements
Les auteurs tiennent à remercier Jean-Claude König et Jérôme Palaysi pour leurs con-
seils, et leurs remarques constructives.
Références[1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci. Wireless sensor networks : a survey.
Computer Networks, 38(4) :393–422, 2002.
[2] MIT. 10 emerging technologies that will change the world. MIT Technology Review, Feb. 2003.
[3] P. Jacquet, P. Mühlethaler, T. Clausen, A. Laouiti, A. Qayyum, and L. Viennot. Optimized link state
routing protocol for ad hoc networks. In Proceedings of the 5th IEEE Multi Topic Conference
(INMIC 2001), 2001.
[4] Chalermek Intanagonwiwat, Ramesh Govindan, and Deborah Estrin. Directed diffusion : a scalable
and robust communication paradigm for sensor networks. InMobile Computing and Networking,
pages 56–67, 2000.
[5] Prosenjit Bose, Pat Morin, Ivan Stojmenovic, and Jorge Urrutia. Routing with guaranteed delivery
in ad hoc wireless networks. Wireless Networks, 7(6) :609–616, 2001.
[6] Ivan Stojmenovic and Xu Lin. Power-aware localized routing in wireless networks. IEEE Transactions
on Parallel and Distributed Systems, 12(11) :1122–1133, 2001.
[7] Kuruvila, Nayak, and Stojmenovic. Progress based localized power and cost aware routing al-
gorithms for ad hoc and sensor wireless networks. International Journal of Distributed Sensor
Networks, 2(2) :147–159, 2006.
[8] Clément Saad, Abderrahim Benslimane, Jean-Claude Konig, and Jacques Turbert. At-free : A
preliminary method for localization techniques in sensor networks. 7th International Conference
on New Technologies of Distributed Systems, 2007.
[9] Clément Saad, Abderrahim Benslimane, and Jean-Claude König. At-dist : A distributed method
for localization with high accuracy in sensor networks. Special Issue on "Wireless Ad Hoc and
Sensor Networks" in the international journal Studia Informatica Universalis (To Appear), 2007.
[10] D. Niculescu and B. Nath. Ad hoc positioning system (aps). In Proc. IEEE GlobeCom, San Antonio,
AZ, November 2001.
[11] J. Champ. Routage dans les réseaux Ad hoc. Mémoire de Master Recherche, LIRMM, Juin 2007.
[12] V. Rodoplu and T.H. Meng. Minimum energy mobile wireless networks. In Proc. of IEEE Interna-
tional Conference on Communications (ICC), ’98, volume 3, pages 1633 – 1639, 1998.
Schedae, 2007, prépublication n° 19, (fascicule n° 2, p. 95-103).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
Théorie de l’information
session 5
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 105
Prépublication n° 20 | Fascicule n° 2
Cryptanalyse de Achterbahn-128/80avec une nouvelle limitationde suite chiffrante
María Naya-PlasenciaProjet CODES
INRIA Paris-Rocquencourt – France
Résumé :
Nous présentons deux attaques du type “key-recovery” dans le cadre de la nouvelle proposition
de B. M. Gammel, R. Gottfert, et O. Kniffler (SASC07). Dans cette proposition, la suite chiffrante
produite avec le même couple (clé, valeur initiale) est limitée à 252 bits pour Achterbah-80 (re-
spectivement à 256 pour Achterbahn-128). Notre attaque a une complexité de 264.85 (respective-
ment 2104) et nécessite moins de 252 bits (respectivement moins de 256 bits) de suite chiffrante
pour Achterbahn-80 (respectivement pour Achterbahn-128). De plus, s’agissant d’Achterbahn-80
nous proposons uneméthode originale qui nous permet de réduire la longueur de suite chiffrante
nécessaire.
Mots-clés : cryptographie, chiffrement à flot, eSTREAM, Achterbahn.
1 Introduction
1.1 Chiffrement à flotLe but de la cryptographie est de protéger les communications contre différents types
d’attaques. En particulier, les chiffrements cryptographiques sont les algorithmes qu’on
utilise pour assurer la confidentialité des données, i.e. pour protéger le contenu de l’infor-
mation de tous excepté les destinataires. Il existe deux types de chiffrement : le chiffrement
à clé secrète, qui nécessite une clé partagée et qui doit rester secrète au sein d’un groupe
restreint, et les algorithmes à clé publique, où la clé secrète ne se partage jamais. L’inven-
tion de la cryptographie à clé secrète dans les années 70 fut un grand progrès. Aujourd’hui,
les chiffrements à clé secrète sont toujours très utilisés, car ils sont les seuls qui assurent un
chiffrement rapide ou à bas coûts. Aujourd’hui les chiffrements à clé secrète sont utilisés
dans les téléphones portables GSM, dans les cartes de crédit. . . Le chiffrement à flot est
María Naya-Plasencia« Cryptanalyse de Achterbahn-128/80 avec une nouvelle limitation de suite chiffrante »
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
106 |
une des deux grandes familles de chiffrements à clé secrète. Dans un chiffrement à flot syn-
chrone additif, le texte chiffré est obtenu en combinant par ou exclusif bit-à-bit le message
clair avec une suite binaire secrète de même longueur que le message. Cette suite binaire,
appelée suite chiffrante, est normalement une suite pseudo-aléatoire, c’est-à-dire produite
à partir d’une clé secrète par un générateur pseudo-aléatoire.
dpseudo-random generator -
6
-+
st
keystream
plaintext
ct
K, IV = initialisationmt
ciphertext
Un générateur pseudo-aléatoire est un procédé qui, à partir d’une initialisation de taille
fixée qui va être la clé secrète, engendre de manière déterministe une suite de très grande
longueur que l’on ne peut pas distinguer d’une suite aléatoire quand on ne connaît pas
la clé. Le type de générateurs pseudo-aléatoires qu’on va étudier est le générateur par
combinaison de FSRs, qui est composé de n FSRs qui fonctionnent en parallèle, et dont les
sorties sont combinées au moyen d’une fonction booléenne à n variables. C’est la sortie de
cette fonction f à l’instant t qui fournit le bit correspondant de la suite chiffrante.
FSR 1
FSR 2
FSR n
-
-
-
@@
@@
@@@
-...
f keystream
Le projet eSTREAM est un projet lancé par le réseau européen ECRYPT pour la concep-
tion de nouveaux chiffrements à flot dédiés. Une trentaine de nouveaux algorithmes ont
été proposés en avril 2005 et sont maintenant en cours d’évaluation. L’algorithme qu’on va
étudier dans ce papier, Achterbahn, est un des algorithmes proposés.
2 Achterbahn
Achterbahn [1, 2] est un des algorithmes proposés dans le cadre de eSTREAM. Il s’agit d’un
système de chiffrement à flot construit suivant le modèle des générateurs pseudo-aléatoires
composés de plusieurs registres à décalage, mis à jour indépendamment les uns des autres.
Les registres à décalage utilisés sont des NLFSRs, c’est-à-dire des registres à décalage à
rétroaction non-linéaire. Après la cryptanalyse des deux premières versions [3, 4], il a été
modifié, donnant naissance à Achterbahn-128/80 [5] publié en juin 2006.
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
| 107
2.1 Spécifications principales de Achterbahn-128Il s’agit d’un générateur de suite chiffrante composé de 13 NLFSRs primitifs, dont la période
est maximale. La longueur du ie registre est Li = 21 + i pour i = 0, 1, . . . , 12. La suite qu’on
utilise comme entrée de la fonction booléenne n’est pas directement la suite qui sort du
registre mais une version décalée de celle-ci. Le décalage dépend du numéro du registre,
mais reste toujours le même.
La sortie du générateur est celle de la fonction booléenne F (x1, . . . , x13) où les en-
trées correspondent aux suites de sortie des registres décalées correctement. La fonction
booléenne F est la suivante :
x6 + x1 + x2 + x3 + x4 + x5 + x8 + x10 + x12 + x13 + x1x6 + x3x11 + x3x12 + x9x5 +
x5x13 + x7x6 + x7x9 + x7x11 + x7x12 + x7x13 + x8x9 + x8x13 + x9x10 + x9x11 + x10x11 +
x10x12 + x10x13 + x11x13 + x1x6x9 + x1x6x11 + x1x6x12 + x1x6x13 + x2x3x9 + x2x3x13 +
x2x5x11 + x2x5x12 + x2x9x10 + x2x10x11 + x2x10x12 + x2x10x13 + x3x4x9 + x3x4x13 +
x3x5x9+x3x5x11+x3x5x12+x3x5x13+x3x8x9+x3x8x13+x3x9x11+x3x9x12+x3x10x11+
x3x10x12 + x3x11x13 + x3x12x13 + x4x5x9 + x4x5x13 + x4x9x10 + x4x10x13 + x5x8x9 +
x5x8x13 + x5x9x10 + x5x10x13 + x6x7x9 + x6x7x11 + x6x7x12 + x6x7x13 + x7x9x11 +
x7x9x12 +x7x11x13 +x7x12x13 +x8x9x10 +x8x10x13 +x9x10x11 +x9x10x12 +x10x11x13 +
x10x12x13 +x1x6x9x11 +x1x6x9x12 +x1x6x11x13 +x1x6x12x13 +x2x3x4x9 +x2x3x4x13 +
x2x3x8x9 + x2x3x8x13 + x2x4x6x9 + x2x4x6x13 + x2x4x9x10 + x2x4x10x13 + x2x5x9x11 +
x2x5x9x12 +x2x5x11x13 +x2x5x12x13 +x2x6x8x9 +x2x6x8x13 +x2x8x9x10 +x2x8x10x13 +
x2x9x10x11+x2x9x10x12+x2x10x11x13+x2x10x12x13+x3x4x5x9+x3x4x5x13+x3x4x6x9+
x3x4x6x13 +x3x5x8x9 +x3x5x8x13 +x3x5x9x11 +x3x5x9x12 +x3x5x11x13 +x3x5x12x13 +
x3x6x8x9+x3x6x8x13+x3x9x10x11+x3x9x10x12+x3x10x11x13+x3x10x12x13+x4x5x9x10+
x4x5x10x13+x5x8x9x10+x5x8x10x13+x6x7x9x11+x6x7x9x12+x6x7x11x13+x6x7x12x13.
Ses propriétés les plus importantes 1 sont :
– équilibrée ;
– degré algébrique = 4 ;
– ordre de résilience = 8 ;
– non-linéarité = 3584 ;
– immunité algébrique = 4.
2.2 Spécifications principales de Achterbahn-80Dans ce cas, le générateur est formé de 11 registres, qui sont les mêmes que dans le cas
précédent sauf le premier et le dernier. La fonction booléenne de sortie, G, est une restric-
tion de F :
G(x1, . . . , x11) = F (0, x1, . . . , x11, 0) (1)
Donc le générateur Achterbahn-128 contient Achterbahn-80 comme sous-structure. Les
propriétés les plus importantes de G sont :
– équilibrée ;
– degré algébrique = 4 ;
– ordre de résilience = 6 ;
– non-linéarité = 896 ;
– immunité algébrique = 4.
1. Les propriétés des fonctions Booléennes ainsi que leur importance dans les systèmes de chiffrement àflot sont décrits dans [6].
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
108 |
2.3 Initialisation des registresL’initialisation des registres est faite grâce à une clé K et une valeur publique IV . Nous
notons K||IV la concaténation des bits de K avec les bits de IV . Dans un premier temps,
on introduit les bits deK||IV en parallèle dans les registres. Puis, on fait des mises à jour des
registres en ajoutant les bits restants encore de K||IV . Chaque registre produit un bit de
sortie. Ces bits sont combinés par la fonction booléenne de sortie, qui produit un nouveau
bit. On va encore faire des mises à jour des registres en ajoutant ce dernier. Cette opération
se répète 32 fois. Après on met le dernier bit de chaque registre à 1, pour assurer que l’état
où toutes les cellules des registres ont la valeur 0 ne puisse pas se produire. Finalement on
fait encore quelques mises à jour à vide des registres.
Cet algorithme a été modifié par rapport aux versions précédentes. Le but de cette
modification est qu’il ne soit plus possible de récupérer la clé K directement à partir des
états initiaux des registres.
2.4 Longueur maximale de suite chiffranteDans la première version d’Achterbahn-128/80, la longueur maximale de suite chiffrante
produite avec les mêmes valeurs de K et IV était limitée à 263. Suite à l’attaque de cette
version [7, 8], les auteurs ont proposé une nouvelle limitation de la longueur de suite
chiffrante [9]. Cette limitation là est 252 pour Achterbahn-80 et 256 pour Achterbahn-128.
On présente ici deux attaques contre les deux générateurs, basées sur les attaques précé-
dentes et qui prennent en compte ces nouvelles modifications. L’attaque contre la variante
de 80 bit, Achterbahn-80, a une complexité en temps de 264.85 et nécessite moins de 252
bits de suite chiffrante. L’attaque contre Achterbahn-128 nécessite 2104 calculs et moins de
256 bits de suite chiffrante. Il faut remarquer que, comme habituellement en cryptographie
à clé secrète, et aussi d’après les critères de sûreté du projet eSTREAM, on considère que le
système de chiffrement est cassé s’il existe un attaque qui récupère la clé secrète avec une
complexité plus petite que celle de la recherche exhaustive pour la clé, (i.e. une attaque
qui a besoin de moins de 2k calculs, où k est la taille de la clé).
3 Attaque par distingueur contre Achterbahn-80
Nous allons maintenant décrire une nouvelle attaque contre Achterbahn-80 avec une com-
plexité de 264.85 où une approximation linéaire de la fonction de combinaison est utilisée. Il
s’agit d’une attaque par distingueur, qui consiste à distinguer la suite chiffrante d’une suite
aléatoire. Toutefois nous retrouvons ainsi les états initiaux de certains registres et donc nous
pouvons ensuite retrouver la clé secrète entière, comme nous l’expliquons plus loin. Cette
attaque ressemble beaucoup à l’attaque précédente, mais maintenant on utilise une idée
qui nous permet de réduire la longueur de suite chiffrante nécessaire, comme on va le voir
plus tard. L’attaque utilise l’approximation linéaire suivante de la fonction de combinaison
G :
`(x1, . . . , x11) = x1 + x3 + x4 + x5 + x6 + x7 + x10.
Comme G est 6-résiliente, ` est la meilleure approximation par une fonction à 7 variables.
Pour `(t) = x1(t) + x3(t) + x4(t) + x5(t) + x6(t) + x7(t) + x10(t), la suite chiffrante (S(t))t≥0
vérifie Pr[S(t) = `(t)] = 12(1− 2−3).
Relations de parité – Si on construit une relation de parité, i.e. une relation entre dif-
férents bits de la suite chiffrante, comme suit :
``(t) = `(t) + `(t + T3T7) + `(t + T4T5) + `(t + T3T7 + T4T5), (2)
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
| 109
les termes contenant les suites x3, x4, x5, x7 disparaîtront de ``(t), et donc ``(t) dépend
uniquement des suites x1, x6 et x10. La période T4T5 est 251 et la période T3T7 est plus
petite que 249 car T3 et T7 ont des facteurs communs, alors pour construire ces relations
de parité on a besoin de N bits où N est inférieur à la limite imposée. Sommer quatre fois
l’approximation comme en (2) a pour effet d’élever le biais à la puissance 4, donc le biais
de σ(t) = S(t) + S(t + T7T3) + S(t + T4T5) + S(t + T7T3 + T4T5) où (S(t))t≥0 est la suite
chiffrante, est 2−4×3. On va décimer σ(t) par la période du registre 1 intervenant dans la
relation de parité, c’est-à-dire qu’on construit une nouvelle relation de parité :
σ′(t) = σ(t(222 − 1)).
Maintenant, si on faisait comme dans l’attaque précédente et qu’on effectue une recherche
exhaustive sur l’état initial des registres 6 et 10, on aurait besoin de 23×4×2 × 2× (58− 2)×
ln(2) = 230.29 relations de parité σ′(t) pour détecter le biais. Comme on va décimer par la
période du premier registre, on aurait besoin de 230.29×222 = 252.29 bits de suite chiffrante
pour réaliser l’attaque. Dans ce cas, on dépasse la limite 252 ce qui n’est pas possible.
Nous décrivons maintenant la principale différence avec l’attaque précédente [8]. Au
lieu de prendre seulement le premier bit de la suite chiffrante et décimer par la période du
premier registre 230.29 fois, on va prendre les quatre premiers bits consécutifs de la suite
chiffrante et, pour chacun d’entre eux, on va obtenir une suite de 230.29
4= 228.29 bits en
décimant par la période du premier registre 228.29 fois. Donc, on considère les premiers
250.29 bits de la suite chiffrante et on calcule les 4× 228.29 = 230.29 relations de parité :
S(t(222 − 1) + i) + S(t(222 − 1) + i + T7T3) + S(t(222 − 1) + i + T4T5) +
S(t(222 − 1) + i + T7T3 + T4T5)
pour i ∈ 0, . . . , 3 et 0 ≤ t < 228.29.
De cette façon, le nombre de bits de suite chiffrante dont on a besoin va être réduit à
228.29 × 222 = 250.29 et respecte la longueur maximale de suite chiffrante permise. Main-
tenant, on effectue une recherche exhaustive sur l’état initial des registres 6 et 10, en adap-
tant à notre nouvelle attaque l’algorithme introduit dans [8]. On doit calculer, pour chacune
des suites dont on parlait avant, donc pour chaque i ∈ 0, 1, 2, 3, la somme suivante :
228.29−1∑t′=0
σ(t′T1 + i)⊕ ``(t′T1 + i)
=
T ′∑k=0
2∑t=0
σ((T6t + k)T1 + i)⊕ ``((T6t + k)T1 + i)
+
T6−1∑k=T ′+1
1∑t=0
σ((T6t + k)T1 + i)⊕ ``((T6t + k)T1 + i)
=
T ′∑k=0
2∑t=0
σ((T6t + k)T1 + i)⊕ σ10((T6t + k)T1 + i)⊕ σ6((T6t + k)T1 + i)
+
T6−1∑k=T ′+1
1∑t=0
σ((T6t + k)T1 + i)⊕ σ10((T6t + k)T1 + i)⊕ σ6((T6t + k)T1 + i)
=
T ′∑k=0
[(σ6(kT1 + i)⊕ 1)
(2∑
t=0
σ((T6t + k)T1 + i)⊕ σ10((T6t + k)T1 + i)
)
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
110 |
+ σ6(kT1 + i)
(3−
2∑t=0
σ((T6t + k)T1 + i)⊕ σ10((T6t + k)T1 + i)
)]
+
T6−1∑k=T ′
[(σ6(kT1 + i)⊕ 1)
(1∑
t=0
σ((T6t + k)T1 + i)⊕ σ10((T6t + k)T1 + i)
)
+ σ6(kT1 + i)
(2−
1∑t=0
σ((T6t + k)T1 + i)⊕ σ10((T6t + k)T1 + i)
)],
où σ(t), σ6(t) et σ10(t) sont les relations de parité calculées à l’instant t avec la suite chiffrante,
la suite générée par le registre 6 et celle générée par le registre 10 respectivement, et où
T ′ = 228.29 − 2× T6 = 228.29 − 228 + 2 = 225.83.
La somme peut être écrite de la manière précédente parce que σ6((T6t + k)T1 + i) est
constant pour des valeurs fixées de k et i. On va voir ce que l’on doit faire maintenant :
– On choisit un état initial pour le registre 6, e.g. l’état avec toutes les cellules à 1. On
calcule et on sauvegarde un vecteur binaire V6 de longueur T6, V6[k] = σ6(k) où la
suite avec laquelle on calcule σ6(k) est engendrée à partir de l’état initial choisi. La
complexité de cette étape est de T6 × 22 opérations.
– Pour chaque état possible du registre 10 (donc 231−1 possibilités) :
– on calcule et sauvegarde quatre vecteurs V10,i, où i ∈ 0, 1, 2, 3,chacun composé
par T6 entiers de 2 bits.
V10,i[k] =
m∑t=0
σ((T6t + k)T1 + i)⊕ σ10((T6t + k)T1 + i),
où m = 2 si k ≤ T ′ et m = 1 si k > T ′. La complexité de cette étape est :
22(3× 225.83 + 2(227 − 1− 225.83)
)(23 + 2) = 22228.2923.3 = 233.69
pour chaque état initial possible du registre 10, où 22 est le nombre de vecteurs
qu’on calcule, 23 correspond au nombre d’opérations dont on a besoin pour cal-
culer chaque (σ(t) + σ10(t)) et 228.29 × 2 est le coût de sommer 228.29 entiers de
2 bits.
– Pour chaque p de 0 à T6 − 1 :
– on définit V6,i de longueur T6, ∀i ∈ 0, 1, 2, 3 : V6,i[k] = V6[k + p + i mod T6].
En fait, (V6,i[k])k<T6correspond à (σ6(k))k<T6
quand l’état initial de registre 6
correspond à l’état interne qu’on obtient après avoir fait tourner le registre 6
(i + p) fois à partir de l’état avec toutes les cellules à un.
– Avec les huit vecteurs que l’on vient d’obtenir (V10,0, . . . , V10,3)
et (V6,0, . . . , V6,3), on calcule pour chaque i ∈ 0, 1, 2, 3 :
Wi =
T ′∑k=0
[(V6,i[k]⊕ 1) V10,i[k] + V6,i[k] (3− V10,i[k])] +
T6−1∑k=T ′+1
[(V6,i[k]⊕ 1) V10,i[k] + V6,i[k] (2− V10,i[k])] .
Lorsque l’on fait ça avec les bons états initiaux des registres 6 et 10, on retrou-
vera un biais important pour les quatre Wi.
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
| 111
La complexité de cette étape sera 22×T6×8 = 232 pour chaque p, donc 232×227 =
259. Mais on peut l’accélérer de la manière suivante :
on définit un vecteur,
V ′10,j [k] = V10,j [k] + ct
où ct = 0 si k ≤ T ′ et ct = 0.5 si k > T ′.
Pour chaque i on va calculer :
T6−1∑k′=0
(−1)V6,i[k+p](
V ′10,i[k]−
3
2
)+ (T ′ × 1.5 + (T6 − T ′)× 1).
Le but est maintenant de trouver l’entier p qui maximise cette somme, cela revient
à calculer le maximum de la corrélation croisée de deux suites de longueur T6. On
peut faire ça d’une façon efficace avec une transformée de Fourier rapide comme
expliqué en [10, pages 306-312]. La complexité finale pour calculer cette somme
sera T6 log2(T6).
Donc, la complexité totale de cette étape est 4T6 log2(T6) ≈ 234.
Maintenant on va calculer les probabilités de fausse alarme et de non-détection pour
notre attaque. D’abord on va considérer comme suit le seuil S pour détecter le « biais » :
S = 0.55× biais = 2−12.86.
Soit n la longueur des suites qu’on utilise et i le nombre de suites. La probabilité de fausse
alarme pour i suites est la probabilité que, pendant qu’on essaie les mauvais états initiaux
des registres 6 et 10 (ce qui devrait engendrer une suite aléatoire) on trouve un biais plus
grand que 2−12.86 ou plus petit que −2−12.86 pour tous les i Wi. En utilisant la borne de
Chernoff sur la queue de la distribution binomiale on obtient :
Pfa4(S) = (Pfa1(S))i ≤ (2e−2S2n)i,
où Pfa1 est la probabilité de fausse alarme pour une suite. Dans notre cas n = 228.29 et
i = 4, donc Pfa4 = 2−58.22. Le nombre d’états initiaux qui vont passer le test sans être le
bon est (256−1)×2−64.29 = 2−8.29. Le probabilité de non détection est la probabilité que,
pendant qu’on essaie les bons états initiaux des registres 6 et 10, on trouve un biais entre
−2−12.86 et 2−12.86. Pour une suite, la probabilité de de non détection vérifie :
Pnd1(S) ≤ 2e−2(biais−S)2n,
Donc la probabilité de non détection pour i suites, c’est-à-dire, la probabilité de pas dé-
tecter le seuil en une des i Wi sera de :
Pnd4(S) = 1− (1− Pnd1(S))i.
On l’utilise seulement pour les bons états initiaux. Elle devient plus grande avec le nombre
i de suites utilisées. Dans notre cas, i = 4, la probabilité de pas détecter le seuil dans l’une
des quatre suites est : Pnd4(S) = 2−9.43.
La complexité en temps est finalement
2L10−1 ×[233.69 + 4T6 log2 T6
]+ T6 × 22 = 264.85.
La longueur de suite chiffrante nécessaire est
228.29 × T1 + T3T7 + T4T5 = 250.29 + 248.1 + 251 < 252.
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
112 |
4 Attaque par distingueur contre Achterbahn-128
Maintenant, nous présentons une attaque par distingueur de la version de 128 bits de
Achterbahn avec laquelle on retrouve aussi les états initiaux de deux registres.
On prend l’approximation linéaire suivante de la fonction de combinaison F :
`(x0, . . . , x12) = x0 + x1 + x2 + x3 + x4 + x7 + x8 + x9 + x10.
Alors, pour `(t) = x0(t) + x1(t) + x2(t) + x3(t) + x4(t) + x7(t) + x8(t) + x9(t) + x10(t), on a
Pr[S(t) = `(t)] = 12(1 + 2−3).
Relations de parité – Si on construit une relation de parité comme suit :
```(t) =∑
τ∈〈T3,8,T1,10,T2,9〉
`(t + τ),
les termes contenant les suites x1, x2, x3, x8, x9, x10 disparaîtront donc de ```(t), alors
```(t) est une fonction qui dépend uniquement des suites x0, x4 et x7 :
```(t) =∑
τ∈〈T3,8,T1,10,T2,9〉
x0(t + τ) + x4(t + τ) + x7(t + τ) = σ0(t) + σ4(t) + σ7(t), (3)
où σ0(t), σ4(t) et σ7(t) sont les relations de parité calculées avec les suites engendrées par
les NLFSRs 0, 4 et 7. Sommer huit fois l’approximation comme en (3) a pour effet d’élever
le biais à la puissance 8, donc le biais de σ(t) =∑
τ∈〈T3,8,T1,10,T2,9〉S(t + τ), où (S(t))t≥0
est la suite chiffrante, est 2−8×3. Alors :
Pr[σ(t) + σ0(t) + σ4(t) + σ7(t) = 1] =1
2(1− ε8).
Ceci implique qu’on a besoin de 23×8×2 × 2 × (74 − 3) × ln(2) = 254.63 valeurs de σ(t) +
σ0(t)+σ4(t)+σ7(t) pour détecter le biais, quand on effectue une recherche exhaustive sur
les registres 0, 4 et 7.
On va utiliser l’algorithme proposé précédemment pour l’attaque de Achterbahn-128
pour calculer la somme σ(t)+σ0(t)+σ4(t)+σ7(t) pour toutes les valeurs de t. Cet algorithme
a une complexité plus petite qu’une recherche exhaustive classique, où l’on fait la recherche
exhaustive sur les états initiaux des registres 0, 4 et 7 en même temps. On va l’utiliser en
considérant ensemble le registre 0 et le registre 4.
La complexité va finalement être
2L0−1 × 2L4−1 ×[254.63 ×
(24 + 24.7
)+ O(T7 log T7)
]+ T7 × 23 = 2104.
La longueur de suite chiffrante nécessaire est
254.63 + T1,10 + T2,9 + T3,8 = 254.63 + 253 + 253 + 253 < 256 bits.
5 Retrouver la clé
Comme on avait expliqué dans les attaques précédentes [8], avec une variante d’une at-
taque meet-in-the-middle on peut récupérer la clé une fois qu’on a retrouvé l’état initial de
quelques registres, et avec une complexité plus petite que celle de l’attaque par distingueur
qu’on vient de décrire, et qui nous donne l’état de quelques registres. Donc la complexité
totale de l’attaque qui récupère la clé sera la même que celle de la partie du distingueur.
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
| 113
6 Conclusion
On a proposé une attaque contre Achterbahn-80 en 264.85 qui nécessite moins de 252 bits
de suite chiffrante. On a aussi proposé une attaque contre Achterbahn-128 en 2104 qui né-
cessite moins de 256 bits de suite chiffrante. Après on peut récupérer la clé de Achterbahn-
80 avec une complexité de 240 en temps et 241 en mémoire (la complexité en temps est
plus petite que celle de la partie distingueur). Pour Achterbahn-128 on peut retrouver la clé
avec une complexité de 273 en temps et 248 en mémoire.
Références[1] B. M. Gammel, R. Gottfert, and O. Kniffler. The Achterbahn stream cipher. Technical Report
2005/002, eSTREAM, ECRYPT Stream Cipher Project, 2005.
[2] B. M. Gammel, R. Gottfert, and O. Kniffler. Status of Achterbahn and tweaks. Technical Report
2006/027, eSTREAM, ECRYPT Stream Cipher Project, 2006.
[3] T. Johansson, W. Meier, and F. Muller. Cryptanalysis of Achterbahn. In Advances in Cryptology -
FSE 2006, volume 4047 of Lecture Notes in Computer Science, pages 1–14. Springer, 2006.
[4] M. Hell and T. Johansson. Cryptanalysis of Achterbahn-version 2. In Selected Areas in Cryptology
- SAC 2006, Lecture Notes in Computer Science. Springer, 2006. to appear.
[5] B. M. Gammel, R. Gottfert, and O. Kniffler. Achterbahn-128/80. Technical Report 2006/001, eS-
TREAM, ECRYPT Stream Cipher Project, 2006.
[6] A. Canteaut. Analyse et conception de chiffrements à clef secrète. Master’s thesis, Université Paris
6, 2006.
[7] M. Hell and T. Johansson. Cryptanalysis of Achterbahn-128/80. Technical Report 2006/054, eS-
TREAM, ECRYPT Stream Cipher Project, 2006.
[8] M. Naya-Plasencia. Cryptanalysis of Achterbahn-128/80. In Advances in Cryptology - FSE 2007,
volume 4593 of Lecture Notes in Computer Science. Springer, 2007.
[9] B. M. Gammel, R. Gottfert, and O. Kniffler. Achterbahn-128/80 : Design and analysis. In ECRYPT
Network of Excellence - SASC Workshop Record, pages 152–165, 2007.
[10] R. E. Blahut. Fast Algorithms for Digital Signal Processing. Addison Wesley, 1985.
Schedae, 2007, prépublication n° 20, (fascicule n° 2, p. 105-113).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 115
Prépublication n° 21 | Fascicule n° 2
Attaques par collisionbasées sur la perte d’entropiecausée par des fonctions aléatoires
Andrea RöckProjet CODES
INRIA Paris-Rocquencourt – France
Résumé :
Nous considérons le problème de la perte d’entropie dans un chiffrement à flot qui emploie une
fonction aléatoire pour mettre à jour son état interne. Pour un nombre limité d’itérations, nous
présentons une nouvelle approximation de l’entropie d’état. Ceci améliore la borne supérieure
connue donnée par la taille de l’image. Ensuite, nous présentons deux attaques par collision
qui sont basées sur la perte d’entropie après plusieurs itérations. Pour les deux attaques, nous
fournissons une analyse détaillée de la complexité.
Mots-clés : entropie, fonctions aléatoires, chiffrement à flot.
1 Introduction
Le chiffrement à flot est une méthode classique pour chiffrer de grandes quantités de don-
nées. Il fait partie de la famille des chiffrements symétriques, c’est-à-dire qu’il emploie la
même clé pour le chiffrement et le déchiffrement. L’idée est que le chiffrement à flot con-
sidère le texte clair comme une suite de longueur arbitraire, contrairement au chiffrement
par bloc qui traite des blocs de taille constante. Dans la pratique, la taille d’un élément est
un bit ou un octet.
Un exemple classique de chiffrement à flot est le masque jetable qui utilise une clé
secrète de la même taille que la suite de texte clair. La clé est combinée avec le texte clair
élément par élément à l’aide d’une addition modulaire. Si les éléments ont une taille d’un
bit, l’addition correspond à un XOR. Shannon a montré dans [1] que le masque jetable
obtient une sécurité théorique parfaite si la clé correspondante est utilisée seulement une
fois et consiste en des éléments choisis de façon totalement aléatoire. Par sécurité théorique
Andrea Röck« Attaques par collision basées sur la perte d’entropie causée par des fonctions aléatoires »
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
116 |
parfaite nous voulons dire que le texte chiffré ne donne aucune information sur le texte clair
si la clé est inconnue.
Le grand inconvénient du masque jetable est la taille nécessaire de clé secrète. Le plus
souvent, pour éviter ce problème, le chiffrement à flot ne combine pas le texte clair directe-
ment avec la clé mais avec une suite pseudo–aléatoire appelée suite chiffrante. Une telle
suite est générée à partir d’un clé courte mais il est très difficile en pratique de la distinguer
d’une véritable suite aléatoire.
Un modèle pour un tel chiffrement à flot est représenté sur la Fig. 1. Pour générer une
suite chiffrante nous commençons à partir d’un état initial et appliquons itérativement la
fonction de mise à jour Φ. Soit Sk la valeur de l’état après k itérations de la fonction Φ
Φ
filtragefonction de
état
Fig. 1: Principe du chiffrement à flot.
pour k ≥ 0, alors nous mettons à jour l’état interne par Sk+1 = Φ(Sk). En appliquant la
fonction de filtrage sur l’état, nous extrayons la suite chiffrante. Pour des fonctions de mise
à jour et de filtrage fixées, la suite chiffrante dépend seulement de l’état initial. Si celui-ci est
déterminé seulement par la clé secrète nous pouvons produire une seule suite chiffrante.
Un vecteur d’initialisation (IV) connu est alors utilisé pour créer plusieurs suites chiffrantes
à partir de la même clé. Dans le cas le plus simple l’état initial est déterminé par les deux
valeurs.
Dans ce qui suit nous travaillerons avec des modèles statistiques de chiffrement à flot.
Un attaquant connaît seulement la loi de distribution de l’espace des clés, le plus souvent
supposée uniforme. On modélise alors ce qui dépend de la clé par des variables aléatoires.
De tels modèles nous permettent d’étudier des propriétés statistiques du chiffrement à flot
comme par exemple l’entropie de l’état. L’entropie en théorie de l’information a été intro-
duite par Shannon dans [2] et est une mesure de la quantité d’information contenue dans
une variable aléatoire. Elle est maximale si la variable prend toutes les valeurs possibles avec
la même probabilité. Le modèle statistique que nous utilisons est décrit dans la Section 1.1.
Récemment, plusieurs chiffrements à flot qui utilisent des fonctions de mise à jour non-
bijectives ont été proposés. D’ailleurs, dans certains cas cette fonction semble se comporter
comme une fonction aléatoire comme pour le chiffrement à flot Mickey [3]. Utiliser une
fonction non-bijective signifie que certaines valeurs de l’état peuvent être produites par
plus d’une valeur. Par conséquent, après avoir appliqué une telle fonction de mise à jour, le
nombre d’états possibles ainsi que l’entropie seront réduits. Au contraire, si un chiffrement
à flot utilise une permutation pour mettre à jour son état, chaque valeur est produite par
exactement une autre valeur. Ainsi, seul l’ordre des probabilités change et l’entropie ne
varie pas. Dans cet article nous prouverons que l’utilisation d’une fonction aléatoire nous
permet d’estimer la perte moyenne d’entropie après plusieurs itérations de la fonction de
mise à jour. De plus, nous examinerons si un attaquant est capable d’exploiter cette perte
d’entropie pour monter une attaque efficace. D’abord nous allons présenter le modèle avec
lequel nous allons travailler.
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
| 117
1.1 Notre modèle de chiffrement à flotNous reprenons la structure d’un chiffrement à flot comme représenté dans la Fig. 1. La
particularité de notre modèle est que Φ est une fonction aléatoire ce qui nous permet de
calculer quelques propriétés statistiques de notre chiffrement à flot.
Définition 1 SoitFn = ϕ | ϕ : Ωn → Ωn l’ensemble de toutes les fonctions de l’ensembleΩn = ω1, ω2, . . . , ωn dans lui-même. Nous disons que Φ est une fonction aléatoire si elleprend chaque valeur ϕ ∈ Fn avec la même probabilité Pr[Φ = ϕ] = 1/nn.
Pour une définition plus complète d’une fonction aléatoire nous nous référons au livre
de Kolchin [4].
Soit la valeur de l’état interne après k itérations, Sk, une variable aléatoire qui prend
des valeurs dans Ωn. La loi de probabilité de l’état initial est définie par pini=1 tels que
pi = Pr[S0 = ωi].
Sauf mention contraire, nous supposerons une distribution uniforme, c’est à dire pi = 1/n
pour tout 1 ≤ i ≤ n. Pour k > 0 nous définissons Sk+1 = Φ(Sk) où nous utilisons la même
valeur de Φ pour toutes les itérations. Alors
pΦi (k) = Pr[Φ(k)(S0) = ωi]
est la probabilité que l’état interne soit ωi après avoir appliqué k fois Φ sur l’état initial.
Notons pϕi (k) la même probabilité mais pour une fonction déterminée ϕ ∈ Fn. La notation
ci-dessus nous permet de définir l’entropie de l’état après k itérations de Φ
HΦk =
n∑i=1
pΦi (k) log2
(1
pΦi (k)
).
Dans cet article nous sommes intéressés par les espérances où la moyenne est prise sur
l’ensemble de toutes les fonctions ϕ ∈ Fn. Pour accentuer que nous parlons d’une es-
pérance, nous l’écrirons en gras. Ainsi
Hk = E(HΦk )
est l’espérance de l’entropie de l’état interne après k itérations.
– La suite de l’article suivant est divisé en deux sections principales. Dans la Section 2,
nous discutons des différentes possibilités pour estimer l’entropie d’état. Nous donnons un
bref aperçu des résultat précédents de [5] et [6] dans la Section 2.1. Puis, dans la Section 2.2,
nous présentons une nouvelle estimation qui est, pour des nombre limités d’itérations, plus
précise que les précédentes. Dans la Section 3, nous étudions deux attaques par collisions
contre le chiffrement à flot Mickey version 1 [3] présentés dans [6]. Pour la première attaque,
nous montrons que nous gagnons seulement un facteur sur la complexité en espace si nous
augmentons la complexité en données du même facteur. Pour la deuxième attaque nous
démontrons que, contrairement à ce qui est espéré des résultats [6], les complexités sont
équivalentes à une recherche de collision directement dans les états initiaux. Pour finir nous
présentons une nouvelle variante de ces attaques qui nous permet de réduire la complexité
en espace, cependant la complexité en données reste la même.
2 Estimation d’entropie
Dans cette section nous discutons l’estimation de l’entropie de l’état interne et quelques
paramètres utiles des fonctions aléatoires.
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
118 |
2.1 Travail précédentFlajolet et Odlyzko proposent, dans [5], plusieurs paramètres de fonctions aléatoires pour
analyser leur graphe fonctionnel. Un graphe fonctionnel d’une fonction ϕ est un graphe
4
14
16
68
12
20
5
15
7
1
9
3 18
19
1013
1711
Fig. 2: Exemple d’un graphe fonctionnel pour ϕ(x) = x2 + 2 (mod 20).
orienté qui a une flèche dirigée du sommet x au sommet y si et seulement si ϕ(x) = y.
Un exemple pour ϕ(x) = x2 + 2 (mod 20) est présenté sur la Fig. 2. Pour des fonctions
sur un ensemble fini, un tel graphe se compose d’une ou plusieures composantes séparées,
où chacune des composantes est constituée d’un cycle d’arbres, c’est-à-dire que les nœuds
dans le cycle sont la racine d’un arbre. Dans le cas d’une permutation, le graphe fonctionnel
est consisté seulement d’un ou plusieurs cycles séparés sans arbres.
Pour trouver l’espérance d’un paramètre d’une fonction aléatoire, Flajolet et Odlyzko
construisent la fonction génératrice du graphe fonctionnel associée à ce paramètre. Puis, ils
obtiennent une valeur asymptotique de l’espérance à l’aide d’une analyse des singularités
de la fonction génératrice. Toutes les valeurs asymptotiques sont prises pour n tendant
vers +∞. Nous donnons ici la définition de certains des paramètres examinés. La longueur
maximale de queue est le nombre maximal d’étapes avant arriver à un cycle. Un r–nœud
est un nœud dans le graphe avec exactement r nœuds entrants ce qui est équivalent à une
pré–image de taille r. La taille d’image est le nombre de points dans le graphe qui sont
accessible. Les valeurs asymptotiques de ces paramètres sont :
– l’espérance du nombre de points de cycle pc(n) ∼√
πn/2 ;
– l’espérance de la longueur maximale de queue mq(n) ∼√
πn/8 ;
– l’espérance du nombre de r–nœuds rn(n, r) ∼ nr!e
;
– l’espérance de la taille d’image après k itérations ti(n, k) ∼ n(1 − τk) où τ0 = 0 et
τk+1 = e−1+τk .
Pour toutes ces valeurs, l’espérance est prise sur toutes les fonctions dans Fn.
Dans [6], Hong et Kim emploient l’espérance de la taille d’image pour obtenir une borne
supérieure de l’entropie de l’état après k itérations. Ils utilisent le fait que l’entropie est tou-
jours plus petite ou égale que le logarithme du nombre de points qui ont une probabilité
plus grande que zéro. Après un nombre fini d’étapes, chaque point dans le graphe fonc-
tionnel arrive à un cycle, ainsi la taille de l’image ne peut pas être inférieure au nombre
de points des cycles. Par conséquent, la borne supérieure de l’espérance de l’entropie de
l’état interne
Hk ≤ log2(n) + log2(1− τk) (1)
est valide tant que ti(n, k) > pc(n). Nous pouvons voir que, pour cette borne, la perte
d’entropie ne dépend que de k et pas de n.
Dans la Fig. 3, nous comparons pour n = 216 les valeurs de cette borne avec des
valeurs empiriques. Pour calculer ces valeurs nous avons choisi 104 fonctions à l’aide du
générateur de nombres aléatoires HAVEGE [7], puis nous avons calculé l’entropie moyenne
en supposant que l’état initial est distribué uniformément. Même si n n’est pas très grand,
notre exemple suffit pour comprendre les relations entre les facteurs différents. La figure
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
| 119
16
14
12
10
8
6
4
2
00 2 4 6 8 10 12
log2(k + 1)
entropie empiriquetaille maximal de queue
taille de l’image (log2)points de cycle (log2)
Fig. 3: Borne supérieure et valeur empirique de l’entropie moyenne pour n = 216.
montre que si k reste plus petit que mq(n) cette borne est valide et ne chute pas sous
log2(pc(n)).
2.2 Nouvel estimateur d’entropieLa taille d’image fournit une borne supérieure assez large pour l’espérance de l’entropie
de l’état interne. Nous allons donner une estimation plus précise en utilisant les méthodes
indiquées dans [5].
Pour une fonction donnée ϕ ∈ Fn, soit ωi un r–nœud. Ceci est équivalent au fait que
ωi est produit par exactement r valeurs initiales différentes après une itération. Ainsi, si la
distribution initiale d’état est uniforme, ce nœud a une probabilité de pϕi (1) = r/n.
Soit rnk(n, r) l’espérance de nombre de points qui sont atteints par exactement r
nœuds après k itérations. Alors, dans le cas d’une distribution initiale uniforme l’espérance
de l’entropie est
Hk =
n∑r=1
rnk(n, r)r
nlog2
(n
r
)= log2(n)−
n∑r=1
rnk(n, r)r
nlog2(r). (2)
L’égalité à droite provient du fait que∑n
r=1r rnk(n, r) = n comme chacun des n nœuds a
exactement un successeur et sera compté dans un rnk(n, r).
Pour estimer rnk(n, r) pour une itération, nous employons directement le résultat pour
l’espérance de r–nœuds, donné dans [5], comme rn1(n, r) = rn(n, k) ∼ nr!e
. Pour plus
d’une itération nous allons définir un nouveau paramètre.
Nous appelons nœud de cycle les nœuds du graphe fonctionnel qui sont comprit dans
un cycle et qui sont donc racine d’un arbre, et nœud d’arbres les autres. Nous devons faire
cette distinction parce qu’un nœud de cycle n’a pas seulement les nœuds entrants de son
arbre mais également les nœuds entrants de son cycle.
Pour définir notre nouveau paramètre nous utilisons le fait qu’un nœud d’arbre qui est
exactement atteint par r nœuds après k itérations a
– j nœuds entrants, où 1 ≤ j ≤ l. Chacun de ces nœuds sont racine d’un arbre de
profondeur supérieure ou égale à k − 1 et sont atteint respectivement par i1, . . . , ij
nœuds après k − 1 itérations tels que i1 + · · ·+ ij = r ;
– un nombre arbitraire de nœuds entrants qui sont racines d’arbres de profondeur
strictement plus petite que k − 1.
Comme dans [5] nous construisons la fonction génératrice associée à notre paramètre.
À l’aide d’une analyse des singularités nous obtenons le résultat asymptotique
rnk(n, r) ∼ n ck(r), (3)
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
120 |
avec ck(r) définie par
ck(r) =
1/e r! pour k = 1
f1(k)/e∑
[i1,...,ij ]∈Par(r)
ck−1(i1) · · · ck−1(ij) f2([i1, . . . , ij ]) autrement. (4)
où
– f1(k) viens de l’ensemble des arbres avec une profondeur strictement plus petite
que k − 1. Nous avons
f1(k) =
e1/e pour k = 1
ef1(k−1)/e autrement.
– Par(r) est l’ensemble de toutes les partitions de l’entier r.
Par exemple pour r = 4 nous avons Par(4) = [1, 1, 1, 1], [1, 1, 2], [2, 2], [1, 3], [4].
– f2([i1, . . . , ij ]) est un terme de correction.
Si certaines valeurs ix1 , . . . , ix` avec 1 ≤ x1 < · · · < x` ≤ j sont identiques –
ix1 = · · · = ix` – nous devons multiplier par le facteur 1/`! pour compenser cette
multiplicité, c’est à dire f2([1, 1, 1, 1, 2, 2, 3]) = 14!2!1!
.
Dans (3) nous ignorons que pour un nœud de cycle nous devons compter non seulement des
nœuds entrants d’arbre mais aussi des nœuds entrants de cycle. Cependant, si n est assez
grand, l’espérance du nombre de nœuds de cycle est√
πn/2 qui est seulement une petit
partie de tous les nœuds. Ainsi l’erreur introduite est négligeable si k, et par conséquent la
nombre de nœuds qui arrive au cycle, n’est pas trop grand.
Le calcul de ck(r) comme présenté dans (4) n’est pas très pratique. En introduisant une
fonction D(k, r, m) nous pouvons obtenir une expression plus simple
ck(r) =
1/r!e si k = 1
D(k, r, 1)f1(k)/e autrement
D(k, r, m) =
1 si r = 0
0 si 0 < r < m∑br/mcu=0
ck−1(m)u
u!D(k, r −m u, m + 1) autrement,
qui nous permit de calculer tous les de ck(r) pour k ≤ K et r ≤ R avec une complexité en
temps de O(K R2 log(R)
).
Revenons à l’estimation d’entropie dans (2). En utilisant l’expression (3) nous pouvons
écrire
Hk ∼ log2(n)−R∑
r=1
ck(r) r log2(r)︸ ︷︷ ︸(a)
−n∑
r=R+1
ck(r) r log2(r)︸ ︷︷ ︸(b)
,
où (a) représente l’estimation de la perte d’entropie qui ne dépend pas de n et (b) un terme
correctif. Dans la Fig. 4 nous pouvons voir que la valeur ck(r) r log2(r) baisse vite lorsque
r augmente. Cependant, pour k grand la décroissance devient plus lente. Ainsi, si nous
voulons que le terme (b) soit négligeable pour k grand nous avons besoin d’une grande
valeur de R. Dans la Table 1 nous comparons notre estimateur d’espérance d’entropie
Hk ∼ Hk(R) = log2(n)−R∑
r=1
ck(r) r log2(r) (5)
avec la borne supérieure (1) et la valeur empirique présenté dans la Fig. 3. Nous pouvons
voir que pour un petit k nous obtenons une estimation qui est beaucoup plus précise que
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
| 121
k = 1k = 2k = 3k = 4k = 5k = 6k = 7k = 8k = 9k = 10
10−10
10−8
10−6
10−4
10−2
100
0 10 20 30 40 50 60 70 80 90 100r
c k(r
)rlo
g2(
r)
Fig. 4: Évaluation de ck(r) r log2(r) en fonction de k et r.
k 0 1 2 3 · · · 10 · · · 50 · · · 100
valeur empirique, n = 216 0.0000 0.8273 1.3458 1.7254 · · · 3.1130 · · · 5.2937 · · · 6.2529
taille d’image (1) 0.0000 0.6617 1.0938 1.4186 · · · 2.6599 · · · 4.7312 · · · 5.6913
R = 50 0.0000 0.8272 1.3457 1.7254 · · · 3.1084 · · · 2.6894 · · · 1.2524Hk(R) (5) R = 200 0.0000 0.8272 1.3457 1.7254 · · · 3.1129 · · · 5.2661 · · · 5.5172
R = 1000 0.0000 0.8272 1.3457 1.7254 · · · 3.1129 · · · 5.2918 · · · 6.2729
Tab. 1: Comparaison des différents méthodes pour estimer la perte d’entropie.
la borne supérieure (1). Cependant, pour k grand nous avons besoin d’un grand R et notre
méthode deviens plus coûteuse.
Nous pouvons généraliser le cas d’une distribution initiale arbitraireP = p1, p2, . . . , pn.
L’espérance d’entropie est prit sur tous ϕ ∈ Fn, ainsi chaque n–uplet d’indices 1 ≤ i1 <
i2 < · · · < ir ≤ n de taille r apparaît le même nombre de fois. En total il y a nn rnk(n, r)
points qui sont atteint par r nœud après k itérations et il y a(
nr
)n–uplet d’indices possible
de taille r. Ainsi chaque élément (pi1 + · · ·+ pir ) log21
pi1+···+pirapparaît nn rnk(n,r)(
nr
) fois
dans la somme. En divisant par nn nous avons pour l’espérance d’entropie
HPk =
n∑r=1
rnk(n, r)1(nr
) ∑1≤i1<···<ir≤n
(pi1 + · · ·+ pir ) log2
1
pi1 + · · ·+ pir
. (6)
Dans l’équation (6) nous pouvons utiliser de nouveau la valeur (3) pour approcher rnk(n, r).
Dans ce chapitre nous avons présenté un nouvel estimateur d’entropie. Nous pourrions
montrer que si le nombre d’itérations n’est pas trop grand, il est beaucoup plus précis que la
limite supérieure donnée par la taille d’image. En plus, la mêmeméthode peut être employé
pour n’importe quelle distribution initiale arbitraire.
3 Attaques par collision
Dans [6], Hong et Kim déclarent que la fonction de mise à jour de la première version du
chiffrement à flot Mickey [3] se comporte presque comme une fonction aléatoire concernant
la perte d’entropie et la taille de l’image. Ils présentent deux attaques par collision, qui
essayent d’exploiter la perte d’entropie de l’état interne, cependant sans analyse détaillée
de complexité. Ces attaques sont directement applicables sur notre modèle.
Nous prenons deux états initiaux différents S0 et S′0 et appliquons la même fonction
impérativement sur les deux. Nous parlons d’une collision si il existe k et k′ tel que Sk = S′k′ .
L’idée de Hong et Kim était qu’une entropie réduite induit une probabilité plus grande de
collision. Une fois que nous avons trouvé une collision, nous savons que les états suivants
sont identiques. En raison du paradoxe des anniversaires, nous supposons qu’avec une
entropie de m-bits nous trouvons une collision avec une grande probabilité si nous prenons
2m2 valeurs différentes.
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
122 |
Dans cette section nous étudions les deux attaques présentées dans [6]. Pour chacune
d’elles nous donnons une analyse détaillée de la complexité, où nous considérons la com-
plexité en espace et en données ainsi que le nombre d’états initiaux nécessaires. Tous les
résultats sont en moyenne pour une attaque ayant une grande probabilité de succès. La
complexité en données est le nombre d’états qui sont nécessaires à l’attaque. La complex-
ité en espace est le nombre d’états que nous devons enregistrer pour pouvoir chercher une
collision entre eux. Chaque fois nous comparons les résultats avec les complexités d’une
recherche d’une collision directement dans des états initiaux choisis d’une façons aléatoire.
Les complexités en données et en espace pour une telle recherche sont de l’ordre de√
n.
Dans toutes les attaques étudiées ici, nous ne considérons jamais le nombre de bits de
sortie qui sont nécessaire pour enregistrer un état et pour identifier une collision, car cette
valeur dépend de la fonctions de filtrage utilisé. Dans l’exemple de Mickey, Hong et Kim
déclare qu’ils ont besoin d’environ 28 bits.
3.1 L’état après k itérationsLa première attaque de Hong et Kim prend m états initiaux différents et applique k fois la
même instance de Φ sur chacun d’eux. Puis elle cherche une collision dans les m états résul-
tants. Utilisant (1) nous savons que l’espérance de l’entropie après k itérations d’une fonction
aléatoire est plus petite que log2(n) + log2(1− τk). Hong et Kim conjecturent, en se basant
sur des résultats expérimentaux, que celle-ci est approximativement log2(n)− log2(k) + 1.
Ainsi, avec une forte probabilité nous trouvons une collision si m > 2(log2(n)−log2(k)+1)/2 =√2n/k.
Cette attaque enregistre seulement les dernières valeurs d’itérations et elle cherche une
collision dans cet ensemble. Cela donne une complexité en espace de m ∼√
2n/k pour
k assez grand. Cependant, nous avons appliqué k fois Φ sur tous les états choisis, ce qui
donne une complexité en données de mk ∼√
2kn. C’est à dire que nous augmentons la
complexité en données autant que nous réduisons la complexité en espace et le nombre
d’états initiaux.
On peut se demander, s’il y a des circonstances dans lesquelles nous pouvons em-
ployer cette approche sans augmenter la complexité en données. Le réponse est oui, si le
chiffrement à flot utilise un ensemble des fonctions telles que l’espérance de la perte d’en-
tropie est plus grande que 2 log2(k) après k itérations. Une telle caractéristique impliquerait
que nous n’employons pas de fonctions aléatoires pour mettre à jour l’état, cependant le
principe de l’attaque reste la même.
3.2 Avec des états intermédiairesLa deuxième attaque dans [6] est équivalente à employer 2k−1 fois la même fonction Φ sur
m états initiaux différents et de chercher une collision dans tous les états intermédiaires de
la kème jusqu’à la (2k− 1)ème itération. Comme après k− 1 itérations nous avons environ
log2(n)−log2(k)+1 bits d’entropie, Hong and Kim suppose que nous avons besoins d’un m
tels que mk ∼√
n/k. Ils déclarent que ce résultat serait un peu trop optimiste puisque des
collisions à l’intérieur d’une ligne n’apparaissent normalement pas avec un chiffrement à flot.
Cependant, ils annoncent que cette approche représente quandmême unemenace réaliste
pour le chiffrement à flot Mickey. Nous prouverons que, contrairement à leur conjecture,
cette attaque a des complexités du même ordre de grandeur qu’une recherche directe de
collision dans les états initiaux.
Considérons un tableau contenant les 2km états intermédiaires pour les 2k−1 itérations.
S’il n’y pas de collisions dans cet ensemble la, il n’y aura pas non plus de collision dans les
km état considérés par l’attaque. Ainsi, la probabilité de succès de l’attaque est encore plus
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
| 123
petite que 1−Pr[sansColTotal], où Pr[sansColTotal] est la probabilité qu’il n’y ait aucune
collision dans l’ensemble des 2km états. Soit Pr[sansColInit] la probabilité qu’il n’y ait pas
de collisions dans les m états initiaux. Nous pouvons écrire directement que
Pr[sansColTotal] = Pr[sansColTotal ∩ sansColInit]
= Pr[sansColTotal|sansColInit] Pr[sansColInit].
Supposons que nous ayons prit m états initiaux différents. Ceci arrive avec une probabilité
Pr[sansColInit] =
(nm
)m!
nm. (7)
Dans ce cas nous avons nn fonctions différentes, où chacune crée(
nm
)m! tableaux dif-
férentes. Chaque table peut être produite par plus d’une fonction. Il y a n (n − 1) . . . (n −
2km + 1) tableaux différents qui ne contiennent aucune collision. Chacun d’eux apparaî-
tra pour nn−(2k−1)m fonctions différentes, puisque un tableau détermine déjà (2k − 1)m
positions de la fonction. Ainsi, nous obtenons la probabilité
Pr[sansColTotal|sansColInit] =n (n− 1) . . . (n− 2km + 1) nn−(2k−1)m
nn(
nm
)m!
(8)
pour m > 0 et 2km ≤ n. En combinant (7) et (8) nous arrivons à
Pr[sansColTotal] =n(n− 1) . . . (n− 2km + 1)
n2km(9)
où la probabilité est prise sur toutes les fonctions ϕ ∈ Fn et sur tous les états initiaux
possibles. C’est exactement la probabilité de non collision parmi 2km points aléatoires,
nous avons donc besoin d’un m tel que 2km ∼√
n. Cela nous donne une complexité en
données de l’ordre de√
n et une complexité en espace de ∼√
n/2.
3.3 Amélioration par des points distinguésEn utilisant la méthode connue des points distingués nous pouvons réduire la complexité
en espace de la deuxième attaque, cependant, la complexité en données ne change pas.
Considérons un sous-ensemble de Ωn qui est distingué par une propriété, par exemple
que les ` bits de poids fort doivent être 0 pour une entier ` spécifié, un point distingué (PD)
est un élément de cet ensemble. Dans notre variante de la deuxième attaque nous itérons
ϕ dans chaque ligne jusqu’à arriver à un point distingué. Dans ce cas nous nous arrêtons
et enregistrons le PD. Si nous n’arrivons pas à un PD après un nombre fixé MAX itérations
nous nous arrêtons et nous n’enregistrons rien. S’il y a une collision dans un des états, les
états suivants sont identique et nous arrêtons avec le même PD. Ainsi, il est suffisant à
chercher une collision dans les PDs finaux.
Soit d le nombre de points distingués dans Ωn. Nous supposons que le ratio c = dnest
assez grand pour que, avec une grand probabilité, nous arriver à un PD dans chaque ligne
avant la fin de cycle dans le graphe fonctionnel. C’est à dire qu’en moyenne le nombre
d’itérations avant d’arriver à un PD est beaucoup plus petit que l’espérance de la longueur
de queue plus la longueur de cycle. L’espérance de cette longueur est de l’ordre de√
π n2
[5]. Nous supposons que dans ce cas l’espérance de la longueur d’une ligne est de l’ordre
de 1/c comme ce serait le cas pour des points aléatoires. Nous supposons aussi que nous
avons besoin d’environ m/c ∼√
n points donnés pour trouver une collision, comme dans
le cas précédent. Ainsi nous avons obtenons une complexité en données de ∼√
n et une
complexité en espace de seulement ∼ c√
n. Des résultat empiriques pour n = 220, 0.7 ≤log2(d)log2(n)
≤ 1 et MAX =√
n confirment nos hypothèses.
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
124 |
– Un résumé de toutes les complexités de toutes les attaques est présenté dans la
Table 2. Nous pouvons voir que soit la complexité en espace est encore dans la même
ordre de grandeur que ∼√
n ou elle est réduite par le même facteur que la complexité en
données est augmentée.
attaque # états initiaux complexité en espace complexité en donnéesaprès k itérations, 3.1 ∼
√2n/k ∼
√2n/k ∼
√2kn
avec les états intermédiaires, 3.2 ∼√
n/2k ∼√
n/2 ∼√
n
avec des PDs, 3.3 ∼ c√
n ∼ c√
n ∼√
n
Tab. 2: Complexité des attaques.
4 Conclusion
Nous avons présenté une nouvelle méthode pour estimer l’entropie de l’état interne d’un
chiffrement à flot qui emploie une fonction aléatoire pour la mise à jour. Cet estimateur
est basé sur le nombre de points qui produisent la même valeur après k itérations. Son
calcul est cher pour un grand nombre d’itérations, cependant pour des petits nombres il
est beaucoup plus précis que la borne supérieure donnée par la taille de l’image.
Nous avons également étudié les deux attaques par collision proposées dans [6]. Nous
avons précisé que la première attaque améliore la complexité en espace au coût d’un aug-
mentation de la complexité en données. Nous avons montré que les complexités de la
deuxième attaque sont équivalent à la complexité d’une recherche directe de collision dans
les valeurs initiales. De plus, nous avons proposé une nouvelle attaque qui réduit la com-
plexité en espace mais laisse la complexité en données constante. L’utilisation des fonctions
aléatoires dans un chiffrement à flot introduit le problème de la perte d’entropie, cepen-
dant, les attaques proposées basées sur cette faiblesse sont moins efficaces que prévu.
Ainsi, le fait d’employer une fonction aléatoire n’est pas suffisant pour qu’un chiffrement à
flot soit menacé par une attaque par collision basée sur la perte d’entropie.
Références[1] C. E. Shannon. Communication theory of secrecy systems. Bell Systems Technical Journal,
28(4) :656—715, 1949.
[2] C. E. Shannon. A mathematical theory of communication. Bell System Technical Journal, 27 :379–
423 and 623–656, July and October 1948.
[3] S. Babbage andM. Dodd. The stream cipher MICKEY (version 1). eSTREAM, ECRYPT StreamCipher
Project, Report 2005/015, 2005. http://www.ecrypt.eu.org/stream.
[4] V. F. Kolchin. Random Mappings. Optimization Software, Inc, 1986.
[5] P. Flajolet and A. M. Odlyzko. Random mapping statistics. Advances in Cryptology, Proc. Euro-
crypt’98, 434 :329–354, 1990.
[6] J. Hong and W. H. Kim. TMD-tradeoff and state entropy loss considerations of streamcipher
MICKEY. In INDOCRYPT, pages 169–182, 2005.
[7] N. Sendrier and A. Seznec. HArdware Volatile Entropy Gathering and Expansion : generating un-
predictable random numbers at user level. Technical report, INRIA, 2002.
Schedae, 2007, prépublication n° 21, (fascicule n° 2, p. 115-124).
| 125
Prépublication n° 22 | Fascicule n° 2
Codes correcteurs d’erreursconstruits à partir des variétés algébriques
Frédéric A. B. EdoukouCNRS, Institut de Mathématiques de Luminy
Luminy case 907 – 13288 Marseille Cedex 9 – France
Résumé :
On étudie le code fonctionnel défini sur une variété algébrique X sur un corps fini, tout comme
V. Goppa l’avait fait sur les courbes. La distance minimale de ce code est déterminée par le
nombre de points rationnels de l’intersection de X avec toutes les hypersurfaces d’un certain
dégré. Dans le cas où X est une surface hermitienne non-dégénérée, A.B. Sorensen a formulé
dans sa thèse (1991) une conjecture, qui résolue, donne exactement la distance minimale de ce
code. Dans ce papier nous allons répondre à cette conjecture dans le cas des surfaces quadriques.
En utilisant des résultats de géométrie finie nous donnerons aussi la distribution des poids du
code associé.
Mots-clés : codes correcteurs d’erreurs.
1 Rappels sur les codes correcteurs
Soit p un nombre premier et q = pa une puissance de p. On note Fq le corps fini à q éléments.
On appelle code de longueur n, de dimension k, un sous-espace vectoriel de Fqn. Les
éléments de ce sous espace vectoriel C sont appelés les mots du code.
Soit x = (x1, x2, . . . , xn) un mot du code C et J = 1, . . . , n. Le support de x est
l’ensemble défini par supp(x) = i ∈ J | xi 6= 0. Le poids de Hamming de x qu’on note
w(x) est le nombre de composantes non-nulles de x :
w(x) = #supp(x).
Soient x et y deux éléments du code, on définit la distance de Hamming d(x, y) entre x et
y comme étant le nombre de composantes en lesquelles x et y diffèrent. Plus précisement
si x = (x1, x2, . . . , xn) et y = (y1, y2, . . . , yn), alors
d(x, y) = #xi 6= yi, 1 ≤ i ≤ n
Frédéric A. B. Edoukou« Codes correcteurs d’erreurs construits à partir des variétés algébriques »Schedae, 2007, prépublication n° 22, (fascicule n° 2, p. 125-132).
126 |
Et on a la relation :
w(x) = d(x, O)
La distance minimale d(C) d’un code C est la plus petite distance entre deux mots
distincts. Comme d(x, y) = w(x− y, O), on en déduit que la distance minimale est aussi le
plus petit poids ; on a :
d(C) = minw(x), c ∈ C et c 6= O
Un code C de longueur n, de dimension k et de distance minimale d est noté C=[n,k,d]
et on dit que n,k, et d sont les paramètres du code C.Deux des objectifs les plus recherchés
dans la désignation d’un bon code sont :
– Grande efficacité : dans le sens d’avoir un nombre relativement grand de mots du
code pour une longueur donnée ;
– Grande distance minimale : pour une capacité de correction assez grande. En effet
un code dont la distance minimale est d corrige exactement e = [ d−12
] erreurs, et le
nombre e est appelé la capacité de correction du code.
Un autre but aussi important dans la désignation d’un bon code est l’obtention d’un
algorithme de codage-décodage susceptible d’être implémenté sur une machine de façon
simple et de travailler pendant un temps court. Et pour ce troisième objectif, on peut faire
appel à la distribution des poids.
Malheureusement, toutes ces exigences ne vont pas de pair, elles sont contradictoires.
Et c’est pour cela que la désignation d’un bon code ou la recherche d’un bon code découle
d’un processus difficile.
La théorie des codes correcteurs est née de par la nécessité de transmettre des mes-
sages à travers un canal bruité. Comme exemple nous avons, les conversations téléphoni-
ques, les télécommunications par satellite, les faisceaux hertziens (la transmission d’image à
la télévision), les radio-communications avec les mobiles, les techniques d’enregistrement.
Les problèmes rencontrés sont à la base de nature de l’ingénierie, mais très souvent les so-
lutions sont trouvées en utilisant, l’algèbre, la combinatoire, la géométrie finie et quelques
fois d’autres branches des mathématiques.
Dans cet article, nous allons étudier une construction particulière de codes, et les propriétés
qui en découlent.
2 Dénombrements dans l’espace projectif Pn(Fq)
On désigne par Pn(Fq) l’espace projectif de dimension n sur le corps fini Fq) à q éléments,
où q = pa est une puissance d’un nombre premier. Le nombre de points de Pn(Fq) est :
πn = #Pn(Fq) = #Πn = qn + qn−1 + ... + 1.
On note Πr un sous-epace projectif linéaire de dimension r et Φ(r, n, q) le nombre de
sous-espaces projectifs linéaires Πr contenus dans Pn(Fq). On a alors :
Φ(r, n, q) =
i=n+1Yi=n−r+1
(qi − 1)/
i=r+1Yi=1
(qi − 1).
Soit s ≤ r et X (s, r; n, q) le nombre de sous-espaces projectifs Πr passant par un Πs
fixé. Par le principe de dualité dans l’espace projectif, on montre que :
X (s, r; n, q) = Φ(n− r − 1, n− s− 1, q).
Schedae, 2007, prépublication n° 22, (fascicule n° 2, p. 125-132).
| 127
Soit Wi l’ensemble des points de cordonnées homogènes (x0 : ... : xn) ∈ Pn(Fq) tel
que xj = 0 pour j < i et xi 6= 0. La famille Wi0≤i≤n forme une partition de Pn(Fq).
Soit P = (x0 : x1 : ... : xn) ∈ Pn(Fq) et f(x0, ..., xn) un polynôme homogène en n + 1
variables à coefficients dans Fq et de degré d. On a
f(P ) =f(x0, ..., xn)
xid
avec x = (x0 : ... : xn) ∈ Wi.
En 1989, aux 16es Journées Arithmétiques qui ont eu lieu à Marseille Luminy (17-21 juil-
let 1989) M. Tsfasman présenta une conjecture sur la meilleure borne pour le nombre de
points d’une hypersurface dans Pn(Fq). Elle fut résolue d’abord par J. P. Serre dans une
lettre adressée à Tsfasman le 24 juillet 1989 ensuite par A. B. Sorensen un trimestre plus
tard en utilisant une technique différente qui est en faite duale de celle de Serre.
Théorème 1 (Tsfasman-Serre-Sorensen) ([1, 2]) Soit f(x0, ..., xn) un polynôme homogèneen n + 1 variables à coefficients dans Fq et de degré d ≤ q. Alors le nombre of zéros de fdans Pn(Fq) satisfait à :
#Z(f)(Fq) ≤ dqn−1 + πn−2.
Cette borne supérieure est atteinte quand Z(f) est réunion de h hyperplans contenantune même variété linéaire de codimension 2.
Définition 1 Soit V une variété projective, la dimension maximale g(V ) des sous espacesprojectifs linéaires contenus dans V, est appelée l’indice projectif de V.
Nous allons maintenant nous restreindre à l’espace projectif P3(Fq) et définir la notion
de regulus qui se généralise dans tout espace projectif Pn(Fq) de dimension impaire.
Lemme 1 Dans P3(Fq) le nombre de droites rencontrant trois droites non concourantesdeux à deux est q + 1.
On montre aussi que ces q + 1 droites sont non concourantes deux à deux.
Définition 2 L’ensemble des droites rencontrant trois droites non concourantes (deux àdeux) est appelé un regulus. Ainsi donc, un regulus est constitué de q + 1 droites nonconcourantes, et si l1, l2 et l3 sont trois d’entre elles, le regulus est noté R(l1, l2, l3).
On montre également que les droites rencontrant l1, l2 et l3 rencontrent toute droite
de R(l1, l2, l3) et forme un regulus appelé le regulus complémentaire.
3 Introduction du code fonctionnel
Soit X un ensemble fini, X = P1, . . . , Pn et F(X, Fq) l’espace vectoriel des applications
définies sur X et à valeurs dans Fq . Soit eF ⊂ F(X, Fq) un sous-ensemble .
On définit l’application
c : F(X, Fq) −→ Fnq
f 7−→ c(f) = (f(P1), . . . , f(Pn))
Le code fonctionnel défini par eF et X, et denoté C(X, eF ) est l’image de l’application c
restreinte à eF .
C(X, eF ) = Imc| eFNous avons le résultat suivant
Proposition 1 Le code C(X, eF ) a les paramètres suivants :
lenghC(X, eF ) = n, dim C(X, eF ) = dim eF − dim ker C| eFdistC(X, eF ) = n−max
f∈eF cw(f)
Schedae, 2007, prépublication n° 22, (fascicule n° 2, p. 125-132).
128 |
Il est évident que pour avoir des codes avec un nombre relativement grand de mots de
code, l’injectivité de l’application c s’impose.
Nous travaillerons plus particulièrement dans cet article, le cas où X ⊂ PN (Fq) est un
ensemble algébrique et eF est l’espace des formes de degré h sur X que nous denotons
Fh. On note alors Ch(X) le code C(X, eF ). Dans ce cas particulier, on a :
distCh(X) = #X(Fq)− maxf∈Fh
#XZ(f)(Fq)
D’après cette formule, la distance minimale de Ch(X) est déterminée par le nombre de
points #XZ(f)(Fq) de l’intersection de X avec les hypersurfaces f de degré h. Sous la con-
dition de l’injectivité de l’application c, on obtient par des résultats d’analyse combinatoire
que :
dim Ch(X) =“N + h
h
”.
4 Les variétés hermitiennes et quelques propriétés fondamentales
Les variétés hermitiennes sont définies dans des espaces projectifs sur des corps de Galois
de la forme GF (q2).
Définition 3 Soit h ∈ GF (q2). On appelle conjuqué de h et on note h = hq .
Définition 4 Soit H = (hij)0≤i,j≤N une matrice carrée avec les hij ∈ GF (q2). La matriceH est dite hermitienne si et ssi hij = hji pour tout 0 ≤ i, j ≤ N . Soit xt = (x0, . . . , xN )un vecteur ligne et soit x le vecteur colonne correspondant où x0, x1, . . . , xN sont des in-déterminés, xtHx(q) est un polynôme homogène en les variables x0, x1, . . . , xN de degréq + 1.
La forme xtHx(q) est appelée une forme hermitienne si H est une matrice hermitienneet H est appelée la matrice de la forme. L’ordre et le rang d’une forme hermitienne sontdéfinis comme étant l’ordre et le rang de H.
Définition 5 Soit X un ensemble de points dans PN (Fq2 ) dont les vecteurs lignes xt =
(x0, . . . , xN ) satisfont à l’équation : xtHx(q) = 0. On dit alors que X est une variété hermi-tienne ssi H est une matrice hermitienne. Elle est non-dégénérée si le rang de H est N + 1
et dégénérée dans le cas contraire (i.e. rang(X ) < N + 1).
R.C. Bose et I.M. Chakravarti ont donné en 1966 pour la première fois une formule
permettant de déterminer exactement le nombre de points d’une variété hermitienne non-
dégénérée. Ils en déduisent de cette formule, le nombre de points d’une variété hermi-
tienne dégénérée de rang r.
Théorème 2 Soit X ⊂ Pn(Fq) une variété hermitienne non-dégénérée. Alors,
#X (Fq) = Φ(n, t2) = [tn+1 − (−1)n+1][tn − (−1)n]/(t2 − 1) (1)
Pour X ⊂ Pn(Fq) une variété hermitienne dégénérée de rang r < n + 1, nous avons :
#X (Fq) = (t2 − 1)πn−rΦ(r − 1, t2) + πn−r + Φ(r − 1, t2),
où Φ(n, t2) est donnée par (1).
Ils ont aussi étudié la section d’une variété hermitienne non-dégénérée par un hyperplan
tangent. Ils obtiennent le résultat suivant :
Théorème 3 [3] Soit X une variété hermitienne non-dégénérée dans Pn(Fq) et H un hy-perplan. Si H est tangent à X en P , alors X ∩H est une variété hermitienne dégénérée derang n− 1 dans Pn−1(Fq). Le lieu singulier de X ∩H est constitué uniquement du point P .
En 1971, I.M. Chakravarti achève tout seul l’étude de la section hyperplane d’une variété
hermitienne non-dégénérée. Il obtient le résultat suivant :
Théorème 4 [4] Soit X une variété hermitienne non-dégénérée dans Pn(Fq) et H un hy-perplan. Si H est non-tangent à X , alors X ∩H est une variété hermitienne non-dégénéréedans Pn−1(Fq).
Schedae, 2007, prépublication n° 22, (fascicule n° 2, p. 125-132).
| 129
5 Le code Ch(X) défini sur la surface hermitienne non-dégénérée
Ici q = t2 et X est la surface hermitienne dans P3(Fq) non-dégénérée d’équation X : xt+10 +
xt+11 + xt+1
2 + xt+13 = 0. D’après le théorème 2, on obtient #X(Fq) = (t2 + 1)(t3 + 1).
Injectivité : L’injectivité de l’application c définissant le code Ch(X) est vérifiée sous la
condition h ≤ t. Et cette condition est elle-même obtenue grâce à la borne de Tsfasman-
Serre-Sorensen pour les hypersurfaces.
Historique du code Ch(X) sur la surface hermitienne : En 1985, pour h = 2 et t = 2,
R. Tobias un étudiant en thèse de I.M. Chakravarti à l’UNC-CH a étudié ce problème. Par
un traitement à l’ordinateur, il donna d’abord la liste des 45 points de X. Il a ensuite évalué
les 10 monônes quadratiques en chacun des 45 points de X. Il ne fut pas à mesure de
déterminer la distance minimale de C2(X).
En 1986, pour h = 2 et t = 2, Paul P. Spurr dans son mémoire de master [5] à l’UNC-CH
en Caroline du Nord sous la direction de Ladnor Geissinger détermina grâce à un pro-
gramme informatique, non seulement la distance minimale mais aussi la distribution des
poids du code C2(X). Tous les mots du code C2(X) sont de poids pairs. Il obtint d’ailleurs
le prix du meilleur mémoire de master en sciences de son université.
En 1991, pour h = 2 et t = 2, A. B. Sorensen dans sa thèse de doctorat [2] sous la
direction du professeur J. P. Hansen à Aarhus, montra que l’utilisation d’un ordinateur n’était
pas vraiment nécessaire pour déterminer la distance minimale de C2(X). Il a même décrit la
structure géométrique des mots de poids minimaux et en a déduit leur nombre. Sorensen a
généralisé son étude à la variété hermitienne non-dégénérée d’équation X : xt+10 +xt+1
1 +
xt+12 + xt+1
3 = 0 et a formulé une conjecture
pour h ≤ t, #XZ(f)(Fq) ≤ h(t3 + t2 − t) + t + 1
qui une fois résolue, devrait donner exactement la distance minimale de Ch(X).
En 1993, au colloque A.G.C.T-4 de Marseille-Luminy, G. Lachaud donna une borne
supérieure du nombre de points d’un ensemble algébrique de degré donné. Le résultat de
G. Lachaud appliqué aux hypothèses du problème ci-dessus, conduit à la borne suivante :
pour h ≤ t, #XZ(f)(Fq) ≤ h(t3 + t2 + t + 1)
qui est malheureusement plus large que celle de Sorensen.
En 2003, F. Rodier étudia également le code Ch(X) défini sur la surface hermitienne
non-dégénérée. Mais il n’apporta ni une amélioration à la borne de G. Lachaud, ni une in-
formation à la conjecture ci-dessus.
Résolution de la conjecture de Sorensen : On remarque que pour h = 1, la conjecture
est vraie. Il suffit pour cela d’appliquer les théorèmes 3,4 et 2 pour s’en convaincre.
Nous allons répondre à la conjecture de Sorensen pour h = 2, en utilisant la classification
projective des quadriques dans P3(Fq) et aussi les propriétés des variétés hermitiennes. De
plus, les techniques développées à savoir :
– La structure de deux reguli, chacun engendrant la quadrique hyperbolique et la limite
imposée au nombre de droites non-concourantes contenues dans un regulus pouvant
appartenir à la surface hermitienne non-singulière ;
– La section de la quadrique elliptique E3 par X, dans P3(Fq) vu comme une famille de
q +1 plans passant par une même droite définie par deux points distincts de E3 ∩X ;
– La structure géométrique du cône quadrique de rang 3 qui est en fait une réunion
de q + 1 droites passant par un sommet et la limite imposée au nombre de droites
du cône quadrique pouvant être contenues dans X.
Schedae, 2007, prépublication n° 22, (fascicule n° 2, p. 125-132).
130 |
nous permettent non seulement de répondre positivement à la conjecture ci-dessus pour
les quadriques, mais aussi de préciser le premier, le second et le troisième poids, ainsi que
la description géométrique des quadriques donnant ces poids et finalement le nombre des
mots atteignant ces trois premiers poids. En clair, nous obtenons les résultats suivants :
Caractérisation du premier poids w1 et sa multiplicité Aw1
Théorème 5 [6] La distance minimale du code C2(X) est : d = t5 − t3 − t2 + t.Les mots de poids minimaux correspondent aux quadriques qui sont réunion de plans,chacun tangent à la surface hermitienne (i.e. intersectant la surface hermitienne en t + 1droites passant par un point), et la droite d’intersection des deux plans intersectant X ent + 1 points.Le nombre de mots de poids minimaux est :
Aw1 = (t2 − 1)[1
2(t5 + t3 + t2 + 1)t5]
Caractérisation du second poids w2 et sa multiplicité Aw2
Théorème 6 [7] Le second poids du code C2(X) est w2 = t5 − t3.Les mots de code atteignant le second poids correspondent à trois types de quadriques :
– quadriques hyperboliques contenant trois droites non-concourantes de X ;– quadriques qui sont réunion de deux plans tangents à la surface hermitienne X, serencontrant en une droite contenue dans X ;
– quadriques qui sont réunion de deux plans l’un tangent à X, le second non-tangentà X et la droite d’intersection des deux plans rencontrant X en un seul point.
Le nombre de mots atteignant le second poids est :
Aw2 =1
2(t2 − 1)(t5 + t3 + t2 + 1)(3t2 − t + 1)t2
Caractérisation du troisième poids w3 et sa multiplicité Aw3
Théorème 7 [7] Le troisième poids du code C2(X) est w3 = t5 − t3 + t.Les mots de code atteignant le troisième poids correspondent aux quadriques qui sontréunion de deux plans l’un tangent àX, le second non-tangent àX et la droite d’intersectiondes deux plans intersectant la surface hermitienne X en t + 1 points.Le nombre de mots atteignant le troisième poids est :
Aw3 = (t2 − 1)(t5 + t3 + t2 + 1)(t6 − t5)
On remarque que pour h = 2 et t = 2, on retrouve les résultats de Sorensen et ceux de Spurr
calculés par ordinateur : w1 = 22, Aw1 = 2160 ; w2 = 24, Aw2 = 2970 ; w3 = 26, Aw3 = 4320.
Nous explicitons les quatrième et cinquième poids du code C2(X ), et formulons une
conjecture sur la structure géométrique des quadriques qui correspondent à ces poids.
Lemardi 27 février 2007, dansmon exposé au séminaire duGRIM (Groupe de Recherche
en Informatique et Mathématiques) de l’U.S.T.V à Toulon, Philippe Langevin (directeur du
dit groupe) me fit remarquer que les cinq premiers poids du code C2(X ) étaient divisibles
par t et que cela pourrait peut être s’étendre à tous les autres poids (ce qui est d’ailleurs le
cas pour t = 2). Nous allons prouver que cette remarque est bien fondée grâce au théorème
de James Ax sur les zéros des polynômes à coefficient dans un corps fini.
Théorème 8 [3] Soient r polynômes à n variables Fi de degré di sur Fq , alors de zéroscommuns des Fi est divisible par qb si n > b
Pri=0 di.
Théorème 9 [8] Tous les poids du code C2(X ) défini sur la surface hermitienne non-dégénérée X sont divisibles par t.
Nous allons donner une démonstration plus générale dans Pn(Fq).Si φ est une forme
hermitienne à n+1 variables avec n ≥ 3 sur un corps Fq = Ft2 et F une forme quadratique,
on a φ(x0, ..., xn) = xt+10 + ... + xt+1
n .
Schedae, 2007, prépublication n° 22, (fascicule n° 2, p. 125-132).
| 131
Notons α un élément de Fq qui n’est pas dans Ft. On a Fq = Ft ⊕ αFt. Décomposons
les éléments x de Fq : x = y + αz. La conjugaison est donnée par x 7−→ xt et transforme α
en α. Par conséquent xt = y + αz, et par suite
xt+1 = (y + αz)(y + αz) = y2 + (α + α)yz + ααz2.
La forme φ est maintenant une forme de degré 2 en 2(n + 1) variables. Et sa nouvelle
équation devient φ(y0, z0, ..., yn, zn) = y20+(α+α)y0z0+ααz2
0+...+y2n+(α+α)ynzn+ααz2
n.
Soient X et Q les variétés projectives associées aux formes φ et F . Les nouvelles équations
donnant X ∩Q s’écrivent alors8>><>>:y20 + (α + α)y0z0 + ααz2
0 + ... + y2n + (α + α)ynzn + ααz2
n = 0
F (y0, z0, ..., yn, zn) = 0
et sont des équations sur Ft. Par le théorème d’Ax, le nombre de zéros communs N à φ
et F (dans F2(n+1)t ) est divisible par t car 2(n + 1) > 2 + 2.
D’autre part F et φ sont homogènes, donc N − 1 est divisible par t− 1.
Etant donné que X et Q sont les variétés projectives associées aux formes φ et F , on a
#(Q∩X) = N−1t−1
. Soit M = N−1t−1
, on a N ≡ (1−M) (mod. t). Et comme N est divisible par
t, on en déduit M ≡ 1 (mod. t)
Le poids d’unmot de code associé à la variété quadriqueQ surX est égal àw = #X−#(Q∩
X) = #X −M . Or, par le théorème d’ Ax encore, le nombre de zéros de φ (dans F2(n+1)t )
est divisible par t, donc #X ≡ 1 (mod. t). Par conséquent, w = #X −M ≡ 0(mod. t).
Références[1] J.P. Serre. Lettre à m. Tsfasman. In Journées Arithmétiques de Luminy, volume 198-199-200 of
Astérisque, pages 351–353, 1991.
[2] A.B. Sorensen. Rational points on hypersurfaces, Reed-Muller codes and algebraic-geometric
codes. PhD thesis, University of Aarhus, Denmark, 1991.
[3] R.C. Bose and I.M. Chakravarti. Hermitian varieties in finite projective space pg(n, q). Canadian
J. of Math., 18 :1173, 1966.
[4] I.M. Chakravarti. Some properties and applications of hermitian varieties in finite projective space
pg(n,q2) in the construction of strongly regular graphs (two-class association schemes) and block
designs. Journal of Comb. Theory, Series B, 11(3) :268–283, 1971.
[5] A.B. Sorensen. Rational points on hypersurfaces, reed-muller codes and algebraic-geometric
codes. Master’s thesis, University of North Carolina at Chapell Hill, USA, 1986.
[6] F.A.B. Edoukou. Codes defined by forms of degree 2 on hermitian surface and sorensen conjec-
ture. Finite Fields and Their Applications, 13 :616–627, 2007.
[7] F.A.B. Edoukou. The weight distribution of the functional codes defined by forms of degree 2 on
hermitian surfaces. Finite Fields and Their Applications, 1 :616–627, 2005.
[8] F.A.B. Edoukou. Codes correcteurs d’erreurs définis à partir des variétés algébriques. PhD thesis,
Université de la Méditerranée, Marseilles, France, 2007.
[9] A. Aubry and M. Perret. Connected projective algebraic curves over finite fields. In I.M.L., 2002.
[10] J. Ax. Zeroes of polynomials over finite fields. Amer. J. Math., 86 :255–261, 1964.
[11] R.C. Bose and I.M. Chakravarti. Hermitian varieties in finite projective space pg(n, q). Canadian
J. of Math., 18 :260, 1966.
[12] I.M. Chakravarti. The generalized goppa codes and related discrete designs from hermitian sur-
faces in pg(3, s2). Lecture Notes in Computer Sci., 311 :116–124, 1986.
[13] R. Hartshorne. Algebraic Geometry, Graduate texts in mathematics 52. Springer-Verlag, 1977.
Schedae, 2007, prépublication n° 22, (fascicule n° 2, p. 125-132).
132 |
[14] J.W.P. Hirschfeld, M. Tsfasman, and Vladut S. The weight hierarchy of higher dimensional hermitian
codes. IEEE Trans. Infrom. Theory, 40(1) :275–278, 1994.
[15] J.W.P. Hirschfeld. Projective Geometries Over Finite Fields (Second Edition). Clarendon Press
Oxford, 1998.
[16] J.W.P. Hirschfeld. Finite Projective Spaces of Three Dimensions. Clarendon Press Oxford, 1985.
[17] G. Lachaud. La communication en équations, L’état des sciences et des techniques. Éditions de
la découverte Paris, 1991.
[18] G. Lachaud. Number of points of plane sections and linear codes defined on algebraic varieties.
In Arithmetic, Geometry, and Coding Theory, pages 77–104. Walter de Gruyter, 1996.
[19] O. Papini and Wolfmann J. Algèbre discr‘ete et codes correcteurs. Springer-Verlag, 1995.
[20] E.J.F. Primrose. Quadrics in finite geometries. Proc. Camb. Phil. Soc., 47 :299–304, 1951.
[21] F. Rodier. Codes from flag varieties over a finite field. Journal of Pure and Applied Algebra,
178 :203–214, 2003.
[22] P. Samuel. Géométrie projective. Presses Universitaires de France, 1986.
[23] R. Shafarevich. Basic Algebraic Geometry 1. Springer-Verlag, 1994.
Schedae, 2007, prépublication n° 22, (fascicule n° 2, p. 125-132).
Agents et décision
session 6
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 133
Prépublication n° 23 | Fascicule n° 2
Approche décentraliséepour résoudre le problèmedu transport à la demande
Michel Nabaa, Besma Zeddini, Pierrick TranouezLaboratoire d’informatique, de traitement de l’information et des systèmes (LITIS)
[email protected], [email protected], [email protected]
Résumé :
Les systèmes de transports publics actuels sont déterministes. Dans de tels systèmes, c’est la
demande qui s’adapte à l’offre. Dans cet article, nous proposons un modèle d’auto-organisation
pour la répartition de véhicules dans un système de transport à la demande (TAD) purement dy-
namique. Notre proposition s’appuie sur une approche décentralisée et unemodélisation de l’en-
vironnement dans un système multiagent (SMA). Il s’agit de limiter la concentration des véhicules
ou la famine dans certaines régions de la ville. Nous montrons que notre modèle répond à la
problématique posée dans ce domaine en permettant aux agents véhicules, pour une demande
donnée, de prendre la décision finale au moyen d’un processus de négociation et de calculer des
surcoûts suivant une heuristique d’insertion originale.
Mots-clés : transport à la demande, optimisation de tournées de véhicules, intelligence
collective, auto-organisation.
1 Introduction
Des préoccupations environnementales grandissantes conjuguées à des difficultés de ges-
tion de trafic notamment urbain poussent à la recherche de nouvelles solutions améliorant
à ces égards la mobilité en agglomération. Les systèmes de transports publics actuels sont
déterministes et basés sur des fréquences et des itinéraires fixés à l’avance. Ils sont constru-
its à partir d’études d’opportunité et sont peu adaptatifs à une demande très changeante,
c’est la demande qui s’adapte à l’offre. Nous proposons un système de transport à la de-
mande qui doit à l’opposé adapter l’offre, en temps réel, à la demande. Il doit permettre à
terme de générer une forte diminution du trafic et d’offrir une qualité de service maximale à
un moindre coût d’exploitation. Enfin, il constituera un outil d’aide à la décision permettant
de calculer en temps réel des problèmes de construction de tournées de véhicules, ce qui
Michel Nabaa, Besma Zeddini, Pierrick Tranouez« Approche décentralisée pour résoudre le problème du transport à la demande »
Schedae, 2007, prépublication n° 23, (fascicule n° 2, p. 133-140).
134 |
n’est pas offert par les systèmes de transport classiques. L’enjeu de cet article est d’étudier
la possibilité de la mise en place d’un système de transport à la demande (TAD) que l’on
compte appliquer sur la ville de Rouen pour essayer de satisfaire, au mieux et à tout ins-
tant, les demandes des clients, tout en répartissant la charge entre la flotte de véhicules
afin d’atteindre les objectifs cités précédemment. Ce système ajustera dynamiquement à
une fréquence optimisée l’offre à la demande. Le scénario d’exécution commence avec la
première demande d’un usager qui apparaît aléatoirement dans un endroit de la ville. Il
envoie une requête en désignant son point de départ et son point d’arrivée. La résolution
consiste à choisir le véhicule le mieux placé pour satisfaire les demandes de déplacement
des passagers déjà existants dans ce véhicule ainsi que la nouvelle demande ; et ceci en
essayant d’optimiser son taux de remplissage et son temps de parcours.
2 Positionnement scientifique
Le problème général de construction de tournées des véhicules est connu sous le nom
de Vehicle Routing Problem (VRP) et représente un problème d’optimisation combinatoire
multi-objectif qui a fait l’objet de nombreux travaux et de nombreuses variantes dans la
littérature. Il appartient à la catégorie NP-difficile [1, 2]. Dans sa version de base, le prob-
lème VRP (voir figure 1) modélise un problème de transport très répandu qui consiste à
livrer (et/ou collecter) des produits auprès d’un ensemble de clients à l’aide d’une flotte de
véhicules. La résolution consiste à déterminer un ensemble de tournées qui minimise au
mieux des objectifs comme la distance totale parcourue, le nombre de véhicules utilisés,
la somme des retards des clients [3]. Un état de l’art complet des problèmes de VRP dans
Fig. 1: Problème de tournées de véhicules.
un contexte statique, en particulier, dynamique (DVRP) et de leurs applications est donné
dans [4]. Quand il s’agit du problème de VRP avec des collectes et livraison de marchan-
dises on parle de PDP (Pickup & Delivery Problem ou Problème de Ramassage & Livraison).
Le cas d’un PDP dynamique a été étudié dans [5]. Les auteurs ont adopté une approche
multi-agents. La conversation entre les agents est basée sur le protocole Contract Net.
L’arrivée en temps des clients est calculée selon la loi de Poisson avec un coefficient pou-
vant changer pendant la simulation. Un DARP (Dial-a-Ride Problem) est une extension du
PDP dans lequel le transport de marchandises est remplacé par le transport des person-
nes [6, 7]. Puisqu’il s’agit d’un problème de transport de personnes, le DARP se focalise
plus sur la satisfaction de ces personnes. Le DARP se décline à la fois de façon statique et
dynamique. Souvent, ce cloisonnement n’est pas toujours strict, car par exemple, dans le
cas statique, des réservations peuvent être annulées au dernier moment, ce qui implique
un certain degré de dynamisme tandis que dans le cas dynamique, beaucoup de réserva-
tions sont connues à priori avant la planification [8]. Le problème est alors en général traité
Schedae, 2007, prépublication n° 23, (fascicule n° 2, p. 133-140).
| 135
comme une succession de sous problèmes statiques [9]. Une application dans le contexte
des transports urbains concerne le bus « à la demande » : les clients peuvent donner une
fenêtre de temps au lieu de départ ou au lieu d’arrivée, mais pas les deux en même temps.
Des demandes sont connues par avance et d’autres peuvent arriver pendant le jour même.
Les auteurs ont adopté un algorithme d’insertion qui a donné des résultats intéressants
avec des durées d’exécution courtes [10]. Ce problème est connu sous le nom de DDARP :
Dynamic Dial-A-Ride Problem dans un contexte Many-to-Many ( i.e plusieurs lieux de col-
lectes et de dépôts). Dans [11], le problème de DARP a été traité en ligne en considérant
une flotte de véhicules homogène de capacité unitaire, i.e un véhicule ayant un passager
à bord, ne peut servir un autre passager que s’il est arrivé à la destination du premier. Le
problème de DARP dynamique est étudié d’une façon marginale faute d’applications et
il n’existe pas, à notre connaissance, en version purement dynamique. Le problème qui se
pose dans cet article est original, du fait que les demandes sont traitées en temps réel : nous
traitons un cas purement dynamique. Cette dynamicité vient du fait qu’aucune réservation
ne peut être anticipée. De plus, les techniques classiques supposent d’avoir un central qui
connaît en permanence la position, les trajectoires et les dessertes prévues de toute la flotte
(le central reçoit la demande, choisit le transporteur et l’informe de sa nouvelle trajectoire).
En outre, ces techniques supposent une connaissance parfaite par le central de l’actualité
des véhicules (y compris pauses, pannes, problèmes de communication. . .), ce qui est peu
réaliste. Ajoutons que ce fait peut entraîner des calculs coûteux en temps. Ce qui nous
pousse à adopter une méthode de résolution décentralisée pour faire face à ce genre de
problèmes, et qui pourrait être supportée par de l’informatique embarquée amenée à se
développer de plus en plus.
3 Modèle dynamique proposé
3.1 Description du problèmeLe modèle qu’on va proposer essaie d’arbitrer entre différentes contraintes.
Chaque usager souhaite :
– Être pris rapidement en charge une fois sa demande acceptée ;
– Être amené à destination dans des délais n’excédant « pas trop » le temps minimal
pour aller de leur provenance à leur destination ;
– ne pas voir son temps de transport augmenter trop brutalement (écarts trop mani-
festes par rapport à sa perception d’un bon itinéraire, demi-tours. . .).
Pour chaque véhicule, les transporteurs essaient :
– D’optimiser le taux de remplissage en dérivant d’un itinéraire déjà planifié pour pren-
dre en charge une nouvelle demande ;
– De prendre en charge l’évolution de la charge du trafic et surtout les événements
inattendus (accident, route bouchée, nouvelle route) et historiques : le système doit
avoir une capacité d’apprentissage ;
– De négocier avec les autres véhicules afin de choisir celui qui est le mieux positionné
pour servir une nouvelle demande.
Pour l’ensemble, le système s’efforce d’apparier au mieux usagers et transporteur en arbi-
trant et ajustant les contraintes précédentes. Le système n’est pas centralisé en un serveur
ou assimilé, mais émergeant de la flotte des véhicules.
Nous proposons une approche agentifiée. Le système est composé des agents suivants :
agent Véhicule, agent Interface et agent Client. Le scénario d’exécution est décrit comme suit :
un usager se connecte au système via un support donné (central d’appel, serveur Web. . .),
il est alors instancié par un agent Client qui a pour fonction de le représenter au sein du
Schedae, 2007, prépublication n° 23, (fascicule n° 2, p. 133-140).
136 |
système. L’utilisateur désigne son point de départ et son point d’arrivée comme indiqué
précédemment. Ces informations seront traduites en des données convenables à l’ontolo-
gie du service. Ainsi, l’agent Client entre en interaction avec l’agent Interface (voir figure 2). Ce
dernier, diffuse la demande de l’usager aux agents Véhicules situés dans un environnement
qui est modélisé dans la section suivante. Ce qui diffère dans notre modèle des systèmes
Fig. 2: Diagramme UML montrant la séquence d’interactions entre les acteurs du système.
de TAD dynamiques existants, c’est que les demandes ne sont pas traitées par lot mais en
« temps réel ».
3.2 Modélisation de l’environnementNous représentons le réseau urbain par un graphe dynamique G(t) = (V (t), E(t)) orienté
et pondéré où V (t) est l’ensemble de nœuds et E(t) l’ensemble des arcs :
– Les nœuds de ce graphe représentent des lieux topologiquement intéressants du
réseau : intersections, gares, cinémas, centre commerciaux. . .
– Les arcs représentent les voies empruntables par les véhicules menant d’un lieu à
l’autre ;
– La valuation des arcs représente le temps nécessaire au franchissement de celui-ci,
vue la charge actuelle du trafic ;
– La dynamique porte sur la valuation des arcs, qui est susceptible d’évoluer dans le
temps, en fonction de l’évolution de la fluidité de la circulation par exemple. La dy-
namique pourrait également s’étendre ultérieurement à l’existence des sommets et
des arcs.
Les usagers sont attribués à un sommet ou à un transporteur. Ces derniers sont sur des
sommets ou des arcs. La taille des populations d’usagers et de transporteurs sont variables
au cours du temps, pour simuler au minimum un mécanisme jour/nuit par exemple. Une
fois un modèle temporel de la population d’usagers établi, la population de transporteurs
doit être établie en fonction, afin d’avoir un taux moyen d’occupation satisfaisant.
3.3 Offres et choix dynamiquesNotre modèle est basé sur deux phases simultanées, une phase d’offres et une phase de
choix. On cherche à établir un accord entre les propositions de transport et les intérêts du
client. Un élément clef du système est l’appariement entre transporteur et usager. Quel est
le meilleur transporteur pour une demande donnée ? Qui le détermine et comment ? Com-
ment le transporteur sait-il qu’il a été choisi ? Ces questions ne sont d’ailleurs pas indépen-
dantes : si par exemple le transporteur a pu déterminer lui-même qu’il était le meilleur, la
question de le mettre au courant ne se pose même pas. Le transporteur qui correspondra
Schedae, 2007, prépublication n° 23, (fascicule n° 2, p. 133-140).
| 137
à l’usager sera choisi en essayant de minimiser l’effort supplémentaire 4C pour le trans-
porteur. Pour connaître cet effort supplémentaire, on calcule la longueur (en temps) de l’it-
inéraire actuel (le coût) d’une part, celle de l’itinéraire pour décharger les actuels passagers
plus la prise et la desserte de l’usager ayant fait une demande d’une autre part, et on sous-
trait la première à la seconde. Cette différence est l’effort supplémentaire ou surcoût.
Déterminer le transporteur choisi consiste alors à sélectionner celui de moindre surcoût
parmi ceux que prendre en charge le nouveau demandeur n’obligerait pas à bafouer la date
limite de desserte d’au moins un usager déjà embarqué. la demande est diffusée à tous les
transporteurs. Ceux-ci calculent alors chacun leurs surcoûts qu’ils diffusent à tous. Ils ordon-
nent les réponses reçues puis diffusent la tête de liste. Le vainqueur déterminé par chaque
transporteur est celui qui aura été le plus souvent classé premier dans les réponses reçues.
Ce vainqueur gagne le nouvel usager. Idéalement on pourrait se dispenser de ces dernières
étapes : si la diffusion est parfaite, tous les transporteurs obtiendront directement le bon
classement. Mais c’est parce qu’en réalité la diffusion ne sera pas parfaite qu’on procède
à cette étape supplémentaire, pour être sûr que tous les transporteurs soient d’accord sur
qui prendra le passager.
3.4 Algorithme d’ordonnancementLes agents véhicules effectuent le travail principal de planification par évaluation de l’in-
sertion d’un voyage (source et destination) de telle façon à respecter le plus possible les
échéances des passagers existants dans les véhicules. La politique d’insertion est similaire
à ADARTW [12]. Pour chaque véhicule, un bloc d’ordonnancement commence toujours par
le premier client sur son chemin et se termine quand le dernier client arrive à destination.
La figure suivante illustre l’ajout d’un client dans un bloc d’ordonnancement d’un véhicule
contenant déjà trois clients (C1, C2, C3) dont l’itinéraire est déjà planifié. Chacun a un lieu
de départ (+) et de destination (-). À un bloc relatif à un véhicule et contenant déjà n clients,
Fig. 3: Heuristique d’insertion.
correspond k = 2n arrêts (prise en charge et dépôt) et il y a (k + 1)(k + 2)/2 possibilités
d’insertion en admettant qu’une prise en charge d’un client doit précéder son dépôt.
La complexité dépend de l’algorithme choisi pour déterminer les plus courts chemins d’un
sommet à un autre - nous avons considéré l’algorithme de Djikstra (O(m + log(n)) pour m
arcs et n nœuds). Elle dépend également de l’heuristique d’insertion qui pour un véhicule de
capacité Qv nous donne dans le pire des cas un coefficient multiplicateur de Qv(2Qv − 1)2.
La fonction objectif MinZ = 4C mesure le surcoût minimal dû à l’insertion d’un nou-
veau client. Pour le terme 4C, plusieurs variables ont été considérées : temps supplémen-
taire, capacité actuelle, proximité du client. Si deux ou plusieurs véhicules ont la même
valeur du surcoût pour un même client à un instant t, celui qui a la capacité minimale doit
prendre en charge ce client. S’ils ont aussi la même capacité, celui qui est plus proche (en
distance) va ramener le client.
Schedae, 2007, prépublication n° 23, (fascicule n° 2, p. 133-140).
138 |
3.5 Auto-organisationLa nature dynamique et non déterministe du problème peut conduire à des concentrations
de l’offre dans certaines zones plus attractives et de ce fait à la création de zones de famines.
En effet le centre-ville sera par exemple une zone d’attraction forte à certaines heures de
la journée alors que certaines zones périurbaines dîtes dortoirs seront délaissées. Le temps
d’attente dans une telle zone sera alors très important, nous avons donc choisi d’éventuelle-
ment dégrader les performances dans les zones attractives et d’avoir une meilleure couver-
ture du domaine par la flotte de véhicules afin d’éviter des zones orphelines.
Fig. 4: Attraction des zones.
On définit donc des zones d’attraction au sein du graphe auxquelles les véhicules sont
rattachées, ces zones peuvent évoluer par la suite soit au niveau de leur couverture du
graphe, soit au niveau du nombre de véhicules rattachés.
Lorsqu’un véhicule quitte sa zone il est pénalisé dans une fonction de coût qui joue
comme une force de rappel exercée par un ressort accroché à sa zone (voir figure 4). Si
le véhicule n’est plus dans la couverture géographique de sa zone, il a la possibilité de
négocier un changement de zone de rattachement avec d’autres. Par exemple, dans la
figure 4, les véhicules V1 et V2 échangent leur zone. Cette partie de la modélisation est en
cours d’implémentation.
4 Simulation
L’architecture multi-agent proposée a été développée en utilisant la plateforme d’agent
REPAST Simphony (Recursive Porus Agent Simulation Toolkit) écrite en Java [13]. Cette
plateforme développée par l’université de Chicago, hérite le principe de fonctionnement
de la plateforme SWARM.
Comme déjà cité avant, le calcul de surcoût vis à vis d’une nouvelle demande se fait au
niveau des véhicules. À un pas de temps, chaque véhicule reçoit une demande (s’il y en a),
collecte les réponses (surcoût des autres véhicules) et compare les surcoûts pour savoir
s’il est le mieux placé, puis met au courant l’ensemble du système (demandeur, central et
véhicule) avant d’aller à la recherche du demandeur. Dans le cas où il ne reçoit pas la totalité
des offres, un véhicule attend un certain délai pour réagir s’il aperçoit qu’il est le vainqueur
actuel de l’offre. Toutefois, le fait d’informer les autres avant de répondre à une demande
peut éviter que deux véhicules répondent à la même demande positivement.
Schedae, 2007, prépublication n° 23, (fascicule n° 2, p. 133-140).
| 139
Algorithme 1: Comportement de la flotte lors d’un pas de simulation.
pour chaque véhicule v ∈ flotte faire
tant que non fin de tournée faire
message = consultation de boîte à lettre;
si message! = vide alors
si message ∈ demande_client alors
calcul surcoût selon ADARTW pour effectuer l’insertion temporaire du
client dans le trajet;
diffuser surcoût ;sinon
si message ∈ surcoût alors
classer les surcoûts pour le client;
si tous les surcoûts sont arrivés ou timeout déclenché alors
vainqueur = tête (liste des surcoûts);
diffuser le vainqueur;
sinon
si message ∈ un vainqueur alors
si tous les vainqueurs sont arrivés ou timeout déclenché alors
gagnant = vainqueur le plus souvent cité;
si gagnant == v alors
modifier itinéraire;
avancer d’un pas sur l’itinéraire prévu
5 Premiers résultats
Nous avons effectué les premières simulations des fonctionnalités de base de notre modèle
sur un graphe à 50 sommets, sur 7200 pas de temps, avec des véhicules à 4 places. Les clients
apparaissent à des lieux et heures aléatoires, avec des destinations aléatoires.
Dans le tableau 1, la colonne coût optimal indique le temps total minimal obtenu à l’aide du
plus court chemin pour emmener tous les clients de leur lieu de prise en charge jusqu’à leur
destination. La colonne Coût réel indique le temps effectivement mis en prenant en compte
la contrainte de remplissage. Écart est le pourcentage de différence entre les deux coûts.
Remplissage indique sommairement entre quelle et quelle valeur a oscillé le remplissage.
Nbvéhicules
Nb clients Coût optimalen temps
Coût réelen temps
Écart Remplissage
4 225 4422 5693 22% 0–>46 225 4575 5628 16% 0–>48 225 4708 5475 14% 0–>3
Tab. 1: Quelques résultats de simulation.
L’écart est déjà intéressant, car plutôt faible, mais la simulation doit être raffinée :modèle
probabiliste plus fin pour la population d’usager, meilleures statistiques pour le remplissage
etc. Les autres fonctionnalités dumodèle (auto-organisation) doivent être implémentés. Ces
premiers résultats sont néanmoins encourageants.
Schedae, 2007, prépublication n° 23, (fascicule n° 2, p. 133-140).
140 |
6 Conclusion et perspectives
Dans cet article, nous avons présenté un système de transport à la demande purement dy-
namique dans un environnement en changement perpétuel. Pour cela, nous avons adopté
une approche décentralisée basée sur l’optimisation et la négociation entre les véhicules.
Pour faire face aux zones de famine ou, au contraire, de concentration de véhicules dans
certaines régions, nous avons proposé un modèle d’auto-organisation pouvant s’adapter
aux changements environnementaux (pannes, demandes clients. . .). Les premiers résultats
sont encourageants et la phase d’auto-organisation est en cours de développement. Il nous
reste à compléter notre travail par la validation complète du modèle proposé.
Références[1] N. Christofides, A. Mingozzi, and P. Toth. The vehicle routing problem. In Combinatorial Opti-
mization, volume 11, pages 315–338. John Wiley, 1979.
[2] J. Lenstra and A. H. G. Rinnooy Kan. Complexity of the vehicle routing and scheduling problems.
In Networks, volume 11, pages 221–228. Springer, 1981.
[3] G. Laporte, M. Gendreau, J.-Y. Potvin, and F. Semet. Classical andmodern heuristics for the vehicle
routing problem. International Transactions in Operational Research, 7 :285–300, 1999.
[4] A. Larsen. The dynamic vehicle routing problem. PhD thesis, Technical University of Denmark,
2000.
[5] Jaroslaw Kozlak, Jean-Charles Créput, Vincent Hilaire, and Abder Koukam. Multi-agent approach
to dynamic pick-up and delivery problem with uncertain knowledge about future transport de-
mands. Fundam. Inf., 71(1) :27–36, 2006.
[6] S. O. Krumke,W. E. de Paepe, D. Poensgen,M. Lipmann, A.Marchetti-Spaccamela, and L. Stougie.
OnMinimizing the Maximum Flow Time in the Online Dial-a-Ride Problem, volume 3879. Springer
Berlin / Heidelberg, 2006.
[7] D. Hauptmeier, S. O. Krumke, and J. Rambau. The online dial-a-ride problem under reasonable
load, in Proceedings of the 4th Italian Conference on Algorithms and Complexity, volume 1767.
Springer, 2000.
[8] Andrea Attanasio, Jean-François Cordeau, Gianpaolo Ghiani, and Gilbert Laporte. Parallel tabu
search heuristics for the dynamic multi-vehicle dial-a-ride problem. Parallel Comput., 30(3) :377–
387, 2004.
[9] Jean-François Cordeau, Gilbert Laporte, Jean-Yves Potvin, and Martin W.P. Savelsbergh. Trans-
portation on demand. Handbooks in Operations Research and Management Science, 2004.
[10] O. B. G. Madsen, H. F. Ravn, and J. M. Rygaard. A heuristic algorithm for the a dial-a-ride problem
with time windows, multiple capacities, and multiple objectives. Annals of Operations Research,
60 :193–208, 1995.
[11] M. Lipmann, X. Lu, W.E. de Paepe, R.A. Sitters, and L. Stougie. On-line dial-a-ride problems under
a restricted information model. In Algorithmica, volume 40, pages 319–329. Springer, 2004.
[12] J. J. Jaw, Odoni A. R., Psaraftis H. N., andWilsonN. H.M. A heuristic algorithm for themulti-vehicle
many-to-many advance request dial-a-ride problem with time windows. Pergamon Journals Ltd.,
20B(3) :243–257, 1986.
[13] M.J. North, T.R. Howe, N.T. Collier, and R.J. Vos. The repast simphony runtime system. In Agent
2005 Conference on Generative Social Processes, Models, and Mechanisms, Argonne National
Laboratory, Argonne, IL USA, 2005.
Schedae, 2007, prépublication n° 23, (fascicule n° 2, p. 133-140).
| 141
Prépublication n° 24 | Fascicule n° 2
Vers un contrat d’autonomieentre agents et opérateurs
Stéphane MercierOnera - Supaéro
Résumé :
Dans le cadre de la supervision de mission d’un agent artificiel par un opérateur humain, la ques-
tion du partage des rôles et de l’autorité est une problématique avérée. Nous présentons les
grandes lignes d’une nouvelle façon d’aborder ce sujet, par la passation d’un contrat d’autonomie
entre les entités en présence. L’autonomie étant vue comme une relation, le contrat permet à
l’opérateur de formaliser ses attentes en termes de permissions et obligations sans qu’il ait besoin
de les réexprimer explicitement en mission. Ce contrat est fondé sur un ensemble restreint de
paramètres de haut niveau, les compétences, permettant de décrire les capacités que l’opérateur
reconnaît à l’agent, définissant également les interactions entre eux selon les situations.
Mots-clés : autonomie adaptative, contrat d’autonomie, partage d’autorité, supervision.
1 Introduction
L’autonomie est une propriété abstraite qui caractérise une personne, un agent, un système,
et qui semble particulièrement difficile à définir. Il suffit de passer en revue la littérature
pour se rendre compte de la variété des interprétations de ce terme. L’autonomie renvoyant
directement à des notions aussi vastes et indéfinies que sont la prise de décision, l’initiative,
la liberté d’action, on prend rapidement la mesure de la difficulté de l’expliciter formelle-
ment ; il serait ainsi prétentieux d’essayer d’en donner une définition absolue. Cependant,
dans un cadre bien identifié, il est possible d’en cerner les caractéristiques fondamentales
afin d’en dégager les aspects opérationnels.
Nous nous plaçons dans le cadre de la supervision d’un ou plusieurs agents artificiels
par un opérateur humain. Cette problématique regroupe nombre de systèmes depuis les
agents logiciels effectuant une tâche sur Internet pour le compte d’un utilisateur donné au
contrôle de véhicules dits « autonomes », commandés à distance pour effectuer unemission.
De manière à pouvoir délester l’opérateur de certaines tâches, et permettre une meilleure
réactivité des agents avec lesquels la communication est parfois difficile, on souhaite rendre
Stéphane Mercier« Vers un contrat d’autonomie entre agents et opérateurs »
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
142 |
ces agents plus autonomes, tout en maintenant, voire en améliorant, les performances du
système « agent + opérateur ».
Nous aborderons l’autonomie considérée par l’opérateur, c’est-à-dire la manière dont
l’autonomie des agents est définie par rapport à celui-ci, et sous quelles conditions elle
pourrait être amenée à varier afin de s’adapter au mieux à ses exigences.
2 Autonomie : contexte et objectifs
2.1 L’autonomie : une relation entre entitésL’autonomie d’un agent artificiel est un concept par essence difficile à appréhender, en
particulier dès que l’on considère qu’elle requiert une certaine liberté décisionnelle voire
une « libre volonté » [1] ou même un comportement imprévisible [2].
Cependant il est possible d’en dégager certaines caractéristiques opérationnelles.
[3] proposent tout d’abord de la considérer en tant que relation entre plusieurs entités
et portant sur un objet, par exemple un but. L’autonomie s’écrit alors sous la forme d’un
triplet (X, µ, Z), X étant le sujet (correspondant à l’agent dans notre étude), µ une décision
/ action / but, Z le sujet secondaire évaluant l’autonomie, c’est-à-dire ici l’opérateur. Sur le
même principe, [4] conservent l’autonomie comme une notion relationnelle en l’étendant,
ajoutant le groupe des influençants ainsi qu’une mesure de performance. Les influençants
regroupent les autres agents pouvant altérer l’autonomie du sujet considéré, ce qui inclut
l’opérateur. La mesure de performance est déterminée par ce dernier, définissant les objec-
tifs à atteindre ainsi que la métrique de performances associée. On note toutefois que ces
travaux représentent dans leur ensemble des considérations de haut niveau et s’appliquent
à des agents supposés idéaux, au comportement parfaitement modélisé.
Dans le cadre plus précis du contrôle d’un agent évoluant dans le monde physique et
supervisé par un opérateur humain, l’autonomie se caractérise principalement par la capa-
cité d’un agent à minimiser le besoin de supervision et à évoluer seul dans le monde réel [5].
En conservant le principe d’une relation entre l’opérateur et l’agent, on constate ainsi que
l’autonomie pure n’est qu’un cas extrême, consistant précisément à réduire cette relation à
son minimum.
Cependant, dans la pratique, les objectifs d’une mission ne peuvent pas toujours être
atteints de façon purement autonome et l’intervention de l’opérateur est nécessaire.
[6] illustrent ce point en rapprochant le temps pendant lequel un engin peut agir sans inter-
vention de l’opérateur et ses performances sur le terrain : il apparaît clairement que celles-ci
déclinent rapidement lorsque l’engin est négligé par son opérateur, soulignant le besoin de
conserver des interactions régulières entre les deux.
2.2 La variabilité de l’autonomieComment peut-on faire varier l’autonomie d’un agent ? Et tout d’abord, peut-on identifier
des niveaux intermédiaires entre un mode de téléopération pure et une autonomie totale ?
[7] proposent dès 1978 une classification de l’autonomie opérationnelle (« automation »)
d’un système sur dix niveaux. Cemodèle reste abstrait et ne tient pas compte de la complex-
ité de l’environnement dans lequel évolue l’agent, ni du contexte de mission. Cependant,
l’automation / autonomie est vue selon les différents modes d’interactions entre l’agent
et l’opérateur, ce qui correspond bien à la définition de l’autonomie comme une relation
entre les entités. Sur ce même principe ont été données d’autres classifications (citons entre
autres [8]).
D’autres approches cherchent à évaluer l’autonomie d’un agent sur un type de mission
identifié, citons entre autres MAP [9], ACL [1] ou encore Alfus [10]. Cette dernière propose
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
| 143
d’évaluer l’autonomie suivant trois dimensions : complexité de mission, difficulté environ-
nementale et interface avec l’humain. Cette méthode souhaitée comme objective néces-
site cependant sur chaque axe d’agréger les résultats d’un grand nombre de métriques
hétérogènes, ce qui pose le problème de la pertinence du résultat. De plus, il est néces-
saire de passer par une étape qualitative, que ce soit pour définir formellement les niveaux
d’autonomie (cas de MAP et ACL) ou, dans le cas d’une évaluation chiffrée comme Alfus,
pour pondérer les tâches de la mission suivant leur importance.
L’idée que l’autonomie, tout au moins d’un point de vue opérationnel, peut être gra-
duée, sous-tend le concept d’autonomie ajustable qui part du principe que les capacités des
machines et des humains peuvent être complémentaires pour obtenir de meilleures perfor-
mances [11]. Un agent physique est ainsi capable de fonctionner suivant différents niveaux
d’autonomie préétablis et de basculer de l’un à l’autre si besoin, un niveau étant caractérisé
par la complexité des commandes traitées, ou la capacité à fonctionner un certain temps
indépendamment de l’opérateur [12, 6]. La principale limitation actuelle de ces approches
est l’attribution figée du rôle des entités pour chaque niveau, ainsi que le nombre restreint
des niveaux. Il nous semble que l’utilisation de niveaux prédéfinis ne peut rendre compte
de la variété des situations rencontrées en mission par un agent, sans parler des problèmes
apparaissant lors du basculement d’un niveau à un autre. De plus, les interactions entre
l’agent et l’opérateur sont de fait déterminées et codifiées selon le niveau d’autonomie, il
n’y a pas de partage fin possible des tâches et des responsabilités.
Afin d’introduire plus de flexibilité, [13] font ainsi la distinction entre l’autonomie ajus-
table, dans laquelle l’opérateur choisit les modes de fonctionnement du robot, de l’auto-
nomie adaptative, dans laquelle c’est le robot lui-même qui détermine le mode qu’il va
utiliser. Suivant ce dernier mode, [14] dotent les agents de capacités d’apprentissage fon-
dées sur des processus décisionnels de Markov (MDP), qui leur permettent de mieux gérer
les demandes d’intervention humaine. Les agents sont ainsi conduits à définir leurs propres
niveaux d’autonomie.
[15] proposent deux modes de partage d’autorité, le SISA (System-Initiative Sliding Au-
tonomy), dans lequel seul le système des agents décide de faire appel à l’opérateur si
besoin, et le MISA (Mixed-Initiative Sliding Autonomy), où l’opérateur peut également dé-
cider d’intervenir à tout moment. Le partage des rôles est réalisé sur la base suivante : toute
tâche peut être assignée à l’homme ou à la machine, suivant leurs capacités. Les auteurs
dotent les robots de modèles empiriques de performance du système ainsi que de l’opéra-
teur, afin qu’ils déterminent quelle entité sera la plus à même de résoudre un problème
donné. Ces modèles sont réalisés en particulier par l’usage de statistiques sur la réussite ou
non de ces mêmes tâches par le passé, suivant l’entité considérée. Les limitations que nous
voyons à cette approche résident dans le fait que la conscience de situation de l’opérateur
n’est pas prise en compte, et s’il doit intervenir rapidement il risque d’en être incapable car
ignorant de ce que réalise l’agent. De plus, l’attribution des tâches suivant des statistiques
(comparaison du nombre de succès de l’opérateur et du robot sur une tâche donnée) ne
tient pas compte du contexte de réalisation : en effet, accomplir une même tâche dans des
conditions différentes ne présente pas forcément les mêmes difficultés. De plus, ce mode
d’attribution statistique ne s’applique pas à des missions en environnement critique, où
l’erreur n’est pas tolérée : la tâche doit être réalisée par celui qui la réalisera de manière
sûre.
[16] se distinguent par la plus forte implication humaine sur le contrôle de l’agent,
présentée comme un « conseil ». Ici, les niveaux d’autonomie ne sont pas définis de manière
fixe mais par l’utilisation d’une norme décrivant les permissions et comportements que
l’opérateur humain veut faire respecter par l’agent. En pratique, l’opérateur crée des règles
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
144 |
du type « En cas d’urgences médicales, consulter l’opérateur sur le choix du site d’évacua-
tion ». Un des principaux problèmes de cette approche est le risque de conflits entre règles.
De plus, cette méthode implique une forme d’« autonomie supervisée » de l’agent, ce qui
lui interdit la possibilité de pouvoir la faire varier de lui-même.
Par contraste, le contrôle collaboratif est une approche cherchant à créer le dialogue
entre l’agent et l’opérateur [17] : l’agent contacte l’opérateur lorsqu’il rencontre une diffi-
culté, afin qu’il lui apporte de l’information supplémentaire. On note que ce choix constitue
de fait une réduction de la panoplie des modes d’interaction disponibles entre l’agent et
son superviseur, le seul mode utilisé étant le dialogue. Les interactions spécifiées ne se font
a priori que sur demande de l’agent, lorsque celui-ci le juge nécessaire.
3 Objectifs des travaux
Dans le cadre du contrôle d’un agent physique (robot, drone) par un opérateur humain,
l’autonomie va être définie selon les critères fixés par ce dernier. Un agent est autonome
pour son opérateur si celui-ci le considère comme tel, ce qui signifie que l’agent est capable
d’effectuer seul ce qui est attendu de lui. Cette notion d’attentes de la part de l’opérateur
est au cœur de la relation entre l’agent et l’opérateur, et il convient de l’expliciter afin de
donner un cadre formel à l’autonomie. Ces attentes sont variées : réaction ou comportement
souhaité de l’agent selon la situation, objectifs à atteindre sous différentes contraintes. . .
Nous cherchons à rendre flexible et dynamique le partage des rôles entre entités : ce
partage doit être fait en fonction des capacités de chacun, s’adapter aux exigences de la
situation (contraintes temporelles et environnementales fluctuantes), et permettre que toute
action soit réalisée à un instant donné par l’entité la plus appropriée. Pour éviter d’avoir à
déterminer en amont de la mission toutes les situations possibles, l’opérateur doit disposer
d’outils de haut niveau pour pouvoir influer sur le comportement décisionnel de son agent.
Enfin, nous cherchons à ce que ce partage des rôles recouvre les différents types d’inter-
actions possibles entre l’opérateur et l’agent, de la simple exécution d’ordres à l’autonomie,
en passant par la supervision, la coopération, l’assistance. Si l’opérateur doit conserver le
contrôle de la mission, l’agent doit pouvoir avoir son influence face à un opérateur humain
qui n’est pas infaillible ou pas toujours correctement informé.
L’étude préliminaire présentée dans cet article définit les grandes lignes de la solution
que nous proposons.
4 Le contrat d’autonomie
4.1 Contrat : définitionDans notre perspective, la mission impliquant l’agent doit clairement être décrite tout
comme le rôle de chacun en fonction des événements. Le partage des tâches entre l’opéra-
teur et l’agent peut être amené à évoluer, et il importe de savoir qui aura la charge de la
prise de décision à un instant donné, de l’agent ou de l’homme qui le supervise. L’ensem-
ble de ces modalités de partage d’autorité constitue le contrat d’autonomie. Établi entre
l’agent et un opérateur conscient des limites de celui-ci, il doit formaliser les différents types
d’interaction entre les entités suivant les tâches et leurs contextes, et ainsi spécifier à quels
moments l’agent pourra être vu comme autonome, et quel est son référentiel pour se posi-
tionner face à l’opérateur.
Pour ce faire, le contrat doit contenir :
– les objectifs de mission ;
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
| 145
– les actions que doit au minimum pouvoir effectuer l’agent pour parvenir à accomplir
ces objectifs ;
– les capacités de l’agent, une capacité étant une aptitude à réaliser une action bien
identifiée, pour laquelle l’agent a été conçu et qu’il est normalement à même de
réaliser en utilisant les algorithmes implémentés ;
– pour chaque capacité de l’agent, les facteurs affectant directement les performances
de l’agent sur la réalisation des actions associées et les métriques permettant d’éva-
luer la sensibilité de l’agent à ces paramètres ; ces facteurs doivent inclure les condi-
tions de ressources (matérielles, temporelles, communication, etc.) nécessaires pour
mener à bien l’action. Il s’agit d’évaluer a priori le succès de l’action ;
– les contraintes attendues au cours de la mission (temporelles, environnementales,
sociales, ressources. . .) ;
– un système de classification des capacités de l’agent suivant des catégories définies
par l’opérateur, les « compétences », lui permettant de distinguer des ensembles de
capacités entre elles ;
– une note donnée à l’agent sur chacune de ces compétences : l’opérateur « reconnaît »
un niveau de compétence à son agent pour chaque catégorie de capacités.
4.2 Qualification des actionsAfin de pouvoir faire le rapprochement entre les compétences d’un agent et ce qui lui est
demandé au cours d’une mission, le contrat d’autonomie impose de recenser :
– les actions considérées comme primordiales pour la réalisation de la mission ;
– les capacités de l’agent, qui expriment ce pour quoi il a été prévu.
Cette première étape permet de mettre en lumière l’adéquation de l’agent par rapport
à sa mission, tout au moins sa couverture de la mission par rapport à ce qu’il est théorique-
ment possible d’attendre de lui. C’est en effet en partant des capacités dont dispose l’agent
que le processus de planification construit des suites d’actions à réaliser afin d’accomplir
un but, déterminant ainsi les objectifs que l’agent peut atteindre ou non.
Catégoriesd’actionscomposant lamission
Rôle de l’agent /opérateur
Types d’interactions agent- opérateur
Décideur (au seinde l’action)
Actions connueset réalisablespar l’agent seul
Remplaçant Autonomie (agent) AgentSupervision (opérateur)
Actions connuespar l’agentnon réalisablespar l’agent seul
Partenaire Coopération Agent et Opéra-teur
Assistance (par agent)Opérateur
Actions in-connues del’agent
Exécutant Téléopération
Tab. 1: Classement des actions de la mission et relation agent - opérateur.
Suivant [8], en partant du champ des possibles englobant toutes les actions envisa-
geables par un agent, on distingue les actions réalisables et celles réalisables de manière
autonome. Nous proposons de revoir cette classification en considérant les actions non pas
au niveau de l’agent, mais au niveau de la mission (voir tableau 1) : on distingue alors, parmi
les actions nécessaires à l’accomplissement de la mission, celles qui sont inconnues de l’a-
gent, c’est-à-dire dont il ignore totalement l’existence, de celles qui sont connues, celles
dont il a connaissance des objectifs et des conséquences. Enfin, parmi ces actions connues,
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
146 |
on sépare celles que l’agent peut réaliser seul, c’est-à-dire dont il possède toutes les ca-
pacités pour les réaliser, de celles qu’il ne peut accomplir seul, c’est-à-dire qui nécessitent
l’appel à l’opérateur ou à une entité extérieure pour les réaliser.
On peut rapprocher une telle qualification sur les rôles de [18], qui distinguent trois
types de relations entre des agents : commandé, consensus authentique (le contrôle de la
prise de décision est partagé), et localement autonome.
Cette qualification des actions est réalisée a priori, avant le début de la mission ; elle
permet d’identifier les modes d’interaction entre l’agent et l’opérateur associés à chaque
action.
4.3 Évaluation « a priori » des capacitésAfin de définir clairement le partage des rôles et de l’autorité entre agent et opérateur
au fil de la mission, le contrat doit permettre à l’agent de se positionner en termes de
capacités à un instant donné : suis-je capable d’effectuer cette action et de la mener à son
terme ? L’opérateur peut contrôler ce que réalise son agent, mais cela lui demande de le
surveiller en permanence, ce qui représente une charge de travail importante. Si l’agent
possède des moyens d’anticipation et d’évaluation de ses propres capacités, cela peut lui
éviter de lui-même de s’engager dans des actions vouées à l’échec. On peut rapprocher
cela d’un haut niveau de conscience de soi dans les travaux de [19], qui définissent cette
dernière pour un agent comme la connaissance de ses capacités et l’évaluation de ses
propres comportements en fonction de l’environnement.
C’est pour répondre à cette problématique que le contrat requiert, pour chaque ca-
pacité de l’agent, de l’accompagner de données précisant les conditions initiales appro-
priées pour réaliser les actions associées, tout aumoins de recenser les paramètres identifiés
comme affectant directement les performances de l’agent pour une action. Ces paramètres
concernent aussi bien la disponibilité de certaines ressources internes que les facteurs ex-
ternes influant sur l’état de l’agent. Pour compléter cela, le contrat demande d’y asso-
cier des méthodes de prévision du succès d’une action, connaissant les paramètres men-
tionnés précédemment. Par exemple, imaginons le cas d’un agent robotique volant, un
drone, disposant d’un algorithme d’interprétation d’images destiné à identifier des sites
possibles d’atterrissage, il s’agit d’une capacité de l’agent. Il se peut que les conditions
météo affectent les performances de cet algorithme, mais plutôt que de mesurer tous les
paramètres météo imaginables, une mesure du contraste de l’image permet de renseigner
l’agent sur les chances de succès de l’algorithme. L’agent aura par la suite le choix d’en
référer à l’opérateur ou bien de mettre en œuvre l’algorithme et ainsi exécuter l’action,
mais disposant de l’évaluation du succès de l’action, il agira en connaissance de cause.
Précédant toute prise de décision, il y a ainsi une étape importante d’évaluation des
différentes options disponibles, sachant qu’une action susceptible d’être réalisée peut elle-
même être composée d’un ensemble d’actions, toutes à évaluer. Ceci représente un véri-
table coût en calcul qu’il ne faut pas négliger. Cela implique de plus que l’agent dispose
des moyens de percevoir et évaluer les facteurs influençant la réalisation d’actions qu’il est
capable d’accomplir. Enfin, s’il s’avère qu’une action ne peut être classée en temps voulu
comme vouée au succès ou à l’échec, l’indécision doit être aussi considérée comme un
résultat.
4.4 Définition de l’enveloppe de liberté décisionnelleL’opérateur va définir la liberté de décision qu’il accorde à son agent, afin de lui permettre
de se positionner de façon dynamique en mission. L’opérateur doit ainsi communiquer à
l’agent ce qu’il lui autorise, interdit ou impose, en tenant compte de toutes les conditions
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
| 147
qu’il est possible de rencontrer. Il apparaît immédiatement que le nombre de règles à fournir
à l’agent est colossal, sans parler du risque d’oubli de certains cas. On cherche ainsi un outil
permettant de générer ces règles à partir d’un nombre restreint de paramètres à haut niveau
d’abstraction, qui resteraient pour autant intelligibles à l’opérateur.
Pour répondre à ce problème, nous avançons l’idée de classer toutes les capacités de
l’agent suivant un système de compétences : une compétence est une classe de capacités
partageant une caractéristique commune définie selon les critères de l’opérateur. L’opéra-
teur peut ainsi poser des similarités de haut niveau comme la compétence de pilotage, ou
de perception. Les capacités au sein d’une compétence n’ont pas obligatoirement la même
finalité, et une capacité peut appartenir à plusieurs compétences simultanément. Enfin, le
choix de compétences n’est pas unique, il dépend de la mission, de l’opérateur. Leur nom-
bre est lié à la finesse du contrôle souhaité, tout en permettant à l’opérateur de pouvoir
interagir facilement avec l’agent.
Dans un deuxième temps, l’opérateur attribue à l’agent un niveau sur chacune des com-
pétences, de par sa connaissance de l’agent ou son expérience avec lui ; cette note peut
par ailleurs être modifiée au cours du temps, et constitue le seul référentiel pour l’agent
en mission des préférences / exigences de l’opérateur. Chacune de ces notes définit un
seuil d’autorisation à l’agent pour l’exécution des capacités classées dans la compétence
évaluée : une capacité évaluée en terme de succès de réalisation en dessous de ce seuil
sera interdite par l’opérateur à l’exécution.
Développons ces concepts sur un exemple, en reprenant l’algorithme de recherche de
sites d’atterrissage par interprétation d’images. L’agent, en vol, a pour mission de se poser
en endroit sûr et dispose notamment de cet algorithme (couplé à une caméra de préci-
sion) parmi ses capacités. L’algorithme d’interprétation d’images pour la recherche de sites
d’atterrissage a été classé par l’opérateur avant la mission parmi les compétences de per-
ception visuelle, de traitement d’images et d’atterrissage.
Fig. 1: Classification de la capacité de recherche de sites d’atterrissage.
La réalisation d’une action d’interprétation d’image est conditionnée par les niveaux de
compétences attribués par l’opérateur ainsi que l’évaluation a priori de la capacité corre-
spondante au moment de la prise de décision.
Évaluation en missionde la capacité « Trouversite atterrissage »
Compétences, niveaux de compétence et seuils associésPerception :Bon (50%)
Traitement image :Moyen (75%)
Atterrissage :Mauvais (100%)
40% Non autorisé Non autorisé Non autorisé70% Autorisé Non autorisé Non autorisé90% Autorisé Autorisé Non autorisé
Tab. 2: Autorisation ou non à l’exécution de la capacité « Trouver site atterrissage ».
Sur l’exemple, l’opérateur a reconnu l’agent comme « bon » sur la compétence de per-
ception, ce qui est associé à un seuil de 50%. Ainsi, pour toute capacité étant évaluée en
mission à plus de 50% en terme de succès, elle sera déclarée comme autorisée, mais sur
cette compétence uniquement. La capacité « Trouver site atterrissage » étant également
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
148 |
classée parmi les compétences de traitement d’image et d’atterrissage, son évaluation de-
vra être rapportée aux seuils présents sur celles-ci pour déterminer son autorisation globale.
Le système de notation du niveau de compétences (bon / moyen / mauvais) tout comme
sa relation avec les niveaux de seuil d’évaluation de succès correspondants sont dans cet
exemple très simples et semblables d’une compétence à une autre, mais pourraient être
plus élaborés : notations différentes suivant les compétences, autorisations conditionnées
par l’évaluation des autres capacités utilisées dans le plan, etc.
Les compétences conjuguent ainsi leurs effets sur l’espace de décision de l’agent. Cela
détermine l’enveloppe de « liberté décisionnelle » que l’opérateur a définie : l’agent a ainsi
à disposition en permanence une représentation dynamique des préférences et exigences
de celui-ci, afin de se positionner dans la prise de décision.
L’effet des compétences s’applique également sur les interactions entre entités, en for-
malisant la relation entre les décisions que prend l’agent et les actions de communication
et coordination qu’il doit entretenir. Ainsi, l’agent peut être tenu d’en référer à l’opérateur
lorsqu’il choisit de réaliser une action, de façon à ce que celui-ci puisse le superviser s’il
juge que l’agent n’est pas assez capable sur ce point. De même, la notion de compétence
permet d’interdire complètement l’accès de l’agent à certaines actions, en particulier si leur
évaluation en fonction des facteurs environnementaux est mauvaise.
Les niveaux de compétence, conjugués aux évaluations de succès des actions, revien-
nent à ajouter aux mécanismes de décision de l’agent des règles de sélection et d’associa-
tion des actions, ceci afin de refléter dans les décisions prises les exigences de l’opérateur,
ce qui borne l’autonomie de l’agent.
5 Conclusion
Afin de permettre un partage des rôles dynamique et défini de manière fine entre un opéra-
teur et un agent physique, nous proposons l’établissement d’un contrat d’autonomie entre
les deux entités : par la formalisation des besoins de la mission et la reconnaissance par
l’opérateur des capacités de l’agent sur un nombre restreint de compétences, et grâce à une
évaluation réalisée par l’agent en cours de mission des chances de succès de ses actions, ce
contrat permet de recouvrir un grand nombre des situations rencontrées en mission. Ceci
définit les grandes lignes d’une approche pour réaliser un partage d’autorité adaptatif et
allouer un maximum d’autonomie à l’agent lorsque la situation le permet, les exigences
de l’opérateur étant définies dans le contrat et appliquées en mission à un haut niveau
d’abstraction. Les travaux à venir concernent la formalisation des concepts de compétence
et d’évaluation des actions en mission.
Références[1] B. T. Clough. Metrics, schmetrics ! how the heck do you determine a uav’s autonomy anyway ? In
Proceedings of the Performance Metrics for Intelligent Systems Workshop, Gaithersburg, Marylan,
2002.
[2] L. Steels. When are robots intelligent autonomous agents ? Journal of Robotics and Autonomous
Systems, pages 15 :3–9, 1995.
[3] C. Castelfranchi and R. Falcone. From automaticity to autonomy : the frontier of artificial agents.
In Agent Autonomy [20], chapter 6.
[4] S. Brainov and H. Hexmoor. Quantifying relative autonomy in multiagent interaction. In Agent
Autonomy [20], chapter 4.
[5] D. Schreckenghost, D. Ryan, C. Thronesbery, P. Bonasso, and D. Poirot. Intelligent control of life
support systems for space habitat. In Proceedings of the AAAI-IAAI Conference, July 1998.
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
| 149
[6] M. Goodrich, J. Crandall, and J. Stimpson. Neglect tolerant teaming : Issues and dilemnas. In
Proceedings of the AAAI Spring Symposium on Human Interaction with Autonomous Systems in
Complex Environments, 2003.
[7] T.B. Sheridan and W.L. Verplank. Human and computer control of undersea teleoperators. Tech-
nical report, MIT Man-Machine Systems Laboratory, Cambridge, MA, 1978.
[8] J.M. Bradshaw, M. Sierhuis, A. Acquisti, R. Feltovich, R. Hoffman, R. Jeffers, D. Prescott, N. Suri,
A. Uszok, and R. Van Hoof. Adjustable autonomy and human-agent teamwork in practice : An
interim report on space application. In Agent Autonomy [20], chapter 11.
[9] B. Hasslacher and M. W. Tilden. Living machines. Los Alamos National Laboratory, 1995.
[10] H. Huang, K. Pavek, B. Novak, J. Albus, and E. Messin. A framework for autonomy levels for
unmanned systems (alfus). In Proceedings of the AUVSI’s Unmanned Systems North America 2005,
Baltimore, Maryland, June 2005.
[11] D. Kortenkamp, P. Bonasso, D. Ryan, and D. Schreckenghost. Traded control with autonomous
robots as mixed initiative interaction. InAAAI-97 Spring Symposium onMixed Initiative Interaction,
March 1997.
[12] G. Dorais, P. Bonasso, D. Kortenkamp, B. Pell, and D. Schreckenghost. Adjustable autonomy for
human-centered autonomous systems. In IJCAI’99 Workshop on Adjustable Autonomy Systems,
Stockholm, Sweden, 1999.
[13] M. Goodrich, T. McLain, J. Crandall, J. Anderson, and J. Sun. Managing autonomy in robot teams :
Observations from four experiments. In Proceeding of the ACM/IEEE international conference on
Human-robot interaction, 2007.
[14] P. Scerri, D. Pynadath, and M. Tambe. Adjustable autonomy for the real world. In Agent Autonomy
[20], chapter 10.
[15] B. Sellner, F. Heger, L. Hiatt, R. Simmons, and S. Singh. Coordinated multi-agent teams and sliding
autonomy for large-scale assembly. In Proceeding of the IEEE, 94(7), 2006.
[16] K. Myers and D. Morley. Human directability of agents. In K-CAP 2001, 1st International Confer-
ence on Knowledge Capture, Victoria, Canada, 2001.
[17] T.W. Fong, Ch. Thorpe, and Ch. Baur. Collaboration, dialogue and human-robot interaction. In
10th International Symposium on Robotics Research, Lorne, Victoria, Australia, 2002.
[18] K. S. Barber, M. Gamba, and C. E. Martin. Representing and analyzing adaptive decision making
frameworks. In Agent Autonomy [20], chapter 3.
[19] F.M.T. Brazier and N.J.E. Wijngaards. Automated (re-)design of software agents. In Proceedings
of the Artificial Intelligence in Design Conference (AID2002), 2002.
[20] H. Hexmoor, C. Castelfranchi, and R. Falcone. Agent Autonomy. Kluwer Academic Publishers,
2003.
Schedae, 2007, prépublication n° 24, (fascicule n° 2, p. 141-149).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 151
Prépublication n° 25 | Fascicule n° 2
Calcul par réseaux de neurones de la dosedéposée en radiothérapie par un faisceaufin dans un volume hétérogène
Baptiste Blanpain, David Mercier, Jean BartheCEA, LIST, Laboratoire intelligence multi-capteurs et apprentissage
Gif sur Yvette – F-91191 – France
[email protected], [email protected], [email protected]
Résumé :
Une méthode de calcul de la dose déposée en radiothérapie est présentée. À partir de courbes
de dose en milieu homogène, apprises par des réseaux de neurones, nous proposons une heuris-
tique de reconstruction de la dose en milieu hétérogène, dans le cas d’une interface orthogonale
au faisceau. Les premiers tests donnent une erreur maximale de 3%, qui rentre bien dans les
marges de sécurité imposées par les protocoles de radiothérapie.
Mots-clés : réseaux de neurones artificiels, radiothérapie, dose, photons.
1 Introduction
La radiothérapie est une technique de traitement du cancer dont le principe est de détru-
ire une tumeur au moyen d’irradiations externes successives par des rayons ionisants, tout
en préservant au maximum les tissus sains. Le mode opératoire nécessite la connaissance
morphologique de la tumeur ainsi que sa localisation précise dans l’organisme. Ces infor-
mations sont obtenues à partir d’images scanner ou d’IRM. Le protocole d’irradiation est
alors déterminé par le médecin à l’aide d’un système de plan de traitement (TPS). Ce pro-
tocole définit l’énergie des faisceaux, leur forme, leur position et leur angle d’incidence.
Toute la difficulté consiste à choisir les meilleurs paramètres, c’est-à-dire ceux qui permet-
tront d’atteindre la distribution de dose la plus efficace et la plus sûre pour traiter le patient.
C’est un problème d’optimisation qui nécessite un algorithme capable, pour un faisceau de
configuration donnée, de calculer la dose déposée dans le patient. Cet algorithme doit
être précis – des erreurs trop importantes pouvant amener soit des dommages sur les tissus
sains, soit une irradiation insuffisante de la tumeur – et très rapide pour être utilisable en
clinique.
Baptiste Blanpain, David Mercier, Jean Barthe« Calcul par réseaux de neurones de la dose déposée en radiothérapie par un faisceau fin dans un volume hétérogène »
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
152 |
Différentes méthodes ont été développées pour faire ce calcul [1], correspondant à
différents compromis entre temps et précision. Les méthodes les plus utilisées dans les TPS
actuels sont les méthodes de convolution/superposition [2, 3], qui consistent à appliquer un
noyau de dépôt de dose en réponse aux interactions des photons primaires dans la matière.
Les méthodes de Monte-Carlo [4, 5], qui sont des simulations statistiques du processus
physique, sont les plus précises, mais nécessitent plusieurs heures de calcul, et sont donc
aujourd’hui inutilisables en clinique.
Ces dernières années, différents auteurs ont utilisé des réseaux de neurones, tirant profit
de leurs propriétés d’approximateur universel parcimonieux [6] pour calculer rapidement et
précisément la dose. Dans [7], il est montré qu’un réseau de neurones est capable d’appren-
dre la dose en milieu homogène sur l’axe du faisceau. Puis dans [8], c’est la dose sur un plan
2D qui est calculée, toujours dans des volumes homogènes. L’approche la plus élaborée à
ce jour est celle développée dans [9, 10], où la dose déposée en milieu hétérogène par un
faisceau large est calculée à partir de doses en milieux homogènes préalablement apprises
par réseaux de neurones. Nous montrons, dans cet article, que cette technique de calcul
en milieu hétérogène se base sur une hypothèse non vérifiée dans le cas de faisceaux fins,
et nous proposons une heuristique efficace pour faire ces calculs quelque soit la taille du
faisceau.
L’article s’articule de la façon suivante : nous présentons d’abord les notions de base
de dosimétrie, et nous montrons comment utiliser des réseaux de neurones pour le calcul
de dose en milieu homogène. Ensuite nous analysons les hypothèses et les limites de la
méthode présentée dans [10] pour le calcul en milieu hétérogène, et nous proposons une
méthode alternative pour le cas des faisceaux fins.
2 Dosimétrie des faisceaux de photons
Cet article traite des faisceaux de photons, et de la dose qu’ils déposent dans un patient.
Les photons ont pour principal rôle de mettre en mouvement des électrons, qui sont re-
sponsables de la majeure partie des ionisations et du dépôt de dose. C’est pourquoi les
photons sont dits indirectement ionisants, et les électrons directement ionisants.
La grandeur utilisée pour caractériser un faisceau de photons est la fluence, qui est
définie par le nombre de photons traversant une unité de surface. Un faisceau de photons
de fluence Φ0 pénétrant dans un milieu homogène est atténué selon une loi exponentielle,
c’est-à-dire qu’à une profondeur z, la fluence en photons n’ayant pas encore interagi est
donnée par :
Φz = Φ0e−µz
Le coefficient µ est appelé coefficient d’atténuation linéique. Il est proportionnel à la
densité électronique dumatériau – c’est-à-dire au nombre d’électrons par unité de volume –
et varie également avec l’énergie du photon.
Les atomes ionisés libèrent des électrons qui vont causer d’autres ionisations sur leur
parcours, avant de s’arrêter quand ils auront perdu toute leur énergie. Contrairement aux
photons, les électrons interagissent continûment avec la matière, perdant ainsi très rapide-
ment leur énergie. Leur parcours est de longueur bornée, alors qu’un photon a une proba-
bilité non nulle de traverser n’importe quelle épaisseur de matière.
La grandeur d’intérêt utilisée pour quantifier les dépôts d’énergie par des rayonnements
ionisants est la dose, grandeur locale égale à l’énergie déposée rapportée à la masse. Cette
énergie déposée est la différence entre l’énergie qui entre dans un petit volume, et celle
qui en ressort.
D =dE
dm
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
| 153
La dose s’exprime en Gray (Gy, 1Gy = 1J.kg−1). La dose nécessaire pour détruire une
tumeur peut aller de 30 à 80Gy, selon la nature de celle-ci. En milieu homogène, la dose
déposée par un faisceau de photons est relativement simple à calculer. Ce n’est en revanche
plus le cas dès lors qu’on s’intéresse à une géométrie hétérogène, où les caractéristiques
de déplacement des photons et électrons changent d’une zone à l’autre. Les interfaces
constituent donc le principal challenge des méthodes de calcul.
Nous montrons maintenant comment estimer la dose en milieu homogène par des
réseaux de neurones, avant d’introduire une nouvelle heuristique pour le calcul de la dose
aux interfaces.
3 Apprentissage de la dose en milieu homogène
On utilise des réseaux de neurones artificiels pour le calcul de la distribution de dose sur un
plan 2D. Les variables présentées en entrée du réseau sont la profondeur et l’écart à l’axe.
Contrairement à [9], nous choisissons de ne pas mettre la densité du matériau en entrée. La
première raison est que la densité dumatériau ne suffit pas pour avoir une parfaite précision,
puisque la composition atomique intervient également. La seconde raison est qu’il n’est pas
strictement nécessaire, en radiothérapie, de pouvoir interpoler la dose pour tout type de
matériau, du fait du nombre limité de matériaux présents dans le corps et détectés par les
scanners. Par conséquent nous avons préféré utiliser un réseau de neurones par matériau,
ce qui simplifie le modèle. Nous choisissons également de ne pas donner la largeur du
faisceau en entrée, comme cela a été fait dans [7] et [8], pour nous concentrer sur des
faisceaux fins, tels que ceux utilisés en radiothérapie par modulation d’intensité (RMI).
Nous utilisons des réseaux de neurones de type perceptron multicouche composés
de deux neurones d’entrée, d’une couche de neurones cachés, et d’un neurone de sor-
tie. La fonction d’activation des neurones cachés est la tangente hyperbolique, tandis que
le neurone de sortie est linéaire. Les perceptrons multicouches peuvent approcher unifor-
mément, pour une précision donnée, toute fonction bornée suffisamment régulière [11,
12, 6, 13]. Ceci est uniquement un théorème d’existence, qui ne donne pas de méthode
pour déterminer la bonne architecture, c’est-à-dire le bon nombre de neurones cachés pour
faire la meilleure approximation possible. Un grand nombre de neurones cachés donne
la possibilité d’approcher des fonctions de grande complexité, mais risque d’entraîner un
surapprentissage, c’est-à-dire l’apprentissage du bruit de l’ensemble d’apprentissage. Un
surapprentissage nuit à la capacité de généralisation du réseau de neurones. Dans notre
cas, un nombre de 8 neurones cachés s’est avéré être un bon compromis. L’apprentissage
a été réalisé via l’algorithme de Levenberg-Marquardt.
Le code Monte-Carlo Penelope [5], un des codes références en dosimétrie, va nous
servir à plusieurs niveaux. Il fournira d’abord les données d’apprentissage à nos réseaux de
neurones, données qui consisteront en les doses déposées dans des fantômes homogènes.
On l’utilisera ensuite pour évaluer la précision de nos modèles d’apprentissage, ainsi que
celle de nos méthodes de calcul de la dose aux interfaces.
On présente les résultats obtenus dans le cas d’un faisceau de photons de 5MeV et
de 1cm2 de section carrée (figure 1). On travaille sur une grille de pixels de 2 × 2mm.
On calcule la dose dans chaque pixel, et on la compare à celle calculée par Penelope.
L’erreur maximale obtenue est de 2% 1, et l’erreur moyenne sur la grille est de 0.2%. Ces
résultats nous suffiront pour le moment, même si des approches plus élaborées, à base de
HPU (Higher-order Processing Unit), ont été proposées dans [10]. La suite de cet article se
concentrera sur des heuristiques de calcul dans des volumes hétérogènes.
1. Calculée en % de la dose maximale.
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
154 |
0 10 20 30 400
25
50
75
100
Profondeur (cm)
Ren
dem
ent e
n pr
ofon
deur
(%
)
RNAPenelope
(a)
−1.5 −1 −0.5 0 0.5 1 1.50
25
50
75
100
Ecart à l’axe (cm)
Dos
e (%
)
RNAPenelope
(b)
Fig. 1: Dose dans l’eau (exprimée en % du maximum de dose) apprise par un réseau de neurones, et dosecalculée par Penelope, pour un faisceau de photons de 5MeV de 1cm2 de section. (a) Dose sur l’axe dufaisceau. (b) Profil de dose à 10cm de profondeur.
4 Calcul de la dose en milieu hétérogène
Une méthode rapide pour le calcul de la dose dans une géométrie hétérogène, à partir de
courbes de dose enmilieux homogènes apprises par réseaux de neurones, a été récemment
proposée dans [10]. Cette méthode se base d’une part sur l’hypothèse que la dose est
continue en tout point, même en milieu hétérogène, et d’autre part sur l’hypothèse que la
dose après l’interface n’est pas modifiée par le matériau précédent. Les auteurs proposent
alors de calculer la dose dans le cas d’une interface orthogonale à l’axe du faisceau, en
considérant qu’il y a égalité entre la dose au dernier point du premier matériau et la dose
au premier point du second. Ils utilisent les courbes de dose, obtenues via leur réseau de
neurones, dans le premier et le second matériau. La dose avant l’interface est considérée
égale à la dose en milieu homogène. La dose après l’interface l’est également, mais elle est
prise à partir de la profondeur où elle est égale à la dose au dernier point avant l’interface.
De cette façon, la courbe de dose à l’interface est bien continue.
Cette méthode fournit de bons résultats, puisque l’erreur maximale obtenue dans les
tests est de 3% [10]. Ces résultats ont été obtenus pour des faisceaux larges de cobalt-60
(isotope radioactif du cobalt, émetteur de photons de 1.25MeV , utilisé par le passé en ra-
diothérapie et remplacé aujourd’hui par les accélérateurs linéaires). Dans un faisceau large,
l’interface n’induit pas de grosses modifications sur la dose (figure 2(a)). Le principal effet
est la modification d’atténuation du faisceau de photons due au changement de matériau.
Mais ce n’est plus du tout le cas pour la dose déposée par un faisceau fin. Sur la figure 2(b),
on voit que la dose augmente fortement après l’interface, avant de reprendre sa décrois-
sance. Le faisceau de photons génère en effet un flux électronique plus faible dans l’eau
que dans l’os. Ce flux électronique croît donc après le passage de l’interface, jusqu’à at-
teindre son maximum. La courbe de dose suit le même mouvement, puisque celle-ci est
déposée par les électrons. Bien que continue, la dose peut donc subir de fortes variations
après l’interface.
Pour comprendre pourquoi cet effet disparaît sur un faisceau large, il faut voir celui-ci
comme une addition de faisceaux fins. La densité de l’eau étant plus faible que celle de l’os,
les électrons y sont moins ralentis, et portent donc plus loin sur les côtés. Par conséquent,
la dose est plus forte sur les côtés du faisceau dans l’eau que dans l’os, mais plus faible sur
son axe (figure 3). En mettant plusieurs faisceaux fins côte à côte, leurs contributions
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
| 155
s’additionnent, et la dose avant l’interface se retrouve à peu près égale à celle après l’inter-
face (au centre du faisceau large ainsi créé, comme on le voit figure 2(a)) 2.
0 5 100
25
50
75
100
Profondeur (cm)
Ren
dem
ent e
n pr
ofon
deur
(%
)
Eau Os
(a)
0 5 100
25
50
75
100
Profondeur (cm)
Ren
dem
ent e
n pr
ofon
deur
(%
)
Eau Os
(b)
Fig. 2: Dose (calculée par Penelope) déposée sur l’axe par un faisceau de 5MeV pour une interface eau/osorthogonale au faisceau. (a) Faisceau large, section de 10cm2. (b) Faisceau fin, section de 1cm2.
−1.5 −1 −0.5 0 0.5 1 1.50
20
40
60
80
100
Ecart à l’axe (cm)
Dos
e (%
)
Avant interfaceAprès interface
Fig. 3: Profils de dose d’un faisceau fin, avant et après l’interface eau/os.
La méthode décrite précédemment ne pourra pas fournir de bons résultats dans le cas
de faisceaux fins. Nous présentons donc une méthode plus générale permettant de calculer
la dose déposée quelque soit la largeur du faisceau. Nous nous plaçons dans le cadre d’un
faisceau mono énergétique, et nous travaillons sur une interface orthogonale à celui-ci.
Pour la partie située avant l’interface, on obtient toujours la dose directement à l’aide
du réseau de neurones 3. À l’interface, la fluence a été atténuée par le premier matériau,
pour atteindre une fluence Φi. En première approximation, on peut considérer que la dose
déposée dans le second matériau est celle déposée par un faisceau de fluence Φi dans le
second matériau homogène. On va donc récupérer, via le réseau de neurones du second
matériau, la dose à la profondeur z où la fluence en photons primaires est égale à la flu-
ence Φi. Notons µ1 et µ2 les coefficients d’atténuation respectifs du premier et du second
matériau. La fluence à l’interface est Φi = e−µ1zi . Dans le second matériau, la profondeur
z à laquelle la fluence est égale à Φi est la solution de e−µ2z = Φi, c’est-à-dire z = µ1ziµ2
. Si
l’on applique cette méthode à l’exemple de l’interface eau/os (voir figure 2(b)), on obtient
la courbe de la figure 4. On voit qu’en dehors de la zone de perturbations autour de l’inter-
face, l’erreur est à peu près nulle, puisqu’égale à l’erreur de calcul de la dose par réseau
de neurones. À l’interface, on constate une discontinuité sur la dose calculée, et donc une
différence avec celle obtenue par Monte-Carlo. La raison est que nous considérons qu’il y a
2. La véritable démonstration est celle du théorème de Fano [1]. Nous sommes ici dans des conditionssuffisament proches de ses hypothèses pour que ses conclusions restent valides.
3. La variation du rétrodiffusé due à l’interface est négligée.
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
156 |
équilibre électronique dans chacun des matériaux, et que nous ne prenons pas en compte
le régime transitoire au niveau de l’interface.
0 10 20 30 400
25
50
75
100
Profondeur (cm)
Ren
dem
ent e
n pr
ofon
deur
(%
)
RN directPenelope
Eau Os
Fig. 4: Comparaison entre la dose calculée directement (sans correction à l’interface) et celle obtenue parsimulation Monte-Carlo.
On peut voir sur la figure 5 le processus de dépôt de dose dans le cas d’une interface
eau/os. Les électrons sont mis en mouvement par les photons, et déposent leur énergie
sur leur parcours. Avant l’interface, la fluence en photons primaires est atténuée exponen-
tiellement selon le coefficient d’atténuation de l’eau, le flux d’électrons engendré décroît
donc de la même façon. Après l’interface, ces électrons engendrés dans l’eau finissent de
déposer leur énergie, tandis qu’un nouveau flux issu des interactions dans l’os se met en
mouvement. Il y a donc une zone, juste après l’interface, où des électrons mis en mou-
vement avant l’interface coexistent avec des électrons mis en mouvement après celle-ci.
Cette zone se termine quand le flux électronique n’est plus perturbé par les électrons mis
en mouvement avant l’interface.
Fig. 5: Schéma décrivant de façon simplifiée le dépôt de dose autour d’une interface (on fait l’hypothèse dephotons interagissant uniquement par effet photoélectrique, libérant des électrons qui déposent leur énergievers l’avant). On voit que dans l’eau, les photons interagissent moins que dans l’os, et les électrons perdentmoins vite leur énergie. Il y a donc un temps de transition, après l’interface, entre le flux électronique dans l’eauet celui dans l’os.
On peut séparer la dose déposée après l’interface en deux composantes, selon que les
électrons responsables du dépôt ont été mis en mouvement avant ou après l’interface (voir
figure 6(a)). Par la suite, nous nommerons ces deux composantes dose antérieure (venant
d’avant l’interface) et dose postérieure (venant d’après).
Dans le cas d’un faisceau incident dans un milieu homogène, on peut facilement isoler
ces deux contributions. Pour cela, on suppose une interface virtuelle à la profondeur zi,
séparant deux zones composées dumêmematériau. La dose postérieure peut être obtenue
directement par le réseau de neurones, en tenant compte de la fluence à la profondeur zi.
La dose antérieure s’obtient ensuite par soustraction de la dose postérieure à la dose totale
(voir figure 6(b)).
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
| 157
0 1 2 3 4 5 6 7 8 9 100
25
50
75
100
Profondeur (cm)
Ren
dem
ent e
n pr
ofon
deur
(%
)
AntérieurePostérieureTotale
Eau Os
(a)
0 1 2 3 4 5 6 7 8 9 100
25
50
75
100
Profondeur (cm)
Ren
dem
ent e
n pr
ofon
deur
(%
)
AntérieurePostérieureTotale
Eau Eau
(b)
Fig. 6: Décomposition de la dose totale en doses postérieure et antérieure. (a) Interface eau/os. (b) Interfacevirtuelle eau/eau.
On sait donc calculer la dose antérieure Da pour une interface virtuelle dans le matériau
homogène situé après l’interface. Pour le calcul en milieu hétérogène, le problème est alors
de modifier Da pour obtenir la dose D′a diffusée par le premier matériau et déposée après
l’interface dans le second. Les doses Da et D′a ont la même allure, puisque déposées dans
le même matériau, mais ne représentent pas la même quantité d’énergie. Elles sont donc
liées par la relation D′a = αDa, où α est le rapport des énergies déposées. Nous proposons
une méthode très rapide pour estimer α, se basant sur la continuité de la dose à l’interface.
Elle consiste à trouver α tel que la dose à l’interface soit égale à la somme de la composante
postérieure Dp et de la composante antérieure αDa.
D(zi) = Dp(zi) + αDa(zi)
où D(zi) – la dose totale à l’interface – et Dp sont calculables directement avec nos réseaux
de neurones, et où Da se calcule par le procédé expliqué figure 6(b). On a donc
α =D(zi)−Dp(zi)
Da(zi)
Nous avons testé cette méthode pour une configuration identique à celle de la figure 4,
c’est-à-dire un faisceau de photons de 5MeV d’une section de 1cm2. La figure 7 montre
clairement que notre méthode est efficace, l’erreur maximale étant de 3%. Celle-ci pourrait
d’ailleurs être améliorée en faisant un apprentissage plus précis des réseaux de neurones.
On peut noter une légère différence entre les formes des deux courbes à l’interface, du fait
de la non prise en compte des rétrodiffusions (de l’os vers l’eau), ce qui n’amène que peu
d’erreur. Enfin, en s’éloignant de l’interface, l’erreur devient à peu près nulle, car elle ne
dépend plus que de la qualité des résultats fournis par les réseaux de neurones.
5 Conclusion
L’objectif en radiothérapie est de donner la dose avec une marge d’erreur la plus restreinte
possible, et avec un temps de calcul suffisamment faible pour rendre le logiciel utilisable en
clinique. Dans cet article, nous proposons une méthode de calcul de la dose dans des vol-
umes hétérogènes à partir d’estimations de doses en volumes homogènes par des réseaux
de neurones. Cette technique s’applique rapidement et donne des résultats précis sur des
faisceaux fins, ce qui la rend intéressante dans le cadre d’une optimisation de plan de traite-
ment pour la radiothérapie par modulation d’intensité.
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
158 |
0 10 20 30 400
25
50
75
100
Profondeur (cm)
Ren
dem
ent e
n pr
ofon
deur
(%
)
RN + heuristiquePenelope
Eau Os
(a)
19 20 21 22 2358
60
62
64
66
68
70
Profondeur (cm)
Ren
dem
ent e
n pr
ofon
deur
(%
)
RN + heuristiquePenelope
(b)
Fig. 7: Comparaison des résultats de notre heuristique à ceux obtenus par simulation Monte-Carlo.
Différentes perspectives s’ouvrent à l’issue de ces travaux. Nous adaptons actuellement
la méthode décrite ici à des interfaces non orthogonales au faisceau, afin de pouvoir tra-
vailler sur tout type de géométrie. Nous travaillons également sur d’autres heuristiques pour
le calcul rapide de la dose à l’interface, qui soient précises autant sur l’axe du faisceau que
sur ses bords. Enfin, il serait intéressant d’adapter notre méthode de calcul aux interfaces à
des faisceaux polyénergétiques.
Références[1] AAPM. Tissue inhomogeneity corrections for megavoltage photon beams. AAPM Report No 85,
2004.
[2] A. Ahnesjö. Collapsed cone convolution of radiant energy for photon dose calculation in hetero-
geneous media. Med. Phys., 16 :577–92, 1989.
[3] T.R. Mackie, J.W. Scrimger, and J.J. Battista. A convolution method of calculating dose for 15-mv
x rays. Med. Phys., 12 :188–96, 1985.
[4] P. Andreo. Monte carlo techniques in medical radiation physics. Phys. Med. Biol., 36 :861–920,
1991.
[5] F. Salvat, J.M. Fernandez-Varea, E. Acosta, and J. Sempau. Penelope - a code system for monte
carlo simulation of electron and photon transport. Technical report, Paris : OECD Publications,
2001.
[6] G. Dreyfus, J.M. Martinez, M. Samuelides, Gordon M.B., F. Badran, S. Thiria, and L. Hérault.
Réseaux de neurones, Méthodologie et applications. Eyrolles, 2002.
[7] X. Wu and Y. Zhu. A neural network regression model for relative dose computation. Phys. Med.
Biol., 45 :913–22, 2000.
[8] S.W. Blake. Artificial neural network modelling of megavoltage photon dose distributions. Phys.
Med. Biol., 49 :2515–26, 2004.
[9] R. Mathieu, E. Martin, R. Gschwind, L. Makovicka, S. Contassot-Vivier, and J. Bahi. Calculations of
dose distributions using a neural network model. Phys. Med. Biol., 50 :1019–1028, 2005.
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
| 159
[10] J. Bahi, S. Contassot-Vivier, L. Makovicka, E. Martin, and M. Sauget. Neural network based algo-
rithm for radiation dose evaluation in heterogeneous environments. In ICANN 2006, Int. Conf. on
Artificial Neural Networks, volume 4132 of LNCS, pages 777–787, Athens, Greece, 2006. Springer.
[11] G. Cybenko. Approximation by superpositions of a sigmoidal function. Math. Control Signals
Systems, 2 :303–314, 1989.
[12] K. Funahashi. On the approximate realization of continuous mappings by neural networks. Neural
Networks, 2 :183–192, 1989.
[13] C.M. Bishop. Neural Networks for Pattern Recognition. Oxford University Press, 1995.
Schedae, 2007, prépublication n° 25, (fascicule n° 2, p. 151-159).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
Algorithmique
session 7
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 161
Prépublication n° 26 | Fascicule n° 2
REGAL:une bibliothèque pour la générationdes automates déterministes
Julien DavidInstitut Gaspard Monge, UMR CNRS 8049
Université de Marne-la-Vallée – 77454 Marne-la-Vallée Cedex 2 – France
Résumé :
Ce papier présente une bibliothèque permettant la génération aléatoire et exhaustive d’auto-
mates déterministes finis. Ce package fournit une boîte à outils pour l’étude expérimentale de
propriétés sur les automates, la complexité en moyenne d’algorithmes et permet également de
comparer différentes implantations d’un même algorithme.
Mots-clés : Automates déterministes, génération aléatoire et exhaustive.
1 Introduction
Ce papier présente une bibliothèque en C++ permettant d’engendrer des automates déter-
ministes finis. La génération aléatoire des automates peut être utilisée, par exemple, pour
tester des propriétés sur les automates, pour étudier expérimentalement la complexité en
moyenne d’algorithmes sur les automates ou enfin pour comparer différentes implantations
d’un même algorithme. La génération exhaustive permet de vérifier des conjectures sur des
automates de petite taille.
Les algorithmes implantés dans REGAL sont basés sur les travaux de Nicaud [1], Cham-
parnaud et Paranthoën [2] et Bassino et Nicaud [3]. Dans la section 2, on fera un bref rappel
sur le fonctionnement des générateurs et on détaillera les points clé de l’implantation. La
bibliothèque elle-même est décrite dans la section 3. Pour finir, la section 4 est dédiée à la
présentation de résultats expérimentaux liés à la notion d’automate minimal.
Julien David« REGAL: une bibliothèque pour la génération des automates déterministes »
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
162 |
2 Génération d’automates
2.1 PréliminairesRappelons tout d’abord quelques définitions sur les automates finis. Les notions de base de
la théorie des automates finis peuvent être trouvées dans [4]. Un automate fini déterministe
A sur un alphabet fini A est un quintuplet A = (A, Q, ·, q0, F ) où Q est l’ensemble fini des
états, q0 ∈ Q est l’état initial, F ⊂ Q est l’ensemble des états finals et où la fonction de
transition · est un élément de Q × A 7→ Q. On dit qu’un automate fini déterministe est
accessible quand, pour chaque état q de A, il existe un mot u ∈ A∗ tel que q0 · u = q. Un
automate fini A est complet quand pour chaque (q, α) ∈ Q×A, q · α est défini.
La structure de transitions d’un automate accessible A = (A, Q, ·, q0, F ) est D =
(A, Q, ·, q0) : on ne distingue plus les états finals. Une telle structure correspond à 2n auto-
mates, puisque l’accessibilité garantit que deux ensembles d’états finals distincts ne for-
meront pas le même automate.
Notre but est d’engendrer des automates déterministes, accessibles et complets. Les
algorithmes utilisés se fondent sur deux bijections qui permettent la transformation d’un
automate en un objet combinatoire appelé diagramme marqué.
Pour tout n, m ∈ N avec n ≥ m, on note [[ m, n ]] l’ensemble d’entiers i ∈ N | m ≤
i ≤ n. Un diagramme de largeur m et de hauteur n est une suite croissante (x1, . . . , xm)
d’entiers positifs telle que xm = n et peut être représenté comme un diagramme de boîtes
(voir Figure 1).
Un diagramme de Dyck d’indice k de taille n est un diagramme de largeur (k− 1)n + 1
et de hauteur n tel que xi ≥ di/(k − 1)e pour tout i ≤ (k − 1)n. Un diagramme marqué
est un couple de suites ((x1, . . . , xm), (y1, . . . , ym)) où (x1, . . . , xm) est un diagramme et
pour tout i ∈ [[ 1, m ]], la yième boîte de la colonne i du diagramme est marquée, autrement
dit, yi ≤ xi (voir Figure 1). Un diagramme de Dyck d’indice k et de taille n marqué est un
diagramme marqué dont la première suite (x1, . . . , x(k−1)n+1) est un diagramme de Dyck
d’indice k et de taille n.
(1,1,2,2,4)(1,3,3,4,4)(1,1,2,4,4) (1,1,2,4,4)
(1,1,2,1,3)(1,3,3,4,4)
Fig. 1: Un diagramme de largeur 5 et de hauteur 4, un diagramme marqué, un diagramme de Dyck d’indice2 et de taille 2 et un diagramme de Dyck d’indice 2 marqué.
Le diagramme ci-dessous décrit les différentes étapes de la génération aléatoire, pour la
distribution uniforme sur l’ensemble des automates déterministes accessibles et complets
de taille fixée et de la génération exhaustive.
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
| 163
Deux bijections (voir Section 2.2) sont utilisées pour transformer les structures de tran-
sitions accessibles complètes et déterministes en diagrammes de Dyck d’indice k marqués
et pour changer les diagrammes marqués en partitions d’ensemble. L’étape entre les di-
agrammes marqués et les diagrammes de Dyck d’indice k marqués consiste à tester la
hauteur des colonnes des diagrammes. Lorsque le test échoue, ce qui arrive en gros une
fois sur 4 en moyenne [3], le diagramme est rejeté et une nouvelle partition d’ensemble est
produite.
Le générateur exhaustif est basé sur la génération ordonnée de tous les diagrammes
de Dyck d’indice k marqués d’une taille fixée (voir Section 2.3)
La génération aléatoire repose sur la génération de partitions d’ensemble par un généra-
teur de Boltzmann [5] (voir Section 2.4). La méthode récursive [6] pourrait également être
utilisée comme l’ont décrit Nicaud [1] et Champarnaud et Paranthoën [2], mais cette mé-
thode requiert un espace mémoire important.
Enfin le choix aléatoire d’un sous-ensemble des états de la structure de transitions
comme ensemble des états finals permet d’obtenir un automate déterministe, accessible
et complet.
2.2 Bijections pour transformer les automates en objets plus simplesLa bijection suivante qui permet la représentation des automates en diagramme de Dyck
d’indice k marqué est due à Nicaud [1] pour les alphabets à 2 lettres et à Champarnaud et
Paranthoën [2] pour un alphabet fini arbitraire.
Théorème 1 [1, 2] L’ensemble des structures de transitions déterministes, accessibles etcomplètes de taille n sur un alphabet à k lettres est en bijection avec l’ensemble des dia-grammes de Dyck d’indice k et de taille n marqués .
Une description précise de cette bijection est donnée dans [1, 2], où la preuve com-
plète de sa validité peut être trouvée. Les algorithmes linéaires correspondant sont présen-
tés dans [3]. On rappelle brièvement comment une structure de transitions de taille n sur
un alphabet à k lettres est transformée en un diagramme de Dyck d’indice k et de taille n
marqué. En utilisant un parcours en profondeur, selon l’ordre lexicographique, on construit
à partir de l’état initial un arbre recouvrant (correspondant aux transitions en gras sur la
Figure 2) et on numérote les états selon leur ordre d’apparition. Dans le parcours en pro-
fondeur, la ième transition j → j′ qui n’est pas dans l’arbre recouvrant est codée comme
la ième colonne du diagramme de Dyck d’indice k marqué : c’est une colonne de hauteur
j dont la j′ème boîte est marquée. L’information contenue dans le diagramme de Dyck
d’indice k marqué obtenu est suffisante pour retrouver la structure de transitions initiale.
Fig. 2: Une structure de transitions de taille 6 dont l’état 1 est l’état initial et le diagramme de Dyck d’indice2 et de taille 6 marqué correspondant.
La seconde bijection, que nous n’utilisons que pour la génération aléatoire, est la
suivante :
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
164 |
Théorème 2 [3] L’ensemble des diagrammes marqués de largeur m et de hauteur n etl’ensemble des partitions d un ensemble à n + m éléments en n sous-ensembles non-videssont en bijection.
La preuve de ce résultat et les algorithmes correspondant sont donnés dans [3]. L’idée
est la suivante : considérons une partition d’un ensemble à m + n éléments en n sous-
ensembles non-vides. Pour représenter la partition d’ensemble, on code chaque entier i ∈
[[ 1, m + n ]] en une colonne de hauteur égale au nombre de sous-ensembles distincts qui
contiennent un entier inférieur ou égal i et dont la boîte marquée est la même que celle
qui est marquée dans le codage du plus petit entier contenu dans le même sous-ensemble
que i.
Réciproquement, la partition d’ensemble est transformée en un diagramme de hauteur
n et de largeur m en suppimant pour tout j ∈ [[ 1, n ]], la colonne la plus à gauche de hauteur
j dont la jème boîte est marquée. Un exemple est donnée dans la Figure 3.
m + n
n
m
n
Fig. 3: Le diagramme marqué (((1, 3, 3, 5, 5, 5), (1, 2, 1, 4, 3, 4)) et la partition d’ensemble1, 3, 6, 2, 5, 4, 10, 7, 9, 11, 8.
2.3 Génération exhaustiveOn utilise une méthode standard [7] pour engendrer tous les automates déterministes ac-
cessibles et complets de taille n donnée. On définit un ordre total sur leurs représentations
en diagrammes de Dyck d’indice k marqués (voir Théorème 1) et on fournit 3 méthodes
pour calculer le minimum (first), le successeur d’un diagramme donné (next) et pour véri-
fier si le maximum est atteint (last) ou non. Tous les ensembles possibles d’états finals sont
également engendrés.
SoientD = (x,y) etD′ = (x′,y′) deux diagrammes deDyck d’indice k et de taille nmar-
qués . On dit que D est plus petit que D′, soit lorsque le vecteur x est strictement inférieur
à x′, soit lorsque x = x′ et le vecteur y est plus petit que y′. Le plus petit diagramme Dyck
d’indice k et de taille n marqué pour cet ordre est Dmin = ((x1, · · · , x(k−1)n+1), (1, · · · , 1)),
où xi = di/(k − 1)e, et le plus grand est Dmax = ((n, · · · , n), (n, · · · , n)).
Soit D = (x,y) un diagramme de Dyck d’indice k marqué qui n’est pas égal à Dmax :
(a) Si x 6= y, le successeur de D est obtenu en changeant yi en yi + 1, où i est le plus
grand indice tel que yi < xi.
(b) Si x = y, soit i le plus grand indice tel que xi < n. Le successeur de D est D′ =
((x1, · · · , xi−1, xi + 1, x′i+1, · · · , x′(k−1)n+1
), (1, · · · , 1)) où pour tout j ≥ i + 1, x′j =
max (xi + 1, dj/(k − 1)e).
Fig. 4: Dmin,Dmax et next appliqué au cas (b) avec i = 2.
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
| 165
En utilisant cet ordre sur l’ensemble des diagrammes de Dyck d’indice k marqués de taille
fixée, les trois algorithmes first, next et last ont une complexité linéaire.
2.4 Générateur de BoltzmannUn générateur de Boltzmann [5] est un programme qui engendre aléatoirement des objets
selon une probabilité essentiellement proportionnelle à une exponentielle de leur taille.
Plus précisément, un objet étiqueté γ est engendré avec une probabilité x|γ|
|γ|! où x est
un paramètre à valeur réelle positive. Cette méthode n’engendre pas d’objets de taille fixe
mais garantit que deux éléments de même taille ont la même probabilité d’être engendrés.
Elle dépend du paramètre x, dont la valeur peut être déterminée afin que la taille moyenne
des éléments engendrés soit égale une valeur prédéfinie. Des constructions génériques de
générateurs de Boltzmann pour des structures décomposables sont données dans [5, 8].
L’évaluation de x est le seul précalcul requis et la complexité de génération elle-même est
linéaire, si on autorise une petite variation de la taille. Un générateur en taille exacte peut
être obtenu en utilisant un algorithme avec rejet.
On utilise ici un générateur de Boltzmann pour engendrer uniformément l’ensemble
des partitions d’un ensemble à kn éléments en n sous-ensembles non-vides. Pour cela on
tire aléatoirement, avec une loi de Poisson de paramètre x, la taille de chacun des n sous-
ensembles de la partition. La taille moyenne de la partition d’ensemble est alors nx ex
ex−1.
On choisit donc x tel que nx ex
ex−1= kn et on obtient (voir [3])
x = ζk = W0(−ke−k) + k et W0(z) =∞X
p=1
(−p)p−1
p!zp
qui ne dépend que de la taille k de l’alphabet. Pour finir, on étiquette la structure obtenue
avec une permutation de [[ 1, kn ]]. Le nombre moyen de rejets pour obtenir une partition
d’ensemble de taille kn est O(√
n) et la complexité moyenne de la génération aléatoire
d’une telle partition est O(n3/2). Pour plus de détails sur cette construction, le lecteur peut
se référer à [3].
Le tableau ci-dessous donne le temps moyen requis pour engendrer uniformément des
automates sur un alphabet à 2 lettres avec REGAL. Les tests ont été effectués avec 1 000
automates de chaque taille, sur un Intel 2.8 GHz.
Taille des automates 1 000 10 000 100 000
Temps moyen 0.04 s 1.43 s 110.23 s
3 Description de la bibliothèque REGAL
Pour combiner la généricité et l’efficacité, REGAL a été écrit en C++ 1.
Automates. – Bien que les algorithmes de REGAL utilisent des entiers pour décrire
les étiquettes des états et des transitions, ces dernières ont été codées comme des types
paramétrés, avec un système de maps, pour que l’utilisateur puisse facilement définir ses
propres étiquettes. La figure 5 présente la description de la classe AbstractAutomaton. Les
utilisateurs doivent implanter les méthodes écrites en italique, les autres étant prédéfinies
dans REGAL. Notons que la méthode createState, qui renvoie un nouvel état pour l’auto-
mate, doit être implantée. Elle sera utilisée par REGAL lorsque la méthode addState sera
appellée. REGAL définit également une implantation d’automate déterministe qui peut être
directement utilisée.
1. La bibliothèque ainsi que la documentation sont disponibles à : http ://igm.univ-mlv.fr/˜jdavid01/regal.php
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
166 |
namespace regaltemplate<typename StateLabel_t,typename Sigma>class AbstractAutomatonprivate :StateLabel_t createState() ; public :Alphabet<Sigma> getAlphabet() ;int getSize() ;int getAlphabetSize() ;StateLabel_t addState() ;int getIntegerValue(const StateLabel_t & s) ;StateLabel_t getRealValue(const int & ind) ;void addTransition(const StateLabel_t & start,const StateLabel_t & end,
const Sigma & value) ;bool isFinal(const StateLabel_t & sl) ;bool isInitial(const StateLabel_t & sl) ;void setStateAsFinal(const StateLabel_t & sl, const bool & value) ;void setStateAsInitial(const StateLabel_t & sl, const bool & value) ;
;
Fig. 5: Automate abstrait dans REGAL.
Grâce à sa généricité, REGAL a été facilement relié à la plateforme VAUCANSON [9,
10], en implantant une façade qui hérite de la classe AbstractAutomaton et qui contient un
automate de VAUCANSON.
REGAL est fourni avec des méthodes permettant d’écrire les automates en format Gas-
teX ou DoT.
Générateurs aléatoire et exhaustif – Pour engendrer des automates, aléatoirement ou
exhaustivement, un générateur doit être instancié avec les paramètres suivants : le type des
états, de l’alphabet, la classe de l’automate en sortie, le nombre d’états et enfin l’alphabet
lui-même.
Les étiquettes des états de l’automate engendré appartiennent à [[ 0, n − 1 ]] et corre-
spondent à l’ordre induit par le parcours en profondeur du graphe sous-jacent.
Comme on l’a vu dans la section 2.3, le générateur exhaustif fournit des méthodes pour
calculer le premier automate, obtenir l’automate suivant, et pour tester si l’on a atteint le
dernier automate. Il peut être utilisé avec une simple boucle for (voir Figure 6).
DFAAutomaton<int,char> * result ; //Result DFAAlphabet<char> alpha ; //Create an alphabetalpha.insert(’a’) ; alpha.insert(’b’) ;ExhaustiveDFAGenerator<int,char,DFAAutomaton<int,char>> eg(8 ,alpha) ;for(result=eg.first() ; result !=eg.end() ; result=eg.next() )
Fig. 6: Génération exhaustive des automates déterministes à 8 états sur A = a, b.
Il existe deux méthodes pour engendrer aléatoirement un automate : random() où pour
tout état la probabilité d’être final est 12(le nombre moyen d’états finals est donc n
2) et
randomOneFinalState() où seulement un état est final. Voir la Figure 7 pour un exemple
d’utilisation.
DFAAutomaton<int,char> * result ; //Result DFAAlphabet<char> alpha ; //Create an alphabetalpha.insert(’a’) ; alpha.insert(’b’) ;RandomDFAGenerator<int,char,DFAAutomaton<int,char>> rg(20000 ,alpha) ;for(int counter=0 ; counter<10000 ; counter++) result=rg->random() ;
Fig. 7: Génération aléatoire de 10000 automates à 20 000 états sur A = a, b.
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
| 167
4 Applications
Cette section est dédiée à la présentation de résultats expérimentaux obtenus avec REGAL.
Dans les tableaux qui suivent, les tests ont été effectués avec un alphabet de taille 2.
Préliminaire. – Rappelons que deux états p et q d’un automateA reconnaissant le même
langage L ⊂ A∗ sont équivalents quand pour tout mot u ∈ A∗, p · u ∈ L ⇔ q · u ∈ L. Cette
relation est appelée équivalence de Nerode. L’automate minimal de L est l’automate défini
sur les classes d’équivalence des états de tout automate déterministe reconnaissant L. Les
algorithmes deminimisation deMoore et de Hopcroft calculent cette relation d’équivalence
en raffinant des partitions, à partir F, F, où F est l’ensemble des états finals. Si P est une
partition des états de l’automate, on note ∼P la relation d’équivalence induite par P . La
complexité dans le pire des cas de l’algorithme de Moore est en O(n2), mais sa complexité
en moyenne est toujours inconnue.
Algorithme 1: Moore
Data : P ′ = F, Fbegin
repeat
P = P ′
raffiner P en P ′ avec q ∼P ′ q′ ⇔ q ∼P q′ et ∀a ∈ A, q · a ∼P q′ · auntil P = P ′
end
L’algorithme de Hopcroft est plus compliqué mais plus efficace dans le pire des cas,
avec une complexité de Θ(n log n) [11]. Soient P un ensemble d’états et a une lettre, dans
l’algorithme d’Hopcroft, un ensemble B est raffiné en B′ = q ∈ B | q · a ∈ P et B′′ =
q ∈ B | q · a /∈ P par (P, a) lorsque B′ et B′′ ne sont pas vides. Les détails d’implantation
de l’algorithme de Hopcroft peuvent être trouvés dans [12].
Algorithme 2: Hopcroft
Data : P ′ = F, F et S = ∅begin
foreach a ∈ A do
ajouter (C, a) dans S, où C est le plus petit des deux ensembles F et F
while S 6= ∅ do
extraire (P, a) de S
foreach block B de la partition raffinée par (P, a) do
remplacer B par B′ et B′′ dans la partition
foreach b ∈ A do
if (B, b) ∈ S then
remplacer (B, b) par (B′, b) et (B′′, b) dans S
else
ajouter (C, b) dans S où C est le plus petit des deux ensembles B′
and B′′
end
Automate minimal. – Avec le générateur exhaustif, on peut calculer le nombre exact
d’automates minimaux sur un alphabet à k lettres. Mais comme le nombre d’automates
déterministes accessibles et complets de taille n est asymptotiquement proportionnel à
n 2n˘
knn
¯[13, 3] où
˘knn
¯est le nombre de Stirling de seconde espèce (soit le nombre
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
168 |
0
0.01
0.02
0.03
0.04
0.05
0.06
5000 4000 3000 2000 1000 0
Tem
ps (
sec)
Taille de l’automate
Hopcroft avec pileHopcroft avec file
Moore
Fig. 8: Complexités en temps des algorithmesde Moore et de Hopcroft.
2.5
3
3.5
4
4.5
5
5.5
6
0 1000 2000 3000 4000 5000
Nom
bre
d’ite
ratio
ns
Taille de l’automate
Ecart-type
Fig. 9: Nombre d’itérations de la boucle princi-pale de l’algorithme de Moore.
de façons de partitionner un ensemble à kn éléments en n sous-ensembles non-vides), le
nombre exact d’automates minimaux ne peut être calculé que pour de petites valeurs de n.
Nombre d’états 2 3 4 5 6 7
Automates minimaux 24 1 028 56 014 3 705306 286 717796 25 493886 852
En utilisant le générateur aléatoire, la proportion d’automates minimaux parmi les déter-
ministes accessibles peut être estimée. Cette proportion croit très rapidement avec la taille
de l’alphabet. Le tableau suivant présente le résultat de tests faits avec 20 000 automates
de chaque taille (et un alphabet de taille 2).
Taille 50 100 500 1 000 2 000 3 000 5 000
Automates minimaux (%) 84.77 85.06 85.32 85.09 85.42 85.64 85.32
Efficacité des algorithmes de Moore et de Hopcroft. – Dans cette section on compare
expérimentalement la complexité moyenne en temps d’algorithmes de minimisation d’au-
tomates (voir Figure 8) et on calcule le nombre moyen d’itérations dans celui de Moore (voir
Figure 9).
Dans la Figure 8, le temps moyen d’exécution des algorithmes de Moore et Hopcroft
a été mesuré sur un Intel 2.8Ghz avec 10 000 automates pour chaque taille. Le résultat des
tests ne révèle pas une différence claire entre l’efficacité des deux structures de données
(pile et file) pour l’implantation de S dans l’algorithme de Hopcroft. Bien que l’algorithme
de Moore n’ait pas la meilleure complexité dans le pire des cas, il semble plus efficace en
moyenne que l’algorithme d’Hopcroft. La raison pourrait être la très lente augmentation du
nombre de raffinements de la partition avec la taille de l’automate (voir Figure 9).
Dans la Figure 9, le nombre moyen de raffinements de partition dans l’algorithme de
Moore a été calculé avec 10 000 automates pour chaque taille. Il s’agit du nombre de fois
où la boucle principale de l’algorithme, de complexité Θ(n), est exécutée.
Références[1] C. Nicaud. Étude du comportement en moyenne des automates finis et des langages rationnels.
PhD thesis, Université Paris 7, 2000.
[2] J.M. Champarnaud and T. Paranthoën. Random generation of DFAs. Theoret. Comput. Sci.,
330 :221–235, 2005.
[3] F. Bassino and C Nicaud. Enumeration and random generation of accessible automata. Theoret.
Comput. Sci., 2007. available at http ://www-igm.univ-mlv.fr/˜bassino/publi.html, to appear.
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
| 169
[4] J.E. Hopcroft and J. Ullman. Introduction to automata theory, languages, and computation.
Addison-Wesley, N. Reading, MA, 1980.
[5] P. Duchon, P. Flajolet, G. Louchard, and G. Schaeffer. Boltzmann samplers for the random gen-
eration of combinatorial structures, combinatorics, probability, and computing. Special issue on
Analysis of Algorithms, 13 :577–625, 2004.
[6] P. Flajolet, P. Zimmermann, and B. Van Cutsem. A calculus of random generation of labelled
combinatorial structures. Theoret. Comput. Sci., 132(1-2) :1–35, 1994.
[7] A. Nijenhuis and H.S. Wilf. Combinatorial Algorithms, 2nd ed. Academic Press, 1978.
[8] P. Flajolet, E. Fusy, and Pivoteau. Boltzmann sampling of unlabelled structures. In Proceedings of
ANALCO’07. SIAM Press, 2007.
[9] S. Lombardy, Y. Régis-Gianas, R. Poss, and J. Sakarovitch. Introducing vaucanson. Theoret. Com-
put. Sci., 328 :77–96, 2004.
[10] T. Claveirole, S. Lombardy, L.N. Pouchet, and J. Sakarovitch. Inside vaucanson. CIAA’05, LNCS
4094 :116–128, 2006.
[11] J. Berstel andO. Carton. On the complexity of Hopcroft’s stateminimization algorithm. CIAA’2004,
LNCS 3317 :35–44, 2004.
[12] J. Berstel. Eléments d’algorithmique. Masson, 1992. chapter 9, p. 29-41.
[13] D. Korshunov. Enumeration of finite automata. Problemy Kibernetiki, 34 :5–82, 1978. In Russian.
Schedae, 2007, prépublication n° 26, (fascicule n° 2, p. 161-169).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 171
Prépublication n° 27 | Fascicule n° 2
Méthode structurellepour décider si un transducteur est k-valué
Rodrigo de SouzaENST Paris
Résumé :
Nous proposons un algorithme pour décider si un transducteur T est k-valué (pour un entier k
donné) basé sur le produit cartésien T k+1. Cette méthode est conceptuellement différente de la
réponse connue pour ce problème, et apporte une preuve plus claire et de meilleure complexité.
Mots-clés : transducteur, relation rationnelle, décidabilité.
1 Introduction
Cette communication propose un nouvel algorithme pour une question fondamentale de
décidabilité de la théorie des transducteurs.
Un transducteur est un automate qui lit des mots en entrée et leur associe d’autres mots
en sortie ; ils réalisent ainsi des relations entre A∗ et B∗, les ensembles de mots engendrés
par les alphabets A et B, appelées relations rationnelles. Les transducteurs occupent une
place centrale dans la théorie des automates, cf. [1, 2, 3] pour une étude approfondie, et
ont été récemment appliqués au traitement des langues naturelles [4, 5, 6].
En dépit de la simplicité de cesmachines, des questions fondamentales comme l’équiva-
lence et l’inclusion se réduisent aisément au problème de correspondance de Post et sont
par conséquent indécidables [7, 8]. Ces propriétés deviennent néanmoins décidables pour
les relations dont l’image de chaque mot d’entrée a au plus un élément, les fonctions ra-
tionnelles, en raison de la propriété suivante.
Théorème 1 (Schützenberger [9]) Il est décidable si un transducteur réalise une fonction.
Ce résultat est devenu classique dans le domaine. Il a été repris par d’autres auteurs
qui en ont donné des preuves basées sur des constructions de complexité polynomiale (ce
qui n’est pas le cas de la preuve originale de Schützenberger, de nature combinatoire et de
complexité exponentielle) [10, 11].
Rodrigo de Souza« Méthode structurelle pour décider si un transducteur est k-valué »Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
172 |
Moins classique, et plus élaborée, est la généralisation du théorème 1 pour les relations
rationnelles dont l’image de chaque mot d’entrée a au plus k mots, ou relations rationnelles
k-valuées. Cette généralisation a été établi par Gurari et Ibarra :
Théorème 2 (Gurari–Ibarra [12]) Il est décidable en complexité polynomiale si un transduc-teur est k-valué.
La preuve de Gurari et Ibarra ne rappelle en rien celles connues pour le théorème 1, et
consiste à réduire la question au problème de tester le vide pour une classe d’automates
à compteurs. D’un bout à l’autre, elle comprend un schéma théorique dont la complexité
n’est pas facilement calculable : l’automate à compteurs construit accepte un mot si, et
seulement si, il en accepte un de longueur bornée par une certaine fonction ; ces entrées
peuvent être testées par unemachine de Turing non-déterministe en espace logarithmique ;
cette machine peut finalement être simulée par une machine de Turing déterministe en
temps polynomial.
Dans ce papier nous donnons une autre preuve pour le théorème 2. La substance de
notre communication est double. D’une part, notre preuve est conceptuellement différente
de celle de Gurari et Ibarra, et consiste à lire la propriété directement dans une construction
structurelle sur T . De plus, la complexité de l’algorithme résultant peut être estimée avec
précision, et semble être meilleure.
Notre preuve est une généralisation d’une construction de Béal et al. [11] qui donne un
algorithme de complexité polynomiale pour le théorème 1. Cette construction est basée sur
le produit cartésien ou carré T 2 = T ×T d’un transducteur T . Intuitivement, un calcul réussi
de T 2 se projette dans deux calculs réussis de T avec la même entrée, et dire que T réalise
une fonction revient à dire que pour tout calcul réussi de T 2 les sorties des projections sont
égales. Le rapport entre ces sorties est capturé par le produit entre T 2 et une action G qui
mesure la différence entre deux mots, et que nous appellerons, comme dans [11], action
Avance ou Retard. Il en résulte que T réalise une fonction si, et seulement si, la partie
accessible de T 2×G est une valuation de T 2 dont les valeurs des états finaux sont égales
au mot vide, ce qui peut être testé avec un parcours de T 2 (théorème 3).
Dans un premier temps, la généralisation est naturelle. Le transducteur T est k-valué si,
et seulement si, tout calcul réussi du produit (k + 1) fois de T — T k+1 — a au moins deux
projections dont les sorties sont égales. Les rapports entre les sorties apparaissent dans le
produit de T k+1 par une action Gk+1 qui applique l’action Avance ou Retard pour chaque
paire de projections (proposition 1).
Néanmoins, il peut arriver que T k+1 × Gk+1 soit infini, même si T est k-valué (ce qui
ne se vérifie pas pour k = 1). Le point principal de notre preuve est qu’il est possible
d’attacher à tout état de T k+1 un ensemble fini qui capture toute l’information nécessaire
de T k+1 × Gk+1 pour tester si T est k-valué (théorème 4), et que cette information peut
être calculée de façon effective.
Nous allons d’abord décrire la construction de Béal et al. (paragraphe 3), ensuite l’éten-
dre pour un k quelconque (paragraphes 4 et 5) et finalement montrer comment la tester
de façon effective (paragraphe 6). Pour des raisons d’espace, les preuves des lemmes et
propositions sont omises.
2 Définitions
Nous renvoyons le lecteur à [3] pour plus de détails sur les concepts mentionnés dans ce
papier et la notation utilisée.
Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
| 173
Les entiers positifs seront dénotés par N. L’ensemble des mots sur un alphabet A (le
monoïde libre engendré par A) est dénoté par A∗. Le mot vide de A∗ est dénoté par 1A∗ ,
ou seulement 1 dans les figures, et la longueur d’un mot u ∈ A∗ est dénotée par |u|.
Un automate sur unmonoïdeM est un grapheA = (Q, M, E, I, T ) oùQ est un ensemble
d’états, I, T ⊆ Q sont des sous-ensembles d’états initiaux et finaux, respectivement, et
E ⊆ Q×M ×Q est un ensemble de transitions étiquetées par M . L’automate est fini si Q et
E sont finis. Un calcul dans A est une suite c : p0m1−−−→ p1
m2−−−→ . . .ml−−−→ pl de transitions,
aussi dénotée par c : p0m−−→ pl, où m = m1 . . . ml est l’étiquette de c. Il est dit réussi
si p0 ∈ I et pl ∈ T . L’automate réalise le sous-ensemble de M des étiquettes des calculs
réussis.
Un état q de A est accessible (co-accessible) s’il existe un calcul d’un état initial à q (de
q à un état final). L’automate est dit émondé si tout état est accessible et co-accessible.
Un transducteur est un automate sur M = A∗ × B∗. C’est-à-dire, chaque transition est
étiquetée par une paire de mots : un mot d’entrée f et un mot de sortie u, notée par f |u.
Les transducteurs réalisent ainsi des relations entre A∗ et B∗, connues comme relations
rationnelles. L’image d’un mot f par un transducteur est l’ensemble des sorties des calculs
réussis dont l’entrée est f .
Nous ne considérons ici que les transducteurs où l’entrée de chaque transition est
une lettre (la sortie pouvant être un mot quelconque). Il suit du Théorème de Kleene-
Schützenberger que toutes les relations rationnelles dont l’image de chaque entrée est
finie peuvent être réalisées par de tels transducteurs [1, 3]. Cela est vrai en particulier pour
les relations k-valués, où les cardinalités des images sont bornées par k.
Fig. 1: Un transducteur 2-valué. Les états initiaux et finaux sont désignés avec des flèches entrantes et sor-tantes, respectivement.
3 L’action Avance ou Retard
Nous définirons l’action Avance ou Retard par l’intermédiaire du groupe libre engendré par
B. Cette définition est légèrement différente (mais équivalente) de celle donnée dans [11].
Soit B une copie disjointe de l’alphabet B. Rappelons que le groupe libre F (B) engen-
dré par B est le quotient de (B ∪ B)∗ par les équations xx = xx = 1B∗ , pour tout x ∈ B.
L’inverse d’un élément u dans F (B) est dénoté par u et est l’image miroir de u avec des
lettres barrées. Nous écrivons ∆ = B∗ ∪B∗ ∪0, où 0 est un élément absorbant nouveau,
et nous définissons une fonction ρ : F (B) ∪ 0 → ∆ par ρ(w) = w, si w ∈ ∆, et ρ(w) = 0
sinon.
Définition 1 L’action Avance ou Retard de B∗×B∗ sur ∆ est définie par w · (u, v) = ρ(uwv),pour tout w ∈ ∆ et (u, v) ∈ B∗×B∗ (où le produit respecte les règles 0u = u0 = 0).
De façon intuitive, 1B∗ · (u, v) représente la “différence” entre les mots u et v, étant un
mot positif, négatif ou 0, selon que u est un préfixe de v (l’avance de v par rapport a u), v
est un préfixe de u (le retard de v par rapport a u), ou u et v ne sont pas préfixes d’un même
mot. Nous verrons l’action Avance ou Retard comme un automate infini et sans états finaux
G = (∆, B∗ ×B∗, E, 1B∗ ) où E = δ (u,v)−−−−→ δ · (u, v) : δ ∈ ∆, (u, v) ∈ B∗ ×B∗.
Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
174 |
Soit T = (Q, A∗ ×B∗, E, I, T ) un transducteur. Le carré de T est le transducteur
T 2 = (Q2, A∗×B∗2, F, I2, T 2)
où (p, q)a|(u,v)−−−−−→ (p′, q′) ∈ F si, et seulement si, p
a|u−−→ p′ et qa|v−−→ q′ sont des transitions
de T . En oubliant l’entrée des transitions de T 2, on peut faire le produit T 2×G (définition
détaillé dans le paragraphe 4) et on a
Théorème 3 Un transducteur T réalise une fonction si, et seulement si : T 2×G attribue uneseule valeur de ∆ à chaque état accessible et co-accessible de T ; la valeur de chaque étatfinal est 1B∗ .
Il est aisé de tester le théorème 3 en construisant les valeurs des états de T 2 avec un
parcours de ce transducteur. L’analyse fait dans [11] montre que la complexité de ce teste
est de l’ordre O(Lm4), où m est le nombre d’états de T et L et la longueur maximale des
sorties des transitions de T .
4 L’action Avance ou Retard généralisée
Nous allons maintenant généraliser l’action Avance ou Retard de façon a mesurer les dif-
férences dans un vecteur quelconque de mots, et montrer comment cette généralisation
permet de voir si un transducteur est k-valué dans son produit k + 1 fois.
Pour tout l ∈ N, soit Dl = (i, j) | 1 ≤ i < j ≤ l. Nous notons ∆l = ∆Dl l’ensemble
des vecteurs de dimension Dl sur ∆, que nous appellerons différences généralisées (DG).
L’entrée dans la coordonnée (i, j) d’une DG δ sera dénotée par δi,j .
Définition 2 L’action Avance ou Retard Généralisée de B∗l sur ∆l (ARG) est définie par 1
∀δ ∈ ∆l ∀u ∈ B∗l ∀(i, j) ∈ Dl (δ · u)i,j = δi,j · (ui,uj) .
La DG où toutes les entrées sont égales a 1B∗ sera dénotée par η. Nous verrons l’action
ARG comme un automate infini Gl sur B∗l dont les états sont ∆l et l’état initial est η.
Définition 3 L’expansion ARG de T k+1 est le transducteur
T k+1×Gk+1 = (Qk+1×∆k+1, A∗×B∗k+1, G, Ik+1×η, T k+1×∆k+1)
où (p, δ)a|u−−→ (q, δ′) ∈ G si, et seulement si, δ′ = δ · u et p
a|u−−→ q est une transition deT k+1.
Clairement, T est k-valué si, et seulement si, pour tout (k + 1)-uplet de calculs réussis
de ce transducteur avec la même entrée, il en existent au moins deux avec la même sortie.
Cette propriété apparaît dans T k+1×Gk+1 de la manière suivante :
Proposition 1 Un transducteur T est k-valué si, et seulement si, pour tout état accessibleet final (q, δ) de T k+1×Gk+1, δ a au moins une entrée égale a 1B∗ .
Les figures 2 et 3 montrent un exemple de cette construction.
1. Nous écrivons les l-uplets de mots ou états en gras.
Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
| 175
Fig. 2: La partie de T 3 accessible de (p, p, p) et co-accessible de (p, q, r), et ses composantes fortementconnexes, pour le transducteur (2-valué) de la figure 1. Tous les états sont finaux.
Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
176 |
Fig. 3: La partie infinie de T 3×G3 accessible de (p, p, p) et co-accessible de (p, q, r). Les DG sont représen-tées par des matrices triangulaires supérieures. Chaque rectangle gris correspond à des états de T 3 × G3qui se projettent dans un même état de T 3. Les transitions pointillées sont étiquetées par le mot vide et nechangent pas les DG. Les DG pour l’état (p, q, r) sont représentées ci-dessous.
X`(p, q, r)
´=
„1 ct
ct
«: t > 0
ff∪
„ct 1
ct
«: t > 0
ff
ch`X
`(p, q, r)
´´=
„1 1
ct
«: t > 0
ff∪
„1 1
ct
«: t > 0
ff∪
„1 1
⊥
«ff
Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
| 177
5 Une structure finie pour T k+1×Gk+1
Pour tout état q de T k+1, soit X`q
´= δ | (q, δ) accessible dans T k+1×Gk+1. Cet ensemble
peut être infini, comme le montre la figure 3 : la proposition 1 ne peut pas être testée
directement.
L’idée de notre preuve est de rassembler l’information apportée par les éléments de
X`q
´dans une structure finie. Pour cela, considérons l’ensemble Hl = [∆ ∪ ⊥]Dl , où ⊥
marque la place d’une entrée non-définie. Les éléments deHl sont des différences partielle-
ment définies (DPD). Remarquez que ∆l ⊆ Hl. Nous dirons qu’une DPD γ est un choix pour
X ⊆ ∆l si pour tout δ ∈ X, il existe une coordonnée (i, j) telle que γi,j = δi,j 6= 0,⊥ (re-
marquez qu’un choix a au moins une entrée définie). Nous dénotons par ch`X
´l’ensemble
des choix pour X.
Les DPD sont naturellement ordonnées : β v γ si, et seulement si, γ coïncide avec
les entrées définies de β. Comme conséquence de la proposition 1, la propriété “k-valué”
apparaît maintenant de la manière suivante, où m(q) = min`ch
`X
`q
´´´est l’ensemble des
éléments minimaux de ch`X
`q
´´.
Théorème 4 Un transducteur T est k-valué si, et seulement si, pour tout état accessible etfinal q de T k+1, il existe au moins un choix γ ∈ m(q) dont les entrées définies sont égalesa 1B∗ .
Soit X ⊆ ∆l, et notons m(X) = min`ch
`X
´´. Il peut se faire que ch
`X
´soit infini.
Toutefois nous avons
Proposition 2 Pour tout sous-ensemble X de ∆l, m(X) est fini. De plus, card(m(X)) ≤ 2l4 .
L’idée de la preuve de la proposition 2 est d’établir, pour chaque ensemble de coor-
données P dans Dl, une borne pour le nombre d’éléments de m(X) dont les coordonnées
ayant une valeur différente de ⊥ et 0 sont exactement P . Le cas card(P ) = 1 est immédiat ;
l’existence de cette borne en général vient par induction sur card(P ).
La proposition 2 assure la finitude nécessaire pour notre algorithme et aussi sa com-
plexité polynomiale.
6 Test effectif
La construction des ensembles m(q) (pour q accessible et co-accessible) peut être réal-
isée avec un parcours des composantes fortement connexes (CFC) de T k+1 dans un ordre
topologique. Ce processus est possible en raison du fait que m(q) est stable dans la CFC de
q, et que m(q) est un sous-ensemble d’une sorte d’union des informations déjà construites
pour les états qui précèdent q.
Plus précisément, on dit que γ ∈ m(q) est stable si, pour toute boucle qf |u−−−→ q,
γ · u = γ.
Lemme 1 Tout m(q) est stable.
Étant donnés X, Y ⊆ ∆l, on pose XW
Y = β ∨∨∨ γ | β ∈ X, γ ∈ Y , où β ∨∨∨ γ n’est
défini que si β et γ sont compatibles dans les coordonnées ayant une valeur différente de
⊥, et dénote l’infimum des DPD plus grandes que β et γ (dans l’ordre de Hl).
Lemme 2 Si X, Y est une partition de Z ⊆ ∆l, alors m(Z) = min (m(X)W
m(Y )).
Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
178 |
Soit C une CFC de T k+1 et considérons que m(p) a été déjà construit pour tout p
plus petit que les états dans C (dans l’ordre topologique choisi). Ces lemmes permettent
d’obtenir m(q) pour chaque état q de C en deux pas.
Le premier pas consiste à construire une famille d’ensembles de DPD stables dans C
pour q. Soient
e1 : p(1) f1|u(1)
−−−−−−→ q(1), . . . , er : p(r) fr|u(r)
−−−−−−→ q(r)
les transitions de T k+1 dont les extrémités appartiennent a C. Pour chaque i, 1 ≤ i ≤ r,
soit Xi le sous-ensemble de m(p(i)) · u(i) formé par les DPD stables dans C. Il résulte de
l’action sur Xi des sorties des calculs de q(i) à q un nouveau ensemble Yi de DPD stables.
Par le lemme 1, les DPD dans la famille Y1, . . . , Yr contiennent toutes les valeurs possibles
d’apparaître dans les DPD de m(q).
Ensuite, le lemme 2 assure que m(q) = minhWi=r
i=1 Yi
i.
L’algorithme commence en rajoutant un état initial caché i avec des transitions sortantes
étiquetées par le mot vide vers les états initiaux de T k+1, et m(i) est l’ensemble des DPD
ayant exactement une entrée définie, égale a 1B∗ . La figure 4 montre un exemple.
Fig. 4: Les ensembles m(q) pour les états de T 3 accessibles de (p, p, p) et co-accessibles de (p, q, r).L’ensemble m
`(p, q, r)
´est obtenu en appliquant
Wet est égal à
m`(p, q, r)
´=
„1 1
⊥
«ff.
La complexité de cet algorithme dépend de la propriété suivante des DPD :
Proposition 3 Pour tout γ ∈ m(q), si γi,j est défini, il existe un calcul if |u−−−→ q sans cycles,
avec i initial, tel que γi,j = uiuj . Par conséquent, |γi,j | ≤ Lnk+1, où L est le maximum deslongueurs des sorties des transitions de T et n est le nombre d’états de T .
Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
| 179
Il est possible de tester si une DPD est stable dans une composante à s transitions avec
O(k2Lnk+1s) opérations. La proposition 2 assure que chaque m(q) a au plus 2(k+1)4 élé-
ments, donc la constructions des ensembles Yi peut être fait en tempsO(2(k+1)4k2Lnk+1s),
et chaque opérationW
en temps O(24(k+1)4k2Lnk+1). La complexité de notre algorithme
est O(25(k+1)4Lnk+1mk+1).
Remerciements
L’auteur souhaite remercier les membres du comité scientifique, dont les corrections et
suggestions ont permis une amélioration significative de cette communication.
Ce travail a été réalisé en collaboration avec Jacques Sakarovitch à l’ENST-Paris et s’in-
scrit dans la recherche de doctorat de l’auteur, financée par la CAPES Foundation (gou-
vernement brésilien).
Références[1] S. Eilenberg. Automata, Languages, and Machines, volume A. Academic Press, 1974.
[2] J. Berstel. Transductions and context-free languages. B. G. Teubner, 1979.
[3] J. Sakarovitch. Eléments de théorie des automates. Vuibert, 2003. English translation : Elements
of Automata Theory, Cambridge University Press, to appear.
[4] E. Roche and Y. Schabes. Finite-State Language Processing. MIT Press, 1997.
[5] M. Mohri. Finite-state transducers in language and speech processing. Computational Linguistics,
23 :269–311, 1997.
[6] M. Mohri, F. Pereira, and M. Riley. Weighted finite-state transducers in speech recognition. Com-
puter Speech and Language, 16(1) :69–88, 2002.
[7] M.O. Rabin and D. Scott. Finite automata and their decision problems. IBM Journal of Research
and Development, 3 :114–125, 1959.
[8] P.C. Fischer and A.L. Rosenberg. Multitape one-way nonwriting automata. J. Computer System
Sci., 2 :88–101, 1968.
[9] M.P. Schützenberger. Sur les relations rationnelles. In Automata Theory and Formal Languages,
2nd GI Conference, volume 33 of Lecture Notes in Computer Science, pages 209–213, 1975.
[10] A. Weber and R. Klemm. Economy of description for single-valued transducers. Information and
Computation, 119 :327–340, 1995.
[11] M.P. Béal, O. Carton, C. Prieur, and J. Sakarovitch. Squaring transducers : An efficient procedure
for deciding functionality and sequentiality. Theoretical Computer Science, 292 :45–63, 2003.
[12] E. Gurari and O Ibarra. A note on finite-valued and finitely ambiguous transducers. Mathematical
Systems Theory, 16 :61–66, 1983.
Schedae, 2007, prépublication n° 27, (fascicule n° 2, p. 171-179).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
Séparation aveugle de sources
session 8
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 181
Prépublication n° 28 | Fascicule n° 2
Séparation aveugle de sourcespour des systèmes MIMOet un codage d’Alamouti et de Tarokh
Steredenn Daumont, Daniel Le GuennecSociété IPSIS et IETR /SCEE/ Supélec
[email protected], [email protected]
Résumé :
On considère un problème de séparation aveugle de sources (BSS), c’est à dire sans utiliser de
séquences pilotes, sur un système MIMO (Multiple Input Multiple Output) associé à un codage
à diversité du type Tarokh ou Alamouti. Ces codes transmettent chaque symbole de manière re-
dondante et à travers un canal linéaire instantané. L’algorithme MUK (MultiUser Kurtosis) utilisé
habituellement en MIMO-BLAST (Bell Labs Advanced Space Time) est appliqué ici sur notre sys-
tème à diversité et permet de séparer les signaux malgré la redondance introduite par les codes
à diversité. Mais les méthodes de BSS ont pour inconvénient de ne pas récupérer l’ordre des
sources en sortie. Nous proposons donc une méthode complémentaire qui, à partir de l’analyse
des symboles obtenus après séparation des sources et en exploitant la redondance introduite par
les codes de Tarokh et d’Alamouti, permet de lever l’ambiguïté sur l’ordre des sources et donc
sur l’ordre des symboles, tout en réduisant l’EQM (Erreur Quadratique Moyenne) et le TES (Taux
d’Erreur Symboles) par rapport à une méthode qui n’exploite pas la redondance.
Mots-clés : systèmes de communication MIMO, séparation de sources, Alamouti, Tarokh.
1 Introduction
Le premier système MIMO BLAST (Bell Labs Layered Space Time) [1] a été proposé par le
laboratoire Bell en 1996 afin d’augmenter la capacité des systèmes de communication sans
fil en utilisant plusieurs antennes à la fois en émission et en réception. Depuis les systèmes
BLAST, Alamouti [2] a proposé en 1998 un système à diversité qui augmente la fiabilité de la
transmission mais seulement pour deux antennes à l’émission. En 1999, Tarokh [3] a étendu
le codage d’Alamouti pour un nombre arbitraire d’antennes. Les codes d’Alamouti et de
Tarokh font partie des codes en blocs espace-temps orthogonaux (OSTBC), qui envoient
Steredenn Daumont, Daniel Le Guennec« Séparation aveugle de sources pour des systèmes MIMO et un codage d’Alamouti et de Tarokh »
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
182 |
de manière redondante les symboles afin d’améliorer les taux de transmission correcte sur
des canaux sélectifs.
De nombreux travaux existent sur la BSS pour des systèmes MIMO de type BLAST
[4] [5] [6] [7] [8], et pour des codes STBC [9] [10], mais ils ne permettent pas de lever l’am-
biguïté sur l’ordre des sources (la BSS permet de retrouver les sources à une permutation
près). Ainsi, nous nous sommes intéressés à ce problème en utilisant la BSS, avec un algo-
rithme MUK [6] et [7], un code d’Alamouti ou de Tarokh, puisque peu de travaux existent
sur ce sujet.
Nous proposons une méthode qui est appliquée directement après l’algorithme MUK et,
grâce à la redondance introduite par les codes d’Alamouti et de Tarokh, permet de trouver
le bon ordre des sources. De plus, notre méthode permet de réduire l’EQM et le TES com-
parée à une méthode qui n’exploite pas la redondance (équivalent à un système BLAST).
Le document est organisé de la manière suivante : dans un premier temps nous formulerons
le problème, nous présenterons les codes d’Alamouti et de Tarokh puis l’algorithme MUK,
dans un deuxième temps nous présenterons notre méthode d’estimation de l’ordre des
sources par exploitation de la diversité pour des codes de Tarokh et d’Alamouti, et enfin
dans une dernière partie nous présenterons nos résultats de simulations.
2 Formulation du problème
Dans les systèmes MIMO, la trame composée des symboles s(k) est transmise via plusieurs
antennes. La répartition des symboles sur les antennes peut se faire de différentes manières
(selon le type de codage MIMO utilisé). Soit xi(k) les symboles, envoyés sur la ie antenne,
résultant du codage MIMO.
On considère un système MIMO de type Alamouti ou Tarokh avec respectivement Nt et
Nr antennes en émission et en réception, supposées non corrélées. Le canal est supposé
linéaire, sans mémoire, ne variant pas durant la transmission et ses éléments complexes
suivent une loi gaussienne de moyenne nulle et de variance unité. Le signal reçu, sous
forme matricielle, s’écrit :
Y (k) = H.X(k) + B(k)
où Y (k) =
y1(k)
y2(k)
...
yNr (k)
X(k) =
x1(k)
x2(k)
...
xNt (k)
B(k) =
b1(k)
b2(k)
...
bNr (k)
H =
h11 · · · h1Nt
.... . .
...
hNr1 · · · hNrNt
où
– Y (k) est le vecteur (Nr × 1) des signaux reçus à l’instant k ;
– X(k) est le vecteur (Nt×1) des signaux sources envoyés à l’instant k tiré de la matrice
L résultante du codage d’Alamouti ou de Tarokh (décrit dans la section suivante) ;
– B(k) est un vecteur (Nr × 1) bruit additif gaussien à l’instant k ;
– H est une matrice (Nr ×Nt) de canal instantané.
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
| 183
2.1 Codage d’Alamouti et de TarokhLe code d’Alamouti vérifie les trois propriétés suivantes : rendement unitaire, diversité maxi-
male et orthogonalité, pour Nt = 2. La matrice mot de code L est alors :
L =
(X(1) X(2) . . . X(2×Ns)
)=
(s(1) −s∗(2) s(3) −s∗(4) . . . s(Ns − 1) −s∗(Ns)
s(2) s∗(1) s(4) s∗(3) . . . s(Ns) s∗(Ns − 1)
)
où la 1ère ligne de la matrice L correspond au flux de symboles émis sur l’antenne 1 et la
2e ligne au flux de symboles émis sur l’antenne 2, Ns est le nombre de symboles à trans-
mettre, s(k) le symbole émis, s∗(k) son conjugué.
Cependant, le code d’Alamouti n’est optimal que pour deux antennes à l’émission.
Tarokh a généralisé cet algorithme [3] et il a démontré que l’on peut avoir un rendement de12pour un nombre quelconque d’antennes, tout en gardant une construction orthogonale.
Pour Nt = 3, la matrice mots de code est la suivante :
L =
(X(1) X(2) . . . X(8×Ns)
)
=
s(1) −s(2) −s(3) −s(4) s∗(1) −s∗(2) −s∗(3) −s∗(4) . . .
s(2) s(1) s(4) −s(3) s∗(2) s∗(1) s∗(4) −s∗(3) . . .
s(3) −s(4) s(1) s(2) s∗(3) −s∗(4) s∗(1) s∗(2) . . .
Et pour Nt = 4,
L =
(X(1) X(2) . . . X(8×Ns)
)
=
s(1) −s(2) −s(3) −s(4) s∗(1) −s∗(2) −s∗(3) −s∗(4) . . .
s(2) s(1) s(4) −s(3) s∗(2) s∗(1) s∗(4) −s∗(3) . . .
s(3) −s(4) s(1) s(2) s∗(3) −s∗(4) s∗(1) s∗(2) . . .
s(4) s(3) −s(2) s(1) s∗(4) s∗(3) −s∗(2) s∗(1) . . .
Une fois ces symboles envoyés dans le canal, une séparation aveugle de sources est effec-
tuée en réception grâce à l’algorithme MUK.
2.2 Algorithme MUKLe principe de séparation de sources est de filtrer les signaux reçus Y (k) par une matrice
W (k) de dimension Nr ×Nt afin d’obtenir Z(k) de dimension Nt × 1 :
Z(k) = W T (k)Y (k) où W T représente la transposée de la matrice W
= W T (k)H.X(k) + B′(k)
= GT (k)X(k) + B′(k)
avec G(k) = HT W (k) B′(k) = W T (k)B(k)
Idéalement, en l’absence de bruit, Z(k) = X(k), cependant la matrice d’égalisation
W (k) ne permet de retrouver les sources qu’avec un certain déphasage et une certaine
permutation. Ici on supposera que seule la permutation est inconnue.
Plusieurs hypothèses sont à considérer pour pouvoir réaliser la séparation de sources à l’aide
de l’algorithme MUK :
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
184 |
– Nr ≥ Nt ;
– H est de rang plein Nt, avec des éléments complexes gaussiens indépendants et
identiquement distribués. H doit être unitaire, si ce n’est pas le cas les signaux reçus
Y doivent être préblanchis avant d’appliquer l’algorithme MUK ;
– Le bruit est additif, blanc, gaussien, de moyenne nulle, indépendant des signaux
sources, de covariance Cb = E[BBH ] = σ2b INr , où INr représente la matrice identité
(Nr ×Nr) ;
– Les signaux sources sont des séquences de symboles, à temps discret, centrés, de
matrice de covariance Cx = E[XXH ] = INt et, pour pouvoir appliquer l’algorithme
MUK, ils doivent être indépendants et identiquement distribués.
On pourrait penser que la séparation avec cet algorithme n’est pas réalisable puisque
les éléments de la matrice L sont dépendants, mais puisqu’à un instant donné, les éléments
de la matrice L sont mutuellement indépendants, l’algorithme MUK reste utilisable pour
effectuer la séparation.
L’ensemble des conditions suivantes sont nécessaires et suffisantes pour retrouver tous les
symboles transmis à la sortie de l’égaliseur en utilisant l’algorithme MUK :
C1) |K(zl(k))| = |Kx|, l = 1, ..., Nt
C2) E[|zl(k)|2] = σ2x, l = 1, ..., Nt
C3) E(zl(k)z∗m(k)) = 0, l 6= m
où K(a) = E[|a|4]− 2E2[|a|2]−∣∣E[a2]
∣∣2 est le kurtosis non normalisé
Kx = K(xl(k))
σ2x = E[|xl(k)|2]
Papadias a proposé dans [6] le critère suivant pour séparer les signaux de manière aveu-
gle : max G F (G) =
∑Nt
l=1‖K(zl)‖
sous GHG = INt
La contrainte est nécessaire pour éviter que l’on obtienne plusieurs fois la même source
en sortie de l’égaliseur. La réalisation de ce critère peut être effectuée en utilisant un algo-
rithme de gradient stochastique et s’effectue en deux temps :
– Mise à jour de W (k) dans la direction du gradient instantané (contrôlé pas un pas
d’adaptation µ) :
W ′(k + 1) = W (k) + µsign(Kx)Y (k)Z′(k)
où Z′(k) =(|z1(k)|2z1(k) . . . |zNt (k)|2zNt (k)
)– satisfaction de la contrainte d’orthogonalisation à la prochaine itération de l’algo-
rithme : GH(k)G(k) = INt . En supposant H unitaire (ce qui revient à supposer que
les signaux reçus sont préblanchis), il suffit de choisir W (k+1) demanière à satisfaire :
W H(k + 1)W (k + 1) = INt
L’orthogonalisation est obtenue en utilisant une procédure d’orthogonalisation deGram-
Schmidt et est combinée avec l’algorithme MUK de la manière suivante :
1. k = 0, W (0) = W0
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
| 185
2. pour k > 0, on obtient W ′(k + 1) = W (k) + µsign(Kx)Y ∗(k)Z′(k)
avec µ le pas d’adaptation de l’algorithme et
Z′(k) =(|z1(k)|2z1(k) . . . |zNt (k)|2zNt (k)
)3. on obtient W1(k + 1) =
W ′1(k+1)
‖W ′1(k+1)‖ où W ′
1 est définie par W ′ =(W ′
1 . . . W ′Nt
)4. pour j = 2 à Nt faire Wj(k+1) =
W ′j(k+1)−
∑j−1
l=1
(W H
l(k+1)W ′
j(k+1))
Wl(k+1)∥∥W ′j(k+1)−
∑j−1
l=1
(W H
l(k+1)W ′
j(k+1)
)Wl(k+1)
∥∥ Fin
de la boucle
5. W (k + 1) = (W1(k + 1) . . . WNt (k + 1))
6. k = k + 1 retour à 2
3 Estimation de l’ordre des symbolespar exploitation de la diversité
3.1 Cas du codage d’Alamouti avec Nt = Nr = 2
Après réception, séparation et récupération de la phase, les sources sont obtenues avec
une certaine permutation. Ainsi, la matrice résultante Z est identique à la matrice L à une
permutation près des lignes. La matrice Z s’écrit de la manière suivante :
Z =
(z1(1) z1(2) z1(3) z1(4) . . .
z2(1) z2(2) z2(3) z2(4) . . .
)
suivant les permutations on a :
z1(1) = s(1) ou s(2)
z2(1) = s(2) ou s(1)
z1(2) = −s∗(2) ou s∗(1)
z2(2) = s∗(1) ou −s∗(2)
etc...
où s représente l’estimée de s.
On identifie alors l’ordre des sources grâce à la règle suivante :
Si z1(k)z2(k + 1) > z2(k)z1(k + 1)
alors z1(k) = s(k), les lignes sont ici dans le bon ordre(z1(k)z2(k + 1) = |s(k)|2 > 0 et z2(k)z1(k + 1) = −|s(k + 1)|2 < 0
)sinon z1(k) = s(k + 1), il y a ici une permutation des lignes 1 et 2(
z1(k)z2(k + 1) = −|s(k + 1)|2 < 0 et z2(k)z1(k + 1) = |s(k)|2 > 0)
où k ∈ 1, 3, . . . , Ns − 1.
Puisque le canal ne change pas durant la transmission, l’ordre identifié ne change plus,
mais pour plus de robustesse, nous sommons le produit ci-dessus sur P échantillons
zi(Ns − (P − 1)) . . . zi(Ns) :
Si∑k∈F
z1(k)z2(k + 1) >∑k∈F
z2(k)z1(k + 1)
où F = Ns − (P − 1), Ns − (P − 1), . . . , Ns − 1
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
186 |
alors z1(k) = s(k)
sinon z1(k) = s(k + 1).
Une fois l’ordre identifié, les symboles sont estimés par une moyenne sur les échantillons
reçus afin de réduire l’EQM :
– si z1(k) = s(k) alors s(k) =z1(k)+z∗2 (k+1)
2et s(k + 1) =
z2(k)−z∗1 (k+1)
2
– si z1(k) = s(k + 1) alors s(k + 1) =z1(k)−z∗2 (k+1)
2et s(k + 1) =
z2(k)+z∗1 (k+1)
2
Les zi étant indépendants et de même variance, la variance de l’estimation des symboles
est alors réduite par deux :
V ar[s(k)] =2V ar[zi(k)]
4=
V ar[zi(k)]
2
Dans le but de comparer et d’évaluer le résultat obtenu nous présentons ci-dessous le
calcul de l’expression théorique de l’EQM.
Après quelques calculs on obtient l’EQM théorique lorsque l’on exploite la redondance
(MSE1(σ2b )) avec Nt = Nr = 2 :
MSE1(σ2b ) = 10× log10
(1
Ns
Ns−1∑k=0
|s(k)− s(k)|2)
= 10× log10
1
Ns×
∑k∈1,3,...,Ns−1
(∣∣∣∣ z1(k) + z∗2 (k + 1)
2− s(k)
∣∣∣∣2 +
∣∣∣∣ z2(k)− z∗1 (k + 1)
2− s(k + 1)
∣∣∣∣2))
= 10× log10
(∣∣g11 + g∗22 − 2∣∣2 +
∣∣g21 − g∗12
∣∣24
+σ2
b
2
)
où gkl = G(k, l) and wkl = W (k, l).
D’autre part, on obtient l’EQM théorique lorsque l’on n’exploite pas la redondance
(MSE2(σ2b )) :
MSE2(σ2b ) = 10× log10
(1
Ns
Ns−1∑k=0
|s(k)− s(k)|2)
= 10× log10
1
Ns
∑k∈1,3,...,Ns−1
(|z1(k)− s(k)|2 + |z2(k)− s(k + 1)|2
)= 10× log10
(|g11 − 1|2 + |g21|2
2+|g22 − 1|2 + |g12|2
2+ σ2
b
)Pour obtenir ces équations on a utilisé les hypothèses suivantes : E[B(k)BH(k + l)] =
σ2b × δ(l)INt , où δ(l) = 1 si l = 0 sinon δ(l) = 0, X et B sont mutuellement indépendants de
moyenne nulle, E[X(k)XH(k + l)] = δ(l)INt et b1 et b2 sont mutuellement indépendants.
Ainsi, la différence entre l’EQM1 et l’EQM2 est égale à :
MSE1(σ2b )−MSE2(σ2
b ) = 10× log10
(12× |g11+g∗22−2|2+|g21−g∗12|2+2σ2
b
|g11−1|2+|g21|2+|g22−1|2+|g12|2+2σ2b
)Sans inter-
férence inter-antennes, g11 → 1, g22 → 1, g21 → 0 et g12 → 0, on obtient ainsi :
MSE1(σ2b )−MSE2(σ2
b ) = 10× log10
(1
2
)= −3dB
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
| 187
3.2 Cas du codage de TarokhAvec le code de Tarokh, nous exploitons toujours la redondance pour retrouver l’ordre des
sources mais de manière plus simple. Lorsque Nt = Nr = 3, la matrice Z est donc définie
ainsi :
Z =
z1(1) z1(2) z1(3) z1(4) z1(5) z1(6) z1(7) z1(8) . . .
z2(1) z2(2) z2(3) z2(4) z2(5) z2(6) z2(7) z2(8) . . .
z3(1) z3(2) z3(3) z3(4) z3(5) z3(6) z3(7) z3(8) . . .
et suivant les permutations on a
z1(1) = s(1) s(2) s(3)
z2(1) = s(3) ou s(1) ou s(2)
z3(1) = s(2) s(3) s(1)
z1(2) = s(1) −s(2) −s(4)
z2(2) = −s(4) ou s(1) ou −s(2)
z3(2) = −s(2) −s(4) s(1)
etc...
Nous remarquons que les transformations effectuées sur les symboles s(k) par le schéma
de Tarokh sont linéaires, mise à part le conjugué. Pour rendre toutes les transformations
linéaires, nous conjuguons les symboles zl(k), zl(k + 1), zl(k + 2), zl(k + 3), pour l ∈
1, . . . , Nt et k = 5 + 8p p ∈ 0, . . . , Ns4− 1, comme ci-dessous.
Z′ = [z′l(k)] =
z1(1) z1(2) z1(3) z1(4) z∗1 (5) z∗1 (6) z∗1 (7) z∗1 (8) . . .
z2(1) z2(2) z2(3) z2(4) z∗2 (5) z∗2 (6) z∗2 (7) z∗2 (8) . . .
z3(1) z3(2) z3(3) z3(4) z∗3 (5) z∗3 (6) z∗3 (7) z∗3 (8) . . .
Ainsi pour récupérer le symbole s(1), il suffit d’effectuer une combinaison linéaire des
signaux séparés, c’est à dire une combinaison linéaire de la somme des éléments des
colonnes de la matrice Z′, puisque l’on ne peut pas identifier les zl(k) :
s(1) =
∑j∈1,2,3,5,6,7
Nt∑i=1
z′i(j)
/6
Cette somme permet d’éliminer de manière aveugle les symboles s(2), s(3) et s(4) et de
ne conserver que s(1), les symboles s(2), s(3) et s(4) sont obtenus par la même méthode :
s(2) =
(∑j∈1,4,5,8
∑Nt
i=1z′i(j)−
∑j∈2,6
∑Nt
i=1z′i(j)
)/6
s(3) =
(∑j∈1,5
∑Nt
i=1z′i(j)−
∑j∈3,4,7,8
∑Nt
i=1z′i(j)
)/6
s(4) =
(∑j∈3,7
∑Nt
i=1z′i(j)−
∑j∈2,4,6,8
∑Nt
i=1z′i(j)
)/6
Comme pour le code d’Alamouti, la variance des symboles ainsi obtenus est alors dimi-
nuée par deux par rapport aux symboles obtenus sans exploiter la redondance :
V ar[S] =
∑6
j=1
∑Nt
i=1V ar[Z′]
36=
18V ar[Z′]
36=
V ar[Z′]
2
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
188 |
De la même manière, lorsque Nt = Nr = 4, nous obtenons les symboles s(k) grâce à une
combinaison linéaire des symboles séparés z′l(k) :
s(1) =
( 8∑j=1
Nt∑i=1
z′i(j)
)/8
s(2) =
( ∑j∈1,4,5,8
Nt∑i=1
z′i(j)−∑
j∈2,3,6,7
Nt∑i=1
z′i(j)
)/8
s(3) =
( ∑j∈1,2,5,6
Nt∑i=1
z′i(j)−∑
j∈3,4,7,8
Nt∑i=1
z′i(j)
)/8
s(4) =
( ∑j∈1,3,5,7
Nt∑i=1
z′i(j)−∑
j∈2,4,6,8
Nt∑i=1
z′i(j)
)/8
etc...
On obtient alors la même variance que lorsque Nt = Nr = 3.
4 Résultats de simulation
Nous nous situons dans les hypothèses faites dans le paragraphe 2, le signal est préblanchi
avant d’appliquer l’algorithme MUK associé à une orthogonalisation de Gram-Schmidt, le
pas d’adaptation de l’algorithme est µ = 0, 002. Les symboles sont issus d’une constella-
tion 4 ou 16 QAM, les simulations sont effectuées avec 10000 symboles (nos courbes sont
obtenues après convergence de l’alorihme MUK). On prend P=20. La séparation aveugle
de sources associée à notre méthode d’identification des symboles (grâce à l’exploitation
de la redondance) est comparée à une méthode qui élimine directement la redondance
(sans exploitée celle-ci) et en retrouvant l’ordre des symboles manuellement. Nous allons
maintenant commenter les courbes obtenues avec les différents codes. Les courbes d’EQM
sont obtenues par moyennage sur 100 réalisations indépendantes et les courbes de TES
sur 1000 réalisations indépendantes.
4.1 Erreur quadratique moyenne pour une constellationde 4-QAM et Nt = Nr = 2, 3 et 4
On remarque sur la figure 1 et 2, c’est à dire avec Nt = Nr = 2 et Nt = Nr = 3 re-
spectivement, que l’EQM en exploitant la redondance (on l’appelera EQM1) est, comme
on l’attendait, inférieure de 3 dB à l’EQM sans exploiter la redondance (que l’on appelera
EQM2). Nous obtenons avec Nt = Nr = 4 les même résultas (non représentés ici). Les
courbes (fig. 1) sont obtenues à partir de l’expression théorique, comparées aux courbes
obtenues par simulation (fig. 1) on voit qu’elles sont parfaitement identiques, ce qui con-
firme l’expression analytique de l’EQM.
4.2 Erreur Quadratique moyenne pour une constellationde 16-QAM et Nt = Nr = 2, 3 et 4
Sur les figures 1 et 2, lorsque Es/N0 est compris entre 0 dB et 30 dB, les performances
attendues sont obtenues, c’est à dire que l’EQM1 est inférieure de 3dB à l’EQM2.
Lorsque Es/N0 est supérieure à 30 dB, l’EQM1 se rapproche de l’EQM2. Cela est du à
l’interférence inter-antennes, ce phénomène est observé grâce au SINR (Signal to Noise
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
| 189
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40−45
−40
−35
−30
−25
−20
−15
−10
−5
0EQM avec 100 réalisations, Nt=Nr=2, 10000 symboles, mu=0.002
Es/N0(dB)
EQ
M(d
B)
EQM sans exploiter la redondance 4−QAMEQM en exploitant la redondance 4−QAM EQM sans exploiter la redondance 16−QAMEQM en exploitant la redondance 16−QAM
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40−45
−40
−35
−30
−25
−20
−15
−10
−5
0EQM avec 100 réalisations, Nt=Nr=2, 10000 symboles, mu=0.002
Es/N0(dB)
EQ
M(d
B)
EQM théorique sans exploiter la redondance 16−QAMEQM théorique en exploitant la redondance 16−QAMEQM théorique en exploitant la redondance 4−QAMEQM théorique sans exploiter la redondance 4−QAM
Fig. 1: EQM et EQM théorique respectivement avec Nt = Nr = 2.
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40−45
−40
−35
−30
−25
−20
−15
−10
−5
0EQM avec 100 réalisations, Nt=Nr=3, 10000 symboles,mu=0.002
Es/N0(dB)
EQ
M(d
B)
EQM sans exploiter la redondance 4−QAMEQM en exploitant le redondance 4−QAMEQM sans exploiter la redondance 16−QAMEQM en exploitant la redondance 16−QAM
0 4 8 12 16 2010
−5
10−4
10−3
10−2
10−1
100
TES avec 1000 réalisations,Nr=Nt=3, 1000 symboles,mu=0.002
Es/N0(dB)
TE
S
TES sans exploiter la redondance 16−QAMTES en exploitant la redondance 16−QAMTES sans exploiter la redondance 4−QAMTES en exploitant la redondance 4−QAM
Fig. 2: EQM et TES respectivement avec Nt = Nr = 3.
and Interference Ratio) et est défini ainsi :
SINRj(Wk) =|gkj |2
Nr∑l=1,l6=j
|gkl|2 + W Hk RbWk
où gkl = G(k, l), SINRj(Wk) est le SINR du jme signal transmis sur la kme antenne recep-
trice et Rb = E[BBH ].
Notreméthode permet donc de réduire le bruit additif mais pas l’interférence inter-antennes.
Ainsi, lorsque le bruit diminue, celle-ci devient prédominante et alors nous obtenons les
même performances lorsque l’on exploite la redondance que lorsque l’on ne l’exploite pas.
Nous obtenons les mêmes résulats avec Nt = Nr = 4. Les courbes théoriques sont, comme
en 4-QAM, identiques aux courbes réelles.
4.3 Taux d’Erreur par Symbole pour des constellationsde 4-QAM et 16-QAM et Nt = Nr = 2, 3 et 4
Sur la figure 2, le TES obtenu pour Nt = Nr = 3 en exploitant la redondance est pratique-
ment deux fois plus faible que le TES obtenu sans exploiter la redondance. Nous obtenons
les mêmes résultats pour Nt = Nr = 2 et 4.
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
190 |
5 Conclusion
Nous avons considéré le problème de séparation aveugle de sources pour un systèmemulti-
antennes avec codage à diversité (ici Alamouti ou Tarokh) et un canal linéaire instantané.
Le problème avec la BSS est que l’on ne peut pas retrouver les sources dans le bon ordre
et nous ne pouvons donc pas retrouver le message transmis facilement. Ainsi, nous avons
proposé une méthode complémentaire à l’algorithme MUK existant déjà pour les systèmes
MIMO BLAST afin de lever l’ambiguïté sur l’ordre des sources. Notre méthode permet,
grâce à la redondance introduite par les codes de Tarokh et Alamouti, d’identifier l’ordre
des sources en utilisant deux, trois ou quatre antennes à l’émission et à la réception et une
constellation 4 et 16-QAM. De plus, l’EQM et le TES sont réduits par rapport à uneméthode
qui n’exploiterait pas la redondance.
Références[1] G.J. Foschini. Layered space-time architecture for wireless communication in a fading environment
when using multiple antennas. BELL LABORATORIES TECHNICAL JOURNAL, 1(2) :41–59, 1996.
[2] Siavash M.Alamouti. A simple transmit diversity technique for wireless communications. IEEE
JOURNAL ON SELECT AREAS IN COMMUNICATIONS, 16(8) :1451–1458, October 1998.
[3] Hamid Jafarkhani Vahid Tarokh and A. R. Calderbank. Space-time block codes from orthogonal
designs. IEEE TRANSACTIONS ON INFORMATION THEORY, 45(5) :1456–1467, July 1999.
[4] Carlos J. Escudero Luis Castedo and Adriana Dapena. A blind signal separation method for mul-
tiuser communications. IEEE TRANSACTION ON SIGNAL PROCESSING, 45 :1343–1348, 1997.
[5] D.B. Ward P. Sansrimahachai and A.G. Constantinides. Blind source separation for blast. DIGITAL
SIGNAL PROCESSING, 1 :139–142, 2002.
[6] C B. Papadias. Globally convergent blind source separation based on a multiuser kurtosis maxi-
mization criterion. IEEE TRANSACTIONS ON SIGNAL PROCESSING, 48(12) :3508–3519, Decem-
ber 2000.
[7] C B. Papadias. A multiuser kurtosis algorithm for blind source separation. IEEE INTERNATIONAL
CONFERENCE, 5 :3144–3147, 2000.
[8] N. Delfosse and P. Loubaton. Adaptative separation of independent sources : a deflation approach.
Signal Processing, 4 :59–83, April 1994.
[9] Adriana Dapena Hector J. Perez-Iglesias and Jose A.Garcia-Naya. Using bss algorithms in alamouti
space-time block coding shemes. ICA RESEARCH NETWORK INTERNATIONAL WORKSHOP,
2006.
[10] A. Lee Swindlehurst. Blind and semi bling equalization for generalized space-time block codes.
IEEE TRANSACTIONS ON SIGNAL PROCESSING, 50(10) :2489–2498, October 2002.
Schedae, 2007, prépublication n° 28, (fascicule n° 2, p. 181-190).
| 191
Prépublication n° 29 | Fascicule n° 2
Séparation aveugle de sourcescyclostationnaires par utilisationdes statistiques de second ordre
Mohamed Salem Ould Mohamed, Hassan Fenniri, Georges DelaunayLaboratoire CReSTIC-DéCOM
[email protected], [email protected], [email protected]
Amor KeziouLaboratoire de Mathématiques UMR 6056, Université de Reims
Résumé :
Dans ce papier, nous proposons un nouveau critère de séparation aveugle de sources cyclo-
stationnaires au second ordre de fréquences cycliques supposées connues et différentes deux-à-
deux, dans le cadre d’unmélange linéaire instantané. Laméthode est issue de l’analyse spectrale ;
elle est basé sur l’exploitation des caractéristiques cyclostationnaires à l’ordre deux des signaux
sources. La méthode est facile à mettre en œuvre. Les résultats théoriques sont présentées et
illustrés par des simulations.
Mots-clés : cyclostationnarité, séparation aveugle de sources, statistiques à l’ordre deux,
algorithme de Newton.
1 Introduction et notation
Les premières méthodes de séparation aveugle de sources ont été abordées au milieu
des années 80 [1, 2]. Ensuite, [3, 4, 5, 6, 7] ont défini le cadre mathématique de l’Analyse
en Composantes Indépendantes. La séparation aveugle de sources est une technique de
traitement qui consiste à restituer un ensemble de signaux non-observables appelés sources
à partir d’un ensemble de signaux mesurés appelés observations. La plupart des métho-
des de séparation aveugle de sources supposent l’indépendance statistique de celles-ci ;
elles consistent à rendre les observations indépendantes au sens statistique. Les différentes
M.S. Ould Mohamed, Amor Keziou, Hassan Fenniri, Georges Delaunay« Séparation aveugle de sources cyclostationnaires par utilisation des statistiques de second ordre »
Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).
192 |
méthodes présentées dans la littérature s’appliquent dans le cas stationnaire, certaines de
ces méthodes se contentent de rendre les observations indépendantes à l’ordre deux (dé-
corrélation ou blanchiment) [8], d’autres utilisent des statistiques d’ordres supérieurs (voir
par exemple [9]). Enfin, d’autres méthodes sont basées sur la minimisation de l’Information
Mutuelle (voir par exemple [10, 11, 12]). Toutes ces méthodes s’appliquent et donnent de
bons résultats pour des sources stationnaires ; elles ne sont pas exploitables directement
dans le cas cyclostationnaire, car les estimateurs statistiques associés ne sont plus adap-
tés. La séparation aveugle de sources cyclostationnaires quant à elle n’a pas encore été
entièrement étudiée. [13, 14, 15, 16] considèrent ce problème et proposent des méthodes
s’appliquant dans des situations spécifiques particulières. [17, 18] proposent une méthode
permettant d’extraire un signal d’intérêt cyclostationnaire de fréquence cyclique connue
en exploitant l’autocorrélation cyclique dans le cadre d’un mélange instantané. Dans le
présent article, nous étendons ces travaux, en proposant une nouvelle méthode de sépa-
ration aveugle de sources cyclostationnaires à l’ordre 2. Cette méthode permet d’extraire
plusieurs signaux sources cyclostationnaires de fréquences cycliques connues et différentes
deux-à-deux. Les signaux cyclostationnaires sont d’intérêt pratique dans les domaines de
radiocommunication, radar, diagnostic des machines tournantes, etc.
Le mélange est de la forme
x = As (1)
où A est la matrice de mélange, de dimension p × p et s := (s1, . . . , sp)T sont les signaux
sources, supposés indépendants et cyclostationnaires à l’ordre 2, de fréquences cycliques
différentes deux-à-deux. Le but est donc d’estimer les sources s à partir des observations
x := (x1, . . . , xp)T . L’estimateur s’écrit donc
y = Bx (2)
où B est la matrice séparante. Le problème consiste donc à déterminer cette matrice B, à
partir des observations x, qui conduit à une bonne estimation des sources s, en exploitant
la cyclostationnarité des signaux sources. La méthode que nous proposons se décompose
en deux étapes : La première étape consiste à blanchir les observations x. Soit W la matrice
de blanchiment des signaux observés x. Notons les signaux blanchis
z = Wx. (3)
Les signaux z1, . . . , zp sont une estimation des signaux sources s1, . . . , sp. On a donc
z = Wx = WAs
avecV := WA est unematrice unitaire ; c’est-à-direVVT = I et det(V) = 1. Pour retrouver
donc les signaux sources s, il faut estimer la matrice inverseU deV, qui sera par conséquent
une matrice unitaire. La deuxième étape consiste donc à faire une rotation des signaux
blanchis z. Soit U une matrice p × p telle que UUT = Ip et det(U) = 1. Cette matrice est
paramétrée par les rotations de Givens ; elle s’écrit
U(θ) :=Y
1≤i<k≤p
G(i, k, θm) (4)
où
Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).
| 193
G(i, k, θm)j,l =
8>>>>>>>>>><>>>>>>>>>>:
cos(θm) si j = i, l = i ou j = k, l = k;
sin(θm) si j = i, l = k;
− sin(θm) si j = k, l = i;
1 si j = l;
0 sinon,
(5)
pour tous 1 ≤ j, l ≤ p, et θm ∈] − π/2, π/2[, m = 1, . . . , p(p − 1)/2, sont (les composantes
de θ) les angles de rotation du plan des observations blanchies z. Le nouveau processus
devient
y = U(θ)z. (6)
La matrice de séparation B s’écrit donc comme le produit des deux matrices U et W
B = U(θ)W.
Dans la suite, nous présentons une méthode permettant un choix optimal de θ, basée sur
l’utilisation de la corrélation cyclique des sources.
2 Description de la méthode proposéeen exploitant la cyclostationnarité
Soit t un instant fixe. Le signal x(t) est cyclostationnaire à l’ordre 2 avec des fréquences
(mα0; m ∈ Z) si sa fonction d’autocorrélation est périodique de période T0 = 1α0
. Dans ce
cas, l’autocorrélation se décompose en série de Fourier comme suit ([19, 20, 21, 22]) :
Rx(t, τ) := E(x(t)x(t + τ)) =
+∞Xm=−∞
Rmα0x (τ) · ej2π m
T0t (7)
avec
Rmα0x (τ) = lim
T→∞
1
T
Z T/2
−T/2x(t)x(t + τ) · e−j2π m
T0tdt, m ∈ Z, (8)
si le signal x(t) est “cycloergodique” à l’ordre 2, dans le sens suivant : la moyenne tem-
porelle de x(t)x(t + τ) · e−j2π mT0
t est un nombre certain.
Par souci de clarté, et sans perdre de généralité, nous présentons la méthode pour un
mélange de deux sources (p = 2). De (6), il vient
y1(t) = cos(θ) · z1(t) + sin(θ) · z2(t),
y2(t) = − sin(θ) · z1(t) + cos(θ) · z2(t). (9)
On constate que y1 est un mélange de z1 et z2 qui sont des estimées de s1 et s2 ; comme
s1 et s2 sont de fréquences cycliques α et β respectivement (avec α 6= β), il est naturel, pour
séparer s1 de s2, de maximiser en θ, l’écart
Γ1(θ) =
L1Xm=1
“|Rmα
y1(0)|2 − |Rmβ
y1(0)|2
”. (10)
De même, comme y2 est un mélange de z2 et z1 qui sont des estimées de s2 et s1 (respec-
tivement), pour séparer s2 de s1, on propose de maximiser en θ, l’écart
Γ2(θ) =
L2Xm=1
“|Rmβ
y2(0)|2 − |Rmα
y2(0)|2
”. (11)
Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).
194 |
Enfin, pour restituer s1 et s2 à partir de y1 et y2, en tenant compte de (10) et (11), on propose
de maximiser en θ le contraste suivant
Γ(θ) = Γ1(θ) + Γ2(θ) =
L1Xm=1
“|Rmα
y1(0)|2 − |Rmβ
y1(0)|2
”+
+
L2Xm=1
“|Rmβ
y2(0)|2 − |Rmα
y2(0)|2
”. (12)
Notons que d’après (9), il vient
Rmαy1
(0) = cos(θ)2Rmαz1
(0) + sin(θ)2Rmαz2
(0) + 2 cos(θ) sin(θ)Rmαz1z2
(0),
Rmβy1
(0) = cos(θ)2Rmαz1
(0) + sin(θ)2Rmβz2
(0) + 2 cos(θ) sin(θ)Rmβz1z2
(0),
Rmβy2
(0) = sin(θ)2Rmβz1
(0) + cos(θ)2Rmβz2
(0)− 2 sin(θ) cos(θ)Rmβz1z2
(0),
Rmαy2
(0) = sin(θ)2Rmαz1
(0) + cos(θ)2Rmαz2
(0)− 2 sin(θ) cos(θ)Rmαz1z2
(0).
Ces formules sont utilisés pour calculer la fonction coût (12) pour tout θ. Les paramètres
L1 et L2 sont les nombres des coefficients considérés de la décomposition en série de
Fourier de l’autocorrélation et de l’intercorrélation des signaux blanchis z1 et z2. Le choix
de ces paramètres se fait indépendamment de θ à l’aide d’un seuillage des coefficients des
décompositions en série de Fourier de l’autocorrélation et de l’intercorrélation des signaux
blanchis z1 et z2.
3 Résultats de simulations
Nous présentons dans ce paragraphe trois exemples de simulations pour illustrer la perfor-
mance de la méthode. Dans le premier exemple, on traite le cas de deux sources cyclo-
stationnaires de fréquences cycliques différentes. Dans le deuxième exemple, nous con-
sidérons le cas de deux sources cyclostationnaires présentant des fréquences cycliques
multiples. L’exemple 3 traite du cas de trois sources cyclostationnaires de fréquences cy-
cliques différentes deux-à-deux.
−1.5 −1 −0.5 0 0.5 1 1.5
−1
−0.5
0
0.5
1
Coût
EQM
Fig. 1: Fonction Coût Γ et Erreur Quadratique Moyenne en fonction de θ.
Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).
| 195
Exemple 1 Considérons les deux sources cyclostationnaires à l’ordre deux s1 et s2 respec-tivement de fréquences cycliques α = 2F1 = 80 Hz et β = 2F2 = 30 Hz
s1(t) = a(t) cos(2πF1t),
s2(t) = b(t) cos(2πF2t),
où a(t) et b(t) sont des bruits blancs gaussiens centrés et réduits. Le nombre d’échantillonset la fréquence d’échantillonnage sont fixés respectivement à 4000 et 40 KHz. La matrice demélange est
A =
„1 0.9
0.75 1
«.
La figure 1 illustre la courbe representative du critère proposé ; c’est-à-dire la fonction decontraste
θ ∈–−π
2,π
2
»7→ Γ(θ), (13)
et l’erreur quadratique moyenne
θ ∈–−π
2,π
2
»7→ EQM(s,y, θ) =
2Xi=1
‖si(t)− yi(θ)‖2 (14)
entre les signaux sources s et les estimés y. Dans (13), on choisit L1 = L2 = 1 ; les autrescoefficients de la décomposition en série de Fourier sont négligeables. On constate quenotre critère est régulier ; il admet un seul maximum θ = −0.078 rd correspondant à l’es-timation optimale (au sens de l’erreur quadratique moyenne) des sources s1 et s2 ; voirfigure 1. Le maximum de la fonction coût Γ(.) est calculé par utilisation de l’algorithmede descente du gradient de Newton en prenant comme point initial θ = 0. Le tableau 1,montre le gain en qualité d’estimation de notre méthode. En effet, la maximisation de lafonction coût proposée permet d’améliorer l’estimation des deux sources de plus de 20 dB.
EQM(s,x) EQM(s, z) EQM(s,y)
source s1 −2.8925 −22.5114 −43.2081
source s2 −3.9769 −22.6020 −41.1980
Tableau 1 : Erreurs quadratiques moyennes en dB.
Exemple 2 Soient les deux sources cyclostationnaires suivantes
s1(t) = a(t)
m1Xi=1
A1(i) cos (2πiF1t + ϕ1(i))
!,
s2(t) = b(t)
m2Xi=1
A2(i) cos (2πiF2t + ϕ2(i))
!,
où les amplitudes A1, A2 sont aléatoires de loi normale standard, et les phases ϕ1, ϕ2 sontégalement aléatoires de loi uniforme sur ] − π/2, π/2[. a(t) et b(t) sont des bruits blancsgaussiens centrés et réduits, et m1 = m2 = 2. La matrice de mélange est identique àcelle utilisée dans l’exemple 1. On fixe α = 2F1 = 60 Hz et β = 2F2 = 140 Hz. Le nom-bre d’échantillons et la fréquence d’échantillonnage sont respectivement 4000 et 40 KHz.Pour cet exemple, les paramètres L1 et L2 de la fonction coût (12) sont choisis L1 = 3 etL2 = 3 ; les autres composantes de la décomposition en série de Fourier étant néglige-ables. Les résultats sont consignés dans le tableau 2. Il est clair d’après l’expression de lafonction coût (12) que la méthode reste valable et donne de bons résultats même dans lecas de présence des mêmes fréquences cycliques multiples communes (par exemple pourF1 = 30 et F2 = 90), c’est-à-dire occupant le même canal de fréquence ; la contribution desdeux sources pour cette fréquence (180 Hz) se neutralise sans altérer pour autant la qualitéde l’estimation ; voir tableau 2.
EQM(s,x) EQM(s, z) EQM(s,y)
source s1 −2.9063 −22.6394 −50.3860
source s2 −3.9896 −22.4123 −46.0537
Tableau 2 : Erreurs quadratiques moyennes en dB.
Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).
196 |
Exemple 3 Considérons les trois sources cyclostationnaires à l’ordre deux de fréquencescycliques respectives α = 2F1 = 30 Hz, β = 2F2 = 70 Hz et γ = 2F3 = 130 Hz
s1(t) = a(t) cos(2πF1t),
s2(t) = b(t) cos(2πF2t),
s3(t) = c(t) cos(2πF3t),
où a(t), b(t) et c(t) sont des bruits blancs gaussiens centrés et réduits. Le nombre d’échantil-lons et la fréquence d’échantillonnage sont fixés respectivement à 4000 et 40 Khz. La matricede mélange est
A =
0@ 1 0.9 0.750.75 1 0.80.65 0.85 1
1A .
Dans ce cas 3 × 3 de séparation de sources, après l’étape de blanchiment, nous auronsbesoin de trois rotations θ1, θ2 et θ3 de l’espace des signaux blanchis pour pouvoir restituerles sources. Soit U une matrice 3× 3 telle que UUT = I et det U = 1. Elle s’écrit
U(θ) = U1(θ1) · U2(θ2) · U3(θ3) (15)
où U1(θ1), U2(θ2) et U3(θ3) sont respectivement les rotations de Givens suivantes
0@ cos θ1 sin θ1 0− sin θ1 cos θ1 0
0 0 1
1A ,
0@ cos θ2 0 sin θ2
0 1 0− sin θ2 0 cos θ2
1A ,
0@ 1 0 00 cos θ3 sin θ3
0 − sin θ3 cos θ3
1A . (16)
Les paramètres θ1, θ2 et θ3 représentent les trois angles de rotation possibles de l’espacedes signaux blanchis z, où −π/2 ≤ θ1, θ2, θ3 ≤ π/2. Le critère Γ(θ) dans ce cas s’écrit
Γ(θ) =
L1Xm=1
“|Rmα
y1(0)|2 − (|Rmβ
y1(0)|2 + |Rmγ
y1(0)|2)
”+
L2Xm=1
“|Rmβ
y2(0)|2 − (|Rmα
y2(0)|2 + |Rmγ
y2(0)|2)
”+
L2Xm=1
“|Rmγ
y3(0)|2 − (|Rmα
y3(0)|2 + |Rmβ
y3(0)|2)
”.
Le maximum de la fonction coût Γ est calculé par utilisation de l’algorithme de descente dugradient de Newton en prenant comme point initial (θ1, θ2, θ3) = (0, 0, 0). Nous présentonssur la figure 2 les signaux sources, les observations et les sources estimés par maximizationde Γ. Le tableau 3 résume les erreurs d’estimation des trois sources.
EQM(s,x) EQM(s, z) EQM(s,y)
source s1 −1.5354 −23.9662 −37.1386
source s2 −1.9028 −24.4090 −38.6389
source s3 −2.0231 −26.9928 −35.0368
Tableau 3 : Erreurs quadratiques moyennes en dB.
4 Conclusion
Dans ce papier, nous avons proposé un nouveau critère de séparation aveugle de sources
cyclostationnaires au second ordre de fréquences cycliques supposées connues et différen-
tes deux-à-deux, dans le cadre d’un mélange linéaire instantané. La méthode exploite les
caractéristiques cyclostationnaires à l’ordre deux des signaux sources. La méthode s’appli-
que quelque soit le nombre de sources. Elle est facile à mettre en œuvre, et très peu coû-
teuse en temps de calcul ; la fonction coût proposée est régulière, elle présente un seul
maximum et ce quelque soit la dimension du paramètre de rotation. Ceci permet un calcul
rapide du maximum par utilisation des algorithmes de type de descente du gradient.
Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).
| 197
0 0.05−5
0
5s1
0 0.05−5
0
5s2
0 0.05−5
0
5s3
0 0.05−5
0
5x1
0 0.05−5
0
5x2
0 0.05−5
0
5x3
0 0.05−5
0
5s1 estimé
0 0.05−5
0
5s2 estimé
0 0.05−5
0
5s3 estimé
Fig. 2: Les signaux sources, les mélanges et les sources estimées.
Références[1] J. Hérault and B. Ans. Circuits neuronaux à synapses modifiables : Décodage de message com-
posites par apprentissage non supervisé. C. R. de l’Academie des Sciences, 299(III-13), pages
525–528, 1984.
[2] Christian Jutten, J. Hérault, and B. Ans. Détection de grandeurs primitives dans un message
composite par une architecture de calcul neurominétrique en apprentissage non supervisé. Xème
colloque GRETSI, Nice, France, 20-24 May, pages 1017–1022, 1985.
[3] Jean-François Cardoso and Pierre Comon. Tensor based independent component analysis. in
Proc EUSIPCO, 1990.
[4] Pierre Comon. Independent component analysis, a new concept ? Proc. Int. Workshop on Higher-
Order Statistics, Chamrousse, France, pages 111–120, 1991.
[5] Pierre Comon, C. Jutten, and J. Herault. Blind separation of sources, part ii : Statement problem.
Signal Processing, 24 :11–20, 1991.
[6] Pierre Comon. Independent component analysis, a new concept ? Signal Processing, IEEE,
36(3) :287–314, 1994.
[7] Jean-François Cardoso. Blind signal separation : statistical principles. Proceedings of the IEEE,
9(10) :2009–2025, 1998.
[8] Adel Belouchranie, Karim Abed-Meraim, Jean-François Cardoso, and Eric Moulines. A blind sep-
aration technique using second-order statistics. IEEE Trans. Signal processing, 45(2) :434–444,
1997.
[9] Eric Moreau. A generalization of joint-diagonalization criteria for source separation. Trans.Signal
Processing, IEEE, 49(3) :530–541, 2001.
[10] Dunh-Tuan Pham. Mutual information approach to blind separation of stationary sources. IEEE
Trans. Information Theory, 48(7), 2002.
[11] Mohammed El Rhabi, GuillaumeGelle, Hassan Fenniri, and Georges Delaunay. A penalizedmutual
information criterion for blind separation of convolutive mixtures. Signal Processing, 84 :1979–
1984, 2004.
[12] Massoud Babaie-Zadeh and Christian Jutten. A general approach for mutual information mini-
mization and its application to blind source separation. Signal Processing, 85 :975–995, 2005.
[13] Anne Ferreol and Pascal Chevalier. On the behavior of current second and higher order blind
source separation methods for cylostationary sources. Trans.Signal Processing, IEEE, 48(6), 2000.
Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).
198 |
[14] Karim Abed-Meraim, Yong Xiang, Jonathon. H. Manton, and Yingbo Hua. Blind source separation
using second-order cyclostationary statistics. IEEE Trans. Signal processing, 49(4) :649–701, 2001.
[15] Maria. G. Jafari, S. R. Alty, and J. A. Chambers. New natural gradiant algorithm for cyclostationary
sources. IEEE Proceedings, 151(1) :62–68, 2004.
[16] Roger Boustany and Jerome Antoni. A subspace method for the blind extraction of a cyclostation-
ary source : Application to rolling element bearing diagnostics. Mechanical Systems and Signal
Processing, 19(1) :1245–1259, 2005.
[17] Noureddine Bouguerriou, M. Haritopoulos, C. Capdessus, and L. Allam. Novel cyclostationarity-
based blind source separation algorithm using second order statistical properties : Theory and ap-
plication to the bearing defect diagnosis. Mechanical Systems and Signal Processing, 19(6) :1260–
1281, 2005.
[18] Noureddine Bouguerriou, C. Capdessus, and A. K. Nandi. New source separation method for
cyclostationary sources and its application to roller bearing vibrations. ICA Research Network
workshop, Liverpool, UK, 2006.
[19] William. A. Gardner and Lewis. E. Franks. Characterization of cyclostationary random signal pro-
cesses. IEEE Trans. Information Theory, 21(1), 1975.
[20] William. A. Gardner. Exploitation of the spectral redundancy in cyclostationary signals. IEEE Mag.
Signal Processing, 8, 1991.
[21] William. A. Gardner and Chad. M. Spooner. The cumulant theory of cyclostatioary time-series,
part i : Foundation. IEEE Trans. Signal Processing, 42(12), 1994.
[22] William. A. Gardner, Antonio Napolitano, and Luigi Paura. Cyclostationarity : Half a century of
research. Signal Processing, 86 :639–697, 2006.
Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).
| 199
Prépublication n° 30 | Fascicule n° 2
Séparation aveugle de sources :estimation du nombre de signauxet application aux signauxà phase polynomiale
Olivier Fourt, Messaoud BenidirLaboratoire des Signaux et Sytèmes, Supélec – Université Paris-Sud
[email protected], [email protected]
Résumé :
L’estimation du nombre de sources présentes dans un mélange de signaux est un problème asso-
cié à la séparation aveugle de sources qui demeure peu étudié, en particulier pour les mélanges
sous-déterminés. Dans cet article nous montrons que la parcimonie, déjà proposée pour résoudre
les problèmes de séparation sous-déterminés, nous permet également de construire un algo-
rithme d’estimation du nombre de sources. Cet algorithme présente l’intérêt d’être très fiable
même en présence de bruits forts. De plus, il permet de détecter certaines erreurs d’estimations
éventuelles.
Mots-clés : signaux à phase polynomiale, parcimonie, environnements fortement bruité.
1 Introduction
La séparation aveugle de sources est un problème ancien [1, 2, 3] : les premières solutions
efficaces remontent aux années 80 avec des méthodes comme l’Analyse en Composantes
Indépendantes (ICA). Ces méthodes s’appuient souvent sur l’utilisation des cumulants d’or-
dre 4 ou sur la maximisation d’une fonction d’entropie. Elles souffrent cependant de défauts
bien connus : elles ne peuvent séparer deux sources gaussiennes, les statistiques d’ordres
élevés sont très sensibles au bruit et donc ces méthodes sont d’un intérêt réduit pour les cas
de bruit fort (SNR faible). Enfin ces méthodes résolvent mal les problèmes sous-déterminés :
l’hypothèse d’indépendance des sources utilisée est insuffisante lorsqu’il y a plus de sources
que de capteurs.
L’utilisation de la propriété de parcimonie développée dans les années 90 dans les
travaux en compression des signaux [4] [5] [6] a permis de fournir une solution efficace aux
Olivier Fourt, Messaoud Benidir« Séparation aveugle de sources : estimation du nombre de signaux et application aux signaux à phase polynomiale »
Schedae, 2007, prépublication n° 30, (fascicule n° 2, p. 199-206).
200 |
problèmes sous-déterminés ainsi qu’aux problèmes sur-déterminés plus simples [7] [8] [9]
avec l’analyse en composantes parcimonieuses (SCA : Sparse Component Analysis). Cette
méthode offre en outre une forte résistance au bruit additif aussi bien pour la puissance du
bruit que pour la nature éventuellement non gaussienne de ce dernier (bruit impulsif).
À la tâche classique de séparation aveugle des sources est rattaché un autre problème
peu étudié et qui fait l’objet de cet article : l’estimation du nombre de sources présentes
dans un mélange lorsque cette donnée est inconnue. Ce sujet n’a pas fait l’objet de beau-
coup d’attention dans la littérature car dans la situation la plus étudiée, le cas sur-déterminé
(nombre de capteurs supérieur au nombre de sources), le rang de la matrice d’auto-
corrélation des signaux capteurs est théoriquement égal au nombre de sources. Pour un
problème sous-déterminé, cette propriété n’est plus utilisable. Nos travaux ont porté sur
l’exploitation de la propriété de parcimonie déjà utilisée pour résoudre le problème de sé-
paration de sources afin de concevoir un algorithme d’estimation du nombre de sources qui
présente en plus une robustesse à la puissance du bruit comparable à celle de l’algorithme
SCA.
Cet article comporte trois parties. La partie 2 sert à poser le cadre du problème. La
partie 3 donne les détails de la procédure d’estimation du nombre de sources, une section
étant consacrée à l’algorithme proprement dit et une autre aux simulations. La partie 4
introduit la méthode permettant de détecter une éventuelle erreur de surestimation du
nombre de sources et les solutions possibles pour la corriger. L’algorithme a été testé avec
des Signaux à Phase Polynomiale (SPP) à valeurs réelles et d’amplitude constante, vaste
classe de signaux non-stationnaires dont nous rappelons la définition ci-après.
s(t) = α cos
pX
k=0
βktk
!α ∈ R+, βk ∈ R, k = 0 . . . p (1)
2 Cadre du problèmeDéfinition 1 Un signal g(k) k = 1, . . . , K est dit parcimonieux si pour presque toutes lesvaleurs de k on a : g(k) = 0.
En pratique, il n’est pas nécessaire d’être aussi restrictif : nous considérons comme parci-
monieux un signal dont la majeure partie des points ne peuvent être distingués du bruit
additif ou bien sont de très faible amplitude.
Nous utilisons un mélange de sources linéaire instantané affecté de bruit additif. Les
sources sont des SPP dont les phases sont des polynômes de degrés et de coefficients in-
connus.
x(k) = As(k) + b(k) k = 1 . . . N
x ∈ Rp signaux capteurs,
s ∈ Rn sources parcimonieuses distinctes,
b ∈ Rp bruit additif gaussien,
A ∈ Rp×n matrice de mélange instantané
Cette matrice doit être de rang égal à sa plus petite dimension. Il faut en outre que tous les
vecteurs colonnes soient indépendants deux à deux. Dans le cas contraire cela signifie que
deux sources sont « alignées » du point de vue des directions de la matrice de mélange et
en ces circonstances, l’algorithme va considérer ces deux sources comme une seule. La sé-
parations des autres sources ne pose alors pas de difficultés vis-à-vis de ce point ci. Comme
la résolution d’un problème de séparation de sources est toujours soumise à une double
Schedae, 2007, prépublication n° 30, (fascicule n° 2, p. 199-206).
| 201
Fig. 1: Mélange de trois SPP, plan x1/x2.
indétermination – permutation et facteur d’échelle – nous avons choisi de normaliser les
vecteurs colonnes de la matrice de mélange.
Les SPP ne sont pas parcimonieux dans le domaine temporel, il faut agir par l’intermé-
diaire d’une transformation linéaire qui les rend parcimonieux. Les représentations temps-
fréquence concentrent l’énergie d’un SPP le long de sa fréquence instantanée. Cette pro-
priété combinée aux performances analogues des décompositions en ondelettes nous a
conduit à choisir une décomposition des signaux étudiés sur des paquets de cosinus lo-
caux.
Propriété 1 Pour une transformation linéaire T et un mélange linéaire instantané bruitéx = As + b nous avons :
T (x) = AT (s) + T (b) (2)
L’essentiel du travail est donc en fait effectué sur le modèle suivant :
X = AS + B
X = T (x)
S = T (s)
B = T (b)
3 Estimation du nombre de sources
Dans unmélange, lorsque toutes les sources sont parcimonieuses, la probabilité que chaque
échantillon des capteurs soit la contribution d’une source et d’une seule est très élevée. En
conséquence, dans l’espace engendré par les signaux capteurs, les points vont avoir ten-
dance à se regrouper suivant des droites colinéaires avec les vecteurs colonnes de la matrice
de mélange et il y a autant de groupements que de sources (ou bien le double si l’on con-
sidère séparément une direction et son opposée) [10] [7] [11]. Ce fait est déjà exploité dans
l’algorithme SCA pour estimer la matrice de mélange et ainsi permettre la résolution du
problème. Dans la méthode proposée ci-après dans cet article nous combinons un algo-
rithme de classification et un critère de sélection de modèle pour estimer le nombre de
groupements et donc le nombre de sources du mélange. La figure 1 présente la dispersion
des points dans l’espace des capteurs d’un mélange de 3 SPP avec 2 capteurs.
3.1 Algorithme– Décomposition sur une base de paquets de cosinus locaux des signaux capteurs pour
obtenir y.
y = T (x)
Schedae, 2007, prépublication n° 30, (fascicule n° 2, p. 199-206).
202 |
– Seuillage des coefficients d’ondelettes pour ne conserver que des points significatifs
provenant isolément de chaque source et assurer un débruitage fort. On obtient alors
le signal yt(k) ; le paramètre σ est pris égal à 6 fois l’écart-type empirique de |y(k)|.
∀ k si ‖y(k)‖ < σ alors yt(k) = 0
sinon yt(k) = y(k)
(3)
– Normalisation des données et sélection des points non-nuls.
∀ k si ‖yt(k)‖ 6= 0 alors d(k) =yt(k)
‖yt(k)‖(4)
– Pour chaque nombre de source possible, on estime une matrice de mélange à l’aide
de l’algorithme de classification FCM (Fuzzy C Means) appliqué aux L points du
tableau de données d(k) k = 1 . . . L. Comme pour chaque source on peut obtenir
une direction et son opposée, on effectue une optimisation pour un nombre de
groupement égal au double du nombre supposé de sources. L’algorithme FCM four-
nit parmi ses résultats le paramètre Ob(i) valeur finale du critère d’optimisation pour
un nombre supposé de i sources.
– Sélection du nombre optimal de sources nopt à l’aide d’un critère similaire aux critères
de sélection bayesiens et déterminé empiriquement pour p capteurs. Une limitemaxi-
male est fixée égale à 2p pour tenir compte des limites d’utilisation pratique de notre
algorithme SCA, en particulier pour de faibles SNR [11], et pour éviter des erreurs
d’estimation du nombre de sources supérieures à 5%.
nopt = mini
Ob(i) +L
35tanh ((i− p)× 1.5 ) log(i) (5)
3.2 SimulationsL’algorithme d’estimation du nombre de sources a été testé de manière empirique avec
différents SPP et pour différents niveaux de bruit gaussien. Dans cet article nous ne présen-
tons que les résultats réalisés avec deux capteurs. Les signaux sont échantillonnés à une
fréquence de 106Hz et traités avec un filtre anti-repliement de Butterworth d’ordre 8 coupant
à 4 × 105Hz. Les signaux utilisés sont des SPP d’ordre non fixé allant de 1 à 3. Leurs
paramètres sont générés aléatoirement (hormis l’amplitude constante) pour que leurs fré-
quences instantanées soient comprise entre 7×104Hz et 2.5×105Hz (problèmes de fréquen-
ces négatives ou supérieures à la fréquence de Nyquist sur l’intervalle de temps considéré).
La matrice de mélange est crée pour que les sources soient equi-réparties dans l’espace.
Une perturbation circulaire uniforme comprise entre 0 et 2π est ajoutée à chaque source
afin de garantir une invariance des résultats par rotation. L’algorithme est alors appliqué
pour estimer le nombre de signaux dans des mélanges réalisés avec successivement 2, 3 et
4 sources. Chaque expérience a été renouvelée 20000 fois avec du bruit additif gaussien de
moyenne nulle pour des SNR de 71dB, 11dB, 5dB, 0dB et−3dB. Nous n’avons pas cherché
à tester l’algorithme avec des SNR plus faibles car nos travaux passés [11] nous montrent
que l’algorithme SCA utilisé ensuite pour la séparation ne fonctionne alors plus.
Les résultats sont présentés comme suit : le tableau 1 fournit le taux de sur- et de sous-
estimation du nombre de sources quelque soit le nombre exact de signal inclus dans le
mélange pour les différents SNR. Le tableau 2 présente le taux d’erreurs d’estimations pour
chaque groupe de mélange (2, 3 et 4 sources) pour les différents SNR. Nv est le nombre
exact de sources, Nest est le nombre estimé.
Le tableau présentant les taux de sur- et de sous-estimation du nombre de sources
amène quelques constats : Le taux d’estimation correcte (0) est excellent et à peu près
Schedae, 2007, prépublication n° 30, (fascicule n° 2, p. 199-206).
| 203
````````SNRNest −Nv -2 -1 0 1 2
71 dB 0.12 0.975 97.965 0.47 0.4711 dB 0.152 0.86 98.068 0.452 0.4685 dB 0.105 0.675 98.027 0.725 0.4680 dB 0.052 0.392 97.907 1.078 0.571-3 dB 0.02 0.265 97.085 1.812 0.818
Tab. 1: Taux de sur- et sous-estimation du nombre de sources.
XXXXXXXSNRNv 2 3 4
71 dB 1.695 1.455 2.95511 dB 1.69 1.295 2.815 dB 1.87 1.96 2.090 dB 2.24 2.81 1.23-3 dB 3.245 4.715 0.785
Tab. 2: Taux d’erreurs d’estimation du nombre de sources.
constant, de l’ordre de 98% et ses légères fluctuations ne semblent pas devoir être con-
sidérées comme significatives. La répartition des erreurs de sur- et de sous-estimation est
asymétrique en fonction du SNR : pour des SNR élevés les deux taux sont comparables, au
fur et à mesure que le SNR diminue, il y a une prédominance des erreurs de surestimation.
Ce point est important car ainsi que nous le verrons dans la partie suivante, il est possible
de détecter et de corriger ces erreurs.
Le tableau présentant les taux d’erreurs d’estimations en fonction du nombre exact de
sources mérite quelques remarques : les performances pour les mélanges de 2 ou 3 sources
sont du même ordre de grandeur. Le taux d’erreurs d’estimation pour les mélanges à 4
sources s’améliore lorsque le SNR diminue. Cette performance n’est que la conséquence
du nombre maximal de sources dans les mélanges à savoir 4 : les seules erreurs possibles
sont celles de sous-estimation or nous avons vu précédemment que celles-ci diminuent en
proportion lorsque le SNR diminue. A contrario les mélanges de 2 sources ne peuvent au
pire que déboucher sur des erreurs de surestimation et donc une augmentation du taux
d’erreurs avec le SNR.
4 Erreurs de surestimation
Notre algorithme a pour but de fournir une estimation du nombre de sources présentes
dans unmélange afin de pouvoir appliquer ensuite un algorithme SCApour séparer enfin les
sources. Lorsqu’une erreur de surestimation se produit c’est à dire l’estimation d’un nombre
de sources supérieur au nombre réel, l’algorithme SCA fournit une possibilité intéressante
de détection de l’erreur a posteriori.
Cette détection est réalisée comme suit : après la phase de séparation mais avant la
reconstruction des signaux sources réalisée en inversant la décomposition en ondelettes,
nous calculons un paramètre estimant la dispersion des coefficients d’ondelettes.
Définition 2 Soit Sri(k, l) la décomposition en paquet de cosinus locaux de la source re-constituée sri. Le paramètre hsi est défini comme la moyenne des écart-types empiriquesde ‖Sri(k, l)‖ calculés pour chaque niveau de décomposition.
la source reconstituée sri correspond à un signal effectivement présent dans le mélange,
le paramètre hsi correspondant a une valeur supérieure à 1. Lorsque la source reconstituée
sri ne correspond pas à un signal présent dans le mélange (signal en trop), le paramètre hsi
correspondant a une valeur inférieure à 1, souvent inférieure à 0.8. Un simple test permet
Schedae, 2007, prépublication n° 30, (fascicule n° 2, p. 199-206).
204 |
Fig. 2: Représentation temps-fréquence du mélange.
Fig. 3: Représentation temps-fréquence de sr1. Fig. 4: Représentation temps-fréquence de sr2.
donc de détecter les erreurs de surestimation du nombre de source :
Pour chaque i Si hsi > 0.9 alors sri source OK
Sinon erreur sri en surnombre
(6)
Dans l’exemple suivant illustré par les figures 2 à 6, en voulant séparer 4 sources dans un
mélange qui n’en contient en fait que 3, on obtient alors les valeurs suivantes :
hs1 = 1.31 hs2 = 1.06
hs3 = 0.75 hs4 = 1.19
hs3 est inférieur à 0.9, une observation de la représentation temps-fréquence de la
source reconstituée sr3 nous confirme que cette source ne correspond à rien : elle com-
prend simplement des composantes appartenant aux trois véritables sources. Il est donc
alors possible d’appliquer l’algorithme SCA avec le nombre de sources qui convient. La
figure 2 est une représentation temps-fréquence d’un des signaux capteurs, les figures 3
à 6 sont les représentations temps-fréquence des 4 sources séparées obtenues : les fig-
ures 3, 4 et 6 correspondent à des sources correctement séparées tandis que la figure 5
est fausse, constituée de termes provenant des signaux sr2 et sr4 (figures 4 et 6) sous une
forme atténuée.
Schedae, 2007, prépublication n° 30, (fascicule n° 2, p. 199-206).
| 205
Fig. 5: Représentation temps-fréquence de sr3. Fig. 6: Représentation temps-fréquence de sr4.
5 Conclusion
Comme conclusion à cet article, nous dirons que nous avons montré que la propriété de
parcimonie, base de l’algorithme SCA, permet en plus de réaliser de manière efficace l’es-
timation du nombre de sources lorsque celui-ci n’est pas connu. Les taux d’erreurs sont
excellents et ceci même à faible SNR et en outre il existe des possibilités de détecter les
erreurs de surestimation.
Ces travaux ont été testés uniquement avec des signaux à phase polynomiale et avec
des décompositions en paquets de cosinus locaux. Il est probable que le recourt à d’autres
classes de signaux et/ou bases de décompositions puisse modifier la forme du critère de
sélection ou le niveau du seuil de détection d’erreurs.
Ces travaux n’en sont qu’à leurs débuts, comme travaux futurs nous citerons : tester
et améliorer le critère d’estimation du nombre de sources avec des bruits non gaussiens.
Relâcher l’hypothèse d’une équi-répartition des sources dans l’espace. Tester les perfor-
mances pour un nombre de capteurs supérieur à 2 et enfin augmenter la limite maximale
au nombre de sources pouvant être estimé pour un nombre de capteurs donné. Des expé-
riences préliminaires nous permettent d’obtenir pour des mélanges de 2 à 6 sources avec
2 capteurs des taux d’estimation correcte de l’ordre de 95% pour les mélanges de 2, 3 et 4
sources et de l’ordre de 75% pour les mélanges de 5 et 6 sources.
Références[1] Ali Mansour, Allan Kardec Barros, and Noboru Onishi. Blind separation of sources : Meth-
ods,assumptions and applications. IEICE Trans. Fundamentals, E83–A(8) :1498–1512, August
2000.
[2] Paul D. O’Grady, Barak A. Pearlmutter, and Scott T. Rickard. Survey of sparse and non-sparse
methods in source separation. International Journal of Imaging Systems and Technology (IJIST),
15 :18–33, 2005.
[3] Rémi Gribonval and Sylvain Lesage. A survey of sparse component analysis for source separa-
tion : principles, perspectives, and new challenges. In ESANN’06 proceedings – 14th European
Symposium on Artificial Neural Networks, pages 323–330, April 2006.
[4] Scott Shaobing Chen, David L. Donoho, and Michael A. Saunders. Atomic decomposition by basis
pursuit. SIAM Journal on Scientific Computing, 20(1) :33–61, 1996.
[5] David L. Donoho and Michael Elad. Maximal sparsity representation via l1 minimization. Proceed-
ings of the National Academy of Sciences, 100 :2197–2202, March 2003.
[6] Rémi Gribonval and Morten Nielsen. Highly sparse representations from dictionaries are unique
and independent of the sparseness measure. Applied and Computational Harmonic Analysis,
22(3) :335–355, May 2007. Technical report October 2003.
Schedae, 2007, prépublication n° 30, (fascicule n° 2, p. 199-206).
206 |
[7] Pau Bofill and Michael Zibulevsky. Underdetermined blind source separation using sparse repre-
sentations. Signal Processing, 81(11) :2353–2362, 2001.
[8] Yuanqing Li, Andrzej Cichocki, and Shun-Ichi Amari. Sparse component analysis for blind source
separation with less sensors than sources. In Ica03, pages 89–94, Nara, Japan, April 2003.
[9] Yuanqing Li, Andrzej Cichocki, Shun ichi Amari, Sergei Shishkin, Jianting Cao, and Fanji Gu. Sparse
representation and its applications in blind source separation. In NIPS, 2003.
[10] Michael Zibulevsky and Barak A. Pearlmutter. Blind source separation by sparse decomposition in
a signal dictionary. Neural Computation, 13(4) :863–882, April 2001.
[11] Olivier Fourt and Messaoud Benidir. Separation of a polynomial phase signals mixture using spar-
sity. In IECON06, 2006.
Schedae, 2007, prépublication n° 30, (fascicule n° 2, p. 199-206).
Imagerie
session 9
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
207
Gawain Jones, Christelle Gée, Frédéric Truchetet« Modélisation de scènes agronomiques pour tester et comparer les performances d’algorithmes de discrimination d’adventices »
Schedae
, 2007, prépublication n°31, (fascicule n°2, p. 207-217).
Schedae
,
2007
Modélisation de scènes agronomiques pour tester et comparer les performances d’algorithmes de discrimination d’adventices
Gawain Jones, Christelle Gée
ENESAD/DSI – Unité propre GAP : Génie des Agro-équipements et des Procédés
21 Bld Olivier de Serres – 21800 Quetigny – France
[email protected], [email protected]
Frédéric Truchetet
UMR 5158 uB-CNRS
12 rue de la Fonderie – 71200 Le Creusot – France
Résumé :
Dans le cadre de l’agriculture de précision, l’imagerie s’avère être de plus en plus utilisée comme
outil d’aide à la décision pour une gestion spécifique des intrants dans des parcelles cultivées.
Dans ce contexte, nous présentons une modélisation de scènes agronomiques afin d’évaluer et
de comparer la précision et la robustesse d’algorithmes de discrimination culture/adventices. La
modélisation de ces images se décompose en deux parties : la première consiste en la modéli-
sation d’une parcelle cultivée en simulant la distribution spatiale des plantes (culture et mauvai-
ses herbes), la seconde a pour but de projeter le résultat obtenu à travers un capteur optique
pour simuler la photographie de cette scène agronomique. Ensuite, nous proposons une utilisa-
tion de ce modèle afin de tester et de comparer deux algorithmes de discrimination d’adventi-
ces dans l’inter-rang, le premier étant basé sur la transformée de Hough et le second sur la
transformée de Fourier. La précision (ou fiabilité) des résultats de classification de ces algorith-
mes est obtenue par comparaison avec les paramètres initiaux contenus dans la photographie.
Mots-clés: image simulée, statistiques, culture, adventices, transformée de Hough, transfor-
mée de Fourier, loi de Poisson, modèle de Neyman Scott, modèle du sténopé.
1 Introduction
1.1 État de l’art
Les nouvelles réformes de la PAC (Politique Commune Agricole), concernant le respect et
la protection de l’environnement et de l’être, sont de plus en plus contraignantes et il est
Prépublication n° 31 Fascicule n° 2
208
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
de plus en plus demandé aux agriculteurs d’être en mesure de justifier leurs interventions
sur les cultures auprès des instances décisionnelles et des consommateurs. Il convient de
proposer aux agriculteurs des solutions techniques pour réduire les apports d’intrants
(engrais, pesticides, herbicides, fongicides…) sur la parcelle.
Dans les années 90, l’essor de l’agriculture de précision [1], basée sur la modulation
des apports d’intrants selon la variabilité intra parcellaire, offre des perspectives de pro-
grès en termes économiques, de respect de l’environnement et de qualité des produits. La
précision des apports, et notamment leur spatialisation selon l’hétérogénéité intra parcel-
laire, constituent à ce titre des voies prometteuses de progrès, qui, au plan scientifique,
suscitent de nombreux travaux de recherche. Cette précision nécessite des techniques
ainsi que des méthodes permettant d’appliquer la bonne dose au bon endroit et au bon
moment.
Parmi les nombreux capteurs développés, l’utilisation de capteurs optiques [2]
embarqués sur des engins agricoles sont des moyens techniques fiables permettant à
l’agriculteur de suivre l’hétérogénéité de la parcelle sous ces différents aspects [3,4],
notamment au niveau du sol, du peuplement cultivé (état de stress) ou encore de la répar-
tition des mauvaises herbes (ou adventices) afin d’optimiser les apports d‘intrants sur la
parcelle [5,6,7]. Lorsque les capteurs optiques utilisés sont des caméras, un post-traitement
est nécessaire à l’établissement d’un constat qui se concrétise par la réalisation de carte.
En matière de désherbage chimique, les études ont montré un potentiel de réduction
de l’ordre de 50 % de la quantité d’herbicides lorsque ceux-ci sont appliqués uniquement
sur les zones infestées [8]. Cela suppose donc la possibilité de repérer les zones infestées
à l’aide d’outils de localisation (GPS : Global Positionning System) [9] ou par vision
numérique [10,11] et de traiter ces zones infestées à l’aide d’un pulvérisateur spécifique
(pilotage buse à buse ou tronçon de rampe). Ces 2 étapes (détection par imagerie et pul-
vérisation spécifique) peuvent être également conduites en temps réel : c’est l’un des pro-
jets actuellement menés au laboratoire [12]
Les algorithmes de traitement de l’image nécessite donc d’évaluer les performances
des algorithmes concernant la détection des adventices. Ceux-ci peuvent être jugés selon
différents critères : le critère de rapidité peut être facilement établi, il permettra de faire un
choix en fonction des nécessités du traitement (temps réel…). Le critère de précision est,
quant à lui, beaucoup plus difficile à estimer : valider la classification culture/adventices
obtenue à l’issue de ces traitements par un jugement humain est inenvisageable sur
l’ensemble d’une parcelle (quelques hectares).
1.2 Motivation
C’est pourquoi, nous avons mis au point une méthodologie pour étudier les performances
de ces algorithmes en simulant la prise d’images via une caméra virtuelle placée dans un
champ virtuel dans le but d’évaluer la précision et la robustesse d’algorithmes de discrimi-
nation d’adventices au sein de cultures. En effet, de nombreux algorithmes
[6]
permettent
de localiser les adventices afin de réaliser une carte d’infestation ou de les traiter en temps
réel via un pulvérisateur. Néanmoins, les résultats de ces algorithmes n’ont jamais été vali-
dés de manière automatique ce qui implique que nous ne connaissons pas leur efficacité.
La réalisation d’images modélisées va permettre l’évaluation de ces résultats. Notre labo-
ratoire ayant développé deux algorithmes pour cette discrimination, nous avons choisi
d’exploiter notre modèle pour comparer leurs performances à partir des images modéli-
sées dont les paramètres initiaux (nombre de pixels de culture, nombre de pixels d’adven-
tices, taux d’infestation) sont parfaitement maîtrisés.
209
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
2 Matériel et méthodes
Afin d’être en mesure de simuler la prise de photographies de scènes agronomiques, nous
devons tout d’abord les caractériser.
2.1 Caractérisation d’une scène agronomique
Les algorithmes permettant la discrimination culture/adventices sont généralement utilisés
afin de permettre une pulvérisation localisée. Il est à noter que ces traitements herbicides
sont généralement appliqués à un jeune stade de croissance (stade trois ou quatre
feuilles). Etant donné leur état de croissance, les cultures pourront être représentées par un
modèle en deux dimensions sans impliquer de modifications importantes sur les images
résultantes.
Les images modélisées ne se veulent pas photoréalistes : elles suivent la structure
caractéristique des champs de culture. Cette structure étant la seule information impor-
tante au regard des algorithmes de discrimination utilisés, nous estimons, dans un premier
temps que les images créées peuvent être considérées comme des images réelles.
2.1.1 Modélisation de la culture
Les cultures modélisées sont issues de semis en ligne. Ainsi la première caractéristique
nous permettant de la représenter sera donc la largeur de l’inter-rang. Cette valeur est rela-
tive à la culture (e.g. blé = 12 à 14 cm, tournesol = 45 cm, maïs = 75 cm…). Il existe deux
catégories au sein de ces cultures : les cultures céréalières qui sont semées à la volée sur la
ligne de semis (une dose prédéfinie par hectare pour le blé) et les cultures semées graines
à graines (comme le tournesol) qui possèdent une fréquence dans le rang.
Les dimensions de la scène agronomique virtuelle étant relative à la simulation de la
photographie, nous considérerons celles-ci connues dans cette partie.
Des motifs ont été créés pour correspondre à chacune de ces cultures, ils sont posi-
tionnés selon les lignes de semis en respectant les caractéristiques précédemment énon-
cées. Les semis n’étant pas parfait, un décalage horizontal aléatoire est introduit lors du
placement de chaque « plant » sur sa ligne. De plus, pour rendre le résultat plus réaliste,
différentes orientations leur seront donnés aléatoirement (selon trois angle : 30, 60 et 90
degrés). L’absence de culture dans le rang étant relativement fréquente (i.e. problème de
croissance), nous avons établi une probabilité de présence de la culture (actuellement et
empiriquement fixé à 2/3). Le résultat d’une culture de tournesol simulée par notre algo-
rithme est visible en Figure 1.
2.1.2 Modélisation des adventices
Il est avéré que les plantes
dites
« mauvaises herbes ou adventices » ont tendance à se
développer au sein d’une parcelle cultivée selon deux modes de propagation : de manière
Fig. 1 : Champ virtuel de tournesol (inter-rang = 45cm).
210
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
isolée ou en agrégats [13]. Ces modes sont fortement dépendants des travaux agricoles
effectués sur la parcelle (principalement le travail du sol et le broyage) mais aussi du mode
de reproduction des plantes (sexué ou multiplication végétative). Concernant le travail du
sol et le broyage, ceux-ci peuvent favoriser la dissémination des graines dans le sens de
travail de la parcelle, créant des tailles d’agrégats de forme ovale mais il peut également
répartir de manière aléatoire les racines les graines qui vont rester accrochées aux outils à
dents (tels que charrue, décompacteur, vibroculteur, herses…) le temps d’être déposées
plus loin dans la parcelle. Concernant le mode de reproduction des plantes, celui-ci va
également avoir une influence importante sur la répartition des adventices : les plantes
dites « annuelles » vont voir la distribution spatiale de leur semence conditionnée soit par
le vent (qui pourra apporter une répartition aléatoire) soit par le labour qui va étirer cette
distribution en suivant un modèle de type agrégatif. Au contraire, les plantes dites
« vivaces », qui n’ont besoin que d’un morceau de végétal pour se reproduire vont avoir
une répartition spatiale plus aléatoire, dû aux différents travaux agricoles réalisés sur la par-
celle qui les disséminera.
Nous proposons donc de modéliser deux types de distributions spatiales pour les
adventices : aléatoire et agrégative. Pour la première, nous avons choisi d’utiliser un proc-
essus de Poisson, ce processus ayant déjà été utilisé pour modéliser une répartition aléa-
toire des adventices [14]. Concernant la distribution agrégative des adventices nous avons
choisi d’utiliser la loi de Neyman-Scott. C’est, en effet, un modèle qui a été utilisé pour
représenter la répartition agrégative d’arbres de différentes espèces au sein d’une forêt [15].
Adventices – Loi de Poisson –
La répartition aléatoire d’adventices au sein d’une par-
celle cultivée se doit d’être homogène (ou stationnaire) et isotrope (aucune direction priv-
ilégiée), c’est à dire que ses propriétés doivent être invariantes par translation (homogène)
et par rotation (isotrope) [15].
L’utilisation d’une loi de Poisson pour les adventices se justifie également par le fait
que la présence d’adventices dans une zone cultivée et bien entretenue est sensé être un
événement discret et rare (c’est-à-dire de faible probabilité).
La probabilité d’une variable aléatoire X de prendre la valeur k (nombre d’adventices)
dans une loi de Poisson, de paramètre
λ
caractérisant une densité d’adventices (= N/S,
nombre d’adventices par unité de surface) est définie par :
Nous avons appliqué cette loi afin de réaliser un semis aléatoire de mauvaises herbes
dans une parcelle. La densité de plants d’adventices voulue est déterminée à partir du
nombre de pixels de culture ainsi que le taux d’infestation (WIR : Weed Infestation Rate)
demandé. La loi de Poisson est ensuite utilisée pour déterminer le nombre d’adventices
sur chaque élément de surface ainsi que leur position.
Adventices – Loi de Neyman-Scott –
Le modèle de Neyman-Scott est construit à
l’aide d’une distribution de Poisson. Il s’agit de déterminer aléatoirement un certain nom-
bre de points pères autour desquels seront répartis les points fils ; les nombres de points
pères et de points fils étant déterminés par une loi de Poisson.
Il est à noter que les points fils sont répartis aléatoirement avec la contrainte de se
trouver dans une ellipse autour du point père. Nous avons choisi de rassembler les points
fils en ellipse afin de faire la correspondance avec la réalité agricole décrite plus haut : la
distribution des agrégats obtenue à partir de plantes annuelles est étirée par le travail de
labour.
Loi de Poisson :
où représente le nombre moyen
d’adventices dans une aire de surface
SSλλλλ
( )( ) ( ) e
!
nS
n
SP S P X n
nλλ
λ −= = =
211
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
La répartition des adventices est contrôlée afin de garantir un taux d’infestation
(WIR = Weed Infestation Rate) final le plus proche possible du WIR demandé. Le taux
d’infestation représente le pourcentage d’adventices relativement à la végétation totale.
Le résultat de ces deux distributions est présenté en Figure 2.
Le champ virtuel étant composé de végétation l (Figure 3), nous devons maintenant
simuler la prise d’une photographie.
2.2 Transformation de la scène agronomique à sa photographie
La simulation de la prise d’une photographie d’une scène agronomique nécessite de posi-
tionner et d’orienter une caméra virtuelle dans le champ. Cette transformation de l’espace
« champs » à l’espace « caméra » est réalisée au moyen du modèle du sténopé.
2.2.1 Modèle du sténopé
Après avoir modélisé la scène agronomique, nous devons positionner une caméra virtuelle
pour en faire une photographie. L’utilisation du modèle du sténopé nous permet de trans-
former notre scène au travers d’un système optique dont nous contrôlons les paramètres.
Ceux-ci se déclinent en deux catégories :
Les paramètres intrinsèques, dépendants des spécificités de la caméra :
– La longueur focale (distance entre le centre optique et le plan image =
f
) ;
– La taille d’un élément du CCD (
Celli, Cellj
) ;
– Les coordonnées du centre optique (
Uo, Vo
en pixel) ;
– L’orthogonalité (
Suv
).
Les paramètres extrinsèques, dépendants de la position et de l’orientation de la
caméra (voir Figure 4)
Fig2a Fig2b
Fig. 2 : Deux distributions d’adventices : ponctuelle (Fig2a) et agrégative (Fig2b).
Fig. 3 : Résultat de la modélisation d’un champ de tournesol en présence d’adventices(distribution ponctuelle) dont le WIR est de 30 %.
212
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
– Le vecteur de translation (Tx = 0, Ty = 0 et Tz = H) ;
– La matrice de rotation suivant les trois axes (Rx =, Ry = et Rz = 0).
Ce modèle nous permet de simuler toutes les configurations possibles : du type de caméra à
sa position dans la scène Figure 4.
2.2.2 Calcul des dimensions du champ
Les dimensions du champ nous sont données par les paramètres intrinsèques et extrinsè-
ques comme le montre la Figure 5.
Une fois les dimensions connues, nous pouvons créer le champ en appliquant un ratio
mètres/pixel établi à l’aide des dimensions métriques du champ ainsi que de la taille sou-
haitée pour la photographie (afin d’avoir une résolution suffisante en tout point de
l’image). Ce ratio nous permet également de calculer la taille en pixel des plants de culture
et d’adventices.
2.2.3 Matrice de transformation
Nous appliquons le modèle du sténopé à l’aide d’une matrice de transformation qui en
contient les paramètres et qui est définie en Figure 6 :
Fig. 4 : Positionnement et orientation de la caméra dans le repère monde.
Fig. 5 : Dimensions du champ en fonction des paramètres intrinsèques et extrinsèques de la caméra.
Fig. 6 : Paramètres du modèle du sténopé au sein d’une matrice de transformation.
213
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
Pour chaque point du champ virtuel, nous calculons sa position réelle (en mètres) que
nous transformons dans le plan image à l’aide de la matrice définie précédemment. Si plu-
sieurs pixels du champ appartiennent au même pixel de la photographie, leur intensité est
moyennée. En conséquence l’image résultante est en niveau de gris. Afin de conserver un
WIR proche de celui demandé initialement, celui ci est calculé durant le processus de créa-
tion de l’image, un seuillage est appliqué afin de conserver le ratio culture/adventices ini-
tial (une faible résolution entrainera un important changement de ratio).
Le résultat de cette transformation sur le champ présenté en Figure 3 est montré en
Figure 7.
Afin de permettre une analyse précise d’algorithmes de discrimination, les paramètres
suivants sont sauvegardés :
– Le nombre de pixels de culture ;
– Le nombre de pixels d’adventices (intra et inter-rang) ;
– Deux images : la première représentant la végétation (culture et adventice, les adven-
tices présents dans l’inter-rang étant considérés comme de la culture) de l’inter-rang,
la seconde étant sa complémentaire.
3 Application : comparaison d’algorithmes baséssur la transformée de Hough et sur la transformée de Fourier
Nous allons maintenant présenter une utilisation de cette modélisation pour une étude
comparative des performances de deux algorithmes de discrimination culture/adventices.
Une base de données d’images a été créée pour permettre de comparer les résultats obte-
nus à partir de même images dont les taux d’infestation initiaux sont parfaitement connus.
3.1 Entrevue des algorithmes de discrimination
Algorithme basé sur la transformée de Hough :
La discrimination des plantes se fait, ici, en deux étapes, la première consiste en une
détection de ligne à l’aide d’une transformée de Hough [16] après adaptation aux scènes
agronomiques et la seconde utilise l’information obtenue pour détecter les bords des cul-
tures et les approximer en droites par régression linéaire. Cette méthode a été largement
développée dans [17]. Cet algorithme peut être considéré comme un classifieur car la sec-
onde étape permet de séparer chaque pixel de végétation en deux classes : culture et
adventices.
Algorithme basé sur la transformée de Fourier :
La discrimination culture/adventices est basée sur la périodicité des rangs de culture.
La transformée de Fourier de la photographie est réalisée afin d’extraire les paramètres
nécessaires (fréquence centrale et écart type selon l’axe horizontal) au filtrage de l’image
Fig. 7 : Transformation d’un champ virtuel de tournesol à l’aide du modèle du sténopé(f = 16 mm, CCD = 5.28x7mm, H = 8 m, = 0˚, = 20˚). Dimension de la photographie : 256x256 pixels.
214
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
par un filtre de Gabor [18]. L’image filtrée nous permet alors de réaliser la discrimination.
De plus amples détails peuvent être trouvés dans [12].
3.2 Protocole et comparaison des algorithmes
Protocole :
Il est important de noter que le WIR obtenu par ces algorithmes ne permet en aucun
cas de se faire une idée sur leur précision, seule une analyse détaillée concernant les
résultats de la classification des pixels permettra d’évaluer la performance des algo-
rithmes. Afin de les comparer, nous avons choisi de créer une base de données d’images
qui sera utilisée pour tester les deux programmes de discrimination. La transformée de
Fourier travaillant dans le domaine fréquentiel, il semblait naturel de comparer les résultats
de la discrimination sur des images sans perspective (dont la fréquence de la culture est
identique dans toute l’image). Ensuite, nous avons comparés et analysés ces résultats à
l’aide de matrices de confusion [19] construites pour un classifieur à deux classes (culture
et adventices).
Ces matrices sont utilisées afin de calculer différents paramètres permettant de con-
naître les performances d’un classifieur. Parmi ces paramètres, en considérant la classifica-
tion d’un pixel en adventice comme positive, nous trouvons :
– Le taux de vrais positifs (TP =
True Positive
) qui est la proportion de cas positifs bien
détectés (ici, les adventices détectés comme tels) ;
– Le taux de faux positifs (FP =
False Positive
) qui est la proportion de cas positifs mal
détectés (ici, les adventices pris pour de la culture) ;
– Le taux de vrais négatifs (TN =
True Negative
) qui est la proportion de cas négatifs
bien détectés (ici, la culture détectée comme telle) ;
– Le taux de faux négatifs (FN =
False Negative
) qui est la proportion de cas négatifs
mal détectés (ici, la culture prise pour des adventices).
Une base de données de presque 4000 images a été créée avec différents WIR initiaux
(de 0 % à 60 % avec un pas de 2 %) pour chacune des trois distributions spatiales d’adven-
tices développées afin de connaître l’impact de ces distributions sur la discrimination. Une
Fig. 8 : Résultat de la discrimination basée sur la transformée de Hough.
Fig. 9 : Résultat de la discrimination basée sur la transformée de Fourier.
215
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
configuration particulière de caméra a été sélectionnée : CCD size = 5.28x7mm, focal
= 16 mm, Tz = 8 m, = 0˚, = 0˚. Pour chaque WIR, les algorithmes ont été testés 40 fois pour
permettre de moyenner les résultats obtenus et de travailler avec des données plus
représentatives des comportements des algorithmes.
Résultats :
Nous avons choisi d’étudier les pixels classés par les algorithmes comme « adventice »
à l’aide de matrice de confusion. Ces derniers peuvent être bien détectés ou détectés à
tort comme faisant partie de la classe « culture ». Ces résultats sont présentés sous forme
d’histogrammes et représentent le pourcentage d’adventices détectés comme de la cul-
ture (soit le taux de faux positifs) ainsi que ceux bien détectés (soit le taux de vrais positifs)
en fonction du WIR initial. Dans le cas d’une distribution d’adventices mixte, présentée en
Figure 10, les résultats montrent une détection meilleure pour l’algorithme basé sur la
transformée de Hough (avec prêt de 90 % d’adventices bien détectées). Celui basé sur la
transformée de Fourier obtient néanmoins des taux de détection tout à fait corrects (aux
alentours de 70 % d’adventices bien détectées). Il est également important de préciser
que les deux algorithmes présentés possèdent des temps d’exécution bien différents : des
trente secondes nécessaires à l’algorithme basé sur la transformée de Hough, seulement
deux secondes sont suffisantes pour celui basé sur la transformée de Fourier. Le choix d’un
des algorithmes pourra ainsi être effectué relativement au critère prioritaire : la rapidité
d’exécution ou la qualité de la détection.
De plus, il est également important de noter la robustesse des deux algorithmes rela-
tivement à la quantité d’adventices présente (jusqu’à 60 % !). La qualité des détections
obtenues n’étant quasiment pas impactée malgré l’augmentation du bruit (ici, les adven-
tices).
Une prochaine étape pourrait être l’établissement de courbes de calibration afin de
permettre une estimation plus juste des WIR sur des images réelles. Ces courbes peuvent
être réalisées sur des bases de données similaires à celle que nous venons de voir, elles
consisteraient à mettre en relation le taux d’infestation réel et celui détecté par l’algo-
rithme de discrimination.
Fig. 10 : Comparaison de la qualité de détection d’adventices par deux algorithmesbasés sur la transformée de Fourier (gris foncé) et la transformée de Hough (gris clair).
216
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
La connaissance du comportement des algorithmes peut également nous permettre
d’en améliorer le fonctionnement : les deux algorithmes présentés présentent la même
faiblesse de discrimination à la frontière entre le rang de culture et l’inter-rang, une
approche à l’aide de probabilités Bayésienne pourrait être menée afin d’affiner la détec-
tion.
4 Conclusions et perspectives
Nous avons proposé une approche complète permettant de tester, de valider et de com-
parer les performances de deux algorithmes de discrimination culture/adventice. Un
modèle permettant la création de scènes agronomiques à partir des caractéristiques de la
culture a été mis en place avec la possibilité d’inclure différentes distributions d’adventices
(i.e. ponctuelle, agrégative et un mélange des deux) résultant de procédés agricoles. Afin
de finaliser ce modèle, la simulation de prise de photographies nous a permis d’envisager
tout type de configuration et, de cette manière, de tester des algorithmes destinés à diffé-
rents concepts (carte, temps réel). Bien que les images modélisées soient différentes
d’images réelles, les similarités entre elles en terme de structure sont suffisantes pour tes-
ter des algorithmes spatiaux. Des méthodes de validation sont toutefois envisagées afin de
permettre une comparaison des images modélisées et réelles au niveau structurel. Nous
avons présenté également une utilisation de cette modélisation de scènes agronomiques
pour comparer entre eux plusieurs algorithmes de discrimination d’adventices. Bien que
d’autres critères soient importants (comme le temps de calcul), cette approche nous a per-
mis d’en isoler certains : la précision, la résistance face au bruit (aux adventices) ainsi que
l’impact provoqué par la distribution des adventices sur les performances.
La possibilité de classer les plantes en fonction de leur signature spectrale [20] nous
pousse à compléter notre modélisation en considérant cette approche afin de tester des
algorithmes de détection basés sur une approche spectrale. À l’aide du modèle de réflexion
bidirectionnelle (BRDF, [21]) qui permet de connaître la couleur émise par un matériel en
fonction de sa signature spectrale et de sa position relativement à la source de lumière et
au point d’observation, nous pourrons finaliser la modélisation d’une scène agronomique.
Remerciements
Les auteurs remercient la Société Tecnoma (société du groupe EXEL Industries, http://
www.tecnoma.com) et le conseil régional de Bourgogne pour leur soutien financier dans la
réalisation de ce projet.
Références
[1] Agriculture de précision, Acte du colloque UMR Cemagref-ENESAD, Educagri Editions, 2000.
[2] Borregaard, T., Nielsen H., et al. (2000). "Crop-weed Discrimination by Line Imaging
Spectroscopy." Journal of Agricultural Engineering Research 75 : 389-400.
[3] Felton, W. L. and McCloy K. R. (1992). "Spot spraying." Agricultural Engineering 11: 26-29.
[4] Felton, W. L. (1995). Commercial progress in spot spraying weeds. Brighton Crop Protection
Conference
[5] Hague, T., Marchant J. A., et al. (1997). "A system for plant scale husbandry." Precision Agri-
culture, : 635-642.
[6] Tillet, N. D., Hague T., et al. (1998). "A robotic system for plant scale husbandry.." Journal of
Agricultural Engineering Research 69 (2) : 169-178.
[7] Søgaard, H. T. and Heisel T. (2003). "Determination of crop rows by image analysis without
segmentation." Computers and Electronics in Agriculture 38 : 141-158.
217
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
[8] Brown, R. B. and Steckler J. P. G. A. (1995). "Prescription maps for spatially variable herbicide
applications in no-till corn." Transactions of ASAE 38 (6) : 1659-1666.
[9] Oebel, H. and Gerhards R. (2005). Site-specific weed control using digital image analysis and
georeferenced application maps : On-farm experiences.. Fifth European Conference on Precision
Agriculture, Uppsala, Sweden.
[10] Vioix, J. (2004). Conception et réalisation d’un dispositif d’imagerie multispectral embarqué : du
capteur aux traitements pour la détection d’adventices. ENESAD-LGAP. Dijon, Université de
Bourgogne. Master : 219.
[11] Vioix, J., Douzals J., et al. (2004). Aerial detection and localization of weed by using multispectral
and spatial approaches. AgEng2004, European Society of Agricultural Engineers,, Leuven,
Belgium, September 12-16
[12] Bossu, J., Gée C., et al. (2006). Développement d’un système de vision pour une pulvérisation d’un
système de vision en temps réel. MajeSTIC, Lorient- FR.
[13] Cardina, J., Johnson G., et al. (1997). The nature and consequence of weed spatial distribution.
[14] Yau, W.-Y. A. (1999). Modelling the impact of genetically modified crop on the flora associated with
agriculture, EPCC.
[15] Goreaud, F. (2000). Apports de l’analyse de la structure spatiale en forêt tempérée à l’étude et la
modélisation des peuplements complexes.
[16] Hough, P. V. C. (1962). A method and means for recognizing complex patterns. U.S. Patent Office
N˚3069654.
[17] Jones, G., Gée C., et al. (2007). Crop/weed discrimination in simulated agronomic images. IS & T/
SPIE 19th Annual Symposium on Electronic Imaging Science and technology – "Image", San Jose
– CA – USA, 28 Jan-01 Fev.
[18] Gabor, D. (1946). "Theory of communication." J. IEE (London) 93 (III) : 429-456.
[19] Kohavi, R. and Provost F. (1998). "Glossary of Terms." Machine Learning 30 (2) : 271-274.
[20] Vrindts, E. (2002). Automatic recognition of weeds with optical techniques as a basis for site specific
spraying. Leuven – Be, Katholieke Universiteit Leuven : 146.
[21] Jacquemoud, S., Baret F., et al. (1993). "Modélisation de la réflectance spectrale et directionnelle
des sols : application au concept de droite des sols." Cahiers – ORSTOM. Pédologie 28 (1) : 31-43.
218
Schedae
,
2007, prépublication n°31, (fascicule n°2, p. 207-217).
| 219
Prépublication n° 32 | Fascicule n° 2
Segmentation multi-résolutionbasée sur la texture :application à la segmentation de trèsgrandes images de microscopie cellulaire
Nicolas SignolleGREYC ENSICAEN UMR 6072 – GRECAN EA 1772
Jérôme Delettre, Marinette RevenuGREYC ENSICAEN UMR 6072
[email protected], [email protected]
Paulette Herlin, Benoît PlancoulaineGRECAN EA 1772
[email protected], [email protected]
Résumé :
Ce papier présente une stratégie de segmentation multi-échelle, mettant en œuvre un modèle
d’arbre de Markov caché appliqué sur les valeurs des coefficients en ondelettes, pour la segmen-
tation de différents types de stroma sur de très grands volumes de données images.
Mots-clés : segmentation multi-échelle, modèle d’arbre de Markov caché, ondelettes,
stroma, grandes images.
Introduction
Pour apprécier l’évolution des tumeurs cancéreuses, il est souvent nécessaire de rechercher
et de quantifier des structures cellulaires et tissulaires sur des sections histologiques. Pour
effectuer cette mesure de manière objective, il faut acquérir une image de la prépara-
tion entière car les structures à détecter peuvent être réparties de manière hétérogène sur
Nicolas Signolle, Jérôme Delettre, Marinette Revenu, Paulette Herlin, Benoît Plancoulaine« Segmentation multi-résolution basée sur la texture : application à la segmentation de très grandes images de microscopie cellulaire »
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
220 |
l’ensemble de la lame. Il convient en outre d’adapter la résolution de prise de vue à la taille
des structures. Les images produites pour l’identification de petites structures sont alors de
très grands volumes (plusieurs giga octets) et il est impossible de les traiter globalement.
Les travaux sur les images de grande taille sont encore peu nombreux [1, 2]. La méthode
que nous avons retenue pour analyser ces grandes images consiste à effectuer une analyse
à plusieurs échelles en adaptant la résolution de travail à chaque type de structure que nous
voulons segmenter.
L’étude présentée ici vise à segmenter des compartiments tissulaires tumoraux en faisant
d’une part la partition entre les cellules cancéreuses et le stroma fibro-nourricier des tumeurs
et d’autre part en caractérisant différents compartiments stromaux. Les compartiments du
stroma tumoral peuvent être distingués par leur aspect, et non par leur couleur. Nous faisons
l’hypothèse que chaque stroma correspond à une texture particulière que nous allons carac-
tériser.
La segmentation d’une image texturée consiste en l’identification de régions de tex-
ture homogène. De nombreux travaux ont été menés sur la segmentation d’images de
texture. On distingue trois catégories de méthodes : les méthodes statistiques s’appuyant
sur la distribution spatiale des niveaux de gris, les méthodes basées sur la construction d’un
modèle, et les méthodes fondées sur les mécanismes de la vision humaine, faisant intervenir
plusieurs niveaux de résolution [3].
Le modèle d’arbre de Markov caché (Hidden Markov Tree, HMT) proposé par Crouse
[4] offre le moyen de combiner ces différentes approches. Il correspond à une modélisation
statistique intra-échelle et inter-échelle des coefficients obtenus par une transformation en
ondelettes (TO) [5] et il exploite le pouvoir de décorrélation de cette transformée. L’objectif
est de capturer la dépendance inter-échelle des coefficients et le caractère non gaussien
de la distribution des coefficients à chaque échelle.
Nous avons appliqué ce modèle à la segmentation de différents compartiments de
stroma présents sur une image de lame histologique entière de cancer ovarien, acquise à
forte résolution (0, 5 µm).
Dans la suite de cet article, nous décrirons précisément les structures que nous souhaitons
segmenter ainsi que les outils théoriques employés. Nous présenterons ensuite nos résul-
tats avant de conclure sur les perspectives qu’offre ce travail.
1 Matériel
Lorsqu’un patient est opéré d’une tumeur cancéreuse, la pièce d’exérèse est découpée en
fines lamelles de 5 µm d’épaisseur qui sont déposées sur des lames de verre, puis colorées
par immuno-histochimie ou par histochimie afin de mettre en évidence certains types cel-
lulaires, ou protéines (nucléaires, cytoplasmiques ou membranaires) dont la présence peut
ensuite être quantifiée pour apprécier le potentiel d’évolution de la tumeur et choisir la
thérapie adaptée. Dans le cas du carcinome ovarien (Figure 1), les chercheurs souhaitent
préciser le rôle du stroma intra-tumoral dans l’évolution des tumeurs et la réaction aux traite-
ments.
Le tissu cancéreux ovarien comporte deux composantes : les cellules épithéliales carci-
nomateuses (Figure 2) et le stroma. Le stroma est un tissu conjonctivo-vasculaire non tumoral
qui est présent dans tous les types de cancers invasifs d’origine épithéliale. Il est induit par
les cellules cancéreuses et leur sert de tissu nourricier et de soutien [6].
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
| 221
Fig. 1: Image d’une lame histologique de carcinome ovarien acquise avec un Scanscope d’Aperio. La tailled’origine est de 62000 x 41404 pixels.
Fig. 2: L’épithélium. Les noyaux des cellules en prolifération sont marqués en brun, lesnoyaux des autrescellules sont bleus.
On observe plusieurs types de stroma (Figure 3) au sein des tumeurs correspondant à
différents degrés de maturation : le stroma lâche, le stroma cellulaire et le stroma fibreux.
On trouve également du stroma inflammatoire, pouvant être présent au sein des autres
compartiments stromaux.
– Le stroma lâche est un stroma embryonnaire. Il est composé dematrice extracellulaire
et de cellules étoilées. La densité de répartition de ces cellules est faible. Les noyaux
sont de petite taille. On peut y rencontrer de grandes lacunes vasculaires ;
– Le stroma cellulaire est un tissu conjonctif jeune. Il est constitué de cellules myofi-
broblastiques en trousseaux avec une forte densité de répartition. Les noyaux sont
allongés et oblongs ;
– Le stroma fibreux est un stromamature avec une densité de répartition des cellules un
peu plus faible que le stroma cellulaire et un grand nombre de fibres extra-cellulaires
Fig. 3: Les différents types de stroma au x20 (a) stroma lâche (b) stroma cellulaire (c) stroma fibreux (zoneentourée) (d) stroma inflammatoire.
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
222 |
faites de collagène. Les noyaux sont fins et très allongés. Leur densité optique est
très importante, elle correspond à une phase de condensation de la chromatine ;
– Le stroma inflammatoire est caractérisé par de petits noyaux de forme circulaire de
forte densité optique (lymphocytes). Il peut également renfermer des cellules polynu-
cléaires (noyau en trèfle) et des globules rouges extravasés.
Les images que nous avons étudiées sont des coupes de carcinomes ovariens marquées
à la cycline A, un marqueur de la prolifération cellulaire, et contre-colorées à l’hématoxyline
de Mayer. Les noyaux des cellules tumorales et stromales sont colorés en bleu, les noyaux
en prolifération sont marqués en brun.
Les images ont été acquises à l’aide du scanner ScanScope CS d’Aperio Technologies avec
un grossissement de 20, correspondant à une résolution de 0, 5 µm. Les images ont un
volume en mémoire compris entre 3 et 10 Go selon la surface du tissu scanné.
2 Méthodes
2.1 Une stratégie multi-résolutionDes travaux antérieurs fondés sur des stratégies d’analyse à basse résolution (6.3 µm) ont
déjà permis de segmenter et de quantifier des marqueurs (quantification des noyaux mar-
qués, de l’épithélium, des vaisseaux sanguins, du stroma [7, 8] (Figure 4)). Cependant,
l’analyse précise des compartiments stromaux, qui implique une identification cellulaire,
est impossible à cette échelle car la représentation d’une cellule est formée de seulement
quelques pixels.
Fig. 4: Superposition sur l’image couleur à faible résolution du contour des zones segmentées : le tissu (envert) et l’épithélium (en rouge). À droite un détail de l’image de gauche.
Nous proposons uneméthode d’analyse de l’image à haute résolution. La première idée
qui vient à l’esprit consiste à traiter l’image par blocs. La difficulté réside dans le fait que cela
implique de très fortes contraintes aux bords des images élémentaires, notamment pour
gérer les structures qui peuvent s’étendre sur plusieurs images. En outre, la segmentation
de structures de grande taille doit impliquer des caractéristiques locales et globales qu’il est
difficile de prendre en compte. L’approche multi-résolution adoptée va consister par contre
à sélectionner, à différentes résolutions, des zones d’intérêt dans lesquelles il y a des ob-
jets à segmenter ce qui permet d’adapter la décomposition de l’image à son contenu. Une
structure de « grande taille » va être segmentée à faible résolution (la taille de l’image étant
alors suffisamment petite pour être chargée en mémoire, il n’y a pas à gérer d’éventuels
effets de bord). Cette segmentation servira de masque pour segmenter une structure de
taille plus petite dans une image plus résolue. Le procédé peut être répété jusqu’à la locali-
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
| 223
sation de structures très petites dans l’image à pleine résolution. La « pré-localisation » dans
un masque nous permet de traiter des parties de l’image en s’affranchissant du problème
de chevauchement des grandes structures sur plusieurs imagettes élémentaires.
La décimation est obtenue par transformation en ondelettes (selon l’algorithme de Mal-
lat, [5]). Une première séparation entre le fond de l’image et le tissu est réalisée à très faible
résolution (32 µm). L’histogramme de l’image est considéré comme un mélange de trois
gaussiennes (un mode bien distinct pour le fond, et deux modes proches pour le stroma
et l’épithélium). Les paramètres de ces trois gaussiennes ayant été estimés par analyse de
l’histogramme, on peut calculer la probabilité pour chacun des pixels d’appartenir à l’une
des classes (fond ou tissu), et segmenter l’image par maximum de vraisemblance. Le ré-
sultat est amélioré par quelques opérations de morphologie mathématique (bouchage de
trous et ouverture géodésique) (Figure 5).
Fig. 5: (a) histogramme de l’image de la (Figure 1) (b) résultat de la partition tissu-fond.
À l’intérieur du tissu, nous appliquons lemodèle deHMT utilisant les statistiquesmarginales
des coefficients en ondelettes.
2.2 Le modèle d’arbre de Markov caché HMTL’idée d’utiliser les coefficients en ondelettes pour réaliser la segmentation de texture n’est
pas récente. Dès 1995, Unser [9] extrait des paramètres à différentes échelles d’ondelettes
pour classer des textures. Bouman [10] utilise un modèle multi-échelle mais considère que
les valeurs des pixels sont indépendantes, ce qui n’est pas toujours vrai. Pour modéliser
les dépendances intra- et inter-échelles simultanément, Crouse [4] propose d’utiliser un
modèle de mélange de gaussiennes indépendantes appliqué aux coefficients d’ondelettes
dans chaque sous-bande, et un arbre de Markov caché (HMT).
À chaque échelle, la valeur des coefficients d’ondelettes dépend de la régularité du
signal. Une singularité va se traduire par un grand coefficient d’ondelettes qui pourra se
propager à travers les échelles, alors qu’une zone comportant des valeurs variant peu don-
nera lieu à une série de petits coefficients. Ces propriétés de la transformée en ondelettes
font qu’il y a un petit nombre de grands coefficients portant l’énergie du signal, et beau-
coup de petits coefficients. On peut considérer que chaque coefficient est dans l’un des
deux états G (grand) ou P (petit). Si on associe à chaque état une densité de probabilité,
c’est à dire une densité à forte variance et à moyenne nulle pour l’état G et une densité à
faible variance et à moyenne nulle pour l’état P, on obtient un modèle de mélange à deux
états pour chaque coefficient d’ondelettes (Figure 6).
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
224 |
Fig. 6: Lemodèle demélange de gaussiennes àmoyenne nulle à 2 états. (a) distribution des grands coefficients(b) distribution des petits coefficients (c) le modèle de distribution des coefficients en ondelettes dans une sous-bande.
Fig. 7: a) Les dépendances père-fils des sous-bandes de la TO. Chaque flèche part d’un coefficient d’on-delettes père et pointe vers ses 4 coefficients fils à la résolution supérieure. (b) La structure en quadtree dumodèle, détaillée pour une sous-bande. (c) le modèle HMT, détaillé pour une sous-bande. Chaque coefficienten ondelettes (nœud noir) est modélisé par un mélange de gaussiennes contrôlé par un état caché (nœudblanc).
Nous avons vu qu’il existait des dépendances inter-échelles entre les coefficients en
ondelettes. Pour les capturer, le modèle utilise une chaîne de Markov à une dépendance
entre les niveaux de résolution (Figure 7).
Ce modèle est utilisé par Choi [11] pour réaliser la segmentation d’images texturées. La
méthode comporte trois phases : une phase d’apprentissage, une phase de segmentation
à chaque échelle et une phase de fusion inter-échelles. Lors de la phase d’apprentissage,
les paramètres du modèle M sont appris pour chaque texture grâce à un algorithme EM
(Expectation Maximisation) adapté aux HMT et au modèle de mélange de gaussiennes [4] :
pour chaque état (G ou P), on apprend, pour chaque niveau et pour chaque sous-bande,
les paramètres de la gaussienne le représentant (moyenne, variance et probabilité d’appari-
tion), ainsi que les paramètres de transition d’un état à un autre entre deux résolutions (soit
4 paramètres de la forme[εp=Pf=P
εp=Pf=G
εp=Gf=P
εp=Gf=G
]=
[εp=Pf=P
1− εp=Pf=P
1− εp=Gf=G
εp=Gf=G
]
où εp=af=b
représente la probabilité que le père soit à l’état a quand le fils est à l’état b).
Lors de la phase de segmentation, la ressemblance entre les données de la transfor-
mée en ondelettes de l’image observée et le modèle HMT des images d’apprentissage est
évaluée par le calcul d’une fonction de vraisemblance.
f(Ti|M) =∏
orientations
∑m=P,G
f(Ti|Si = m,Mo) ∗ p(Si = m |Mo)
Où Ti est un sous-arbre de racine wi dans l’une des sous-bandes,Mo représente les para-
mètres du modèle pour une orientation particulière et Si est l’état caché de wi.
On affecte ensuite, par maximum de vraisemblance, chaque pixel à la texture la plus
semblable. On obtient une segmentation dite « brute », à chaque niveau.
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
| 225
Pour améliorer cette première segmentation, on réalise ensuite une fusion entre les seg-
mentations des différentes résolutions. Cette fusion est réalisée enmaximisant la probabilité
d’appartenance d’un pixel à une classe, en tenant compte de sa valeur dans la segmenta-
tion brute et aussi d’un vecteur de contexte. Ce vecteur de contexte peut être la valeur du
père et des voisins du père [11], des voisins du fils, ou bien une combinaison de plusieurs
vecteurs de contexte [12] (Figure 8).
Fig. 8: Les différents vecteurs de contexte V utilisés : a) les voisins du fils (b) les voisins du père et le père (c) lesvoisins du fils et du père et le père.
3 Résultats et discussion
Pour tester l’algorithme de segmentation, nous avons utilisé des images synthétiques de
taille 1024 x 1024, constituées d’une mosaïque de textures de Brodatz (Figure 9).
Nous avons entraîné le modèle de HMT pour chacune des textures sur quatre images de
taille 512 x 512. La fusion des segmentations brutes a été réalisée avec les trois voisinages
présentés en (Figure 8). Au vu de l’image de résultat (Figure 9), nous pouvons dire que, à
l’échelle 1 (décimation par 2 de l’image originale), seules trois textures sont correctement
classées. À partir de l’échelle 2 (décimation par 4 de l’image originale), on obtient une
bonne segmentation de toutes les textures et une bonne localisation des frontières. Ceci
peut s’expliquer par le fait que, à l’échelle 1, les informations spatiales sont encore trop
présentes. Il faut obtenir un certain degré d’abstraction de la texture pour réaliser une bonne
segmentation. Il existe ainsi une échelle présentant un bon résultat qui se situe aux alentours
de l’échelle 2 (1/4) et 3 (1/8).
Nous avons ensuite testé l’algorithme sur des mosaïques de stroma (Figure 10). Comme
précédemment, le modèle a été appris sur 4 images de chaque texture de taille 512 x 512.
Fig. 9: Mosaïque de 4 textures de Brodatz (gauche) et le résultat de leur segmentation à plusieurs échelles(droite).
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
226 |
Fig. 10: Image mosaïque de stroma cellulaire et de stroma lâche (gauche) et le résultat de la segmentation del’image à plusieurs échelles (droite).
Nous avons utilisé la composante bleue car elle donne les meilleurs résultats de segmen-
tation. Comme pour les images synthétiques, on remarque qu’il faut atteindre une certaine
échelle (ici 1/8) pour obtenir une séparation correcte des compartiments stromaux.
Nous avons également testé le modèle sur d’autres textures présentes sur l’image origi-
nale : l’épithélium et le fond (Figure 11).
Fig. 11: Image mosaïque de stroma cellulaire, de stroma lâche, d’épithélium et de fond (gauche) et le résultatde la segmentation de l’image à plusieurs échelles (droite).
Les conditions d’apprentissage sont identiques à celles de l’exemple précédent. On
peut ici voir que le fond et le stroma lâche sont bien segmentés dès l’échelle 2. En revanche,
l’épithélium n’est pas bien segmenté et il vient perturber la segmentation du stroma cellu-
laire.
Ceci est un problème car cela veut dire que l’épithélium ne peut pas être segmenté avec
la même méthode que le stroma, alors que ces structures sont voisines dans le tissu. Il faut
donc avoir identifié (et exclu de l’analyse) le compartiment épithélial avant de segmenter le
stroma avec cette méthode. Choi [11] propose d’intégrer au modèle une segmentation au
niveau pixel. Cette segmentation pourrait reprendre les résultats obtenus pour l’épithélium
sur des données à basse résolution par l’équipe du GRECAN [8, 7].
Pour vérifier la segmentation de chaque pixel, il faudrait calculer un indice de confiance
représentant la qualité de la décision. Il nous permettrait de valider de manière certaine les
segmentations réalisées.
Les temps d’exécution sont différents pour chaque étape. Les programmes ont été
lancés sur un processeur d’un quadriprocesseur XEON 3GHz.
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
| 227
– La séparation du tissu et du fond est instantanée ;
– L’apprentissage des paramètresM du modèle a été réalisé sur des images 512x512.
Le temps de calcul dépend de la convergence de l’algorithme EMet varie de quelques
secondes à quelques minutes par image ;
– Les étapes de segmentation-fusion sont un peu plus longues : de l’ordre de 1 à 10
minutes pour une image 2048x2048.
Conclusion et perspectives
Dans cet article, nous avons vu que l’utilisation d’images à forte résolution (et donc de
grande définition) est nécessaire pour pouvoir distinguer des structures à l’échelle cellu-
laire. Nous avons présenté une stratégie de segmentation multi-échelle utilisant un modèle
d’arbre de Markov caché sur les valeurs de coefficients en ondelettes pour segmenter une
très grande image. Nous avons vu que les résultats de segmentation des compartiments
du stroma tumoral étaient bons et que les frontières entre régions étaient bien localisées
à partir d’une certaine échelle. En revanche, certains compartiments (l’épithélium) doivent
être écartés avant la segmentation des stromas.
Nous avons obtenu les meilleurs résultats avec la composante bleue. Il faudrait main-
tenant tester d’autres espaces couleur. Scheunders [13] a notamment proposé uneméthode
pour construire une représentation en ondelettes combinant les plans couleur en calculant,
à partir des trois valeurs, un coefficient traduisant l’importance relative de celles-ci.
Une autre manière d’améliorer la segmentation serait d’étudier l’influence des bases
d’ondelettes utilisées pour la TO : certaines bases bi-orthogonales sont isotropes. Ceci
peut se révéler intéressant lors de l’étude de structures circulaires comme les noyaux.
Enfin, nous pourrions envisager la combinaison de plusieurs méthodes de segmenta-
tion (utilisation de patchs, clustering. . .) puis la fusion des résultats.
Remerciements
Ce travail est financé par une bourse BDI cofinancée par le CNRS et la région Basse-
Normandie.
Références[1] J. Ho, A.V. Parwani, and D.M. Jukic. Use of whole slide imaging in surgical pathology quality
assurance : design and pilot validation studies. Human Pathology, 37(3) :322–31, 2006.
[2] T. Pan, K. Mosaliganti, R. Machiraju, D. Cowden, and J. Saltz. Large scale image analysis and
nuclear segmentation for digital microscopy images. In APIII, Frontiers in Oncology and Pathology
Informatics, Pittsburgh, 2004.
[3] J. Dombre. Systèmes de représentation multi-échelles pour l’indexation et la restauration
d’archives médiévales couleur. PhD thesis, Université de Poitiers, Poitiers, France, 2003.
[4] M. Crouse, R. Nowak, and R. Baraniuk. Wavelet-based statistical signal processing using hidden
markov models. IEEE Trans. Signal Processing, 46 :886–902, 1998.
[5] S. Mallat. Une exploration des signaux en ondelettes. Publications Ecole Polytechnique, 2000.
ISBN : 2-7302-0733-3, 654 pages.
[6] J. Audouin Berault, Juin 2007. faculté Broussais Hôtel Dieu université Paris VI,
https ://www.medecine.univparis5.fr/IMG/pdf/Cours_No8_Stroma_invasion_locale-3.pdf.
[7] T.K.N. Tran, N. Elie, B. Plancoulaine, P. Herlin, and M. Coster. An original approach for quantifica-
tion of blood vessels on the whole tumour section. Ana Cell Path, 25(2) :63–75, 2003.
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
228 |
[8] N. Elie, B. Plancoulaine, J.P. Signolle, and P. Herlin. simple way of quantifying immunostained cell
nuclei on the whole histologic section. Cytometry, 56A(1) :37–45, 2003.
[9] M. Unser. Texture classification and segmentation using wavelet frames. IEEE Transactions on
Image Processing, 4(11) :1549–1560, 1995.
[10] C. Bouman and Shapiro M. A multiscale random field model for bayesian image segmentation.
IEEE Transactions on Image Processing, 3(2) :162–177, 1994.
[11] H. Choi and R. Baraniuk. Multiscale image segmentation using wavelet-domain hidden markov
models. IEEE Transactions on Image Processing, 10(9) :1309–1321, 2001.
[12] G. Fan and X.G. Xia. A joint multicontext and multiscale approach to bayesian segmentation. IEEE
Trans. on Geoscience and Remote Sensing, 39(12) :2680–2688, 2001.
[13] P. Scheunders. An orthogonal wavelet representation of multivalued images. IEEE Transactions
Image Processing, 12(6) :718–725, 2003.
Schedae, 2007, prépublication n° 32, (fascicule n° 2, p. 219-228).
| 229
Prépublication n° 33 | Fascicule n° 2
Suivi de libellules par analysede séquences d’images
Yara Bachalany, François CabestaingLAGIS – UMR CNRS 8146
Cité Scientifique, 59655 Villeneuve d’Ascq Cedex
Sébastien AmbellouisINRETS-LEOST
20, rue Élisée Reclus – BP 317, 59666 Villeneuve d’Ascq Cedex
Résumé :
L’objectif applicatif de cette thèse est le suivi d’une libellule dans une séquence d’images afin
de reconstituer précisément les paramètres de sa trajectoire durant la capture d’une proie. Nous
avons abordé ce problème selon différents points de vue. Nous avons envisagé de reconstituer la
trajectoire en accumulant les positions successives d’un modèle 3D articulé dont les paramètres
sont déterminés en le comparant à sa projection dans les images. Lors de la mise en correspon-
dance du modèle proposé avec chaque image, nous rencontrons plusieurs problèmes tels que
l’imprécision des images due au flou de bougé et la difficulté de prise en compte du phénomène
de pseudopupille. De ce fait, nous proposons de séparer le traitement en deux étapes : l’estima-
tion incrémentale (entre images successives) du mouvement en 2D (Lucas Kanade) suivi d’une re-
constitution du mouvement 3D du modèle global. Nous présentons plus précisément le principe
de l’estimation incrémentale du mouvement.
Mots-clés : vol, libellules, suivi 3D, Lucas Kanade, mise en correspondance modèle
3D/image.
1 Introduction
Les libellules sont d’excellents prédateurs. Leur stratégie de chasse consiste à attendre leur
proie perchées sur une végétation et à choisir le moment propice pour décoller. Le plus
étonnant, c’est que la capture se produit en vol : elles approchent leur proie par le dessous
Yara Bachalany, François Cabestaing, Sébastien Ambellouis« Suivi de libellules par analyse de séquences d’images »
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
230 |
et basculent au dernier instant vers le haut afin de l’attraper avec leurs pattes tendues.
L’interception est extrêmement précise avec des taux de réussite de 97% [1]. Ce comporte-
ment représente un exemple remarquable d’interception de trajectoire par asservissement
visuel, dont la compréhension pourrait guider à la construction de mécanismes biomimé-
tiques. Robert Olberg, biologiste de Union College (Schenectady, NY, USA) avec qui nous
collaborons, a entrepris ce projet afin de comprendre le fonctionnement des neurones per-
mettant ce comportement visuellement guidé, précis et rapide.
Il a installé une cage à libellule dans laquelle il a reconstruit l’environnement naturel des
libellules. Il a utilisé une boule blanche ressemblant à un moustique qu’il a attachée à un fil
et qu’il déplace dans la cage pour attirer la libellule et l’inciter à chasser. Enfin, il a enregistré
les séquences d’images à l’aide d’une caméra à haute cadence. Il a fixé la caméra à une
position et orientation permettant de garder la libellule et sa proie dans le champ de vision
durant la capture. Une analyse de la trajectoire de la proie et de la libellule, du mouvement
de la tête avant le décollage se révèlent essentiels dans cette étude. Quelques analyses
manuelles ont été effectuées sur les séquences de capture de proie. Grâce à ces analyses,
Olberg a pu vérifier quelques unes de ses hypothèses :
– Les libellules volent droit vers le point d’interception en essayant de minimiser le
mouvement de la proie dans leur champ visuel (figure 1(b)). Elles gardent ainsi con-
stant l’angle entre la droite reliant leur tête à leur proie et l’horizontale (figure 1(a)) ;
– Les libellules interceptent la trajectoire de la proie au lieu de suivre la position actuelle
de celle-ci ;
– Les libellules réagissent à un changement de direction de leur proie après 33-50 ms.
(a) Trajectoire d’interception (b) Angle de la trajectoire
Fig. 1: Résultat des analyses manuelles.
Cependant, ces analyses se sont révélées très coûteuses par rapport au temps d’ex-
traction des données. De plus, la connaissance précise de l’orientation et de la position
de la tête avant le décollage est requise. Cette précision vise à dévoiler l’instant de décol-
lage en déterminant la distance de la proie ainsi que la taille de celle-ci. Cette précision ne
pouvant pas être atteinte par une simple analyse manuelle et désireux de mettre en place
un traitement plus rapide des séquences une analyse automatique s’est avérée indispens-
able. Celle-ci aura également l’avantage d’éviter les erreurs lors de l’extraction manuelle
des données ainsi que de reconstruire le mouvement 3D nécessaire aux études entrepris
par Robert Olberg.
Dans la première partie de cet article, nous présentons brièvement la méthode de mise
en correspondance et son application. Nous avons choisi cette méthode comme méthode
de suivi de libellule parce qu’elle permet la reconstitution du mouvement 3D. Ceci la rend
plus avantageuse comparée aux méthodes de suivi 2D. Nous présentons aussi quelques
problèmes liés au contexte de notre application tels le flou de bougé lié aux mouvements
rapides de la libellule et le phénomène de pseudopupille impliquant une texture particulière
au niveau des yeux. Notre solution à ces problèmes est d’assister la mise en correspondance
par des prédicteurs que nous présentons dans la deuxième partie d’où l’originalité de l’ap-
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
| 231
plication. Ces prédicteurs permettent d’obtenir une première approximation du modèle
3D. Parmi ceux-ci, une prédiction en 2D accomplie grâce à l’algorithme de Lucas Kanade
est détaillée. Cette méthode a l’avantage d’être robuste face aux bruits (flou de bougé,
grand déplacement) comparée à d’autres méthodes s’appuyant sur des différences finies
telle la méthode de Horn-Schunk. L’algorithme Lucas Kanade consiste à comparer deux
images successives dans le but de retrouver des paramètres de transformation 2D. Cette
première prédiction en 2D permet de mettre en correspondance des régions dans deux
images successives et par la suite de reconstruire le mouvement 3D. Enfin, nous concluons
en précisant l’état d’avancement de notre travail et les perspectives.
2 Mise en correspondance modèle 3D/image
3
1
12
Fig. 2: Mise en correspondance modèle 3D/image.
L’analyse automatique proposée est du type suivi d’objets ou tracking. Bien que le suivi
d’objets en général soit un sujet très courant, le suivi de libellules dans une séquence d’im-
ages est un domaine d’application qui n’a encore jamais été exploré. Parmi les applications
déjà envisagées les plus courantes citons : la télédétection, la sécurité, la surveillance de la
circulation routière, les effets spéciaux.
La méthode de suivi que nous avons choisi d’appliquer consiste en une mise en cor-
respondance modèle 3D/image. Cette méthode est intéressante du fait qu’elle permet
la reconstruction du mouvement 3D. Elle intègre les deux informations de texture et de
forme simultanément, lesquelles sont nécessaires dans notre recherche de la position et
de l’orientation de la tête de la libellule. De ce fait, cette méthode se distingue de celles
qui s’appuient uniquement sur l’information de silhouette (ex : contours actifs [2, 3]) ou
de texture (ex : Lucas Kanade[4], suivi de caractéristiques [5]) qui ne sont adaptée qu’à la
reconstruction 2D du mouvement.
Dans la première partie de ce paragraphe, nous présentons l’algorithme de mise en cor-
respondance. Dans une deuxième partie, nous montrons quelques résultats obtenus après
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
232 |
avoir appliqué l’algorithme à des objets synthétiques. Enfin, nous présentons quelques
problèmes relatifs à l’application de cet algorithme au suivi de libellule dont la résolution
pourra constituer un apport aux méthodes traditionnelles.
2.1 Présentation de la méthode de mise en correspondanceL’objectif est d’analyser l’image d’un objet à l’instant t + dt afin de retrouver la position et
l’orientation de celui-ci au moment de l’acquisition. Cette méthode suppose qu’un modèle
3D de l’objet suivi est disponible à l’instant t. Ce modèle, localisé à une certaine position
et orientation, est transformé en une image synthétique. Le but est donc de retrouver les
position et orientation qui, une fois appliquées au modèle 3D, aboutissent à une image
synthétique qui ressemble le plus à l’image réelle analysée. Pour cela, considérons que les
paramètres 3D ont été reconstruits jusqu’à l’instant t. L’algorithme que nous appliquons
itère les étapes suivantes jusqu’à convergence (figure 2) :
– Étape 1 : Nous appliquons un premier jeu de paramètres 3D au modèle. Ces derniers
sont de préférence proches des paramètres réels. L’initialisation du modèle lors de
l’étude du mouvement sur la première image d’une séquence est manuelle. L’initial-
isation des modèles qui suivent s’effectue grâce aux prédicteurs détaillés ultérieure-
ment ;
– Étape 2 : Disposant des paramètres intrinsèques et extrinsèques de la caméra ainsi
que de la position et de l’orientation du modèle, nous projetons celui-ci sur le plan
image, ce qui nous donne la silhouette de l’objet suivi. Nous appliquons ensuite un
rendu 3D (en intégrant les informations de texture aux informations de forme) afin
d’obtenir l’image de synthèse ;
– Étape 3 : Cette image de synthèse est comparée à l’image de l’objet à l’instant t+dt.
La comparaison de ces deux images (synthétique et réelle) se fait grâce à une fonction
d’évaluation E. Cette fonction dépend des paramètres 3D et atteint un extremum
quand les deux images se correspondent. La solution est évaluée grâce à une méth-
ode d’optimisation itérative, telle que la descente du gradient. A chaque nouveau
jeu de paramètres correspond une nouvelle image synthétique qui est comparée à
l’image t + dt. Lorsque ces deux images se correspondent, l’algorithme a convergé
vers la position et l’orientation recherchées.
Après plusieurs itérations, l’algorithme d’optimisation converge vers les valeurs réelles recher-
chées. Ces valeurs seront appliquées au modèle t afin d’obtenir le modèle t + dt qui sera à
son tour comparé à l’image t + 2dt.
2.2 Application sur des objets synthétiqueset résultats expérimentaux
La mise en correspondance modèle 3D/image a été appliquée afin de retrouver la position
et l’orientation de quelques objets synthétiques tels un cube et une sphère. La fonction
d’énergie adoptée n’est autre que la soustraction pixel à pixel pondérée par un coefficient
α correspondant à la surface du pixel occupée par la projection de l’objet (coefficient nul si
le pixel appartient au fond, égal à un s’il appartient à l’objet, entre 0 et 1 dans les régions
du contour) :
E =1∑
pixels;α 6=0α
∑pixels;α 6=0
[α((Rr − Rs)2 + (Vr − Vs)
2 + (Br − Bs)2)] (1)
avec Rr, Vr, Br les valeurs des composantes RVB de l’image réelle et Rs, Vs, Bs les valeurs
des composantes RVB de l’image synthétique. L’image réelle correspond à un cube non
texturé d’un mètre de côté placé arbitrairement à une position et une orientation fixées.
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
| 233
Le cube synthétique d’un mètre de côté est initialement placé aux position et orientation
initiales suivantes (figure 3) :
Position et orientation réelles Position et orientation initiales
x = 0 m x = 0.4 m
y = 15 m y = 14.9 m
z = 0 m z = 0.1 m
Θx = 0.75 rad Θx = 0.68 rad
Θy = 0 rad Θy = 0.2 rad
Θz = 0.75 rad Θz = 0.8 rad
(2)
avec :
– x, axe horizontal ;
– y, axe de profondeur (axe optique de la caméra) ;
– z, axe vertical ;
– Θx : rotation par rapport à l’axe x ;
– Θy : rotation par rapport à l’axe y ;
– Θz : rotation par rapport à l’axe z.
Fig. 3: Images comparées.
Sur la figure 4, nous présentons les graphes de convergence de E ainsi que les graphes
de convergence des paramètres x et Θy . La méthode d’optimisation utilisée est la descente
du gradient.
La convergence globale de E est plutôt rapide si on considère que le temps de calcul
pour une itération est de 1 seconde. La figure 4, montre qu’à partir de la 18eme itération
la convergence est atteinte (∆E < 0.01). Nous n’avons pas défini de critère d’arrêt pour
l’instant, l’algorithme se terminant après un certain nombre d’itérations. Nous devrons fixer
un critère plus adapté par la suite. Les convergences sur x ainsi que sur z sont les plus
rapides comparées au dernier paramètre de translation selon l’axe y. Selon cet axe, qui
correspond à la profondeur, la convergence s’avère difficile puisqu’on tombe souvent sur
des minimum locaux. Cela s’explique par le fait qu’en vision monoculaire la profondeur ne
peut être déterminée qu’en étudiant la taille de l’objet dans l’image, d’où la faible précision.
Les résultats obtenus pour l’instant sont en général encourageants surtout en ce qui
concerne les angles de rotation.
2.3 Quelques problèmes liés à l’applicationPour garantir la convergence dans le cas de la libellule, plusieurs problèmes se posent parmi
lesquels la précision du modèle. En effet, le modèle 3D doit être le plus précis possible afin
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
234 |
0 10 20 30 40 50 60 70 800
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
Iterations
Ene
rgie
0 10 20 30 40 50 60 70 8014.85
14.9
14.95
15
15.05
15.1
15.15
15.2
15.25
15.3
Nombre d’itérations
Pos
ition
sui
vant
Y
(a) Convergence de E (b) Convergence sur y
0 10 20 30 40 50 60 70 800
0.02
0.04
0.06
0.08
0.1
0.12
0.14
0.16
0.18
0.2
Nombre d’itérations
Rot
atio
n su
ivan
t y
(c) Convergence sur Θy
Fig. 4: Résultat de convergence sur les paramètres 3D et l’énergie.
de bien représenter la scène réelle et de nousmener à des images de synthèse très réalistes.
La modélisation de la texture est donc un point crucial.
La modélisation de la texture comporte la modélisation des composantes spéculaire
et diffuse de la lumière et la modélisation du phénomène de pseudopupille. Les mod-
élisations spéculaires et diffuses sont bien traitées dans la littérature. De plus, grâce à la
méthode de construction du modèle géométrique choisie nous retrouvons des polygones
dont l’orientation est connue par rapport à celle de la caméra. Ce résultat facilitera le travail
de modélisation de la texture par la suite et la mise à jour du modèle à chaque itération de
l’étape d’optimisation.
Le phénomène de pseudopupille est quant à lui un problème spécifique à l’objet suivi.
En effet, ce phénomène est lié à la formation de l’image dans l’œil de libellule : ce dernier
est formé demilliers de petites lentilles appelées ommatidies qui absorbent et transforment
certains rayons lumineux en messages nerveux. Ce phénomène s’illustre au niveau de l’œil
de la libellule par l’apparition de tâches noires correspondant aux régions où la direction
des ommatidies est la même que celle de l’axe optique de la caméra. La résolution de ce
problème constitue l’un des défis de cette thèse.
Outre la modélisation géométrique et la modélisation de texture, la modélisation du
flou de bougé doit être prise en compte. Le déplacement de la libellule étant extrêmement
rapide, il n’est pas possible de régler ce problème en agissant uniquement sur l’obtura-
tion électronique et sur le temps d’intégration. Cette modélisation est indispensable afin
de pouvoir retrouver une image synthétique qui correspond parfaitement à l’image réelle
quand les paramètres 3D convergent vers les paramètres réels.
Enfin, puisque le déplacement est assez grand entre deux images successives (plus
de dix pixels), la prédiction des paramètres 3D avant la phase de mise en correspondance
s’avère indispensable. Elle a pour but de rapprocher le modèle 3D initial de la réalité et ainsi
de garantir la convergence de l’algorithme de mise en correspondance. Nous proposons
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
| 235
de pallier ce problème à l’aide de l’utilisation de prédicteurs que nous présentons dans la
section suivante.
3 Les prédicteurs
Fig. 5: Technique de suivi automatique.
Parmi les prédicteurs que nous avons envisagés, nous présentons dans cette section
les modélisations dynamique et cinématique. L’étude que nous avons menée a montré tout
d’abord que les forces exercées au niveau des muscles ainsi que les masses de chacune
des articulations ne peuvent pas être déterminées précisément. Par ailleurs, la modélisation
des forces aérodynamiques considérées sous l’angle d’état stable (steady aerodynamics) ou
d’état instable (unsteady aerodynamics) n’apparaît pas adaptée. En effet, bien que, dans
le cas de stabilité aérodynamique, les calculs sont simples cette orientation risque de nous
éloigner du point de convergence. Dans [6] les auteurs le montrent à partir d’un simulateur
de vol d’une drosophile qu’ils sont parvenus à reconstruire mais qui reste imprécis.
Actuellement, nous étudions un prédicteur fondé sur les travaux de Lucas-Kanade [4]
qui propose de mettre en correspondance, entre deux images acquises à des instants suc-
cessifs, des ensembles de pixels (appelés patchs dans la suite de l’article). Dans la section
suivante nous décrivons cette méthode dont le fonctionnement est illustré à la figure 5.
Dans l’avenir, nous aborderons la prédiction sous l’angle de la connaissance a priori du
comportement en vol de l’insecte. Ces connaissances sont fondées sur l’étude statistique
du déplacement de la libellule dans un ensemble de séquences d’images.
3.1 Prédiction 2DCette méthode consiste en une mise en correspondance 2D/2D. Elle fournit une première
approximation du modèle grâce à la reconstruction du déplacement 3D évalué à partir de
la mise en correspondance de patch dans deux images successives. La mise en correspon-
dance consiste à déformer et déplacer une image synthétique afin deminimiser la différence
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
236 |
entre l’image synthétique T(x) et l’image réelle I(x), avec x= (x,y). La déformation n’est pas
arbitraire et doit représenter un mouvement 3D acceptable.
Soient deux images successives t et t+dt. Nous choisissons sur ses deux images un cer-
tain nombre de patchs [7]. Le but est de déterminer une transformation paramétrique 2D
qui, une fois appliquée aux patchs de l’image de l’instant t, aboutit à de nouveaux patchs
trouvant leurs correspondants dans l’image de l’instant t + dt. Puisque cette transforma-
tion paramétrique doit représenter un mouvement 3D, une transformation affine suffit [8].
Posons W (x; p) une matrice de paramètres avec p = (p1, pn)T un vecteur de paramètres.
Cette matrice a pour rôle d’affecter au pixel à la position x de l’image synthétique T le pixel
à la position W(x ;p) de l’image réelle I de la manière suivante :
W(x;p) =
((1 + p1).x + p3.y + p5
p2.x + (1 + p4).y + p6
)(3)
(a) L’image initial non transformée (b) Translation suivant x et y
(c) Rotation suivant z θ = 60 (d) Translation suivant Z(zooming 2x)
(e) Zooming et rotation suivant z (f) Affinité
Fig. 6: Quelques mouvements 3D représentés par les paramètres 2D.
La figure 6 illustre quelques mouvements 3D à partir de la déformation d’un patch carré.
Une simple translation par rapport aux axes représentant le plan de la caméra est possible
en considérant p1 = p2 = p3 = p4 = 0 (figure 6(b)). Une rotation θ (figure 6(c)), une transla-
tion (agrandissement=k) par rapport à l’axe de la caméra (figure 6(d)) ou une combinaison
des deux (figure 6(e)) sont possibles en appliquant la matrice suivante :
W(x;p) =
(k.cos(θ).x − k.sin(θ).y + tx
k.sin(θ).x + k.cos(θ).y + ty
)(4)
La figure 6(f) illustre une transformation affine générique du patch.
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
| 237
Le but est de minimiser l’erreur entre le patch de l’image t transformé et le même patch
de l’image t + dt ([4]). Cette erreur est donnée par l’équation suivante :
ε(p) =∑
x
[I(W (x; p + ∆p)) − T (x)]2 (5)
Nous minimisons ε(p) par une descente du gradient.
4 Conclusions et perspectives
Nous avons présenté dans cet article une méthode de suivi de libellule durant la capture
d’une proie basée sur une mise en correspondance modèle 3D/image. Cette technique
est avantageuse pour la reconstruction 3D du mouvement. Afin de garantir une meilleure
convergence de l’algorithme, nous avons étudié plusieurs prédicteurs, parmi lesquels nous
avons détaillé l’algorithme de Lucas-Kanade.
Nous travaillons en ce moment sur l’implémentation optimale de l’algorithme de Lucas-
Kanade. A l’avenir, nous le combinerons à la prédiction comportementale de l’insecte. Nous
augmenterons la précision du modèle en intégrant le phénomène de pseudopupille lors de
la phase de rendu 3D.
Références[1] R. M. Olberg, A. H. Worthington, and K. R. Venator. Prey pursuit and interception in dragonflies.
Journal of Comparative Physiology A : Neuroethology, Sensory, Neural, and Behavioral Physiology,
186(2) :155–162, Feb 2000.
[2] Michael Kass, Andrew Witkin, and Demetri Terzapoulos. Snakes : Active contour models. IEEE
Trans. on Pattern Analysis and Machine Intelligence, 3 :259–268, 1987.
[3] Rong yang. Localisation latérale d’un véhicule sur une route structurée par analyse de séquences
d’images de rétrovision. PhD thesis, Université des Sciences et Technologies de Lille, 2003.
[4] Simon Baker, RalphGross, and IainMatthews. Lucas-kanade 20 years on : A unifying framework : Part
4. Technical Report CMU-RI-TR-04-14, Robotics Institute, Carnegie Mellon University, Pittsburgh,
PA, Feb 2004.
[5] R. Polana and R. Nelson. Low level recognition of human motion. Proc. of IEEE CS Workshop on
Motion of Non-Rigid and Articulated Objects, Austin, TX :77–82, 1994.
[6] W.B. Dickson, A.D. Straw, C. Poelma, and M.H. Dickinson. An integrative model of insect flight
control. In AIAA, editor, Proceedings of the 44th AIAA Aerospace Sciences Meeting and Exhibit,
Reno, Nevada, USA, Jan 2006.
[7] Jianbo Shi andCarlo Tomasi. Good features to track. In Proceedings of the Conference onComputer
Vision and Pattern Recognition, CVPR’94, pages 593–600, Seattle, WA, USA, Jun 1994.
[8] James R. Bergen, P. Anandan, Keith J. Hanna, and Rajesh Hingorani. Hierarchical model-based
motion estimation. In ECCV ’92 : Proceedings of the Second European Conference on Computer
Vision, volume 588, pages 237–252, London, UK, 1992. Springer-Verlag.
Schedae, 2007, prépublication n° 33, (fascicule n° 2, p. 229-237).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
Articles courts
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 239
Prépublication n° 34 | Fascicule n° 2
Algorithme amélioré pour trouver deséquations de bas degré dans le cadre desattaques algébriques sur des registres àdécalage avec mémoire
Frederik ArmknechtUniversität Mannheim
68131 Mannheim, Germany
Pierre-Louis Cayrel, Philippe Gaborit, Olivier RuattaUniversité de Limoges, XLIM-DMI
123, Av. Albert Thomas, 87000 Limoges, France
[email protected], [email protected], [email protected]
Résumé :
Les attaques algébriques ont marqué la cryptanalyse des registres à décalage avec mémoire. Ce
qui est important pour réussir une attaque algébrique, c’est de trouver des équations de degré
le plus bas possible dépendants des bits de clefs. De plus, de faibles degrés sont possibles si
suffisamment de bits de chiffrés sont utilisés dans une équation. Un exemple est le registre à
décalage avec mémoire E0 utilisé dans le standard Bluetooth, où des équations de degré 4
existent pour seulement r = 4 et 5 tops d’horloge consécutifs, mais des équations de degré 3
pour r ≈ 8, 822, 188 tops d’horloge. L’existence d’équations de degré 3 avec 5 < r 8, 822, 188
tops d’horloge reste une question ouverte. Il est connu que des équations valides correspondent
à l’existence d’annulateurs de certains ensembles. Les résultats de ce papier sont les suivants.
Tout d’abord, nous décrivons de nombreuses améliorations pour le calcul des ensembles et de
leurs annulateurs. Ensuite, nous utilisons nos améliorations pour exclure l’existence d’équations
de degré 3 pour E0 avec 5 < r ≤ 9, ce qui constitue les meilleurs résultats jamais déterminés en
ce qui concerne la non-existence d’équations de bas degré pour E0.
Mots-clés : cryptographie, attaque algébrique, équations de bas degré, annulateur.
Frederik Armknecht, Pierre-Louis Cayrel, Philippe Gaborit, Olivier Ruatta« Algorithme amélioré pour trouver des équations de bas degré dans le cadre des attaques algébriques sur des registres à décalage avec mémoire »
Schedae, 2007, prépublication n° 34, (fascicule n° 2, p. 239-243).
240 |
1 Introduction
Durant les dernières années, les attaques algébriques ont gagné de plus en plus d’impor-
tance. De manière brève, une attaque algébrique consiste en la génération et la résolution
de systèmes d’équations non-linéaires qui décrivent de manière implicite la clef secrète en
dépendance avec des valeurs connues. Dans le cas des générateurs pseudo-aléatoires, cela
implique la connaissance de bits chiffrés connus.
Les registres à décalage sont utilisés pour un chiffrement en direct des bits du texte clair
qui ont à passer un canal non sûr.
Les générateurs d’aléas le plus sauvagement utilisés en pratique, sont les systèmes de
chiffrement à flot basés sur les registres à décalage 1.
1.1 DéroulementAvant d’échanger des données, le générateur d’aléas est initialisé avec des valeurs secrètes
S0 ∈ 0, 1n communes à l’expéditeur et au destinataire. Pour chiffrer une suite de bits de
clairs p0, p1, . . . , le générateur est utilisé pour générer une suite de bits de la même longueur
z0, z1, . . . Les deux suites de bits sont alors ’Xorées’ bit à bit, donnant la suite de bits de
chiffrés ct := pt⊕ zt. Les bits ct sont ensuite envoyés au receveur, qui connaît la clef secrète
d’initialisation et peut donc produire la même suite de bits zt pour déchiffrer le message
en effectuant : pt = ct ⊕ zt.
Pour évaluer la sécurité, il est admis qu’un adversaire potentiel connaît les spécifications
du générateur et des bits zt produits par le registre. Une attaque consiste à retrouver la
valeur de S0 à partir des informations données. Depuis ces dernières années, plusieurs
sortes d’attaques ont été inventées.
Toutes ces attaques ont en commun leur complexité exponentielle en la taille de la
clef n.
Chaque équation donne de l’information concernant la clef secrète dépendant de r
bits du texte chiffré consécutifs zt, . . . , zt+r−1 et le degré des équations est majoré par des
valeurs d qui sont indépendantes de n. Si le nombre d’équations linéairement indépen-
dantes est assez élevé, une attaque peut êtr réalisée à l’aide de O(n3d) opérations. Remar-
quons que, contrairement aux autrs attaques, la complexité est seulement polynomiale en
n mais exponentielle en d.
Normalement, la recherche d’annulateurs est faite par une élimination gaussienne.
Nos résultats sont les suivants. Tout d’abord, nous décrivons comment calculer une base
de toutes les équations de bas degré avec r tops d’horloge consécutifs et nous présentons
plusieurs améliorations sur la façon de construire l’ensemble XZ introduit dans [1] et sur la
façon de prouver la non existence de certaines équations de bas degré. Alors, nous donnons
des résultats expérimentaux sur la non existence d’équations de degré 3 pour E0 pour un
certain nombre de tops d’horloge entre 5 et 9.
1.2 Registres à décalageUn registre (k, l) est constitué de k LFSRs d’un bit de sortie et de l bits de mémoire. Soit n la
somme des longueurs des k LFSRs. À partir d’un secret x∗ ∈ 0, 1n, les LFSRs produisent
un état interne linéaire L(x∗), construit par blocs xt de k bits parralèles à l’instant t.
À partir d’un état initial des bits de mémoire secret c1 ∈ 0, 1l, à chaque instant t
l’automate produit le t-ième bits zt correspondant à xt et ct et change l’état interne en ct+1
(voir figure 1).
1. Linear Feedback Shift Registers (LFSR).
Schedae, 2007, prépublication n° 34, (fascicule n° 2, p. 239-243).
| 241
————————————————————————————————————-
-
-
6
-
7S
SSSw-
- -
-Mémoire
LFSRs
C
Xt zt
(Z,C)
Ct+1Ct
Z
————————————————————————————————————-
Fig. 1: Un registre (k, l).
L’information secrète est donnée par x∗ et c1. De nombreux registres de ce type sont
utilisés en pratique. Nous pouvons remarquer par exemple, que le générateur de clef E0
utilisé dans le standard Bluetooth wireless LAN system (see Bluetooth SIG (2001)) est un
registre (4, 4).
Le but de ce papier est d’analyser la sécurité d’un registre (k, l) par rapport aux attaques
algébriques, une nouvelle méthode pour attaquer les systèmes de chiffrement à flot et à
blocs.
Une attaque algébrique est basée sur des relations non triviales de bas degré pour r
tops d’horloge c’est-à-dire une relation vraie pour n’importe quelle suite de r bits consé-
cutifs produits par le registre et pour les kr bits internes correspondants. Connaissant une
telle relation p de petit degré d et une suffisamment longue suite de bits produits par le
registre Z(x∗, c1), p peut être utilisée pour produire un système d’équations surdéfini de T
équations non linéaires en les bits initiaux des LFSRs, qui peuvent être vues comme un sys-
tème d’équations linéaires en les monômes de longueur au plus d. Si T est assez grand alors
nous avons une solution unique qui est induite par x∗ et de laquelle x∗ peut être dérivée
d’une autre manière.
2 Attaques algébriques et annulateurs
Tout d’abord, considérons un registre (k, `) :
Définition 1 Un registre (k, `) avec k ≥ 1 et ` ≥ 0 est constitué d’un état interne S ∈ F`2×Fn
2 ,d’une matrice régulière L sur F2 de taille n× n, appelée la matrice de rétroaction du LFSR,d’une matrice de projection P sur F2 de taille n× k.
Un exemple pratique d’un tel registre (k, `) est le générateur de pseudoaléas E0 utilisé
dans le standard Bluetooth, qui est un registre (4, 4) avec n = 128.
La génération des bits de pseudoaléas fonctionne de la manière suivante : l’état interne
S est initialisé à S0 := (Q0, K) ∈ F`2 × Fn
2 où K ∈ Fn2 est l’état initial des LFSRs et le registre
de Q0 ∈ F`2 est appelé mémoire puis le contenu des LFSRs est mis à jour par une fonction
linéaire, représentée ici par la matrice L. Dans la plupart des cas, seulement quelques LFSRs
sont mis à jour et utilisés dans le calcul des bits de mémoire du registre ainsi que dans le
calcul des bits de pseudoaléas.
Ceci est exprimé par la matrice de projection P et signifie que seulement les valeurs de
Kt := K · Lt · P sont utiles dans le calcul du bit produit à l’instant t.
La mémoire est mise à jour via Qt+1 := Ψ(Qt, Kt), où le bit produit zt est calculé par
zt = f(Qt, Kt).
Schedae, 2007, prépublication n° 34, (fascicule n° 2, p. 239-243).
242 |
Une attaque algébrique est basée sur la recherche de fonctions F1, . . . , Fs : Fk·r2 ×Fr
2 →
F2 telles que :
Fi(Kt, . . . , Kt+r−1, zt, . . . , zt+r−1) = 0 (1)
est vraie pour tous les instants t ≥ 0 et 1 ≤ i ≤ s.
Définition 2 Soit un registre (k, `) et Z ∈ Fr2. Une fonction F : Fr·k
2 → F2 est appelée uneZ-fonction si pour tout zt+r−1
t := (zt, . . . , zt+r−1) de la suite produite (notons la Z), alorsF (Kt, . . . , Kt+r−1) = 0 est valide. De manière plus formelle nous devons avoir :
∀t : zt+r−1t = Z ⇒ F (Kt, . . . , Kt+r−1) = 0.
Théorème 1 Soit un registre (k, `) et fr la fonction de sortie étendue. Alors, une fonctionF : Fr·k
2 → F2 est une Z-fonction avec Z ∈ Fr2 si et seulement si F est un annulateur de
l’ensemble :
XZ := (X1, . . . , Xr) ∈ Fr·k2 | ∃Q ∈ F`
2 : fr(Q, X1, . . . , Xr) = Z. (2)
3 Calcul des ensembles XZ
Dans cette partie, nous considérons la question suivante : comment construire l’ensemble
XZ pour un registre (k, `) particulier et pour Z ∈ Fr2.
Dans le cas de E0 les fonctions f et Ψ dépendent seulement du poids de Hamming des
entrées Xt mais pas de leur valeurs concrÃtes.
Soit un registre (k, `) et Z ∈ Fr2 et Q ∈ F`
2 fixés. Posons les trois ensembles suivants :
XQ,Z := (X1, . . . , Xr) | fr(Q, X1, . . . , Xr) = Z (3)
XZ,Q′ := (X1, . . . , Xr) | ∃Q : fr(Q, X1, . . . , Xr) = Z et Ψr(Q, X1, . . . , Xr) = Q′(4)
XQ,Z,Q′ := (X1, . . . , Xr) | fΨ(Q, X1, . . . , Xr) = Z et Ψr(Q, X1, . . . , Xr) = Q′ (5)
Nous avons remarqué que l’on peut calculer XZ de manière itérative pour Z ∈ Fr2 et
pour de grandes valeurs de r. Prenons par exemple Z ∈ Fr2 et Z′ ∈ Fr′
2 , alors au lieu de
calculer XZ||Z′ directement (2k·(r+r′) appels à fr+r′), nous pouvons calculer deux sous
ensembles que nous noterons XZ,Q et XQ,Z′ de manières indépendantes (2k·r appels à
fr et 2k·r′appels à fr′
,, respectivement).
Si r = r′ nous réduisons le coût de calcul de 2k·2r appels à f2r à 2 · 2k·r appels à fr.
Nous pouvons bien sûr réduire ce coût en divisant Z en de plus petites parties.
4 Calcul d’annulateurs – méthode par intersection
Bien que le calcul des ensembles XZ est faisable pour des petites valeurs de r, le calcul
des annulateurs avec un degré minimal est bien plus coûteux en temps. Dans cette section
nous donnons une manière de réduire ce coût.
Soit S = x1, . . . , xs ⊂ Fn2 etm1, . . . , mµ(n,d) tous lesmonômes en n variables de degré
≤ d. Nous définissons une matrice M sur F2 de taille s× µ(n, d) en posant Mi,j := mj(xi).
Tout d’abord prenons µ(n, d) points aléatoires dans l’ensemble S et calculons M ′ de la
même manière que M mais avec µ(n, d) points.
Alors, nous calculons le noyau K′ de M ′, ce qui coûte µ(n, d)3 operations. Si le noyau
est réduit au vecteur nul, nous savons immédiatement qu’il n’existe pas d’annulateurs non
trivial de degré ≤ d. Si le noyau contient d’autres vecteurs, alors chacun de ces vecteurs
défini une fonction de degré ≤ d qui n’est nulle que les µ(n, d) éléments choisis. Nous les
Schedae, 2007, prépublication n° 34, (fascicule n° 2, p. 239-243).
| 243
appelons des annulateurs potentiels. S’il n’y en a pas beaucoup nous pouvons vérifer pour
chaque annulateur potentiel s’il s’annule sur les s − µ(n, d) éléments restants. Si oui, nous
avons trouvé un annulateur de l’ensemble S. Si non, nous avons prouvé qu’il n’en existait
pas.
Cette méthode permet d’éviter l’utilisation de l’algorithme introduit dans [2] qui con-
trairement à l’élimination de Gauss que nous faisons ici (coût cubique) a un coût quadra-
tique, et permet de se servir du fait que la dimension de la base de monômes est bien
plus petite que la dimension de l’ensemble XZ . Dans la section suivante nous décrirons les
résultats pratiques que nous avons obtenus dans le cas de E0.
5 Résultats expérimentaux
Nous savons, que dans le cas de la recherche d’annulateurs de degré 4, nous avons un
annulateur valide pour chaque ensemble.
Alors pour chaque ensemble nous allons chercher tous les annulateurs existants.
clocks #var. #mon. #annulateurs #ensembles temps(pour un ensemble)
7 28 24150 4 128 18 heures
Nos résultats sont les suivants :
– dans le cas d’annulateurs de degré 3 nous avons montré qu’il n’en existait pas ;
– dans le cas d’annulateurs de degré 4 nous avons trouvé 4 annulateurs pour chaque
ensemble (nos calculs sont toujours en cours mais nous avons ce résultat pour les 53
premiers ensembles).
Vous pouvez retrouver cet article en version longue dans les proceedings de la con-
férence internationale BFCA 2007.
Références[1] Frederik Armknecht. Algebraic attacks and annihilators. InWEWORC 2005, volume P-74 of Lecture
Notes in Informatics, pages 13–21. Springer, 2005.
[2] Frederik Armknecht, Claude Carlet, Philippe Gaborit, Simon Künzli, Willi Meier, and Olivier Ruatta.
Efficient computation of algebraic immunity for algebraic and fast algebraic attacks. In Eurocrypt
’06.
[3] Frederik Armknecht and Matthias Kraus. Algebraic attacks on combiners with memory. In Crypto
2003, number 2729 in Lecture notes in computer science, pages 162–176. Springer, 2003.
[4] Bluetooth SIG. Specification of the Bluetooth system, Version 1.1, February 2001. available at
http ://www.bluetooth.com.
[5] Yi Lu and Serge Vaudenay. Cryptanalysis of bluetooth keystream generator two-level e0. InAsiacrypt
2004, number 3329 in Lecture notes in computer science, pages 483–499. Springer, 2004.
Schedae, 2007, prépublication n° 34, (fascicule n° 2, p. 239-243).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
245
Soumia Mohammed Djaouti, Abdallah Koudache, Ahmed Boudaieb« Champs de Markov pour la segmentation des images polarimétriques »
Schedae
, 2007, prépublication n°35, (fascicule n°2, p. 245-249).
Schedae
,
2007
Champs de Markov pour la segmentation des images polarimétriques
Soumia Mohammed Djaouti, Abdallah Koudache, Ahmed Boudaieb
Centre universitaire Mustapha Stambouli
Mascara – Algérie
[email protected], [email protected], [email protected]
Résumé :
Le travail présenté dans ce papier a pour objectif de montrer la possibilité d’appliquer des
méthodes optiques (la polarimétrie) dans le domaine médical pour la détection de lésions.
L’exploitation de l’information polarimétrique des ondes électromagnétiques optiques fait
aujourd’hui l’objet d’un intérêt croissant dans de nombreux domaines de recherches tels que la
biochimie et la médecine puisqu’elle permet d’accroître considérablement le nombre d’informa-
tions concernant le milieu à analyser. Notre travail consiste à utiliser les modèles statistiques: les
champs de Markov (MRF) et l’inférence Bayésienne pour la segmentation des images résultantes
du polarimètre de Mueller développé (16 images hétérogènes) en se basant sur des algorithmes
d’optimisation tel que l’algorithme ICM.
Mots-clés: imagerie polarimétrique, images de Mueller, inférence Bayésienne, champs
de Markov, ICM.
1 Introduction et objectifs
Au cours des dernières décennies, les techniques d’imagerie médicale se sont considéra-
blement développées, en particulier dans le cadre de l’aide au diagnostic. Le suivi d’un
patient passe par une détection de la pathologie de la façon, la plus exacte, la plus précise
et donc, la plus précoce possible. La communauté scientifique a pris conscience de l’enjeu
humain de ce domaine de recherche et étudie la possibilité d’exploiter des concepts qui
conduiraient à des nouveaux moyens d’investigation, utiles aux praticiens. C’est pourquoi,
des efforts doivent être portés sur les techniques d’exploration biophysique non invasive
de la peau dont font partie les techniques optiques. Ces dernières sont intéressantes car
elles ne sont pas destructives, s’effectuent sans contact et peuvent potentiellement con-
duire à une résolution spatiale très élevée (~15 µm) [1]. On s’intéresse particulièrement à
l’imagerie polarimétrique. Cette technique permet de révéler des contrastes qui n’appa-
raissent pas en imagerie classique. Seule la polarimétrie de Mueller, technique largement
utilisée depuis le début des années 1990 [2], permet de remonter à toutes les informations
contenues dans ces transformations polarimétriques en fournissant une information riche
Prépublication n° 35 Fascicule n° 2
246
Schedae
,
2007, prépublication n°35, (fascicule n°2, p. 245-249).
de 16 images hétérogènes et partiellement redondante sur le milieu étudié. Il a l’avantage
qu’il travaille même en présence de dépolarisation.
Par l’application des méthodes de segmentation sur ces images, on peut distinguer
les peaux normales, des peaux pathologiques ainsi que la détection des déformations ou
des lésions. Pour ce travail là, on a choisi une méthode probabiliste basée sur les champs
de Markov et l’inférence Bayésienne. Les champs de Markov forment une classe de
modèles statistiques qui permettent d’intégrer ces connaissances, offrant ainsi de nouv-
elles perspectives en analyse d’images. La propriété la plus importante de ces modèles est
que les informations a priori et les données observées peuvent être combinées à travers
l’utilisation de fonctions d’énergie appropriées.
2 Polarimétrie de Mueller
Pour remonter aux propriétés polarimétriques d’un milieu, nous utilisons un polarimètre de
Mueller. Ce dernier permet de remonter la matrice de Mueller du milieu. Par analogie avec
l’électronique, une matrice de Mueller représente la matrice de transfert du milieu consi-
déré entre un vecteur de Stokes d’entrée S et un vecteur de Stokes de sortie S’(ce vecteur
permet de caractériser complètement l’état de polarisation d’une onde lumineuse en esti-
mant à la fois la composante polarisée et non polarisée en déterminant quatre paramètres:
I, Q, U et V) [2] :
(1)
Le montage expérimental est constitué d’un système de mise en forme polarimétrique
et d’un système d’analyse qui permettent d’obtenir la matrice de Mueller du milieu. Le sys-
tème de mise en forme (codage) code alors le signal lumineux incident tandis que le sys-
tème d’analyse (décodage) assure le décodage. Ces deux systèmes sont constitués d’un
polariseur linéaire et d’une lame quart d’onde. Le positionnement et l’orientation des
polariseurs et des lames sont montrés dans la figure 1.
Le vecteur de Stokes de sortie S’du polarimètre est lié au vecteur d’entrée S par la
relation matricielle suivante:
(2)
La précision d’un tel polarimètre peut être estimée en utilisant le dispositif expérimen-
tal sans échantillon. A la présence d’une source cohérente (laser), les images polar-
imétriques souffrent de la présence d’un phénomène d’interférence visible qui est le bruit
Fig. 1: Obtention de la matrice de Mueller expérimentalement.
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
====
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
⇔⇔⇔⇔====
VmUmQmIm
VmUmQmIm
VmUmQmIm
VmUmQmIm
V
U
Q
I
SMS
33323130
23222120
13121110
03020100
'
'
'
'
.'
[[[[ ]]]][[[[ ]]]][[[[ ]]]][[[[ ]]]][[[[ ]]]]SPLMLPSrrrrrrrr
''====′′′′
247
Schedae
,
2006, prépublication n°35, (fascicule n°2, p. 245-249).
de Speckle créant ainsi de cette manière une figure de Speckle [2]. Cette figure entraîne
d’une part une dégradation des images. D’autre part, elle peut fournir des informations
très importantes sur le milieu à étudier [1].
3 Segmentation markovienne des images polarimétriques
Les enjeux majeurs en analyse d’images, fondée sur un modèle probabiliste, tels que les
champs Markoviens sont le choix du modèle, l’estimation des paramètres et la segmenta-
tion. Ainsi, l’intérêt de l’utilisation des MRF en segmentation est de mieux modéliser
l’image. Ceci permet d’obtenir de bons résultats de segmentation qui, associée aux
champs de Markov et à la théorie bayésienne, se ramène par la suite à un problème d’opti-
misation.
Les MRF fournissent une manière pour modéliser la distribution conditionnelle de
l’image en terme de dépendances spatiales. Ils supposent que chaque site s est
indépendant d’un autre hors son voisinage N [3] :
(3)
Pour chaque configuration x de X, la probabilité jointe est définie par une distribution
de Gibbs:
(4)
X est le champ des classes. c est un ensemble de pixels, appelé clique, dont chaque
pair de pixels distincts sont voisins au sens de Markov. C désigne l’ensemble de toutes les
cliques engendrées par le système de voisinage. U (x) est la fonction d’énergie, V
c
(x)
représente la fonction de potentiel local et Z la fonction de partition. Nous avons choisi
pour la fonction potentiel
V
c
(x)
le modèle MLL (Multi-Level Logistic), donné par :
(5)
β
est un paramètre positif à estimer. Le rôle de ce paramètre est de favoriser
l’homogénéité spatiale entre pixels voisins [3].
Le principe de la segmentation est le suivant : à partir d’une réalisation d’observations
"y" de Y, (Y est le champ des observations) attribuer une estimation " " [4]:
(6)
Concernant l’estimation des paramètres et l’initialisation, nous avons choisi le K-
means. Pour l’optimisation, nous avons choisi d’utiliser les relaxations déterministes, et
plus particulièrement l’algorithme ICM (Iterated Conditional Modes) [4]. La principale rai-
son de ce choix est que cette méthode conduit à des temps de calcul plus faibles que les
approches stochastiques mais la convergence a souvent lieu dans des minima locaux. Une
façon de limiter ce problème consiste à initialiser par une solution proche de la solution
finale.
⎩⎩⎩⎩⎨⎨⎨⎨⎧⎧⎧⎧
∈∈∈∈⇒⇒⇒⇒∈∈∈∈
∉∉∉∉====
ts
ss NsNt
NsquetelstN
⎟⎟⎟⎟⎠⎠⎠⎠
⎞⎞⎞⎞⎜⎜⎜⎜⎝⎝⎝⎝
⎛⎛⎛⎛−−−−====−−−−======== ∑∑∑∑
∈∈∈∈Ccc xV
ZxU
ZxXP )(exp
1))(exp(
1)(
(((( ))))⎩⎩⎩⎩⎨⎨⎨⎨⎧⎧⎧⎧
++++
−−−−====
ββββ
ββββxVc
Si les deux pixels de la clique ont des valeurs différentes
Si les deux pixels de la clique ont la même valeur.
x
)xX(P)xX/yY(Pmaxargx x ================ ΩΩΩΩ∈∈∈∈
248
Schedae
,
2007, prépublication n°35, (fascicule n°2, p. 245-249).
Résultats et discussion
L’efficacité de la stratégie est testée d’abord en utilisant des images synthétiques dont on
connaît leurs segmentations. Ensuite, on a applique cette technique sur des images pola-
rimétriques réelles.
Nous considérons le modèle décrit dans le paragraphe 3. Le choix du voisinage, le
choix d’affecter un potentiel aux cliques horizontales ou verticales a une répercussion
directe sur la segmentation obtenue: pénaliser les différences de classes dans la direction
verticale et non dans la direction horizontale fournit une classification striée dans la direc-
tion horizontale. Cela se comprend aisément par le fait qu’une image striée dans le sens
horizontal présentera moins de transitions dans la direction horizontale que dans la direc-
tion verticale (même chose pour les différentes directions). Le résultat de la segmentation
de l’image m
22
en choisissant différentes directions est donné par la figure 2.
D’après les trois cas ci-dessus, on peut conclure qu’il faut prendre des cliques sur
toutes les directions pour approcher à une certaine cohérence.
β
prend des valeurs positives et inférieures à 1.
Enfin, on présente les résultats de segmentation des images de Mueller. Sa segmen-
tation en deux classes ainsi deux exemples d’évolution de la fonction d’énergie (Figure 3).
Fig. 2: L’effet du choix du voisinage. a) 4 ou 8-connexités, voisins sur l’horizontale.b) 4 ou 8-connexités, voisins sur la verticale. c) 8-connexités, voisins diagonaux.
Fig. 3: Résultat de la segmentation et évolution de la fonction d’énergiepour les images 1 et 2 en fonction du nombre d’itérations.
249
Schedae
,
2006, prépublication n°35, (fascicule n°2, p. 245-249).
Conclusion
Dans ce travail, on a présenté le modèle statistique des images polarimétriques (images de
Mueller) ainsi que des notions concernant les champs de Markov. Ensuite, on a développé
une stratégie de segmentation basée sur l’algorithme K-means dans l’initialisation et l’esti-
mation des paramètres. L’utilisation de l’algorithme ICM donne des meilleurs résultats sur-
tout avec une meilleure initialisation en plus d’un temps de calcul et nombre d’itérations
finis. Enfin, des résultats expérimentaux concernant des images réelles illustrent l’efficacité
de cette stratégie (on peut distinguer à partir de certain nombre d’itérations, les classes
lésion et normal). La qualité que donne la segmentation effectuée diffère d’une image à
une autre. Elle sera comme perspective, la fusion de ces images pour récupérer toutes les
informations que peuvent apporter les images et de ce fait, améliorer les résultats.
Références
[1] Boulvert 2006 F. Boulvert,
Analyse de milieux fortement diffusants par polarimétrie de Mueller et
méthodes optiques cohérentes. Application à l’étude du syndrome cutané d’irradiation aiguë
,
thèse de doctorat à l’université de Bretagne occidentale, 2006.
[2] Guyot 2003 S. Guyot, «
Analyse des matrices de Mueller et du champ de Speckle en vue
d’applications au génie bio-médical
», thèse de doctorat à l’université Paris XII, 2003.
[3] Ghouat 1997 M. A EL Ghouat,
Classification markovienne pyramidale: Adaptation de l’algorithme
ICM aux images de télédétection
, thèse de doctorat en télédétection à l’université de Sherbrooke,
1997.
[4] Descombes et al. 1998 X. Descombes, F. Kruggel, et D. Y. Von Cramon, Spatio-temporal MRI
analysis using Markov random fields, IEEE Trans. on Medical Imaging, 1998.
250
Schedae
,
2007, prépublication n°35, (fascicule n°2, p. 245-249).
251
Nabila Rabbah, Bahloul Bensassi« Commande d’un système d’entraînement de bande »
Schedae
, 2007, prépublication n°36, (fascicule n°2, p. 251-255).
Schedae
,
2007
Commande d’un systèmed’entraînement de bande
Nabila Rabbah, Bahloul Bensassi
Département d’Automatique et Informatique Industrielle
Université Hassan II, Faculté Des Sciences Aïn-Chock
P.B. 5366, Maârif, Casablanca, Maroc
[email protected], [email protected]
Résumé :
Dans ce papier, un retour d’état dynamique permettant de stabiliser un système non linéaire
affine en la commande est proposée. Elle est déduite de la solution des équations du type
Hamilton Jacobi. La stabilité asymptotique du système bouclé est prouvée sur un exemple
industriel. Il s’agit d’un système d’entraînement de bande d’un laminoir à froid réversible. Une
propriété intéressante de la loi de commande est proposée.
Mots-clés : systèmes non linéaires affines en la commande, Hamilton-Jacobi, linéarisé
tangent, linéarisation entrée-sortie, retour d’état.
1 Introduction
La dynamique d’un système d’entraînement de bande (ESB) est décrite par son comporte-
ment fortement non linéaire. Dans tous les cas d’enroulement ou de déroulement d’un
matériau en bande, se pose le problème de planeité. Vu la complexité du système due au
non linéarité et le fort couplage entre la vitesse et la tension de la bande, il est plus com-
mode de linéariser ce SEB. Cependant, ce modèle reste très dépendant du point de fonc-
tionnement considéré et surtout du taux de variation des non linéarités. Cette situation a
poussé les chercheurs à s’orienter de plus en plus vers les techniques de la commande non
linéaire basée sur la théorie de la géométrie différentielle. Présentement, plusieurs métho-
des traitant le sujet sont disponibles [1,2,3]. Parmi ces méthodes, on trouve la technique
de linéarisation au sens des entrées-sorties introduite par [4]. Notre travail consiste à pré-
senter ce principe de la technique afin de réguler les vitesses d’entraînements du système
et appréhender les problèmes industriels survenant lors de laminage.
2 Description générale du système
Le laminage à froid est généralement réservé aux produits plats (Tôle d’acier). Il trans-
forme un produit laminé à chaud en bobine de métal de fine épaisseur. Notre étude porte
Prépublication n° 36 Fascicule n° 2
252
Schedae
,
2007, prépublication n°36, (fascicule n°2, p. 251-255).
essentiellement sur le système d’entraînement de bande présenté sur la figure 1. Il est com-
posé de plusieurs éléments. Tout d’abord, le point de départ est constitué par le dérouleur,
rouleau motorisé supportant l’enroulement initial à faire défiler. Symétriquement, la chaîne
se termine par l’enrouleur, recevant la bande après traitement. Au milieu, on trouve les rou-
leaux de travail imposant la vitesse de défilement de la bande. La variation de la planéité de
la bande évolue en cours de traitement à cause de la dilatation thermique des cylindres
[5],
mais aussi à cause des forces d’élasticité
[6]. Pour minimiser ce phénomène, des forces de
traction sont calculées et appliquées au matériel laminé. Pendant une passe, la force de
traction doit être constante. À cause de la complexité du problème et le couplage des
paramètres du système à étudier, nous employons un modèle mathématique décrivant
l’ensemble de processus physiques.
3
Linéarisation entrées – sorties
La représentation d’état non linéaire du système d’entraînement de bande est la suivante [7] :
(E)
:
Avec comme vecteur d’état x, d’observation y et d’entrée ou de commande u :
.
Tel que :
(1)
Notons que c’est un modèle affine en les commandes. On s’est donné comme objectif
d’assurer la régulation des vitesses des moteurs entraînants la bande. Pour ce faire, on
applique au modèle une linéarisation au sens des entrées – sorties qui assure un découplage
total entre les commandes et les sorties [8].
3.1 Problème de découplage
Étant donné le système non linéaire affine en la commande (E), il s’agit de déterminer la loi
de commande : de telle sorte que chaque sortie yi ne sera influencée
Fig. 1 : Composants du système de laminage à froid.
⎪⎪⎪⎪⎩⎩⎩⎩
⎪⎪⎪⎪⎨⎨⎨⎨⎧⎧⎧⎧
ℜℜℜℜ∈∈∈∈====
ℜℜℜℜ∈∈∈∈ℜℜℜℜ∈∈∈∈++++====p
mn
yxhy
uxuxgxfx
)(
).()(&&&&
[[[[ ]]]] [[[[ ]]]] [[[[ ]]]]32132132131 : UUUuetVVVyVVVTTx TTT ============
[[[[ ]]]]⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
====
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
========
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
−−−−−−−−
−−−−++++−−−−
−−−−
++++−−−−−−−−
++++−−−−−−−−
====
5
4
3
33
3
22
2
11
1
53
23
23
42
22
22
12
22
31
11
21
5442
4341
)(
.00
0.
0
00.
000
000
3,2,1)(
1
1
1
1
1
)(
x
x
x
xh
k
rk
rk
r
gggxg
xxJ
gr
xxJ
grx
J
gr
xxJ
gr
xL
ESx
L
ESxx
L
xL
ESx
L
ESxx
L
xf
em
em
em
em
em
em
ττττ
ττττ
ττττ
ττττ
ττττ
ττττ
vxxxu )()()( ββββαααα ++++====
253
Schedae
,
2006, prépublication n°36, (fascicule n°2, p. 251-255).
que par une seule entrée (nouvelle) vi. On calcule la dérivée de Lie successive
(k = 0,…, ki) tel que : .
La commande apparaisse dés la première dérivée pour les 3 sorties du système, ce qui
donne :
(2)
avec :
En regroupant les expressions de (2), on obtient la forme suivante :
où : et :
La matrice est appelée la matrice de découplage, son déterminant est non nul,
par conséquent, elle est inversible [9]. Pour linéariser le système, on applique le retour
d’état non linéaire suivant [4, 10] :
(3)
où :
Finalement, on obtient un système linéaire totalement découplé de la forme :
Le degré relatif du système est : strictement inférieur au degré du sys-
tème n = 5, ce qui explique qu’une partie du système de est inobser-
vable [11].
3.2 Changement de variable
Pour pouvoir effectuer la synthèse de loi de commande linéarisante, nous devons détermi-
ner un changement de variables à l’aide d’un difféomorphisme constitué des variables
issues des dérivations successives de la sortie y.
)(xhLL ikfg
0)( ≠≠≠≠xhLL ikfgi
⎪⎪⎪⎪⎩⎩⎩⎩
⎪⎪⎪⎪⎨⎨⎨⎨
⎧⎧⎧⎧
++++====
++++====
++++====
3653
2432
1211
).()(
).()(
).()(
Uxxy
Uxxy
Uxxy
ψψψψψψψψ
ψψψψψψψψ
ψψψψψψψψ
&&&&
&&&&
&&&&
33
3362
3
23
53
35
22
2242
2
22
12
22
42
23
11
1121
1
21
31
11
.)(
1)(
.)(
1)(
.)(
1)(
3
2
1
k
rhLxx
J
grxhLx
k
rhLxx
J
grx
J
grxhLx
k
rhLxx
J
grxhLx
emg
emf
emg
emf
emg
emf
ττττψψψψ
ττττψψψψ
ττττψψψψ
ττττψψψψ
ττττψψψψ
ττττψψψψ
========−−−−−−−−========
========++++−−−−−−−−========
========++++−−−−========
[[[[ ]]]] uxxyyy T ).()(0321 ΔΔΔΔ++++ΔΔΔΔ====&&&&&&&&&&&&
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
====⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
====ΔΔΔΔ
)(
)(
)(
)(
)(
)(
)(
5
3
1
3
2
1
0
x
x
x
xhL
xhL
xhL
x
f
f
f
ψψψψ
ψψψψ
ψψψψ
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
====⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
====ΔΔΔΔ
)(00
0)(0
00)(
00
00
00
)(
6
4
2
3
2
1
3
2
1
x
x
x
hL
hL
hL
x
g
g
g
ψψψψ
ψψψψ
ψψψψ
)(xΔΔΔΔ
vxxvxxxu ).()().()().( 10
1 ββββαααα ++++====ΔΔΔΔ++++ΔΔΔΔΔΔΔΔ−−−−==== −−−−−−−−
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦⎦⎦⎦
⎤⎤⎤⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣⎣⎣⎣
⎡⎡⎡⎡
====ΔΔΔΔ−−−−
)(
100
0)(
10
00)(
1
)(
6
4
2
1
x
x
x
x
ψψψψ
ψψψψ
ψψψψ
[[[[ ]]]] [[[[ ]]]]TT vvvyyy 321321 ====&&&&&&&&&&&&
3321
3
1
====++++++++======== ∑∑∑∑====
rrrrri
i
2dim 1 ====−−−−==== rnq
⎪⎪⎪⎪⎩⎩⎩⎩
⎪⎪⎪⎪⎨⎨⎨⎨⎧⎧⎧⎧
ℜℜℜℜ∈∈∈∈ΦΦΦΦ====
ℜℜℜℜ∈∈∈∈ΦΦΦΦ====q
n
x
zxz
ηηηηηηηη )(
)(
2
11
254
Schedae
,
2007, prépublication n°36, (fascicule n°2, p. 251-255).
avec : (4)
La loi de commande établie ci-dessus a permis une linéarisation entrées-sorties du
système tout en causant une non-observabilité de la dynamique de la variable . Pour
garantir la stabilité interne du système, on doit avoir une idée sur la stabilité des modes
internes (non-observables) du système [12]. Dans notre cas, la dynamique des zéros est
indépendante de z4 et z5, donc elle est stable.
4 Résultats de simulation
L’évolution temporelle des variables de sortie est illustrée sur la figure 2.
Les résultats des simulations numériques montrent clairement le rejet de la perturba-
tion et le suivi parfait de la référence de la vitesse V3, ce qui confirme le bon choix des
coefficients de réglage du contrôleur non linéaire de vitesse. Le temps de réponse dans ce
cas est de l’ordre de 0.05 secondes, permet un bon suivi des trajectoires de références
dans un laps de temps. Par conséquent, la commande non linéaire adoptée permet de
réguler d’une façon indépendante les trois grandeurs de vitesse.
5 Conclusion
La commande non linéaire de type linéarisation entrée-sortie par retour d’état non linéaire
est une application de la géométrie différentielle qui se base sur les dérivées de Lie de la
sortie à contrôler, puis un choix adéquat de la commande par retour d’état annule la non
linéarité et permet un très bon suivi des trajectoires de références. Dans notre cas, le
modèle permet une régulation des vitesses du SEB, ce qui se traduit par un découplage
entre ces vitesses et les forces de tractions. Et puisque tous les états du système ne sont
pas entièrement mesurables, nous allons élaborer un estimateur qui permet de rendre la
commande plus robuste.
Bibliographie
[1] J. J. Slotine, W. Li,
Applied Nonlinear Control
, Prentice Hall, New Jersey, 1991.
[2] R. Marino et P. Tomei,
Nonlinear control design : geometric, adaptive and robust
, Prentice Hdl, 1995.
Fig. 2 : Commande non linéaire par linéarisation entrée-sortie.
⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪
⎩⎩⎩⎩
⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪
⎨⎨⎨⎨
⎧⎧⎧⎧
====
++++−−−−−−−−====
−−−−++++−−−−====
−−−−−−−−========
−−−−−−−−========
−−−−−−−−========
zy
zL
ESz
L
ESz
Lz
zL
ESz
L
ESz
Lz
zzkvz
zzkvz
zzkvz
c
c
c
]00100;00010;00001[
.1
.1
)(
)(
)(
32225
12214
33333
22222
11111
ηηηη
ηηηη
&&&&
&&&&
&&&&
&&&&
&&&&
ηηηη
255
Schedae
,
2006, prépublication n°36, (fascicule n°2, p. 251-255).
[3] B. Grcar, P. Cafura, M. Znidaric and F. Gausch,
Nonlinear control of synchronous servo drive
, IEEE
Trans. on Control systems technology, vol. 4, No. 2, March 1996.
[4] A. Isidori,
NonLinear Control System
, Springer-Verlag, 2nd Editions, New-York, 1989.
[5] N. Rabbah, B. Bensassi,
Modélisation et simulation d’un système de laminage à froid quarto
réversible
, Rencontre Nationale des Jeunes Chercheurs de Physique (RNJCP), Casablanca –
Maroc, 18-19 décembre 2006.
[6] A. Schmitz, J.C. Herman,
Modélisation du laminage à froid des aciers
, CRM Faculté Polytechnique
de Mons, pp. 37-43, 16-17 mai 1995.
[7] N. Rabbah, B. Bensassi,
Modelling and simulation of web winding system of a reversible rolling
mill
, International Conference on Applied Simulation and Modelling (ASM2007), Palma de Mallorca
– Espagne, Août 2007.
[8] J. C. Ponsart,
Asservissements Numériques de Paliers Magnétiques. Application aux Pompes à
Vide
, Université de Savoie, Thèse de doctorat, France, Décembre 1996.
[9] Carlos Canudas de Wit,
Commande des Moteur Asynchrone, Modélisation, Contrôle Vectoriel et
DTC
, Edition Hermès, Paris, Vol.1, 2000.
[10] A. Chibani,
Commande Non Linéaire et Adaptative de la Machine Asynchrone
, Mémoire de
Magister, Batna, 2005.
[11] B. Belabbes, A. Meroufel, M. K. Fellah and A. Benaissa,
Commande par Retour d’Etat Non Linéaire
d’un Moteur Synchrone à Aimants Permanants avec Limitation su Courant par Imposition d’une
Trajectoire
, 3eme Séminaire National en Génie Electrique, 29-31, Octobre, 2001.
[12] A. Isidori,
NonLinear Control Systems
, Springer-Verlag, 1995.
[13] Bodson et al. 1998 M. Bodson, J. Chaisson,
Differential Geometric Methods for Control of Electric
Motors
, Int, Jo, Robust Nonlinear Control, Vol.8, pp. 923-954, 1998.
256
Schedae
,
2007, prépublication n°36, (fascicule n°2, p. 251-255).
257
Achraf Jabeur Telmoudi, Lotfi Nalbi« Détection des symptômes dans les SFPM par suivi des indicateurs de performance : approche qualité-flux »
Schedae
, 2007, prépublication n°37, (fascicule n°2, p. 257-263).
Schedae
,
2007
Détection des symptômes dans les SFPM par suivi des indicateurs de performance : approche qualité-flux
Achraf Jabeur Telmoudi
SEPE, École Supérieure des Sciences et Techniques de Tunis, 5 Avenue Taha Hussein
Montfleury 1008 Tunis, Tunisie
ASTI, LAB, 24 Avenue Alain Savary, 25000 Besançon, France
Lotfi Nabli
ASTI, École Nationale d’Ingénieurs de Monastir, Rue Ibn Eljazar, 5019 Monastir, Tunisie
Résumé :
Dans ce papier, nous nous intéressons à la détection des symptômes dans les Systèmes Flexibles
de Production Manufacturière (SFPM). Le but est de contribuer à la mise en place d’un modèle
qui permet la détection des symptômes des défaillances par la définition des liens de corréla-
tions entre les paramètres de qualité du produit, le flux de matière et l’état des entités du pro-
cédé. Nous supposons que la cause d’une dérive est liée à l’état défaillant d’une ressource ayant
entraîné une baisse de qualité et/ou de flux du produit avant de constater une baisse de ses per-
formances, et donc un retard dans l’accomplissement de sa fonction de production par rapport
à ce qui lui avait été défini au départ.L’apport principal de ce travail est la méthode de détection
des symptômes basée sur l’exploitation de l’outil de Réseaux de Petri Temporels à Objets (RdP-
TàO) qui permet l’observation de l’apparition des symptômes de défaut signalés par les cap-
teurs de surveillance.
Mots clés : détection, flux, qualité, RdPTàO, suivi.
1 Introduction
De nos jours, l’implantation des systèmes de production qui peuvent s’imposer face aux
exigences contraignantes du marché, nécessite la mise en place d’outils performants pour
la conduite (commande, surveillance et supervision). La maîtrise de cycle de production
ainsi que l’environnement interne et externe de l’entreprise permet dans un premier lieu
Prépublication n° 37 Fascicule n° 2
258
Schedae
,
2007, prépublication n°37, (fascicule n°2, p. 257-263).
d’éclairer les limites de système de production ainsi que les demandes de marché. Par la
suite, elle nous permet de définir l’outil nécessaire pour la conduite.
L’événement d’apparition d’une défaillance brusque au niveau de procédé nécessite
un temps considérable pour diagnostiquer son origine causale et prendre les mesures
appropriées pour amener le processus de nouveau à un état de fonctionnement normal et
sûr. Ceci peut engendrer économiquement une perte significative pour l’entreprise. À ce
propos, une méthode de surveillance indirecte préventive est nécessaire. Ce type de sur-
veillance aboutit à éviter l’occurrence des événements qui cessent le fonctionnement de
procédé tout en s’appuyant sur les modèles fonctionnels représentatifs du procédé. Ceci
est assuré par l’intermédiaire du suivi des paramètres significatifs de produit tels que le
flux, les indicateurs de qualité, etc., afin de détecter les dérives qui sont corrélées avec
l’état de procédé. En effet, plusieurs travaux antérieurs, ont focalisé sur la problématique
de la surveillance indirect tels que les travaux de F. Ly [1], de L. Nabli [6, 7], etc. Le principe
de ces travaux est de détecter, de diagnostiquer une dérive de flux, pour LY, ou de qualité,
pour NABLI, et ensuite d’estimer l’impact de celle-ci sur le système grâce au pronostic.
C’est dans ce cadre que se situe l’étude que nous présentons. En effet, notre objectif
est de développer une méthode multicritères de détection des symptômes des défail-
lances. L’idée sous-jacente est de développer le modèle de détection approuvé par
M. Combacau [2] afin de l’évoluer dans le sens qu’il sera apte à détecter non seulement les
dérives temporelles (flux) mais aussi celles de type non-temporelle (qualité).
Le papier comprend trois parties. Dans la première partie nous présentons le modèle
de détection de M. Combacau [2] ainsi qu’un rappel sur les Réseaux de Pétri Temporels à
Objets (RdPTàO). La deuxième partie présente le modèle de détection multicritères développé.
La dernière partie est une application à un système de production manufacturière.
2 Détection des symptômes temporelspar utilisation d’un RdPTàO
Les Réseaux de Petri Temporels à Objets (RPTàO) se caractérisent par le fait que les jetons
qui forment le marquage des places ne sont pas des entités atomiques et indistinctes,
néanmoins ils peuvent être distingués les uns des autres et portent une valeur. En partant
de l’hypothèse que les défaillances d’une ressource peuvent être préconçues à partir des
déviations temporels et que ces dernières sont tabulées, cet outil est largement utilisé
pour la modélisation des systèmes à événements discrets afin d’assurer la détection des
symptômes des défaillances.
2.1 Définition formelle de l’outil RdPTàO [8]
Un Réseaux de Petri Temporels à Objets est constitué de :
– Un ensemble fini
P
de Places ;
– Un ensemble fini T de Transitions. chaque transition peut être composée de plusieurs
blocs :
• Le premier bloc est celui relatif aux prédicats : il supporte l’expressionde la conditions de franchissement ;
• Le deuxième bloc est dédié à l’aspect temporel : il permet d’exprimerdes intervalles de franchissement d’une transition. Un intervalle tempo-rel I est constitué de deux bornes [a, b] : a et b étant respectivement ladate de tir au plus tôt et la date de tir au plus tard ;
• Le troisième bloc est dédié au verrouillage de la transition. il est possi-ble d’interdire le franchissement d’une transition ou d’un ensemble detransitions ;
259
Schedae
,
2006, prépublication n°37, (fascicule n°2, p. 257-263).
• Le quatrième bloc est relatif aux actions. Les actions sont en effet asso-ciées aux transitions et exécutées lors du tir de la transition. Le jeton nesera déposé dans la place aval uniquement lorsque l’action sera termi-née.
– Un ensemble fini Class de Classes, éventuellement organisé en une hiérarchie et défi-
nissant pour chaque Classe un ensemble d’attributs ;
– Un ensemble de variables V typées par Class ;
– Une fonction place précédente appelée Pre qui à chaque Arc d’entrée d’une Transi-
tion fait correspondre une somme formelle de n-uplets d’éléments de V ;
– Une fonction place suivante appelée Post qui à chaque Arc de sortie d’une Transition
fait correspondre une somme formelle de n-uplets d’éléments de V ;
– Une application Atc qui à chaque Transition associe un ensemble de conditions qui
font intervenir les variables formelles associées aux arcs d’entrée et les attributs des
classes correspondantes ;
– Une application Ata qui à chaque Transition associe un ensemble d’actions qui font
intervenir les variables formelles associées aux arcs d’entrée et de sortie, les attributs
et les méthodes des classes correspondantes ;
– Une application M0 est le marquage initial qui associe à chaque Place une somme for-
melle de n-uplets d’instances d’objets appelés Jetons (les objets doivent être repré-
sentés par des identificateurs, leur nom par exemple).
Une activité est représentée par un RdPTàO comme la montre la figure 1.
Un tel réseau possède les caractéristiques suivantes :
– prise en compte des contraintes logiques;
– prise en compte des contraintes temporelles;
– création d’objets par franchissement;
– modélisation des politiques décisionnelles locales;
– absence de blocage.
Fig. 1 : Modélisation d’une activité par RdPTàO.
<y><x>
Condition D1
Action AD1
Condition D2
Action AD2
<y><x>
Pm
Pa Pb
<x,y>
<x,y>
Tdeb
Tfin
Pn Pq
Préconditions
Début del'activité Ai
Activité Aien cours
Postconditions
Fin del'activité Ai
260
Schedae
,
2007, prépublication n°37, (fascicule n°2, p. 257-263).
2.2 Modèle de Combacau pour la détection des symptômes temporels [2]
Le modèle de M. Combacau [2] pour la détection des symptômes temporels fait appel à
deux Réseaux de Petri Temporels à Objets (RdPTàO). Le premier est le réseau de réfé-
rence, il modélise les états de fonctionnement correct du système. Ce réseau sert de réfé-
rence pour le système de commande modélisé par un second RdPTàO appelé réseau de
commande.
Les fonctions suivi et détection sont assurées par la coopération et la synchronisation
existantes entre le modèle de référence et celui de commande. Ces derniers évoluent alors
en parallèle. Une communication directe se réalise entre le modèle de commande et les
capteurs et/ou les actionneurs installés sur les points de référence de début/fin des activ-
ités. En fonctionnement normal avant chaque requête, la commande consulte le module
de référence afin d’en examiner la convenance vis-à-vis des contraintes du procédé. Après
la transmission d’un ordre, elle se met alors en attente d’un compte rendu d’exécution. En
cas de réception convenable (vis-à-vis d’une fenêtre temporelle) de ce compte rendu,
l’information est envoyée vers le module de référence pour la mise à jour de l’image du
procédé. Si un symptôme est détecté seul le modèle de référence est mis à jour. La détec-
tion des symptômes se réalise par l’implantation de mécanisme de chien de grade (CG) qui
permet d’apparaître les déviations temporelles.
La figure 2 présente la structuration de deux RdPTàO ainsi que les liens entre eux. Les
places Ci (i
∈
IN) présentes les canaux de communication entre le deux réseaux.
Les chiens de garde doivent remplir les conditions suivantes :
– La transition CGd doit être franchie à la date absolue DEB
tard
= FIN
tard
– Di = ti (i
∈
IN);
– La transition CGd doit être franchie à la date absolue FIN
tard
. = tai (i
∈
IN).
avec :
• DEB
tard
: date de début au plus tard;
• FIN
tard
: date de fin au plus tard;
• ti : la borne inférieure de l’intervalle de transition de CGd;
• tai : la borne inférieure de l’intervalle de transition de CGf.
Ce modèle a été exploité antérieurement comme une base pour plusieurs chercheurs
dans le cadre de développement de l’ingénierie de conduite Systèmes Automatisés de
Production tels les travaux de E. Minca [5], de M’halla [4], etc.
Fig. 2 : Modèle de COMBACAU pour la détection des symptômes temporels [2].
Modèle de Commande
Modèle de Référence
Tdc1
Tfc2
Tfc1
Ai
Tdr
Tfr
CGf
Sym ptôm e type 2
[ta i, tai+1 ]
CGd
Symptôme type 1
[ti , ti +1] C1
C2
C3
C4
261
Schedae
,
2006, prépublication n°37, (fascicule n°2, p. 257-263).
3 Modèle de détection multicritères : Qualité-flux
Par rapport au modèle de M. Combacau [2] et aux travaux développés postérieurement,
nous cherchons à proposer un modèle qui permet la génération des déviations de types
temporelles et non-temporelles afin de détecter les symptômes des défaillances.
Pour atteindre cet objectif, nous avons exploité le modèle situé dans le paragraphe
précédent comme une base afin de le convertir dans le sens qu’il sera apte à remplir nos
satisfactions.
Pour cette raison, un bloc de Suivi et de Détection Qualité (Q.S.D.Q) a été intégré à
ce modèle (fig. 3). Le but de l’intégration de ce bloc est l’addition de critère non-temporel
de type qualité. En effet ce bloc est localisé à la sotie de l’activité Ai ; il ne sera pas sensi-
bilisé qu’après le franchissement de la transition Tfrt qui traduit la fin de Ai.
Le bloc Q.S.D.Q est modélisé par un RdPTàO (fig. 4). Dans ce qui suit, nous dévelop-
pons le principe de fonctionnement de Q.S.D.Q.
Supposons un poste de travail d’un système de production désigné a subi une trans-
formation (activité Ai) à la pièce P.
À la fin de l’activité Ai, cette pièce est considérée comme un produit semi-fini. Pour
qu’elle passe à l’étape suivante de processus de production, deux indicateurs de qualité a
et b devront être respectés ; si non la pièce sera retirée pour être rejetée ou pour être recy-
clée, au même temps, un symptôme de défaillance future sera réclamé. Les intervalles de
conformité des a et b sont respectivement Inta : [amin, amax] et Intb : [bmin, bmax].
La figure 4 modélise ce problème de détection des symptômes.
En effet, nous considérons :
Dés que la pièce p arrive dans la place PE, la transition TE qui permet la création
d’objet par franchissement se sensibilise, d’où la naissance de deux nouveaux objets A et
B sur le réseau qui se localisent immédiatement et respectivement dans les places PA et
PB.
Si les conditions (1) et (3) sont satisfaites, par les franchissements de Tac et Tbc, les
objets A et B se déplacent au même temps et respectivement vers PAc et PBc.
Fig. 3 : Modèle de détection multicritères Qualité-flux
Fig. 4 : Modèle de détection multicritères :Qualité-flux
Les classes des objets :
P : - numéro : entier typée par p comme variable
A : - amax : réel typée par a comme variable
- amin : réel
B : - bmax : réel typée par b comme variable
- bmin : réel
Les conditions :
a
∈
[amin, amax] (1)
a
∉
[amin, amax] (2)
b
∈
[bmin, bmax] (3)
b
∉
[bmin, bmax] (4)
Ai
Modèle de Comma nde
Modèle de Ré férence
Tdc1
Tfc1
Tdc2
Ai
T dr
Tfrt
CGf
Sympt ôme t yp e 2
[t ai, ta i+1]
CGd
S ymptôme type 1
[ti , t i+1] C 1
C2
C3
Tfc2
C 4
B.S.D.Q Sympt ôme
q ualité
Tf rnt
< a>
<b>
< a>
<b> <b> < a>
<b> <a>
<a>
<p>
<a>
<a>
<a> <a>
<b> <b>
<b>
<b>
<p>
<P>
<p>
Tac Tbc
Tan
Tbn PE
TE
PA PB
PAc PBc
PSa
PSb
Sympt ôme typ e ββββ
Sy mpt ôme
typ e αααα
Pea
P eb
< a>
<b>
< a>
<b> <b> < a>
<b> <a>
<a>
<p>
<a>
<a>
<a> <a>
<b> <b>
<b>
<b>
<p>
<P>
<p>
Tac Tbc
Tan
Tbn PE
TE
PA PB
PAc PBc
PSa
PSb
Sympt ôme typ e ββββ
Sy mpt ôme
typ e αααα
Pea
P eb
262
Schedae
,
2007, prépublication n°37, (fascicule n°2, p. 257-263).
Si les conditions (2) et (4) sont satisfaites, les transitions Tan et Tbn se sensibilisent, les
objets A et B se déplacent au même temps et respectivement vers PAc et PBc. cet état sig-
nifie la naissance de deux symptômes qualité de type a et de type b.
Si les conditions (1) et (4) sont satisfaites, nous signalons seulement le symptôme de
type b. la pièce est modélisée retirée par Pea.
Si les conditions (2) et (3) sont satisfaites, nous signalons seulement le symptôme de
type a. la pièce est modélisée retirée par Peb.
4 Application industrielle
Pour fabriquer un nombre n des boîtes, une tôle imprimée de grand format prise du stock
intermédiaire S doit passer par les étapes des transformations suivantes : cisaillage, enrou-
lage, soudage, rechampissage intérieur, rechampissage extérieur, bordage, moulurage et
finalement sertissage. Il reste à signaler qu’après le cisaillage des tôles imprimées, les petites
tôles seront stockées dans un stock S. les petites tôles seront entraînées par un ouvrier sur
l’enrouleuse. À partir de cette étape le transfert de produit semi-fini d’un poste de travail
vers un autre est assuré par les tapis roulants.
Les paramètres significatifs de qualité que nous considérons, pour une boite, sont :
– Pour le cisaillage : hauteur (h0), largeur (l), équerrage (e) ;
– Pour bordage : bordure (bi, bs), hauteur (h1) ;
– Pour moulurage : hauteur (h2), profondeur (m) ;
– Pour sertissage (fig. 5) : hauteur de la boîte finie (hf), hauteur de serti (hs), crochet de
fond (cf), crochet de corps (cc), croisure a (c) et espace intérieur b (ei).
Pour un fonctionnement normal du procédé la valeur de chaque paramètre doit être
comprise dans un intervalle donné.
Comme une première étape, nous commençons par la modélisation du procédé
(modèle de référence) et d’une commande (modèle de commande). Les chiens de garde
sont implantés au niveau des tapis roulants. D’autre part de trois B.S.D.Q sont localisés :
BSD1à la fin de transformation de cisaillage, BSD2 (à la fin des transformations de bordage
et de moulurage et finalement BSD3 à la fin de transformation de sertissage. à titre
d’exemple nous illustrons la figure 5 qui présente BSD3.
Fig. 5 : BSD3.
<h s> <c> < hf > <cf> <cc>
<p>
<c> < hf> <cf>
< cc> < hs> <ei>
<c> <h f> <c f> <cc>
<h s> <e>
<p>
<c c>
<cc>
<cf > <cf >
<c c>
<c f>
<cf> <cf>
<hf >
<hf>
<c > <c >
<hs> <hs>
<hs>
<c>
<c > <hf> <hf >
<h s>
<hs> <c>
<ei>
<c f> <h f>
<ei> <ei>
<cc> <c c>
<cf>
<cf> <h f>
<hf > <c>
<hs> <ei>
<ei> <h s> <c>
S9 S10 S11 S13 S12 S11
<h s> <c> < hf > <cf> <cc>
<p>
<c> < hf> <cf>
< cc> < hs> <ei>
<c> <h f> <c f> <cc>
<h s> <e>
<p>
<c c>
<cc>
<cf > <cf >
<c c>
<c f>
<cf> <cf>
<hf >
<hf>
<c > <c >
<hs> <hs>
<hs>
<c>
<c > <hf> <hf >
<h s>
<hs> <c>
<ei>
<c f> <h f>
<ei> <ei>
<cc> <c c>
<cf>
<cf> <h f>
<hf > <c>
<hs> <ei>
<ei> <h s> <c>
S9 S10 S11 S13 S12 S11
263
Schedae
,
2006, prépublication n°37, (fascicule n°2, p. 257-263).
5 Conclusion
Dans ce papier, nous avons proposé un nouvel modèle de détection des symptômes des
défaillances par suivi des indicateurs de performance temporels et non-temporels. En effet
nous avons évolué le modèle proposé par M. Combacau [2] par l’intégration des blocs
BSDQ permettant la détection des symptômes suite à la non-conformité des paramètres
qualité. L’outil de Réseaux de Petri Temporels à Objets (RdPTàO) est exploité pour la
modélisation et la conception de notre modèle ;
Références
[1] R. Bastide, C. Siberrtin.-Blanc, Modelling a flexible manufacturing system by means of Cooperative
Objects. Proceedings of IFIP conference CAPE’91 on computer applications in production and
engineering. September, Bordeaux, France, 1991.
[2] M. Combacau. Commande et surveillance des systèmes à événements discrets complexes :
application aux ateliers flexibles. Thèse de doctorat, Université Paul Sabatier, Toulouse, Décembre
1991.
[3] F. Ly, A. K. A. Toguyeni, E. Craye. Indirect predictive monitoring in flexible manufacturing systems.
Robotics and Computer-Integrated Manufacturing, Volume 16, Issue 5, Pages 321-338, October,
2000.
[4] A. M’halla. Supervision par réseaux de Pétri flous : application à un brûleur à fuel. Mémoire de
master à l’École National d’Ingénieurs de Monastir, juin, 2006
[5] E. Minca, R D. acoceanu, N. Zerhouni, “Approche de détection par réseau de Petri flou.
Conférence Pentom2003 Performance et Nouvelles Technologies en Maintenance, V alencienne,
France 26-28 mars, 2003.
[6] L. Nabli, A.K.A Toguyéni., E. Craye, M. Annabi. A monitoring method based on fuzzy sets. CESA’98
IMACS Multiconférence, Computational engineering in systems application, Nabeul, Tunisie, avril
1998.
[7] L. Nabli, H. Dhouibi, S. Collart Dutilleul, E. Craye. Utilisation de la logique floue pour la surveillance
prédictive indirecte d’un système de production : cas d’une manufacture de tabac. JTEA’06,
Hammamet, Tunisie, Mai 2006.
[8] R. Valette. Les Réseaux de Petri. L.A.A.S. C.N.R.S. Toulouse, Septembre 2000.
264
Schedae
,
2007, prépublication n°37, (fascicule n°2, p. 257-263).
| 265
Prépublication n° 38 | Fascicule n° 2
Étude de la cocoteraiedes Tuamotu sur des images Ikonos
Raimana TeinaLaboratoire d’Informatique de Paris 6, Université Pierre et Marie Curie
Dominique BéréziatLaboratoire d’Informatique de Paris 6, Université Pierre et Marie Curie
Projet CLIME - Inria Rocquencourt
Benoît StollLaboratoire Terre et Océan, Université de la Polynésie Française
Résumé :
Cet article présente une méthode d’extraction et de recensement des cocotiers à partir d’images
satellites IKONOS. L’étude a été réalisée sur le site pilote de Tikehau. Cet article présente les
données et l’objectif à atteindre. Un algorithme est proposé et testé sur les données IKONOS.
Mots-clés : segmentation, classification, ligne de partage des eaux, carte de densité lo-
cale.
1 Introduction
L’exploitation des cocotiers, qui permet d’extraire l’huile de Coprah à partir des noix de
coco, est une ressource importante pour la Polynésie Française. Le contrôle de la produc-
tion nécessite le dénombrement des cocotiers mais l’accès à ces îles isolées implique des
coûts de déplacement trop élévés.
Le but de cette étude est de développer un algorithme efficace et robuste pour réaliser
le recensement des cocotiers à partir d’images satellite. Le comptage automatique des co-
cotiers nécessite dans un premier lieu un processus de segmentation robuste des cocotiers.
Raimana Teina, Dominique Béréziat, Benoît Stoll« Étude de la cocoteraie des Tuamotu sur des images Ikonos »
Schedae, 2007, prépublication n° 38, (fascicule n° 2, p. 265-269).
266 |
Nous proposons une méthode qui a pour particularité de ne pas utiliser la bande proche
infra-rouge (NIR) mais seulement les données visibles. Une fois la segmentation réalisée,
les régions sont énumérées et identifiées suivant divers critères objectifs tels que la surface
de la couronne (l’ensemble des palmes formant la structure supérieure des cocotiers) et
sa couleur moyenne, la densité locale de la cocoteraie. Une validation humaine a été faite
afin d’estimer l’erreur de détection de la méthode ainsi qu’une mission sur le terrain pour
valider quantitativement la méthodologie.
2 Les données et le site d’étude
Sur les données satellites, nous pouvons distinguer plusieurs structures (figure 1) telles que
l’eau de mer, les habitations, le corail et le sable, la végétation (la cocoteraie, autres végé-
tations). Parmi la végétation représentant la cocoteraie, nous distinguons trois types de
(a) habitation (b) sable et corail (c) cocoteraie (d) autre végétation
Fig. 1: Les différents structures visibles dans les images.
plantations : les plantations artificielles (espacement régulier), les plantations naturelles (es-
pacement irrégulier) et les plantations mixtes (état intermédiaire).
3 Méthodologie
L’objectif est l’extraction des couronnes des cocotiers présents dans les images. Nous avons
opté pour une variante de l’approche décrite par [1] utilisant la segmentation par ligne de
partage des eaux. Dans un premier temps nous localisons les zones de végétation haute
(section 3.1), ensuite nous filtrons les images et détectons les contours (section 3.2) et enfin
nous segmentons les couronnes (section 3.3).
3.1 Localisation des zones végétales hautesLa première tâche consiste à discriminer les zones non-végétales des différents types de
végétation (exemple : le sable et les habitations, végétation haute et basse). La méthode
utilisée est une classification bayésienne par maximum de vraisemblance [2] dont la loi a
priori est établie à partir de régions d’apprentissage choisies par l’utilisateur. La classifica-
tion est régularisée en utilisant les opérateurs morphologiques sieve et clump du logiciel de
traitement d’image ENVI. L’opérateur sieve permet de retirer les pixels isolés d’une classe
dont la population (en nombre de pixels) est inférieure à un certain seuil. L’opérateur clump
est une fermeture de l’image de classification qui permet de combler une partie des pixels
non classés. De cettemanière nous pouvons segmenter la végétation du reste des structures
présentes dans l’image. Indépendamment, nous souhaitons séparer la végétation basse, qui
est relativement homogène, de la végétation haute dans laquelle nous constatons claire-
ment une texture différente (voir la figure 1(d)). Nous utilisons les matrices d’occurences
introduites dans [3] à partir desquelles nous pouvons extraire le paramètre « Data Range »
(différence entre la valeur maximale et minimale des pixels appartenant à un voisinage).
Sur ce paramètre, nous appliquons un filtre adaptatif Gamma [4] (adaptation aux propriétés
Schedae, 2007, prépublication n° 38, (fascicule n° 2, p. 265-269).
| 267
statistiques locales des zones, conservation des contours). Enfin, un seuillage haut adapté
est utilisé pour séparer la végétation basse de la végétation haute.
3.2 Filtrage et détection de contoursÉtant donné que nous ne disposons pas de la bande proche infra-rouge, nous effectuons
une Analyse en Composantes Principales (ACP) et nous utilisons la première composante
pour le processus d’extraction des couronnes des arbres. Cette composante contient l’in-
formation représentative de la végétation [5]. Cette tâche est indépendante du processus
précédent et peut être effectuée en parallèle. Les images doivent être segmentées en zones
homogènes de par leurs constituants végétaux. La très haute résolution de nos images fait
apparaître beaucoup de détails même dans les régions homogènes et ceux-ci peuvent par
la suite perturber les algorithmes de segmentation basés sur des critères d’homogénéité.
Il est donc nécessaire de pré-traiter les images par une diffusion anisotropique [6] afin de
lisser les zones homogènes tout en conservant les discontinuités (i.e les contours). D’autres
algorithmes de diffusion non-linéaire ont été utilisés, tel que [7], sans pour autant apporter
d’améliorations significatives dans ce contexte d’étude. L’utilisation d’opérateurs de mor-
phologie mathématique (tophat) permet d’accentuer les vallées (pixels sombres) entre les
objets. Enfin, nous utilisons un simple détecteur de contours par passage par zéro du Lapla-
cien, là encore suffisant pour le type d’images employées. À partir de l’image de contours,
nous calculons une carte distance euclidienne. Les points à équidistance des contours sont
des candidats comme initialisation à un processus de segmentation.
3.3 Segmentation des couronnesPour réaliser la segmentation des couronnes des cocotiers, nous utilisons un algorithme
morphologique de segmentation par ligne de partage des eaux (LPE) [8, 9]. La LPE donne
une sur-segmentation qui peut être limité en utilisant une bonne initialisation donnée par
les points équidistants aux contours (voir section 3.2) et complétée par des marqueurs qui
sont les maxima locaux de l’intensité lumineuse. Dans [10], on utilise un modèle synthétique
d’arbres dont la couronne extérieure est décrite par la révolution de l’ellipsoïde d’équation(z−z0)n
an +((x−x0)2+(y−y0)2)
n2
bn = 1 où x0,y0,z0 est la position de l’arbre, b est le rayon de la
couronne et a est la hauteur de l’arbre. Selon que le paramètre n est inférieur ou supérieur
à 2, on obtient des formes coniques ou cylindriques (figure 2(a)). Pollock montre que les
couronnes présentent une émittance maximale en leur centre (figure 2(b)). Les centres des
couronnes servent donc de sources d’immersion pour la LPE.
(a) Modèles 3D (b) Illuminés
Fig. 2: Modèle de Pollock et marqueurs.
Il est nécessaire d’affiner les résultats en discriminant les régions suivant leur topologie.
Pour limiter la sur-segmentation des arbres, nous avons restreint l’intervalle du rayon R du
cercle dans lequel chaque arbre peut être inscrit. Ceci fournit la segmentation finale dont
chaque zone représente un cocotier.
Schedae, 2007, prépublication n° 38, (fascicule n° 2, p. 265-269).
268 |
4 Résultats et validation
À partir de l’image segmentée, nous extrayons des informations relatives à chacune des ré-
gions telles que la surface, le centre, les couleurs moyennes dans chacun des canaux rouge,
vert et bleu. En utilisant les centres des couronnes, nous calculons une carte de densité lo-
cale. Cette carte recense le nombre de cocotiers que l’on trouve dans un voisinage formé
d’un cercle de 12 mètres de rayon (soit 12 pixels de rayon)[11] (voir la figure 3). La méthode
(a) Originale (b) Résultat superposé (c) Moyenne rouge (d) Carte de densité
Fig. 3: Résultats extraits.
a été appliquée à des zones de test du Motu principal de Tikehau qui sont représentatives
des diverses configurations rencontrées dans les images et les résultats sont comparés à
une segmentation visuelle. Notre méthode détecte les cocotiers visibles sur l’image avec
une erreur de 10% (tableau 1). La mission sur le terrain, effectuée pendant l’été 2006, nous
Secteur id Nb Method Interp. % erreur1 908 818 9,91%2 986 912 7,51%3 495 450 9,09%4 346 356 -2,89%5 436 399 8,49%6 1269 1198 5,59%motu 16 4440 4133 6.81%
Tab. 1: Comparaison des résultats et erreur de détection.
a permis d’effectuer un comptage systématique sur une surface de 6.45% (soit 34352m2) de
la surface totale des zones de test (532870m2), par dénombrement à l’intérieur de placettes
(cercles de 12m de rayon) disposées en quinconce dans les zones test. Suite à ce comptage
systématique, nous trouvons que la méthode détecte 58% des cocotiers directement dis-
cernables sur les images. Toutefois, ces chiffres ne sont pas pertinents puisque les images
datent de 2003 alors que la mission terrain a été effectuée en 2006. Nous en concluons
que seul l’obtention de données 2006 permettra de valider la robustesse de la méthode
par rapport à la vérité terrain.
5 Conclusion et perspectives
L’élaboration d’une méthode non supervisée pour la détection des couronnes des cocotiers
s’avère difficile dans notre cas. Le premier inconvénient est le choix par l’utilisateur des
zones d’apprentissage pour la discrimination des zones végétales des zones non végétales.
Le second problème est l’absence de la bande proche infra-rouge qui permet de calculer
le NDVI dont on sait qu’il discrimine pertinemment les zones végétales des zones non-
végétales. Toutefois, notre approche permet de s’en affranchir. Nous obtenons de bon ré-
sultats mais l’utilisation de données 2006 s’impose pour valider la pertinence de la méthode
par rapport à la vérité terrain. Nous travaillons à la comparaison de nos résultats avec [12]
référant dans le domaine. Enfin, la mission terrain nous a permis d’établir une typologie de
Schedae, 2007, prépublication n° 38, (fascicule n° 2, p. 265-269).
| 269
la configuration des cocotiers sur le terrain. En utilisant l’ombre portée par les cocotiers, la
position du satellite et cette typologie, il est possible d’évaluer la hauteur des cocotiers et
donc leur âge à partir des données satellitaires. Nous travaillons actuellement à une méth-
ode permettant cette évaluation.
Références[1] L. Wang, P. Gong, andG.S. Biging. Individual tree-crown delineation and treetop detection in high-
spatial-resolution aerial imagery. Photogrammetric Engineering and Remote Sensing, 70(3) :351–
357, March 2004.
[2] J.A. Richards and X. Jia. Remote Sensing Digital Image Analysis : An Introduction. Springer-Verlag,
1999.
[3] H. Anys, H. Bannari, D.C. He, and D. Morin. Texture analysis for the mapping of urban areas
using airborne meis-ii images. In Proceedings of the First International Airborne Remote Sensing
Conference and Exhibition, volume 3 of ERIM, pages 231–245, Strasbourg, France, 1994.
[4] A. Lopes, E. Nezry, and R. Touzi. Adaptive speckle filters and scene heterogeneity. IEEE Tansaction
on Geoscience and Remote Sensing, 28(6) :992–1000, 1990.
[5] C. Ricotta and C. Avena. The influence of principal component analysis on the spatial structure of
a multispectral dataset. International Journal of Remote Sensing, 20(17) :3367–3376, 1999.
[6] P. Perona and J. Malik. Scale-space and edge detection using anisotropic diffusion. IEEE Trans.
Pattern Anal. Mach. Intell., 12(7) :629–639, 1990.
[7] J. Weickert. Coherence-enhancing diffusion filtering. Int. J. Comput. Vision, 31 :111–127, 1999.
[8] H. Digabel and C. Lantuéjoul. Iterative algorithms. In Actes du Second Symposium Européen d’-
Analyse Quantitative des Microstructures en Sciences des matériaux, Biologie et Médecine, Caen,
4-7 Otocbre 1977, pages 85–99, Riederer Verlag, Stuttgart, 1978.
[9] S. Beucher and C. Lantuéjoul. Use of watersheds in contour detection. In Proc. International work-
shop on Image Processing, Real-Time Edge andMotion Detection/Estimation, Rennes, September
1979.
[10] R.J. Pollock. The automatic Recognition of Individual trees in Aerial Images of Forests Based on a
Synthetic Tree Crown ImageModel. PhD thesis, University of British Colombia, Vancouver, Canada,
1996.
[11] F. Jacq. Evaluation quantitative et qualitative des peuplements de cocotiers sur tikehau. Technical
report, Service du Développement Rural - Département FOGER, Avril 2006.
[12] F.A. Gougeon. A crown-following approach to the automatic delineation of individual tree crowns
in high spatial resolution aerial images. Canadian Journal of Remote Sensing, 21(3) :274–284,
1995.
Schedae, 2007, prépublication n° 38, (fascicule n° 2, p. 265-269).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 271
Prépublication n° 39 | Fascicule n° 2
Interaction dans un environnementd’apprentissage de la modélisationorientée objet
Mathilde AlonsoLaboratoire d’Informatique de l’Université du Maine (LIUM)
Résumé :
Cet article présente Diagram, un environnement informatique pour l’apprentissage de la mod-
élisation orientée objet. Le modèle d’interaction de Diagram repose sur une organisation de
la tâche en trois étapes, l’intégration de l’énoncé dans l’interface, des outils de modélisation
graphique spécifiques et des aides contextuelles pour la création et la vérification des éléments
du diagramme. Le logiciel a fait l’objet d’expérimentations en contexte écologique dont nous
présentons ici les premiers résultats.
Mots-clés : environnement d’apprentissage, interaction, guidage, rétroactions, métaco-
gnition, modélisation orientée objet, diagramme de classe, UML.
1 Contexte
En génie logiciel, la modélisation est une activité cruciale de l’étape d’analyse dans le
processus de développement d’un produit logiciel. Elle a pris ces dernières années une
part importante des cursus informatiques universitaires à finalité professionnelle, surtout
depuis l’avènement du langage de modélisation orienté objet UML (Unified Modeling Lan-
guage). L’apprentissage de la modélisation commence également à susciter des travaux
dans le champ des Environnements Informatiques pour l’Apprentissage Humain (EIAH)
comme KERMIT [1] et COLLECT-UML [2].
L’environnement Diagram, qui sert de support à notre étude, est développé au sein
d’un projet visant à élaborer des modèles, méthodes et outils pour la conception d’EIAH
dédiés à l’apprentissage de la modélisation. Notre objectif est de concevoir et de valider un
modèle d’interaction à intégrer dans ce type d’environnements afin de faciliter l’acquisition
des concepts de la modélisation UML. Le diagramme de classe est le plus employé et le
mieux connu des diagrammes UML [3] : nous focalisons notre étude sur l’apprentissage de
Mathilde Alonso« Interaction dans un environnement d’apprentissage de la modélisation orientée objet »
Schedae, 2007, prépublication n° 39, (fascicule n° 2, p. 271-274).
272 |
la modélisation par diagramme de classe en premier cycle universitaire. Plus précisément,
nous considérons que la tâche type est la production d’un diagramme de classe UML à
partir d’un énoncé en langage naturel. La nature de la tâche de modélisation, et notamment
l’absence de méthodes formelles pour construire un diagramme ou vérifier son adéquation
à l’énoncé, nécessite de mettre l’accent sur l’acquisition par l’apprenant de procédures
de contrôle, de correction et de validation de ses productions. Il s’agit alors de renforcer
l’aspect métacognitif de la modélisation.
Pour [4] le terme de métacognition possède deux dimensions essentielles : les connais-
sances métacognitives d’un individu qui portent sur sa propre cognition, et les régulations
métacognitives qui se réfèrent aux activités supportant le contrôle individuel de la pensée
ou de l’apprentissage. [5] distingue trois fonctions de régulation : la planification d’activ-
ités (planning), le contrôle/la surveillance d’activités (monitoring) et l’évaluation de résul-
tats d’activités (evaluation). Pour être un environnement informatique d’apprentissage de
la modélisation efficace, Diagram doit favoriser l’activité réflexive et métacognitive de l’ap-
prenant par rapport à son travail en prenant en compte les trois dimensions de la régulation
métacognitive.
L’enseignement de la modélisation avec UML, dans les cursus universitaires, repose
d’une part sur des cours magistraux visant à présenter les connaissances théoriques (syntaxe
et sémantique du langage UML) ; d’autre part sur des travaux dirigés et pratiques visant à
faire acquérir le savoir-faire de modélisation, par la pratique, à l’aide d’exercices de com-
plexité croissante. Les logiciels commerciaux professionnels utilisés en travaux pratiques
sont plus ou moins élaborés mais ne sont pas conçus pour avoir une finalité pédagogique.
Ces logiciels sont soit trop complexes et donc trop longs à maîtriser, soit trop complets
lorsqu’ils intègrent des fonctionnalités inutiles pour les besoins pédagogiques d’un pre-
mier enseignement de la modélisation. De façon évidente, ils ne sont pas conçus pour les
utilisateurs ne maîtrisant pas encore la modélisation.
Nous avons donc choisi de concevoir l’environnement Diagram comme un éditeur de
diagrammes de classes, qui comporte un sous-ensemble des fonctionnalités des éditeurs
classiques et qui intègre des modalités d’interaction et des aides spécifiques aux novices.
2 L’interaction dans Diagram
Diagram offre la possibilité de travailler simultanément avec l’énoncé et le diagramme de
classes, ce qui facilite le contrôle visuel de la modélisation. Cette fonctionnalité, absente
des éditeurs UML classiques, est présente dans les environnements KERMIT et COLLECT-
UML. Elle donne de plus grandes possibilités d’interaction car même si le texte n’est pas
modifiable, il est possible d’agir sur l’énoncé et de modifier son aspect visuel. De plus, Dia-
gram intègre une organisation de la tâche et offre des aides contextuelles qui encouragent
l’activité métacognitive chez l’apprenant.
Un enseignant de la modélisation orientée objet UML à l’université du Maine a mis
au point une méthode pédagogique de modélisation en trois phases (lecture de l’énoncé,
élaboration du diagramme, relecture) qu’il utilise avec ses étudiants. Cette organisation
de l’activité de modélisation exerce une fonction de planification et d’évaluation au sens
de la régulation métacognitive. Nous avons choisi de la transposer dans l’environnement
Diagram et de l’enrichir avec des outils graphiques soit inspirés des outils papier-crayon,
soit permis par l’environnement informatique [6].
Schedae, 2007, prépublication n° 39, (fascicule n° 2, p. 271-274).
| 273
2.1 Aides contextuellesUne expérimentation du logiciel menée en 2005 nous a conduit à intégrer une aide à la
création d’éléments et un dispositif de reformulation des éléments du diagramme afin ren-
forcer les fonctions de contrôle et d’évaluation de la régulation métacognitive [6].
Le guidage contextuel lors de la création d’éléments se présente sous la forme de mes-
sages indiquant l’action en cours de réalisation. En effet nous avons constaté que les étudi-
ants avaient parfois des difficultés à associer une sémantique à leurs actions. Ce dispositif
a pour objectif de faciliter le contrôle visuel et ainsi d’éviter les erreurs de construction.
Nous avons également constaté que la sémantique véhiculée par l’orientation des rela-
tions entre les classes du diagramme n’est pas toujours perçue par les apprenants novices.
Nous faisons l’hypothèse que confronter l’apprenant à une reformulation textuelle de son
diagramme peut l’aider à comprendre sa signification et lui permettre de valider ou d’in-
valider ses constructions : la reformulation exerce une fonction de contrôle de l’activité.
Nous avons donc ajouté à Diagram un dispositif de reformulation textuelle des éléments
du diagramme. Lorsque la souris pointe sur un élément du diagramme, un message indi-
quant la sémantique de cet élément est affiché dans une bulle.
2.2 ExpérimentationsNous avons mené des expérimentations à l’automne 2006 pour évaluer la manière dont
les apprenants utilisent les fonctionnalités pédagogiques de Diagram. Elles ont porté sur
quatre séances de TP de trois heures chacune, avec dix étudiants de deuxième année de
DEUST Informatique, Systèmes et Réseaux, la moitié utilisant Diagram et l’autre un éditeur
classique. Les actions réalisées à l’interface ont été enregistrées et analysées.
Une première analyse des enregistrements nous montre que l’aide à la création d’élé-
ments est peu utilisée mais le dispositif de reformulation est bien exploité par les étudi-
ants pour contrôler leurs productions. Nous avons donc focalisé notre étude sur l’utilisation
des infobulles de reformulation des relations. Pour cela nous avons identifié et repéré les
séquences d’infobulles concernant les relations entre les classes du diagramme, affichées
au cours de la phase de construction. Ces séquences sont constituées d’un infobulle suivi
d’une ou plusieurs actions (modification, suppression) et éventuellement d’un nouvel infob-
ulle sur la même relation. Nous avons mis en évidence quatre catégories de séquences :
lorsque la relation reformulée est valide et que l’apprenant ne fait pas de modification il
s’agit d’une vérification. Si la reformulation permet à l’apprenant de détecter une erreur et
de la corriger, c’est un cas de correction. Les séquences sont classées sans effet lorsque la
relation est erronée mais que la reformulation ne permet pas à l’apprenant de corriger son
erreur. Enfin le cas de dégradation est celui dans lequel la reformulation conduit l’apprenant
à modifier sa solution et à introduire une erreur alors que la relation est correcte.
Nous avons analysé l’utilisation par cinq étudiants des infobulles dans Diagram. Chaque
étudiant a réalisé entre 9 et 12 exercices et nous obtenons un total de 271 infobulles af-
fichés. Cela donne en moyenne, par étudiant et par exercice, quatre ou cinq séquences
d’infobulles réparties de la manière suivante : dans 45% des cas la reformulation est utilisée
pour contrôler la validité de l’élément (vérification) et dans 37% des cas une erreur mise
en évidence par la reformulation est corrigée (correction). L’affichage d’un infobulle reste
sans effet dans 18% des cas et provoque une dégradation de la solution dans moins de
1% des cas. Nous avons ensuite affiné notre analyse en distinguant les erreurs liées à l’ori-
entation des relations des autres cas d’erreur comme par exemple une erreur sur le type
de relation ou une erreur mettant en cause les classes reliées par cette relation. Les erreurs
d’orientation des relations sont particulièrement intéressantes car nous avons constaté que
les apprenants novices éprouvent fréquemment des difficultés à percevoir la sémantique
Schedae, 2007, prépublication n° 39, (fascicule n° 2, p. 271-274).
274 |
véhiculée par l’orientation des relations. Les résultats montrent une répartition équitable des
cas de correction entre les erreurs d’orientation et les autres erreurs mais un fort déséquili-
bre pour les cas sans effet : 95% des séquences sans effet concernent une erreur autre que
l’orientation. Sur l’ensemble des séquences sans effet et correction, les erreurs d’orienta-
tion sont corrigées dans 84% des cas alors que les autres erreurs ne sont corrigées que dans
18% des cas.
L’analyse de l’affichage des infobulles sur des relationsmontre qu’ils sont principalement
utilisés pour la vérification. Cela indique que le système de reformulation assure effective-
ment une fonction de monitoring au sens de la régulation métacognitive. Les infobulles
facilitent également la correction des erreurs : l’affichage de la reformulation semble assez
efficace pour les erreurs d’orientation mais peu adaptée pour les autres erreurs. Enfin nous
ne constatons pas d’effet négatif des infobulles (moins de 1% des cas).
3 Conclusion
Nous avons présenté Diagram, un EIAH dédié à l’apprentissage de la construction de dia-
grammes de classe UML qui intègre des outils de modélisation graphique originaux et pro-
pose des aides contextuelles au cours de la modélisation. Nous avons également présenté
les résultats d’une expérimentation en contexte écologique et analysé l’utilisation des in-
fobulles sur les relations. Ces résultats doivent être considérés avec prudence compte tenu
du faible échantillon et demandent à être confirmés par d’autres expérimentations. De plus
nous devons analyser les résultats obtenus par les étudiants travaillant avec un éditeur com-
mercial lors de l’expérimentation afin de les comparer avec ceux utilisant Diagram.
Les aides proposées sont génériques : elles ne tiennent pas compte de la validité du
diagramme de l’apprenant. Nous envisageons de les compléter par des rétroactions plus
spécifiques, basées sur un outil de diagnostic en cours de développement, qui signalerait
à l’apprenant les erreurs ou les incohérences de son diagramme.
Références[1] P. Suraweera and A. Mitrovic. An intelligent tutoring system for entity relationship modelling. Int.
J. Artificial Intelligence in Education (IJAIED), 14(3-4) :375–417, 2004.
[2] N. Baghaei and A. Mitrovic. Collect-uml : Supporting individual and collaborative learning of uml
class diagrams in a constraint-based tutor. In Rajiv Khosla, Robert J. Howlett, and Lakhmi C. Jain,
editors, Knowledge-Based and Intelligent Engineering Systems (KES), pages 458–464, Melbourne,
Australie, Septembre 2005. Springer.
[3] J. Rumbaugh, I. Jacobson, and G. Booch. The Unified Modeling Language Reference Manual.
Addison-Wesley, 2ème edition, 2005.
[4] John H. Flavell. Cognitive Development. Prentice Hall, Englewood Cliffs, New Jersey, USA, 1977.
[5] A. L. Brown. Metacognition, motivation and understanding. In F.E. Weinert and R.H. Kluwe, editors,
Metacognition, motivation and understanding, pages 65–116, Hillsdale, New Jersey, USA, 1987.
Lawrence Erlbaum Associates.
[6] M. Alonso, D. Py, and T. Lemeunier. Interaction support à la métacognition dans un eiah pour la
modélisation orientée objet. In Environnements Informatiques pour l’Apprentissage Humain (EIAH),
Lausanne, Suisse, Juin 2007.
Schedae, 2007, prépublication n° 39, (fascicule n° 2, p. 271-274).
| 275
Prépublication n° 40 | Fascicule n° 2
Observateur à grand gain pour dessystèmes non linéaires avec couplage noncomplètement triangulaire
Fenglong Liu, Mondher Farza, Mohammed M’saadGREYC, UMR 6072 CNRS, Université de Caen Basse-Normandie, ENSICAEN
6 Bd Maréchal Juin, 14050 Caen Cedex, France
[email protected], [email protected], [email protected]
Résumé :
Un observateur de type grand gain est synthétisé pour une classe de systèmes non-linéaires
multi-sorties uniformément observables. Cette classe consiste en des sous-systèmes en cascade
où chaque sous-système est associé à un sous-ensemble des sorties. Deux contributions princi-
pales sont à souligner : la première est liée à la structure considérée qui n’est pas complètement
triangulaire. Autrement dit, la dynamique de certaines variables de chaque sous-système peut
dépendre de non-linéarités impliquant tous les états du système. La deuxième contribution ré-
side dans le gain de l’observateur dont l’expression est donnée et dont le calibrage s’effectue
à travers le choix d’un seul paramètre. Un exemple académique avec les résultats de simulation
sont présentés à titre d’illustration.
Mots-clés : système non-linéaire, observateur à grand gain, couplage non triangulaire.
1 Introduction
En dépit d’une activité de recherche intense et continue sur l’observation des systèmes
non-linéaires (cf. par exemple [1, 2, 3, 4, 5, 6, 7]), ce problème reste encore ouvert pour les
systèmes multi-sorties.
L’objectif de ce papier est de proposer un observateur exponentiel pour une classe de
systèmes non-linéaires multi-sorties qui peuvent se mettre sous la forme suivante :
8<: x = Ax + ϕ(u, x)
y = Cx(1)
Fenglong Liu, Mondher Farza, Mohammed M’saad« Observateur à grand gain pour des systèmes non linéaires avec couplage non complètement triangulaire »
Schedae, 2007, prépublication n° 40, (fascicule n° 2, p. 275-278).
276 |
où l’état x =“
x1 x2 . . . xq
”T∈ IRn, avec xk =
“xk1 xk
2 . . . xkλk
”T∈ IRnk ,
xki ∈ IRpk , i = 1, . . . , λk, k = 1, . . . , q,
qXk=1
nk = n ; la sortie du système
y =“
y1 y2 . . . yq
”T∈ IRp avec yk ∈ IRpk , k = 1, . . . , q et
qXk=1
pk = p ; A =
diagh
A1 . . . Aq
i, Ak =
266666664
0 Ipk 0
.... . .
0 . . . 0 Ipk
0 . . . 0 0
377777775, C = diag
hC1 . . . Cq
i, Ck =
hIpk 0 . . . 0
iet
la fonction non-linéaireϕ(u, x) =“
ϕ1(u, x)T ϕ2(u, x)T . . . ϕq(u, x)T
”T∈ IRn ;ϕk(u, x) =“
ϕk1(u, x)T ϕk
2(u, x)T . . . ϕkλk
(u, x)T
”T∈ IRnk où chaque fonction ϕk
i (u, x) ∈ IRpk ,
k = 1, . . . , q, possède la structure suivante :
• pour 1 ≤ i ≤ λk − 1 :
ϕki (u, x) = ϕk
i (u; x1, x2, . . . , xk−1; xk1 , . . . , xk
i ; xk+11 , xk+2
1 , . . . , xq1) (2)
• pour i = λk :
ϕkλk
(u, x) = ϕkλk
(u; x1, x2, . . . , xq) (3)
Dans ce travail, on montrera, sous des hypothèses appropriées, que l’observateur proposé
est global et que sa convergence est exponentielle. La contribution principale de ce tra-
vail réside dans le fait que la classe de systèmes considérée renferme toutes les classes
de systèmes pour lesquelles un observateur à grand gain a été proposé et pour lesquelles
l’expression du gain a été donnée [1, 4, 8, 6].
2 Synthèse de l’observateur
Comme dans tous les travaux traitant de la synthèse d’observateurs à grand gain [1, 4, 8,
6, 2], nous avons besoin de l’hypothèse suivante :
Hypothèse 1 ϕ(u, x) est une fonction globalement Lipschitzienne en x, uniformément en u.
Avant de donner les équations de l’observateur, nous allons introduire quelques notations
et résultats préliminaires :
• Soit ∆k(θ) une matrice diagonale définie par :
∆k(θ) = diag
»Ipk ,
1
θδkIpk , . . .
1
θδk(λk−1)Ipk
–(4)
où θ > 0 est un réel et les δk sont des réels positifs définis comme suit :
8>><>>:δk =
qYi=k+1
(λi − 1) pour 1 ≤ k ≤ q − 1;
δq = 1
(5)
• Soit Sθδk la solution unique de l’équation algébrique de Lyapunov suivante :
θδk Sθδk + AT
k Sθδk + S
θδk Ak = CTk Ck (6)
Schedae, 2007, prépublication n° 40, (fascicule n° 2, p. 275-278).
| 277
où les Ak et Ck sont définies dans le système (1). Il a été démontré (cf. par exemple [4]) que
la solution de (6) est SDP (Symétrique Définie Positive) pour θ > 0 et que l’on a
Sθδk (i, j) =
(−1)(i+j)Cj−1i+j−2
θδk(i+j−1)Ipk pour 1 ≤ i, j ≤ nk, où Cp
n =n!
(n− p)!p!(7)
De plus, on a :
Sθδk =
1
θδk∆k(θ)S1k∆k(θ) (8)
où S1k = Sθδk |θ=1. En particulier, S−1
θδkCT
k = (θδkC1nk
Ipk , θ2δk C2nk
Ipk , . . . , θnk δkC
nknk
Ipk )T
Soit maintenant le système dynamique suivant :
˙x = Ax + ϕ(u, x)− S−1Θ CT (Cx− y) (9)
où
• x =“
x1 x2 . . . xq
”T∈ IRn, xk =
“xk1 xk
2 . . . xkλk
”T∈ IRnk ,xk
i ∈
IRpk , i = 1, . . . , λk, k = 1, . . . , q,qX
k=1
nk = n.
• xk1 = xk
1 pour k = 1, . . . , q (injection de la sortie).
• u et y sont respectivement les entrées et les sorties du système (1).
• SΘ = diagh
Sθδ1 . . . Sθδq
iest une matrice diagonale en blocs et les matrices
Sθδk sont données par (8) pour k = 1, . . . , q.
Nous énonçons le théorème suivant :
Théorème 1 Supposons que système (1) satisfait l’hypothèse (1), alors :
∃θ0 > 0; ∀θ ≥ θ0; ∃λθ > 0; ∃µθ > 0,
‖x(t)− x(t)‖ ≤ λθe−µθt
2 ‖x(0)− x(0)‖
pour toute entrée bornée. De plus, limθ→∞
µθ = +∞. Autrement dit, le système (9) est un
observateur exponentiel pour le système (1) pour des entrées bornées.
3 Exemple
Soit le système dynamique suivant,
8>>>>>>>>>>>>>>>>>>>>>>><>>>>>>>>>>>>>>>>>>>>>>>:
z1 = z3 − 0.01u1tanh(z1z2z5)− z1
z2 = z4 − 0.01u2tanh(z1z2z5)− z2
z3 = −z33 −
u1z6
1 + (z1z2z3z4z5z6z7)2
z4 = −z4 +u2z7
2 + tanh(z1z2z3z4z5z6z7)
z5 = z6 + 0.01z1z2z3z4z5u1
z6 = z7 − z6 + (1− z21)z2z5 +
u1
1 + (z3z4)2+
tanh(u2)
1 + z26
z7 = −z7 + (1− z2)2z1z5 +tanh(u1)
1 + (z6z7)2+
u2
1 + (z3z4)2
y =“
z1 z2 z5
”T
(10)
Il est clair que le système (10) est sous la forme (1). En considérant les valeurs initiales
zi(0) = 1, i = 1, . . . , 7 et les entrées
0@ u1
u2
1A =
0@ sin(0.3t)
cos(0.3t)
1A, les trajectoires du système
(10) sont bornées et l’hypothèse (1) est donc satisfaite (les plans de phase ne sont pas
reproduits par manque de place). En conséquence, un observateur de type (9) permettant
Schedae, 2007, prépublication n° 40, (fascicule n° 2, p. 275-278).
278 |
d’estimer les états non mesurés du système (10) peut être synthétisé. Pour la raison de
manque des espaces, nous ne montrons pas les équations d’observateur.
La simulation a été effectuée avec les conditions initiales zi(0) = 1, et zi(0) = −1, i =
1, . . . , 7. La valeur de paramètre θ utilisée au cours de la simulation est égale à√
5. Les ré-
sultats obtenus (cf. figures 3 montrent bien la convergence rapide des trajectoires estimées
vers leurs vraies trajectoires issues de la simulation du modèle.
0 5 10 15−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
z3
Estimation
Simulation
0 5 10 15−1.5
−1
−0.5
0
0.5
1
1.5
2
2.5
3
z4
Estimation
Simulation
0 5 10 15−4
−3
−2
−1
0
1
2
3
4
z6
Estimation
Simulation
0 5 10 15−8
−6
−4
−2
0
2
4
z7
Estimation
Simulation
Fig. 1: Comparaison des états estimés et simulés pour zi,i = 3, 4, 6, 7.
4 Conclusion
Dans cette contribution, nous avons proposé un observateur de type grand gain pour une
classe de systèmes non-linéaires multi-sorties uniformément observables. Cette classe in-
clut toutes les classes de systèmes considérées jusqu’ici et pour lesquelles le gain de l’ob-
servateur est explicitement donné. Toutefois, beaucoup d’autres systèmes uniformément
observables n’appartiennent pas à cette classe et nous travaillons pour élargir la synthèse
de l’observateur à de tels systèmes.
Références[1] G. Bornard and H. Hammouri. A high gain observer for a class of uniformly observable systems. In
Proc. 30th IEEE Conference on Decision and Control, volume 122, Brighton, England, 1991.
[2] M. Farza, M. M’Saad, and L. Rossignol. Observer design based on triangular form generated by
injective map. Automatica, 40 :135–143, 2004.
[3] J.P. Gauthier and G. Bornard. Observability for any u(t) of a class of nonlinear systems. IEEE Trans.
on Aut. Control, 26 :922–926, 1981.
[4] J.P. Gauthier, H. Hammouri, and S. Othman. A simple observer for nonlinear systems - application
to bioreactors. IEEE Trans. on Aut. Control, 37 :875–880, 1992.
[5] J.P. Gauthier and I. A. K. Kupka. Observability and observers for nonlinear systems. SIAM J. Control.
Optim., 32 :975–994, 1994.
[6] H Hammouri and M. Farza. Nonlinear observers for locally uniformly observable systems. ESAIM J.
on Control, Optimisation and Calculus of Variations, 9 :353–370, 2003.
[7] M. Hou and A. C. Pugh. Observer with linear error dynamics for nonlinear multi-output systems.
Syst. Contr. Lett., 37 :1–9, 1999.
[8] G. Bornard and H. Hammouri. A graph approach to uniform observability of nonlinear multi output
systems. In Proc. of the 41st IEEE Conference on Decision and Control, Las Vegas, Nevada, USA,
December 2002.
Schedae, 2007, prépublication n° 40, (fascicule n° 2, p. 275-278).
| 279
Prépublication n° 41 | Fascicule n° 2
Recherche de parcours prototypiquepour l’analyse de parcours web
Ali MrouéLSIS, UMR CNRS 6168
Domaine Universitaire de Saint-Jérôme
Avenue Escadrille Normandie-Niemen 13397 MARSEILLE CEDEX 20
Résumé :
Cet article décrit une approche pour rechercher automatiquement les comportements proto-
typiques dans un ensemble de parcours recueillis pour un site web. Les fichiers de traces de
navigations (fichiers access log) sont examinés afin de grouper les utilisateurs qui ont un pat-
tern d’accès commun et fréquent. Ces résultats nous permettent de comprendre la manière avec
laquelle les internautes évoluent sur un site donné et, à plus long terme de déceler des pratiques
générales de navigation. Une application résultante de ce type de recherche se situe dans les
systèmes de recommandation où l’on cherche à suggérer des liens aux utilisateurs qui pourraient
les intéresser. La découverte de patrons de navigation est principalement liée à la capacité de
juger deux à deux similaires ou distincts l’ensemble des parcours disponibles. Dans cet article
nous décrivons les caractéristiques de la fonction de similarité que nous proposons, ensuite nous
présentons nos résultats obtenus sur un site particulier.
Mots-clés : web usage mining, prédiction, modèle n-gramme, pattern séquentielle.
1 Introduction
Le World Wide Web fournit un environnement riche pour la recherche d’information. Jour
après jour, l’internet se développe et la quantité d’information disponible devient si im-
portante que les utilisateurs peuvent facilement se perdre dans cette grande source d’in-
formation et ce, malgré l’aide des moteurs de recherche. Le Web Mining est un domaine
qui propose des solutions, entre autres, pour l’aide à la recherche. Fondamentalement, ce
domaine consiste à utiliser l’ensemble des techniques du Data Mining afin de développer
des approches et des outils, permettant d’extraire des informations pertinentes à partir des
données du web (documents, traces d’interactions, structure des pages, des liens, etc.).
Ali Mroué« Recherche de parcours prototypique pour l’analyse de parcours web »Schedae, 2007, prépublication n° 41, (fascicule n° 2, p. 279-283).
280 |
Nous nous sommes intéressez à étudier en particulier le comportement de navigation de
l’utilisateur, afin de prédire son futur comportement.
2 Fonction de similarité
2.1 Définition d’une fonction de similaritéLa constitution des groupes qui servent de support à la définition d’un parcours proto-
typique est basée sur une fonction de similarité qui fournit un taux de similarité pour un
couple de sessions donné. L’extraction des sessions, puis des parcours se fait, de manière
très classique, à partir des fichiers journaux (fichiers log) du serveur d’un site web donné.
Cette fonction de similarité prend en compte pour produire une valeur de ressemblance,
un certain nombre de facteurs dont les plus importants sont les suivants :
– Ordre des pages dans la séquence : nous considérons qu’il s’agit d’un facteur essen-
tiel révélateur de deux comportements semblables de navigation. Il s’agit de l’ordre
d’apparition des pages dans la session. Par exemple : la séquence « P1 P2 P3 P4 »
sera considérée comme différente que la séquence « P1 P3 P2 P4 », même si les
mêmes pages ont été visitées dans ces deux séquences ;
– Tolérance aux erreurs : capacité de négliger des pages qui peuvent être consid-
érées comme « visitées par erreur ». À titre d’exemple, faut il considérer que les deux
séquence seq1 : P1 P2 P6 P3 P4 et seq2 : P1 P2 P3 P4 correspondent ou non à des
séquences différentes ? La réponse que nous proposons est une réponse graduelle
où une telle différence sera ou non négligée selon un paramètre de la fonction et
certaines autres caractéristiques comme le nombre pages différentes relativement à
la longueur des séquences ;
– Comparaison de séquences de longueur différentes : même si les séquences présen-
tent des longueurs différentes il peut être utile de déterminer que certains parcours
ne sont en fait que des sous-parcours d’autres plus grands mais dont la finalité est
identique.
Pour ce faire nous avons utilisé un modèle de prédiction n-gramme, qui et après avoir
constaté la similarité sur les premiers éléments, vérifiera si les séquences pourraient être
identiques. Il s’agit de déterminer s’il est très probable ou non que la séquence la plus
courte, si elle devait être prolongée, le soit en conformité avec la séquence la plus longue.
Par exemple : dans seq1 : P1 P2 P3 et seq2 : P1 P2 P3 P4, nous considérerons que la
séquence P1 P2 P3 est similaire à la séquence P1 P2 P3 P4 si, d’après les autres sessions, la
page P4 est une page très probable après une séquence P1 P2 P3. Cemodèle de prédiction
est fondé sur le « modèle n-gram » [1].
2.2 Mise en œuvre de la fonctionOn peut diviser le traitement réalisé par la fonction de similarité en trois parties : recherche,
vérification, filtrage (Figure 1).
La fonction de similarité reçoit à son entrée les séquences filtrées provenant des fichiers
log du site. La procédure d’extraction des patterns produit comme sortie, des groupes
disposant chacun d’un représentant prototypique comprenant une séquence avec laquelle
tous les membres ont été jugés similaires.
2.2.1 Recherche
La partie recherche de la fonction de similarité consiste à trouver et à calculer la similarité
entre toutes les séquences reçues à l’entrée. Cette étape de recherche est paramétrable
avec les facteurs suivants : Couverture, Erreur, TauxErreur, seqMarge.
Schedae, 2007, prépublication n° 41, (fascicule n° 2, p. 279-283).
| 281
RechercheDe la similarité
VérificationDe la similaritéModèle N-Gram de prédiction.
FiltrageConserver les séquences dans les groupes selon le taux de similarité.
Ensemble des sessions
Groupe des séquences
Séquence similaire de différente taille, contenant des sous séquences terminales différentes
Séquence similaire contenant la même sous séquence terminale
RechercheDe la similarité
VérificationDe la similaritéModèle N-Gram de prédiction.
FiltrageConserver les séquences dans les groupes selon le taux de similarité.
Ensemble des sessions
Groupe des séquences
Séquence similaire de différente taille, contenant des sous séquences terminales différentes
Séquence similaire contenant la même sous séquence terminale
Fig. 1: Structure de la fonction de similarité.
Couverture : Indique le nombreminimal d’éléments communs entre les deux séquences.
C’est un pourcentage qui par défaut est égal à 75%. Exemple : Etant donné seq1 = P1 P2
P3 P4, seq2 = P1 P2 P3 et Couverture = 90%. Il faut que 3,60=4 pages par ordre de seq1
apparaissent dans seq2 pour qu’elles soient similaires. Et dans ce cas on considère que
seq2 n’est pas similaire à séq1 (car il existe moins que 4 éléments de seq1 dans seq2 (3
éléments P1 P2 P3)).
Erreur : Ce paramètre indique le nombremaximumde pages visitées par erreur présentes
entre deux pages successives de la séquence. Par défaut ce paramètre est égal à 1. Exem-
ple : Si Erreur=1 et que l’on compare seq1 = P1 P2 P3 à seq2=P1 P7 P2 P3 ou seq3= P1 P7
P2 P8 P3 on obtiendra un résultat positif dans les deux cas. Une séquence telle que seq4=
P1 P7 P9 P2 P3 donnera par contre un résultat négatif.
TauxErreur : Ce paramètre est un taux servant à prendre en compte l’importance de
l’erreur par rapport à la taille totale de la chaîne. C’est un pourcentage, par défaut égal
à 15%. Ce paramètre est en lien direct avec le nombre d’élément en commun entre les 2
séquences. À titre d’exemple, si l’on considère les deux séquences seq1 : P1 P2 P3 et seq2 :
P1 P10 P2 P6 P3 alors on rejettera la similarité dans ce cas. En effet, 2 erreurs pour 3 pages
communes fournissent un taux d’erreur supérieur à 15%.
SeqMarge : Ce paramètre nous permet de tenir compte de la différence de longueur
entre les séquences à comparer (c’est-à-dire nombre d’éléments qui apparaissent et qui ne
sont ni erreur ni élément de la séquence). Ce paramètre est une valeur entière qui est par
défaut égale à 1, qui sera multiplié par le nombre maximum permis d’erreur (en relation
avec taux d’erreur).
À titre d’exemple, si la SeqMarg=1 et l’Erreur=1, comparons les deux séquences seq1 :
P1 P2 P3 et seq2 : P10 P1 P6 P2 P3 P12 P13. La sous séquence P1 P2 P3 (3 éléments) est
incluse dans seq2 avec une page d’erreur P6. Les 3 autres éléments restants P10, P12 et
P13 ne sont ni des pages navigués par erreur ni des pages de la séquence en commun avec
seq1. On calcul le nombre des éléments de la séquence à la marge. Ces éléments sont les
éléments différents que les éléments en commun entre les deux séquences à comparer, et
différents que les éléments considérés comme erreur.
Nombre D’élément à la marge=SeqMarg* nb maximum d’erreur permis = 1*0=0 élé-
ment.
Nombre maximum d’erreur permis = (nb d’élément en commun trouvé * TauxErreur) /
100 , par défaut TauxErreur = 15 alors on obtient que nombre maximum d’erreur permis =
(3*15)/100 = 0.45 ⇒ 0. Ce qui donne que le nombre d’élément à la marge doit être égale
à 0, or il existe 3 éléments (P10, P12, P13) alors on considère que seq2 n’est pas similaire à
seq1.
2.2.2 Vérification
Cette étape est nécessaire pour vérifier la similarité entre les séquences de tailles dif-
férentes.
Schedae, 2007, prépublication n° 41, (fascicule n° 2, p. 279-283).
282 |
2.2.3 Filtrage
Dans cette étape on filtre les résultats obtenus. Il s’agit d’éliminer les groupes ayant un nom-
bre d’éléments inférieurs à un nombre fourni par l’utilisateur. Ensuite on filtre ces groupes
de manière à ce qu’une séquence donnée ne soit présente que dans un seul groupe, celui
où elle possède la plus grande valeur de similarité.
3 Résultat
Comme nous avons déjà expliqué, les résultats de la fonction de similarité sont des proto-
types qui représentent les parcours les plus significantes et les plus intéressantes du fichier
log. Cette liste des parcours prototypiques sera considérée comme un mini fichier log où
nous pouvons appliquer n’importe quelle méthode statistique pour obtenir par exemple :
la page la plus visitée dans le site, etc. Selon nos tests sur les fichiers log du site LSIS, nous
avons obtenu une liste des parcours prototypiques significatifs. Le parcours prototypique
le plus utilisé était : P3 -> P15-> P22-> P1 ce qui signifie (/ -> ’ Equipes ’-> membres ’->
Fiche). Ce résultat a été confirmé pratiquement et logiquement, puisque normalement les
internautes utilisent ce site pour voir les informations des membres des équipes (les pub-
lications, etc.). En ce qui concerne les groupes obtenus, on a constaté que le nombre de
groupes varie entre un fichier et un autre mais en conservant certain groupe en commun,
et arrive à un moment où ce nombre devient constant (Figure 2). De même notre premier
résultat a prouvé que les prototypes aident à réorganiser et restructurer le site web.
Fichiers Log 319 sessions 380 sessions 3613 sessions Nb de groupes 14 groupes 20 groupes 94 groupes Nb de groupes en commun
~= 7 groupes
Le Parcours le plus intéressants
= = =
Fig. 2: Nombre de groupes.
Les résultats obtenus par cette procédure sont des prototypes qui représentent les par-
cours les plus significatifs, en quantité comme en qualité, du fichier log. Actuellement nous
examinons la possibilité de développer un système de recommandation où les prototypes
constitueront notre base de données de comportements. Nous pouvons utiliser n’importe
quelle méthode de prédiction basée sur les probabilités et/ou un modèle de prédiction
exemple n-gramme en exploitant cette base de données afin de prédire les choix futurs de
l’utilisateur et de l’orienter (figure 3).
4 Conclusion
S’il existe beaucoup d’outils d’analyse statique des visites de site web (page la plus vis-
itée, temps moyen de visite, etc.), il existe moins d’outils qui s’intéresse à la cinématique
de navigation, pourtant riche d’enseignement sur l’internaute. De plus les approches exis-
tantes essentiellement statistiques ou neuronales sont très souvent dédiées à une applica-
tion donnée et n’offrent pas la possibilité d’expliquer les résultats obtenus et comprendre
ainsi les comportements constatés. Nous avons proposé une procédure et une fonction de
similarité afin d’extraire des patrons de navigation en explicitant les critères de regroupe-
ment et de sélections des sessions. Une des particularités de notre approche est d’offrir
une certaine tolérance aux erreurs de navigation. En effet, nous faisons l’hypothèse qu’un
internaute peut chercher son chemin sur le site et par conséquent emprunter des variantes
Schedae, 2007, prépublication n° 41, (fascicule n° 2, p. 279-283).
| 283
Fig. 3: Système de recommandation.
qui ne remettent pas en cause son parcours global. Pour ne pas exclure ce parcours d’une
tendance de groupe il faut que la fonction de similarité soit capable d’assimiler des parcours
qui semblent différents. Les résultats obtenus sont satisfaisants. Réalisés sur plusieurs sites à
partir de différents fichiers journaux, ils révèlent des pratiques de navigation cohérentes par
rapport au contenu du site et aux statistiques statiques. Les perspectives actuelles portent
sur le développement d’outils de recommandation, la production de modèles d’opérateurs
de type « Internaute Virtuel » pour le test de sites et la retro-conception de ces mêmes sites.
Références[1] F. JJelinek. Statistical Methods for Speech Recognition. MIT Press, 1997.
Schedae, 2007, prépublication n° 41, (fascicule n° 2, p. 279-283).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 285
Prépublication n° 42 | Fascicule n° 2
Réduction d’un système d’équationsdifférentielles ordinaireset son implémentation
Aslı ÜrgüplüUniversité de Lille I, LIFL
59655 Villeneuve d’Ascq, France
Résumé :
Cet article présente un algorithme (implémenté sousMAPLE) permettant d’éliminer certains para-
mètres d’un système d’équations différentielles ordinaires via deux types de symétries de Lie : les
translations et les dilatations. Cette réduction est un avantage pour l’étude des aspects qualitatifs
des modèles.
Mots-clés : système d’équations différentielles ordinaires, symétrie de Lie.
1 Introduction
Dans cet article, uneméthode de réduction du nombre de paramètres d’un système d’équa-
tions différentielles ordinaires est présentée. Cette réduction restreint l’ensemble d’étude
qui accélère ainsi l’analyse du système concerné. Elle simplifie considérablement les cal-
culs symboliques. Ces genres de manipulations peuvent être faites en utilisant des outils
mathématiques comme les bases de Groebner (voir [1] et ses références) dont la complexité
est exponentelle en le nombre de variables du système. La réduction présenté se fait via
deux types de symétries de Lie : les translations et les dilatations dont le calcul se réduit à
de l’algèbre linéaire. Malgré cette restriction, une assez grande partie des symétries qu’on
rencontre dans les systèmes biologiques est recouverte. Sa complexité est polynomiale en
le nombre de variables et en degré maximum de toutes les variables de toutes les équa-
tions. D’autre part, cette méthode permet d’éliminer plus de paramètres que les anciennes
méthodes comme l’analyse dimensionnelle (voir [2, 3]).
Dans cet article, nous nous restreignons à des systèmes biologiques modélisés par des
systèmes d’équations différentielles ordinaires. Un tel systèmeΣ est composé de n variables
d’état donnés par le vecteur X = (x1, . . . , xn), dépend de m paramètres donnés également
Aslı Ürgüplü« Réduction d’un système d’équations différentielles ordinaires et son implémentation »
Schedae, 2007, prépublication n° 42, (fascicule n° 2, p. 285-288).
286 |
par le vecteur Θ = (θ1, . . . , θm) et a comme variable indépendante le temps t :
Σ
8>><>>:t = 1, Θ = 0,
X = F (t, X, Θ) .
(1)
Dans ce modèle, où K est un corps (Q, R, C etc.), F = (f1, . . . , fn) est une liste des frac-
tions rationnelles dans K = K (t, X, Θ) telle que xi = fi pour tout i dans 1, . . . , n. Les
paramètres étant des constants dans K, leur dérivé par rapport à la variable indépendante
est égale à 0 i.e. θi = 0 pour tout i dans 1, . . . , m.
2 Réduction des paramètres à base de symétries de Lie
Cette section décrit l’idée de la méthode de réduction et de son implémentation dans les
grandes lignes.
2.1 Symétries considérées :translations, dilatations et élimination des paramètres
Les symétries de Lie d’un système d’équations différentielles ordinaires peuvent être utili-
sées pour réduire le nombre de ses paramètres. Pour calculer ces symétries, il faut utiliser
des notions et des théorèmes dûs à S. Lie (voir [4, 5]). Le système déterminant ainsi obtenu
ne peut pas être résolu en toute généralité. Pour cette raison et celles citées dans la sec-
tion 1, nous nous restreignons aux deux cas particuliers des symétries de Lie : les tranlations
et les dilatations. Soient
T =X
z∈(t,X,Θ)
αz∂
∂zet S =
Xz∈(t,X,Θ)
zαz∂
∂z(2)
avec tout αz dans K, les opérateurs différentiels liés respectivement à une translation et
à une dilatation. Chaque opérateur différentiel est associé à un groupe de transformation
à 1 paramètre qui provoque l’élimination d’un paramètre du système (voir [6, 4, 7, 8]). Par
contre, si l’opérateur différentiel n’agit pas sur les paramètres, il ne peut pas être utilisé
pour la réduction.
Considérons le modèle logistique de Verhulst (voir [9]) avec prédation linéaire modé-
lisant l’évolution des populations en fonction du temps t :8>><>>:x = x (a− b x)− c x,
a = b = c = 0.
(3)
Les opérateurs différentiels
δ1 =∂
∂a+
∂
∂c, δ2 = x
∂
∂x− b
∂
∂b, δ3 = −t
∂
∂t+ a
∂
∂a+ b
∂
∂b+ c
∂
∂c(4)
sont les symétries de Lie (translations et dilatations) du système (3) grâce auxquelles le
système est réduit à :
x = x (1− x). (5)
Cette réduction est un avantage pour l’étude des aspects qualitatifs des modèles. Le
nouveau système réduit est équivalent à l’ancien avec moins de paramètres, l’équivalence
s’exprimant explicitement à l’aide des paramètres écartés.
Pour l’automatisation de la réduction du nombre de paramètres d’un système d’équa-
tions différentielles ordinaires, deux modules en MAPLE ont été créés. Le premier se charge
Schedae, 2007, prépublication n° 42, (fascicule n° 2, p. 285-288).
| 287
de la présentation des données et du calcul, le second de l’affichage et du dialogue avec
l’utilisateur.
Il existe 5 types qui correspondent à chaque notion mathématique utilisée :
– ODS : le système d’équations différentielles ordinaires ;
– InfGen : le générateur infinitésimal qui représente le système en tant que dérivation ;
– SymVectSpace : la symétrie de Lie ;
– CoordTrans : la transformation de coordonnées entre le système de départ et le sys-
tème réduit ;
– ODSTrans : la structure finale qui englobe le système de départ, le système réduit et
la transformation correspondante.
La recherche d’une translation ou d’une dilatation se fait par le calcul du noyau d’une
matrice dans Kn+m+1 équivalente à un système purement algébrique. Puisque ce système
déterminant est sous-déterminé, le calcul se fait par la spécialisation successives des vari-
ables et des paramètres dans K d’où le caractère probabiliste de la méthode.
Lorsqu’une symétrie a été trouvé, il faut réécrire le système de départ dans les nouvelles
coordonnées correspondantes. La méthode à suivre exige l’utilisation d’un pivot de Gauss
sur une matrice de taille (n + m + 1)× (n + m + 2). Une somme (pour les translations) et
un produit (pour les dilatations) suivi d’une substitution suffit à construire les éléments de
base pour le système réduit.
Le code MAPLE qui effectue tous ces calculs se trouve sur la page web www.lifl.fr/˜urgu-
plu/software_fr.php et pour les détails (création du groupe de transformations, méthodes
d’élimination, explication du code etc.) voir [10].
2.2 Avantages de la réductionLa réduction d’un système d’équations différentielles ordinaires, dont le nombre de vari-
ables d’état et de paramètres est élevé, dépasse les limites d’un calcul manuel. Le code
MAPLE construit le système réduit accompagné de la transformation des coordonnées
presque instantanément. Par exemple, la réduction de 7 paramètres d’un système à 11
variables d’état et à 23 paramètres est faite en moins de 8 secondes.
L’avantage de cette réduction réside principalement sur l’analyse du système. Par ex-
emple, lors de l’étude de la nature oscillante des systèmes biologiques, il est important
de savoir si le système oscille ou pas et si oui pour quelles valeurs de paramètres. Cette
recherche met en évidence le nombre de paramètres du système. Supposons que le sys-
tème de départ a m paramètres et le nombre de paramètres est réduit de k < m. L’ensem-
ble d’étude sur lequel nous travaillons (par exemple sur lequel nous faisons des simulations
numériques) se réduit de Rk à Rm−k. Si en plus, nous pouvons arriver à trouver la période
du système réduit, symbolique ou numérique, nous pouvons en déduire des informations
sur la période du système de départ grâce aux symétries sur le temps (voir [10] pour plus
de détails).
3 Conclusion
Dans cet article, nous avons montré une méthode de réduction du nombre de paramètres
d’un système d’équations différentielles ordinaires via deux types de symétries de Lie et
son implantation. Le but est de simplifier l’analyse du système. Par soucis de se restreindre
à de l’algèbre linéaire, parmi les symétries de Lie seules les translations et les dilatations
ont été considérées. Un des travaux actuels de l’équipe Calcul Formel consiste à élargir
toutes ces notions. Nous nous intéressons aux symétries de Lie affine (voir [8]) des systèmes
algébriques / différentiels. Le paquetage MAPLE correspondant, ExpandedLiePointSym-
Schedae, 2007, prépublication n° 42, (fascicule n° 2, p. 285-288).
288 |
metry est ainsi disponible sur la page web www.lifl.fr/˜urguplu/software_fr.php. Nous tra-
vaillons également sur la généralisation de ces résultats aux systèmes au différence.
RemerciementL’auteur est reconnaissante à ses directeurs de thèse, F. Boulier et A. Sedoglavic pour leur
aide permanente et aussi à F. Lemaire.
Références[1] François Boulier, Marc Lefranc, François Lemaire, Pierre-Emmanuel Morant, and Aslı Ürgüplü. On
proving the absence of oscillations in models of genetic circuits. In AB’07 : Proceedings of Alge-
braic Biology 2007. Springer Verlag, 2007. http ://hal.archives-ouvertes.fr/hal-00139667.
[2] Raya Khanin. Dimensional Analysis in Computer Algebra. In Bernard Mourrain, editor, ISSAC,
pages 201–208, London, Ontario, Canada, jul 2001. ACM, ACM press.
[3] P.W. Bridgman. Dimensional Analysis. Yale University press, 1922.
[4] Hans Stephani. Differential equations. Cambridge University Press, 1st edition, 1989.
[5] George W. Bluman and S. Kumei. Symmetries and Differential Equations, volume 81 of Applied
Mathematical Sciences Series. Springer-Verlag, New York, 2 edition, August 1989.
[6] Peter J.Olver. Applications of Lie Groups to Differential Equations. Springer-Verlag, 2nd edition,
1993.
[7] G. J. Reid, I. G. Lisle, A. Boulton, and A. D. Wittkopf. Algorithmic Determination of Commutation
Relations for Lie Symmetry Algebras of PDEs. ISSAC ’92 : Papers from the international symposium
on Symbolic and algebraic computation, pages 63–68, 1992.
[8] Alexandre Sedoglavic. Reduction of Algebraic Parametric Systems by Rectification of their Affine
Expanded Lie Symmetries. In AB’07 : Proceedings of Algebraic Biology 2007. Springer Verlag,
2006. http ://hal.inria.fr/inria-00120991.
[9] James D. Murray. Mathematical Biology, volume 17 of Interdisciplinary Applied Mathematics.
Springer, 2002.
[10] AslıÜrgüplü. Implantation d’une méthode de réduction du nombre de paramètres d’un système
d’équations différentielles ordinaires. Master’s thesis, Université des Sciences et Technologies de
Lille (USTL), Laboratoire d’Informatique Fondamentale de Lille (LIFL) - Équipe Calcul Formel, 2006.
Schedae, 2007, prépublication n° 42, (fascicule n° 2, p. 285-288).
| 289
Prépublication n° 43 | Fascicule n° 2
Simulation 1-D de l’évaporation forcéede l’eau dans un sous-sol poreux saturé
Mohamad MuhieddineIRISA-Rennes, UMR 6074 / Archéosciences-Rennes, UMR 6566
Édouard CanotIRISA-Rennes, UMR 6074
Ramiro MarchArchéosciences-Rennes, UMR 6566
Résumé :
Ce papier étudie la simulation de l’évaporation forcée de l’eau dans le sol en 1D par la méthode
des volumes finis. Le modèle prend en compte la conduction de la chaleur dans un sol saturé
d’eau et utilise l’accumulation de chaleur latente pour le changement de phase. Les solutions
numériques présentées utilisent un schéma explicite.
Mots-clés : changement de phase, grille fixe, volumes finis, chaleur latente.
1 Introduction
Ce travail est mené dans le cadre « L’homme et le feu, vers une compréhension de l’évo-
lution dans la maîtrise de l’énergie thermique et ses conséquences, techniques, culturelles
et paléo-environnementales ». Ce domaine de recherche a pour objectif de comprendre
les comportements humains des chasseurs-cueilleurs liés à l’utilisation du feu. Dans ce con-
texte nous nous intéressons au développement d’approches physiques et de simulations
numériques pour comprendre le mode de fonctionnement des structures de combustion
préhistoriques.
Mohamad Muhieddine, Édouard Canot, Ramiro March« Simulation 1-D de l’évaporation forcée de l’eau dans un sous-sol poreux saturé »
Schedae, 2007, prépublication n° 43, (fascicule n° 2, p. 289-292).
290 |
March et Ferreri [1] ont travaillé sur une première méthode de détermination de la durée
d’occupation de leurs campements. Dans ce cadre, ils ont travaillé sur des substrats très
divers, et ont aussi élaboré unmodèle numérique à deux dimensions en différences finies [2,
3], qui reproduit le comportement thermique expérimental de façon assez satisfaisante pour
des sols sédimentaires secs. Cependant, au cours de leur travail expérimental, March et
Ferreri ont observé un certain nombre de comportements physiques des substrats liés à
la présence d’humidité, dont la prise en compte constitue l’objectif de ce papier. Le code
présenté ici est fondé sur la discrétisation des équations en volume finis, et nous permet de
reproduire les phénomènes de diffusion thermique dans les sols en 1D.
2 Modèle physique
Notre modèle est destiné à simuler le transfert de chaleur dans le sol lorsqu’un feu est
posé à la surface de celui-ci. Ce transfert dans les milieux poreux s’effectue essentiellement
selon deux processus : la conduction à travers l’ensemble du milieux poreux sous l’effet de
gradients de température et l’advection (écoulement) des fluides qui provoque le transfert
de la chaleur qu’ils contiennent. Lemodèle d’équation d’énergie pour le transfert de chaleur
par unité de volume dans les milieux poreux pour la phase fluide est donné par :
div`λf grad Tf
´− div
“(ρC)f V Tf
”=
∂
∂t
“φ (ρC)f Tf
”+ h
`Tf − Ts
´(1)
Pour la matrice poreuse
div (λs grad Ts) =∂
∂t
`(1 − φ) (ρC)s Ts
´+ h
`Ts − Tf
´(2)
où Tf est la température du fluide, Ts est la température du solide, et h est un coefficient
de transfert de chaleur interfacial par unité de volume. On distingue d’emblée deux régions
dans le sous-sol : la première, d’indice 1, correspond au milieu saturé (matrice poreuse +
eau liquide uniquement) ; initialement, cette région humide couvre tout le domaine d’étude
et la température est constante et égale à T∞. La seconde région, d’indice 2, correspond au
milieu poreux rempli de vapeur d’eau (on néglige la présence d’air dans le sol). Dans cha-
cune de ces deux régions, les deux constituants (matrice poreuse et fluide) sont supposés
être en équilibre thermique localement.
(ρC)e
∂T
∂t+ (ρC)f V grad T = λe div (grad T ) (3)
La porosité φ, définie comme le rapport du volume des vides au volume total, est supposée
constante. Les capacités calorifiques étant additives, on utilise une valeur effective définie
par :
(ρC)e = φ(ρC)f + (1 − φ)(ρC)s
où ρ est la masse volumique et C la capacité calorifique ; les indices f et s se référent
respectivement au fluide (liquide ou gaz suivant la région) et au sol. En revanche, pour la
conductibilité thermique effective λe, on doit utiliser une moyenne harmonique :
2
λe=
φ
λf+
1 − φ
λs(4)
Pour l’écoulement du gaz dans la région 2, on peut obtenir une équation unique en com-
binant les équations de continuité, Darcy et la loi de gaz parfait :
1
P
∂P
∂t−
K
µφ
∂2P
∂x2=
1
T
∂T
∂t+
K
µφ
"1
P
„∂P
∂x
«2
−1
T
∂T
∂x
∂P
∂x
#(5)
Les conditions limites à la surface du sol x = 0, outre celles qui seront décrites à l’interface
ci-après, sont : T2 = Tfeu et Pg = Patm.
Schedae, 2007, prépublication n° 43, (fascicule n° 2, p. 289-292).
| 291
2.1 Interface entre les deux régionsOn a d’une part la continuité de la température :
T1 = T2
et d’autre part une discontinuité des flux de chaleur à cause du changement de phase qui,
d’une manière globale, s’écrit :
[φλl + (1 − φ)λs]∂T1
∂x− [φλg + (1 − φ)λs]
∂T2
∂x= φL
∂ξ
∂t(6)
où L est la chaleur latente du changement de phase par unité de volume, et ξ est la posi-
tion de l’interface. On notera que, contrairement à l’équation (4) qui utilise une moyenne
harmonique, la combinaison obtenue ci-dessus utilise une configuration des constituants
en parallèle, ce qui donne une moyenne arithmétique.
Le flux de masse de vapeur d’eau créé par l’évaporation est proportionnel au déplace-
ment de l’interface ∂ξ∂t
de l’équation (6) :
∂P2
∂x=
µg
K
ρl
ρg
∂ξ
∂t(7)
3 Méthode numérique
Tenir compte de la présence de l’eau dans le sol exige une méthode appropriée pour
simuler le processus de changement de phase. [2, 3] ont employé la technique des dif-
férences finies, basée sur la transformation des coordonnées qui permet de considérer des
grilles variables adaptées automatiquement à des frontières arbitraires, qui facilite l’appli-
cation des conditions aux bords. Ainsi plusieurs auteurs ont proposés différentes méthodes
numériques pour résoudre le problème de changement de phase, mais leurs applications
sont limitées par leurs grandes complexités.
Comparant les avantages et inconvénients de ces approches pour une simulation en volu-
mes finis, nous avons choisi une combinaison entre les schémas de grille fixe et la formula-
tion en terme d’enthalpie [4].
4 Résultats et commentaires
Les formules discrétisées obtenues ont été implémentées en Fortran. Les propriétés ther-
mophysiques utilisées dans le calcul sont celles du système (eau ; vapeur d’eau ; sol).
Les constantes et propriétés physiques utilisées (pas forcément réalistes) sont : φ = 0, 5 ;
H = 4m ; K = 0, 5m2 ; T∞ = 20C ; Tfeu = 300C. Pour l’eau : λ = 0, 6W/m.K ;
ρ = 1000 kg/m3 ; C = 4 kJ/kg.K. Pour la vapeur d’eau : λ = 2 W/m.K ; ρ = 0, 8 kg/m3 ;
C = 2kJ/kg.K ; µ = 1, 2 10−5 kg/m.s. Pour le sol : λ = 0, 003W/m.K ; ρ = 1500 kg/m3 ;
C = 1, 8 kJ/kg.K.
Les résultats de la simulation sont montrés dans les figures 1 et 2, en utilisant N = 300
noeuds de discrétisation et un pas de temps ∆t = 3, 33.10−1 s. Le temps total de simulation
est tmax = 25000 s (soit presque 7 heures).
La figure 2montre l’évolution de la température dans le sol humide par rapport au temps
et à une faible profondeur (x = 4 cm) : le palier à 100 C est dû au changement de phase.
Les oscillations de la courbe sont dues à une création non continue de gaz, provenant d’un
blocage de la diffusion de chaleur vers la région humide, à cause de la méthode employée.
De plus, l’hypothèse d’équilibre thermique local Tf = Ts n’est pas correcte.
Schedae, 2007, prépublication n° 43, (fascicule n° 2, p. 289-292).
292 |
5 Conclusions
Dans ce papier on a utilisé une méthode de volumes finis pour les problèmes de change-
ment de phase, en employant une méthode basée sur l’enthalpie. Les solutions numériques
ont été obtenues en utilisant un schéma implicite/explicite des bilans de masse, d’énergie,
pression et des équations de diffusion de température. La précision et la flexibilité de la
méthode numérique présentée ont été vérifiées en résolvant quelques problèmes simples
de changement de phase et en comparant les résultats numériques avec des solutions an-
alytiques. Malgré les oscillations obtenues, la courbe de température en fonction du temps
présente une bonne concordance avec les résultats expérimentaux disponibles.
Une re-écriture de l’ensemble du modèle est en cours, consistant à étudier séparement
la diffusion de la température pour les deux composants sol et fluide. On s’oriente aussi
vers une discrétisation adaptative (i.e. progressive au voisinage du front de changement
de phase) ; ainsi la diffusion de chaleur s’effectuera de manière continue dans le sol, même
avec un front de changement de phase mobile.
Références[1] J. C. Ferreri and R. J. March. Using numerical models to analyze archaeological simple fire structures.
In O. Bar Yosef, L. Cavalli-Sforza, R. J. March, and Piperno, editors, XIII Int. Congr. of Prehistoric Sci.,
Forli, Italia, 8-14 sept., Colloquia 5 The lower and middle Paleolithic Colloquium IX, pages 57–63,
1996.
[2] J. A. Fiora and J. C. Ferreri. Computation of steady non linear heat conduction in domains of
arbitrary shape by means of discrete coordinate transformations. Lat. Am. J. Heat Mass Transf.,
2 :29–44, 1978.
[3] G. M. Grandi and J. C. Ferreri. On the solution of heat conduction problems involving heat sources
via boundary-fitted grids. Comm. in Appl. Num. Methods, 5 :1–6, 1989.
[4] C. Bonacina, G. Comini, A. Fasano, and M. Primicerio. Numerical solution of phase-change prob-
lems. Int. J. Heat Mass Transfer, 16 :1825–1832, 1973.
Schedae, 2007, prépublication n° 43, (fascicule n° 2, p. 289-292).
| 293
Prépublication n° 44 | Fascicule n° 2
Un algorithme de recherche disperséepour le problème MAX-SAT
Dalila BoughaciLSIS, UMR CNRS 6168, CMI
39 rue Frédéric Joliot-Curie, 13453 Marseille
LRIA-USTHB
BP32 El-Alia, Beb-Ezzoaur, Algiers, 16111
Résumé :
Dans ce papier, nous proposons une variante de recherche dispersée (SSV) pour le problème
MAX-SAT. Notre approche est basée sur la diversité et la qualité pour choisir une collection de
solutions qui participent à la phase de reproduction pour donner une descendance. L’approche
utilise un opérateur de combinaison spécifique au problèmeMAX-SAT pour générer de nouvelles
solutions qui sont améliorées par une recherche locale stochastique (SLS). Plusieurs expérimen-
tations numériques sont réalisées sur des instances MAX-SAT dans le but de tester et de prouver
l’efficacité de notre approche
Mots-clés : satisfiabilité, MAX-SAT, recherche dispersée, recherche locale, opérateur de
combinaison, diversification, intensification.
1 Introduction
Le problème SAT de la logique booléenne est le premier problème démontré NP-Complet
[1]. C’est la satisfiabilité d’une formule propositionnelle donnée sous forme clausale : con-
jonction de clauses, où chaque clause est une disjonction de littéraux, et un littéral est une
variable ou sa négation. Le problème est de décider alors s’il y a une affectation de valeurs
de vérité aux variables propositionnelles qui rend la formule vraie. Dans le cas où cette
affectation n’existe pas, l’ensemble de clauses est dit non satifaisable et une variante du
problème appelée MAX-SAT est introduite. Cette variante consiste à chercher une affecta-
tion de valeurs de vérité qui maximise le nombre de clauses satisfaites.
Pour contribuer à la résolution du problème MAX-SAT par les approches évolution-
naires, nous proposons, tout d’abord, une nouvelle stratégie de sélection qui se base sur
la diversité et la fitness pour choisir une collection de solutions qui participent à la phase
Dalila Boughaci« Un algorithme de recherche dispersée pour le problème MAX-SAT »Schedae, 2007, prépublication n° 44, (fascicule n° 2, p. 293-297).
294 |
de reproduction pour donner une descendance. Ensuite, nous utilisons un opérateur de
combinaison spécifique au problème MAX-SAT pour générer de nouveaux enfants qui sont
améliorés par une recherche locale stochastique (SLS). Les trois composantes proposées
ont été incorporées dans un algorithme de recherche dispersée, et ce pour résoudre le
problème MAX-SAT.
2 Une variante de recherche dispersée pour MAX-SAT
La variante de recherche dispersée proposée pour résoudre le problèmeMAX-SAT démarre
d’une population variée P de solutions. Ensuite, une collection B de solutions est choisie
parmi la population courante pour participer à la phase de reproduction et produire d’autres
solutions. La collection B contient, d’une part, un certain nombre B1 de bonnes solutions
choisies selon leur fitness. D’autre part, un certain nombre B2 de solutions sont tirées de la
population restante P −B et rajoutées à la collection B pour la compléter. Les B2 solutions
sont les solutions les plus éloignées des meilleures solutions de B, elles sont appelées : so-
lutions diversifiées. La diversité d’une solution est mesurée par la distance de Hamming. La
nouvelle stratégie de sélection que nous proposons aide l’algorithme à maintenir à chaque
génération une population diversifiée et de meilleure qualité. Après avoir choisi un ensem-
ble de solutions bonnes et diversifiées, la phase de reproduction est lancée. Une fois que
deux parents sont choisis, leurs chromosomes sont combinés pour construire un enfant. La
combinaison utilise un opérateur spécifique au problèmeMAX-SAT permettant de restaurer
la consistance des clauses falsifiées simultanément par les parents. L’opérateur de combi-
naison essaie de minimiser le nombre de clauses falsifiées par le fils résultant des parents.
Il combine deux parents appartenant à la collection B. Le nouveau fils est ensuite amélioré
par la recherche locale stochastique basée sur Walksat [2], et rajouté à la collection de solu-
tions dans le cas où il améliore la qualité ou la diversité de la collection courante. Autrement,
il sera écarté. Ce processus est réitéré pour un certain nombre de générations fixé d’une
manière empirique.
L’algorithme de la variante de recherche dispersée pour le problème MAX-SAT est
donné dans la procédure 1.
3 Résultats expérimentaux
Dans le but de valider notre approche, des tests ont été effectués sur différents problèmes
MAX-SAT. Dans nos expériences, nous avons considéré des instances de MAX-2-SAT et
MAX-3-SAT produites par Borchers et al 1. En plus de ces instances, nous avons considéré
des instances de la librairie de SATLIB 2.
Nos algorithmes ont été implémentés en C sous Linux et sous la machine Pentium-IV
2.8 GHZ, 1GB de RAM.
Afin de bien évaluer la qualité des solutions trouvées, nous avons implémenté les algo-
rithmes de comparaison suivants :
– GA : est un algorithme génétique standard utilisant un croisement uni-point, une
mutation standard et sans recherche locale ;
– SLSA : est la recherche locale stochastique basée sur Walksat, exécutée toute seule.
1. http ://www.nmt.edu/˜borchers/maxsat.html.
2. http ://www.cs.ubc.ca/˜hoos/SATLIB/benchm.html.
Schedae, 2007, prépublication n° 44, (fascicule n° 2, p. 293-297).
| 295
Algorithme 1: Procédure 1 : algorithme de la recherche dispersée pour MAX-SAT
Entrée : une instance MAX-SATSortie : une affectation booléenne maximisant le nombre de clauses satisfaitesdébut
Générer une population initiale variée P ;
tant que le nombre maximum de générations n’est pas atteint faire
Sélectionner un ensemble de référence B de P ;
tant que une nouvelle solution est introduite dans B faire
Pour chaque deux solutions deB, utiliser l’opérateur de combinaison pour
produire une nouvelle solution V ;
Améliorer la nouvelle solution en utilisant la SLS ;
si V améliore la qualité de B alors
Ajouter V aux B1 meilleures solutions ;
Enlever de B la mauvaise solution ;sinon
si V améliore la diversité de B alors
Ajouter V aux B2 solutions dispersées ;
Enlever de B la solution la moins dispersée ;
Régénérer une nouvelle population P ;
retourner la meilleure solution trouvée.fin
Les paramètres de la SSV : la taille de la population =100, la taille de l’ensemble de référence B1 = 5,B2 = 5. L’étape de la recherche locale est lancée pour 60s pour chaque appel, wp = 0.3 et dp = 0.6..Les paramètres de la GA : la taille de la population =100, le taux de croisement (uni-point)= 0.6 et le taux dela mutation = 0.1. Les paramètres de la SSLA : wp = 0.3 et dp = 0.6.. Un temps total de 300 seconde aété fixé pour les trois méthodes, et ce pour mesurer d’une manière équitable la performance de chacune.
Instances SAT SSV GA SLSA(#Vars/#Cls) sol time sol time sol timepar16-5(1015/3358) Y 1 17.87 485 171.81 3 169.2par32-1-c (1315/5254) Y 6 185.04 615 142.7 9 273.54par32-5 (3176/10325) Y 8 54.03 1575 157.5 17 295.5ais12 (265/5666) Y 0 97.26 642 280.18 1 2.03Mat25 (588/1968) N 3 181.81 270 202.15 5 119.15Mat26 (744/2464) N 3 251.62 335 228.18 10 127.93color-10-3 (300/6475) Y 0 61,84 167 142.11 0 85.46color-18-4 (1296/95904) Y 15 23.75 273 22.26 31 168.82glassy-v450-(450/2100) Y 8 163.39 197 197.2 10 160.25hgen2-v500-a (500/1750 Y 1 181.45 171 90.75 3 140.92difp_19_0 (1201/6563) Y 14 20.56 628 98.54 18 240.06difp_19_3 (1201/6563) Y 9 200.37 637 240.07 19 284.00difp_19_99 (1201/6563) Y 10 139.17 619 116.15 15 249.59f1000 (1000/4250) Y 3 166.56 450 255.10 7 239.82f2000 (2000/8500 Y 5 215.01 958 146.34 24 231.42f600 (600/ 2550) Y 0 12.20 236 208.26 3 254.21jnh208 (100/800) N 1 0.5780 27 93.57 1 5.25jnh209 (100/800) Y 0 0.0790 24 99.43 0 2.23p2300 (150/300) N 4 0.0160 40 297.37 4 0.016p2450 (150/450) N 22 0.0160 69 209.93 22 0.063p3400 (50/400) N 11 0.01 24 51.34 11 0.141p3450 (50/450) N 15 0.01 29 87.32 15 0.188p3750 (150/ 750) N 5 0.03 52 288.23 5 46.70
Tab. 1: Comparaison entre SSV, GA et SLSA.
Schedae, 2007, prépublication n° 44, (fascicule n° 2, p. 293-297).
296 |
Les paramètres de FlipGA sont : une population de 10 solutions, un nombre maximum de croise-ment de 102 et un taux de mutation = 0.9. Les paramètres de GASAT sont : une population de100 solutions, une sous population de 15 solutions, un nombre maximum de croisement est 103 etune recherche taboue comme technique locale d’amélioration avec 104 itérations pour chaque appel.
Instances GASAT FlipGA SSV
(#Vars/#Cls) fc sec fc sec fc sec
f1000(1000/4250) 2.30 45 8.90 47 3 166.56
f2000(2000/8500) 7.35 97 16.90 122 5 215.01
par32-5-c(1711/5722) 19.60 129 27.40 77 11 142.72
par32-5(6458/13748) 41.25 813 50.65 290 17 295.5
Mat25.shuffled(588/1968) 7.60 161 10.10 28 3 181.81
Mat26.shuffled(744/2464) 8.00 749 12.89 44 3 251.62
difp_19_0(1201/6563) 84.25 661 87.60 109 14 20.56
difp_19_99(1201/6563) 81.40 658 87.95 107 10 139.17
glassy-a(399/1862) 5.00 18 7.60 16 6 18.57
glassy-b(450/2100) 8.95 86 11.45 21 8 163.39
hgen2-a(500/1750) 1.40 22 6.24 16 5 22.77
hgen2-b(500/1750) 7.00 1.80 22 18 1 181.45
Tab. 2: Comparaison avec GASAT et FlipGA.
Dans la table 3 3, pour chaque méthode, nous donnons le meilleur nombre de clauses
violées dans la meilleure solution trouvée (sol) et le temps de calcul en seconde nécessaire
pour atteindre cette solution (time).
À partir de la Table 3, on remarque que la recherche dispersée SSV trouve l’optimum
pour certaines instances, et pour les autres l’écart à l’optimum n’est pas très grand. Les résul-
tats trouvés par SSV et SLSA sont nettement meilleurs que ceux fournis par l’algorithme GA.
La version traditionnelle de l’algorithme génétique (GA) échoue à trouver une solution aux
différentes classes de problèmes de MAX-SAT. Ceci confirme la convergence prématurée
de l’algorithme (GA).
Les résultats trouvés par la SSV sont nettement meilleurs que ceux fournis par le GA et la
SLSA. Notre SSV réussit à trouver la solution optimale pour quelques classes de problèmes
(MAX-2-SAT, MAX-3-SAT, classe de jnh, classe d’ais, f600, color10-3). Pour les autres classes,
la SSV trouve des solutions satisfaisantes en un temps raisonnable.
Dans le but de tester et de prouver l’efficacité de notre approche, une étude compar-
ative avec quelques algorithmes de l’état de l’art concernant MAX-SAT à savoir FlipGA [3]
et GASAT [4]. est établie dans ce papier.
Comparant notre approche à FlipGA, SSV surpasse clairement FlipGA pour toutes les
instances MAX-SAT. Comparant notre approche à GASAT, la table 3 montre une légère
performance en faveur de notre variante SSV. SSV produit de meilleures solutions sur les
problèmes de parity, de Mat* et de difp* comparé à GASAT qui s’exécute mieux sur des
instances f1000 et glassy*.
L’efficacité de notre approches est expliquée par la bonne combinaison entre la diver-
sification et l’intensification ce qui mène l’algorithme à explorer efficacement l’espace de
recherche et localiser une bonne solution.
3. vars (respectivement cls) est le nombre de variables (respectivement de clauses) de l’instance MAX-SAT.SAT : Y signifie que l’instance est satisfaisable. N signifie que l’instance est insatisfaisable.
Schedae, 2007, prépublication n° 44, (fascicule n° 2, p. 293-297).
| 297
Références[1] M. R. Garey and D. S. Johnson. Computers and Intractability, A Guide to the Theory of NP-
Completeness. W. H. Freeman, 1979.
[2] B. Selman, H. A. Kautz, and B. Cohen. Noise strategies for improving local search. In Proceedings of
the Twelfth National Conference on Artificial Intelligence (AAAI’94), pages 337–343, Seattle, 1994.
[3] E. Marchiori and C Rossi. A flipping genetic algorithm for hard 3-SAT problems. In Proceedings of
the Genetic and Evolutionary Computation Conference, volume 1, pages 393–400. Morgan Kauf-
mann, 13-17 1999.
[4] F. Lardeux, F. Saubion, and J.K. Hao. Gasat : A genetic local search algorithm for the satisfiability
problem. Journal of Evolutionary Computation, 14(2) :223–253, 2006.
Schedae, 2007, prépublication n° 44, (fascicule n° 2, p. 293-297).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
| 299
Prépublication n° 45 | Fascicule n° 2
Un nouveau cadre pour la révision localede croyances
Omar DoukariLaboratoire des Sciences de l’Information et des Systèmes de Marseille
Résumé :
Dans cet article, nous proposons un nouveau cadre pour la représentation et la révision locale
des croyances en adaptant la propriété de confinement définie dans un contexte spatiale [1].
Cette propriété limite les effets de la qualité dans le sens où une incohérence ne peut avoir,
d’une manière infinie, d’influence sur d’autre informations, mais se limite à une « région d’effet
local » qui dépend de la nature des données. Par exemple, en météorologie, l’effet est limité
à une échelle continentale ; dans une application de cadastre, à une échelle de district,. . . Elle
dépend également de la structure ou topologie de l’information et des contraintes définies sur
cette structure.
Mots-clés : révision de croyances, contraction de croyances, hypothèse de confinement.
1 Introduction
Le problème de la révision est connu pour être un problème difficile, et il n’existe pas d’ap-
proches de révision réellement efficaces pouvant traiter des applications réelles à volume
important de données [2]. Dans cet article, nous allons définir une approche de revision
locale syntaxique en se basant sur la propriété de confinement qui limite les effets de la
qualité dans le sens où une incohérence ne peut avoir, d’une manière infinie, d’influence
sur d’autre informations.
Après un bref rappel des notions sur la kernel contraction, dans la section 2, nous con-
sacrons la troisième section à la définition de notre nouveau modèle C-structure. A la fin,
nous présentons notre opérateur de révision basé sur ce modèle.
Notation : Nous désignons par L le langage de la logique propositionnelle défini sur un
ensemble de variables (atomes) propositionnelles V et les connecteurs habituels (¬, ∨, ∧,
→,↔). Un littéral est une variable v ∈ V ou sa négation ¬v. Une clause est une disjonction
(∨) de littéraux et L(α) représente l’ensemble d’atomes composant la clause α. Si X un
ensemble de formules alors Cn(X) est l’ensemble des conséquences logiques de X. Ainsi
Omar Doukari« Un nouveau cadre pour la révision locale de croyances »
Schedae, 2007, prépublication n° 45, (fascicule n° 2, p. 299-302).
300 |
X est une théorie ssi X = Cn(X). T ∗ A est la révision de T par A, T − A est la contrac-
tion de T par A et enfin, T + A est l’opération de l’expansion de T par A, elle est égale à
Cn(T ∪ A). Construire T ∗A c’est contracter T par ¬A puis ajouter A. Plus formellement,
cette construction s’énonce par l’identité de LEVI : T ∗A = (T −¬A)+A. Un sous-ensemble
T de L est un ensemble de croyances ssi T = Cn(T ), et BT est une base de l’ensemble de
croyances T ssi BT est un sous-ensemble fini de T et Cn(BT ) = T [3].
2 Contraction selon Hansson
La contraction d’un ensemble de clauses A par α selon la Kernel contraction introduite par
Hansson [4] consiste à sélectionner les sous-ensembles de A qui contribuent effectivement
à impliquer α, ensuite enlever un échantillon, en utilisant une fonctioin d’incision, de ces
sous-ensembles pour que le résultat n’implique pas α.
Définition 1 [4] Soit A un ensemble de clauses définies dans L et α une clause. L’ensembledes sous-ensembles de A qui contribuent effectivement à impliquer α noté par A⊥α est telque B ∈ A⊥α ssi : (i) B ⊆ A (ii) α ∈ Cn(B) (iii) si B′ ⊂ B alors α /∈ Cn(B′). A⊥α est appelél’ensemble des α-kernels de A.
La fonction d’incision calcule un échantillon de l’ensemble des α-kernels de A.
Définition 2 [4] Une fonction d’incision σ pour A est une fonction telle que pour touteclause α : (i) σ(A⊥α) ⊆
⋃(A⊥α), (ii) Si B 6= ∅ et B ∈ A⊥α, alors B ∩ σ(A⊥α) 6= ∅.
Donc la kernel contraction est définie comme suit :
Définition 3 [4] SoitA un ensemble de clauses et σ une fonction d’incision pourA. La kernelcontraction −σ pour A est définie comme suit : A−σ α = A \ σ(A⊥α).
3 Le modèle C-structure
Une C-structure est basée sur la propriété de confinement de l’erreur dont l’idée est : « Si
un sous-ensemble de clauses ne participe à aucune incohérence pour un ensemble de vari-
ables à l’intérieur d’un domaine spatial d’une taille jugée suffisante, alors on suppose qu’il
ne participe à aucune incohérence pour des variables situées au-delà de ce domaine spa-
tial » [1]. Dans cette section, nous généralisons cette propriété pour la rendre utilisable en
dehors de l’espace « concret ». Elle peut s’appliquer dès lors qu’on est capable de construire
une notion de voisinage telle que nous allons la définir. Une C-structure découpe le langege
L en un ensemble de noyaux, où chaque noyau a une couche d’atomes qui l’entoure dite
couverture du noyau. Cette dernière exprime la notion de l’inconsistance locale (confine-
ment) et permet un certain degré de chevauchement entre les différents sous-langages 1.
Notre hypothèse de travail s’appelle l’hypothèse de confinement, elle porte sur la « taille »
des sous-ensembles minimaux inconsistants de clauses (ou MUS).
Nous définissons un ensemble de noyaux de L comme suit :
Définition 4 T est une théorie sur un langage L, on dit que L1, ..., Ln un ensemble denoyaux de L ssi L =
⋃n
i=1Li et ∀i, j ∈ 1, ..., n, i 6= j, Li ∩ Lj = ∅. En plus ∃(A1, ..., An) ∈
L1 × ...× Ln et Cn(A1, ..., An) ⊆ T .
Pour ordonner les atomes de L, on définit une relation de pertinence.
Définition 5 Soit B un ensemble de clauses, deux atomes p, q sont directement pertinentspar rapport à B, noté par R(p, q, B), ssi ∃α ∈ B tel que p, q ∈ L(α). Deux atomes p, q sontk-pertinents par rapport à B si ∃p0, p1, ..., pk+1 ∈ L tel que : (i) p0 = p, (ii) pk+1 = q et(iii) R(pi, pi+1, B), pour i ∈ 0, ..., k. En plus, on dit que deux atomes p, q sont voisins ssi(p, q) ∈ R∗ (R∗ représente la fermeture transitive de R).
1. Dans une C-structure un sous-langage désigne un noyau plus sa couverture.
Schedae, 2007, prépublication n° 45, (fascicule n° 2, p. 299-302).
| 301
Pour quantifier l’inconsistance on a besoin de définir une distance basée sur la relation de
pertinence précédente.
Définition 6 Soit deux atomes voisins p, q ∈ L, la distance entre p, q, notée par dist(p, q),est définie comme suit : dist(p, q) = m ⇔ (p, q) ∈ Rm ∧ (p, q) /∈ Rm−1. Rm est telle que :∀pi, pj ∈ L, (pi, pj) ∈ Rm ⇔ ∃p1, p2, ..., pm ∈ L tel que piRp1, p1Rp2, ..., pm−1Rpm et pmRpj .
Donc, nous définissons la couverture d’épaisseur k d’un noyau Li comme suit :
Définition 7 Soit L1, ..., Ln un ensemble de noyaux de L. On dit que Couvk(Li) est lacouverture d’épaisseur k de Li ssi : (i) Couvk(Li) ⊆ L, (ii) Couvk(Li) ∩ Li = ∅ et (iii) ∀p ∈Couvk(Li), ∃q ∈ Li tel que : dist(p, q) ≤ k.
Maintenant, nous définissons une C-structure comme suit :
Définition 8 L’ensemble (L1, Couvk(L1), T1), ..., (Ln, Couvk(Ln), Tn) est uneC-structuresi : L1, ..., Ln est un ensemble de noyaux de L, Couvk(L1), ..., Couvk(Ln) l’ensembledes couvertures correspondantes et ∀Ti, Ti = Cn(Γi) tel que Γi ∈ Li ∪ Couvk(Li) (la basede croyances de Ti définie sur Li ∪ Couvk(Li)). Nous appellons
⋃n
i=1Γi la partie informa-
tionnelle de la C-structure.
Nous mesurons la taille des MUS par la relation de distance définie ci-dessus.
Définition 9 La taille d’un MUS M est égale à la plus grande distance entre les atomescomposant les différentes clauses de M .
À partir des définitions précédentes, l’hypothèse de confinement est la suivante :
Définition 10 Soit (L1, Couvk(L1), T1), ..., (Ln, Couvk (Ln), Tn) uneC-structureC définiesur L. L’hypothèse de Confinement consiste à dire que : ∀M un MUS dans C, la taille deM est inférieure ou égale à k. Par conséquent : si ∀Li, (Li ∩ Ti) est consistant et Ti estconsistante aussi, alors C est globalement consistante (c’est à dire
⋃n
i=1Ti est consistante).
Exemple 1 Supposons que L = A, B, C, D, E, F, G, H, I, J, K, L, et une arbitraire théorieT , définie dans L, axiomatisée par l’ensemble ¬A, A ∨ B,¬B, B → C, C → (D ∨ E), E ↔F, F → G,¬G ∨H, I → H,¬I, J → I, J, K ∨ L ∨ J. L’ensemble A, B, C, D, E, F,G, H, I, J , K , L est un ensemble de noyaux de L (il n’est pas unique), et l’ensem-ble de couvertures correspondantes, avec k = 0, est égale à : D, E, C, G, F, J, I.Ainsi notre C-structure est : (A, B, C, D, E, Cn(¬A, A ∨ B,¬B, B → C, C → (D ∨E))), (D, E, F, C, G, Cn(C → (D∨E), E ↔ F, F → G)), (G, H, I, F, J, Cn(F →G,¬G∨H, I → H,¬I, J → I, J)), (J, K, L, I, Cn(¬I, J → I, J, K∨L∨J)). Dans cetexemple, nous avons deux MUS qui sont : MUS1 = ¬A, A∨B,¬B dont la taille est égaleà 0 (dist(A, B) = 0, puisque A, B sont directement pertinents) et MUS2 = ¬I, J → I, Jdont la taille est égale à 0 (dist(I, J) = 0).
4 Révision d’une C-structure
Notre opération de révision locale d’une C-structure consiste à une contraction locale suivie
d’une expansion.
4.1 Contraction localeLa contraction locale consiste à rendre une sous-base de croyances correspondante à un
sous-langage de L n’implique pas α. Donc on considère seulement l’ensemble des α-
kernels appartenant à cette sous-base de croyances et on utilise une fonction d’incision
pour sélectionner les clauses de l’ensemble des α-kernels à supprimer.
Définition 11 Soient (L1, Couvk(L1), T1), ..., (Ln, Couvk(Ln), Tn) uneC-structureC défi-nie sur L et σ une fonction d’incision. La contraction locale de C par α, notée par −σ , estdéfinie comme suit : C−σα = C \ σ(Bi⊥α). Tel que Cn(Bi) = Ti où Li ∩ L(α) 6= ∅.
On peut être confronté au cas particulier où la clause α que l’on veut contracter de C inter-
secte plusieurs Li. Dans ce cas, quel est le sous-langage de L à choisir pour la contraction
locale ?
Schedae, 2007, prépublication n° 45, (fascicule n° 2, p. 299-302).
302 |
Proposition 1 Soient (L1, Couvk(L1), T1), ..., (Ln, Couvk(Ln), Tn) uneC-structureC défi-nie sur L, et −σ l’opérateur de la contraction locale déterminée par la fonction d’incisionσ. Soient α une clause et Li, ..., Lj un sous-ensemble de L1, ..., Ln tel que : ∀Li′ ∈Li, ..., Lj on a Li′ ∩ L(α) 6= ∅. Donc : C−σα = C \ σ(Bi⊥α) = C \ σ(Bi+1⊥α) = ... =C \σ(Bj⊥α). Tel que Bi, Bi+1..., Bj sont les sous-bases de croyances correspondantes auxsous-théories Ti, Ti+1..., Tj respectivement.
Les résultats suivants montrent que notre contraction locale est équivalente à la kernel con-
traction :
Lemme 1 Si (L1, Couvk(L1), T1), ..., (Ln, Couvk (Ln), Tn) la C-structure C définie sur L,est consistante et l’hypothèse de confinement est valide alors, en considérant seulementla partie informationnelle de C, on trouve : C⊥α = Bi⊥α tel que Bi est la sous-base declauses correspondante à la sous-théorie Ti de C tel que Li ∩ L(α) 6= ∅.
Corollaire 1 Si C = (L1, Couvk(L1), T1), ..., (Ln, Couvk(Ln), Tn) est consistante, (−) estl’opérateur de la kernel contraction et σ est une fonction d’incision alors sous réserve del’hypothèse de confinement on a : C−α = B−α tel que − est l’opérateur de la contractionlocale et B est la partie informationnelle de C.
Ce corollaire montre que lorsqu’on contracte une base de croyances consistante B, définie
sur un langage L, par une clause α on peut ne pas considérer les sous-langages de la C-
structure correspondante à B qui ne sont pas pertinents à α 2, parce que l’hypothèse de
confinement qu’on a émise nous confirme la limitation de la taille des α-kernel de B à une
taille inférieure ou égale à k.
Enfin, notre opération de révision locale de croyances est définie comme suit :
Définition 12 Soit C une C-structure définie sur L, soit − l’opérateur de la contractionlocale. La révision locale (∓) consiste à contracter C par ¬α ensuite étendre le résultat parα :C ∓ α = (C−¬α) ∪ α.
Corollaire 2 Soient ∗ une opération de la kernel révision (non-locale), sous réserve de l’hy-pothèse de confinement on a : C ∓ α = B ∗ α. Tel que C est une C-structure, B sa partieinformationnelle et α une clause.
Ce dernier corollaire montre que notre opérateur de révision locale est équivalent à celui
défini par Hansson [4] pour une opération de révision non-locale.
5 Conclusion
Dans cet article, nous avons commencé par définir un découpage des bases de croyan-
ces en utilisant comme information externe la taille limitée des MUS dans ces dernières.
Ainsi nous avons pu définir un opérateur de révision locale équivalent à celui défini par
Hansson [4]. Dans les travaux à venir nous avons l’intention d’effectuer une étude détaillée
de cet intéressant nouveau modèle pour la représentation et la révision de croyances en
étendant notre cadre de travail à celui de la fusion de croyances.
Références[1] O Doukari and R. Jeansoulin. Space-contained conflict revision, for geographic information. In 10th
AGILE International Conference on Geographic Information Science, Aalborg (Danmark), march
2007.
[2] e. Würbel, O. Papini, and R. Jeansoulin. Revision : an application in the framework of gis. In
7th International Conference on Principles of Knowledge Representation and Reasoning, KR’2000.,
pages 505–516, Breckenridge, Colorado, USA, avril 2000.
[3] S. O. Hansson. Reversing the levi identity. Philosophical Logic, 22 :637–639, 1992.
[4] S. O. Hansson. Kernel contraction. J. Symb. Logic, 59(3) :845–859, 1994.
2. Un sous-langage L′i n’est pas pertinent à une clause α ssi Li ∩ L(α) = ∅ tel que Li le noyau corres-
pondant à L′i.
Schedae, 2007, prépublication n° 45, (fascicule n° 2, p. 299-302).
303
Samya Sagar, Mohamed Ben Ahmed« Une proposition d’extension de GML pour un modèle générique d’intégration de données spatio-temporelles hétérogènes »
Schedae
, 2007, prépublication n°46, (fascicule n°2, p. 303-307).
Schedae
,
2007
Une proposition d’extension de GMLpour un modèle générique d’intégration de données spatio-temporelles hétérogènes
Samya Sagar, Mohamed Ben Ahmed
Laboratoire de Recherche en Informatique Arabisée et Documentique Intégrée (RIADI)
École Nationale des Sciences de l’Informatique
Campus Universitaire de la Manouba, 2010 La Manouba, Tunis, Tunisie
[email protected], [email protected]
Résumé :
Les données géographiques sont un ensemble d’informations renseignant sur les objets obser-
vés à la surface terrestre, ces données sont définies par leur position géographique, leur forme,
leur description ainsi que leur évolution dans le temps. Ces données sont très complexes à
modéliser et la multi-représentation qui est intrinsèque à ce type de données, est généralement
négligée dans les modèles de données existants. Nous proposons dans cet article une solution
pour répondre à certains problèmes décisionnels s’appuyant sur des sources hétérogènes de
l’environnement géographique ; une solution basée sur un modèle adapté à la multi-représenta-
tion des données géographiques et ce, en proposant une extension à GML. Cette extension per-
met à notre modèle d’être générique, en ce sens qu’il est destiné à unifier l’hétérogénéité des
représentations des données spatio-temporelles en vue de les intégrer dans une plate-forme
médiatrice entre ces données et des applications dédiées.
Mots-clés :
modèle générique, données spatio-temporelles, GML étendu, multi-
représentation
.
1
Introduction
Vu la complexité des entités spatiales, plusieurs interprétations ou représentations d’une
entité peuvent être définies et maintenues par diverses applications. Il est donc nécessaire
de définir des modèles de données spatiales puissants pour permettre une gestion cohé-
rente de plusieurs représentations des mêmes entités spatiales et la gestion d’objets spa-
tiaux dynamiques. L’objectif de la multi-représentation est de stocker ces différentes
représentations potentielles d’un même phénomène dans une base de données unique.
Les modèles capables d’atteindre un tel objectif et d’assurer le maintien de plusieurs
représentations des mêmes données sont appelés des modèles multi-représentation [1].
Prépublication n° 46 Fascicule n° 2
304
Schedae
,
2007, prépublication n°46, (fascicule n°2, p. 303-307).
Nous proposons dans cet article un modèle générique de données spatio-temporelles
qui soit adapté au stockage de représentation multiple des objets géographiques.
2 Travaux liés à la multi-représentation spatiale
Pour la gestion de la multi-représentation dans les bases de données spatiales, certaines
solutions ont été proposées, telles que :
– Solution à base de vue ; Dans les systèmes d’information géographique, la notion de
vue est étendue à la notion de vue spatiale pour permettre la représentation des don-
nées géographiques selon différents points de vue. La composante spatiale des élé-
ments des vues spatiales doit être la même que celle des éléments de base dont la
vue est dérivée. Par conséquent, le mécanisme de vue spatiale n’est pas approprié si
la nouvelle représentation spatiale souhaitée n’est pas ‘copiable’d’une représentation
déjà connue [2]. Dans ce cas, la nouvelle représentation ne peut que s’ajouter à l’exis-
tante pour constituer une représentation de base ;
– Solution à base d’ontologie ; Les ontologies spatiales sont utilisées pour représenter à
un niveau d’abstraction élevé des concepts spatiaux en termes génériques [3, 4].
Comme pour la solution à base de vue, cette solution ne garantit pas la gestion effi-
cace de la propagation efficace des mises à jour ;
– Solution à base de rôle : Le concept de rôle a été utilisé dans les bases de données
classiques pour modéliser les différents rôles, facettes ou aspects d’une entité [5].
Cette notion est très peu utilisée par la communauté des SIGs.
3 Description de la solution proposéepour la multi-représentation spatiale
La solution, que nous proposons dans cet article, est une solution à base d’intégration.
L’intégration de plusieurs bases de données géographiques décrivant un même espace
géographique consiste à produire [6], une description unifiée des schémas des bases de
données d’origine (le schéma fédéré), des règles de traduction pour la migration des don-
nées et des liens entre différentes représentations d’objets qui modélisent les mêmes enti-
tés réelles (exemple : appariement géométrique). L’objectif est de rendre interopérable
des bases de données initialement indépendantes pour permettre une réutilisation des
données mémorisées dans chacune de ces bases de données. La base de données ainsi
construite par intégration peut être considéré comme une base de données multi-repré-
sentation. Le schéma fédéré décrit pour chaque entité réelle une représentation unifiée de
toutes ses représentations possibles.
Le modèle ainsi proposé est un modèle de représentation unique et générique pour
divers types de données géographiques et ce, en proposant en plus de la prise en compte
de la dynamique des données géo-référencées une
quadruple
flexibilité : une flexibilité
géographique
, une flexibilité
temporelle
, une flexibilité
sémantique
et une flexibilité
graphiques
.
4 Modèle générique : GML-étendu
Le modèle que nous proposons se base sur l’extension du standard GML pour prendre en
compte la multi-représentation. Nous allons ajouter à ce format les éléments qui nous sem-
blent nécessaires pour le stockage de données spatio-temporelles avec leurs représenta-
tions multiples, à sa
v
oir ; la sémantique, la temporalité, la géométrique et le graphique. La
305
Schedae
,
2006, prépublication n°46, (fascicule n°2, p. 303-307).
version de GML qui sera utilisée est la version 3.0 7]. Comme tout schéma d’application,
notre modèle utilise des classes prédéfinies de GML. Dans notre modèle nous introduisons
deux
classes d’entités qui héritent de la classe
AbstractFeatureCollection
, illustrées dans la
figure 1. La première classe est la collection générique qui inclut toutes les autres entités
qu’on décrit dans notre modèle ; cette classe a été appelée
country
. La deuxième classe
est la classe
geoObject
, classe qui correspond dans notre modèle aux représentations des
objets géographiques du monde réel.
Il est une bonne pratique dans la création de schémas d’application en GML de
restreindre le type d’entités dont les instances peuvent être des membres d’une certaine
collection d’entités. Ainsi, un « filtre d’entités » sous forme d’une association est introduit
entre la classe
country
et la classe
geoObject
à l’aide de la classe d’association
coun-
tryMember
.
De même un filtre d’entités est ajouté pour relier les quatre classes ;
semantic
, g
raphic,
g
eometr
y et
time,
à la classe
geoObject
par une classe d’association qui est la classe
geoObjectMembe
r. Cette relation est de type 1:1, ce qui veut dire que toute entité de la
classe
geoObject
est associée à exactement une entité de quatre entités : une à la classe
semantic
, une à la classe
graphic
, une à la classe
geometr
y et une à la classe
Time
. Les
classes
semantic
, g
raphic,
g
eometr
y et
time
représentent respectivement les quatre volets
de la multi-représentation à savoir le volet sémantique, le volet graphique, le volet
Pour définir toutes les sémantiques attachées à un objet géographique dans le con-
texte d’une application donnée, nous avons introduit la classe
category
qui hérite de la
classe
String
. La sémantique d’un objet géographique est composée de toutes les catégo-
ries auxquelles cet objet peut s’attacher, d’où la relation de composition d’une multiplicité
de type un (1) à plusieurs (1…*).
La partie graphique de la représentation d’un objet géographique est composée de
tous les symboles qui peuvent être utilisés pour représenter graphiquement l’objet sur une
carte. D’où, l’introduction de la relation de composition entre la classe g
raphic
et une
classe
symbol
, dérivée de la classe
String
, dont la multiplicité est de type un (1) à plusieurs
(1…*).
Fig. 1 : Filtre d’entités entre les classes
contry
et
geoObject
.
306
Schedae
,
2007, prépublication n°46, (fascicule n°2, p. 303-307).
Pour la partie géométrique de la représentation d’un objet géographique, nous nous
sommes fortement inspiré du modèle MADS [8],
qui permet de définir des types abstraits
spatiaux sous forme d’une hiérarchie composée de géométrie simple et de géométrie
complexe. D’où la relation de composition entre la classe g
eometry
et les deux nouvelles
classes
simple
Geometry
et
complexGeometry
. La géométrie d’un objet géographique
doit obligatoirement être soit simple soit composée, pour cela nous ajoutons la contrainte
« une seule instance d’une classe parmi les deux doit être présente ». Dans notre modèle
nous avons défini les classes
pointGeometr
y,
lineGeometry
et
polyGeometr
y pour une
géométrie simple et,
multiPointGeometr
y,
multiLineGeometry
et
multiPolyGeometr
y pour
une géométrie complexe. Ces classes héritent toutes de la classe
AbstractGeometry
et
référent chacune à la propriété géométrique correspondante, prédéfinie en GML, c’est-à-
dire respectivement
gml : PointPropert
y,
gml : LineStringProperty, gml : PolygonProperty,
gml : MultiPointProperty
,
gml : MultiLineStringProperty et gml : MultiPolygonPropert
y.
Pour pouvoir définir l’aspect temporel dans notre modèle, nous nous sommes
appuyés aussi sur le modèle conceptuel MADS [8], qui offre une hiérarchie de types
abstraits temporels assez représentative. Nous introduisons deux classes qui permettent
de décrire les caractéristiques temporelles de données géographiques. Ces classes sont :
simpleTime et complexTime
. La classe
simpleTime
permet de définir qu’un objet géo-
graphique peut être représenté dans un instant, classe
instant
, ou dans un intervalle, classe
interval
. Les classes
instant
et
interval
référent chacune à la propriété temporelle corre-
spondante, prédéfinie en GML, c’est-à-dire respectivement
gml : TimeInstant
et
gml :
TimePeriod.
La partie de temps complexe indique qu’un objet géographique peut exister
à des instants divers, classe
instantset
, et/ou à des intervalles divers, classe
intervalset
. Les
classes
insant, interval, instantset, et intervalset
héritent de la classe
AbstractTime.
Les classes
geometr
y,
semantic
,
graphic, time, simpleGeometry
,
complexGeometry
,
simpleTime
et
complexTime
héritent à leur tour de la classe prédéfinie
AbstractFeatur
e.
5
Conclusion
Nous avons proposé, dans cet article, une extension du format GML pour prendre en
compte la multi-représentation des informations géographiques et ce à quatre niveaux ;
géométrique, temporel, sémantique et graphique. Ce modèle permettra ainsi de regrou-
per dans une même structure les différentes représentations d’un même objet géographi-
que. Cette structure ajoutée au format d’échange GML permettra à notre intergiciel,
proposé dans [9], de jouer pleinement son rôle de médiateur entre les diverses hétérogé-
néités informationnelles et applicatives, augmentant par là même la capacité des organi-
sations à partager l’information géographique.
6 Références
[1] S. Spaccapietra, C. Parent, C. Vangenot,
GIS Databases : Frome Multiscale to MultiRepresentation
,
Proceeding of the International Workshop on Emerging technologies for Geo-Based Applications,
May 22-25 2000, Ascona, Switzerland, EPFL-DI-LBD Publisher.
[2] C. Vangenot,
Représentation multi-résolution, Concepts pour la description de bases de données
avec multi-représentation
, Les nouveaux usages de l’information géographique, Actes des
Journées Cassini 1998, Revue Internationale de Géomatique, Vol. 8, N˚ 1-2/1998, pp. 121-147.
[3] F. T. Fonseca, M.J. Egenhofer,
Ontology-Driven Geographic Information Systems
, 7th. ACM
Symposium on Advances in Geographic information Systems, Kansas City, MO. C. Banzer
Medeiros (ed.), pp. 14-19, November 1999.
[4] D. Benslimane, E. Leclercq, M. Savonnet, M.N. Terrasse, K. Yétongnon,
On the definition of generic
multi-layered ontologies for urban applications,
International Journal of Computers, Environment
and Urban Systems, Volume 24, Elsevier Science Ltd, England, pp. 191-214, 2000.
307
Schedae
,
2006, prépublication n°46, (fascicule n°2, p. 303-307).
[5] L. Qing, H. Frederick, Lochovski,
ADOME : An Advanced Object Modeling Environment
, IEEE
Transaction on knowledge and data engineering, vol. 10, NO. 2, pp. 255-276, 1998.
[6] T. Devogele, C. Parent, S. Spaccapietra
, On Spatial data integration
, International Journal of
Geographic Information Systems, V. 12, N˚ 4, pp. 335-352, 1998.
[7] Open GIS Consortium, Inc,
Geography Markup Language (GML) Implementation. Specification,
version 3.0
, 2003. http://www.opengis.org/docs/02-023r4.pdf
[8] C. Parent, S. Spaccapietra, E. Zimány, P. Domini, C. Plazanet, C. Vangenot, N. Rognon, P. Crausaz,
MADS : un modèle conceptuel spatio-temporelles
, Revue Internationale de Geomatique, Vol. 7,
N˚3-4, 1997.
[9] S. Sagar, M. Ben Ahmed,
Une plate-forme intergicielle d’aide à la décision basée sur l’analyse de
sources hétérogènes spatio-temporelles
, In 7th Conference Internet & Information Systems in the
Digital Age (IBIMA), Brescia, ITALY ; 14 – 16 décembre 2006.
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
309
Achraf Jabeur Telmoudi, Lotfi Nalbi« Utilisation du SIG dans une entreprise industrielle pour l’analyse et la prise de décision »
Schedae
, 2007, prépublication n°47, (fascicule n°2, p. 309-314).
Schedae
,
2007
Utilisation du SIG dans une entreprise industrielle pour l’analyseet la prise de décision
Mohamed Najeh Lakhoua
UR : Système, Énergétique, Productique et Environnement
Université du 7 Novembre A Carthage
ISSAT, Route de Tabarka, Mateur 7030, Tunisie
Résumé :
La modélisation d’un système d’information d’une entreprise nous permet de disposer d’un outil
d’analyse et d’aide à la prise de décision. Cet outil, s’appuyant sur des modèles clairement expli-
cités, mais non nécessairement complètement formalisés, aide à obtenir des éléments de répon-
ses aux questions qu’on peut se poser dans un processus de décision. Dans cet article, une
utilisation du SIG (Système d’Information Géographique) pour l’analyse et la prise de décision
est présentée. Le SIG a permis la gestion des flux entre les diverses entités constituant une entre-
prise qui sont réparties géographiquement. Cette application du SIG a été réalisée au sein d’une
importante entreprise publique (Office des Céréales).
Mots-clés : SIG, analyse et prise de décision, application industrielle.
1 Introduction
Les Systèmes d’Information Géographique (SIG) sont apparus à la fin des années 1960.
L’idée était simple, il s’agit d’utiliser de grandes possibilités de calcul des ordinateurs pour
saisir, gérer et analyser toute sorte d’information spatiale. Ils possèdent plusieurs synony-
mes tels que : Systèmes d’Information à Référence Spatiale (SIRS), systèmes d’information
à base géographique…
Les SIG offrent toutes les possibilités des bases de données (requêtes et analyses sta-
tistiques) et ce, au travers d’une visualisation unique et d’analyse géographique propres
aux cartes [2, 5]. Ces capacités spécifiques font du SIG un outil unique, accessible à un
public très large et s’adressant à une très grande variété d’applications.
Dans la littérature, plusieurs définitions ont été données à ces systèmes [1] :
– Une technologie de l’information qui stocke, analyse et visualise à la fois des données
spatiales et non spatiales ;
Prépublication n° 47 Fascicule n° 2
310
Schedae
,
2007, prépublication n°47, (fascicule n°2, p. 309-314).
– Une organisation structurée de ressources permettant d’acquérir les données à réfé-
rence spatiale, de les conserver, les traiter et en diffuser les résultats, faisant appel à la
position et à la forme des phénomènes dans un espace donné ;
– Un ensemble puissant d’outils pour saisir, conserver, extraire, transformer et afficher
les données spatiales décrivant le monde réel ;
– Un environnement d’analyse d’une information spatiale ;
– Un système informatisé d’acquisition, de gestion, d’analyse et de représentation de
données à référence spatiale.
Un SIG est un ensemble d’équipements informatiques, de logiciels et de méthodolo-
gies pour la saisie, la validation, le stockage et l’exploitation des données dont la plupart
est spatialement référencée, destinée à la simulation de comportement d’un phénomène
naturel, à la gestion et à l’aide à la décision.
2 Évolution des SIG
Historiquement, pour la modélisation et l’interrogation, les SIG se sont développés à partir
des solutions SGBD (Système de Gestion de Base de Données) propriétaires, mais l’évolu-
tion des SIG outils a suivi les standard des SGBD, même les méthodes d’analyse et de con-
ception ont évolué dans le sens de la standardisation [6].
Après trente ans d’évolution, les SIG sont devenus très utilisés dans différents domai-
nes [4, 9, 10] (gestion du territoire, applications d’analyse et de planification, gestion des
ressources naturelles, prévention des risques naturels, assainissement et implantation des
réseaux d’équipement publics, étude de la démographie,…). Cette évolution est en fait
liée au développement massif de l’information et des réseaux de communication et à
l’augmentation de ses capacités.
Les SIG sont des systèmes d’information, mais, les entités à gérer et les traitements à
effectuer possèdent une certaine originalité. Dans les SIG, nous présentons des modèles
de représentation du monde réel, d’où l’existence d’une difficulté supplémentaire du fait
que les mesures de la réalité sont instrumentées et ne sont pas exactes.
Les entités des SIG possèdent des descriptions relatives, au niveau de la perception
thématique et de la perception spatiale. Les entités des SIG ont un cycle de vie, c’est
l’aspect le plus complexe [3, 8] car nous devons tenir compte des processus auxquels elles
sont soumises au cours du temps. Les difficultés rencontrées lors de la modélisation con-
cernent les interactions entre entités et au sein de la même entité. Si les SIG semblent
proches d’autres technologies telles que la CAO (Conception Assistée par Ordinateur), le
traitement d’image et la gestion de bases de données, ils demeurent les seuls outils adap-
tés à la visualisation et à l’analyse de données géographiques.
3 Fonctionnement d’un SIG
Un SIG stocke les informations sous la forme de couches thématiques pouvant être reliées
les unes aux autres par la géographie. Ce concept, à la fois simple et puissant a prouvé son
efficacité pour résoudre de nombreux problèmes concrets. L’information géographique con-
tient soit une référence géographique explicite (latitude et longitude ou grille de coordonnées
nationales) ou une référence géographique implicite (adresse, code postal, nom de route…).
Les cinq composants majeurs d’un SIG sont : le matériel (ordinateurs), les logiciels
(outils et les fonctions pour stocker, analyser et afficher toutes les informations), les don-
nées (géographiques et tabulaires), les utilisateurs et les méthodes (règles et procédures
propres à chaque organisation).
311
Schedae
,
2006, prépublication n°47, (fascicule n°2, p. 309-314).
Dans les SIG, il y a trois types de requêtes :
–
Requêtes spatiales :
elles permettent d’effectuer des opérations géométriques, des
opérations topologiques et des opérations réseaux ;
–
Requêtes Thématiques :
elles sont basées sur la manipulation de critères descriptifs ;
–
Requêtes Temporelles :
elles sont basées sur l’application d’opérateurs temporels de
manipulation d’intervalle ou des arbres de filiation.
Les SIG exploitent deux types de modèles géographiques (modèle vecteur et modèle
raster). Chacun d’eux dispose de ses avantages. Un SIG moderne se doit d’exploiter simul-
tanément ces deux types de représentation.
Un modèle vecteur où les informations sont regroupées sous la forme de coordon-
nées x et y. Les objets de type ponctuel sont dans ce cas représentés par un simple point.
Les objets linéaires (routes, fleuves,…) sont eux représentés par une succession de coor-
données x, y. Les objets polygonaux (territoire géographique, parcelle,…) sont, quant à
eux, représentés par une succession de coordonnées délimitant une surface fermée. Le
modèle vectoriel est particulièrement utilisé pour représenter des données discrètes.
Un modèle raster est constitué d’une matrice de points pouvant tous être différents les uns
des autres. Il s’adapte parfaitement à la représentation de données variables continues.
Un SIG n’est pas un système automatique de décision mais plutôt une série d’outils
pour interroger, analyser et cartographier des données [11] tout au long d’un processus de
décision.
Les SIG permettent de lier entre elles toutes sortes d’informations par le biais de la
géographie, ils permettent un meilleur partage d’information et une meilleure communi-
cation entre les différents services. Plus la communication se développe entre les individus
et les départements, plus la redondance de l’information se réduit, la productivité se
développe, et l’organisation en général s’améliore [5].
La création de cartes et l’analyse géographique ne sont pas des procédés nouveaux,
mais les SIG procurent une plus grande vitesse et proposent des outils sans cesse inno-
vants dans l’analyse, la compréhension et la résolution des problèmes. L’avènement des
SIG a également permis un accès à l’information à un public beaucoup plus large.
L’information géographique numérique est facile à partager et à exploiter. Elle devient
une information essentielle dans de nombreuses organisations qui l’utilisent comme cadre
référence utilisable par tous.
4 Contribution à la mise en place d’un SIG
Du fait de la nature des activités de transaction des céréales, la notion de l’espace est déter-
minante puisque le mouvement des céréales se fait d’un endroit à un autre et évolue dans un
environnement d’informations. En effet, l’état de la situation des flux des céréales est suivi
actuellement par deux systèmes d’information : un système classique développé et utilisant
un environnement de Base de données Oracle avec des outils de développement VB et un
nouveau système SIG exploitant la notion de couches d’informations dont celle de base
relative à la localisation géographique des Unités de Stockage de Céréales (USC).
Afin d’assurer une gestion efficiente des activités céréalières, l’Office des Céréales
(OC) exploite actuellement un système d’information qui stocke, analyse et visualise à la
fois des données spatiales et non spatiales. C’est ainsi que nous avons étudié nos diverses
applications dans cet environnement du SIG du fait de son aspect innovant et de la soup-
lesse de sa communication.
Rappelons tout d’abord les grandes phases pour réussir la mise en place d’un SIG
présenté dans un ouvrage de Faiz S. [6] : Définition des besoins ; Élaboration du cahier des
312
Schedae
,
2007, prépublication n°47, (fascicule n°2, p. 309-314).
charges ; Choix du SIG ; Conception de la base de données géographiques et son
installation ; Démarrage du projet.
La phase d’élaboration du cahier des charges conditionne en partie la réussite d’un
produit. En effet, la qualité du produit résulte d’un compromis entre la demande, la fiabilité
et le coût final.
4.1 Identification des entités à manipuler
Après l’identification des différentes entités à manipuler par le SIG, nous avons adopté une
codification SIG pour les différents intervenants dans le système de stockage de céréales
(centres de l’OC, coopératives, privées, minotiers).
Nous avons déterminé les objets constituant les entités à manipuler par le SIG. Nous en
citons : centre, unité de stockage, cellule de stockage, matériel de manutention, portique de
chargement et de déchargement, transporteur à chaîne, élévateur à godets, bascule, pendu-
laire, épurateur, trémie vrac wagons, trémie vrac camions, poste de transformation électrique.
Pour l’objet « Centre », nous avons identifié les propriétés : Code centre (identifiant),
Code gouvernorat, Capacité, Type centre, Nombre unités de stockage, Nombre de cel-
lules, Nom propriétaire, Pont bascule camion et tonnage correspondant, Pont bascule
wagon et tonnage correspondant, Prix location par an en DNT, blé dur local, blé dur
importé, blé tendre local, blé tendre importé, orge locale, orge importée, Stock général,
Nombre de cadres techniques, Nombre de cadres administratifs.
Pour l’objet « Unité de stockage », nous avons identifié les propriétés : Code unité de
stockage (identifiant), Code centre, Type unité de stockage, Nombre de cellules, blé dur
local, blé dur importé, blé tendre local, blé tendre importé, orge locale, orge importée.
Pour l’objet « Cellule », nous avons identifié les propriétés : Code de la cellule (identi-
fiant), Code unité de stockage, Type de cellule, Capacité de cellule, Moyen de contrôle de
température, Produit ensilé,
Quantité ensilée.
Pour l’objet « Matériel de manutention », nous avons identifié les propriétés : Code
Matériel de manutention (identifiant), Code Centre, Nombre Élévateurs, Nombre Trans-
porteurs, Nombre Bascules.
4.2 Base de données géographiques
Dans cette application, nous avons exploité logiciel SIG : MapInfo. Ce logiciel met à notre
disposition toute la puissance de la cartographie informatisée. Il permet d’organiser les
données textuelles et géographiques sous forme de tables. On peut représenter les don-
nées géographiques sous différentes formes (points, polygones, lignes, arcs, ellipse,…).
Le logiciel MapInfo utilise la notion de couches qui permet d’associer plusieurs vues
séparées sur une même page (cartes, tableaux de données et graphiques) pour
représenter un document de synthèse. Les données peuvent être acquises par : digitalisa-
tion, scannage, importation des données vectorielles (MIF/MID, DXF) et importation des
données alphanumériques (Excel, dBase,…).
Après localisation sur la carte de la Tunisie des différents intervenants dans le secteur
de stockage de céréales en utilisant différents symboles, nous avons élaboré une base de
données géographique pour la gestion des flux de céréales.
Nous avons dressé une liste des données dans une table relative aux produits
céréaliers entrants dans l’USC. Nous en citons à titre d’exemple : Code lot produit entrant,
code provenance, produit (blé dur, blé tendre, orge,…), provenance produit, quantité pro-
duit, qualité produit, code cellule de stockage, date entrée, instant entrée.
De même, nous avons élaboré une liste des données dans une table relative aux pro-
duits céréaliers sortants de l’USC. Nous en citons à titre d’exemple : Code lot du produit
313
Schedae
,
2006, prépublication n°47, (fascicule n°2, p. 309-314).
sortant, produit (blé dur, blé tendre, orge,…), code destination, destination produit, quan-
tité produit, qualité produit, code cellule de stockage, date de sortie, instant de sortie.
4.3 Résultats de l’utilisation du SIG
Nous avons utilisé le logiciel du SIG MapInfo pour saisir, manipuler et gérer les données rela-
tives aux diverses entités de stockage de céréales, faire des interrogations et des analyses
et enfin visualiser des cartes et des graphes. C’est ainsi que nous avons pu produire avec
le SIG d’abord de l’information, de la représentation (des cartes) et de la communication.
Ensuite, des scénarios d’évolution du territoire permettant de passer à « l’aide à la décision ».
La figure 1 présente les différents symboles que nous avons utilisés pour représenter
l’infrastructure exploitée par l’OC, ainsi que les autres opérateurs tels que les minoteries et
les coopératives. D’autres symboles sont aussi utilisés pour représenter le réseau routier et
le réseau ferroviaire.
Dans le cas de notre application, la répartition des diverses USC est effectuée sur tout
le territoire. À l’aide du SIG, nous avons visualisé des cartes. La carte est en effet un formi-
dable outil de synthèse et de présentation de l’information. La carte présentée sur la
figure 2 illustre la localisation des diverses USC appartenant au gouvernorat de Nabeul
situé au Nord du pays (6 Centres de stockage et 1 minoterie).
À l’aide des outils d’interrogation et de puissantes solutions d’analyses offertes par le SIG,
nous pouvons poser diverses questions simples ou des questions intégrant une analyse.
La figure 3 présente une sélection de divers centres et silos de l’OC. Les données
affichées sont relatives à la capacité en tonnes, le nombre des unités de stockage, le nom-
bre des cellules de stockage,…
L’exécution des requêtes nous permet aussi, à l’aide de productions de graphes, de
déterminer l’évolution du stock journalier d’une cellule de stockage (Figure 4).
L’exemple présenté illustre l’évolution de la quantité ensilée en tonnes et durant une
période dans une cellule de stockage du silo Bir el Kassaa.
Fig. 1 :Symboles de l’infrastructure de l’OC. Fig. 2 : Visualisation de cartes par le SIG.
Fig. 3 : Interrogation de diverses USC sélectionnées. Fig. 4 : Utilisation des graphes par le SIG.
314
Schedae
,
2007, prépublication n°47, (fascicule n°2, p. 309-314).
5 Conclusion
L’utilisation du SIG à l’OC a permis, en plus de la production des cartes et des graphes,
d’exécuter des requêtes et analyses géographiques, d’améliorer l’organisation par une plus
grande fédération de l’information et de prendre plus rapidement les meilleures décisions.
Notre contribution consiste à introduire le SIG comme un nouvel outil de gestion
moderne et pertinent dans l’environnement de l’entreprise cible pour la gestion des flux
de céréales. Il est donc nécessaire de structurer le Système d’Information de l’entreprise en
intégrant le SIG avec ses diverses couches de gestion à l’environnement conventionnel du
Système d’Information existant.
6 Références
[1] Ben Youssef,
Modélisation Orientée-Objet et Spacio-Temporelle dans un SIG
, DEA, ENIT, 1999.
[2] Berry J.K., “Beyond mapping : concepts, algorithms and issues in GIS”,
GIS World
, 1993.
[3] Claramunt C., Thériault M.,
Managing time en GIS an Event-Oriented Approach, Springer-Verlag,
p. 22-43, 1995.
[4]
Centre National de Télédétection, Projet National Mobilisateur : Sécurité alimentaire, Rapport
final, Tunis, Déc. 1998.
[5] Collet C., Hussy C.,
Les systèmes d’information en géographie
, Rapports et Recherches, Institut de
Géographie, Fribourg, 1995.
[6] Faiz S.,
Systèmes d’Informations Géographiques : Information Qualité et Data Mining
, Édition CLE,
Tunis, 1999.
[7] Lakhoua M.N., Jomaa S., Annabi M., “Gestion des flux dans un silo de stockage des céréales”,
Revue Géomatique
, Vol.28, N˚ 5, Févr. 2002.
[8] Laurent R., “Real Time Spatio-Temporal Databases”,
Transactions on Geographic Information
Systems
, Vol.5, p. 87-98, 2001.
[9] Lebdi F., Lamaddalena N.,
Modélisation Techniques Informatiques et SIG pour la gestion de l’eau
et des réseaux hydrauliques, Tunis, Mai 1999.
[10] Servigne S., Kang M., “SIG pour l’environnement sonore urbain : de la représentation à la
visualisation animée”,
Revue internationale de géomatique
, Vol.10, p. 411-432, 2001.
[11] Tanzi T., Laurent R., Servigne S., “Vers un système spatial temps réel d’aide à la décision”,
Revue
Internationale de Géomatique
, Vol.8, p. 33-46, 1998.
| 315
Prépublication n° 48 | Fascicule n° 2
Vers l’intégration automatique d’unepolitique de sécurité Or-BAC
Yliès Falcone, Mohamad JaberVérimag & Laboratoire d’Informatique de Grenoble
[email protected], [email protected]
Résumé :
Nous proposons une technique pour intégrer automatiquement dans une application une poli-
tique de sécurité définie en Or-BAC. L’application initiale est purement fonctionnelle, et la poli-
tique restreint le comportement en ajoutant des limitations guidées par des besoins de sécurité.
Partant de règles décrivant des droits d’accès nous générons des aspects de sécurité. Ensuite,
ces aspects sont utilisés pour construire un nouveau système en intégrant automatiquement la
politique dans l’application originale. L’intégration est présentée pour le langage Java.
Mots-clés : sécurité, Or-BAC, programmation par aspects, politique, génération.
1 Introduction, préliminaires
Pour répondre aux besoins de sécurité croissants des logiciels et des systèmes d’information
une approche largement utilisée aujourd’hui est celle basée sur les politiques de sécurité.
La sécurité du système est assurée via l’application d’un ensemble de règles et de recom-
mandations s’appliquant à divers niveaux tant physique que logique. Une des approches
possibles est d’établir un contrôle d’accès qui régit les autorisations d’accès de sujets (des
entités du systèmes) à des objets (les ressources du systèmes). Divers modèles ont été pro-
posés comme les modèles d’accès discrétionnaires et les modèles de flux d’information,
jusqu’au modèle RBAC [1] et ses dérivés. Un problème classique est alors d’assurer que le
système est conforme à la politique exprimée.
Dans cet article nous utilisons Or-BAC (Organisation Based Access Control) comme poli-
tique de contrôle d’accès et la programmation par aspects pour sa mise en application.
Or-BAC – Le modèle Or-BAC [2, 3] généralise les modèles RBAC et ajoute une dimen-
sion organisationelle à la politique. Une organisation est une entité qui a la charge de gérer
un ensemble de règles de sécurité (obligations, permissions, interdictions). Les opérations
du système sont appelées actions. Un sujet est une entité active du système pouvant réaliser
des actions au sein de celui-ci. Par opposition aux sujets, les objets sont les entités non
Yliès Falcone, Mohamad Jaber« Vers l’intégration automatique d’une politique de sécurité Or-BAC »Schedae, 2007, prépublication n° 48, (fascicule n° 2, p. 315-319).
316 |
de
demodelisation
hypothèses
1) Extraction de sécuritéApplication
A l’applicationOr−BACPolitique
P A
3) Compilation d’Aspects Aspects de
Application A’ sécurisée
Fonctions
Sécurité
(fonctionnelle)
Description
A′ |= P
2) Génération d’Aspects
Fig. 1: Vue d’ensemble de notre approche.
actives du système (soumises aux opérations des sujets). L’organisation permet de struc-
turer les entités du système. Les sujets (resp. objets, actions) sont abstraits en rôles (resp.
vues, activités). Une notion de contexte [4] est ajoutée définissant les circonstances dans
lesquelles une règle s’applique.
Programmation Orientée Aspect – Un aspect [5] regroupe un ensemble de jointpoints,
pointcuts, et codes advices. Un joinpoint est un point dans le programme où peuvent agir
différents aspects. Des exemples de jointpoints sont les méthodes, les constructeurs, les
classes…Les pointcuts sont des éléments liés au flot d’exécution du programme autour
desquels on peut greffer l’action des aspects. De manière abstraite, un pointcut définit un
ensemble de jointpoints, une “coupe”. Le code advice définit le code greffé par l’aspect
dans l’application d’origine. Dans le cas de code advice de type before (resp. after, around),
celui-ci sera intégré avant (resp. après, autour) le pointcut de l’aspect.
Approche proposée – L’approche que nous proposons dans cet article peut être vue
de plusieurs manières. Tout d’abord il est possible de la considérer comme l’ajout automa-
tique de sécurité à une implantation. Partant d’un système et sa politique Or-BAC, nous
utilisons les règles de la politique pour modifier l’application initiale en utilisant les tech-
niques de programmation par aspects. Pour cela notre approche propose une modélisa-
tion/intégration des concepts Or-BAC dans l’application initiale. À cet effet nous combinons
des règles Or-BAC pour générer des aspects de sécurité. Notre approche est également
une méthode de déploiement de politiques Or-BAC pour un type d’applications.
2 Génération d’aspects de sécurité à partir de règles Or-BAC
L’approche esquissée dans l’introduction repose sur les étapes suivantes (cf Figure 1) :
1. extraction des informations du système (classes, hiérarchie…) ;
2. génération d’aspects en utilisant la politique et les informations sur le système ;
3. intégration des aspects et du code non-fonctionnel dans l’application d’origine en
utilisant le tissage d’aspects.
Le système initial est développé sans intégrer les règles de sécurité (tout est autorisé),
e.g. pas de notion d’utilisateur ou de fonction d’authentification. Cela signifie que initiale-
ment seules les activités fonctionnelles du système sont considérées. Les activités non-
fonctionnelles du système sont supposées être fournies séparément (e.g. mécanisme d’au-
thentification, support des utilisateurs). La spécification d’une politique de sécurité Or-BAC
est faite à un niveau organisationnel (abstrait) indépendamment de son déploiement. Il est
donc nécessaire de lier les concepts Or-BAC avec l’architecture de l’application. La généra-
tion est présentée pour le langage Java. Dans notre approche, les phases 2 et 3 sont au-
tomatiques, la première requiert l’étude de l’architecture du système initial.
Schedae, 2007, prépublication n° 48, (fascicule n° 2, p. 315-319).
| 317
2.1 Extraction des informations du systèmeMapping depuis les politiques Or-BAC vers Java – Nous lions les concepts de Or-BAC
et de Java, les correspondances sont résumées dans la Tableau 1. Pour le système initial,
représenté comme un programme orienté objet, nous considérons les notations suivantes.
Nous dénotons par Actions (resp. Activités, Vues, Classes) l’ensemble des actions (resp. ac-
tivités, vues, classes) adressées par la politique. Nous lions la notion de classe à la notion
de vue en Or-BAC , la notion de méthode à la notion d’action, et la notion d’objet (instance
de classe) à la notion d’objet Or-BAC. Parmi toutes les méthodes du programme, nous con-
sidérons un sous-ensemble Methodes de toutes les méthodes du programme initial. Nous
considérons les fonctions MethodeAction : Actions → Methodes (qui à chaque action de la
politique fait correspondre uneméthode du programme initial), etMethodesActiviteSecurite
(qui à chaque activité de sécurité associe la méthode correspondante). Nous définissons les
fonctions MethodeClass : Classes → 2Methodes, MethodeVue : Vues → 2Methodes .
Pour déterminer quelles méthodes (correspondant aux actions d’une activité) s’ap-
pliquent sur les objets instances de la classe correspondant à une vue, il faut faire l’intersec-
tion entre les méthodes de l’activité et celles de la classe. Alors l’application d’une activité
à une vue correspond aux actions de l’activité qui sont applicables sur la classe v.
Or-BAC (abstrait) Implantation Orientée Objet (concret)Action α Méthode ActionMethode(a)
Objet o de la vue v Objet instance de la classe ClasseVue(v)
Activité a sur vue v (MethodeClasse(v) ∩MethodeActivite(a))sur les objets instances de la classe ClasseVue(v)
Contexte Une méthode pouvant vérifier si l’état courant del’applicationvérifie le contexte
Tab. 1: Correspondance entre concepts Or-BAC et OO.
Considérations de sécurité –Notre génération considère également l’utilisation d’activ-
ités de sécurité qui peuvent être absentes de l’implantation initiale. Ainsi toutes les actions
des activités de sécurité adressées par la politique sont supposées être implémentées à
part et disponibles en entrée pour notre génération.
Parmi les fonctions de sécurité utilisées dans la génération, des activités impliquées
dans la politique peuvent être des activités de sécurité modifiant le rôle ou le contexte
de l’utilisateur courant. Par exemple, l’utilisateur peut entrer dans le système avec un rôle
quelconque puis dans le cas où il fait appel à une activité qui est interdite pour son rôle
courant, on peut l’obliger à s’authentifier pour entrer avec un nouveau rôle dans lequel
cette activité peut être autorisée.
2.2 Génération d’aspectsLes activités de sécurité ont pour but de modifier le rôle ou le contexte de l’utilisateur.
Prenons l’exemple où l’on veut obliger un utilisateur à s’authentifier dans le cas où il ap-
plique une activité interdite pour son rôle courant. La génération d’aspect doit se faire en
prenant en compte d’abord les règles comprenant des activités de sécurité. C’est pourquoi
dans la génération d’aspects à partir des règles nous commençons par la génération des
règles d’obligation qui contiennent une activité modifiant le rôle de l’utilisateur, puis on
génère les autres obligations et enfin les interdictions. Nous présentons uniquement la
génération pour les obligations avec une activité de sécurité.
Ces règles d’obligation sont de la forme Obligation(org, r, a1, _, cxt) (a1 étant une activ-
ité de sécurité), où cxt = input(a2(v2)) ∧ cxt2. Dans ce cas le a2(v2) se trouve seulement
Schedae, 2007, prépublication n° 48, (fascicule n° 2, p. 315-319).
318 |
public aspect Obligation_Sécurité pointcut a2() :
execution (* Class-Vue(v2).*(..)) &&if (Appartient(thisJoinPoint.getSignature().toString()), Method-Activity(a2)) ;// Appartient : fonction qui vérifie l’appartenance à l’ensemble de méthodesObject around() throws Exception_Securite : a2()
if(RoleCourant()==r && Verification-Contexte(cxtclassical))//RoleCourant fonction qui retourne le rôle courant de l’utilisateurMethodeActiviteSecurite(a1)() ;if(RoleCourant()==ri && Verification-Contexte(ci))
throw new Exception_Securite() ;else
Object x=proceed() ;return x ;
Fig. 2: L’aspect généré pour une règle d’obligation avec activité de sécurité.
comme input dans le contexte puisque le but de cette règle est d’obliger l’utilisateur du
rôle r d’appliquer un changement de rôle avant de pouvoir faire l’activité a1.
On génère l’aspect (Figure 2) avec une coupe sur les méthodes (MethodeClasse(v2) ∩
MethodeActivite(a2)) de la classe ClasseVue(v2), puis l’advice de type around dans lequel
on vérifie la conformité avec la règle du rôle de l’utilisateur et du contexte restant cxt2.
Dans ce cas on fait appel à la méthode correspondant à l’action de l’activité a1. Ensuite, on
vérifie à nouveau le rôle et le contexte. On cherche s’il existe une règle d’interdiction con-
tenant le même rôle et contexte : Interdiction(org, ri, a2, v2, ci). Dans ce cas, on applique
Exception_Securite() (pas d’appel à proceed), a2 ne sera pas exécutée.
3 Conclusion
Cet article présente une technique de génération d’aspects à partir d’une politique de
sécurité Or-BAC. Cette méthode permet le développement d’un système sans prendre en
compte aucune notion de sécurité. Ensuite, à partir de la politique on génère un ensem-
ble d’aspects de sécurité. L’ensemble des aspects sont ensuite intégrés dans l’application
initiale en utilisant le compilateur d’aspects.
Ce travail ouvre plusieurs perspectives de recherche. Tout d’abord, il nous semble pos-
sible d’étendre la méthode présentée ici en limitant les hypothèses sur le système initial.
Aussi, nous prévoyons d’intégrer cette méthode dans un outil de déploiement de politique
Or-BAC s’intégrant dans MotOr-BAC [6]. Nous prévoyons également d’y intégrer une ap-
proche pour générer des tests [7] depuis une politique Or-BAC.
Références[1] D.F. Ferraiolo, R. Sandhu, S. Gavrila, D.R. Kuhn, and R. Chandramouli. Proposed nist standard
for role-based access control. In ACM Transactions on Information and System Security, pages
4(3) :222–274, August 2001.
[2] A. Abou El Kalam, R. El Baida, P. Balbiani, S. Benferhat, F. Cuppens, Y. Deswarte, A. Miège, C. Saurel,
and G. Trouessin. Organization Based Access Control. In 4th IEEE International Workshop on
Policies for Distributed Systems and Networks (Policy’03), June 2003.
[3] R. Sandhu, A.J. Coyne, H.L. Feinstein, and C.E. Youman. Role-based access control models. In IEEE
Computer, pages 29(2) :38–47, 1996.
[4] F. Cuppens and A. Miège. Modelling Contexts in the Or-BAC Model. In 19th Annual Computer
Security Applications Conference (ACSAC ’03), 2003.
Schedae, 2007, prépublication n° 48, (fascicule n° 2, p. 315-319).
| 319
[5] G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J. M. Loingtier, and J. Irwin. Aspect-
oriented programming. In Proceedings European Conference on Object-Oriented Programming,
volume 1241, 1997.
[6] MotOr-BAC user manual, January 2007.
[7] K. Li, L. Mounier, and R. Groz. Test purpose generation from or-bac security rules. In 31st Annual
IEEE International Computer Software and Applications Conference, 2007.
Schedae, 2007, prépublication n° 48, (fascicule n° 2, p. 315-319).
40
Schedae
,
2006, prépublication n°5, (fascicule n°1, p. 35-40).
Liste des auteurs
Abellard Alexandre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Alonso Mathilde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Amanton Laurent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Ambellouis Sébastien. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Armknecht Frederik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Ayeb Béchir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Baati Lassaad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Bachalany Yara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Barthe Jean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Ben Ahmed Mohamed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Benidir Messaoud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Bensassi Bahloul. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Béréziat Dominique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Berruet Pascal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Blanpain Baptiste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Bouaziz Rafik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Boudaieb Ahmed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Boughaci Dalila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Bouzguenda Lotfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Cabestaing François. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Canot Édouard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Cayrel Pierre-Louis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Chaâbane Mohamed Amine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Champ Julien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Daumont Steredenn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
David Julien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
De Souza Rodrigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Delaunay Georges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Delettre Jérome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Denis David . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Djaouti Mohammed Soumia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Doukari Omar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Edoukou Frédéric. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Falcone Yliès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Farza Mondher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 275, 315
Fenniri Hassan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Fourt Olivier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Frioui Oussama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Gaborit Philippe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Gargouri Faiez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Gée Christelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Haddad Fayrouz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Haj Said Anis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Herlin Paulette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Hubert Olivier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Jaber Mohamad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Jones Gawain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Kampé Hugues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Keziou Amor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Khelassi Amhed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Koudache Abdallah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Lakhoua Mohamed Najeh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Lankri Saïd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Le Guennec Daniel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Lezama-Morales Ruth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Liu Fenglong . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
M'Saad Mohammed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1, 275
March Ramiro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Martin Patrick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Mercier David. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Mercier Stéphane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Mhawej Marie-José . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Mroué Ali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Muhieddine Mohamad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Nabaa Michel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Nabli Lotfi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Naya-Plasencia Maria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Ould-Mohamed Mohamed Salem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Philippe Jean-Luc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Plancoulaine Benoît . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Rabbah Nabila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Rahajandraibe Wenceslas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Revenu Marinette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Röck Andréa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Rossi André . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Ruatta Olivier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Saad Clément. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Sadeg Bruno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Sagar Samya. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Sekher Malik. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Signolle Nicolas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Stoll Benoît. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Teina Raimana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Telmoudi Achraf Jabeur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Tranouez Pierrick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Truchetet Frédéric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
Ürgüplü Aslı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Zaïd Lakhdar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Zeddini Besma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133