Télécharger l'intégralité du fascicule en PDF

352
Schedae Prépublications de l’Université de Caen Basse-Normandie MajecSTIC 2007 Fascicule n° 2 2007 Presses universitaires de Caen

Transcript of Télécharger l'intégralité du fascicule en PDF

Page 1: Télécharger l'intégralité du fascicule en PDF

I

SchedaePrépublications de l’Université de Caen Basse-Normandie

MajecSTIC 2007

Fascicule n° 2 2007

Presses

univers i ta ires

de Caen

Page 2: Télécharger l'intégralité du fascicule en PDF

II

Page 3: Télécharger l'intégralité du fascicule en PDF

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

Page 4: Télécharger l'intégralité du fascicule en PDF

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.

Page 5: Télécharger l'intégralité du fascicule en PDF

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

Page 6: Télécharger l'intégralité du fascicule en PDF

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

Page 7: Télécharger l'intégralité du fascicule en PDF

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

Page 8: Télécharger l'intégralité du fascicule en PDF

VIII

Page 9: Télécharger l'intégralité du fascicule en PDF

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

Page 10: Télécharger l'intégralité du fascicule en PDF

X

Page 11: Télécharger l'intégralité du fascicule en PDF

Commande

session 1

Page 12: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 13: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 14: Télécharger l'intégralité du fascicule en PDF

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).

Page 15: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 16: Télécharger l'intégralité du fascicule en PDF

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).

Page 17: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 18: Télécharger l'intégralité du fascicule en PDF

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)

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).

Page 19: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 20: Télécharger l'intégralité du fascicule en PDF

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).

Page 21: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 22: Télécharger l'intégralité du fascicule en PDF

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).

Page 23: Télécharger l'intégralité du fascicule en PDF

| 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],

[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).

Page 24: Télécharger l'intégralité du fascicule en PDF

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).

Page 25: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 26: Télécharger l'intégralité du fascicule en PDF

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).

Page 27: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 28: Télécharger l'intégralité du fascicule en PDF

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).

Page 29: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 30: Télécharger l'intégralité du fascicule en PDF

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).

Page 31: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 32: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 33: Télécharger l'intégralité du fascicule en PDF

Génie logiciel & SGBD

session 2

Page 34: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 35: Télécharger l'intégralité du fascicule en PDF

| 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],

[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).

Page 36: Télécharger l'intégralité du fascicule en PDF

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).

Page 37: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 38: Télécharger l'intégralité du fascicule en PDF

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).

Page 39: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 40: Télécharger l'intégralité du fascicule en PDF

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).

Page 41: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 42: Télécharger l'intégralité du fascicule en PDF

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).

Page 43: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 44: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 45: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 46: Télécharger l'intégralité du fascicule en PDF

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).

Page 47: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 48: Télécharger l'intégralité du fascicule en PDF

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).

Page 49: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 50: Télécharger l'intégralité du fascicule en PDF

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).

Page 51: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 52: Télécharger l'intégralité du fascicule en PDF

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).

Page 53: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 54: Télécharger l'intégralité du fascicule en PDF

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).

Page 55: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 56: Télécharger l'intégralité du fascicule en PDF

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).

Page 57: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 58: Télécharger l'intégralité du fascicule en PDF

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).

Page 59: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 60: Télécharger l'intégralité du fascicule en PDF

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).

Page 61: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 62: Télécharger l'intégralité du fascicule en PDF

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).

Page 63: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 64: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 65: Télécharger l'intégralité du fascicule en PDF

Modélisation

session 3

Page 66: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 67: Télécharger l'intégralité du fascicule en PDF

| 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],

[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).

Page 68: Télécharger l'intégralité du fascicule en PDF

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).

Page 69: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 70: Télécharger l'intégralité du fascicule en PDF

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).

Page 71: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 72: Télécharger l'intégralité du fascicule en PDF

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).

Page 73: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 74: Télécharger l'intégralité du fascicule en PDF

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).

