Schedae. MajecSTIC Prépublications de l Université de Caen Basse-Normandie. Fascicule n Presses. universitaires.

Dimension: px
Commencer à balayer dès la page:

Download "Schedae. MajecSTIC 2007. Prépublications de l Université de Caen Basse-Normandie. Fascicule n 2 2007. Presses. universitaires."

Transcription

1 I Schedae Prépublications de l Université de Caen Basse-Normandie Fascicule n MajecSTIC 2007 Presses universitaires de Caen

2 II

3 III Schedae, 2007 Fascicule n 2 MajecSTIC 2007 Responsable : François Lecellier Conférenciers invités Philippe Jorrand (Grenoble Laboratoire d'informatique de Grenoble); Michel Lesourd (Rouen LEDRA). Comité de programme Pré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 relecture Membres 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 ; Norbert 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.

4 IV Comité d organisation Pré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 pilotage Valé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 Caen Statut : 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.

5 V Schedae, 2007 Fascicule n 2 Sommaire Préface IX Session 1 : Commande Malik SEKHER, Mondher FARZA, Mohammed M SAAD : Commande non linéaire d un réacteur chimique Ruth LEZAMA MORALES, Amhed KHELASSI : Commande à structure variable d un robot anthropomorphe actionné par muscles artificiels pneumatiques 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 Yliès FALCONE : Combiner test actif et surveillance pour la sécurité Anis HAJ SAID, Laurent AMANTON, Bruno SADEG, Béchir AYEB : Contrôle de la réplication dans les SGBD temps réel distribués 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 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 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éographique dans les réseaux de capteurs Session 5 : Théorie de l information Maria NAYA-PLASENCIA : Cryptanalyse de Achterbahn-128/80 avec une nouvelle limitation de suite chiffrante Andrea RÖCK : Attaques par collision basées sur la perte d entropie causée par des fonctions aléatoires Frédéric EDOUKOU : Codes correcteurs d erreurs construits à partir des variétés algébriques

6 VI Session 6 : Agents et décision Michel NABAA, Besma ZEDDINI, Pierrick TRANOUEZ : Approche décentralisée pour résoudre le problème du transport à la demande Stéphane MERCIER : Vers un contrat d autonomie entre agents et opérateurs 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 fantôme hétérogène Session 7: Algorithmique Julien DAVID : REGAL: une bibliothèque pour la génération des automates déterministes Rodrigo DE SOUZA : Méthode structurelle pour décider si un transducteur est k-valué Session 8 : Séparation aveugle de sources Steredenn DAUMONT, Daniel LE GUENNEC : Séparation aveugle de source pour des systèmes MIMO et un codage d Alamouti et de Tarokh Mohamed Salem OULD MOHAMED, Amor KEZIOU, Hassan FENNIRI, Georges DELAUNAY : Séparation aveugle de sources cyclostationnaires par utilisation des statistiques de second ordre Olivier FOURT, Messaoud BENIDIR : Séparation aveugle de sources : estimation du nombre de signaux et application aux signaux à phase polynomiale Session 9 : Imagerie 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 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 images de microscopie cellulaire Yara BACHALANY, François CABESTAING, Sébastien AMBELLOUIS : Suivi de libellules par analyse de séquences d images 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ébriques sur des registres à décalage avec mémoire Soumia Mohammed DJAOUTI, Abdallah KOUDACHE, Ahmed BOUDAIEB : Champs de Markov pour la segmentation des images polarimétriques Nabila RABBAH, Bahloul BENSASSI : Commande d un système d entraînement de bande Achraf JABEUR TELMOUDI, Lotfi NABLI : Détection des symptômes dans les SFPM par suivi des indicateurs de performance : approche qualité-flux Raimana TEINA, Dominique BÉRÉZIAT, Benoît STOLL : Étude de la cocoteraie des Tuamotu sur des images Ikonos Mathilde ALONSO : Interaction dans un environnement d apprentissage de la modélisation orientée objet Fenglong LIU, Mondher FARZA, Mohammed M SAAD : Observateur à grand gain pour des systèmes non linéaires avec couplage non complètement triangulaire Ali MROUÉ : Recherche de parcours prototypique pour l analyse de parcours web

7 VII Aslı ÜRGÜPLÜ : Réduction d un système d équations différentielles ordinaires et son implémentation Mohamad MUHIEDDINE, Édouard CANOT, Ramiro MARCH : Simulation 1-D de l évaporation forcée de l eau dans un sous-sol poreux saturé Dalila BOUGHACI : Un algorithme de recherche dispersée pour le problème MAX-SAT Omar DOUKARI : Un nouveau cadre pour la révision locale de croyances 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 Mohamed Najeh LAKHOUA : Utilisation du SIG dans une entreprise industrielle pour l analyse et la prise de décision Yliès FALCONE, Mohamad JABER : Vers l intégration automatique d une politique de sécurité Or-BAC

8 VIII

9 IX Schedae, 2007 Fascicule n 2 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 Technologies 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 L objectif de MajecSTIC est d être pluridisciplinaire en abordant des thèmes tels que la cryptographie, 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 cinquantetrois 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 articles. Nous remercions également le comité de pilotage de MajecSTIC pour nous avoir fait confiance et nous avoir choisis pour organiser cette édition 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 remercions 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

10 X

11 session 1 Commande

12 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

13 1 Prépublication n 9 Fascicule n 2 Commande non linéaire d un réacteur chimique Malik Sekher, Mondher Farza, Mohammed M Saad GREYC, UMR 6072 CNRS, Université de Caen Basse-Normandie, ENSICAEN 6 Bd Maréchal Juin Caen Cedex France Résumé : Ce papier présente une méthode de synthèse des asservissements de température dans les réacteurs chimiques exothermiques à double enveloppe fonctionnant en mode 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 permet 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 observateur 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 permettre 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).

14 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éacteur 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énomè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 échelon 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 considé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 ẋ = Ax + Bb(x)u + ϕ(x) (1) y = Cx (2) avec 0 x = x 1 x 2. x q 0 1, ϕ(x) = C A ϕ 1 (x 1 ) ϕ 2 (x 1, x 2 ). ϕ q 1 (x 1,..., x q 1 ) ϕ q (x) 1 C A (3) Schedae, 2007, prépublication n 9, (fascicule n 2, p. 1-10).

15 3 0 A 0 I n p A, B 0 I p 1 0 A et C Ip 0 1 A (4) où x ϑ IR n avec x k IR p, désigne le vecteur d état du système et est supposé être mesurable, u U IR m 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 lim (y(t) yr(t)) = 0 (5) t où {y r(t)} IR p 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 α 2 I p b(x) (b(x)) T β 2 I p. 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 = A x + Bb( x)u r + ϕ( x) (6) où {u r(t)} IR m et { x(t)} IR n désignent respectivement la séquence d entrée et la trajectoire d état du système correspondantes à la trajectoire de sortie {y r(t)} IR p. Ces séquences sont données par x 1 = y r x k = x k 1 ϕ k 1 ( x 1,..., x k 1 ) pour k [2, q] (7) u r = (b( x)) + ` x q ϕ q ( x) 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 x k = g k y r, y (1) r,..., y r (k 1) avec y (i) r = di y r dt i (8) pour k [1, q] où les fonctions g i sont données par g 1 (y r) = y r g k (y r, y r (1),..., y r (k 1) ) = k 2 X j=0 g k 1 y (j) r (y r,..., y r (k 2) )y r (j+1) ϕ k 1 (g 1 (y r),..., g k 1 (y r,..., y (k 2) r )) k [2, q] (9) Schedae, 2007, prépublication n 9, (fascicule n 2, p. 1-10).

16 4 Le problème de poursuite parfaite en sortie (5) peut être alors étendu au problème de poursuite de trajectoire d état défini par lim (x(t) x(t)) = 0 (10) t Et ce dernier peut être interprété comme un problème de régulation pour le système d erreur obtenu à partir des équations du système (1) et du modèle de référence (6) ė = Ae + B (b (x) u (x) b ( x) u r) + ϕ (x) ϕ ( x) (11) 2.1 Commande avec retour d état La 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)) + ( x q ϕ q( x) + ν(e)) = (b(e + x)) + ( x q ϕ q( x) + ν(e)) ν(e) = λb T 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 I 1 «p, λ Ip,..., 1 Ip λq 1 (13) où λ > 0 est un nombre réel, S est l unique solution définie positive de l équation algébrique de Lyapunov S + A T S + SA = T SBB S (14) et K c : IR n IR n est une fonction bornée satisfaisant la propriété suivante ξ Ω on a ξ T BB T K c(ξ) 1 2 ξt BB T ξ (15) où Ω est un compact quelconque de IR n. Remarque 1 Comme l équation algébrique de Lyapunov suivante S + A T S + SA = C T C (16) admet une solution unique symétrique et définie positive [10], il en sera de même pour l équation algébrique (14). Cette solution unique peut être exprimée comme suit p... 0 p I p S = T S 1. 0 T avec T = p I p 0 p 0 p I p 0.. C p A I p 0 p... 0 p Et compte tenu de cette relation ainsi que de l expression S 1 C T obtient donnée dans [7], on B T S = CS 1 T = [Cq q Cq q 1... Cq 1 ] où Cq k 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).

17 5 Théorème 1 Les trajectoires d état et de sortie du système (1)-(4) soumis aux hypothèses H1 à H3 où l entrée u est donnée par (12)-(15) convergent globalement exponentiellement vers 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ée par A A A = C.. Aq 1 A où A i IR p p pour i [1, q 1] est une matrice carrée invertible. On peut montrer aisément que la loi de commande ν(e) correspondante est donnée par q 1 Y ν(e) = A i A B T 1 ` λ Kc S λ T e i=1 (17) avec 0 1 q 1 Y T = p, A 1, A 1 A 2,..., A i i=1 A (18) En effet, si l on effectue la changement de variable z = T x, le système peut se récrire comme suit ż = T AT 1 z + T Bb(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 transformation, on a T AT 1 = 0 In p «q 1 Y, T B = A i A (20) i=1 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ée On 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 = e f j 1 où e 1 = x 1 x 1 = y y r, Γ = Diag,..., 1 τ 1 ė f = Γe f + Γe 1 (21) τ p ff est 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 ė a = A ae a + B a (b(e + x)u( x, e a) b( x)u r) +ψ( x, e a) ψ(x r, 0) (22) y a = σ f Schedae, 2007, prépublication n 9, (fascicule n 2, p. 1-10).

18 σ f 0 I p 0 0 p e a = e f C A, Aa = 0 0 Γ C A, Ba = 0 p C A e 0 0 A B p ψ( x, e a) = Γe f C A ϕ(e + x) En 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, e a) = (b(e + x)) + `ẋ q r ϕ q ( x) + ν(e a) (23) ν(e a) = λγ 1 B T a 1 aλ Kac( S a aλ T e a) où 0 e a = σ f e f e 1 C A (24) aλ = diag I 1 «p, λ Ip,..., 1 λ q Ip, 1 Ip λq+1 (25) Λ = diag (I p, I p, Γ,..., Γ) où S a est l unique solution définie positive de l équation algébrique S a + S a Ā a + ĀT a S a = S a Ba BT a Sa (26) et K ac : IR n+2p IR n+2p est une fonction bornée satisfaisant une inégalité similaire à (15) sur un compact Ω a de IR n+p, en l occurrence ξa T B aba T K ac(ξ a) 1 2 ξt a B aba T ξ a ξ a Ω (27) On montre aisément que le système de commande avec retour d état résultant est globalement stable et réalise un rejet asymptotique des perturbations d état et/ou de sortie de type échelon. 2.3 Quelques fonctions de synthèse Le gain de commande avec retour d état dépend d une fonction de synthèse K c bornée complètement caractérisée par la propriété (15). Dans ce qui suit, on donne quelques fonctions de synthèse satisfaisant cette propriété. On distingue Les fonctions de synthèse de type grand gain données par K ac(ξ) = k c ξ (28) où k c est une constante positive avec k c 1 2. Les fonctions de synthèse de type modes glissants données par K ac(ξ) = k c sign(ξ) (29) où k c 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).

19 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 K ac(ξ) = k c tanh(k oξ) (30) où tanh signifie la fonction tangente hyperbolique et k c et k o sont deux scalaires positifs. Il est aisé de voir que la fonction (30) satisfait bien la condition (15) pour des valeurs relativement grandes de k c. Il est important de remarquer que le choix de la fonction de synthèse K ac ne se limite pas aux fonctions présentées ci-dessus. D autres expressions valables pour K ac 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 >< T R (t)= UA (T J (t) T R (t)) qr C R C R >: T J (t)= U A (T R (t) T J (t))+ F (31) j (T Jin (t) T J (t)) C j V j où T R (t), T J (t) et T Jin (t) désignent respectivement les températures dans le réacteur, dans la double enveloppe et à l entrée de la double enveloppe, q r(t) désigne la chaleur de réaction, F j désigne le débit du fluide caloporteur, U A, C R et C J 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 ; V R et V J 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 {TR (t)} en agissant sur la température du fluide caloporteur à l entrée de la double enveloppe T Jin (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 x 1 = T R, x 2 = T J, u = T Jin et y = T R 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 >< >: ˆT R (t) = UA T J (t) ˆT R (t) ˆqr(t) 3θ( ˆT R T R ) C R C R ˆq r(t) = ˆξ(t) + 3C R θ 2 ( ˆT R T R ) ˆξ(t) = C R θ 3 ( ˆT R T R ) (32) où ˆT R, ˆq r et ˆξ désignent respectivement les estimées de T R, q r et q r 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).

20 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 >< σ = e f ė f = 1 τ e1 1 τ ef Fj 1 Fj T jin = TJin + ν(e) V J V J ν(e) = τc R λ 4 U A K c σ + 4 λ ef + 6 τλ 2 e1 + 4U «A τc R λ 3 e2 e 1 = T R T R e 2 = T J T J >: T R = T R T J = C R U A F j TJin = TJ U A V J T J = C R U A T R + qr(t) «+ T R C R ( T R T J ) + F j C J T R + qr(t) C R «+ TR V J TJ Remarque 3 On peut considérer la réaction comme une perturbation d état du réacteur et ne pas tenir compte de la chaleur de réaction dans la loi de commande. Pour ce faire, il suffit de remplacer la chaleur de réaction et sa dérivée par un zéro, i.e q r(t) = q r(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 8 >< SIMUL >: T R (t) = U ` A TJ CR (t) T R (t) 1 q C R r(t) T J (t) = U A CJ ` TR (t) T J (t) F J V J ` TJ (t) T Jin (t) + v(t) r(t) = k o exp ( E )C RT A (t) R Ċ A (t) = r(t) q r(t) = V r Hr(t) T RM (t) = T R (t) + η(t) où T RM (t), η(t) et v(t) désignent respectivement la mesure de la température dans le réacteur, 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 , 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 tempé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é à partir 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).

21 T R * ( C) x EVOLUTION DE q r /C R (K.s 1 ) SIMULEE ESTIMEE TIME (s) TEMPS (s) Fig. 1: Séquence de référence et estimation de la chaleur de réaction. caractérisé par des pôles réels p 1 = p 2 = 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 particulièrement les résultats obtenus avec la fonction de synthèse K ac 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 k c = 4, k o = 0.1, λ = 0.05 et τ = 100 La figure 2 montre 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 T R ( C) 40 T Jin ( C) TEMPS (s) TEMPS (s) 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).

22 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 garantissant une insensibilité vis-à-vis des bruits de mesure 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éacteur 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 : , [2] B. Guo, A. Jiang, X. Hua, and A. Jutan. Nolinear adaptive control for multivariable chemical processes. Chemical Engineering Science, 56 : , [3] J.P. Gauthier and G. Bornard. Observability for any u(t) of a class of nonlinear systems. IEEE Trans. Auto. Control, AC-26 : , [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, [5] J.P. Gauthier and I. Kupka. Deterministic Observation Theory and Applications. Cambridge University Press, [6] H. Hammouri and M. Farza. Nonlinear observers for locally uniformly observable systems. ESAIM J. on Control, Optimisation and Calculus of Variations, 9 : , [7] M. Farza, M. M Saad, and L. Rossignol. Observer design for a class of MIMO nonlinear systems. Automatica, 40 : , [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, [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, [10] J.P. Gauthier, H. Hammouri, and S. Othman. A simple observer for nonlinear systems - application to bioreactors. IEEE Trans. Auto. Control, AC-37 : , [11] M. Farza, K. Busawon, and H. Hammouri. Simple nonlinear observers for on-line estimation of kinetic rates in bioreactors. Automatica, 34(3) : , [12] M. Farza, M. Nadri, and H. Hammouri. Nonlinear observation of specific growth rate in aerobic fermentation processes. Bioprocess Engineering, 23 : , Schedae, 2007, prépublication n 9, (fascicule n 2, p. 1-10).

23 11 Prépublication n 10 Fascicule n 2 Commande à structure variable d un robot anthropomorphe actionné par muscles artificiels pneumatiques Ruth Lezama Morales, Amhed Khelassi, Bertrand Tondu, Claude Baron LATTIS, Laboratoire Toulousain de Technologie et d Ingénierie des Systèmes INSA, Institut National de Sciences Appliqués de Toulouse 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 de McKibben sont adaptés aux applications de la robotique de service car ils fournissent au robot une souplesse articulaire 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 variations 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 robotique 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 aptitude à 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 ).

24 12 les êtres humains [1]. Dans ce domaine, nos travaux portent sur un bras robotique anthropomorphe 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 applications 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 hysté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 robuste 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 souffre 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 simulation 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égulateur à compensation de temps mort, proposé par O.J.M. Smith en La caractéristique, 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 compensation 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 robotique anthropomorphe à sept degrés de liberté actionné par muscles artificiels de McKibben. Les performances de la commande sont montrées en les comparant avec un PID classique. 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 ).

25 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 asservissement. 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 actionneur à deux muscles artificiels de McKibben placés en antagonisme. La structure cinématique 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 McKibben La 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 muscles 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 Principe de fonctionnement de l actionneur Le principe de fonctionnement de l actionneur à muscles artificiels de McKibben est le suivant. Au début, les deux muscles qui composent l actionneur sont gonflés à une même pression initiale P 0. À 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 : P 1 = P 0 + P muscle 2 : P 2 = P 0 P (1) Schedae, 2007, prépublication n 10, (fascicule n 2, p ).

26 Modélisation et identification du système L 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 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 : avec G(s) = θ U = Identification des paramètres U : entrée de pression en bars b s 2 + a 1 s + a 2 e τs (2) θ : sortie de position en degrés b, a1, a2 les paramètres à identifier 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 perturbations [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 glissement Dans notre cas, la surface de glissement est une droite définie par la fonction de surface (S) suivante : avec S(t) = Ce(t) + ė(t) (3) e(t) = θ(t) θ d (t) et ė(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 ).

27 Commande équivalente La 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. U EQ = U anticipation + U glissement (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 : U anticipation = b 1 [ θ d + a1 θ d + a2θ d ] U glissement = b 1 [(a2 C)ė + 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 discontinue La 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 : SṠ < 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)ė + 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 ).

28 Broutement Dans les applications pratiques, la commutation de la commande peut produire des oscillations 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 à structure variable sans le prédicteur de Smith (consigne de position 30 ) (b) Simulation de la commande à structure 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 combinaison avec une commande robuste comme la structure variable peut donner des résultats prometteurs. Schedae, 2007, prépublication n 10, (fascicule n 2, p ).

29 17 4 Résultats expérimentaux Dans cette partie, nous présentons les résultats expérimentaux de l implantation d une commande à 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 algorithme 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égulation La figure 5 correspond à la réponse expérimentale en mode 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 pression U 30 (e) commande de pression (f) commande de pression U 60 U 90 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 ).

30 Résultats expérimentaux en suivi de trajectoire Les 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 avec charge 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 robotique. 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 trajectoires 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 ).

31 19 Références [1] S. Asami. Robots in Japan : Present and Future. IEEE Robotics & Automation Magazine, [2] F Daerden. Pneumatic Artificial Muscles : Actuators for Robotics and Automatation. European Journal of Mechanical and Environmental Engineering, [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, [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, [5] WilkesnD.M., W.A. Alford, T.E Rogers, K. Kawamura, and R.A Peters. Isac : Foundations in Human- Humanoid Interaction. IEEE Intelligent Systems, [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, [7] R.D. Quinn, G.M. Nelson, R.J. Bachmann, and R.E. Ritzmann. Toward Mission Capable Legged Robots through Biological Inspiration. Autonomous Robots, [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, [9] K. Osuka, T. Kimura, and T. Ono. H Control of a certain Nonlinear Actuator. IEEE International Conference on Decision and Control, [10] M. Hamerlain. An Anthropomorphic Robot Arm Driven by Artificial Muscles using a Variable Structure control. Proceedings of the International Conference on Intelligent Robots and Systems - IROS, [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, [12] B. Tondu and P. Lopez. Modelling and Control of McKibben Artificial Muscle Robot Actuators. IEEE Control Systems Magazine, [13] P. Lopez and A.S. Nouri. Théorie élémentaire et Pratique de la Commande par les Régimes Glissants. Springer, [14] J.Y. Hung, W. Gao, and J.C. Hung. Variable Structure Control : A Survey. IEEE Transactions on Industrial Electronics, [15] V. Utkin. Sliding Mode Control Design Principles and Applications to Electric Drives. IEEE Transactions on Industrial Electronics, [16] J.E Slotine and L Weiping. Applied Nonlinear Control. Prentice-Hall, [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, [18] K. Utkin. Variable Structure Systems with Sliding Modes. IEEE Transactions on Automatic Control, Schedae, 2007, prépublication n 10, (fascicule n 2, p ).

32 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

33 session 2 Génie logiciel & SGBD

34 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

35 21 Prépublication n 11 Fascicule n 2 Spécification des processus workflows évolutifs versionnés Mohamed Amine Chaâbane, Lotfi Bouzguenda, Rafik Bouaziz, Faiez Gargouri MIRACL-ISIMS, Route Mharza km 1,5, CP 3018, Sfax, Tunisie 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, diffé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 Organisationnel (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 ).

36 22 Le Modèle de Processus (MP) définit les tâches composantes, leur coordination, les informations et les ressources impliquées dans chaque tâche. C est le MP qui constitue le composant 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 organisationnel). 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 information 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 processus workflows 2.1 Motivations pour l utilisation des RPO Tout d abord, plusieurs raisons justifient l utilisation des Réseaux de Petri (RP) dans le contexte 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écution ; 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 attention 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 acteurs 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 RPO Les 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 ).

37 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écution ; 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 transition). 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 expressions 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 PWE Dans ce qui suit, nous présentons la limite majeure des RPO pour les PWE à travers un exemple 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 entrevues à 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 formation 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 ).

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

39 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 espace 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 versionnement 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 versionnement 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, utilisé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 application (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 processus 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 deuxiè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 administrateur. 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 environnement 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 ou machine 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 ).

40 26 Fig. 3: Approche de versionnement des PWE. par l administrateur. Ainsi, il devient possible de disposer de différentes versions alternatives et de différentes versions historisées. La figure 4 illustre notre proposition en modélisant le processus d inscription des étudiants 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 Enregistrement 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 application [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 Examen CV, figurant seulement dans la deuxième version, possède deux places d entrée «Demande 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 entré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 version 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 version, 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 intervalle 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 version 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 ).

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

42 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 identifié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écessité 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 outil permettant la spécification des PWE à l aide d une utilisation conjuguée des RPO et du versionnement. Références [1] The Workflow Management Coalition. Workflow management coalition terminology and glossary. WFMC-TC-1011, Febrary [2] M. Divitini, C. Hanachi, and C. Sibertin-Blanc. Inter-orgaanizational workflow for enterprise coordination. Coordination of Internet Agents, chapter 15, A. Omicini, F. Zambonelli, M. Klusch, R. Tolksdorf (Eds), Springer Verlag,, [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), [4] C. Sibertin-Blanc. High level petri nets with data structure. In 6th International Workshop on Petri Nets and Applications Espoo, Finland, [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 [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, [7] C.A. Petri. Kommunication mit automaten. Institute für Instrumentelle Mathematik, Schriften des IMM, (n 2), [8] C. Combi and G. Pozzi. Architectures for a temporal workflow management system. In SAC 04, Nicosia, Cyprus, March [9] C. De Castro, F. Grandi, and M.R. Scalas. Schema versioning for multitemporal relational databases. Information Systems, Vol. 22(N 5) : , july [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 [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, [12] S.A. White. Introduction to bpmn. Business Process modeling Notation - IBM, May [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 , March [14] S. Gançarski and G. Jomier. Vers un langage de manipulation pour bases de données multiversion. BDA, pages , [15] S. Gançarski. Database versions to represent bitemporal databases. DEXA, pages , Schedae, 2007, prépublication n 11, (fascicule n 2, p ).

43 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, [17] F. Casati, S. Ceri, B. Pernici, and G. Pozzi. Workflow evolution. Proceedings of the 15th ER 96 international Conference, Oct Cottbus, Germany, Springer Verlag Lecture Notes in Computer Science. [18] M. Kradolfer and A. Geppert. Dynamic workflow schema evolution based on workflow type versioning and workflow migration. International Conference on Cooperative Information Systems (CoopIS 99), Edimburgh. IEEE Computer Society Press, Schedae, 2007, prépublication n 11, (fascicule n 2, p ).

44 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

45 31 Prépublication n 12 Fascicule n 2 Combiner test actif et surveillance pour la sécurité Yliès Falcone Vérimag & Laboratoire d Informatique de Grenoble Résumé : Nous présentons une approche pour combiner les avantages du test et de la surveillance de programme à l exécution. Nous intégrons une méthode de test avec spécification partielle dans la théorie de vérification à l exécution. Des techniques de tests sont intégrées à un environnement logiciel de surveillance. L environnement que l on obtient repose sur deux approches récentes : génération de test depuis une spécification partielle, et programmation orientée moniteur. Nous montrons comment ces techniques peuvent contribuer à une nouvelle méthode de validation que nous appelons surveillance active qui combine les avantages de la génération automatique de test et la surveillance. Mots-clés : test actif, surveillance, sécurité, cas de test abstrait, concrétisation. 1 Introduction 1 Pour répondre aux besoins de sécurité croissants des logiciels et des systèmes d information une approche largement utilisée aujourd hui est celle basée sur les politiques de sécurité. La sécurité du système est assurée via l application d un ensemble de règles et de recommandations s appliquant à divers niveaux tant physique que logique. La complexité des systè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 implémentation d un système, en pratiquant une suite de contrôles et d observations sur celuici. 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 Yliès Falcone «Combiner test actif et surveillance pour la sécurité» Schedae, 2007, prépublication n 12, (fascicule n 2, p ).

46 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 industrielle. 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érification, 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 comportement si une faute apparaît. Des propriétés sont vérifiées pendant l exécution du programme 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 verdicts. 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. Monitoring 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 donné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 surveillance de façon mutuellement bénéfique. L objectif de cet article est d utiliser un environnement 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 programme. Cette approche permet de détecter des erreurs de concurrence ; Une autre direction de recherche active est autour de l expressivité de la programmation 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 ).

47 33 La suite de cet article est organisée comme suit. La section 2 présente quelques préliminaires / prérequis : une variation de la théorie du test de conformité pour traiter les spécifications partielles, et la programmation orientée moniteur. Dans la section 3 nous présentons 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 produite. 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 partielles Nous 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 cadre [2], les exigences sont exprimées par des formules logiques ϕ construites au dessus d un ensemble de prédicats abstraits P i 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 «le message M est corrompu». L approche repose sur la considération suivante : une connaissance parfaite des détails d implémentation est nécessaire pour produire des cas de test élémentaires Tc i 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 formule ϕ, 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 Tc i 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 Programming La programmation orientée moniteurs (Monitoring Oriented Programming [3], MOP) considère que la spécification et l implémentation doivent être unifiées. Une présentation complète de tous les aspects de MOP est hors du cadre de cet article. Nous présentons brièvement 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 ).

48 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 personnalisation 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 temporelle 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égration 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 customisable 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 surveillance 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 MOP Une 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 observé 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 complexes 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 exemple 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 expression 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 actions 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 ).

49 35 Utilisation des traitants («handlers») comme correcteurs de propriétés Comme exposé 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 framework 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. arrêt d un composant, appel d interface administrateur Vue d ensemble de l environnement Nous 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. Interface SST Interface SST appel interface communication interne aux composants communication entre Monitor/Test engine Spec LTL ERE... ATC Biblio Java MOP Moniteurs Generation Architecture CTA... Ordonnanceur Moteur CTA Moteur de Test execution directives tests verdicts Moniteurs events PASS FAIL Générateur Evenenments Moniteur Java Mop personnalisé Fig. 1: Vue d ensemble du processus de génération 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 utilisateur 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 composants. 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> <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 ).

50 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 classiques 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 approche MOP 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 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écution 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 introduit dans [1] puis s est montré être une solution adaptée [2] pour les systèmes disposant 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 ).

51 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 apparaissent 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 (Architecture 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 propriétés de sécurité. 4.1 Description de Travel L 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 requê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 applicatif. Une partie de l interface offerte par le serveur est montrée sur la Fig Une politique de sécurité pour Travel Depuis une politique de sécurité globale [16] écrite pour Travel nous avons extrait des exigences de sécurité. Nous avons formalisé et exprimé ces exigences en utilisant les ex- Schedae, 2007, prépublication n 12, (fascicule n 2, p ).

52 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 informelle «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 t ] avec t, t et m désignant respectivement 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(t 1, t 2 ) connect(t 1, t 2 )). 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 moteur 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 == 1]ver := inc token := Identify(login, psw) [result! = OK ]ver := fail [token! = 1]result := missionrequest(token,...) [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éussissent montrent 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 ).

