THÈSE

Publié par

INSTITUTNATIONALPOLYTECHNIQUEDEGRENOBLE
N˚ attribué par la bibliothèque
THÈSE
pourobtenirlegradede
DOCTEURDEl’INPG
Spécialité:«Informatique:SystèmesetLogiciels»
préparéeaulaboratoireLSR IMAG,projetSARDES,
danslecadredel’EcoleDoctorale
«MathématiquesSciencesetTechnologiesdel’Information»
présentéeetsoutenuepubliquementpar
AliErdem ÖZCAN
le28Mars2007
ConceptionetImplantationd’unEnvironnementde
DéveloppementdeLogicielsàBasedeComposants
ApplicationsauxSystèmesMultiprocesseurssurPuce
Directeurdethèse:
Jean Bernard S TEFANI
JURY
M. Charles CONSEL Président
M. Bertil FOLLIOT Rapporteur
M. Lionel SEINTURIER
M. Philippe GUILLAUME Examinateur
M. Jacques MOSSIÈRE
M. Jean Bernard S TEFANI Directeurdethèse ii Résumé
Ces travaux de thèse définissent un environnement de développement ouvert et extensible pour la
conception de logiciels à base de composants. L’environnement se présente comme une chaîne de com
pilation d’architectures logicielles, acceptant des architectures écrites dans des langages différents et
fournissantdesfonctionnalitéscommelagénérationdecodeouledéploiement.L’extensibilitédel’outil
est assurée par une architecture à base de composants implantant des patrons de programmation exten
sibles et supportant un mécanisme de plug in pour intégrer des extensions de tierces parties. L’utilisa
tion de l’outil est illustrée au travers deux cadres applicatifs ayant pour trame les systèmes sur puces.
La première illustre le développement de systèmes d’exploitation pour ceux ci ...
Voir plus Voir moins
INSTITUTNATIONALPOLYTECHNIQUEDEGRENOBLE N˚ attribué par la bibliothèque THÈSE pourobtenirlegradede DOCTEURDEl’INPG Spécialité:«Informatique:SystèmesetLogiciels» préparéeaulaboratoireLSR IMAG,projetSARDES, danslecadredel’EcoleDoctorale «MathématiquesSciencesetTechnologiesdel’Information» présentéeetsoutenuepubliquementpar AliErdem ÖZCAN le28Mars2007 ConceptionetImplantationd’unEnvironnementde DéveloppementdeLogicielsàBasedeComposants ApplicationsauxSystèmesMultiprocesseurssurPuce Directeurdethèse: Jean Bernard S TEFANI JURY M. Charles CONSEL Président M. Bertil FOLLIOT Rapporteur M. Lionel SEINTURIER M. Philippe GUILLAUME Examinateur M. Jacques MOSSIÈRE M. Jean Bernard S TEFANI Directeurdethèse ii Résumé Ces travaux de thèse définissent un environnement de développement ouvert et extensible pour la conception de logiciels à base de composants. L’environnement se présente comme une chaîne de com pilation d’architectures logicielles, acceptant des architectures écrites dans des langages différents et fournissantdesfonctionnalitéscommelagénérationdecodeouledéploiement.L’extensibilitédel’outil est assurée par une architecture à base de composants implantant des patrons de programmation exten sibles et supportant un mécanisme de plug in pour intégrer des extensions de tierces parties. L’utilisa tion de l’outil est illustrée au travers deux cadres applicatifs ayant pour trame les systèmes sur puces. La première illustre le développement de systèmes d’exploitation pour ceux ci. La deuxième illustre la définition d’un nouveau langage facilitant l’expression de la synchronisation au sein d’applications de traitementdefluxmultimédiaréparties. Abstract Our work aims at the definition of an open and extensible development environment for supporting the design and implementation of component based software. Our proposition takes the form of a com ponent based software architecture compilation toolset, accepting architectures described in different languages,andprovidingdifferentfunctionalitiessuchascodegenerationanddeployment.Theextensi bility of the toolset is achieved thanks to a fine grained component based architecture, implementing a set of extensible programming patterns, and to a plug in support for loading third party extensions. Two evaluationuse casessetupinthecontextofsystem on chipsarepresentedinordertoillustratetheeffec tiveness of our approach. The first use case presents the development of operating system kernels. The secondonedescribestheextensionofthetoolsetwithasynchronizationpatterndescriptionlanguagefor easingthedevelopmentofdistributedstreamingapplications. iii iv Remerciements Je tiens tout d’abord à remercier Charles Consel, professeur à l’Ecole Nationale Supérieure d’Elec tronique,InformatiqueetRadiocommunicationsdeBordeaux,demefairel’honneurdeprésidercejury. JeremercieBertilFolliot,professeuràl’UniversitéPierreetMarieCurie,ParisVI,etLionelSeintu rier,professeuràl’UniversitédeLille,d’avoiracceptéd’êtrerapporteursdecettethèseetd’avoireffectué uneévaluationapprofondiedemestravaux. JeremercieégalementJacquesMossière,professeuràl’InstitutNationalPolytechniquedeGrenoble et Philippe Guillaume, responsable des activités de recherche et développement des modèles de pro grammation et des systèmes d’exploitation dans la société STMicroelectronics, d’avoir accepté d’être examinateursdemestravaux. JenesauraisassezremercierJean BernardStefani,mondirecteurdethèse. Savisionscientifique,et sesprécieux conseilsm’ontguidé toutau longdeces annéesde thèse.Ila toujoursététrès disponibleet curieuxpourdiscuterdemestravaux,etilm’atoujoursencouragéetmotivé.Enfin,jetiensàleremercier égalementsurleplanpersonnel,pourlesnombreusesdiscussionsquenousavonseues. Je remercie très chaleureusement Philippe Guillaume, mon responsable industriel, pour sa motiva tion,sonouvertureetsonencouragement.Ilacréépourmoiunenvironnementdetravailtrèsconfortable, avecunbonéquilibreentrelarechercheacadémiqueetindustrielle.C’estunegrandechancequej’aieue de pouvoir travailler sous sa direction, aussi bien sur le plan technique que sur le plan humain. Je vou drais également remercier Marco Cornero, directeur du Groupe COSA de STMicroelectronics, pour sa confiance,etpourl’intérêtqu’ilamanifestépourmestravaux. Bien qu’elle soit un travail personnel, une thèse est néanmoins le fruit de trois années pendant les quelleslethésardcollaboreavecdenombreusespersonnes.Àdéfautdepouvoirfaireunelisteexhaustive, jevoudraisremercier: – Matthieu Leclercq qui a joint notre équipe il y a un an en tant qu’ingénieur de développement. a joué un rôle très important dans la finalisation du canevas logiciel présenté dans ce document. Il a travaillé avec un enthousiasme remarquable pour faire d’un prototype, un logiciel de qualité industrielle. C’est une chance immense de travailler avec lui. Je n’oublierai jamais nos discussions techniques où l’on a quelques fois eut l’impression de redécouvrir ce qu’est l’infor matique. – Les membres de l’équipe Sardes pour leur accueil chaleureux et pour les interactions que nous avons eues. Oussama Layaïda avec qui j’ai commencé à travailler sur le développement d’appli cations multimédia, Vivien Quéma avec qui j’ai eu de nombreuses discussions techniques, Alan Schmitt et Frédéric Mayot avec qui j’ai initié les travaux sur JoinDSL, et Juraj Polakovic avec qui j’ai travaillé sur la reconfiguration dynamique de systèmes d’exploitation; Renaud Lachaize avec qui j’ai beaucoup discuté sur les aspects systèmes. Jacques Mossière qui m’a toujours aidé, non seulement sur le plan professionnel, mais aussi sur le plan personnel. Sacha Krakowiak que j’aieulagrandechancedecôtoyer.Enfin,SébastienJean,FabienneBoyer,SaraBouchenak,Noël de Palma, Jakub Kornas, Christophe Taton, Michael Lienhardt, Didier Donsez pour leur contact chaleureux. – Les membres du laboratoire AST pour leur accueil et leur amitié; Germain Haugou avec qui j’ai travaillé sur Think4L; Erven Rohou, Roberto Costa et François Naçabal avec qui j’ai collaboré sur les composants pour .Net; Thierry Lepley, Stéphane Curaba, Jean Marc Zins avec qui j’ai eu de nombreuses discussions enrichissantes. Thierry Strudel avec qui j’ai eu la chance de travailler et qui a certainement eu un impact important sur ma vision de l’informatique. Enfin, Marcello v Coppolaquim’aaccueillichaleureusementdanslelaboratoiredurantcesannées. – LesmembresdesprojetsThinketFractalavecquij’aieudenombreuxéchangestrèsconstructifs. – Mario Diaz Nava qui m’a motivé pour entamer une thèse après m’avoir encadré en DEA, et qui a joué un rôle important dans la mise en place de cette thèse CIFRE avec la société STMicroelec tronics. Enfin,surleplanpersonnel,jevoudraisexprimermesamitiésà: – Christophe Le Gal qui a sans doute été un tournant important de ma vie. J’ai eu la chance de le côtoyer au cours d’un stage que j’ai effectué tout au début de mes études en France. Il est la personnequim’aréellementintroduitàl’informatiqueetaétépourmoiunamitrèsprécieux. – LeventTopaç,ZeynepEraydın,TaylanGenç,PınarÖzdemiretYücelBalımpourleuramitié.Nous étions tout petits quand nous nous sommes rencontrés, et avons grandi ensemble. Bien que nous vivionsdansdesvilleslointainesdepuisplusieursannées,jegardeenmoiunsouvenirmémorable desannéesquenousavonspasséesensemble. ˙– Mes amis Onur Marsan,¸ Burçak Kursan, Kerim Nadir, Onur Inanç, Gönenç Onay, Olivier Ptak et VincentMazelpourleurgentillesse. – MesamisthésardsOussamaLayaïdaetVivienQuémaavecquij’aipassétroisannéesformidables. – And finally, my deepest thanks go to my family. To my mother, who changed my life by forcing me to study in France : she was absolutely right, even if we had some difficult moments. To my father, who has always been a role model for me. I don’t know how to thank him for all that he didforme,everydayofmylife.Andtomyuncle,Yig˘itGündüçwhoisthefirsttomotivatemeto followmystudiesincomputersciences.Monfrèrequiatoujoursétéavecmoietquim’asupporté sanscessedurantcestroisannéesdetravailintensif.Enfin,monyavmur,Ayse¸ gül,poursonamour etsonsupportinestimable.Lavieestplusbelleavecelle,etleresteratoujours. vi Tabledesmatières 1 Introduction 1 1.1 Caractéristiquesdessystèmesmultiprocesseurssurpuce . . . . . . . . . . . . . . . . . 3 1.1.1 Constituantsd’unsystèmesurpuce . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.2 Problématiquesdesconcepteursdesystèmessurpuce . . . . . . . . . . . . . . . 4 1.1.3 Feuillederoutepourlesarchitecturesdufutur . . . . . . . . . . . . . . . . . . 5 1.2 Programmationdessystèmesmultiprocesseurssurpuce . . . . . . . . . . . . . . . . . . 7 1.2.1 Flotdeconceptiondelogicielpourlessystèmessurpuce . . . . . . . . . . . . . 7 1.2.2 Problématiquedeprogrammation . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2.3 Analysecritiquedelaperceptiondespratiquesactuelles . . . . . . . . . . . . . 10 1.3 Motivationsetobjectifsdenotreproposition . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1 Défis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.2 Propositions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4 Organisationdudocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 I Etatdel’Art 17 2 Programmationsystèmeàbasedecomposants 19 2.1 Composantslogiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.1.1 Unpeud’histoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.1.2 Caractérisationdescomposantslogiciels . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Modèlesdecomposantsstandardsetindustriels . . . . . . . . . . . . . . . . . . . . . . 22 2.2.1 Beans/EnterpriseJavaBeans . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.2 CCM:lemodèledecomposantsdeCORBA . . . . . . . . . . . . . . . . . . . 25 2.2.3 COM/DCOM/COM+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.2.4 SystemC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.3 Modèlesdecomposantsacadémiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.1 OpenCOM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.3.2 ArchJava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.3.3 Classages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.3.4 Fractal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3 Conceptiondesystèmesàl’aidedelangagesdedescriptiond’architecture 45 3.1 Architecturelogicielleetlangagesdedescriptiond’architecture . . . . . . . . . . . . . . 46 3.2 Langagesdespécificationformelled’architectures . . . . . . . . . . . . . . . . . . . . . 47 3.2.1 Rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.2.2 Wright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.3 Langagesdedescriptiondeconfigurationlogicielle . . . . . . . . . . . . . . . . . . . . 51 vii TABLEDESMATIÈRES 3.3.1 Knit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.3.2 CDL/eCos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.4 Langagesetenvironnementsdedéploiement . . . . . . . . . . . . . . . . . . . . . . . . 54 3.4.1 Darwin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.4.2 Olan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.5 Langagesextensibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.5.1 ACMEetxACME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.5.2 xArchetxADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.6 Approchesbaséessurdesmodèles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.6.1 Visiondel’ObjectManagementGroup . . . . . . . . . . . . . . . . . . . . . . 63 3.6.2 MDE/MDAetADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.7 Synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4 Lemodèledecomposants FRACTAL etlesoutilsassociés 67 4.1 Lemodèlede FRACTAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.1.1 Composants,compositionhiérarchiqueetpartage . . . . . . . . . . . . . . . . . 68 4.1.2 Séparationdespréoccupations . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.1.3 Liaisonsflexibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.1.4 Systèmedetypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.2 FRACTAL ADL:lelangagededescriptiond’architecturede FRACTAL . . . . . . . . . . 71 4.2.1 Lelangage FRACTAL ADL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2.2 Extensibilitéde FRACTAL ADL . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.3 JULIA :Uneimplantationdumodèle FRACTAL enJava . . . . . . . . . . . . . . . . . . 75 4.3.1 Structuresdedonnéesassociéesauxcomposants . . . . . . . . . . . . . . . . . 75 4.3.2 Miseenplacedescontrôleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.3 Miseenplacedesintercepteurs . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3.4 L’usinededéploiementpour FRACTALADL . . . . . . . . . . . . . . . . . . . . 77 4.4 THINK :Uneimplantationdumodèle FRACTAL enC . . . . . . . . . . . . . . . . . . . 78 4.4.1 Structuresdedonnéesassociéesauxcomposants . . . . . . . . . . . . . . . . . 79 4.4.2 Générationdesstructuresd’interfaces . . . . . . . . . . . . . . . . . . . . . . . 80 4.4.3 Patrondeprogrammation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.4.4 Outildegénérationdecode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 II Une chaîne d’outils extensible et multi cibles pour le traitement de descriptions d’architectures 85 5 Présentationgénérale 87 5.1 Choixdumodèledecomposants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.2 Àlarecherched’unechaîned’outilsADL . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.2.1 Limitesdesoutilsdetraitementd’architecturesexistants . . . . . . . . . . . . . 88 5.2.2 Travauxconnexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3 VersunoutilextensiblepourletraitementdesADLhétérogènes . . . . . . . . . . . . . 89 5.3.1 Objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.3.2 Proposition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.4 Organisationdelasecondepartie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 viii TABLEDESMATIÈRES 6 Uncanevaslogicielextensiblepourletraitementd’ADLhétérogènes 93 6.1 Vued’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.2 Arbredesyntaxeabstraiteextensible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.2.1 Architecturedel’arbredesyntaxeabstraite . . . . . . . . . . . . . . . . . . . . 95 6.2.2 Usinedenœudsspécialisable . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.2.3 Intégrationdelangageshétérogènes . . . . . . . . . . . . . . . . . . . . . . . . 98 6.3 Constructiondel’arbredesyntaxeabstraite . . . . . . . . . . . . . . . . . . . . . . . . 99 6.3.1 Architecturedumoduledechargement . . . . . . . . . . . . . . . . . . . . . . 99 6.3.2 Composantsd’analysesyntaxique . . . . . . . . . . . . . . . . . . . . . . . . . 100 6.3.3sémantique . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.4 Traitementdel’arbredesyntaxeabstraite . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.4.1 Architecturedumoduledetraitement . . . . . . . . . . . . . . . . . . . . . . . 101 6.4.2 Canevasdetâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.4.3 Constructiondugraphedetâches . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.4.4 Implantationdestâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.5 Mécanismesd’extensiondescompilateursADL . . . . . . . . . . . . . . . . . . . . . . 108 6.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 7 Constructiond’unoutildetraitementd’ADLpourlagénérationdecode 111 7.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7.2 Architecturedel’outildegénérationdecode . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2.1 Architecturedumoduledechargement . . . . . . . . . . . . . . . . . . . . . . 112 7.2.2 Spécialisationducanevasdetâches . . . . . . . . . . . . . . . . . . . . . . . . 114 7.2.3dumoduledetraitement . . . . . . . . . . . . . . . . . . . . . . . 118 7.3 Générationd’adaptateursdecommunication . . . . . . . . . . . . . . . . . . . . . . . . 122 7.3.1 Insertionautomatiqued’adaptateursdecommunication . . . . . . . . . . . . . . 123 7.3.2 Générationducoded’implantationdesadaptateursdecommunication . . . . . . 124 7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 III Applications 127 8 Constructiondenoyauxdesystèmesd’exploitation 129 8.1desystèmesd’exploitationspécialisées . . . . . . . . . . . . . . . . . . . 129 8.1.1 Spécialisationdesystèmesd’exploitation . . . . . . . . . . . . . . . . . . . . . 130 8.1.2 Approche THINK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 8.2 THINK4L:Unepersonnalitémicro noyauàbasedecomposants . . . . . . . . . . . . . 133 8.2.1 PrésentationdeL4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 8.2.2 Architecturede THINK4L . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 8.2.3 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 8.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 9 Constructiond’applicationsdestreamingréparties 147 9.1 H.264 Uneexpérimentationdemiseenœuvred’applicationmultimédia . . . . . . . . 148 9.1.1 Méthodederestructurationd’uneapplicationmonolithiqueencomposants . . . 149 9.1.2 Architecturedudécodeuràbasedecomposants . . . . . . . . . . . . . . . . . . 150 9.1.3 Miseaupointdedifférentesversionsdudécodeur . . . . . . . . . . . . . . . . . 152 9.1.4 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 9.2 Commentallerplusloin? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 ix TABLEDESMATIÈRES 9.2.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 9.2.2 Approchesexistantespourlaprogrammationdesapplicationsdestreaming . . . 157 9.2.3 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 9.3 THINKJoin : Un modèle de programmation à base de composants pour applications de streaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 9.3.1 Vued’ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 9.3.2 LelangageJoinDSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 9.3.3 Architectured’uncomposantaveccontrôleurd’exécution . . . . . . . . . . . . 169 9.3.4 GénérationdecodepourJoinDSL . . . . . . . . . . . . . . . . . . . . . . . . . 170 9.3.5 Modèled’exécutiondescomposants . . . . . . . . . . . . . . . . . . . . . . . . 172 9.4 Mise enplaced’undécodeurMPEG 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 9.4.1 PrésentationdestravauxconcernantledécodagedefluxMPEG 2 . . . . . . . . 174 9.4.2 Architectureàbasedecomposantsdudécodeur . . . . . . . . . . . . . . . . . . 174 9.4.3 Évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 9.4.4 Plates formesmatérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 9.4.5 Aspectsquantitatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 9.4.6qualitatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 9.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 10 Conclusion 181 10.1 Principauxapports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 10.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 A Formatsd’implantationdescomposantsdansdiverslangagesdeprogrammation 187 A.1 ImplantationenCpourlecanevaslogiciel THINK . . . . . . . . . . . . . . . . . . . . . 187 A.1.1 Structurededonnéedescomposants . . . . . . . . . . . . . . . . . . . . . . . . 187 A.1.2 Guidedeprogrammation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 A.2 ImplantationenC++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 A.2.1 Structurededonnéedescomposants . . . . . . . . . . . . . . . . . . . . . . . . 192 A.2.2 Guidedeprogrammation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 A.3 ImplantationenJava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 A.3.1 Structurededonnéedescomposants . . . . . . . . . . . . . . . . . . . . . . . . 196 A.3.2 Guidedeprogrammation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Bibliographie 197 x
Soyez le premier à déposer un commentaire !

17/1000 caractères maximum.