Page 75: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 76: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 77: Télécharger l'intégralité du fascicule en PDF

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

[email protected]

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

Page 78: Télécharger l'intégralité du fascicule en PDF

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 ,,,/,,,

Page 79: Télécharger l'intégralité du fascicule en PDF

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 ∈∈∈∈/

Page 80: Télécharger l'intégralité du fascicule en PDF

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.

Page 81: Télécharger l'intégralité du fascicule en PDF

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 ,

Page 82: Télécharger l'intégralité du fascicule en PDF

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 ====)(λλλλ

Page 83: Télécharger l'intégralité du fascicule en PDF

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

Page 84: Télécharger l'intégralité du fascicule en PDF

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

Page 85: Télécharger l'intégralité du fascicule en PDF

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.

Page 86: Télécharger l'intégralité du fascicule en PDF

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.

Page 87: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 88: Télécharger l'intégralité du fascicule en PDF

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).

Page 89: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 90: Télécharger l'intégralité du fascicule en PDF

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).

Page 91: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 92: Télécharger l'intégralité du fascicule en PDF

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).

Page 93: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 94: Télécharger l'intégralité du fascicule en PDF

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).

Page 95: Télécharger l'intégralité du fascicule en PDF

Communication sans fil

session 4

Page 96: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 97: Télécharger l'intégralité du fascicule en PDF

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

Page 98: Télécharger l'intégralité du fascicule en PDF

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 :

Page 99: Télécharger l'intégralité du fascicule en PDF

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.

Page 100: Télécharger l'intégralité du fascicule en PDF

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

Page 101: Télécharger l'intégralité du fascicule en PDF

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

Page 102: Télécharger l'intégralité du fascicule en PDF

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

Page 103: Télécharger l'intégralité du fascicule en PDF

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

Page 104: Télécharger l'intégralité du fascicule en PDF

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.

Page 105: Télécharger l'intégralité du fascicule en PDF

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

[email protected]

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

Page 106: Télécharger l'intégralité du fascicule en PDF

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

Page 107: Télécharger l'intégralité du fascicule en PDF

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=

Page 108: Télécharger l'intégralité du fascicule en PDF

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

Page 109: Télécharger l'intégralité du fascicule en PDF

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.

Page 110: Télécharger l'intégralité du fascicule en PDF

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

Page 111: Télécharger l'intégralité du fascicule en PDF

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

Page 112: Télécharger l'intégralité du fascicule en PDF

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

Page 113: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

Clément SaadLaboratoire d’Informatique, de Robotique et de Microélectronique de Montpellier

Laboratoire d’Informatique d’Avignon

[email protected]

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).

Page 114: Télécharger l'intégralité du fascicule en PDF

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).

Page 115: Télécharger l'intégralité du fascicule en PDF

| 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

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).

Page 116: Télécharger l'intégralité du fascicule en PDF

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).

Page 117: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 118: Télécharger l'intégralité du fascicule en PDF

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).

Page 119: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 120: Télécharger l'intégralité du fascicule en PDF

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).

Page 121: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 122: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 123: Télécharger l'intégralité du fascicule en PDF

Théorie de l’information

session 5

Page 124: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 125: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 126: Télécharger l'intégralité du fascicule en PDF

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).

Page 127: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 128: Télécharger l'intégralité du fascicule en PDF

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).

Page 129: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 130: Télécharger l'intégralité du fascicule en PDF

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).

Page 131: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 132: Télécharger l'intégralité du fascicule en PDF

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).

Page 133: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 134: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 135: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 136: Télécharger l'intégralité du fascicule en PDF

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).

Page 137: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 138: Télécharger l'intégralité du fascicule en PDF

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).

Page 139: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 140: Télécharger l'intégralité du fascicule en PDF

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)

– 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).

Page 141: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 142: Télécharger l'intégralité du fascicule en PDF

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).

Page 143: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 144: Télécharger l'intégralité du fascicule en PDF

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).

Page 145: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 146: Télécharger l'intégralité du fascicule en PDF

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).