53 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 autovalidation 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 caracté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 exemple 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, [2] Yliès Falcone, Jean-Claude Fernandez, Laurent Mounier, and Jean-Luc Richier. A compositional testing framework driven by partial specifications. In TESTCOM/FATES, [3] Feng Chen, Marcelo D Amorim, and Grigore Roşu. Checking and correcting behaviors of java programs at runtime with java-mop. In Workshop on Runtime Verification (RV 05), volume 144(4) of ENTCS, [4] G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J-M. Loingtier, and J. Irwin. Aspectoriented programming. In Proceedings European Conference on Object-Oriented Programming, volume Springer-Verlag, [5] Feng Chen and Grigore Roşu. 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, [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, [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, [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 Schedae, 2007, prépublication n 12, (fascicule n 2, p ).

54 40 [9] Vlad Rusu. Verification using test generation techniques. In FME 02 : Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right, pages , London, UK, Springer-Verlag. [10] Alan Hartman. Model based test generation tools survey. Technical report, AGEDIS Consortium, [11] Zohar Manna and Amir Pnueli. Temporal verification of reactive systems : safety. Springer-Verlag New York, Inc., New York, NY, USA, [12] ETSI s official TTCN-3 home page, http ://www.ttcn-3.org. [13] Alexandra Cavarra. The UML testing profile - an overview. Technical report, AGEDIS Consortium, [14] Rnrt Politess, 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 , Verimag Research Report, [16] Diala Abi Haidar. A global security policy for the Travel agency application. Technical report, France Telecom R&D, Politess Project, Schedae, 2007, prépublication n 12, (fascicule n 2, p ).

55 41 Prépublication n 13 Fascicule n 2 Contrôle de la réplication dans les SGBD temps réel distribués Anis Haj Said, Laurent Amanton, Bruno Sadeg Laboratoire d Informatique, de Traitement de l Information et des Systèmes (LITIS) Université du Havre Béchir Ayeb Pôle de Recherche en Informatique du Centre (PRINCE) Université de Monastir Résumé : La réplication des données représente une alternative intéressante pour les systèmes de gestion de bases de données temps réel distribués (SGBDTRD) puisque la disponibilité des données sur plusieurs sites pourrait augmenter les chances de respecter les échéances des transactions. Cependant, ces systèmes doivent assurer la mise à jour et la cohérence des différentes copies des données. Afin de satisfaire ces exigences, les SGBDTRD doivent implémenter des protocoles de contrôle de réplication adaptés. Dans ce papier, nous discutons de l intérêt de répliquer les données dans les SGBDTRD et nous présentons RT-RCP, un protocole de contrôle de réplication que nous avons conçu pour gérer la réplication des données dans un contexte temps réel. Le défi est d assurer la mise à jour des copies sans pour autant affecter le respect des échéances des transactions. Pour cela, RT-RCP tolère l apparition d incohérences entre les copies tout en empêchant les accès aux données non-fraîches. Mots-clés : base de données, temps réel, réplication, protocole de réplication, transaction. 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 systè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 ).

56 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 respect 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 contraintes 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 principaux 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 transactions 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 architecture, 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 donné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 primary 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 Object 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 ).

57 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ées Les 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épassé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 transactions temps réel. On dénote par D l ensemble des données de la base. Certaines données de l ensemble D sont plus critiques pour le fonctionnement du système que d autres. On dénote l ensemble des données critiques par D critique. 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 Dcritique var 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 D non critique. Généralement, D non 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ème Nous proposons un modèle de système dans lequel les données de D critique sont totalement répliquées. Chaque site contient une copie de chaque donnée de D critique. Chaque site dans le système possède des listes associées à chaque donnée de D invar critique. 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 Dcritique invar. On dénote chaque liste associée à une donnée par LAC (List of Available Copies). 2.3 Modèle des transactions Dans 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 abandonnées. Schedae, 2007, prépublication n 13, (fascicule n 2, p ).

58 Hypothèses Dans 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 émission (FIFO). 3 La réplication des données dans 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 performance, la fiabilité et la disponibilité de tels systèmes peuvent être améliorées considérablement à 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éplication 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 incohé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 probabilité 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 propagation 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 D invar critique. Le modèle asynchrone, où les modifications effectuées par les transactions sont propagé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 caracté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 protocole 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 considérablement les performances du système. L inconvénient de ces deux modèles est que chaque site du système ne possède aucune 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 ).

59 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 estimons qu un protocole de contrôle de réplication adapté aux données de l ensemble Dcritique invar ne l est pas forcément pour les données de l ensemble Dvar critique. Dans le paragraphe suivant, nous présentons le protocole RT-RCP (Real Time Replication Control Protocol) afin de gérer les réplicas des données dans l ensemble Dcritique invar. 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 Dcritique invar 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 considérablement la probabilité que ces transactions respectent leur échéance. Dans notre modèle, les données dans l ensemble Dcritique invar 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 maximum 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 asynchrone. 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 Dcritique invar. 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 D invar critique 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 ).

60 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 Dcritique invar 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é autant 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 informations 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 Dcritique invar, 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 écriture 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 ).

61 Mise à jour des listes LACs La 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. {1,2,3,4,5} site 1 site 2 {1,2,3,4,5} site 3 {1,2,3,4,5} {2} site 1 site 2 {2} site 3 {2} {1,2,3,4,5} site 5 site 4 {1,2,3,4,5} {2} site 5 site 4 {2} Fig. 2: État initial du système. 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 ).

62 48 {2,1,4} site 1 site 2 {2,1,4} site 3 {2} {2,1,4} site 1 {2,1,4,5,3} site 2 {2,1,4,5,3} site 3 {2} site 5 site 4 {2,1,4} {2,1,4,5} site 5 site 4 {2,1,4} Fig. 4: Mises à jour synchrones. 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 protocole 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) : , [2] K. Ramamritham, S.H. Son, and L.C. Dipippo. Real-Time Databases and Data Services. Real-Time Systems, 28 : , [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 , Montreal, Canada, [4] P. A. Bernstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in Database Systems. Addison-Wesley, [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 SIGMOD on Management of Data, Denver, Colorado, pages ACM Press, [6] J. Gray. The Benchmarks HandBook for DataBases and Transaction Processing Systems. Morgan Kaufmann, Schedae, 2007, prépublication n 13, (fascicule n 2, p ).

63 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 10 th International Conference on Real Time and Embedded Computing Systems and Applications (RTCSA 2004), [8] S. H. Son and F.Zhang. Real-Time Replication Control for Distributed Database Systems : Algorithms and Their Performance. In Proc. of the 4th Intl. Conf. DASFAA 95, Singapore, pages , [9] M. Xiong, K. Ramamritham, J. R. Haritsa, and J. A. Stankovic. Mirror : a State-Conscious Concurrency Control Protocol for Replicated Real-Time Databases. Inf. Syst., 27(4) : , [10] M. Wiesmann, F. Pedone, A. Schiper, B. Kemme, and G. Alonso. Database Replication Techniques : A Three Parameter Classification. In Proceedings of 19th IEEE Symposium on Reliable Distributed Systems (SRDS2000), Nürenberg, Germany, IEEE Computer Society. [11] R. Abbott and H. Garcia-Molina. Scheduling Real-Time Transactions : A Performance Evaluation. In 14 th Int. Conf. on Very Large Data Bases (VLDB), pages 1 12, Los Angeles, California, March [12] L. Shu, J. Stankovic, and S. Son. Real-Time Logging and Failure Recovery. In In IEEE Real-Time Technology and Applications Symposium, [13] C. Duvallet, Z. Mammeri, and B. Sadeg. Les SGBD Temps Réel. Technique et Science Informatiques, 18(5) : , Schedae, 2007, prépublication n 13, (fascicule n 2, p ).

64 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

65 session 3 Modélisation

66 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

67 51 Prépublication n 14 Fascicule n 2 Vers une approche orientée services pour l aide au handicap Saïd Lankri, Alexandre Abellard, Pascal Berruet, André Rossi, Jean-Luc Philippe Laboratoire d Électronique des Systèmes TEmps Réel (CNRS FRE 2734) Université de Bretagne-Sud Résumé : Ce papier s intéresse à la construction d un système d aide au handicap et de maintien des personnes à domicile à travers deux aspects fondamentaux consistant pour le premier en la modélisation 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 système les services courants de la vie quotidienne, en sélectionne un et le système se charge d élaborer 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, domotique, 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 ).

68 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 maintien des personnes à domicile et aux bâtiments intelligents. Parmi les nombreuses applications 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 automatiquement 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 objet 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 «laboratoire d accessibilité de la Gare Montparnasse (Paris)» de mai à juillet 2006, qui met en œuvre une série d aménagements pour les personnes handicapées : cheminements podotactiles 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 activation 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 à contrô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 communicants, 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 domaine. 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 ensemble 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 ).

69 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és Le 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 une moindre mesure 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ésentations mé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 (Simultaneous 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 spatiale : 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 information peut être stockée de manière centralisée et traitée de maniè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 nombreux 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 ).

70 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éadaptation 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 distribution de l information répartie. Le centre est équipé de plusieurs bornes fixes (des ordinateurs 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 construire 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éorganisation 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 administrateur 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 ).

71 55 La planification conjointe Dans un contexte multi usagers, les chemins calculés par le systè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 ceuxci 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é directement au bus. 3.1 Terminologie Le 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 équipements 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 fonctionnalité offerte directement par le système indépendemment de la ressource qui l implante. 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 ensuite 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émentaires sont décomposées en opérations comme le montre la Fig. 2. Schedae, 2007, prépublication n 14, (fascicule n 2, p ).

72 56 Fig. 2: Le modèle de services. Outre le graphe fonctionnel, un modè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 équipements. La combinaison du graphe fonctionnel et des modèles de ressources forme notre modèle de services. Chaque modè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 activations 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écomposition 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 informations 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 simplement 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 ).

73 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 fonctionnelle 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écessite 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 fonctionnel, 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 correspondantes 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 fonctionnelle 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 topologiques 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 ).

74 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 demandé. 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 à activation locale. L avantage de notre modèle de services est qu il n est pas nécessaire de lui apporter 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éparation 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 conjointe. 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 concepts é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à piloté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 ethernet. 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 ).