Page 147: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 148: Télécharger l'intégralité du fascicule en PDF

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).

Page 149: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 150: Télécharger l'intégralité du fascicule en PDF

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).

Page 151: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 152: Télécharger l'intégralité du fascicule en PDF

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).

Page 153: Télécharger l'intégralité du fascicule en PDF

Agents et décision

session 6

Page 154: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 155: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 156: Télécharger l'intégralité du fascicule en PDF

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).

Page 157: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 158: Télécharger l'intégralité du fascicule en PDF

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).

Page 159: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 160: Télécharger l'intégralité du fascicule en PDF

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).

Page 161: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 162: Télécharger l'intégralité du fascicule en PDF

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).

Page 163: Télécharger l'intégralité du fascicule en PDF

| 141

Prépublication n° 24 | Fascicule n° 2

Vers un contrat d’autonomieentre agents et opérateurs

Stéphane MercierOnera - Supaéro

[email protected]

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).

Page 164: Télécharger l'intégralité du fascicule en PDF

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).

Page 165: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 166: Télécharger l'intégralité du fascicule en PDF

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).

Page 167: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 168: Télécharger l'intégralité du fascicule en PDF

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).

Page 169: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 170: Télécharger l'intégralité du fascicule en PDF

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).

Page 171: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 172: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 173: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 174: Télécharger l'intégralité du fascicule en PDF

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).

Page 175: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 176: Télécharger l'intégralité du fascicule en PDF

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).

Page 177: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 178: Télécharger l'intégralité du fascicule en PDF

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).

Page 179: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 180: Télécharger l'intégralité du fascicule en PDF

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).

Page 181: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 182: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 183: Télécharger l'intégralité du fascicule en PDF

Algorithmique

session 7

Page 184: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 185: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 186: Télécharger l'intégralité du fascicule en PDF

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).

Page 187: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 188: Télécharger l'intégralité du fascicule en PDF

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).

Page 189: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 190: Télécharger l'intégralité du fascicule en PDF

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).

Page 191: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 192: Télécharger l'intégralité du fascicule en PDF

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).

Page 193: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 194: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 195: Télécharger l'intégralité du fascicule en PDF

| 171

Prépublication n° 27 | Fascicule n° 2

Méthode structurellepour décider si un transducteur est k-valué

Rodrigo de SouzaENST Paris

[email protected]

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).

Page 196: Télécharger l'intégralité du fascicule en PDF

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).

Page 197: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 198: Télécharger l'intégralité du fascicule en PDF

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).

Page 199: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 200: Télécharger l'intégralité du fascicule en PDF

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).

Page 201: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 202: Télécharger l'intégralité du fascicule en PDF

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).

Page 203: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 204: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 205: Télécharger l'intégralité du fascicule en PDF

Séparation aveugle de sources

session 8

Page 206: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 207: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 208: Télécharger l'intégralité du fascicule en PDF

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

– 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).

Page 209: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 210: Télécharger l'intégralité du fascicule en PDF

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).

Page 211: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 212: Télécharger l'intégralité du fascicule en PDF

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).

Page 213: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 214: Télécharger l'intégralité du fascicule en PDF

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).

Page 215: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 216: Télécharger l'intégralité du fascicule en PDF

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).

Page 217: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 218: Télécharger l'intégralité du fascicule en PDF

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)

Schedae, 2007, prépublication n° 29, (fascicule n° 2, p. 191-198).

Page 219: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 220: Télécharger l'intégralité du fascicule en PDF

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).

Page 221: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 222: Télécharger l'intégralité du fascicule en PDF

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).

Page 223: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 224: Télécharger l'intégralité du fascicule en PDF

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).

Page 225: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 226: Télécharger l'intégralité du fascicule en PDF

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).

Page 227: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 228: Télécharger l'intégralité du fascicule en PDF

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).

Page 229: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 230: Télécharger l'intégralité du fascicule en PDF

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).

Page 231: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 232: Télécharger l'intégralité du fascicule en PDF

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).