75 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, [2] P. Berkhin. Survey of clustering data mining techniques. Technical report, Accrue Software, [3] J. Hartigan. Clustering Algorithms. Wiley, [4] H. Spath. Cluster Analysis Algorithms. Ellis Horwood, [5] D. Silver. Cooperative pathfinding. In Artificial Intelligence and Interactive Entertainment Conference, [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 [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 [8] J. A. Bergstra and J. W. Klop. ACP τ : A universal axiom system for process specification. In Algebraic Methods : Theory, Tools and Applications Schedae, 2007, prépublication n 14, (fascicule n 2, p ).

76 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

77 61 Schedae, 2007 Prépublication n 15 Fascicule n 2 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 Marseille cedex 20 Résumé : La modélisation des structures variables devient cruciale pour la modélisation des systèmes dynamiques. En effet, au delà de la dynamique du comportement, les modèles nécessitent un changement plus profond (de structure) pour mieux représenter la dynamique de certains systèmes. Dans le but de résoudre les interrogations liées à la modélisation des structures dynamiques 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 formalisme 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 simulation. 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 simulation [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. Lassaad Baati «Approche de modélisation DEVS à structure hiérarchique et dynamique» Schedae, 2007, prépublication n 15, (fascicule n 2, p ).

78 62 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 changement 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 proprié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ésentons une revue de la littérature basée sur le formalisme DEVS, qui traite de la problématique 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 approprié 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 AtomicDEVS= X, Y, S, δint, δ ext, λ, lt La base de temps est continue et n est pas explicite : T = R ; 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éaction du système par rapport à un événement externe dépend de l état courant du systè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. { M / d D}, EIC, EOC CoupledDEVS = X, Y, D, IC self self d, Schedae, 2007, prépublication n 15, (fascicule n 2, p ).

79 63 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; { / d D} M d est l ensemble des composants du modèle couplé, tel que d appartient à 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 structure dynamique. Pour répondre à cette exigence, différentes approches ont été proposé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 «mappedmodel», 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 structure 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 changement 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 classique. 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 possibles du modèle couplé Σ*. Ainsi, il propose le formalisme parallèle de structure dynamique Schedae, 2006, prépublication n 15, (fascicule n 2, p ).

80 64 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 formalisme 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 comportement 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élisation 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 comportement 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 comportement. 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énements 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. Schedae, 2007, prépublication n 15, (fascicule n 2, p ).

81 Représentation formelle Cette approche préserve la représentation formelle DEVS de simulation proposée par Zeigler 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 : Z = X Z, YZ, SZ, δ ext, δ int, λz, lt Z et Mc = X, Y, D, M, EIC, EOC, IC, F 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). Y Z = {( p, v) p OPorts, v Vy p }: Ensemble des couples, port de sortie et valeur, qui donnent les étapes d évolution du changement de structure. S ( { }) : Ensemble des variables d état du modèle couplé de comportement à Z = θ, st i 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 nouveau 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. EIC ( ) : Ensemble des couplages externes en entrée. i sti. IN M d. IN / d Di 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 correspondant à la structure st i. EOC ( ) : Ensemble des couplages externes en sortie. i sti. OUT M d. OUT / d Di IC i ( d. OUT d'. IN) with d d' : Ensemble des couplages internes. Ce sont les connections entre les ports des sous modèles, au niveau du modèle couplé de comportement à structure variable Mc. IC {(( )( )) } i = d, a, d', b / d d', a OPortsd, b IPortsd ' F = f : Ensemble des fonctions de couplage. f c c 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. δext : Q XZ SZ : 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 : Q = {( s, e) / s S ( )}, avec e est le temps écoulé dans l état Z et 0 e ltz s s: Q est l ensemble des états totaux. δ ext( sm, e, Xm) = sn / sm, sn SZ et m n s ( ) m = θm, stm δ ( ) ) ( ) ext θm, st m, e, Xm = θn, stn 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 couplé géré (st m ). θ m, θ n : Ensembles de variables d état dans le modèle de structure, relatifs aux structures st, st m n. e : Valeur du temps écoulé dans l état s m. Schedae, 2006, prépublication n 15, (fascicule n 2, p ).

82 66 m { X, Y, D,{ M / d D }, EIC, EOC, IC F } st =, m m m d m X m : Valeur d entrée introduite à travers un événement externe. :S Fonction de transition interne. Elle est exécutée après avoir passé la δ int Z S Z durée relative à lt(s) dans le même état sans recevoir aucun événement externe. Des systèmes peuvent nécessiter un changement de structure après avoir passé une certaine période dans le même état (division cellulaire, Glace-eau-vapeur, etc.). δ ( int sm) = sn / sm, sn SZ - δ ( ) ( ) ( ) int θm, st m, ltz sm = θn, stn λ( s ) = Fonction de sortie. Elle permet d établir une connexion avec d autres m Y m modèles. lt Z Fonction de durée de vie propre à chaque état du modèle. F m est l ensemble des fonctions de couplage du modèle couplé. m m m m 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 simulateur abstrait. Les avantages de ce concept est la dichotomie entre les modèles et le simulateur. 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 (coordinateurs 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 abstrait Cette approche préserve la représentation formelle du formalisme DEVS, ainsi que la composition 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érarchique 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 abstrait Dans 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 Schedae, 2007, prépublication n 15, (fascicule n 2, p ).

83 67 Fig. 2 : le mappage d un modèle devs à structure dynamique vers un simulateur. simulateurs). Comme présenté ci-dessus le simulateur qui gère la structure est un simulateur classique sans aucun changement majeur. En effet la modification se situe dans le «coordinateur de structure». Ce nouveau coordinateur étend les attributions du coordinateur classique, pour assurer l application des changements de structure de façon dynamique. 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 variable 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. variables parent //parent coordinator tl //time of last event tn //time of next event //subordinated coupled model DEVN{X,Y,{Md/d in D},D,EIC,EOC,IC,F} //list of elements (d,tnd) sorted by //tnd ordered list event-list d* //selected imminent child //list of actions changing structure Actions_list when receive Ymessage (y,t) with output y if d* is simulator send Ymessage with value YN=F(Yd*) to parent c*= ys.related_coordinator //loop to perform a set of actions while ys.actions_list not empty set do execute_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 parent if d* in {DEVN.IC.source} send Ymessage with input value x=f(yd*)to r end DEVS-Structure-Coordinator Fig. 3 : Algorithme du coordinateur de structure. Schedae, 2006, prépublication n 15, (fascicule n 2, p ).

84 68 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 subordonné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 transformé 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 message 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 fonctions 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 sommaire des fonctions de changement de structure est présentée dans [12]. 5.3 Exemple du modèle couplé du comportement de 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 officier chargé des tireurs. Dans cet exemple, nous nous intéressons exclusivement aux changements 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. del _ comp(), add _ eoc() Fig. 4 : Modèle de structure de l équipe du tireur embusqué [10]. 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 coordinateur de structure reçoit un message de sortie, il vérifie la consistance du temps courant, et applique les mises à jour de structure. Schedae, 2007, prépublication n 15, (fascicule n 2, p ).

85 69 Le message de sortie comporte une liste d actions correspondant à des fonctions dans Figure 4. del_comp (st 1, «C_SEO») et add_eoc (st 1, 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). Fig. 5 : Modèle de comportement de l équipe 1 re structure. Fig. 6 : Modèle de comportement de l équipe 2 e structure. 6 Conclusion Ce papier décrit une approche de modélisation DEVS à structure hiérarchique et dynamique 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 fermeture 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éutilisabilité des modèles de comportement. Ceci permet aussi d avoir des modèles de structure 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. Schedae, 2006, prépublication n 15, (fascicule n 2, p ).

86 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, , [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 , [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 , [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 , [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 , [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 , Gainesville, Florida [7] Barros F.J. «Modeling Formalism for Dynamic Structure Systems». ACM Transactions on Modeling and Computer Simulation, 7 (4) : pages , [8] Barros. F «Multimodels and Dynamic Structure Models : An Integration of DSDE/DEVS and OOPM», Dans Proceedings of the 1998 Winter Simulation Conference, pp , Winter Simulation Conference, Décembre [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 [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 [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, [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 SISO. Toulouse, FR, pages , Schedae, 2007, prépublication n 15, (fascicule n 2, p ).

87 71 Prépublication n 16 Fascicule n 2 Analyse de la dynamique de l infection VIH Sensibilité aux traitements Marie-José Mhawej IRCCyN Institut de recherche en communication et cybernétique de Nantes, UMR-CNRS , rue de la Noë BP Nantes Cedex 03, France Résumé : Le virus VIH/SIDA affecte le système immunitaire en infectant les cellules saines CD4+, qui se muent en de véritables usines productrices de nouvelles particules virales. Les multithérapies qui existent se composent essentiellement des inhibiteurs de protéase (PI) qui perturbent la maturation 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 sensibilité 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 de mieux 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 ).

88 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 Protéase (PI) qui perturbent la maturations des nouveaux virions et des Inhibiteurs de la Transcriptase 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 traitements 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 premier 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 complexité / 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 3D Reprenons le modèle 3D de base. Ce modèle fait intervenir trois grandeurs caractéristiques : la population de cellules CD4+ saines (T ) en (CD4/mm 3 ), la population de cellules CD4+ infectées (T ) en (CD4/mm 3 ) et la charge virale (V ) en (copiesd ARN/ml). T = s δt βt V, T = βt V µ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» βt V 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 ).

89 73 Le paramètre β est un indicateur de l efficacité du processus d infection. Il inclut la probabilité 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 u 1 = 1 η RT I où η RT I est l efficacité combinée des RTI administrés (0 η RT I 1). Ce modèle suppose donc un traitement aux RTI seuls. T = s δt u 1 βt V, T = u 1 βt V µt, V = kt cv. (2) 2.2 Le modèle 4D Afin de mieux illustrer l effet des traitements,nous pouvons décrire la dynamique de l infection 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 (V 1 ) des virus non-infectieux (V 2 ) produits sous l effet des PI. T = s δt u 1 βt V 1 T = u 1 βt V 1 µt V 1 = u 2 kt c 1 V 1 V 2 = (1 u 2 )kt c 2 V 2 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 u 1 = 1 η RT I où η RT I est l efficacité de l ensemble des RTI administrés (0 η RT I 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 u 2 = 1 η P I où η P I est l efficacité de l ensemble des PI administrés (0 η P I 1). 2.3 Identifiabilité et identification des modèles 3D et 4D L identifiabilité des systèmes dynamiques est une propriété fondamentale puisqu elle permet, 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 modè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 population totale de CD4 (y 1 = T + T ) et la charge virale (y 2 = V pour le modèle 3D et y 2 = V 1 + V 2 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 surmonter ce problème, une nouvelle méthode d identification basée sur l approche Monte-Carlo (3) Schedae, 2007, prépublication n 16, (fascicule n 2, p ).

90 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 de mé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 η RT I )β = β et η P I k = 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 action 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 (notament 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 ).

91 75 4 Commandabilité et sensibilité aux traitements 4.1 Préliminaires 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 Linéarisation autour d un point de fonctionnement Soit le système non linéaire { ẋ = f(x, u), ẏ = h(x). (4) Le système linéaire approché s écrit alors : { ẋ = f f.x + x u.u, (5) ẏ = h x.x. Ce système est de la forme { ẋ = Ax + Bu, ẏ = Cx. (6) La matrice de commandabilité du système 6 est C= (B, AB, A 2 B,..., A n 1 B) où n est la dimension de l espace des états. 4.2 Application aux modèles du VIH Les modèles 2 et 3 sont non linéaires. On peut donc les linéariser autour d un point de fonctionnement donné (x 0, u 0 = 1). Après linéarisation, on obtient respectivement les matrices A RT I et B RT I pour le modèle 2 et les matrices A CO et B CO pour le modèle 3. On calcule alors les matrices de commandabilité des ces deux modèles C RT I et C CO. En appliquant la décomposition par valeurs singulières aux matrices C RT I et C CO 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ésultats Les 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 excellente 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 ).

92 76 Patient 06KEIN Patient s(mm 3 j 1 ) δ(j 1 ) β(mm 3 j 1 ) 3.49E E 08 µ(j 1 ) k(mm 3 ml 1j 1 ) c(j 1 ) T (0)(CD4/mm 3 ) T (0)(CD4/mm 3 ) V (0)(copies/ml) Tab. 1: Paramètres des patients 06KEIN et estimés sur une période de l infection. Pour le modèle 4D, on a c 1 = c 2 = c, V 1(0) = V (0) et V 2(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 caracté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 pour les deux modèles. Patient : De même, la table 1 montre les paramètres relatifs au patient 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 pour le modèle 3D et de pour le modèle 4D. Évolution conjointe de de la VSM et de la charge virale pour le patient 06KEIN 2 x 10 3 Evolution conjointe de la charge virale et de la VSM x x 10 3 Evolution conjointe de la charge virale et de la VSM x valeur singuliere minimale 1 5 charge virale en copies/ml valeur singuliere minimale 1 5 charge virale en copies/ml temps en jours Modèle 3D (RTI seuls) temps en jours 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 ).

93 77 Évolution conjointe de de la VSM et de la charge virale pour le patient Evolution conjointe de la charge virale et de la VSM x Evolution conjointe de la charge virale et de la VSM x valeur singuliere minimale charge virale en copies/ml valeur singuliere minimale charge virale en copies/ml temps en jours Modèle 3D (RTI seuls) temps en jours Modèle 4D (RTI+PI) Fig. 2: Analyse de la commandabilité pour le patient VSM 3D VSM 4D valeur singulière minimale temps en jours Fig. 3: Représentation de la VSM des modèles 3D et 4D pour le patient Pour le modèle 4D (action combiné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 affecté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 de modé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 ).

94 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 therapy. Nature, 387 : , [2] A.S. Perelson and P.W. Nelson. Mathematical analysis of HIV-1 dynamics in vivo. SIAM Review, 41(1) :3 44, [3] David D. Ho et al. Rapid turnover of plasma virion and CD4 lymphocytes in HIV-1 infection. Nature, 373 : , [4] Xiping Wei et al. Viral dynamics in human immunodeficiency virus type 1 infection. Nature, 373 : , [5] R.A. Filter, X. Xia, and I.K. Gray. Dynamic HIV/AIDS parameter estimation with application to a vaccine readiness study in southern Africa. IEEE Transactions on Biomedical Engineering, 52(5) : , [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 Engineering in Medecine and Biology Society, Shanghai, China, [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, [8] R. Zurakowski and R.A. Teel. A model predictive control based scheduling method for HIV therapy. Journal of Theoretical Biology, pages , [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), [10] A.M. Jeffrey. A control theoretic approach to HIV/AIDS drug dosage desing and timing the initiation of therapy. PhD thesis, University of Preotria, South Africa, [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) : , [12] I. Craig and X. Xia. Can HIV/AIDS be controlled? IEEE Control sytems Magazine, pages 80 83, [13] X. Xia and C. H. Moog. Identifiability of nonlinear suystems with application to hiv/aids models. IEEE Transactions on Automatic Control, 48(2) : , [14] R.A. Filter and X. Xia. A penalty function to HIV/AIDS model parameter estimation. In 13th IFAC Symposium on System Identification, Rotterdam, [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, [16] D. Kirschner, S. Lenhart, and S. Serbin. Optimal control of the chemotherapy of HIV. J. Math. Biol, 35 : , [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, [18] J. Kim, W.H. Kim, H.B. Chung, and C.C. Chung. Constant drug dose leading long-term nonprogressor for HIV-infected patients with RTI and PI. In 44th IEEE Conference on Decision and Control, and the European Control Conference 2005, Seville, Spain, [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, Schedae, 2007, prépublication n 16, (fascicule n 2, p ).

95 session 4 Communication sans fil

96 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

97 79 Schedae, 2007 Prépublication n 17 Fascicule n 2 Évolution des standards/architectures pour les communications sans fil Application 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 Marseille cedex 13 Résumé : Dans l état actuel des choses, il est possible de rassembler la totalité des systèmes de communications 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 études 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 évolution des protocoles de communications et des terminaux (téléphones, assistants personnels, ordinateurs portables ), les systèmes électroniques devront être conçus selon une architecture 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 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 ).

98 80 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éveloppées dans les années quarante. Cependant, depuis les premières expériences de Marconi à 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éphonie 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éduites, 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ération. 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 ( MHz) ou ( 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 multimédia (accès à Internet, aux réseaux d entreprise, à des services de messageries, de visioconfé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), autorise des débits de 10Mb/s. De plus, le but principal des nouvelles technologies de communication 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 : Schedae, 2007, prépublication n 17, (fascicule n 2, p ).

99 81 Bluetooth (IEEE ) 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 Bluetooth 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 ( ) 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 x) 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 b à 54 Mbit/s en a/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 ) 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 nouveaux 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érations), 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. Schedae, 2006, prépublication n 17, (fascicule n 2, p ).

100 82 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 paramè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érodyne, si elle nécessite plusieurs étapes alors le récepteur est appelé superhétérodyne. RF Filtre RF LNA Filtre Réjection Image Filtre de sélection de canal Démodulateur LO1 LO2 Fig. 2 : Architecture 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 oscillateur local (OL) fonctionnant à une fréquence égale à celle du canal sélectionné (figure 3). RF I Filtre P.Bande CAG CAN Filtre RF LNA 0 90 LO BB DSP Q Filtre P.Bande CAG CAN Fig. 3 : Architecture Homodyne. 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 Schedae, 2007, prépublication n 17, (fascicule n 2, p ).

101 83 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 à transposer 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. RF I Filtre P.Bande CAG CAN Filtre RF LNA 0 90 LO Filtrage et multiplication numériques BB DSP Q Filtre P.Bande CAG CAN Fig. 4 : Architecture Faible-FI. 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 parfaitement 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 multistandard, 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 architecture 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. Récepteur Bluetooth FiltreRF GSM I Filtre Passe bas Duplexeur.... LNA Multi-bandes Filtre RF UMTS 0 90 LO Bande de Base Q Filtre Passe bas Contrôle Automatique de Gain Antenne Multibandes Contrôle CAN Automatique Multistandard de Gain CAN Multistandard Fig. 5 : Architecture multistandard proposée dans [17]. 1. LNA (Low Noise Amplifier) :c est un amplificateur à faible bruit. Schedae, 2006, prépublication n 17, (fascicule n 2, p ).

102 84 Solutions et réalisations actuelles Dans cette partie, nous présentons deux récepteurs conçus pour des applications multistandards. 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 g, GSM et WCDMA tout en adoptant l architecture Zero-IF. GSM LNA I Filtre de sélection du canal CAN Multistandard RF Duplexeur g LNA Synthètiseur de fréquence Bande de Base 90 WCDMA LNA Q Filtre de sélection du canal CAN Multistandard Fig. 6 : Architecture multistandard proposée dans [18]. 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, correspondant. 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 consommation 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éjection 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. Fig. 7. Architecture multistandard proposée dans [2]. Cette architecture a été testée en technologie CMOS 0.18 µm et se révèle prometteuse car elle a permis une amélioration du niveau de réjection d image et de la sensibilité Schedae, 2007, prépublication n 17, (fascicule n 2, p ).

103 85 du récepteur mais au prix d une complexité de conception plus importante et une augmentation 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 Compliant Tranceiver for ZigBee Applications IEEE J. Solid-state Circuits, vol. 41, no 12, pp Dec [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 [3] Specification of the Bluetooth System, Dec [4] H. Darabi et al, "A 2.4-GHz CMOS tranceiver for Bluetooth", IEEE J. Solid-state Circuits, vol. 36, no 12, pp Dec [5] IEEE Standard, Draft P b/d3, Oct [6] Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications High-Speed Physical Layer in the 5 GHz Band, ANSI/IEEE Standard a, [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 g/D1.1, [8] B. Razavi, RF Microelectronics, Prentice Hall PTR, [9] B. Razavi, Architectures and Circuits for RF CMOS Receivers IEEE Custom Integrated Circuils Conference, pp , [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 Jan [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 Jan [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 , Aug [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 , June [14] RF5421 Dual-band tri-mode a/b/g wireless LAN solution, RF Micro Devices, Greensboro, NC, [Online]. Available : [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 , June Schedae, 2006, prépublication n 17, (fascicule n 2, p ).

104 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 , Feb [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 March [18] A.A. Abidi, RF CMOS comes of Age, IEEE Symposium on VLSI Circuits, Digest of Technical Papers. pp , Schedae, 2007, prépublication n 17, (fascicule n 2, p ).

105 87 Schedae, 2007 Prépublication n 18 Fascicule n 2 Extraction d inductances parasites et 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 , Caen Cedex 9, France Olivier Hubert, David Denis NXP Chief Technology Office/Process & Library technology NXP Semiconducteurs, 2 Esplanade Anton Philips, BP , 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 accroissent 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. 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 ).

106 88 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 circuits 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 complet. Les logiciels d extraction d éléments parasites qui utilisent des expressions analytiques. Ils sont un bon compromis entre précision et vitesse. Ils sont aujourd hui capables 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, appliqué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 quatriè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 information de phase et avoir une vue globale des pertes. Largeur masse Largeur Si gnal Largeur li gne masse Largeur masse Largeur Si gnal ligne Largeur masse Si gnal Largeur ligne M x espacement espacement M x espacement espacement M y M y 1.1. Ligne simple 1.2. Ligne coplanaire en U 1.3. Lignes coplanaires en superposées Fig. 1 : Lignes de transmission étudiées. 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. Schedae, 2007, prépublication n 18, (fascicule n 2, p ).

107 89 Fig. 2 : Circuit équivalent d un segment de ligne. R, L, C et G sont respectivement la résistance, l inductance, la capacité et la conductance 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 : 2 γ = ( R + jwl)( G + jwc) = ( α + jβ ) 2 R + jwl Z c = G + jwc (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 c = B C = Z 2 0 (1 + S (1 S ) ) 2 2 S S (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. Z = γ. l. Zc R = Real( γ. l. Z ) L = Imag( γ. l. Z ) ω C = Imag ( γ. l / Z ) ω c c c βl t pha = () s 2πf 20 3 D = 10 α( db / mm) ln10 (3) Ces paramètres sont utilisés pour caractériser les éléments parasites des interconnexions 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 densité de courant au centre de la section. Cet effet est caractérisé à la pulsation ω par l épaisseur de peau δ qui est la profondeur de pénétration à laquelle la densité de courant est divisée par e2,71. δ = 2 ωμσ (4) Avec σ = 1/ρ la conductivité du conducteur de perméabilité µ= Schedae, 2006, prépublication n 18, (fascicule n 2, p ).

108 90 La figure 3 illustre la distribution de la densité de courant selon la section d un conducteur. 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. paisseur du conducte ur δ δ + = Largeur δ 2δ 2δ δ Fig. 3 : Distribution de courant à haute fréquence selon la section d un conducteur. 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 conducteur, 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 : l R DC = ρ h * m l R50 GHz = ρ 2* h* δ 2l m + h T L = 2l ln m + h 3l 4 nh (5) l la longueur de la ligne, h son épaisseur, m sa largeur, 2*δ la largeur où circule le courant à 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 augmente 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 % Schedae, 2007, prépublication n 18, (fascicule n 2, p ).

109 91 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ésistif et inductif de ces lignes. C est pourquoi il est important de disposer d outils qui permettent 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é obtenus 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 critique. Au vu des pics apparaissant sur les courbes de paramètre S de Assura et des différences de résultats avec les mesures, nous avons conclu à une limite d utilisation du moteur d extraction de Cadence. Fig. 4 : Comparaison des paramètres S d une structure en U. 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 différence sur la valeur de la résistance qui est en dessous de 3 %. Fig. 5 : Résistance et inductance comparées de la structure en U. Schedae, 2006, prépublication n 18, (fascicule n 2, p ).

110 92 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. Tank A inductanc e Tank B interconnexions Circuit de r glage de l os cillateur Fig. 6 : Structure de l oscillateur contrôlé en tension étudié. 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]. Schematic & RC-Extracted S11 RLCK-extracted S 11 Fig. 7 : Fréquence de résonance de l oscillateur contrôlé en tension. 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. Schedae, 2007, prépublication n 18, (fascicule n 2, p ).

111 93 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. LNA Mixer = p otentiel probl m e Fig. 8 : Couplage inductif. 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 , Sept [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., [3] K. L. Shepard, D. Sitaram, and Y. Zheng. Full-chip, three-dimensional, shapes-based RLC extraction. Proc. Int. Conf. Computer-Aided Design, pp , [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, Schedae, 2006, prépublication n 18, (fascicule n 2, p ).

112 94 [5] Robert E. Collin. Foundations for microwave engineering. Mc Graw Hill, Inc. 2nd ed [6] H. Greenhouse. Design of Planar Rectangular Microelectronic Inductors. Parts, Hybrids, and Packaging, IEEE Transactions on Vol. 10, n. 2, pp , [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 , Feb [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 Schedae, 2007, prépublication n 18, (fascicule n 2, p ).

113 95 Prépublication n 19 Fascicule n 2 Un nouvel algorithme de routage géographique dans les réseaux de capteurs Julien Champ Laboratoire d Informatique, de Robotique et de Microélectronique de Montpellier Clément Saad Laboratoire d Informatique, de Robotique et de Microélectronique de Montpellier Laboratoire d Informatique d Avignon Résumé : Ce papier présente un nouvel algorithme de routage géographique pour les réseaux de capteurs. 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 simulations 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 ).

114 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 le MIT 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é proposé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 localisation 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 être mobiles. Ce papier considère uniquement des réseaux de capteurs statiques. Nous supposons que tous les capteurs ont le mê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. Cependant, 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 associe à chaque capteur u une position estimée (X u, Y u) 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 à la présence d obstacles. Schedae, 2007, prépublication n 19, (fascicule n 2, p ).

115 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 (X u, Y u) 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 dist AB ɛ A ɛ B r où dist AB est la distance euclidienne entre les points de coordonnées (X A, Y A ) et (X B, Y B ). 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. B A D ε A C r : rayon d émission 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é P AB d existence d un lien de communication entre A et B, puis le rapport R AB 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 lien Connaissant 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 probabilité d existence d un lien de communication entre deux capteurs A et B. Notons P AB cette probabilité associée à l arc (A, B). Il est possible de différencier trois cas pour calculer la probabilité P AB : 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 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 P AB = 1 si la distance entre A et B est inférieure ou égale à r. Autrement, P AB = 0. Schedae, 2007, prépublication n 19, (fascicule n 2, p ).

116 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 S ɛ A. La probabilité P AB est égale à. π ɛ 2 A Le dernier cas est le plus difficile. Il est illustré en figure 2 : La surface S 1, la plus à gauche, correspond aux positions que peut prendre le capteur A sans pouvoir recevoir les messages émis par B ; La surface S 3, 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 S 2, 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. CA S1 S2 εa S3 r + ε B r ε B ε B Capteur B (Xb,Yb) C B Capteur A (Xa,Ya) 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 S 1,S 2,S 3 ainsi que des probabilités P 1, P 2 et P 3 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 : P AB = S 1 P 1 + S 2 P 2 + S 3 P 3 π ɛ 2 A (1) Lorsque le capteur A est dans la surface S 3, les capteurs A et B sont sûrs de pouvoir communiquer, P 3 = 1. Par contre, la communication sera impossible si A est positionné dans la surface S 1, donc P 1 = 0. Le calcul de la probabilité P AB se simplifie en : P AB = S 2 P 2 + S 3 π ɛ 2 A (2) Le calcul de la probabilité P 2 est plus délicat. Pour le détail des calculs, le lecteur est invité à se reporter à [11]. Intéressons nous maintenant 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 énergie et le progrès réalisé en traversant un arc Dans cette section, nous utilisons la modélisation énergétique définie dans [12]. Considérons deux capteurs A et B et la distance d AB qui les sépare. Le coût énergétique J AB d un envoi sur le lien (A, B) est donné par la formule : J AB = d a AB + c (3) Schedae, 2007, prépublication n 19, (fascicule n 2, p ).

117 99 avec a et c des constantes dépendantes de l environnement du réseau. Nous prenons ici a = 4 et c = comme dans [12]. Le progrès prog AB lorsqu on traverse le lien (A, B) est donné par la formule : prog AB = d A,puits d B,puits (4) J AB Considérons le rapport suivant :. Afin de normaliser cette valeur entre 0 et 1 on prog AB utilise le rapport qui correspond au meilleur compromis possible entre la dépense J opt prog opt 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 : R AB = Jopt prog opt prog AB J AB (5) Cependant, le progrès pouvant être négatif, R AB appartiendrait à l intervalle [ 1, 1]. Afin que R AB soit compris dans l intervalle [0, 1], on utilise la formule suivante : ( J opt prog AB ) + 1 prog opt J AB R AB = (6) 2 Etant donné que J AB = J BA mais que prog AB prog BA, alors R AB R BA pour les arcs (A, B) et (B, A). 3.3 Calcul du coût d un arc Maintenant que nous savons comment calculer P AB et R AB, 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é C AB, est donné par la formule suivante : C AB = 1 [αp AB + (1 α)r AB ] (7) La constante α comprise entre 0 et 1 permet d avantager soit la probabilité soit le rapport «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 connaî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 T ab_couts qui associe un voisin à son coût. Lorsqu un capteur désire transmettre un message 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 ).

118 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 T ab_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 C uv. À 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 voisinage un message I_AM_ALIV E, il est possible de détecter les pannes de capteurs. Lorsqu 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, Cout Exp,D > */ /* Expediteur l identifiant de l expéditeur et Cout Exp,D le coût de son chemin de secours*/ /* MettreAJourCout(voisin,cout) Met à jour la table T ab_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 le meilleur chemin, -1 s il y en a aucun. */ /* CalculCoutCheminSecours() Retourne parmi tous les voisins non interdits, le coût du 2 eme meilleur chemin, -1 s il y en a aucun. */ if Cout v,d!=-1 then MettreAJourCout(v,Cout Exp,D + Cout v,d ) else Interdire(v) // Celui qui nous a envoyé Msg n a plus de chemin à proposer if (PasRecu(Msg)) then Stocker(Msg) else if (v MeilleurV oisin) then Interdire(MeilleurV oisin) // On interdit MeilleurV oisin, à l origine de la boucle MeilleurV oisin = CalculMeilleurChemin() Msg.Cout u,d = CalculCoutCheminSecours() if (MeilleurV oisin -1) then Envoyer(MeilleurV oisin, Msg) else Abandon Schedae, 2007, prépublication n 19, (fascicule n 2, p ).

119 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 couche MAC 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 Afin d avoir une densité qui varie entre 6 et 20 nous faisons varier le rayon d émission maximum r du capteur. Pour chaque nœud u V, avec V l ensemble des nœuds, on tire aléatoirement et en suivant une distribution uniforme : la position estimée (X u, Y u) de u dans le carré de taille ; son erreur de positionnement ɛ u compris entre 0 et r ; sa position réelle à l intérieur du cercle centré en (X u, Y u) 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 comparer 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 indique 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é α % de messages à destination 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 notre mé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 ).

120 Densite6 95 % de messages à destination Alpha Fig. 3: Influence de α sur le taux d acheminement dans des réseaux de densité Densite6 % d énergie dépensée en plus de l optimal Alpha Fig. 4: Influence de α sur la consommation d énergie dans des réseaux de densité Depense_Energie % d énergie dépensée en plus de l optimal Densité du réseau Fig. 5: Comportement de la dépense d énergie lorsque la densité varie. Schedae, 2007, prépublication n 19, (fascicule n 2, p ).

121 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 énergie. 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 augmenter 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 conseils, 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) : , [2] MIT. 10 emerging technologies that will change the world. MIT Technology Review, Feb [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), [4] Chalermek Intanagonwiwat, Ramesh Govindan, and Deborah Estrin. Directed diffusion : a scalable and robust communication paradigm for sensor networks. In Mobile Computing and Networking, pages 56 67, [5] Prosenjit Bose, Pat Morin, Ivan Stojmenovic, and Jorge Urrutia. Routing with guaranteed delivery in ad hoc wireless networks. Wireless Networks, 7(6) : , [6] Ivan Stojmenovic and Xu Lin. Power-aware localized routing in wireless networks. IEEE Transactions on Parallel and Distributed Systems, 12(11) : , [7] Kuruvila, Nayak, and Stojmenovic. Progress based localized power and cost aware routing algorithms for ad hoc and sensor wireless networks. International Journal of Distributed Sensor Networks, 2(2) : , [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, [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), [10] D. Niculescu and B. Nath. Ad hoc positioning system (aps). In Proc. IEEE GlobeCom, San Antonio, AZ, November [11] J. Champ. Routage dans les réseaux Ad hoc. Mémoire de Master Recherche, LIRMM, Juin [12] V. Rodoplu and T.H. Meng. Minimum energy mobile wireless networks. In Proc. of IEEE International Conference on Communications (ICC), 98, volume 3, pages , Schedae, 2007, prépublication n 19, (fascicule n 2, p ).

122 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

123 session 5 Théorie de l information

124 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

125 105 Prépublication n 20 Fascicule n 2 Cryptanalyse de Achterbahn-128/80 avec une nouvelle limitation de suite chiffrante María Naya-Plasencia Projet CODES INRIA Paris-Rocquencourt France Résumé : Nous présentons deux attaques du type key-recovery dans le cadre de la nouvelle proposition de B. M. Gammel, R. Gottfert, et O. Kniffler (SASC07). Dans cette proposition, la suite chiffrante produite avec le même couple (clé, valeur initiale) est limitée à 2 52 bits pour Achterbah-80 (respectivement à 2 56 pour Achterbahn-128). Notre attaque a une complexité de (respectivement ) et nécessite moins de 2 52 bits (respectivement moins de 2 56 bits) de suite chiffrante pour Achterbahn-80 (respectivement pour Achterbahn-128). De plus, s agissant d Achterbahn-80 nous proposons une mé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 à flot Le 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 information 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 invention 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 ).

126 106 une des deux grandes familles de chiffrements à clé secrète. Dans un chiffrement à flot synchrone 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. pseudo-random generator K, IV = initialisation keystream s t + m t plaintext c t 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 conception 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 Schedae, 2007, prépublication n 20, (fascicule n 2, p ).

127 Spécifications principales de Achterbahn-128 Il s agit d un générateur de suite chiffrante composé de 13 NLFSRs primitifs, dont la période est maximale. La longueur du i e registre est L i = 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 (x 1,..., x 13 ) où les entrées correspondent aux suites de sortie des registres décalées correctement. La fonction booléenne F est la suivante : x 6 + x 1 + x 2 + x 3 + x 4 + x 5 + x 8 + x 10 + x 12 + x 13 + x 1 x 6 + x 3 x 11 + x 3 x 12 + x 9 x 5 + x 5 x 13 + x 7 x 6 + x 7 x 9 + x 7 x 11 + x 7 x 12 + x 7 x 13 + x 8 x 9 + x 8 x 13 + x 9 x 10 + x 9 x 11 + x 10 x 11 + x 10 x 12 + x 10 x 13 + x 11 x 13 + x 1 x 6 x 9 + x 1 x 6 x 11 + x 1 x 6 x 12 + x 1 x 6 x 13 + x 2 x 3 x 9 + x 2 x 3 x 13 + x 2 x 5 x 11 + x 2 x 5 x 12 + x 2 x 9 x 10 + x 2 x 10 x 11 + x 2 x 10 x 12 + x 2 x 10 x 13 + x 3 x 4 x 9 + x 3 x 4 x 13 + x 3 x 5 x 9 +x 3 x 5 x 11 +x 3 x 5 x 12 +x 3 x 5 x 13 +x 3 x 8 x 9 +x 3 x 8 x 13 +x 3 x 9 x 11 +x 3 x 9 x 12 +x 3 x 10 x 11 + x 3 x 10 x 12 + x 3 x 11 x 13 + x 3 x 12 x 13 + x 4 x 5 x 9 + x 4 x 5 x 13 + x 4 x 9 x 10 + x 4 x 10 x 13 + x 5 x 8 x 9 + x 5 x 8 x 13 + x 5 x 9 x 10 + x 5 x 10 x 13 + x 6 x 7 x 9 + x 6 x 7 x 11 + x 6 x 7 x 12 + x 6 x 7 x 13 + x 7 x 9 x 11 + x 7 x 9 x 12 + x 7 x 11 x 13 + x 7 x 12 x 13 + x 8 x 9 x 10 + x 8 x 10 x 13 + x 9 x 10 x 11 + x 9 x 10 x 12 + x 10 x 11 x 13 + x 10 x 12 x 13 + x 1 x 6 x 9 x 11 + x 1 x 6 x 9 x 12 + x 1 x 6 x 11 x 13 + x 1 x 6 x 12 x 13 + x 2 x 3 x 4 x 9 + x 2 x 3 x 4 x 13 + x 2 x 3 x 8 x 9 + x 2 x 3 x 8 x 13 + x 2 x 4 x 6 x 9 + x 2 x 4 x 6 x 13 + x 2 x 4 x 9 x 10 + x 2 x 4 x 10 x 13 + x 2 x 5 x 9 x 11 + x 2 x 5 x 9 x 12 +x 2 x 5 x 11 x 13 +x 2 x 5 x 12 x 13 +x 2 x 6 x 8 x 9 +x 2 x 6 x 8 x 13 +x 2 x 8 x 9 x 10 +x 2 x 8 x 10 x 13 + x 2 x 9 x 10 x 11 +x 2 x 9 x 10 x 12 +x 2 x 10 x 11 x 13 +x 2 x 10 x 12 x 13 +x 3 x 4 x 5 x 9 +x 3 x 4 x 5 x 13 +x 3 x 4 x 6 x 9 + x 3 x 4 x 6 x 13 + x 3 x 5 x 8 x 9 + x 3 x 5 x 8 x 13 + x 3 x 5 x 9 x 11 + x 3 x 5 x 9 x 12 + x 3 x 5 x 11 x 13 + x 3 x 5 x 12 x 13 + x 3 x 6 x 8 x 9 +x 3 x 6 x 8 x 13 +x 3 x 9 x 10 x 11 +x 3 x 9 x 10 x 12 +x 3 x 10 x 11 x 13 +x 3 x 10 x 12 x 13 +x 4 x 5 x 9 x 10 + x 4 x 5 x 10 x 13 +x 5 x 8 x 9 x 10 +x 5 x 8 x 10 x 13 +x 6 x 7 x 9 x 11 +x 6 x 7 x 9 x 12 +x 6 x 7 x 11 x 13 +x 6 x 7 x 12 x 13. 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 = Spécifications principales de Achterbahn-80 Dans 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 restriction de F : G(x 1,..., x 11 ) = F (0, x 1,..., x 11, 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 = 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 ).

128 Initialisation des registres L 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 de K 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 chiffrante Dans 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 à 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 2 52 pour Achterbahn-80 et 2 56 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 et nécessite moins de 2 52 bits de suite chiffrante. L attaque contre Achterbahn-128 nécessite calculs et moins de 2 56 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 2 k 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 complexité de 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 : l(x 1,..., x 11 ) = x 1 + x 3 + x 4 + x 5 + x 6 + x 7 + x 10. Comme G est 6-résiliente, l est la meilleure approximation par une fonction à 7 variables. Pour l(t) = x 1 (t) + x 3 (t) + x 4 (t) + x 5 (t) + x 6 (t) + x 7 (t) + x 10 (t), la suite chiffrante (S(t)) t 0 vérifie Pr[S(t) = l(t)] = 1 2 (1 2 3 ). Relations de parité Si on construit une relation de parité, i.e. une relation entre différents bits de la suite chiffrante, comme suit : ll(t) = l(t) + l(t + T 3 T 7 ) + l(t + T 4 T 5 ) + l(t + T 3 T 7 + T 4 T 5 ), (2) Schedae, 2007, prépublication n 20, (fascicule n 2, p ).

129 109 les termes contenant les suites x 3, x 4, x 5, x 7 disparaîtront de ll(t), et donc ll(t) dépend uniquement des suites x 1, x 6 et x 10. La période T 4 T 5 est 2 51 et la période T 3 T 7 est plus petite que 2 49 car T 3 et T 7 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 + T 7 T 3 ) + S(t + T 4 T 5 ) + S(t + T 7 T 3 + T 4 T 5 ) où (S(t)) t 0 est la suite chiffrante, est 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(2 22 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 (58 2) ln(2) = 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 = bits de suite chiffrante pour réaliser l attaque. Dans ce cas, on dépasse la limite 2 52 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 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 = bits en décimant par la période du premier registre fois. Donc, on considère les premiers bits de la suite chiffrante et on calcule les = relations de parité : S(t(2 22 1) + i) + S(t(2 22 1) + i + T 7 T 3 ) + S(t(2 22 1) + i + T 4 T 5 ) + S(t(2 22 1) + i + T 7 T 3 + T 4 T 5 ) pour i {0,..., 3} et 0 t < De cette façon, le nombre de bits de suite chiffrante dont on a besoin va être réduit à = et respecte la longueur maximale de suite chiffrante permise. Maintenant, on effectue une recherche exhaustive sur l état initial des registres 6 et 10, en adaptant à 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 : = + = t =0 T k=0 t=0 T 6 1 σ(t T 1 + i) ll(t T 1 + i) 2 σ((t 6 t + k)t 1 + i) ll((t 6 t + k)t 1 + i) k=t +1 t=0 T k=0 t=0 T σ((t 6 t + k)t 1 + i) ll((t 6 t + k)t 1 + i) 2 σ((t 6 t + k)t 1 + i) σ 10 ((T 6 t + k)t 1 + i) σ 6 ((T 6 t + k)t 1 + i) k=t +1 t=0 1 σ((t 6 t + k)t 1 + i) σ 10 ((T 6 t + k)t 1 + i) σ 6 ((T 6 t + k)t 1 + i) = [ ( T 2 ) (σ 6 (kt 1 + i) 1) σ((t 6 t + k)t 1 + i) σ 10 ((T 6 t + k)t 1 + i) k=0 t=0 Schedae, 2007, prépublication n 20, (fascicule n 2, p ).

130 110 + σ 6 (kt 1 + i) ( 3 )] 2 σ((t 6 t + k)t 1 + i) σ 10 ((T 6 t + k)t 1 + i) + T 6 1 t=0 [ ( 1 ) (σ 6 (kt 1 + i) 1) σ((t 6 t + k)t 1 + i) σ 10 ((T 6 t + k)t 1 + i) k=t ( + σ 6 (kt 1 + i) 2 t=0 )] 1 σ((t 6 t + k)t 1 + i) σ 10 ((T 6 t + k)t 1 + i), t=0 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 = T 6 = = La somme peut être écrite de la manière précédente parce que σ 6 ((T 6 t + k)t 1 + 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 V 6 de longueur T 6, V 6 [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 T opérations. Pour chaque état possible du registre 10 (donc possibilités) : on calcule et sauvegarde quatre vecteurs V 10,i, où i {0, 1, 2, 3},chacun composé par T 6 entiers de 2 bits. V 10,i [k] = m σ((t 6 t + k)t 1 + i) σ 10 ((T 6 t + k)t 1 + i), t=0 où m = 2 si k T et m = 1 si k > T. La complexité de cette étape est : 2 2 ( ( ) ) ( ) = = pour chaque état initial possible du registre 10, où 2 2 est le nombre de vecteurs qu on calcule, 2 3 correspond au nombre d opérations dont on a besoin pour calculer chaque (σ(t) + σ 10 (t)) et est le coût de sommer entiers de 2 bits. Pour chaque p de 0 à T 6 1 : on définit V 6,i de longueur T 6, i {0, 1, 2, 3} : V 6,i [k] = V 6 [k + p + i mod T 6 ]. En fait, (V 6,i [k]) k<t6 correspond à (σ 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 (V 10,0,..., V 10,3 ) et (V 6,0,..., V 6,3 ), on calcule pour chaque i {0, 1, 2, 3} : W i = T [(V 6,i [k] 1) V 10,i [k] + V 6,i [k] (3 V 10,i [k])] + k=0 T 6 1 [(V 6,i [k] 1) V 10,i [k] + V 6,i [k] (2 V 10,i [k])]. k=t +1 Lorsque l on fait ça avec les bons états initiaux des registres 6 et 10, on retrouvera un biais important pour les quatre W i. Schedae, 2007, prépublication n 20, (fascicule n 2, p ).

131 111 La complexité de cette étape sera 2 2 T 6 8 = 2 32 pour chaque p, donc = Mais on peut l accélérer de la manière suivante : on définit un vecteur, où ct = 0 si k T et ct = 0.5 si k > T. Pour chaque i on va calculer : T 6 1 k =0 ( 1) V 6,i[k+p] V 10,j [k] = V 10,j[k] + ct ( V 10,i [k] 3 ) + (T (T 6 T ) 1). 2 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 T 6. On peut faire ça d une façon efficace avec une transformée de Fourier rapide comme expliqué en [10, pages ]. La complexité finale pour calculer cette somme sera T 6 log 2 (T 6 ). Donc, la complexité totale de cette étape est 4T 6 log 2 (T 6 ) 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 = 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 ou plus petit que pour tous les i W i. En utilisant la borne de Chernoff sur la queue de la distribution binomiale on obtient : P fa4 (S) = (P fa1 (S)) i (2e 2S2n ) i, où P fa1 est la probabilité de fausse alarme pour une suite. Dans notre cas n = et i = 4, donc P fa4 = Le nombre d états initiaux qui vont passer le test sans être le bon est (2 56 1) = 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 et Pour une suite, la probabilité de de non détection vérifie : P nd1 (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 W i sera de : P nd4 (S) = 1 (1 P nd1 (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 : P nd4 (S) = La complexité en temps est finalement 2 L 10 1 [ T 6 log 2 T 6 ] + T6 2 2 = La longueur de suite chiffrante nécessaire est T 1 + T 3 T 7 + T 4 T 5 = < Schedae, 2007, prépublication n 20, (fascicule n 2, p ).

132 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 : l(x 0,..., x 12 ) = x 0 + x 1 + x 2 + x 3 + x 4 + x 7 + x 8 + x 9 + x 10. Alors, pour l(t) = x 0 (t) + x 1 (t) + x 2 (t) + x 3 (t) + x 4 (t) + x 7 (t) + x 8 (t) + x 9 (t) + x 10 (t), on a Pr[S(t) = l(t)] = 1 2 ( ). Relations de parité Si on construit une relation de parité comme suit : lll(t) = l(t + τ), τ T 3,8,T 1,10,T 2,9 les termes contenant les suites x 1, x 2, x 3, x 8, x 9, x 10 disparaîtront donc de lll(t), alors lll(t) est une fonction qui dépend uniquement des suites x 0, x 4 et x 7 : lll(t) = x 0 (t + τ) + x 4 (t + τ) + x 7 (t + τ) = σ 0 (t) + σ 4 (t) + σ 7 (t), (3) τ T 3,8,T 1,10,T 2,9 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) = τ T 3,8,T 1,10,T 2,9 S(t + τ), où (S(t)) t 0 est la suite chiffrante, est Alors : Pr[σ(t) + σ 0 (t) + σ 4 (t) + σ 7 (t) = 1] = 1 2 (1 ε8 ). Ceci implique qu on a besoin de (74 3) ln(2) = 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 2 L L 4 1 [ ( ) + O(T 7 log T 7 ) ] + T = La longueur de suite chiffrante nécessaire est T 1,10 + T 2,9 + T 3,8 = < 2 56 bits. 5 Retrouver la clé Comme on avait expliqué dans les attaques précédentes [8], avec une variante d une attaque 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 ).

133 113 6 Conclusion On a proposé une attaque contre Achterbahn-80 en qui nécessite moins de 2 52 bits de suite chiffrante. On a aussi proposé une attaque contre Achterbahn-128 en qui nécessite moins de 2 56 bits de suite chiffrante. Après on peut récupérer la clé de Achterbahn- 80 avec une complexité de 2 40 en temps et 2 41 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 2 73 en temps et 2 48 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, [2] B. M. Gammel, R. Gottfert, and O. Kniffler. Status of Achterbahn and tweaks. Technical Report 2006/027, estream, ECRYPT Stream Cipher Project, [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 Springer, [4] M. Hell and T. Johansson. Cryptanalysis of Achterbahn-version 2. In Selected Areas in Cryptology - SAC 2006, Lecture Notes in Computer Science. Springer, to appear. [5] B. M. Gammel, R. Gottfert, and O. Kniffler. Achterbahn-128/80. Technical Report 2006/001, es- TREAM, ECRYPT Stream Cipher Project, [6] A. Canteaut. Analyse et conception de chiffrements à clef secrète. Master s thesis, Université Paris 6, [7] M. Hell and T. Johansson. Cryptanalysis of Achterbahn-128/80. Technical Report 2006/054, es- TREAM, ECRYPT Stream Cipher Project, [8] M. Naya-Plasencia. Cryptanalysis of Achterbahn-128/80. In Advances in Cryptology - FSE 2007, volume 4593 of Lecture Notes in Computer Science. Springer, [9] B. M. Gammel, R. Gottfert, and O. Kniffler. Achterbahn-128/80 : Design and analysis. In ECRYPT Network of Excellence - SASC Workshop Record, pages , [10] R. E. Blahut. Fast Algorithms for Digital Signal Processing. Addison Wesley, Schedae, 2007, prépublication n 20, (fascicule n 2, p ).

134 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

135 115 Prépublication n 21 Fascicule n 2 Attaques par collision basées sur la perte d entropie causée par des fonctions aléatoires Andrea Röck Projet CODES INRIA Paris-Rocquencourt France Résumé : Nous considérons le problème de la perte d entropie dans un chiffrement à flot qui emploie une fonction aléatoire pour mettre à jour son état interne. Pour un nombre limité d itérations, nous présentons une nouvelle approximation de l entropie d état. Ceci améliore la borne supérieure connue donnée par la taille de l image. Ensuite, nous présentons deux attaques par collision qui sont basées sur la perte d entropie après plusieurs itérations. Pour les deux attaques, nous fournissons une analyse détaillée de la complexité. Mots-clés : entropie, fonctions aléatoires, chiffrement à flot. 1 Introduction Le chiffrement à flot est une méthode classique pour chiffrer de grandes quantités de donné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 considè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 ).

136 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 directement 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 S k la valeur de l état après k itérations de la fonction Φ état Φ fonction de filtrage Fig. 1: Principe du chiffrement à flot. pour k 0, alors nous mettons à jour l état interne par S k+1 = Φ(S k ). 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é introduite 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 nonbijectives 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 ).

137 Notre modèle de chiffrement à flot Nous 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 Soit F n = {ϕ ϕ : Ω 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 elle prend chaque valeur ϕ F n avec la même probabilité P r[φ = ϕ] = 1/n n. 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, S k, une variable aléatoire qui prend des valeurs dans Ω n. La loi de probabilité de l état initial est définie par {p i } n i=1 tels que p i = P r[s 0 = ω i ]. Sauf mention contraire, nous supposerons une distribution uniforme, c est à dire p i = 1/n pour tout 1 i n. Pour k > 0 nous définissons S k+1 = Φ(S k ) où nous utilisons la même valeur de Φ pour toutes les itérations. Alors p Φ i (k) = P r[φ(k) (S 0 ) = ω 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 Φ n ( ) Hk Φ = p Φ i (k) log 1 2 p Φ i (k). i=1 Dans cet article nous sommes intéressés par les espérances où la moyenne est prise sur l ensemble de toutes les fonctions ϕ F n. Pour accentuer que nous parlons d une espérance, nous l écrirons en gras. Ainsi H k = 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 ).

138 Travail précédent Flajolet 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 Fig. 2: Exemple d un graphe fonctionnel pour ϕ(x) = x (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) = x (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) n r!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 F n. 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 toujours 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 fonctionnel 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 H k log 2 (n) + log 2 (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 = 2 16 les valeurs de cette borne avec des valeurs empiriques. Pour calculer ces valeurs nous avons choisi 10 4 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 ).

139 taille de l image (log 2 ) points de cycle (log 2 ) taille maximal de queue entropie empirique log 2 (k + 1) Fig. 3: Borne supérieure et valeur empirique de l entropie moyenne pour n = montre que si k reste plus petit que mq(n) cette borne est valide et ne chute pas sous log 2 (pc(n)). 2.2 Nouvel estimateur d entropie La 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 ϕ F n, 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 rn k (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 H k = n rn k (n, r) r ( ) n n log 2 = log r 2 (n) r=1 n r=1 rn k (n, r) r n log 2 (r). (2) L égalité à droite provient du fait que n r=1 r rn k(n, r) = n comme chacun des n nœuds a exactement un successeur et sera compté dans un rn k (n, r). Pour estimer rn k (n, r) pour une itération, nous employons directement le résultat pour l espérance de r nœuds, donné dans [5], comme rn 1 (n, r) = rn(n, k) d une itération nous allons définir un nouveau paramètre. n. Pour plus r!e 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 i 1,..., i j nœuds après k 1 itérations tels que i i j = 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 rn k (n, r) n c k (r), (3) Schedae, 2007, prépublication n 21, (fascicule n 2, p ).

140 120 avec c k (r) définie par 1/e r! pour k = 1 c k (r) = f 1 (k)/e c k 1 (i 1 ) c k 1 (i j ) f 2 ([i 1,..., i j ]) autrement. [i 1,...,i j ] P ar(r) (4) où f 1 (k) viens de l ensemble des arbres avec une profondeur strictement plus petite que k 1. Nous avons { f 1 (k) = e 1/e pour k = 1 e f 1(k 1)/e autrement. P ar(r) est l ensemble de toutes les partitions de l entier r. Par exemple pour r = 4 nous avons P ar(4) = {[1, 1, 1, 1], [1, 1, 2], [2, 2], [1, 3], [4]}. f 2 ([i 1,..., i j ]) est un terme de correction. Si certaines valeurs i x1,..., i xl avec 1 x 1 < < x l j sont identiques i x1 = = i xl nous devons multiplier par le facteur 1/l! pour compenser cette multiplicité, c est à dire f 2 ([1, 1, 1, 1, 2, 2, 3]) = 1 4!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 c k (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 c k (r) = D(k, r, m) = { 1/r!e si k = 1 D(k, r, 1)f 1 (k)/e autrement 1 si r = 0 0 si 0 < r < m r/m u=0 c k 1 (m) u u! D(k, r m u, m + 1) autrement, qui nous permit de calculer tous les de c k (r) pour k K et r R avec une complexité en temps de O ( K R 2 log(r) ). écrire Revenons à l estimation d entropie dans (2). En utilisant l expression (3) nous pouvons H k log 2 (n) R c k (r) r log 2 (r) r=1 } {{ } (a) n r=r+1 c k (r) r log 2 (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 c k (r) r log 2 (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 H k H k (R) = log 2 (n) R c k (r) r log 2 (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 r=1 Schedae, 2007, prépublication n 21, (fascicule n 2, p ).

141 121 ck(r)r log 2 (r) k = 1 k = 2 k = 3 k = 4 k = 5 k = 6 k = 7 k = 8 k = 9 k = r Fig. 4: Évaluation de c k (r) r log 2 (r) en fonction de k et r. k valeur empirique, n = taille d image (1) R = H k (R) (5) R = R = 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 arbitraire P = {p 1, p 2,..., p n}. L espérance d entropie est prit sur tous ϕ F n, ainsi chaque n uplet d indices 1 i 1 < i 2 < < i r n de taille r apparaît le même nombre de fois. En total il y a n n rn k (n, r) ( n points qui sont atteint par r nœud après k itérations et il y a r) n uplet d indices possible 1 de taille r. Ainsi chaque élément (p i1 + + p ir ) log 2 apparaît nn rn k (n,r) ( p i1 + +p ir n fois r) dans la somme. En divisant par n n nous avons pour l espérance d entropie H P k = n r=1 rn k (n, r) 1 ( n r) 1 i 1 < <i r n (p i1 + + p ir ) log 2 1 p i1 + + p ir. (6) Dans l équation (6) nous pouvons utiliser de nouveau la valeur (3) pour approcher rn k (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ême mé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 S 0 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 S k = 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 2 m 2 valeurs différentes. Schedae, 2007, prépublication n 21, (fascicule n 2, p ).

142 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 complexité 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 complexité 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 2 8 bits. 3.1 L état après k itérations La 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ésultants. 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 log 2 (n) + log 2 (1 τ k ). Hong et Kim conjecturent, en se basant sur des résultats expérimentaux, que celle-ci est approximativement log 2 (n) log 2 (k) + 1. Ainsi, avec une forte probabilité nous trouvons une collision si m > 2 (log 2 (n) log 2 (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 employer 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 entropie est plus grande que 2 log 2 (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édiaires La 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 log 2 (n) log 2 (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 quand même une menace 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 ).

143 123 petite que 1 P r[sanscolt otal], où P r[sanscolt otal] est la probabilité qu il n y ait aucune collision dans l ensemble des 2km états. Soit P r[sanscolinit] la probabilité qu il n y ait pas de collisions dans les m états initiaux. Nous pouvons écrire directement que P r[sanscolt otal] = P r[sanscolt otal sanscolinit] = P r[sanscolt otal sanscolinit] P r[sanscolinit]. Supposons que nous ayons prit m états initiaux différents. Ceci arrive avec une probabilité P r[sanscolinit] = ( n ) m m! n m. (7) Dans ce cas nous avons n n fonctions différentes, où chacune crée ( n m) m! tableaux diffé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 n n (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é n (n 1)... (n 2km + 1) nn (2k 1)m P r[sanscolt otal sanscolinit] = n n( ) (8) n m m! pour m > 0 et 2km n. En combinant (7) et (8) nous arrivons à P r[sanscolt otal] = n(n 1)... (n 2km + 1) n 2km (9) où la probabilité est prise sur toutes les fonctions ϕ F n 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/ Amélioration par des points distingués En 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 l bits de poids fort doivent être 0 pour une entier l 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 = d n est 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 π n 2 [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 = 2 20, 0.7 log 2 (d) log 2 (n) 1 et MAX = n confirment nos hypothèses. Schedae, 2007, prépublication n 21, (fascicule n 2, p ).

144 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ées aprè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 augmentation 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 complexité 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, cependant, 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) : , [2] C. E. Shannon. A mathematical theory of communication. Bell System Technical Journal, 27 : and , July and October [3] S. Babbage and M. Dodd. The stream cipher MICKEY (version 1). estream, ECRYPT Stream Cipher Project, Report 2005/015, [4] V. F. Kolchin. Random Mappings. Optimization Software, Inc, [5] P. Flajolet and A. M. Odlyzko. Random mapping statistics. Advances in Cryptology, Proc. Eurocrypt 98, 434 : , [6] J. Hong and W. H. Kim. TMD-tradeoff and state entropy loss considerations of streamcipher MICKEY. In INDOCRYPT, pages , [7] N. Sendrier and A. Seznec. HArdware Volatile Entropy Gathering and Expansion : generating unpredictable random numbers at user level. Technical report, INRIA, Schedae, 2007, prépublication n 21, (fascicule n 2, p ).

145 125 Prépublication n 22 Fascicule n 2 Codes correcteurs d erreurs construits à partir des variétés algébriques Frédéric A. B. Edoukou CNRS, Institut de Mathématiques de Luminy Luminy case Marseille Cedex 9 France Résumé : On étudie le code fonctionnel défini sur une variété algébrique X sur un corps fini, tout comme V. Goppa l avait fait sur les courbes. La distance minimale de ce code est déterminée par le nombre de points rationnels de l intersection de X avec toutes les hypersurfaces d un certain dégré. Dans le cas où X est une surface hermitienne non-dégénérée, A.B. Sorensen a formulé dans sa thèse (1991) une conjecture, qui résolue, donne exactement la distance minimale de ce code. Dans ce papier nous allons répondre à cette conjecture dans le cas des surfaces quadriques. En utilisant des résultats de géométrie finie nous donnerons aussi la distribution des poids du code associé. Mots-clés : codes correcteurs d erreurs. 1 Rappels sur les codes correcteurs Soit p un nombre premier et q = p a une puissance de p. On note F q le corps fini à q éléments. On appelle code de longueur n, de dimension k, un sous-espace vectoriel de F n q. Les éléments de ce sous espace vectoriel C sont appelés les mots du code. Soit x = (x 1, x 2,..., x n) un mot du code C et J = {1,..., n}. Le support de x est l ensemble défini par supp(x) = {i J x i 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 = (x 1, x 2,..., x n) et y = (y 1, y 2,..., y n), alors d(x, y) = #{x i y i, 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 ).

146 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) = min{w(x), c C et c 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 1 ] erreurs, et le 2 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 messages à travers un canal bruité. Comme exemple nous avons, les conversations téléphoniques, 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 solutions 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 P n (F q) On désigne par P n (F q) l espace projectif de dimension n sur le corps fini F q) à q éléments, où q = p a est une puissance d un nombre premier. Le nombre de points de P n (F q) est : π n = #P n (F q) = #Π n = q n + q n 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 P n (F q). On a alors : Φ(r, n, q) = i=n+1 Y i=n r+1 i=r+1 Y (q i 1)/ (q i 1). i=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 ).

147 127 Soit W i l ensemble des points de cordonnées homogènes (x 0 :... : x n) P n (F q) tel que x j = 0 pour j < i et x i 0. La famille {W i } 0 i n forme une partition de P n (F q). Soit P = (x 0 : x 1 :... : x n) P n (F q) et f(x 0,..., x n) un polynôme homogène en n + 1 variables à coefficients dans F q et de degré d. On a f(p ) = f(x 0,..., x n) x i d avec x = (x 0 :... : x n) W i. En 1989, aux 16 es Journées Arithmétiques qui ont eu lieu à Marseille Luminy (17-21 juillet 1989) M. Tsfasman présenta une conjecture sur la meilleure borne pour le nombre de points d une hypersurface dans P n (F q). 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(x 0,..., x n) un polynôme homogène en n + 1 variables à coefficients dans F q et de degré d q. Alors le nombre of zéros de f dans P n (F q) satisfait à : #Z (f) (F q) dq n 1 + π n 2. Cette borne supérieure est atteinte quand Z (f) est réunion de h hyperplans contenant une 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 espaces projectifs linéaires contenus dans V, est appelée l indice projectif de V. Nous allons maintenant nous restreindre à l espace projectif P 3 (F q) et définir la notion de regulus qui se généralise dans tout espace projectif P n (F q) de dimension impaire. Lemme 1 Dans P 3 (F q) le nombre de droites rencontrant trois droites non concourantes deux à 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 non concourantes, et si l 1, l 2 et l 3 sont trois d entre elles, le regulus est noté R(l 1, l 2, l 3 ). On montre également que les droites rencontrant l 1, l 2 et l 3 rencontrent toute droite de R(l 1, l 2, l 3 ) et forme un regulus appelé le regulus complémentaire. 3 Introduction du code fonctionnel Soit X un ensemble fini, X = {P 1,..., P n} et F(X, F q) l espace vectoriel des applications définies sur X et à valeurs dans F q. Soit F e F(X, F q) un sous-ensemble. On définit l application c : F(X, F q) F n q f c(f) = (f(p 1 ),..., f(p n)) Le code fonctionnel défini par F e et X, et denoté C(X, F e ) est l image de l application c restreinte à F e. C(X, F e ) = Imc F e Nous avons le résultat suivant Proposition 1 Le code C(X, F e ) a les paramètres suivants : lenghc(x, e F ) = n, dim C(X, e F ) = dim e F dim ker C e F distc(x, F e ) = n max cw(f) f F e Schedae, 2007, prépublication n 22, (fascicule n 2, p ).

148 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 P N (F q) est un ensemble algébrique et e F est l espace des formes de degré h sur X que nous denotons F h. On note alors C h (X) le code C(X, e F ). Dans ce cas particulier, on a : distc h (X) = #X(F q) max f F h #X Z(f) (F q) D après cette formule, la distance minimale de C h (X) est déterminée par le nombre de points #X Z(f) (F q) de l intersection de X avec les hypersurfaces f de degré h. Sous la condition de l injectivité de l application c, on obtient par des résultats d analyse combinatoire que : N + h dim C h (X) =. 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 (q 2 ). Définition 3 Soit h GF (q 2 ). On appelle conjuqué de h et on note h = h q. Définition 4 Soit H = (h ij ) 0 i,j N une matrice carrée avec les h ij GF (q 2 ). La matrice H est dite hermitienne si et ssi h ij = h ji pour tout 0 i, j N. Soit x t = (x 0,..., x N ) un vecteur ligne et soit x le vecteur colonne correspondant où x 0, x 1,..., x N sont des indéterminés, x t Hx (q) est un polynôme homogène en les variables x 0, x 1,..., x N de degré q + 1. La forme x t Hx (q) est appelée une forme hermitienne si H est une matrice hermitienne et H est appelée la matrice de la forme. L ordre et le rang d une forme hermitienne sont définis comme étant l ordre et le rang de H. Définition 5 Soit X un ensemble de points dans P N (F q 2) dont les vecteurs lignes x t = (x 0,..., x N ) satisfont à l équation : x t Hx (q) = 0. On dit alors que X est une variété hermitienne 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 nondégénérée. Ils en déduisent de cette formule, le nombre de points d une variété hermitienne dégénérée de rang r. Théorème 2 Soit X P n (F q) une variété hermitienne non-dégénérée. Alors, # X (F q) = Φ(n, t 2 ) = [t n+1 ( 1) n+1 ][t n ( 1) n ]/(t 2 1) (1) Pour X P n (F q) une variété hermitienne dégénérée de rang r < n + 1, nous avons : où Φ(n, t 2 ) est donnée par (1). # X (F q) = (t 2 1)π n r Φ(r 1, t 2 ) + π n r + Φ(r 1, t 2 ), 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 P n (F q) et H un hyperplan. Si H est tangent à X en P, alors X H est une variété hermitienne dégénérée de rang n 1 dans P n 1 (F q). 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 P n (F q) et H un hyperplan. Si H est non-tangent à X, alors X H est une variété hermitienne non-dégénérée dans P n 1 (F q). Schedae, 2007, prépublication n 22, (fascicule n 2, p ).

149 129 5 Le code C h (X) défini sur la surface hermitienne non-dégénérée Ici q = t 2 et X est la surface hermitienne dans P 3 (F q) non-dégénérée d équation X : x t x t x t x t+1 3 = 0. D après le théorème 2, on obtient #X(F q) = (t 2 + 1)(t 3 + 1). Injectivité : L injectivité de l application c définissant le code C h (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 C h (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 C 2 (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 programme informatique, non seulement la distance minimale mais aussi la distribution des poids du code C 2 (X). Tous les mots du code C 2 (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 C 2 (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 : x t x t x t x t+1 3 = 0 et a formulé une conjecture pour h t, #X Z(f) (F q) h(t 3 + t 2 t) + t + 1 qui une fois résolue, devrait donner exactement la distance minimale de C h (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, #X Z(f) (F q) h(t 3 + t 2 + t + 1) qui est malheureusement plus large que celle de Sorensen. En 2003, F. Rodier étudia également le code C h (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 information à 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 P 3 (F q) 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 E 3 par X, dans P 3 (F q) vu comme une famille de q + 1 plans passant par une même droite définie par deux points distincts de E 3 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 ).

150 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 w 1 et sa multiplicité A w1 Théorème 5 [6] La distance minimale du code C 2 (X) est : d = t 5 t 3 t 2 + 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 + 1 droites passant par un point), et la droite d intersection des deux plans intersectant X en t + 1 points. Le nombre de mots de poids minimaux est : A w1 = (t 2 1)[ 1 2 (t5 + t 3 + t 2 + 1)t 5 ] Caractérisation du second poids w 2 et sa multiplicité A w2 Théorème 6 [7] Le second poids du code C 2 (X) est w 2 = t 5 t 3. 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, se rencontrant 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 : A w2 = 1 2 (t2 1)(t 5 + t 3 + t 2 + 1)(3t 2 t + 1)t 2 Caractérisation du troisième poids w 3 et sa multiplicité A w3 Théorème 7 [7] Le troisième poids du code C 2 (X) est w 3 = t 5 t 3 + t. Les mots de code atteignant le troisième poids correspondent aux 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 intersectant la surface hermitienne X en t + 1 points. Le nombre de mots atteignant le troisième poids est : A w3 = (t 2 1)(t 5 + t 3 + t 2 + 1)(t 6 t 5 ) On remarque que pour h = 2 et t = 2, on retrouve les résultats de Sorensen et ceux de Spurr calculés par ordinateur : w 1 = 22, A w1 = 2160 ; w 2 = 24, A w2 = 2970 ; w 3 = 26, A w3 = Nous explicitons les quatrième et cinquième poids du code C 2 (X ), et formulons une conjecture sur la structure géométrique des quadriques qui correspondent à ces poids. Le mardi 27 février 2007, dans mon exposé au séminaire du GRIM (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 C 2 (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 F i de degré d i sur F q, alors de zéros communs des F i est divisible par q b si n > b P r i=0 d i. Théorème 9 [8] Tous les poids du code C 2 (X ) défini sur la surface hermitienne nondégénérée X sont divisibles par t. Nous allons donner une démonstration plus générale dans P n (F q).si φ est une forme hermitienne à n + 1 variables avec n 3 sur un corps F q = F t 2 et F une forme quadratique, on a φ(x 0,..., x n) = x t x t+1 n. Schedae, 2007, prépublication n 22, (fascicule n 2, p ).

151 131 Notons α un élément de F q qui n est pas dans F t. On a F q = F t αf t. Décomposons les éléments x de F q : x = y + αz. La conjugaison est donnée par x x t et transforme α en α. Par conséquent x t = y + αz, et par suite x t+1 = (y + αz)(y + αz) = y 2 + (α + α)yz + ααz 2. La forme φ est maintenant une forme de degré 2 en 2(n + 1) variables. Et sa nouvelle équation devient φ(y 0, z 0,..., y n, z n) = y0 2+(α+α)y 0z 0 +ααz y2 n +(α+α)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 alors 8 >< y0 2 + (α + α)y 0z 0 + ααz y2 n + (α + α)y nz n + ααzn 2 = 0 >: F (y 0, z 0,..., y n, z n) = 0 et sont des équations sur F t. Par le théorème d Ax, le nombre de zéros communs N à φ et F (dans F 2(n+1) t ) est divisible par t car 2(n + 1) > 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 1 N 1. Soit M =, on a N (1 M) (mod. t). Et comme N est divisible par t 1 t 1 t, on en déduit M 1 (mod. t) Le poids d un mot de code associé à la variété quadrique Q sur X est égal à w = #X #(Q X) = #X M. Or, par le théorème d Ax encore, le nombre de zéros de φ (dans F 2(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 of Astérisque, pages , [2] A.B. Sorensen. Rational points on hypersurfaces, Reed-Muller codes and algebraic-geometric codes. PhD thesis, University of Aarhus, Denmark, [3] R.C. Bose and I.M. Chakravarti. Hermitian varieties in finite projective space pg(n, q). Canadian J. of Math., 18 :1173, [4] I.M. Chakravarti. Some properties and applications of hermitian varieties in finite projective space pg(n,q 2 ) in the construction of strongly regular graphs (two-class association schemes) and block designs. Journal of Comb. Theory, Series B, 11(3) : , [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, [6] F.A.B. Edoukou. Codes defined by forms of degree 2 on hermitian surface and sorensen conjecture. Finite Fields and Their Applications, 13 : , [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 : , [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, [9] A. Aubry and M. Perret. Connected projective algebraic curves over finite fields. In I.M.L., [10] J. Ax. Zeroes of polynomials over finite fields. Amer. J. Math., 86 : , [11] R.C. Bose and I.M. Chakravarti. Hermitian varieties in finite projective space pg(n, q). Canadian J. of Math., 18 :260, [12] I.M. Chakravarti. The generalized goppa codes and related discrete designs from hermitian surfaces in pg(3, s 2 ). Lecture Notes in Computer Sci., 311 : , [13] R. Hartshorne. Algebraic Geometry, Graduate texts in mathematics 52. Springer-Verlag, Schedae, 2007, prépublication n 22, (fascicule n 2, p ).

152 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) : , [15] J.W.P. Hirschfeld. Projective Geometries Over Finite Fields (Second Edition). Clarendon Press Oxford, [16] J.W.P. Hirschfeld. Finite Projective Spaces of Three Dimensions. Clarendon Press Oxford, [17] G. Lachaud. La communication en équations, L état des sciences et des techniques. Éditions de la découverte Paris, [18] G. Lachaud. Number of points of plane sections and linear codes defined on algebraic varieties. In Arithmetic, Geometry, and Coding Theory, pages Walter de Gruyter, [19] O. Papini and Wolfmann J. Algèbre discr ete et codes correcteurs. Springer-Verlag, [20] E.J.F. Primrose. Quadrics in finite geometries. Proc. Camb. Phil. Soc., 47 : , [21] F. Rodier. Codes from flag varieties over a finite field. Journal of Pure and Applied Algebra, 178 : , [22] P. Samuel. Géométrie projective. Presses Universitaires de France, [23] R. Shafarevich. Basic Algebraic Geometry 1. Springer-Verlag, Schedae, 2007, prépublication n 22, (fascicule n 2, p ).

153 session 6 Agents et décision

154 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

155 133 Prépublication n 23 Fascicule n 2 Approche décentralisée pour résoudre le problème du transport à la demande Michel Nabaa, Besma Zeddini, Pierrick Tranouez Laboratoire d informatique, de traitement de l information et des systèmes (LITIS) 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 dynamique. Notre proposition s appuie sur une approche décentralisée et une modélisation de l environnement 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 gestion 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 construits à 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 demande 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 ).

156 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 instant, 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 problè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 marchandises 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 pouvant 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 personnes [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éservations 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 ).

157 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 collectes 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ème Le 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 manifestes 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 prendre 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 arbitrant 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 ).

158 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 ontologie 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 environnement Nous 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 dynamique 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 dynamiques Notre 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? Comment le transporteur sait-il qu il a été choisi? Ces questions ne sont d ailleurs pas indépendantes : 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 ).

159 137 à l usager sera choisi en essayant de minimiser l effort supplémentaire C pour le transporteur. Pour connaître cet effort supplémentaire, on calcule la longueur (en temps) de l itiné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 soustrait 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 ordonnent 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 ordonnancement Les agents véhicules effectuent le travail principal de planification par évaluation de l insertion 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é Q v nous donne dans le pire des cas un coefficient multiplicateur de Q v(2q v 1) 2. La fonction objectif MinZ = C mesure le surcoût minimal dû à l insertion d un nouveau client. Pour le terme C, plusieurs variables ont été considérées : temps supplémentaire, 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 ).

160 Auto-organisation La 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 éventuellement dégrader les performances dans les zones attractives et d avoir une meilleure couverture 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 V 1 et V 2 é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 ).

161 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 sinon 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; 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. Nb Nb clients Coût optimal Coût réel Écart Remplissage véhicules en temps en temps % 0 > % 0 > % 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 du modè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 ).

162 140 6 Conclusion et perspectives Dans cet article, nous avons présenté un système de transport à la demande purement dynamique 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 Optimization, volume 11, pages John Wiley, [2] J. Lenstra and A. H. G. Rinnooy Kan. Complexity of the vehicle routing and scheduling problems. In Networks, volume 11, pages Springer, [3] G. Laporte, M. Gendreau, J.-Y. Potvin, and F. Semet. Classical and modern heuristics for the vehicle routing problem. International Transactions in Operational Research, 7 : , [4] A. Larsen. The dynamic vehicle routing problem. PhD thesis, Technical University of Denmark, [5] Jaroslaw Koźlak, 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 demands. Fundam. Inf., 71(1) :27 36, [6] S. O. Krumke, W. E. de Paepe, D. Poensgen, M. Lipmann, A. Marchetti-Spaccamela, and L. Stougie. On Minimizing the Maximum Flow Time in the Online Dial-a-Ride Problem, volume Springer Berlin / Heidelberg, [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 Springer, [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) : , [9] Jean-François Cordeau, Gilbert Laporte, Jean-Yves Potvin, and Martin W.P. Savelsbergh. Transportation on demand. Handbooks in Operations Research and Management Science, [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 : , [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 Springer, [12] J. J. Jaw, Odoni A. R., Psaraftis H. N., and Wilson N. H. M. A heuristic algorithm for the multi-vehicle many-to-many advance request dial-a-ride problem with time windows. Pergamon Journals Ltd., 20B(3) : , [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, Schedae, 2007, prépublication n 23, (fascicule n 2, p ).

163 141 Prépublication n 24 Fascicule n 2 Vers un contrat d autonomie entre agents et opérateurs Stéphane Mercier Onera - Supaéro Résumé : Dans le cadre de la supervision de mission d un agent artificiel par un opérateur humain, la question 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 formellement ; 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 une mission. 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 ).

164 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és L 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 objectifs à 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 capacité 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 intervention 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 autonomie Comment 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. Ce modèle reste abstrait et ne tient pas compte de la complexité 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 ).

165 143 d évaluer l autonomie suivant trois dimensions : complexité de mission, difficulté environnementale et interface avec l humain. Cette méthode souhaitée comme objective nécessite 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écessaire 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 gradué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 performances [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 ajustable, dans laquelle l opérateur choisit les modes de fonctionnement du robot, de l autonomie 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 fondé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 Autonomy), 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érateur, 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 ).

166 144 du type «En cas d urgences médicales, consulter l opérateur sur le choix du site d évacuation». 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 difficulté, 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 interactions 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éfinition Dans 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érateur 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 ensemble 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 positionner 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 ).

167 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 évaluer la sensibilité de l agent à ces paramètres ; ces facteurs doivent inclure les conditions 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 actions Afin 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éoriquement 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égories d actions composant mission la Actions connues et réalisables par l agent seul Actions connues par l agent non réalisables par l agent seul in- de Actions connues l agent Partenaire Coopération Agent et Opérateur Rôle de l agent / opérateur Types d interactions agent - opérateur Remplaçant Autonomie (agent) Agent Supervision (opérateur) Décideur (au sein de l action) Exécutant Assistance (par agent) Téléopération Opérateur 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 envisageables 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 agent, 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 ).

168 146 on sépare celles que l agent peut réaliser seul, c est-à-dire dont il possède toutes les capacité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és Afin 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 capacité de l agent, de l accompagner de données précisant les conditions initiales appropriées pour réaliser les actions associées, tout au moins 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 externes influant sur l état de l agent. Pour compléter cela, le contrat demande d y associer des méthodes de prévision du succès d une action, connaissant les paramètres mentionné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 ellemême être composée d un ensemble d actions, toutes à évaluer. Ceci représente un véritable 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écisionnelle L 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 ).

169 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érateur 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 nombre 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 compé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écision) 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 perception 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é correspondante au moment de la prise de décision. Évaluation en mission de la capacité «Trouver site atterrissage» Compétences, niveaux de compétence et seuils associés Perception : 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 perception, 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 ).

170 148 classée parmi les compétences de traitement d image et d atterrissage, son évaluation devra ê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 formalisant 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, reviennent à ajouter aux mécanismes de décision de l agent des règles de sélection et d association 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érateur 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, [2] L. Steels. When are robots intelligent autonomous agents? Journal of Robotics and Autonomous Systems, pages 15 :3 9, [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 Schedae, 2007, prépublication n 24, (fascicule n 2, p ).

171 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, [7] T.B. Sheridan and W.L. Verplank. Human and computer control of undersea teleoperators. Technical report, MIT Man-Machine Systems Laboratory, Cambridge, MA, [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, [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 [11] D. Kortenkamp, P. Bonasso, D. Ryan, and D. Schreckenghost. Traded control with autonomous robots as mixed initiative interaction. In AAAI-97 Spring Symposium on Mixed Initiative Interaction, March [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, [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, [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), [16] K. Myers and D. Morley. Human directability of agents. In K-CAP 2001, 1st International Conference on Knowledge Capture, Victoria, Canada, [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, [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), [20] H. Hexmoor, C. Castelfranchi, and R. Falcone. Agent Autonomy. Kluwer Academic Publishers, Schedae, 2007, prépublication n 24, (fascicule n 2, p ).

172 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

173 151 Prépublication n 25 Fascicule n 2 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 Baptiste Blanpain, David Mercier, Jean Barthe CEA, LIST, Laboratoire intelligence multi-capteurs et apprentissage Gif sur Yvette F France 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 heuristique 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étruire 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 informations 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 protocole 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 permettront 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 ).

174 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 apprendre 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 responsables 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 = Φ 0 e µz Le coefficient µ est appelé coefficient d atténuation linéique. Il est proportionnel à la densité électronique du maté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 rapidement leur énergie. Leur parcours est de longueur bornée, alors qu un photon a une probabilité 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 ).

175 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é du maté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 sortie. 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 uniformé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 1cm 2 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 ).

176 154 Rendement en profondeur (%) RNA Penelope Profondeur (cm) (a) Dose (%) RNA Penelope Ecart à l axe (cm) (b) Fig. 1: Dose dans l eau (exprimée en % du maximum de dose) apprise par un réseau de neurones, et dose calculée par Penelope, pour un faisceau de photons de 5MeV de 1cm 2 de section. (a) Dose sur l axe du faisceau. (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 en milieux 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 radiothé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écroissance. 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 à atteindre 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 ).

177 155 s additionnent, et la dose avant l interface se retrouve à peu près égale à celle après l interface (au centre du faisceau large ainsi créé, comme on le voit figure 2(a)) 2. Rendement en profondeur (%) Eau Os Profondeur (cm) (a) Rendement en profondeur (%) Eau Os Profondeur (cm) (b) Fig. 2: Dose (calculée par Penelope) déposée sur l axe par un faisceau de 5MeV pour une interface eau/os orthogonale au faisceau. (a) Faisceau large, section de 10cm 2. (b) Faisceau fin, section de 1cm Avant interface Après interface Dose (%) Ecart à l axe (cm) 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 fluence Φ 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 µ 1z i. 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 = µ 1z i µ 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 interface, 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 conditions suffisament 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 ).

178 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. Rendement en profondeur (%) Eau RN direct Penelope Profondeur (cm) Os Fig. 4: Comparaison entre la dose calculée directement (sans correction à l interface) et celle obtenue par simulation 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 exponentiellement 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 mouvement 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 de photons interagissant uniquement par effet photoélectrique, libérant des électrons qui déposent leur énergie vers l avant). On voit que dans l eau, les photons interagissent moins que dans l os, et les électrons perdent moins vite leur énergie. Il y a donc un temps de transition, après l interface, entre le flux électronique dans l eau et 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 z i, séparant deux zones composées du même matériau. La dose postérieure peut être obtenue directement par le réseau de neurones, en tenant compte de la fluence à la profondeur z i. 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 ).

179 157 Rendement en profondeur (%) Antérieure Postérieure Totale Eau Os Profondeur (cm) (a) Rendement en profondeur (%) Antérieure Postérieure Totale Eau Eau Profondeur (cm) (b) Fig. 6: Décomposition de la dose totale en doses postérieure et antérieure. (a) Interface eau/os. (b) Interface virtuelle eau/eau. On sait donc calculer la dose antérieure D a 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 D a 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 D a 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 = αd a, 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 D p et de la composante antérieure αd a. D(z i ) = D p(z i ) + αd a(z i ) où D(z i ) la dose totale à l interface et D p sont calculables directement avec nos réseaux de neurones, et où D a se calcule par le procédé expliqué figure 6(b). On a donc α = D(z i) D p(z i ) D a(z i ) 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 1cm 2. 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 volumes 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 traitement pour la radiothérapie par modulation d intensité. Schedae, 2007, prépublication n 25, (fascicule n 2, p ).

180 158 Rendement en profondeur (%) Eau RN + heuristique Penelope Profondeur (cm) (a) Os Rendement en profondeur (%) RN + heuristique Penelope Profondeur (cm) (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 travailler 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, [2] A. Ahnesjö. Collapsed cone convolution of radiant energy for photon dose calculation in heterogeneous media. Med. Phys., 16 :577 92, [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, [4] P. Andreo. Monte carlo techniques in medical radiation physics. Phys. Med. Biol., 36 : , [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, [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, [7] X. Wu and Y. Zhu. A neural network regression model for relative dose computation. Phys. Med. Biol., 45 :913 22, [8] S.W. Blake. Artificial neural network modelling of megavoltage photon dose distributions. Phys. Med. Biol., 49 : , [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 : , Schedae, 2007, prépublication n 25, (fascicule n 2, p ).

181 159 [10] J. Bahi, S. Contassot-Vivier, L. Makovicka, E. Martin, and M. Sauget. Neural network based algorithm for radiation dose evaluation in heterogeneous environments. In ICANN 2006, Int. Conf. on Artificial Neural Networks, volume 4132 of LNCS, pages , Athens, Greece, Springer. [11] G. Cybenko. Approximation by superpositions of a sigmoidal function. Math. Control Signals Systems, 2 : , [12] K. Funahashi. On the approximate realization of continuous mappings by neural networks. Neural Networks, 2 : , [13] C.M. Bishop. Neural Networks for Pattern Recognition. Oxford University Press, Schedae, 2007, prépublication n 25, (fascicule n 2, p ).

182 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

183 session 7 Algorithmique

184 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

185 161 Prépublication n 26 Fascicule n 2 REGAL: une bibliothèque pour la génération des automates déterministes Julien David Institut Gaspard Monge, UMR CNRS 8049 Université de Marne-la-Vallée Marne-la-Vallée Cedex 2 France Résumé : Ce papier présente une bibliothèque permettant la génération aléatoire et exhaustive d automates 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éterministes 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], Champarnaud 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 ).

186 162 2 Génération d automates 2.1 Préliminaires Rappelons 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,, q 0, F ) où Q est l ensemble fini des états, q 0 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 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 q 0 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,, q 0, F ) est D = (A, Q,, q 0 ) : on ne distingue plus les états finals. Une telle structure correspond à 2 n automates, puisque l accessibilité garantit que deux ensembles d états finals distincts ne formeront 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 (x 1,..., x m) d entiers positifs telle que x m = 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 x i i/(k 1) pour tout i (k 1)n. Un diagramme marqué est un couple de suites ((x 1,..., x m), (y 1,..., y m)) où (x 1,..., x m) est un diagramme et pour tout i [[ 1, m ]], la y i ème boîte de la colonne i du diagramme est marquée, autrement dit, y i x i (voir Figure 1). Un diagramme de Dyck d indice k et de taille n marqué est un diagramme marqué dont la première suite (x 1,..., x (k 1)n+1 ) est un diagramme de Dyck d indice k et de taille n. (1,1,2,4,4) (1,1,2,4,4) (1,1,2,1,3) (1,3,3,4,4) (1,3,3,4,4) (1,1,2,2,4) Fig. 1: Un diagramme de largeur 5 et de hauteur 4, un diagramme marqué, un diagramme de Dyck d indice 2 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 ).

187 163 Deux bijections (voir Section 2.2) sont utilisées pour transformer les structures de transitions 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 diagrammes 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érateur 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 simples La 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 et complètes de taille n sur un alphabet à k lettres est en bijection avec l ensemble des diagrammes 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 complète de sa validité peut être trouvée. Les algorithmes linéaires correspondant sont présenté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 profondeur, 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 indice 2 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 ).

188 164 Théorème 2 [3] L ensemble des diagrammes marqués de largeur m et de hauteur n et l ensemble des partitions d un ensemble à n + m éléments en n sous-ensembles non-vides sont 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 sousensembles 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. n n m m + n Fig. 3: Le diagramme marqué (((1, 3, 3, 5, 5, 5), (1, 2, 1, 4, 3, 4)) et la partition d ensemble {{1, 3, 6}, {2, 5}, {4, 10}, {7, 9, 11}, {8}}. 2.3 Génération exhaustive On utilise une méthode standard [7] pour engendrer tous les automates déterministes accessibles 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érifier si le maximum est atteint (last) ou non. Tous les ensembles possibles d états finals sont également engendrés. Soient D = (x, y) et D = (x, y ) deux diagrammes de Dyck d indice k et de taille n marqué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 D min = ((x 1,, x (k 1)n+1 ), (1,, 1)), où x i = i/(k 1), et le plus grand est D max = ((n,, n), (n,, n)). Soit D = (x, y) un diagramme de Dyck d indice k marqué qui n est pas égal à D max : (a) Si x y, le successeur de D est obtenu en changeant y i en y i + 1, où i est le plus grand indice tel que y i < x i. (b) Si x = y, soit i le plus grand indice tel que x i < n. Le successeur de D est D = ((x 1,, x i 1, x i + 1, x i+1,, x (k 1)n+1 ), (1,, 1)) où pour tout j i + 1, x j = max (x i + 1, j/(k 1) ). Fig. 4: D min,d max et next appliqué au cas (b) avec i = 2. Schedae, 2007, prépublication n 26, (fascicule n 2, p ).

189 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 Boltzmann Un 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 sousensembles de la partition. La taille moyenne de la partition d ensemble est alors nx ex e x 1. On choisit donc x tel que nx ex e x = kn et on obtient (voir [3]) 1 X x = ζ k = W 0 ( ke k ( p) ) + k et p 1 W 0 (z) = z p p! p=1 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(n 3/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 automates de chaque taille, sur un Intel 2.8 GHz. Taille des automates Temps moyen 0.04 s 1.43 s 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 automate, 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 ).

190 166 namespace regal{ template<typename StateLabel_t,typename Sigma> class AbstractAutomaton{ private : 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 GasteX 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 correspondent à 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 DFA Alphabet<char> alpha ; //Create an alphabet alpha.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 1 2 (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 DFA Alphabet<char> alpha ; //Create an alphabet alpha.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 automates à états sur A = {a, b}. Schedae, 2007, prépublication n 26, (fascicule n 2, p ).

191 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 automate A 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 de minimisation de Moore 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(n 2 ), mais sa complexité en moyenne est toujours inconnue. Algorithme 1: Moore Data : P = {F, F } begin repeat P = P raffiner P en P avec q P q q P q et a A, q a P q a until 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 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 2 n kn n [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 ).

192 168 Temps (sec) Hopcroft avec pile Hopcroft avec file Moore Nombre d iterations Ecart-type Taille de l automate Taille de l automate Fig. 8: Complexités en temps des algorithmes de Moore et de Hopcroft. Fig. 9: Nombre d itérations de la boucle principale 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 Automates minimaux En utilisant le générateur aléatoire, la proportion d automates minimaux parmi les déterministes 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 automates de chaque taille (et un alphabet de taille 2). Taille Automates minimaux (%) 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 automates (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 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 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, [2] J.M. Champarnaud and T. Paranthoën. Random generation of DFAs. Theoret. Comput. Sci., 330 : , [3] F. Bassino and C Nicaud. Enumeration and random generation of accessible automata. Theoret. Comput. Sci., available at http ://www-igm.univ-mlv.fr/ bassino/publi.html, to appear. Schedae, 2007, prépublication n 26, (fascicule n 2, p ).

193 169 [4] J.E. Hopcroft and J. Ullman. Introduction to automata theory, languages, and computation. Addison-Wesley, N. Reading, MA, [5] P. Duchon, P. Flajolet, G. Louchard, and G. Schaeffer. Boltzmann samplers for the random generation of combinatorial structures, combinatorics, probability, and computing. Special issue on Analysis of Algorithms, 13 : , [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, [7] A. Nijenhuis and H.S. Wilf. Combinatorial Algorithms, 2nd ed. Academic Press, [8] P. Flajolet, E. Fusy, and Pivoteau. Boltzmann sampling of unlabelled structures. In Proceedings of ANALCO 07. SIAM Press, [9] S. Lombardy, Y. Régis-Gianas, R. Poss, and J. Sakarovitch. Introducing vaucanson. Theoret. Comput. Sci., 328 :77 96, [10] T. Claveirole, S. Lombardy, L.N. Pouchet, and J. Sakarovitch. Inside vaucanson. CIAA 05, LNCS 4094 : , [11] J. Berstel and O. Carton. On the complexity of Hopcroft s state minimization algorithm. CIAA 2004, LNCS 3317 :35 44, [12] J. Berstel. Eléments d algorithmique. Masson, chapter 9, p [13] D. Korshunov. Enumeration of finite automata. Problemy Kibernetiki, 34 :5 82, In Russian. Schedae, 2007, prépublication n 26, (fascicule n 2, p ).

194 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

195 171 Prépublication n 27 Fascicule n 2 Méthode structurelle pour décider si un transducteur est k-valué Rodrigo de Souza ENST Paris Résumé : Nous proposons un algorithme pour décider si un transducteur T est k-valué (pour un entier k donné) basé sur le produit cartésien T k+1. Cette méthode est conceptuellement différente de la réponse connue pour ce problème, et apporte une preuve plus claire et de meilleure complexité. Mots-clés : transducteur, relation rationnelle, décidabilité. 1 Introduction Cette communication propose un nouvel algorithme pour une question fondamentale de décidabilité de la théorie des transducteurs. Un transducteur est un automate qui lit des mots en entrée et leur associe d autres mots en sortie ; ils réalisent ainsi des relations entre A et B, les ensembles de mots engendrés par les alphabets A et B, appelées relations rationnelles. Les transducteurs occupent une place centrale dans la théorie des automates, cf. [1, 2, 3] pour une étude approfondie, et ont été récemment appliqués au traitement des langues naturelles [4, 5, 6]. En dépit de la simplicité de ces machines, des questions fondamentales comme l équivalence 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 rationnelles, 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 ).

196 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 transducteur 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 une machine 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 G k+1 qui applique l action Avance ou Retard pour chaque paire de projections (proposition 1). Néanmoins, il peut arriver que T k+1 G k+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 G k+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 étendre 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 ).

197 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 1 A, ou seulement 1 dans les figures, et la longueur d un mot u A est dénotée par u. Un automate sur un monoïde M est un graphe A = (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 m E sont finis. Un calcul dans A est une suite c : p 1 m 0 2 m p1... l pl de transitions, m aussi dénotée par c : p 0 pl, où m = m 1... m l est l étiquette de c. Il est dit réussi si p 0 I et p l 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 sortantes, 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) engendré par B est le quotient de (B B) par les équations xx = xx = 1 B, 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, 1 B (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, 1 B ) où E = {δ (u,v) δ (u, v) : δ, (u, v) B B }. Schedae, 2007, prépublication n 27, (fascicule n 2, p ).

198 174 Soit T = (Q, A B, E, I, T ) un transducteur. Le carré de T est le transducteur T 2 = (Q 2, A B 2, F, I 2, T 2 ) où (p, q) a (u,v) (p, q ) F si, et seulement si, p a u p et q a 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 une seule valeur de à chaque état accessible et co-accessible de T ; la valeur de chaque état final est 1 B. 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(Lm 4 ), 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 diffé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 D l = {(i, j) 1 i < j l}. Nous notons l = D l l ensemble des vecteurs de dimension D l 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) D l (δ u) i,j = δ i,j (u i, u j ). La DG où toutes les entrées sont égales a 1 B sera dénotée par η. Nous verrons l action ARG comme un automate infini G l 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 G k+1 = (Q k+1 k+1, A B k+1, G, I k+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 de T 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 G k+1 de la manière suivante : Proposition 1 Un transducteur T est k-valué si, et seulement si, pour tout état accessible et final (q, δ) de T k+1 G k+1, δ a au moins une entrée égale a 1 B. 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 ).

199 175 Fig. 2: La partie de T 3 accessible de (p, p, p) et co-accessible de (p, q, r), et ses composantes fortement connexes, pour le transducteur (2-valué) de la figure 1. Tous les états sont finaux. Schedae, 2007, prépublication n 27, (fascicule n 2, p ).

200 176 Fig. 3: La partie infinie de T 3 G 3 accessible de (p, p, p) et co-accessible de (p, q, r). Les DG sont représentées par des matrices triangulaires supérieures. Chaque rectangle gris correspond à des états de T 3 G 3 qui se projettent dans un même état de T 3. Les transitions pointillées sont étiquetées par le mot vide et ne changent pas les DG. Les DG pour l état (p, q, r) sont représentées ci-dessous. j 1 c t X`(p, q, r) = c t ch`x`(p, q, r) j 1 1 = c t «: t > 0 «ff j c t 1 : t > 0 c t ff j 1 1 c t «: t > 0 «ff : t > 0 ff j 1 1 «ff Schedae, 2007, prépublication n 27, (fascicule n 2, p ).

201 177 5 Une structure finie pour T k+1 G k+1 Pour tout état q de T k+1, soit X`q = {δ (q, δ) accessible dans T k+1 G k+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 H l = [ { }] D l, où marque la place d une entrée non-définie. Les éléments de H l sont des différences partiellement définies (DPD). Remarquez que l H l. 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 0, (remarquez 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 : β γ 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 et final q de T k+1, il existe au moins un choix γ m(q) dont les entrées définies sont égales a 1 B. 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)) 2 l4. L idée de la preuve de la proposition 2 est d établir, pour chaque ensemble de coordonnées P dans D l, 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 complexité polynomiale. 6 Test effectif La construction des ensembles m(q) (pour q accessible et co-accessible) peut être réalisé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 q γ u = γ. f u q, Lemme 1 Tout m(q) est stable. Étant donnés X, Y l, on pose X W 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 H l ). 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 ).

202 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 e 1 : p (1) f 1 u (1) q (1),..., e r : p (r) f r 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 X i le sous-ensemble de m(p (i) ) u (i) formé par les DPD stables dans C. Il résulte de l action sur X i des sorties des calculs de q (i) à q un nouveau ensemble Y i de DPD stables. Par le lemme 1, les DPD dans la famille Y 1,..., Y r contiennent toutes les valeurs possibles d apparaître dans les DPD de m(q). h Wi=r i Ensuite, le lemme 2 assure que m(q) = min i=1 Y 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 1 B. 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 W et est égal à j 1 1 m`(p, q, r) = «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 i q sans cycles, avec i initial, tel que γ i,j = ū i u j. Par conséquent, γ i,j Ln k+1, où L est le maximum des longueurs des sorties des transitions de T et n est le nombre d états de T. f u Schedae, 2007, prépublication n 27, (fascicule n 2, p ).

203 179 Il est possible de tester si une DPD est stable dans une composante à s transitions avec O(k 2 Ln k+1 s) opérations. La proposition 2 assure que chaque m(q) a au plus 2 (k+1)4 éléments, donc la constructions des ensembles Y i peut être fait en temps O(2 (k+1)4 k 2 Ln k+1 s), et chaque opération W en temps O(2 4(k+1)4 k 2 Ln k+1 ). La complexité de notre algorithme est O(2 5(k+1)4 Ln k+1 m k+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 inscrit dans la recherche de doctorat de l auteur, financée par la CAPES Foundation (gouvernement brésilien). Références [1] S. Eilenberg. Automata, Languages, and Machines, volume A. Academic Press, [2] J. Berstel. Transductions and context-free languages. B. G. Teubner, [3] J. Sakarovitch. Eléments de théorie des automates. Vuibert, English translation : Elements of Automata Theory, Cambridge University Press, to appear. [4] E. Roche and Y. Schabes. Finite-State Language Processing. MIT Press, [5] M. Mohri. Finite-state transducers in language and speech processing. Computational Linguistics, 23 : , [6] M. Mohri, F. Pereira, and M. Riley. Weighted finite-state transducers in speech recognition. Computer Speech and Language, 16(1) :69 88, [7] M.O. Rabin and D. Scott. Finite automata and their decision problems. IBM Journal of Research and Development, 3 : , [8] P.C. Fischer and A.L. Rosenberg. Multitape one-way nonwriting automata. J. Computer System Sci., 2 :88 101, [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 , [10] A. Weber and R. Klemm. Economy of description for single-valued transducers. Information and Computation, 119 : , [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, [12] E. Gurari and O Ibarra. A note on finite-valued and finitely ambiguous transducers. Mathematical Systems Theory, 16 :61 66, Schedae, 2007, prépublication n 27, (fascicule n 2, p ).

204 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

205 session 8 Séparation aveugle de sources

206 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

207 181 Prépublication n 28 Fascicule n 2 Séparation aveugle de sources pour des systèmes MIMO et un codage d Alamouti et de Tarokh Steredenn Daumont, Daniel Le Guennec Société IPSIS et IETR /SCEE/ Supélec 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 redondante 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 systè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 ).

208 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 ambiguï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 algorithme 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 comparé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 x i (k) les symboles, envoyés sur la i e antenne, résultant du codage MIMO. On considère un système MIMO de type Alamouti ou Tarokh avec respectivement N t et N r 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 : où Y (k) = H = y 1 (k) y 2 (k). y Nr (k) h 11 h 1Nt Y (k) = H.X(k) + B(k) x 1 (k) x 2 (k) X(k) =. x Nt (k) B(k) = b 1 (k) b 2 (k). b Nr (k) où h Nr1 h NrN t Y (k) est le vecteur (N r 1) des signaux reçus à l instant k ; X(k) est le vecteur (N t 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 (N r 1) bruit additif gaussien à l instant k ; H est une matrice (N r N t) de canal instantané. Schedae, 2007, prépublication n 28, (fascicule n 2, p ).

209 Codage d Alamouti et de Tarokh Le code d Alamouti vérifie les trois propriétés suivantes : rendement unitaire, diversité maximale et orthogonalité, pour N t = 2. La matrice mot de code L est alors : ( ) L = X(1) X(2)... X(2 N s) ( ) = s(1) s (2) s(3) s (4)... s(n s 1) s (N s) s(2) s (1) s(4) s (3)... s(n s) s (N s 1) où la 1 ère ligne de la matrice L correspond au flux de symboles émis sur l antenne 1 et la 2 e ligne au flux de symboles émis sur l antenne 2, N s est le nombre de symboles à transmettre, 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 de 1 pour un nombre quelconque d antennes, tout en gardant une construction orthogonale. 2 Pour N t = 3, la matrice mots de code est la suivante : L = = ( ) X(1) X(2)... X(8 N s) 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 N t = 4, ( ) L = X(1) X(2)... X(8 N s) 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 effectuée en réception grâce à l algorithme MUK. 2.2 Algorithme MUK Le principe de séparation de sources est de filtrer les signaux reçus Y (k) par une matrice W (k) de dimension N r N t afin d obtenir Z(k) de dimension N t 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) = G T (k)x(k) + B (k) avec G(k) = H T 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 ).

210 184 N r N t ; H est de rang plein N t, 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 C b = E[BB H ] = σb 2I N r, où I Nr représente la matrice identité (N r N r) ; Les signaux sources sont des séquences de symboles, à temps discret, centrés, de matrice de covariance C x = E[XX H ] = I Nt 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(z l (k)) = K x, l = 1,..., N t C2) E[ z l (k) 2 ] = σx 2, l = 1,..., Nt C3) E(z l (k)zm (k)) = 0, l m où K(a) = E[ a 4 ] 2E 2 [ a 2 ] E[a 2 ] 2 est le kurtosis non normalisé K x = K(x l (k)) σ 2 x = E[ x l (k) 2 ] Papadias a proposé dans [6] le critère suivant pour séparer les signaux de manière aveugle : { max G F (G) = N t l=1 K(z l) sous G H G = I Nt 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 algorithme 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(k x)y (k)z (k) ( ) où Z (k) = z 1 (k) 2 z 1 (k)... z Nt (k) 2 z Nt (k) satisfaction de la contrainte d orthogonalisation à la prochaine itération de l algorithme : G H (k)g(k) = I Nt. En supposant H unitaire (ce qui revient à supposer que les signaux reçus sont préblanchis), il suffit de choisir W (k+1) de manière à satisfaire : W H (k + 1)W (k + 1) = I Nt L orthogonalisation est obtenue en utilisant une procédure d orthogonalisation de Gram- Schmidt et est combinée avec l algorithme MUK de la manière suivante : 1. k = 0, W (0) = W 0 Schedae, 2007, prépublication n 28, (fascicule n 2, p ).

211 pour k > 0, on obtient W (k + 1) = W (k) + µsign(k x)y (k)z (k) avec µ le pas d adaptation de l algorithme et Z (k) = ( z 1 (k) 2 z 1 (k)... z Nt (k) 2 z Nt (k) ) ( ) 3. on obtient W 1 (k + 1) = W 1 (k+1) W 1 (k+1) où W 1 est définie par W = W 1... W N t 4. pour j = 2 à N t faire W j (k +1) = W j j 1 ( (k+1) W H (k+1)w l=1 l j )W (k+1) l (k+1) ( Fin de la boucle 5. W (k + 1) = (W 1 (k + 1)... W Nt (k + 1)) 6. k = k + 1 retour à 2 W j (k+1) j 1 l=1 W H l (k+1)w j (k+1) )W l (k+1) 3 Estimation de l ordre des symboles par exploitation de la diversité 3.1 Cas du codage d Alamouti avec N t = N r = 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 = ( suivant les permutations on a : z 1 (1) z 1 (2) z 1 (3) z 1 (4)... z 2 (1) z 2 (2) z 2 (3) z 2 (4)... ) z 1 (1) = ŝ(1) ou ŝ(2) z 2 (1) = ŝ(2) ou ŝ(1) z 1 (2) = ŝ (2) ou ŝ (1) z 2 (2) = ŝ (1) ou ŝ (2) etc... où ŝ représente l estimée de s. On identifie alors l ordre des sources grâce à la règle suivante : Si z 1 (k)z 2 (k + 1) > z 2 (k)z 1 (k + 1) alors z 1 (k) = ŝ(k), les lignes sont ici dans le bon ordre ( z1 (k)z 2 (k + 1) = ŝ(k) 2 > 0 et z 2 (k)z 1 (k + 1) = ŝ(k + 1) 2 < 0 ) sinon z 1 (k) = ŝ(k + 1), il y a ici une permutation des lignes 1 et 2 ( z1 (k)z 2 (k + 1) = ŝ(k + 1) 2 < 0 et z 2 (k)z 1 (k + 1) = ŝ(k) 2 > 0 ) où k {1, 3,..., N s 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 z i (N s (P 1))... z i (Ns) : Si z 1 (k)z 2 (k + 1) > z 2 (k)z 1 (k + 1) k F k F où F = {N s (P 1), N s (P 1),..., N s 1} Schedae, 2007, prépublication n 28, (fascicule n 2, p ).

212 186 alors z 1 (k) = ŝ(k) sinon z 1 (k) = ŝ(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 z 1 (k) = ŝ(k) alors ŝ(k) = z 1(k)+z2 (k+1) et ŝ(k + 1) = z 2(k) z1 (k+1) 2 2 si z 1 (k) = ŝ(k + 1) alors ŝ(k + 1) = z 1(k) z2 (k+1) et ŝ(k + 1) = z 2(k)+z1 (k+1) 2 2 Les z i étant indépendants et de même variance, la variance de l estimation des symboles est alors réduite par deux : V ar[ŝ(k)] = 2V ar[z i(k)] 4 = V ar[z i(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(σb 2 )) avec Nt = Nr = 2 : ( MSE1(σb 2 ) = 10 log 1 10 = 10 log 10 1 N s N s N s 1 k=0 k {1,3,...,N s 1} z 2 (k) z1 (k + 1) )) 2 s(k + 1) 2 ŝ(k) s(k) 2 ) ( ( g11 + g22 = 10 log g21 g z 1 (k) + z2 (k + 1) σ2 b 2 ) 2 s(k) + où g kl = G(k, l) and w kl = W (k, l). D autre part, on obtient l EQM théorique lorsque l on n exploite pas la redondance (MSE2(σ 2 b )) : ( ) N MSE2(σb 2 ) = 10 log 1 s 1 10 ŝ(k) s(k) 2 N s k=0 = 10 log 10 1 ( z1 (k) s(k) 2 + z 2 (k) s(k + 1) 2) N s k {1,3,...,N s 1} ( ) g g 21 2 = 10 log 10 + g g σb Pour obtenir ces équations on a utilisé les hypothèses suivantes : E[B(k)B H (k + l)] = σ 2 b δ(l)i N t, où δ(l) = 1 si l = 0 sinon δ(l) = 0, X et B sont mutuellement indépendants de moyenne nulle, E[X(k)X H (k + l)] = δ(l)i Nt et b 1 et b 2 sont mutuellement indépendants. Ainsi, la différence entre l EQM1 et l EQM2 ( est égale à : MSE1(σ 2 b ) MSE2(σ2 b ) = 10 log g 11 +g g 21 g σ 2 b g g g g σ 2 b Sans interférence inter-antennes, g 11 1, g 22 1, g 21 0 et g 12 0, on obtient ainsi : MSE1(σ 2 b ) MSE2(σ2 b ) = 10 log 10 ( ) 1 = 3dB 2 ) Schedae, 2007, prépublication n 28, (fascicule n 2, p ).

213 Cas du codage de Tarokh Avec le code de Tarokh, nous exploitons toujours la redondance pour retrouver l ordre des sources mais de manière plus simple. Lorsque N t = N r = 3, la matrice Z est donc définie ainsi : z 1 (1) z 1 (2) z 1 (3) z 1 (4) z 1 (5) z 1 (6) z 1 (7) z 1 (8)... Z = z 2 (1) z 2 (2) z 2 (3) z 2 (4) z 2 (5) z 2 (6) z 2 (7) z 2 (8)... z 3 (1) z 3 (2) z 3 (3) z 3 (4) z 3 (5) z 3 (6) z 3 (7) z 3 (8)... et suivant les permutations on a z 1 (1) = ŝ(1) ŝ(2) ŝ(3) z 2 (1) = ŝ(3) ou ŝ(1) ou ŝ(2) z 3 (1) = ŝ(2) ŝ(3) ŝ(1) z 1 (2) = ŝ(1) ŝ(2) ŝ(4) z 2 (2) = ŝ(4) ou ŝ(1) ou ŝ(2) z 3 (2) = ŝ(2) ŝ(4) ŝ(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 z l (k), z l (k + 1), z l (k + 2), z l (k + 3), pour l {1,..., N t} et k = 5 + 8p p {0,..., Ns 1}, comme ci-dessous. 4 z 1 (1) z 1 (2) z 1 (3) z 1 (4) z1 (5) z 1 (6) z 1 (7) z 1 (8)... Z = [z l (k)] = z 2 (1) z 2 (2) z 2 (3) z 2 (4) z2 (5) z 2 (6) z 2 (7) z 2 (8)... z 3 (1) z 3 (2) z 3 (3) z 3 (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 z l (k) : ŝ(1) = N t j {1,2,3,5,6,7} 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 : ( Nt ) ŝ(2) = j {1,4,5,8} i=1 z i (j) Nt j {2,6} i=1 z i (j) /6 ŝ(3) = ( j {1,5} Nt i=1 z i (j) j {3,4,7,8} ŝ(4) = ( j {3,7} Nt i=1 z i (j) j {2,4,6,8} Nt ) i=1 z i (j) /6 ) Nt i=1 z i (j) /6 Comme pour le code d Alamouti, la variance des symboles ainsi obtenus est alors diminuée par deux par rapport aux symboles obtenus sans exploiter la redondance : V ar[ŝ] = 6 j=1 Nt i=1 V ar[z ] = 18V ar[z ] = V ar[z ] Schedae, 2007, prépublication n 28, (fascicule n 2, p ).

214 188 De la même manière, lorsque N t = N r = 4, nous obtenons les symboles ŝ(k) grâce à une combinaison linéaire des symboles séparés z l (k) : ( N 8 t ŝ(1) = z i )/8 (j) j=1 i=1 ( ŝ(2) = j {1,4,5,8} i=1 ( ŝ(3) = j {1,2,5,6} i=1 ( ŝ(4) = etc... j {1,3,5,7} i=1 N t z i (j) N t z i (j) N t z i (j) j {2,3,6,7} i=1 j {3,4,7,8} i=1 j {2,4,6,8} i=1 N t z i )/8 (j) N t z i )/8 (j) N t z i )/8 (j) On obtient alors la même variance que lorsque N t = N r = 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 constellation 4 ou 16 QAM, les simulations sont effectuées avec 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 constellation de 4-QAM et N t = N r = 2, 3 et 4 On remarque sur la figure 1 et 2, c est à dire avec N t = N r = 2 et N t = N r = 3 respectivement, 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 N t = N r = 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 confirme l expression analytique de l EQM. 4.2 Erreur Quadratique moyenne pour une constellation de 16-QAM et N t = N r = 2, 3 et 4 Sur les figures 1 et 2, lorsque E s/n 0 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 E s/n 0 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 ).

215 189 EQM avec 100 réalisations, Nt=Nr=2, symboles, mu= EQM sans exploiter la redondance 4 QAM 5 EQM en exploitant la redondance 4 QAM EQM sans exploiter la redondance 16 QAM 10 EQM en exploitant la redondance 16 QAM EQM avec 100 réalisations, Nt=Nr=2, symboles, mu= EQM théorique sans exploiter la redondance 16 QAM EQM théorique en exploitant la redondance 16 QAM 5 EQM théorique en exploitant la redondance 4 QAM EQM théorique sans exploiter la redondance 4 QAM EQM(dB) EQM(dB) Es/N0(dB) Es/N0(dB) Fig. 1: EQM et EQM théorique respectivement avec N t = N r = 2. EQM(dB) EQM avec 100 réalisations, Nt=Nr=3, symboles,mu= EQM sans exploiter la redondance 4 QAM EQM en exploitant le redondance 4 QAM 5 EQM sans exploiter la redondance 16 QAM EQM en exploitant la redondance 16 QAM TES 10 0 TES avec 1000 réalisations,nr=nt=3, 1000 symboles,mu= TES sans exploiter la redondance 16 QAM TES en exploitant la redondance 16 QAM TES sans exploiter la redondance 4 QAM TES en exploitant la redondance 4 QAM Es/N0(dB) Es/N0(dB) Fig. 2: EQM et TES respectivement avec N t = N r = 3. and Interference Ratio) et est défini ainsi : SINR j (W k ) = N r l=1,l j g kj 2 g kl 2 + W H k R bw k où g kl = G(k, l), SINR j (W k ) est le SINR du j me signal transmis sur la k me antenne receptrice et R b = E[BB H ]. Notre mé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 N t = N r = 4. Les courbes théoriques sont, comme en 4-QAM, identiques aux courbes réelles. 4.3 Taux d Erreur par Symbole pour des constellations de 4-QAM et 16-QAM et N t = N r = 2, 3 et 4 Sur la figure 2, le TES obtenu pour N t = N r = 3 en exploitant la redondance est pratiquement deux fois plus faible que le TES obtenu sans exploiter la redondance. Nous obtenons les mêmes résultats pour N t = N r = 2 et 4. Schedae, 2007, prépublication n 28, (fascicule n 2, p ).

216 190 5 Conclusion Nous avons considéré le problème de séparation aveugle de sources pour un système multiantennes 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 à une mé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, [2] Siavash M.Alamouti. A simple transmit diversity technique for wireless communications. IEEE JOURNAL ON SELECT AREAS IN COMMUNICATIONS, 16(8) : , October [3] Hamid Jafarkhani Vahid Tarokh and A. R. Calderbank. Space-time block codes from orthogonal designs. IEEE TRANSACTIONS ON INFORMATION THEORY, 45(5) : , July [4] Carlos J. Escudero Luis Castedo and Adriana Dapena. A blind signal separation method for multiuser communications. IEEE TRANSACTION ON SIGNAL PROCESSING, 45 : , [5] D.B. Ward P. Sansrimahachai and A.G. Constantinides. Blind source separation for blast. DIGITAL SIGNAL PROCESSING, 1 : , [6] C B. Papadias. Globally convergent blind source separation based on a multiuser kurtosis maximization criterion. IEEE TRANSACTIONS ON SIGNAL PROCESSING, 48(12) : , December [7] C B. Papadias. A multiuser kurtosis algorithm for blind source separation. IEEE INTERNATIONAL CONFERENCE, 5 : , [8] N. Delfosse and P. Loubaton. Adaptative separation of independent sources : a deflation approach. Signal Processing, 4 :59 83, April [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, [10] A. Lee Swindlehurst. Blind and semi bling equalization for generalized space-time block codes. IEEE TRANSACTIONS ON SIGNAL PROCESSING, 50(10) : , October Schedae, 2007, prépublication n 28, (fascicule n 2, p ).

217 191 Prépublication n 29 Fascicule n 2 Séparation aveugle de sources cyclostationnaires par utilisation des statistiques de second ordre Mohamed Salem Ould Mohamed, Hassan Fenniri, Georges Delaunay Laboratoire CReSTIC-DéCOM Amor Keziou Laboratoire de Mathématiques UMR 6056, Université de Reims Résumé : Dans ce papier, nous proposons un nouveau critère de séparation aveugle de sources cyclostationnaires au second ordre de fréquences cycliques supposées connues et différentes deux-àdeux, dans le cadre d un mélange linéaire instantané. La mé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éthodes 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 ).

218 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 adapté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éparation 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 := (s 1,..., s p) 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 := (x 1,..., x p) 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 z 1,..., z p sont une estimation des signaux sources s 1,..., s p. On a donc z = Wx = WAs avec V := WA est une matrice unitaire ; c est-à-dire VV T = I et det(v) = 1. Pour retrouver donc les signaux sources s, il faut estimer la matrice inverse U de V, 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 UU T = I p et det(u) = 1. Cette matrice est paramétrée par les rotations de Givens ; elle s écrit U(θ) := Y G(i, k, θ m) (4) 1 i<k p où Schedae, 2007, prépublication n 29, (fascicule n 2, p ).

219 193 8 cos(θ m) si j = i, l = i ou j = k, l = k; G(i, k, θ m) j,l = >< sin(θ m) si j = i, l = k; sin(θ m) si j = k, l = i; (5) >: 1 si j = l; 0 sinon, 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ée en 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 T 0 = 1 α 0. Dans ce cas, l autocorrélation se décompose en série de Fourier comme suit ([19, 20, 21, 22]) : R x(t, τ) := E(x(t)x(t + τ)) = + X m= R mα 0 x (τ) e j2π T m t 0 (7) avec Z R mα 1 T /2 0 x (τ) = lim x(t)x(t + τ) e j2π m t T 0 dt, m Z, (8) T T T /2 si le signal x(t) est cycloergodique à l ordre 2, dans le sens suivant : la moyenne temporelle de x(t)x(t + τ) e j2π m T 0 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 y 1 (t) = cos(θ) z 1 (t) + sin(θ) z 2 (t), y 2 (t) = sin(θ) z 1 (t) + cos(θ) z 2 (t). (9) On constate que y 1 est un mélange de z 1 et z 2 qui sont des estimées de s 1 et s 2 ; comme s 1 et s 2 sont de fréquences cycliques α et β respectivement (avec α β), il est naturel, pour séparer s 1 de s 2, de maximiser en θ, l écart Γ 1 (θ) = L 1 X m=1 R mα y 1 (0) 2 Ry mβ 1 (0) 2. (10) De même, comme y 2 est un mélange de z 2 et z 1 qui sont des estimées de s 2 et s 1 (respectivement), pour séparer s 2 de s 1, on propose de maximiser en θ, l écart Γ 2 (θ) = L 2 X m=1 R mβ y 2 (0) 2 R mα y 2 (0) 2. (11) Schedae, 2007, prépublication n 29, (fascicule n 2, p ).

220 194 Enfin, pour restituer s 1 et s 2 à partir de y 1 et y 2, en tenant compte de (10) et (11), on propose de maximiser en θ le contraste suivant Γ(θ) = Γ 1 (θ) + Γ 2 (θ) = + Notons que d après (9), il vient L 2 X m=1 R mβ y 2 L 1 X m=1 R mα y 1 (0) 2 Ry mβ 1 (0) 2 + (0) 2 R mα y 2 (0) 2. (12) Ry mα 1 (0) = cos(θ) 2 Rz mα 1 (0) + sin(θ) 2 Rz mα 2 (0) + 2 cos(θ) sin(θ)rz mα 1 z 2 (0), Ry mβ 1 (0) = cos(θ) 2 Rz mα 1 (0) + sin(θ) 2 Rz mβ 2 (0) + 2 cos(θ) sin(θ)rz mβ 1 z 2 (0), Ry mβ 2 (0) = sin(θ) 2 Rz mβ 1 (0) + cos(θ) 2 Rz mβ 2 (0) 2 sin(θ) cos(θ)rz mβ 1 z 2 (0), Ry mα 2 (0) = sin(θ) 2 Rz mα 1 (0) + cos(θ) 2 Rz mα 2 (0) 2 sin(θ) cos(θ)rz mα 1 z 2 (0). Ces formules sont utilisés pour calculer la fonction coût (12) pour tout θ. Les paramètres L 1 et L 2 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 z 1 et z 2. 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 z 1 et z 2. 3 Résultats de simulations Nous présentons dans ce paragraphe trois exemples de simulations pour illustrer la performance de la méthode. Dans le premier exemple, on traite le cas de deux sources cyclostationnaires de fréquences cycliques différentes. Dans le deuxième exemple, nous considé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 cycliques différentes deux-à-deux. 1 EQM Coût Fig. 1: Fonction Coût Γ et Erreur Quadratique Moyenne en fonction de θ. Schedae, 2007, prépublication n 29, (fascicule n 2, p ).

221 195 Exemple 1 Considérons les deux sources cyclostationnaires à l ordre deux s 1 et s 2 respectivement de fréquences cycliques α = 2F 1 = 80 Hz et β = 2F 2 = 30 Hz s 1 (t) = a(t) cos(2πf 1 t), s 2 (t) = b(t) cos(2πf 2 t), où a(t) et b(t) sont des bruits blancs gaussiens centrés et réduits. Le nombre d échantillons et la fréquence d échantillonnage sont fixés respectivement à 4000 et 40 KHz. La matrice de mélange est A = La figure 1 illustre la courbe representative du critère proposé ; c est-à-dire la fonction de contraste π θ 2, π» Γ(θ), (13) 2 et l erreur quadratique moyenne π θ 2, π» EQM(s, y, θ) = 2 «. 2X s i (t) y i (θ) 2 (14) entre les signaux sources s et les estimés y. Dans (13), on choisit L 1 = L 2 = 1 ; les autres coefficients de la décomposition en série de Fourier sont négligeables. On constate que notre critère est régulier ; il admet un seul maximum ˆθ = rd correspondant à l estimation optimale (au sens de l erreur quadratique moyenne) des sources s 1 et s 2 ; voir figure 1. Le maximum de la fonction coût Γ(.) est calculé par utilisation de l algorithme de 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 la fonction coût proposée permet d améliorer l estimation des deux sources de plus de 20 db. i=1 EQM(s, x) EQM(s, z) EQM(s, y) source s source s Tableau 1 : Erreurs quadratiques moyennes en db. Exemple 2 Soient les deux sources cyclostationnaires suivantes s 1 (t) = a(t) s 2 (t) = b(t)! Xm 1 A 1 (i) cos (2πiF 1 t + ϕ 1 (i)), i=1! Xm 2 A 2 (i) cos (2πiF 2 t + ϕ 2 (i)), i=1 où les amplitudes A 1, A 2 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 blancs gaussiens centrés et réduits, et m 1 = m 2 = 2. La matrice de mélange est identique à celle utilisée dans l exemple 1. On fixe α = 2F 1 = 60 Hz et β = 2F 2 = 140 Hz. Le nombre d échantillons et la fréquence d échantillonnage sont respectivement 4000 et 40 KHz. Pour cet exemple, les paramètres L 1 et L 2 de la fonction coût (12) sont choisis L 1 = 3 et L 2 = 3 ; les autres composantes de la décomposition en série de Fourier étant négligeables. Les résultats sont consignés dans le tableau 2. Il est clair d après l expression de la fonction coût (12) que la méthode reste valable et donne de bons résultats même dans le cas de présence des mêmes fréquences cycliques multiples communes (par exemple pour F 1 = 30 et F 2 = 90), c est-à-dire occupant le même canal de fréquence ; la contribution des deux 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 s source s Tableau 2 : Erreurs quadratiques moyennes en db. Schedae, 2007, prépublication n 29, (fascicule n 2, p ).

222 196 Exemple 3 Considérons les trois sources cyclostationnaires à l ordre deux de fréquences cycliques respectives α = 2F 1 = 30 Hz, β = 2F 2 = 70 Hz et γ = 2F 3 = 130 Hz s 1 (t) = a(t) cos(2πf 1 t), s 2 (t) = b(t) cos(2πf 2 t), s 3 (t) = c(t) cos(2πf 3 t), où a(t), b(t) et c(t) sont des bruits blancs gaussiens centrés et réduits. Le nombre d échantillons et la fréquence d échantillonnage sont fixés respectivement à 4000 et 40 Khz. La matrice de mélange est A A Dans ce cas 3 3 de séparation de sources, après l étape de blanchiment, nous aurons besoin de trois rotations θ 1, θ 2 et θ 3 de l espace des signaux blanchis pour pouvoir restituer les sources. Soit U une matrice 3 3 telle que UU T = I et det U = 1. Elle s écrit U(θ) = U 1 (θ 1 ) U 2 (θ 2 ) U 3 (θ 3 ) (15) où U 1 (θ 1 ), U 2 (θ 2 ) et U 3 (θ 3 ) sont respectivement les rotations de Givens suivantes cos θ 1 sin θ 1 0 sin θ 1 cos θ A, cos θ 2 0 sin θ sin θ 2 0 cos θ 2 1 A, cos θ 3 sin θ 3 0 sin θ 3 cos θ 3 1 A. (16) Les paramètres θ 1, θ 2 et θ 3 représentent les trois angles de rotation possibles de l espace des signaux blanchis z, où π/2 θ 1, θ 2, θ 3 π/2. Le critère Γ(θ) dans ce cas s écrit Γ(θ) = L 1 X m=1 R mα y 1 (0) 2 ( Ry mβ 1 (0) 2 + Ry mγ 1 (0) 2 ) + L 2 X m=1 R mβ y 2 (0) 2 ( Ry mα 2 (0) 2 + Ry mγ 2 (0) 2 ) XL 2 + m=1 R mγ y 3 (0) 2 ( Ry mα 3 (0) 2 + Ry mβ 3 (0) 2 ). Le maximum de la fonction coût Γ est calculé par utilisation de l algorithme de descente du gradient de Newton en prenant comme point initial (θ 1, θ 2, θ 3 ) = (0, 0, 0). Nous présentons sur la figure 2 les signaux sources, les observations et les sources estimés par maximization de Γ. Le tableau 3 résume les erreurs d estimation des trois sources. EQM(s, x) EQM(s, z) EQM(s, y) source s source s source s 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érentes 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 applique 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 ).

223 197 5 s1 5 s2 5 s x x x s1 estimé s2 estimé s3 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 composites par apprentissage non supervisé. C. R. de l Academie des Sciences, 299(III-13), pages , [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, May, pages , [3] Jean-François Cardoso and Pierre Comon. Tensor based independent component analysis. in Proc EUSIPCO, [4] Pierre Comon. Independent component analysis, a new concept? Proc. Int. Workshop on Higher- Order Statistics, Chamrousse, France, pages , [5] Pierre Comon, C. Jutten, and J. Herault. Blind separation of sources, part ii : Statement problem. Signal Processing, 24 :11 20, [6] Pierre Comon. Independent component analysis, a new concept? Signal Processing, IEEE, 36(3) : , [7] Jean-François Cardoso. Blind signal separation : statistical principles. Proceedings of the IEEE, 9(10) : , [8] Adel Belouchranie, Karim Abed-Meraim, Jean-François Cardoso, and Eric Moulines. A blind separation technique using second-order statistics. IEEE Trans. Signal processing, 45(2) : , [9] Eric Moreau. A generalization of joint-diagonalization criteria for source separation. Trans.Signal Processing, IEEE, 49(3) : , [10] Dunh-Tuan Pham. Mutual information approach to blind separation of stationary sources. IEEE Trans. Information Theory, 48(7), [11] Mohammed El Rhabi, Guillaume Gelle, Hassan Fenniri, and Georges Delaunay. A penalized mutual information criterion for blind separation of convolutive mixtures. Signal Processing, 84 : , [12] Massoud Babaie-Zadeh and Christian Jutten. A general approach for mutual information minimization and its application to blind source separation. Signal Processing, 85 : , [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), Schedae, 2007, prépublication n 29, (fascicule n 2, p ).

224 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) : , [15] Maria. G. Jafari, S. R. Alty, and J. A. Chambers. New natural gradiant algorithm for cyclostationary sources. IEEE Proceedings, 151(1) :62 68, [16] Roger Boustany and Jerome Antoni. A subspace method for the blind extraction of a cyclostationary source : Application to rolling element bearing diagnostics. Mechanical Systems and Signal Processing, 19(1) : , [17] Noureddine Bouguerriou, M. Haritopoulos, C. Capdessus, and L. Allam. Novel cyclostationaritybased blind source separation algorithm using second order statistical properties : Theory and application to the bearing defect diagnosis. Mechanical Systems and Signal Processing, 19(6) : , [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, [19] William. A. Gardner and Lewis. E. Franks. Characterization of cyclostationary random signal processes. IEEE Trans. Information Theory, 21(1), [20] William. A. Gardner. Exploitation of the spectral redundancy in cyclostationary signals. IEEE Mag. Signal Processing, 8, [21] William. A. Gardner and Chad. M. Spooner. The cumulant theory of cyclostatioary time-series, part i : Foundation. IEEE Trans. Signal Processing, 42(12), [22] William. A. Gardner, Antonio Napolitano, and Luigi Paura. Cyclostationarity : Half a century of research. Signal Processing, 86 : , Schedae, 2007, prépublication n 29, (fascicule n 2, p ).

225 199 Prépublication n 30 Fascicule n 2 Séparation aveugle de sources : estimation du nombre de signaux et application aux signaux à phase polynomiale Olivier Fourt, Messaoud Benidir Laboratoire des Signaux et Sytèmes, Supélec Université Paris-Sud Résumé : L estimation du nombre de sources présentes dans un mélange de signaux est un problème associé à 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 algorithme 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 ordre 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 ).

226 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 beaucoup 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 autocorré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.! px s(t) = α cos β k t k α R +, β k R, k = 0... p (1) k=0 2 Cadre du problème Définition 1 Un signal g(k) k = 1,..., K est dit parcimonieux si pour presque toutes les valeurs de k on a : g(k) = 0. En pratique, il n est pas nécessaire d être aussi restrictif : nous considérons comme parcimonieux 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 inconnus. x(k) = As(k) + b(k) k = 1... N x R p signaux capteurs, s R n sources parcimonieuses distinctes, b R p bruit additif gaussien, A R p 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 ).

227 201 Fig. 1: Mélange de trois SPP, plan x 1/x 2. 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 tempsfréquence concentrent l énergie d un SPP le long de sa fréquence instantanée. Cette proprié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 locaux. 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 un mé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 tendance à 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 considè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 algorithme 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 ).

228 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 y t (k) ; le paramètre σ est pris égal à 6 fois l écart-type empirique de y(k). k si y(k) < σ alors y t (k) = 0 sinon y t (k) = y(k) (3) Normalisation des données et sélection des points non-nuls. k si y t (k) 0 alors d(k) = y t(k) y t (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 fournit 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 n opt à l aide d un critère similaire aux critères de sélection bayesiens et déterminé empiriquement pour p capteurs. Une limite maximale 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%. 3.2 Simulations n opt = min Ob(i) + L tanh ((i p) 1.5 ) log(i) (5) i 35 L 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ésentons que les résultats réalisés avec deux capteurs. Les signaux sont échantillonnés à une fréquence de 10 6 Hz et traités avec un filtre anti-repliement de Butterworth d ordre 8 coupant à Hz. 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 Hz et Hz (problèmes de fréquences 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 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 sousestimation 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. N v est le nombre exact de sources, N est 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 ).

229 203 N est N v SNR db db db db db Tab. 1: Taux de sur- et sous-estimation du nombre de sources. N v SNR db db db db db 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 considé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 un mélange afin de pouvoir appliquer ensuite un algorithme SCA pour 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 Sr i (k, l) la décomposition en paquet de cosinus locaux de la source reconstituée sr i. Le paramètre hs i est défini comme la moyenne des écart-types empiriques de Sr i (k, l) calculés pour chaque niveau de décomposition. la source reconstituée sr i correspond à un signal effectivement présent dans le mélange, le paramètre hs i correspondant a une valeur supérieure à 1. Lorsque la source reconstituée sr i ne correspond pas à un signal présent dans le mélange (signal en trop), le paramètre hs i 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 ).

230 204 Fig. 2: Représentation temps-fréquence du mélange. Fig. 3: Représentation temps-fréquence de sr 1. Fig. 4: Représentation temps-fréquence de sr 2. donc de détecter les erreurs de surestimation du nombre de source : Pour chaque i Si hs i > 0.9 alors sr i source OK Sinon erreur sr i 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 : hs 1 = 1.31 hs 2 = 1.06 hs 3 = 0.75 hs 4 = 1.19 hs 3 est inférieur à 0.9, une observation de la représentation temps-fréquence de la source reconstituée sr 3 nous confirme que cette source ne correspond à rien : elle comprend 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 figures 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 sr 2 et sr 4 (figures 4 et 6) sous une forme atténuée. Schedae, 2007, prépublication n 30, (fascicule n 2, p ).

231 205 Fig. 5: Représentation temps-fréquence de sr 3. Fig. 6: Représentation temps-fréquence de sr 4. 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 estimation 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 performances 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 : Methods,assumptions and applications. IEICE Trans. Fundamentals, E83 A(8) : , August [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, [3] Rémi Gribonval and Sylvain Lesage. A survey of sparse component analysis for source separation : principles, perspectives, and new challenges. In ESANN 06 proceedings 14th European Symposium on Artificial Neural Networks, pages , April [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, [5] David L. Donoho and Michael Elad. Maximal sparsity representation via l1 minimization. Proceedings of the National Academy of Sciences, 100 : , March [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) : , May Technical report October Schedae, 2007, prépublication n 30, (fascicule n 2, p ).

232 206 [7] Pau Bofill and Michael Zibulevsky. Underdetermined blind source separation using sparse representations. Signal Processing, 81(11) : , [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 [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, [10] Michael Zibulevsky and Barak A. Pearlmutter. Blind source separation by sparse decomposition in a signal dictionary. Neural Computation, 13(4) : , April [11] Olivier Fourt and Messaoud Benidir. Separation of a polynomial phase signals mixture using sparsity. In IECON06, Schedae, 2007, prépublication n 30, (fascicule n 2, p ).

233 session 9 Imagerie

234 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

235 207 Schedae, 2007 Prépublication n 31 Fascicule n 2 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 Quetigny France Frédéric Truchetet UMR 5158 ub-cnrs 12 rue de la Fonderie Le Creusot France Résumé : Dans le cadre de l agriculture de précision, l imagerie s avère être de plus en plus utilisée comme outil d aide à la décision pour une gestion spécifique des intrants dans des parcelles cultivées. Dans ce contexte, nous présentons une modélisation de scènes agronomiques afin d évaluer et de comparer la précision et la robustesse d algorithmes de discrimination culture/adventices. La modélisation de ces images se décompose en deux parties : la première consiste en la modélisation d une parcelle cultivée en simulant la distribution spatiale des plantes (culture et mauvaises 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 utilisation de ce modèle afin de tester et de comparer deux algorithmes de discrimination d adventices 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 algorithmes 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, transformé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 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 ).

236 208 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 progrè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 parcellaire, 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épartition 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 pulvérisation spécifique) peuvent être également conduites en temps réel : c est l un des projets 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 discrimination 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é validé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 laboratoire ayant développé deux algorithmes pour cette discrimination, nous avons choisi d exploiter notre modèle pour comparer leurs performances à partir des images modélisées dont les paramètres initiaux (nombre de pixels de culture, nombre de pixels d adventices, taux d infestation) sont parfaitement maîtrisés. Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

237 209 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 importante 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 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 relative à 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 positionnés selon les lignes de semis en respectant les caractéristiques précédemment énoncé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 algorithme est visible en Figure 1. Fig. 1 : Champ virtuel de tournesol (inter-rang = 45cm) 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 Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

238 210 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 parcelle 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 processus de Poisson, ce processus ayant déjà été utilisé pour modéliser une répartition aléatoire 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 parcelle cultivée se doit d être homogène (ou stationnaire) et isotrope (aucune direction privilé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 : Loi de Poisson : où λs représente le nombre moyen d adventices dans une aire de surface S n ( λs) P( λs) = P( X = n) = e n n! λ S 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 nombre 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. Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

239 211 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. Fig2a Fig2b Fig. 2 : Deux distributions d adventices : ponctuelle (Fig2a) et agrégative (Fig2b). Le champ virtuel étant composé de végétation l (Figure 3), nous devons maintenant simuler la prise d une photographie. 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 %. 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 positionner 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é 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 transformer 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) Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

240 212 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. Fig. 4 : Positionnement et orientation de la caméra dans le repère monde 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. Fig. 5 : Dimensions du champ en fonction des paramètres intrinsèques et extrinsèques de la caméra. 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 souhaité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 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. 6 : Paramètres du modèle du sténopé au sein d une matrice de transformation. Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

241 213 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 plusieurs 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éation de l image, un seuillage est appliqué afin de conserver le ratio culture/adventices initial (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. 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. 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 adventices 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és sur 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 obtenus à 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 cultures 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 seconde é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 Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

242 214 Fig. 8 : Résultat de la discrimination basée sur la transformée de Hough. 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]. Fig. 9 : Résultat de la discrimination basée sur la transformée de Fourier. 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 algorithmes. 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 connaître les performances d un classifieur. Parmi ces paramètres, en considérant la classification 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 adventices développées afin de connaître l impact de ces distributions sur la discrimination. Une Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

243 215 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 culture (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 relativement à 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 adventices). Fig. 10 : Comparaison de la qualité de détection d adventices par deux algorithmes basés sur la transformée de Fourier (gris foncé) et la transformée de Hough (gris clair). 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 algorithme de discrimination. Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

244 216 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étection. 4 Conclusions et perspectives Nous avons proposé une approche complète permettant de tester, de valider et de comparer 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 tester 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 permis 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, 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, [2] Borregaard, T., Nielsen H., et al. (2000). "Crop-weed Discrimination by Line Imaging Spectroscopy." Journal of Agricultural Engineering Research 75 : [3] Felton, W. L. and McCloy K. R. (1992). "Spot spraying." Agricultural Engineering 11: [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 Agriculture, : [6] Tillet, N. D., Hague T., et al. (1998). "A robotic system for plant scale husbandry.." Journal of Agricultural Engineering Research 69 (2) : [7] Søgaard, H. T. and Heisel T. (2003). "Determination of crop rows by image analysis without segmentation." Computers and Electronics in Agriculture 38 : Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

245 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) : [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] 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 [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) : [19] Kohavi, R. and Provost F. (1998). "Glossary of Terms." Machine Learning 30 (2) : [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) : Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

246 218 Schedae, 2007, prépublication n 31, (fascicule n 2, p ).

247 219 Prépublication n 32 Fascicule n 2 Segmentation multi-résolution basée sur la texture : application à la segmentation de très grandes images de microscopie cellulaire Nicolas Signolle GREYC ENSICAEN UMR 6072 GRECAN EA 1772 Jérôme Delettre, Marinette Revenu GREYC ENSICAEN UMR Paulette Herlin, Benoît Plancoulaine GRECAN EA 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 segmentation 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éparation 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 ).

248 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 caractériser. La segmentation d une image texturée consiste en l identification de régions de texture 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ésultats 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 cellulaires, 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 traitements. Le tissu cancéreux ovarien comporte deux composantes : les cellules épithéliales carcinomateuses (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 ).

249 221 Fig. 1: Image d une lame histologique de carcinome ovarien acquise avec un Scanscope d Aperio. La taille d origine est de x pixels. Fig. 2: L épithélium. Les noyaux des cellules en prolifération sont marqués en brun, lesnoyaux des autres cellules 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é de matrice 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 myofibroblastiques en trousseaux avec une forte densité de répartition. Les noyaux sont allongés et oblongs ; Le stroma fibreux est un stroma mature 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 (zone entourée) (d) stroma inflammatoire. Schedae, 2007, prépublication n 32, (fascicule n 2, p ).

250 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 polynuclé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ésolution Des 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 marqué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 (en vert) et l épithélium (en rouge). À droite un détail de l image de gauche. Nous proposons une mé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 objets à 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 ).

251 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 Mallat, [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 le modèle de HMT utilisant les statistiques marginales des coefficients en ondelettes. 2.2 Le modèle d arbre de Markov caché HMT L 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 donnera 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 beaucoup 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 ).

252 224 Fig. 6: Le modèle de mé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 sousbande. Fig. 7: a) Les dépendances père-fils des sous-bandes de la TO. Chaque flèche part d un coefficient d ondelettes père et pointe vers ses 4 coefficients fils à la résolution supérieure. (b) La structure en quadtree du modèle, détaillée pour une sous-bande. (c) le modèle HMT, détaillé pour une sous-bande. Chaque coefficient en ondelettes (nœud noir) est modélisé par un mélange de gaussiennes contrôlé par un état caché (nœud blanc). 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 apparition), ainsi que les paramètres de transition d un état à un autre entre deux résolutions (soit 4 paramètres de la forme [ ε p=p f=p ε p=g f=p ε p=p f=g ε p=g f=g ] = [ ε p=p f=p 1 ε p=g f=g 1 ε p=p f=p ε p=g f=g où ε p=a représente la probabilité que le père soit à l état a quand le fils est à l état b). f=b Lors de la phase de segmentation, la ressemblance entre les données de la transformé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(t i M) = orientations m=p,g f(t i S i = m, M o) p(s i = m M o) Où T i est un sous-arbre de racine w i dans l une des sous-bandes, M o représente les paramètres du modèle pour une orientation particulière et S i est l état caché de w i. 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 ).

253 Pour améliorer cette première segmentation, on réalise ensuite une fusion entre les segmentations des différentes résolutions. Cette fusion est réalisée en maximisant la probabilité d appartenance d un pixel à une classe, en tenant compte de sa valeur dans la segmentation 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) les voisins 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 ). 225

254 226 Fig. 10: Image mosaïque de stroma cellulaire et de stroma lâche (gauche) et le résultat de la segmentation de l image à plusieurs échelles (droite). Nous avons utilisé la composante bleue car elle donne les meilleurs résultats de segmentation. 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 originale : 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ésultat de 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 cellulaire. 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 ).

255 227 La séparation du tissu et du fond est instantanée ; L apprentissage des paramètres M du modèle a été réalisé sur des images 512x512. Le temps de calcul dépend de la convergence de l algorithme EM et 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 cellulaire. 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 maintenant tester d autres espaces couleur. Scheunders [13] a notamment proposé une mé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 segmentation (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, [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, [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, [4] M. Crouse, R. Nowak, and R. Baraniuk. Wavelet-based statistical signal processing using hidden markov models. IEEE Trans. Signal Processing, 46 : , [5] S. Mallat. Une exploration des signaux en ondelettes. Publications Ecole Polytechnique, ISBN : , 654 pages. [6] J. Audouin Berault, Juin 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 quantification of blood vessels on the whole tumour section. Ana Cell Path, 25(2) :63 75, Schedae, 2007, prépublication n 32, (fascicule n 2, p ).

256 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, [9] M. Unser. Texture classification and segmentation using wavelet frames. IEEE Transactions on Image Processing, 4(11) : , [10] C. Bouman and Shapiro M. A multiscale random field model for bayesian image segmentation. IEEE Transactions on Image Processing, 3(2) : , [11] H. Choi and R. Baraniuk. Multiscale image segmentation using wavelet-domain hidden markov models. IEEE Transactions on Image Processing, 10(9) : , [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) : , [13] P. Scheunders. An orthogonal wavelet representation of multivalued images. IEEE Transactions Image Processing, 12(6) : , Schedae, 2007, prépublication n 32, (fascicule n 2, p ).

257 229 Prépublication n 33 Fascicule n 2 Suivi de libellules par analyse de séquences d images Yara Bachalany, François Cabestaing LAGIS UMR CNRS 8146 Cité Scientifique, Villeneuve d Ascq Cedex Sébastien Ambellouis INRETS-LEOST 20, rue Élisée Reclus BP 317, Villeneuve d Ascq Cedex Résumé : L objectif applicatif de cette thèse est le suivi d une libellule dans une séquence d images afin de reconstituer précisément les paramètres de sa trajectoire durant la capture d une proie. Nous avons abordé ce problème selon différents points de vue. Nous avons envisagé de reconstituer la trajectoire en accumulant les positions successives d un modèle 3D articulé dont les paramètres sont déterminés en le comparant à sa projection dans les images. Lors de la mise en correspondance 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 estimation incrémentale (entre images successives) du mouvement en 2D (Lucas Kanade) suivi d une reconstitution 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 ).

258 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 comportement 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 permettant 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 constant 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 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 extraction 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écollage 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 indispensable. 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 ).

259 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 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 images 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 correspondance 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 correspondance. Dans une deuxième partie, nous montrons quelques résultats obtenus après Schedae, 2007, prépublication n 33, (fascicule n 2, p ).

260 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 correspondance L 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 initialisation des modèles qui suivent s effectue grâce aux prédicteurs détaillés ultérieurement ; É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éthode 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 recherché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étiques et 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) : 1 E = pixels;α 0 α pixels;α 0 [α((r r R s) 2 + (V r V s) 2 + (B r B s) 2 )] (1) avec R r, V r, B r les valeurs des composantes RVB de l image réelle et R s, V s, B s 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 ).

261 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 x = 0 m y = 15 m z = 0 m Θ x = 0.75 rad Θ y = 0 rad Position et orientation initiales x = 0.4 m y = 14.9 m z = 0.1 m Θ x = 0.68 rad Θ y = 0.2 rad (2) Θ z = 0.75 rad Θ z = 0.8 rad 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 18 eme 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 application Pour 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 ).

262 234 Energie Position suivant Y (a) Convergence de E 0.2 Iterations Nombre d itérations (b) Convergence sur y Rotation suivant y Nombre d itérations (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 nous mener à 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é de milliers 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 obturation é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 ).

263 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 successifs, 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 2D Cette 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 correspondance consiste à déformer et déplacer une image synthétique afin de minimiser la différence Schedae, 2007, prépublication n 33, (fascicule n 2, p ).

264 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 certain 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 transformation 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 : (1 + p1 ).x + p3.y + p5 W(x; p) =! (3) p2.x + (1 + p4 ).y + p6 (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 translation (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 La figure 6(f) illustre une transformation affine générique du patch. Schedae, 2007, prépublication n 33, (fascicule n 2, p ). (4)

265 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) = [I(W (x; p + p)) T (x)] 2 (5) x 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) : , Feb [2] Michael Kass, Andrew Witkin, and Demetri Terzapoulos. Snakes : Active contour models. IEEE Trans. on Pattern Analysis and Machine Intelligence, 3 : , [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, [4] Simon Baker, Ralph Gross, and Iain Matthews. 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 [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, [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 [7] Jianbo Shi and Carlo Tomasi. Good features to track. In Proceedings of the Conference on Computer Vision and Pattern Recognition, CVPR 94, pages , Seattle, WA, USA, Jun [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 , London, UK, Springer-Verlag. Schedae, 2007, prépublication n 33, (fascicule n 2, p ).

266 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

267 Articles courts

268 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

269 239 Prépublication n 34 Fascicule n 2 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 Frederik Armknecht Universität Mannheim Mannheim, Germany Pierre-Louis Cayrel, Philippe Gaborit, Olivier Ruatta Université de Limoges, XLIM-DMI 123, Av. Albert Thomas, Limoges, France 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 E 0 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 E 0 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 E 0. 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 ).

270 240 1 Introduction Durant les dernières années, les attaques algébriques ont gagné de plus en plus d importance. 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 Déroulement Avant d échanger des données, le générateur d aléas est initialisé avec des valeurs secrètes S 0 {0, 1} n communes à l expéditeur et au destinataire. Pour chiffrer une suite de bits de clairs p 0, p 1,..., le générateur est utilisé pour générer une suite de bits de la même longueur z 0, z 1,... Les deux suites de bits sont alors Xorées bit à bit, donnant la suite de bits de chiffrés c t := p t z t. Les bits c t 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 z t pour déchiffrer le message en effectuant : p t = c t z t. Pour évaluer la sécurité, il est admis qu un adversaire potentiel connaît les spécifications du générateur et des bits z t produits par le registre. Une attaque consiste à retrouver la valeur de S 0 à 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 z t,..., z t+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épendantes est assez élevé, une attaque peut êtr réalisée à l aide de O(n 3d ) opérations. Remarquons 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 X Z 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 E 0 pour un certain nombre de tops d horloge entre 5 et Registres à décalage Un 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, 1} n, les LFSRs produisent un état interne linéaire L(x ), construit par blocs x t de k bits parralèles à l instant t. À partir d un état initial des bits de mémoire secret c 1 {0, 1} l, à chaque instant t l automate produit le t-ième bits z t correspondant à x t et c t et change l état interne en c t+1 (voir figure 1). 1. Linear Feedback Shift Registers (LFSR). Schedae, 2007, prépublication n 34, (fascicule n 2, p ).

271 241 - (Z, C) LFSRs X t z t Z Mémoire C t C C t+1 - Fig. 1: Un registre (k, l). L information secrète est donnée par x et c 1. De nombreux registres de ce type sont utilisés en pratique. Nous pouvons remarquer par exemple, que le générateur de clef E 0 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, c 1 ), 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 systè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, l) : Définition 1 Un registre (k, l) avec k 1 et l 0 est constitué d un état interne S F l 2 Fn 2, d une matrice régulière L sur F 2 de taille n n, appelée la matrice de rétroaction du LFSR, d une matrice de projection P sur F 2 de taille n k. Un exemple pratique d un tel registre (k, l) est le générateur de pseudoaléas E 0 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é à S 0 := (Q 0, K) F l 2 Fn 2 où K Fn 2 est l état initial des LFSRs et le registre de Q 0 F l 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 K t := K L t P sont utiles dans le calcul du bit produit à l instant t. La mémoire est mise à jour via Q t+1 := Ψ(Q t, K t), où le bit produit z t est calculé par z t = f(q t, K t). Schedae, 2007, prépublication n 34, (fascicule n 2, p ).

272 242 Une attaque algébrique est basée sur la recherche de fonctions F 1,..., F s : F k r 2 F r 2 F 2 telles que : est vraie pour tous les instants t 0 et 1 i s. F i (K t,..., K t+r 1, z t,..., z t+r 1 ) = 0 (1) Définition 2 Soit un registre (k, l) et Z F r 2. Une fonction F : Fr k 2 F 2 est appelée une Z-fonction si pour tout zt t+r 1 := (z t,..., z t+r 1 ) de la suite produite (notons la Z), alors F (K t,..., K t+r 1 ) = 0 est valide. De manière plus formelle nous devons avoir : t : z t+r 1 t = Z F (K t,..., K t+r 1 ) = 0. Théorème 1 Soit un registre (k, l) et f r la fonction de sortie étendue. Alors, une fonction F : F r k 2 F 2 est une Z-fonction avec Z F r 2 si et seulement si F est un annulateur de l ensemble : X Z := {(X 1,..., X r) F r k 2 Q F l 2 : f r (Q, X 1,..., X r) = Z}. (2) 3 Calcul des ensembles X Z Dans cette partie, nous considérons la question suivante : comment construire l ensemble X Z pour un registre (k, l) particulier et pour Z F r 2. Dans le cas de E 0 les fonctions f et Ψ dépendent seulement du poids de Hamming des entrées X t mais pas de leur valeurs concrãtes. Soit un registre (k, l) et Z F r 2 et Q Fl 2 fixés. Posons les trois ensembles suivants : X Q,Z := {(X 1,..., X r) f r (Q, X 1,..., X r) = Z} (3) X Z,Q := {(X 1,..., X r) Q : f r (Q, X 1,..., X r) = Z et Ψ r (Q, X 1,..., X r) = Q }(4) X Q,Z,Q := {(X 1,..., X r) f Ψ (Q, X 1,..., X r) = Z et Ψ r (Q, X 1,..., X r) = Q } (5) Nous avons remarqué que l on peut calculer X Z de manière itérative pour Z F r 2 et pour de grandes valeurs de r. Prenons par exemple Z F r 2 et Z F r 2, alors au lieu de calculer X Z Z directement (2 k (r+r ) appels à f r+r ), nous pouvons calculer deux sous ensembles que nous noterons X Z,Q et X Q,Z de manières indépendantes (2 k r appels à f r et 2 k r appels à f r,, respectivement). Si r = r nous réduisons le coût de calcul de 2 k 2r appels à f 2r à 2 2 k r appels à f r. 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 X Z 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 = {x 1,..., x s} F n 2 et m 1,..., m µ(n,d) tous les monômes en n variables de degré d. Nous définissons une matrice M sur F 2 de taille s µ(n, d) en posant M i,j := m j (x i ). 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 ).

273 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 contrairement à l élimination de Gauss que nous faisons ici (coût cubique) a un coût quadratique, 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 X Z. Dans la section suivante nous décrirons les résultats pratiques que nous avons obtenus dans le cas de E 0. 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) 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 conférence internationale BFCA Références [1] Frederik Armknecht. Algebraic attacks and annihilators. In WEWORC 2005, volume P-74 of Lecture Notes in Informatics, pages Springer, [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 Springer, [4] Bluetooth SIG. Specification of the Bluetooth system, Version 1.1, February available at http ://www.bluetooth.com. [5] Yi Lu and Serge Vaudenay. Cryptanalysis of bluetooth keystream generator two-level e 0. In Asiacrypt 2004, number 3329 in Lecture notes in computer science, pages Springer, Schedae, 2007, prépublication n 34, (fascicule n 2, p ).

274 40 Schedae, 2006, prépublication n 5, (fascicule n 1, p ).

275 245 Schedae, 2007 Prépublication n 35 Fascicule n 2 Champs de Markov pour la segmentation des images polarimétriques Soumia Mohammed Djaouti, Abdallah Koudache, Ahmed Boudaieb Centre universitaire Mustapha Stambouli Mascara Algérie 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 informations 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érablement 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 conduire à 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 apparaissent 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 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 ).

276 246 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 nouvelles 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 considé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 estimant à la fois la composante polarisée et non polarisée en déterminant quatre paramètres: I, Q, U et V) [2]: I' m00i Q' = m10i S' = M. S U ' m20i V ' m30i m m Q m m Q Q Q m m U m m U U U m03v m13v m V 23 m33v (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 système de mise en forme (codage) code alors le signal lumineux incident tandis que le systè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. Fig. 1: Obtention de la matrice de Mueller expérimentalement. Le vecteur de Stokes de sortie S du polarimètre est lié au vecteur d entrée S par la relation matricielle suivante: r S = r [ P' ][ L' ][ M][ L][ P]S La précision d un tel polarimètre peut être estimée en utilisant le dispositif expérimental sans échantillon. A la présence d une source cohérente (laser), les images polarimétriques souffrent de la présence d un phénomène d interférence visible qui est le bruit (2) Schedae, 2007, prépublication n 35, (fascicule n 2, p ).

277 247 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 segmentation. 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 optimisation. 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]: N s = {} t tels que s Ns t Ns s Nt (3) Pour chaque configuration x de X, la probabilité jointe est définie par une distribution de Gibbs: 1 1 P ( X = x) = exp( U ( x)) = exp V c ( x) Z Z c C (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 : V c ( x) β Si les deux pixels de la clique ont des valeurs différentes = + β Si les deux pixels de la clique ont la même valeur. (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]: xˆ argmaxx P( Y = y/ X = x )P( X = x ) = Ω 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 raison 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. xˆ (6) Schedae, 2006, prépublication n 35, (fascicule n 2, p ).

278 248 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 polarimé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 direction 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 direction 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. 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. Enfin, on présente les résultats de segmentation des images de Mueller. Sa segmentation en deux classes ainsi deux exemples d évolution de la fonction d énergie (Figure 3). Fig. 3: Résultat de la segmentation et évolution de la fonction d énergie pour les images 1 et 2 en fonction du nombre d itérations. Schedae, 2007, prépublication n 35, (fascicule n 2, p ).

279 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 estimation des paramètres. L utilisation de l algorithme ICM donne des meilleurs résultats surtout 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, [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, [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, [4] Descombes et al X. Descombes, F. Kruggel, et D. Y. Von Cramon, Spatio-temporal MRI analysis using Markov random fields, IEEE Trans. on Medical Imaging, Schedae, 2006, prépublication n 35, (fascicule n 2, p ).

280 250 Schedae, 2007, prépublication n 35, (fascicule n 2, p ).

281 251 Schedae, 2007 Prépublication n 36 Fascicule n 2 Commande d un système d 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 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 comportement 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 commode de linéariser ce SEB. Cependant, ce modèle reste très dépendant du point de fonctionnement 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éthodes 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 transforme un produit laminé à chaud en bobine de métal de fine épaisseur. Notre étude porte Nabila Rabbah, Bahloul Bensassi «Commande d un système d entraînement de bande» Schedae, 2007, prépublication n 36, (fascicule n 2, p ).

282 252 Schedae, 2007, prépublication n 36, (fascicule n 2, p ). essentiellement sur le système d entraînement de bande présenté sur la figure 1. Il est composé 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 rouleaux 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. R = R R + = p m n y x h y u x u x g x f x ) ( ). ( ) ( & [ ] [ ] [ ] : U U U u et V V V y V V V T T x T T T = = = [ ] = = = = ) ( , 1, ) ( ) ( x x x x h k r k r k r g g g x g x x J gr x x J gr x J gr x x J gr x L ES x L ES x x L x L ES x L ES x x L x f em em em em em em τ τ τ τ τ τ v x x x u ) ( ) ( ) ( β = α +

283 253 Schedae, 2006, prépublication n 36, (fascicule n 2, p ). 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 système n = 5, ce qui explique qu une partie du système de est inobservable [11]. 3.2 Changement de variable Pour pouvoir effectuer la synthèse de loi de commande linéarisante, nous devons déterminer un changement de variables à l aide d un difféomorphisme constitué des variables issues des dérivations successives de la sortie y. h (x) L L i k f g 0 ) ( x h L L i k f g i + = + = + = ). ( ) ( ). ( ) ( ). ( ) ( U x x y U x x y U x x y ψ ψ ψ ψ ψ ψ & & & ) ( 1 ) (. ) ( 1 ) (. ) ( 1 ) ( k r h L x x J gr x h L x k r h L x x J gr x J gr x h L x k r h L x x J gr x h L x em g em f em g em f em g em f τ ψ τ ψ τ ψ τ ψ τ ψ τ ψ = = = = = = + = = = = + = = [ ] u x x y y y T ). ( ) 0 ( Δ + = Δ & & & = = Δ ) ( ) ( ) ( ) ( ) ( ) ( ) ( x x x x h L x h L x h L x f f f ψ ψ ψ = = Δ ) ( ) ( ) ( ) ( x x x h L h L h L x g g g ψ ψ ψ Δ(x) v x x v x x x u ). ( ) ( ). ( ) ( ). ( = α + β + Δ Δ = Δ = Δ ) ( ) ( ) ( 1 ) ( x x x x ψ ψ ψ [ ] [ ] T T v v v y y y = & & & = + + = = = r r r r r i i dim 1 = 2 = r n q R = Φ R = Φ q n x z x z η η ) ( ) ( 2 1 1

284 z& 1 = v1 = k1 ( z zc ) 2 2 z& 2 = v2 = k2 ( z zc ) 3 3 z& 3 = v3 = k3 ( z zc ) avec : 1 ES ES z& (4) 4 = η1. z2 + z2 z1 L L L 1 ES ES z& 5 = η2. z2 z2 + z3 L L L y = [ ; ; ] z 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. Fig. 2 : Commande non linéaire par linéarisation entrée-sortie. Les résultats des simulations numériques montrent clairement le rejet de la perturbation 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, [2] R. Marino et P. Tomei, Nonlinear control design : geometric, adaptive and robust, Prentice Hdl, Schedae, 2007, prépublication n 36, (fascicule n 2, p ).

285 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 [4] A. Isidori, NonLinear Control System, Springer-Verlag, 2nd Editions, New-York, [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, décembre [6] A. Schmitz, J.C. Herman, Modélisation du laminage à froid des aciers, CRM Faculté Polytechnique de Mons, pp , mai [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 [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 [9] Carlos Canudas de Wit, Commande des Moteur Asynchrone, Modélisation, Contrôle Vectoriel et DTC, Edition Hermès, Paris, Vol.1, [10] A. Chibani, Commande Non Linéaire et Adaptative de la Machine Asynchrone, Mémoire de Magister, Batna, [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, [12] A. Isidori, NonLinear Control Systems, Springer-Verlag, [13] Bodson et al M. Bodson, J. Chaisson, Differential Geometric Methods for Control of Electric Motors, Int, Jo, Robust Nonlinear Control, Vol.8, pp , Schedae, 2006, prépublication n 36, (fascicule n 2, p ).

286 256 Schedae, 2007, prépublication n 36, (fascicule n 2, p ).

287 257 Schedae, 2007 Prépublication n 37 Fascicule n 2 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, Besançon, France Lotfi Nabli ASTI, École Nationale d Ingénieurs de Monastir, Rue Ibn Eljazar, 5019 Monastir, Tunisie Résumé : Dans ce papier, nous nous intéressons à la détection des symptômes dans les Systèmes Flexibles de Production Manufacturière (SFPM). Le but est de contribuer à la mise en place d un modèle qui permet la détection des symptômes des défaillances par la définition des liens de corrélations entre les paramètres de qualité du produit, le flux de matière et l état des entités du procé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 performances, 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 capteurs 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 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 ).

288 258 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 surveillance 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éfaillances. 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 temporels par 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 expression de la conditions de franchissement ; Le deuxième bloc est dédié à l aspect temporel : il permet d exprimer des intervalles de franchissement d une transition. Un intervalle temporel I est constitué de deux bornes [a, b] : a et b étant respectivement la date 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 possible d interdire le franchissement d une transition ou d un ensemble de transitions ; Schedae, 2007, prépublication n 37, (fascicule n 2, p ).

289 259 Le quatrième bloc est relatif aux actions. Les actions sont en effet associées aux transitions et exécutées lors du tir de la transition. Le jeton ne sera déposé dans la place aval uniquement lorsque l action sera terminée. Un ensemble fini Class de Classes, éventuellement organisé en une hiérarchie et définissant 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 Transition 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 formelle 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. Pa <x> Pb <y> Préconditions Tdeb Tfin Condition D1 Action AD1 <x,y> Pm <x,y> Condition D2 Action AD2 Début de l'activité Ai Activité Ai en cours Fin de l'activité Ai <x> Pn <y> Pq Postconditions Fig. 1 : Modélisation d une activité par RdPTàO. Schedae, 2006, prépublication n 37, (fascicule n 2, p ).

290 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 activité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étection 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. Symptôme type 1 Symptôme type 2 Tdr [ti, ti+1] CGd C1 Tdc 1 [ta i, tai+1 ] CGf Tfr Ai C2 C3 Tfc 1 Tfc 2 C4 Modèle de Commande Mod èle de Référence Fig. 2 : Modèle de COMBACAU pour la détection des symptômes temporels [2]. Schedae, 2007, prépublication n 37, (fascicule n 2, p ).

291 261 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 sensibilisé qu après le franchissement de la transition Tfrt qui traduit la fin de Ai. Symptôme type 2 [t ai, tai+1] CGf Tdr Tfrt S ymptôme type 1 CGd [ti, t i+1] Ai C1 C2 C3 Tdc1 Tdc 2 Ai Tfc 1 <p> Symptôme typ e β PE PSb Tbn <p> <b> TE <b> <b> < a > <b> < a > < a > PSa Tan PA PB <a> <b> Symptôme typ e α Tac Tbc <a> Pea S ympt ôme q ualité B.S.D.Q Tf rnt PAc <a> <a> <a> <b> <b> PBc Peb <b> C4 Tfc 2 <p> <a> Mo dèl e d e Comma nde Mo dèl e d e Ré féren ce <P> Fig. 3 : Modèle de détection multicritères Qualité-flux Fig. 4 : Modèle de détection multicritères : Qualité-flux Le bloc Q.S.D.Q est modélisé par un RdPTàO (fig. 4). Dans ce qui suit, nous développons 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 transformation (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 recyclé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 : Les classes des objets : Les conditions : P : - numéro : entier typée par p comme variable a [amin, amax] (1) A : - amax : réel typée par a comme variable a [amin, amax] (2) - amin : réel b [bmin, bmax] (3) B : - bmax : réel typée par b comme variable b [bmin, bmax] (4) - bmin : réel 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. Schedae, 2006, prépublication n 37, (fascicule n 2, p ).

292 262 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 signifie 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, enroulage, 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. <p > S9 S10 S11 S11 S12 S13 <c c > <c f > <c c > <h f > <c f > <h f > <c> <c> <h s > <h s > <ei> <ei> <c c > <c f > < h f > <c> <h s > < c > < h f > <c> < h s > <ei> <c f > <hf > <c c > <c f > <c f > <c> <h s > <hf > <c > <h s > <ei> <c c > <c f > <c f > <h f > <h <c > f > <c > <h s > <h s > <ei> <c c > <c c > <c f > <c f > <h f > <c> <h s > <e> <ei> <c f > <h f > <p> <c> <h s > Fig. 5 : BSD3. Schedae, 2007, prépublication n 37, (fascicule n 2, p ).

293 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, [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 [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 , October, [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 mars, [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 [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 [8] R. Valette. Les Réseaux de Petri. L.A.A.S. C.N.R.S. Toulouse, Septembre Schedae, 2006, prépublication n 37, (fascicule n 2, p ).

294 264 Schedae, 2007, prépublication n 37, (fascicule n 2, p ).

295 265 Prépublication n 38 Fascicule n 2 Étude de la cocoteraie des Tuamotu sur des images Ikonos Raimana Teina Laboratoire d Informatique de Paris 6, Université Pierre et Marie Curie Dominique Béréziat Laboratoire d Informatique de Paris 6, Université Pierre et Marie Curie Projet CLIME - Inria Rocquencourt Benoît Stoll Laboratoire Terre et Océan, Université de la Polynésie Française Résumé : Cet article présente une méthode d extraction et de recensement des cocotiers à partir d images satellites IKONOS. L étude a été réalisée sur le site pilote de Tikehau. Cet article présente les données et l objectif à atteindre. Un algorithme est proposé et testé sur les données IKONOS. Mots-clés : segmentation, classification, ligne de partage des eaux, carte de densité locale. 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 production 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 cocotiers 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 ).

296 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 (espacement 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 hautes La 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 classification 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 cette maniè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 clairement 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 ).

297 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 information 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 morphologie 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 Laplacien, 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 couronnes Pour 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 z 0 ) n a n + ((x x 0) 2 +(y y 0 ) 2 ) n 2 b n = 1 où x 0,y 0,z 0 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 ).

298 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é locale. 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. % erreur ,91% ,51% ,09% ,89% ,49% ,59% motu % 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 34352m 2 ) de la surface totale des zones de test (532870m 2 ), 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 discernables 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 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 nonvé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 ).

Commande à structure variable d un robot anthropomorphe actionné par muscles artificiels pneumatiques

Commande à structure variable d un robot anthropomorphe actionné par muscles artificiels pneumatiques 11 Prépublication n 10 Fascicule n 2 Commande à structure variable d un robot anthropomorphe actionné par muscles artificiels pneumatiques Ruth Lezama Morales, Amhed Khelassi, Bertrand Tondu, Claude Baron

Plus en détail

Programme de Première

Programme de Première BAC TECHNO STAV 66 I. Algèbre Programme de Première Objectif 1 - Effectuer de manière autonome des calculs numériques ou algébriques, résoudre des équations ou inéquations en vue de résoudre des problèmes

Plus en détail

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN

Automatique Linéaire 1 Travaux Dirigés 1A ISMIN Automatique Linéaire 1 Travaux Dirigés Travaux dirigés, Automatique linéaire 1 J.M. Dutertre 2014 TD 1 Introduction, modélisation, outils. Exercice 1.1 : Calcul de la réponse d un 2 nd ordre à une rampe

Plus en détail

Utilisation d informations visuelles dynamiques en asservissement visuel Armel Crétual IRISA, projet TEMIS puis VISTA L asservissement visuel géométrique Principe : Réalisation d une tâche robotique par

Plus en détail

Régulation par PID Mickaël CAMUS Etienne DEGUINE Daniel ROSS

Régulation par PID Mickaël CAMUS Etienne DEGUINE Daniel ROSS Régulation par PID Mickaël CAMUS Etienne DEGUINE Daniel ROSS 26/02/10 Plan Définition 1. Proportionnel 2. Intégral 3. Dérivé Réglages des coefficients 1. Différentes approches 2. Ziegler-Nichols 3. Process

Plus en détail

M1/UE CSy - module P8 1

M1/UE CSy - module P8 1 M1/UE CSy - module P8 1 PROJET DE SIMULATION AVEC MATLAB RÉGULATION DU NIVEAU ET DE LA TEMPÉRATURE DANS UN BAC En vue de disposer d un volume constant de fluide à une température désirée, un processus

Plus en détail

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème...

I Stabilité, Commandabilité et Observabilité 11. 1 Introduction 13 1.1 Un exemple emprunté à la robotique... 13 1.2 Le plan... 18 1.3 Problème... TABLE DES MATIÈRES 5 Table des matières I Stabilité, Commandabilité et Observabilité 11 1 Introduction 13 1.1 Un exemple emprunté à la robotique................... 13 1.2 Le plan...................................

Plus en détail

Contribution à la conception par la simulation en électronique de puissance : application à l onduleur basse tension

Contribution à la conception par la simulation en électronique de puissance : application à l onduleur basse tension Contribution à la conception par la simulation en électronique de puissance : application à l onduleur basse tension Cyril BUTTAY CEGELY VALEO 30 novembre 2004 Cyril BUTTAY Contribution à la conception

Plus en détail

Contrôle par commande prédictive d un procédé de cuisson sous infrarouge de peintures en poudre.

Contrôle par commande prédictive d un procédé de cuisson sous infrarouge de peintures en poudre. Contrôle par commande prédictive d un procédé de cuisson sous infrarouge de peintures en poudre. Isabelle Bombard, Bruno da Silva, Pascal Dufour *, Pierre Laurent, Joseph Lieto. Laboratoire d Automatique

Plus en détail

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Filtrage stochastique non linéaire par la théorie de représentation des martingales Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de

Plus en détail

IUT Toulouse II - Automatique et Systèmes Génie Industriel et Maintenance GIM 2 Promo 14 Année 2007-2008. AUTOMATIQUE et SYSTEMES

IUT Toulouse II - Automatique et Systèmes Génie Industriel et Maintenance GIM 2 Promo 14 Année 2007-2008. AUTOMATIQUE et SYSTEMES IUT Toulouse II - Automatique et Systèmes Génie Industriel et Blagnac Maintenance GIM 2 Promo 14 Année 2007-2008 AUTOMATIQUE et SYSTEMES Les cours, TD et TP seront entièrement programmés en 2 ème année.

Plus en détail

Analyse et Commande des systèmes linéaires

Analyse et Commande des systèmes linéaires Analyse et Commande des systèmes linéaires Frédéric Gouaisbaut LAAS-CNRS Tel : 05 61 33 63 07 email : fgouaisb@laas.fr webpage: www.laas.fr/ fgouaisb September 24, 2009 Présentation du Cours Volume Horaire:

Plus en détail

Développement d un système de commande et de régulation de la température de l air d une soufflerie de séchage convectif

Développement d un système de commande et de régulation de la température de l air d une soufflerie de séchage convectif Revue des Energies Renouvelables SMSTS 08 Alger (2008) 67 77 Développement d un système de commande et de régulation de la température de l air d une soufflerie de séchage convectif Y. Bouteraa 1*, M.

Plus en détail

ANALYSE MULTI CAPTEUR DE SIGNAUX TRANSITOIRES ISSUS DES SYSTEMES ELECTRIQUES

ANALYSE MULTI CAPTEUR DE SIGNAUX TRANSITOIRES ISSUS DES SYSTEMES ELECTRIQUES ANALYSE MULTI CAPTEUR DE SIGNAUX TRANSITOIRES ISSUS DES SYSTEMES ELECTRIQUES Bertrand GOTTIN Directeurs de thèse: Cornel IOANA et Jocelyn CHANUSSOT 03 Septembre 2010 Problématique liée aux Transitoires

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

Théorème du point fixe - Théorème de l inversion locale

Théorème du point fixe - Théorème de l inversion locale Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion

Plus en détail

Commande H prédictive pour l asservissement par vision d un stabilisateur cardiaque actif

Commande H prédictive pour l asservissement par vision d un stabilisateur cardiaque actif Commande H prédictive pour l asservissement par vision d un stabilisateur cardiaque actif W. Bachta, E. Laroche, P. Renaud, J. Gangloff LSIIT, CNRS, Université de Strasbourg, INSA de Strasbourg, France

Plus en détail

Commande auto-adaptative par auto-séquencement, avec application à un avion instable

Commande auto-adaptative par auto-séquencement, avec application à un avion instable Commande auto-adaptative par auto-séquencement, avec application à un avion instable Patrice ANTOINETTE 1 2 Gilles FERRERES 1 1 ONERA-DCSD, Toulouse 2 ISAE, Toulouse GT MOSAR, 4 juin 2009 Plan Introduction

Plus en détail

PAR MODE GLISSANT D ORDRE SUPERIEUR

PAR MODE GLISSANT D ORDRE SUPERIEUR REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTRE DE L ENSEIGNEMENT SUPERIER ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE CONSTANTINE 1 FACULTE DES SCIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE

Plus en détail

Mathématique - Cours Filière STAV 2014-2015 Centre de Formation aux Métier de la Montagne Marine Estorge

Mathématique - Cours Filière STAV 2014-2015 Centre de Formation aux Métier de la Montagne Marine Estorge Mathématique - Cours Filière STAV 2014-2015 Centre de Formation aux Métier de la Montagne Marine Estorge Le programme se compose ainsi : Rappels collège/seconde Partie STAV 1/3 Partie STAV 2/3 Partie STAV

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

COMMANDE PAR RETOUR ACCELEROMETRIQUE APPLICATION A UN ROBOTS CARTESIENS 3 AXES. Frédéric Colas

COMMANDE PAR RETOUR ACCELEROMETRIQUE APPLICATION A UN ROBOTS CARTESIENS 3 AXES. Frédéric Colas SEPRO R O B O T I Q U E COMMANDE PAR RETOUR ACCELEROMETRIQUE APPLICATION A UN ROBOTS CARTESIENS 3 AXES Frédéric Colas ERT CEMODYNE (int. 1022) - ENSAM 8, Bd Louis XIV 59046 Lille Cedex barre@lille.ensam.fr

Plus en détail

Intérêt du découpage en sous-bandes pour l analyse spectrale

Intérêt du découpage en sous-bandes pour l analyse spectrale Intérêt du découpage en sous-bandes pour l analyse spectrale David BONACCI Institut National Polytechnique de Toulouse (INP) École Nationale Supérieure d Électrotechnique, d Électronique, d Informatique,

Plus en détail

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème.

- Mobiliser les résultats sur le second degré dans le cadre de la résolution d un problème. Mathématiques - classe de 1ère des séries STI2D et STL. 1. Analyse On dote les élèves d outils mathématiques permettant de traiter des problèmes relevant de la modélisation de phénomènes continus ou discrets.

Plus en détail

PRECISION - REJET DE PERTURBATIONS T.D. G.E.I.I.

PRECISION - REJET DE PERTURBATIONS T.D. G.E.I.I. PRECISION - REJET DE PERTURBATIONS T.D. G.E.I.I.. Donner les erreurs en position, en vitesse et en accélération d un système de transfert F BO = N(p) D(p) (transfert en boucle ouverte) bouclé par retour

Plus en détail

FICHE UNITE D ENSEIGNEMENT. Mathématiques. Analyse appliquée. Boris Andreianov. PRESENTIEL EN LIGNE x PRESENTIEL ET EN LIGNE 73 20 35,5 4,5 133

FICHE UNITE D ENSEIGNEMENT. Mathématiques. Analyse appliquée. Boris Andreianov. PRESENTIEL EN LIGNE x PRESENTIEL ET EN LIGNE 73 20 35,5 4,5 133 FICHE UNITE D ENSEIGNEMENT Responsable de l UE Section CNU de l UE Crédits Européens Mode d enseignement Analyse appliquée Boris Andreianov 26 6 PRESENTIEL EN LIGNE x PRESENTIEL ET EN LIGNE Nombre d heures

Plus en détail

Schedae. Prépublications de l Université de Caen Basse-Normandie

Schedae. Prépublications de l Université de Caen Basse-Normandie I Schedae Prépublications de l Université de Caen Basse-Normandie Fascicule n 2 2008 Archives ouvertes, archives institutionnelles, revues en ligne: vers le libre accès aux résultats de la recherche? Presses

Plus en détail

Génération aléatoire de structures ordonnées

Génération aléatoire de structures ordonnées Génération aléatoire de structures ordonnées Olivier Roussel Équipe APR Laboratoire d Informatique de Paris 6 Université Pierre et Marie Curie ALÉA 2011 7 mars 2011 Olivier Roussel (LIP6) Génération de

Plus en détail

Matrices. 1. Définition. Exo7. 1.1. Définition

Matrices. 1. Définition. Exo7. 1.1. Définition Exo7 Matrices Vidéo partie 1 Définition Vidéo partie 2 Multiplication de matrices Vidéo partie 3 Inverse d'une matrice : définition Vidéo partie 4 Inverse d'une matrice : calcul Vidéo partie 5 Inverse

Plus en détail

Notions d asservissements et de Régulations

Notions d asservissements et de Régulations I. Introduction I. Notions d asservissements et de Régulations Le professeur de Génie Electrique doit faire passer des notions de régulation à travers ses enseignements. Les notions principales qu'il a

Plus en détail

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

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 303 Schedae, 2007 Prépublication n 46 Fascicule n 2 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 Samya Sagar, Mohamed Ben Ahmed Laboratoire

Plus en détail

MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE

MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE Annexe MATHÉMATIQUES CYCLE TERMINAL DE LA SÉRIE ÉCONOMIQUE ET SOCIALE ET DE LA SÉRIE LITTERAIRE CLASSE DE PREMIÈRE L enseignement des mathématiques au collège et au lycée a pour but de donner à chaque

Plus en détail

Etalonnage en régime dynamique des capteurs de pression

Etalonnage en régime dynamique des capteurs de pression Etalonnage en régime dynamique des capteurs de pression Les mesures de pression dans les cylindres d un moteur thermique pour étudier les phénomènes de combustion, dans une presse d injection pour étudier

Plus en détail

Cours de mathématiques

Cours de mathématiques Cours de mathématiques Thomas Rey classe de première ES ii Table des matières 1 Les pourcentages 1 1.1 Variation en pourcentage............................... 1 1.1.1 Calcul d une variation............................

Plus en détail

INTRODUCTION A L OPTIMISATION

INTRODUCTION A L OPTIMISATION INTRODUCTION A L OPTIMISATION Les domaines d application L optimisation est essentiellement un outil d aide à la décision au sein de l entreprise, mais aussi pour des individus. Le terme optimal est souvent

Plus en détail

Commande industrielle GEL-4100 / GEL-7063

Commande industrielle GEL-4100 / GEL-7063 Commande industrielle GEL-4100 / GEL-7063 Cours 02 Éric Poulin Département de génie électrique et de génie informatique Automne 2011 Plan du cours 02 2. Réglage des régulateurs PID 2.6 Analyse des performances

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

TP d asservissement numérique sur maquette Feedback

TP d asservissement numérique sur maquette Feedback SOUBIGOU Antoine GE3S Semestre 5 2002 PAILLARD Jean-Noël TP d asservissement numérique sur maquette Feedback ECOLE NATIONALE SUPERIEURE DES ARTS ET INDUSTRIES DE STRASBOURG 24, Boulevard de la Victoire

Plus en détail

EXEMPLES DE MODÉLISATION DE PROCESSUS

EXEMPLES DE MODÉLISATION DE PROCESSUS Première partie : chapitre 4. 1 Chapitre 4 EXEMPLES DE MODÉLISATION DE PROCESSUS INTRODUCTION. Dans les chapitres 2 et 3, nous avons décrit les principes de la modélisation de processus par réseaux de

Plus en détail

Mathématiques appliquées à l informatique

Mathématiques appliquées à l informatique Mathématiques appliquées à l informatique Jean-Etienne Poirrier 15 décembre 2005 Table des matières 1 Matrices 3 1.1 Définition......................................... 3 1.2 Les différents types de matrices.............................

Plus en détail

Equations différentielles

Equations différentielles Maths PCSI Cours Table des matières Equations différentielles 1 Généralités 2 1.1 Solution d une équation différentielle................................ 2 1.2 Problème de Cauchy.........................................

Plus en détail

À propos des matrices échelonnées

À propos des matrices échelonnées À propos des matrices échelonnées Antoine Ducros appendice au cours de Géométrie affine et euclidienne dispensé à l Université Paris 6 Année universitaire 2011-2012 Introduction Soit k un corps, soit E

Plus en détail

Cours d Analyse. Fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........

Plus en détail

Formes Normales non linéaires

Formes Normales non linéaires Formes Normales non linéaires d observabilités s réduites r D. BOUTAT Le plan de la présentation Quelques formes d observabilité canoniques Une petite enquête sur le web. L observateur réduit pour les

Plus en détail

Projet CLANU en 3GE: Compléments d algèbre linéaire numérique

Projet CLANU en 3GE: Compléments d algèbre linéaire numérique Projet CLANU en 3GE: Compléments d algèbre linéaire numérique Année 2008/2009 1 Décomposition QR On rappelle que la multiplication avec une matrice unitaire Q C n n (c est-à-dire Q 1 = Q = Q T ) ne change

Plus en détail

Optimisation des transitions de phases de vol pour un drone capable de vol stationnaire et de vol en translation rapide

Optimisation des transitions de phases de vol pour un drone capable de vol stationnaire et de vol en translation rapide Damien Poinsot 1/6 Optimisation des transitions de phases de vol pour un drone capable de vol stationnaire et de vol en translation rapide Damien POINSOT Directeur(s) de thèse : Caroline Bérard et Alain

Plus en détail

Chapitre 2 Le problème de l unicité des solutions

Chapitre 2 Le problème de l unicité des solutions Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)

Plus en détail

Domaines d application, exemples La démarche de l Automatique Un premier exemple. Automatique. Dynamique et Contrôle des Systèmes

Domaines d application, exemples La démarche de l Automatique Un premier exemple. Automatique. Dynamique et Contrôle des Systèmes Automatique Dynamique et Contrôle des Systèmes NICOLAS PETIT Centre Automatique et Systèmes Unité Mathématiques et Systèmes Mines ParisTech nicolas.petit@mines-paristech.fr 28 novembre 2008 Informations

Plus en détail

Exercices théoriques

Exercices théoriques École normale supérieure 2008-2009 Département d informatique Algorithmique et Programmation TD n 9 : Programmation Linéaire Avec Solutions Exercices théoriques Rappel : Dual d un programme linéaire cf.

Plus en détail

Animation d un robot

Animation d un robot nimation d un robot IFT3355 : Infographie - TP #1 Jérémie Dumas Baptiste De La Robertie 3 février 2010 Université de Montréal Table des matières Introduction au problème 2 1 Transformations 2 1.1 Passage

Plus en détail

PAD - Notes de cours. S. Rigal, D. Ruiz, et J. C. Satgé

PAD - Notes de cours. S. Rigal, D. Ruiz, et J. C. Satgé ALGÈBRE PAD - Notes de cours S. Rigal, D. Ruiz, et J. C. Satgé November 23, 2006 Table des Matières Espaces vectoriels Applications linéaires - Espaces vectoriels............................... 3 -. Approche

Plus en détail

Programme de mathématiques TSI1

Programme de mathématiques TSI1 Programme de mathématiques TSI1 1. PROGRAMME DE DÉBUT D ANNÉE I. Nombres complexes et géométrie élémentaire 1. Nombres complexes 1 2. Géométrie élémentaire du plan 3 3. Géométrie élémentaire de l espace

Plus en détail

I. Polynômes de Tchebychev

I. Polynômes de Tchebychev Première épreuve CCP filière MP I. Polynômes de Tchebychev ( ) 1.a) Tout réel θ vérifie cos(nθ) = Re ((cos θ + i sin θ) n ) = Re Cn k (cos θ) n k i k (sin θ) k Or i k est réel quand k est pair et imaginaire

Plus en détail

S2I. La robotique au service du handicap

S2I. La robotique au service du handicap I Introduction S2I PSI 4 heures Calculatrices autorisées La robotique au service du handicap 2010 Les avancées technologiques récentes des actionneurs électriques ont permis le développement du champ d

Plus en détail

CI-4 PRÉVOIR ET SUPPRIMER LES

CI-4 PRÉVOIR ET SUPPRIMER LES CI-4 LES CONTRAINTES DE MONTAGE D UN SYSTÈME. Objectifs ANALYSER - OPTIMISER A la fin de la séquence de révision, l élève doit être capable de B2 Proposer un modèle de connaissance et de comportement Déterminer

Plus en détail

Chapitre 1 Régime transitoire dans les systèmes physiques

Chapitre 1 Régime transitoire dans les systèmes physiques Chapitre 1 Régime transitoire dans les systèmes physiques Savoir-faire théoriques (T) : Écrire l équation différentielle associée à un système physique ; Faire apparaître la constante de temps ; Tracer

Plus en détail

Une approche pour un contrôle non-linéaire temps réel

Une approche pour un contrôle non-linéaire temps réel Une approche pour un contrôle non-linéaire temps réel L. Mathelin 1 L. Pastur 1,2 O. Le Maître 1 1 LIMSI - CNRS Orsay 2 Université Paris-Sud 11 Orsay GdR Contrôle des décollements 25 Nov. 2009 Orléans

Plus en détail

1. Présentation du Mastère

1. Présentation du Mastère MASTERE SYSTEMES DE COMMUNICATION Coordinateur du Mastère : TAOUFIK AGUILI Département TIC Laboratoire des Systèmes de Communication Tél. : (+216) 71 874 700 (Poste 545) Fax : (+216) 71 872 729 taoufik.aguili@enit.rnu.tn

Plus en détail

en sciences de l ingénieur

en sciences de l ingénieur Systèmes Automatisés Optimisation en sciences de l ingénieur présente les principales méthodes exactes d optimisation statique et dynamique. Parmi les méthodes décrites figurent : - la programmation linéaire

Plus en détail

CAPTEURS - CHAINES DE MESURES

CAPTEURS - CHAINES DE MESURES CAPTEURS - CHAINES DE MESURES Pierre BONNET Pierre Bonnet Master GSI - Capteurs Chaînes de Mesures 1 Plan du Cours Propriétés générales des capteurs Notion de mesure Notion de capteur: principes, classes,

Plus en détail

Applications des nombres complexes à la géométrie

Applications des nombres complexes à la géométrie Chapitre 6 Applications des nombres complexes à la géométrie 6.1 Le plan complexe Le corps C des nombres complexes est un espace vectoriel de dimension 2 sur R. Il est donc muni d une structure naturelle

Plus en détail

1.1 Définitions... 2 1.2 Opérations élémentaires... 2 1.3 Systèmes échelonnés et triangulaires... 3

1.1 Définitions... 2 1.2 Opérations élémentaires... 2 1.3 Systèmes échelonnés et triangulaires... 3 Chapitre 5 Systèmes linéaires 1 Généralités sur les systèmes linéaires 2 11 Définitions 2 12 Opérations élémentaires 2 13 Systèmes échelonnés et triangulaires 3 2 Résolution des systèmes linéaires 3 21

Plus en détail

Projets scilab. L3 Maths Appliquées lagache@biologie.ens.fr 02 Avril 2009

Projets scilab. L3 Maths Appliquées lagache@biologie.ens.fr 02 Avril 2009 Projets scilab L3 Maths Appliquées lagache@biologie.ens.fr 2 Avril 29 REMARQUE: quelques résultats importants concernant le théorème central limite et les intervalles de confiance sont rappelés dans la

Plus en détail

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan

Systèmes linéaires. 1. Introduction aux systèmes d équations linéaires. Exo7. 1.1. Exemple : deux droites dans le plan Exo7 Systèmes linéaires Vidéo partie 1. Introduction aux systèmes d'équations linéaires Vidéo partie 2. Théorie des systèmes linéaires Vidéo partie 3. Résolution par la méthode du pivot de Gauss 1. Introduction

Plus en détail

Chapitre 4 : Identification

Chapitre 4 : Identification Chapitre 4 : Identification 1- Généralités - Identification en boucle ouverte.1 Méthodologie. Méthode directe : confrontation de la réponse théorique et expérimentale.3 Méthode de Strejc.4 Méthode de Broida.5

Plus en détail

Notes de cours L1 MATH120. Hervé Le Dret

Notes de cours L1 MATH120. Hervé Le Dret Notes de cours L1 MATH120 Hervé Le Dret 18 octobre 2004 40 Chapitre 3 Vecteurs dans R m Dans ce chapitre, nous allons nous familiariser avec la notion de vecteur du point de vue algébrique. Nous reviendrons

Plus en détail

Calculatrice vocale basée sur les SVM

Calculatrice vocale basée sur les SVM Calculatrice vocale basée sur les SVM Zaïz Fouzi *, Djeffal Abdelhamid *, Babahenini MohamedChaouki*, Taleb Ahmed Abdelmalik**, * Laboratoire LESIA, Département d Informatique, Université Mohamed Kheider

Plus en détail

Exercices de simulation 1

Exercices de simulation 1 Licence MIA 2ème année Année universitaire 2009-2010 Simulation stochastique C. Léonard Exercices de simulation 1 Les simulations qui suivent sont à effectuer avec Scilab. Le générateur aléatoire de Scilab.

Plus en détail

La fonction exponentielle

La fonction exponentielle DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction

Plus en détail

Modélisation d'un axe asservi d'un robot cueilleur de pommes

Modélisation d'un axe asservi d'un robot cueilleur de pommes Modélisation d'un axe asservi d'un robot cueilleur de pommes Problématique Le bras asservi Maxpid est issu d'un robot cueilleur de pommes. Il permet, après détection d'un fruit par un système optique,

Plus en détail

Chapitre 3 RÉGRESSION ET CORRÉLATION

Chapitre 3 RÉGRESSION ET CORRÉLATION Statistique appliquée à la gestion et au marketing http://foucart.thierry.free.fr/statpc Chapitre 3 RÉGRESSION ET CORRÉLATION La corrélation est une notion couramment utilisée dans toutes les applications

Plus en détail

Problèmes de fiabilité dépendant du temps

Problèmes de fiabilité dépendant du temps Problèmes de fiabilité dépendant du temps Bruno Sudret Dépt. Matériaux et Mécanique des Composants Pourquoi la dimension temporelle? Rappel Résistance g( RS, ) = R S Sollicitation g( Rt (), St (),) t =

Plus en détail

TP - S2I Centre d intérêt N 4 : prévoir et vérifier les performances des systèmes linéaires continus invariants. TP «Ericc 4» ROBOT ERICC

TP - S2I Centre d intérêt N 4 : prévoir et vérifier les performances des systèmes linéaires continus invariants. TP «Ericc 4» ROBOT ERICC TP «Ericc 4» ROBOT ERICC 0. Objectifs du TP Documents à disposition - le dossier d étude (disponible ci-après) comprend les activités à mener pendant la durée de cette séance de travaux pratiques - le

Plus en détail

Master de recherche Conception Industrialisation Innovation 1

Master de recherche Conception Industrialisation Innovation 1 1 DOMAINE SCIENCES ET TECHNOLOGIE Mention à l ENSAM «Conception Industrialisation Risques et Décision» Mention à l UPV et l ENIM «Sciences pour l ingénieur» Master de Recherche M2 Spécialité «Conception,

Plus en détail

Traitement numérique du signal

Traitement numérique du signal Nº 754 BULLETIN DE L UNION DES PHYSICIENS 707 Traitement numérique du signal par J. ESQUIEU Lycée de Brive 1. TRAITEMENT Le traitement numérique du signal consiste à agir sur le signal à partir d échantillons

Plus en détail

Présentation du plan de cours et du site Internet

Présentation du plan de cours et du site Internet Cours #1: Introduction à la modélisation et au contrôle de procédés industriels Guy Gauthier, ing., Ph.D. 6 janvier 015 Source de l image: www.mlssystems.com/thermoforming.htm Présentation du plan de cours

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Exercices - Polynômes : corrigé. Opérations sur les polynômes Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)

Plus en détail

6.1 Instruments. 6.2 Introduction. L amplificateur opérationnel 1 L AMPLIFICATEUR OPÉRATIONNEL

6.1 Instruments. 6.2 Introduction. L amplificateur opérationnel 1 L AMPLIFICATEUR OPÉRATIONNEL L amplificateur opérationnel 1 L AMPLIFICATEUR OPÉRATIONNEL 6.1 Instruments Un amplificateur opérationnel de type 741. Un oscilloscope à double canon à électron. Un générateur de signaux Wavetek. Un générateur

Plus en détail

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives.

ÉVALUATION FORMATIVE. On considère le circuit électrique RC représenté ci-dessous où R et C sont des constantes strictement positives. L G L G Prof. Éric J.M.DELHEZ ANALYSE MATHÉMATIQUE ÉALUATION FORMATIE Novembre 211 Ce test vous est proposé pour vous permettre de faire le point sur votre compréhension du cours d Analyse Mathématique.

Plus en détail

Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées.

Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées. Les correcteurs accorderont une importance particulière à la rigueur des raisonnements et aux représentations graphiques demandées. 1 Ce sujet aborde le phénomène d instabilité dans des systèmes dynamiques

Plus en détail

Computix. Dans la colonne du 10, B choisit le 7 inférieur A 10 B 7

Computix. Dans la colonne du 10, B choisit le 7 inférieur A 10 B 7 Computix Matériel : grilles carrées comportant un nombre impair de cases. Quelques-unes sont données en annexe ; mais on peut aussi les construire soi-même, ou les faire construire par les élèves. Elles

Plus en détail

Méthodes de Monte-Carlo Simulation de grandeurs aléatoires

Méthodes de Monte-Carlo Simulation de grandeurs aléatoires Méthodes de Monte-Carlo Simulation de grandeurs aléatoires Master Modélisation et Simulation / ENSTA TD 1 2012-2013 Les méthodes dites de Monte-Carlo consistent en des simulations expérimentales de problèmes

Plus en détail

Robotique Manipulation et commande. Université de Strasbourg Telecom Physique Strasbourg, option ISAV Master IRIV, parcours AR Chapitre 5 Commande

Robotique Manipulation et commande. Université de Strasbourg Telecom Physique Strasbourg, option ISAV Master IRIV, parcours AR Chapitre 5 Commande Robotique Manipulation et commande Université de Strasbourg Telecom Physique Strasbourg, option ISAV Master IRIV, parcours AR Chapitre 5 Commande Plan du chapitre 1. Introduction 2. Commande articulaire

Plus en détail

Cours de mathématiques pour la Terminale S

Cours de mathématiques pour la Terminale S Cours de mathématiques pour la Terminale S Savoir-Faire par chapitre Florent Girod 1 Année scolaire 2015 / 2016 1. Externat Notre Dame - Grenoble Table des matières 1) Suites numériques.................................

Plus en détail

Modélisation et Simulation

Modélisation et Simulation Cours de modélisation et simulation p. 1/64 Modélisation et Simulation G. Bontempi Département d Informatique Boulevard de Triomphe - CP 212 http://www.ulb.ac.be/di Cours de modélisation et simulation

Plus en détail

Commande robuste d un robot d usinage flexible : analyse de la précision.

Commande robuste d un robot d usinage flexible : analyse de la précision. ème Congrès Français de Mécanique Besançon, 9 août au septembre Commande robuste d un robot d usinage flexible : analyse de la précision. J. Qin a, F. Léonard a,b, G. Abba a,b jinna.qin@ensam.eu, leonard@enim.fr,

Plus en détail

ATS Génie électrique session 2005

ATS Génie électrique session 2005 Calculatrice scientifique autorisée Avertissements : Les quatre parties sont indépendantes mais il est vivement conseillé de les traiter dans l ordre ce qui peut aider à mieux comprendre le dispositif

Plus en détail

Les états de collision inévitables, un outil pour la sûreté des systèmes robotiques

Les états de collision inévitables, un outil pour la sûreté des systèmes robotiques Les états de collision inévitables, un outil pour la sûreté des systèmes robotiques Antoine Durand-Gasselin, encadré par Thierry Fraichard, equipe emotion, laboratoire Inrialpes Contexte : La navigation

Plus en détail

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois

Plus en détail

NOTICE DOUBLE DIPLÔME

NOTICE DOUBLE DIPLÔME NOTICE DOUBLE DIPLÔME MINES ParisTech / HEC MINES ParisTech/ AgroParisTech Diplômes obtenus : Diplôme d ingénieur de l Ecole des Mines de Paris Diplôme de HEC Paris Ou Diplôme d ingénieur de l Ecole des

Plus en détail

Elma m l a ki i Haj a a j r a Alla a Tao a uf u i f q B ur u kkad a i i Sal a ma m n a e n e Be B n e a n b a d b en e b n i b i Il I ham

Elma m l a ki i Haj a a j r a Alla a Tao a uf u i f q B ur u kkad a i i Sal a ma m n a e n e Be B n e a n b a d b en e b n i b i Il I ham Exposé: la technique de simulation MONTE-CARLO Présenté par : Elmalki Hajar Bourkkadi Salmane Alla Taoufiq Benabdenbi Ilham Encadré par : Prof. Mohamed El Merouani Le plan Introduction Définition Approche

Plus en détail

: scientifique. : Physique, technologie et sciences de l ingénieur (PTSI) Physique et technologie (PT) : Sciences industrielles de l ingénieur

: scientifique. : Physique, technologie et sciences de l ingénieur (PTSI) Physique et technologie (PT) : Sciences industrielles de l ingénieur : scientifique : Physique, technologie et sciences de l ingénieur (PTSI) Physique et technologie (PT) : Sciences industrielles de l ingénieur Première et seconde s PROGRAMME DE SCIENCES INDUSTRIELLES DE

Plus en détail

Conception des Systèmes Numériques et Mixtes

Conception des Systèmes Numériques et Mixtes Conception des Systèmes Numériques et Mixtes Daniela Dragomirescu 1,2, Michael Kraemer 1,2, Marie-Line Boy 3, Philippe Bourdeau d Aguerre 3 1 - Université de Toulouse : INSA Toulouse, 135 Av. de Rangueil

Plus en détail

Algorithmes pour la planification de mouvements en robotique non-holonome

Algorithmes pour la planification de mouvements en robotique non-holonome Algorithmes pour la planification de mouvements en robotique non-holonome Frédéric Jean Unité de Mathématiques Appliquées ENSTA Le 02 février 2006 Outline 1 2 3 Modélisation Géométrique d un Robot Robot

Plus en détail

Jeux à somme nulle : le cas fini

Jeux à somme nulle : le cas fini CHAPITRE 2 Jeux à somme nulle : le cas fini Les jeux à somme nulle sont les jeux à deux joueurs où la somme des fonctions de paiement est nulle. Dans ce type d interaction stratégique, les intérêts des

Plus en détail

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2) Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter

Plus en détail

Calcul garanti des contraintes pour la planification sécurisée de trajectoire

Calcul garanti des contraintes pour la planification sécurisée de trajectoire Calcul garanti des contraintes pour la planification sécurisée de trajectoire Application à la génération de trajectoire articulaire pour un patient paraplégique sous Stimulation Électrique Fonctionnelle

Plus en détail

Calculs approchés d un point fixe

Calculs approchés d un point fixe M11 ÉPREUVE COMMUNE DE TIPE 2013 - Partie D TITRE : Calculs approchés d un point fixe Temps de préparation :.. 2 h 15 minutes Temps de présentation devant les examinateurs :.10 minutes Dialogue avec les

Plus en détail

Table des matières. PREMIÈRE PARTIE Étapes initiales des études marketing 7

Table des matières. PREMIÈRE PARTIE Étapes initiales des études marketing 7 Table des matières Préface Public 1 Structure de l ouvrage 1 Caractéristiques de l ouvrage 3 Contenu 3 Pédagogie 4 Remarques sur l adaptation française 4 Ressources numériques 5 Biographie 6 PREMIÈRE PARTIE

Plus en détail