Page 233: Télécharger l'intégralité du fascicule en PDF

Imagerie

session 9

Page 234: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 235: Télécharger l'intégralité du fascicule en PDF

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

[email protected]

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

Page 236: Télécharger l'intégralité du fascicule en PDF

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.

Page 237: Télécharger l'intégralité du fascicule en PDF

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).

Page 238: Télécharger l'intégralité du fascicule en PDF

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λλ

λ −= = =

Page 239: Télécharger l'intégralité du fascicule en PDF

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 %.

Page 240: Télécharger l'intégralité du fascicule en PDF

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.

Page 241: Télécharger l'intégralité du fascicule en PDF

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.

Page 242: Télécharger l'intégralité du fascicule en PDF

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.

Page 243: Télécharger l'intégralité du fascicule en PDF

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).

Page 244: Télécharger l'intégralité du fascicule en PDF

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.

Page 245: Télécharger l'intégralité du fascicule en PDF

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.

Page 246: Télécharger l'intégralité du fascicule en PDF

218

Schedae

,

2007, prépublication n°31, (fascicule n°2, p. 207-217).

Page 247: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 248: Télécharger l'intégralité du fascicule en PDF

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).

Page 249: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 250: Télécharger l'intégralité du fascicule en PDF

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).

Page 251: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 252: Télécharger l'intégralité du fascicule en PDF

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).

Page 253: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 254: Télécharger l'intégralité du fascicule en PDF

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).

Page 255: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 256: Télécharger l'intégralité du fascicule en PDF

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).

Page 257: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

Sébastien AmbellouisINRETS-LEOST

20, rue Élisée Reclus – BP 317, 59666 Villeneuve d’Ascq Cedex

[email protected]

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).

Page 258: Télécharger l'intégralité du fascicule en PDF

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).

Page 259: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 260: Télécharger l'intégralité du fascicule en PDF

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).

Page 261: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 262: Télécharger l'intégralité du fascicule en PDF

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).

Page 263: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 264: Télécharger l'intégralité du fascicule en PDF

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).

Page 265: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 266: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 267: Télécharger l'intégralité du fascicule en PDF

Articles courts

Page 268: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 269: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 270: Télécharger l'intégralité du fascicule en PDF

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).

Page 271: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 272: Télécharger l'intégralité du fascicule en PDF

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).

Page 273: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 274: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 275: Télécharger l'intégralité du fascicule en PDF

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

Page 276: Télécharger l'intégralité du fascicule en PDF

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

''====′′′′

Page 277: Télécharger l'intégralité du fascicule en PDF

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 ================ ΩΩΩΩ∈∈∈∈

Page 278: Télécharger l'intégralité du fascicule en PDF

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.

Page 279: Télécharger l'intégralité du fascicule en PDF

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.

Page 280: Télécharger l'intégralité du fascicule en PDF

250

Schedae

,

2007, prépublication n°35, (fascicule n°2, p. 245-249).

Page 281: Télécharger l'intégralité du fascicule en PDF

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

Page 282: Télécharger l'intégralité du fascicule en PDF

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 )()()( ββββαααα ++++====

Page 283: Télécharger l'intégralité du fascicule en PDF

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

Page 284: Télécharger l'intégralité du fascicule en PDF

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

ηηηη

ηηηη

&&&&

&&&&

&&&&

&&&&

&&&&

ηηηη

Page 285: Télécharger l'intégralité du fascicule en PDF

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.

Page 286: Télécharger l'intégralité du fascicule en PDF

256

Schedae

,

2007, prépublication n°36, (fascicule n°2, p. 251-255).

Page 287: Télécharger l'intégralité du fascicule en PDF

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

[email protected]

Lotfi Nabli

ASTI, École Nationale d’Ingénieurs de Monastir, Rue Ibn Eljazar, 5019 Monastir, Tunisie

[email protected]

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

Page 288: Télécharger l'intégralité du fascicule en PDF

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 ;

Page 289: Télécharger l'intégralité du fascicule en PDF

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

Page 290: Télécharger l'intégralité du fascicule en PDF

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

Page 291: Télécharger l'intégralité du fascicule en PDF

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

Page 292: Télécharger l'intégralité du fascicule en PDF

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

Page 293: Télécharger l'intégralité du fascicule en PDF

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.

Page 294: Télécharger l'intégralité du fascicule en PDF

264

Schedae

,

2007, prépublication n°37, (fascicule n°2, p. 257-263).

Page 295: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

Dominique BéréziatLaboratoire d’Informatique de Paris 6, Université Pierre et Marie Curie

Projet CLIME - Inria Rocquencourt

[email protected]

Benoît StollLaboratoire Terre et Océan, Université de la Polynésie Française

[email protected]

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).

Page 296: Télécharger l'intégralité du fascicule en PDF

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).

Page 297: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 298: Télécharger l'intégralité du fascicule en PDF

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).

Page 299: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 300: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 301: Télécharger l'intégralité du fascicule en PDF

| 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)

[email protected]

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).

Page 302: Télécharger l'intégralité du fascicule en PDF

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).

Page 303: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 304: Télécharger l'intégralité du fascicule en PDF

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).

Page 305: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 306: Télécharger l'intégralité du fascicule en PDF

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).

Page 307: Télécharger l'intégralité du fascicule en PDF

| 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)

• 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).

Page 308: Télécharger l'intégralité du fascicule en PDF

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).

Page 309: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 310: Télécharger l'intégralité du fascicule en PDF

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).

Page 311: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 312: Télécharger l'intégralité du fascicule en PDF

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).

Page 313: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 314: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 315: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 316: Télécharger l'intégralité du fascicule en PDF

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).

Page 317: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 318: Télécharger l'intégralité du fascicule en PDF

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).

Page 319: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

Édouard CanotIRISA-Rennes, UMR 6074

[email protected]

Ramiro MarchArchéosciences-Rennes, UMR 6566

[email protected]

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).

Page 320: Télécharger l'intégralité du fascicule en PDF

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).

Page 321: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 322: Télécharger l'intégralité du fascicule en PDF

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).

Page 323: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 324: Télécharger l'intégralité du fascicule en PDF

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).

Page 325: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 326: Télécharger l'intégralité du fascicule en PDF

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).

Page 327: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 328: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 329: Télécharger l'intégralité du fascicule en PDF

| 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

[email protected]

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).

Page 330: Télécharger l'intégralité du fascicule en PDF

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).

Page 331: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 332: Télécharger l'intégralité du fascicule en PDF

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).

Page 333: Télécharger l'intégralité du fascicule en PDF

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

Page 334: Télécharger l'intégralité du fascicule en PDF

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

Page 335: Télécharger l'intégralité du fascicule en PDF

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

.

Page 336: Télécharger l'intégralité du fascicule en PDF

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.

Page 337: Télécharger l'intégralité du fascicule en PDF

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.

Page 338: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 339: Télécharger l'intégralité du fascicule en PDF

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

[email protected]

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

Page 340: Télécharger l'intégralité du fascicule en PDF

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).

Page 341: Télécharger l'intégralité du fascicule en PDF

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

Page 342: Télécharger l'intégralité du fascicule en PDF

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

Page 343: Télécharger l'intégralité du fascicule en PDF

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.

Page 344: Télécharger l'intégralité du fascicule en PDF

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.

Page 345: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 346: Télécharger l'intégralité du fascicule en PDF

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).

Page 347: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 348: Télécharger l'intégralité du fascicule en PDF

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).

Page 349: Télécharger l'intégralité du fascicule en PDF

| 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).

Page 350: Télécharger l'intégralité du fascicule en PDF

40

Schedae

,

2006, prépublication n°5, (fascicule n°1, p. 35-40).

Page 351: Télécharger l'intégralité du fascicule en PDF

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

Page 352: Télécharger l'intégralité du fascicule en PDF

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