La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
Télécharger Lire

cours-duval

2 pages
Modelisation´ et implementation´ de l’architecture PACa` l’aide des patrons Proxy et Abstract FactoryThierryDuvalUniversite´ Europeenne´ de BretagneUniversite´ de Rennes 1IRISA - Campus de Beaulieu35042, Rennes, FranceThierry.Duval @ irisa.fr´RESUME INTRODUCTIONDes modeles` d’architecture tels que MVC, PAC, PAC Le but de ce cours est de presenter´ une methodologie´ per-Amodeus ou Arch donnent lieu a` de nombreuses possi mettant d’utiliser au mieux le modele` d’architecture logi ´ ´ `bilites d’implementation. Ceci pose des problemes aux cielle PAC [1] en l’interpretant´ sous l’angle du modele`etudiants´ ou jeunes diplomˆ es´ qui ne savent pas quelle Arch [8], un peu comme a dej´ a` pu le faire le modele` PAC solution choisir lorsqu’ils doivent les coder. Depuis Amodeus [7]. Nous choisissons ici d’ajouter systemati ´plusieurs annees,´ nous avons mis au point une methodolo ´ quement des interfaces logicielles (telles qu’on peut lesgie qui implemente´ le modele` PAC en utilisant princi trouver dans des langages de modelisation´ ou de program palement les patrons de conception Proxy, Fabrique Ab mation comme UML ou Java) entre les trois facettes dustraite, et, dans une moindre mesure, Singleton. Graceˆ modele` PAC.a` cette methodologie,´ les etudiants´ sont guides´ dans la´ ´structuration de leur code, et l’IHM est separ´ ee´ effi DEMARCHE PROPOSEEcacement du noyau fonctionnel, montrant ainsi comment Afin d’obtenir un maximum d’independance´ entre ...
Voir plus Voir moins
ModelisationetimplementationdelarchitecturePAC a` l’aidedes patrons Proxy et Abstract Factory
Thierry Duval
UniversiteEuropeennedeBretagne UniversitedeRennes1 IRISA - Campus de Beaulieu 35042, Rennes, France Thierry.Duval @ irisa.fr
RESUME Des mode`les d’architecture tels que MVC, PAC, PAC AmodeusouArchdonnentlieu`adenombreusespossibilitesdimplementation.Ceciposedesprobl`emesaux etudiantsoujeunesdiploˆmesquinesaventpasquelle solution choisir lorsqu’ils doivent les coder.Depuis plusieursannees,nousavonsmisaupointunemethodologiequiimplementelemod`elePACenutilisantprincipalement les patrons de conception Proxy, Fabrique Ab straite,et,dansunemoindremesure,Singleton.Grˆace `acettemethodologie,lesetudiantssontguidesdansla structuration de leur code, et l’IHM est separee effi cacement du noyau fonctionnel, montrant ainsi comment realiserproprementcetteseparationavecdesproprietes d’evolution importantes :changement de l’IHM ou du codedunoyaufonctionnel,maisaussiajoutdinteractivite `aunnoyaufonctionnelnoninteractif.Nousproposons doncdepresentericicettedemarchemethodologiqueet delillustrer`alaidedunexemplequenoustraiteronsen ` Java en utilisant l’API Swing.A l’issue du cours, des tineaussibien`adesetudiantsdeniveaumaster2qua` desdoctorantsoua`desingenieursdebutants,ondoitˆetre en mesure de structurer efficacement une application in teractivea`laidedumod`elePACAmodeus,enrendant notammentlecomposantdecontroˆleleplusindependant possibledelapartiepresentationgraphiqueetdelaboˆıte `aoutilgraphiqueeffectivementutilisee.
MOTS CLES :Mode`les d’Architecture Logicielle, Pa trons de Conception.
CATEGORIES AND SUBJECT DESCRIPTORS: HCI — User Interfaces — Theory and methods; Software — Software Architecture — Patterns
H.5.2: D.2.11:
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page.To copy otherwise, to republish, to post on servers or to redistribute to lists, re quires prior specific permission and/or a fee. IHM 2010,2023 Septembre 2010, Luxembourg, Luxembourg .
INTRODUCTION Le but de ce cours est de presenter une methodologie per mettant d’utiliser au mieux le mode`le d’architecture logi ciellePAC[1]enlinterpretantsouslangledumod`ele Arch[8],unpeucommeadeja`pulefairelemod`elePACAmodeus [7].Nous choisissons ici d’ajouter systemati quement des interfaces logicielles (telles qu’on peut les trouverdansdeslangagesdemodelisationoudeprogrammation comme UML ou Java) entre les trois facettes du mod`elePAC.
  DEMARCHE PROPOSEE Afin d’obtenir un maximum d’independance entre les differentesfacettesdescomposantsPAC,nouspartonsde linterpretationdumod`elePACquenousavonsproposee en1999[3]etcompleteeen2000[4],quiestillustreegure 1.Cette approche propose de specifier les services offertsparchaquefacettedumod`elePAC`alaidedune interface, de facon a` ce que par exemple la facette controˆle CneconnaissesafacetteabstractionAassocieequau traversdelinterfaceIAimplementeeparcetteabstraction. L’interfacede controˆle IC herite ici de l’interface abstractionIAanquelecontrˆolepuisseˆetreconsiderecommeunproxydesonabstractionassociee.
Figure 1:vaceniet`dlePeCAtiondIunmtoerpretaacrfes entre facettes
La presence du composant interface presentation va per mettreaucomposantdecontroˆledˆetretotalementindependantdescaracteristiquesdelAPIgraphiqueutilisee parlecomposantdepresentation,seulcedernierayant besoin d’une connaissance precise de cette API.
Delamˆemefacon,lapresenceduneinterfacedecontroˆle vapermettreaucomposantdepresentationdeˆtreindependant des caracteristiques effectives du composant de controˆ le.
` Alexecution,lesfacettesdescomposantsPACseront bienentendudespresentations,descontrˆoles,oudesabstractions et non pas des interfaces de ces composants.
LIENS AVEC LES PATRONS DE CONCEPTION Notredemarchesappuieegalementsurlespatronsde conception Proxy, Fabrique Abstraite, et Singleton, dont on pourra trouver une description dans [6].
Utilisation du proxy Lepatrondeconceptionproxyesticiutilisepourpouvoir substituer un composant controˆle au composant ab stractionauquelilestassocie.Cestdecettefaconque lecontrˆolepourrainterceptertouslesmessages`adestination du composant abstraction, jouant ainsi son roˆle de contrˆoleurdacc`esetdemaintiendecoherenceavecson composantpresentationassocie.
Utilisation de la fabrique abstraite Le patron de conception fabrique abstraite va permet tre de regrouper dans un ou plusieurs composants dedies lensembledesmethodesdecreationdesobjetsduneapplication. C’estce qui va nous permettre de faire evoluer uneapplicationenremplacantlafabriqueinitiale,quicree des composants abstraction, par une fabrique qui va alors creerdescomposantsdecontrˆole.
Delamˆemefacon,utiliserunefabriqueabstraitepour lacreationdescomposantsdepresentationpermetde faireevoluerfacilementlapplicationinteractivelorsdun changementdelAPIgraphiqueutilisee.
Utilisation du singleton Lepatronsingletonnestpasessentiela`notremethode, mais il permet de s’assurer qu’on ne creera qu’une seule fabrique de composants de chaque type (abstraction, con troˆleetpresentation)pouruneapplicationdonnee.
ILLUSTRATION DE LA DEMARCHE Nousillustronscettedemarchemethodologiquea`laide d’un exemple en Java en utilisant l’API Swing :il s’agit dajouterdelinteractivite`aunnoyaufonctionnelinitialement non graphique et non interactif. L’accent est mis sur lanecessitedeseparerefcacementlecontrˆoledunepart du noyau fonctionnel, et d’autre part de l’API graphique utilisee.Lademarchepermetegalementderemplacer tre`s facilement l’API Swing par d’autres API graphiques comme par exemple SWT.
CONCLUSION Cettemethodologieconduitdonc`auneseparationefcace desdifferentesfacettesdescomposantsPACdunsyste`me interactif.Ellepeutaussibiensappliquer`alaconceptiondunnouveausyst`emeinteractifqu`alevolutiondun syste`me non interactif a` rendre interactif.
LademarcheestpresenteeencoursdeMaster2a`lUniversitedeRennes1depuis2000[5],elleaaussietepresentee sous forme d’un tutorial lors des conferences IHM 2005 et IHM2009.Elleaegalementeteutiliseedanslecadredu developpement de plusieurs versions d’un logiciel com mercial[2]dansunbutdoptimiserlareutilisationde code. BIBLIOGRAPHIE 1. Coutaz,J. Pac:An object oriented model for imple menting user interfaces.SIGCHI Bull., 19(2):37–41, 1987. 2.Degrigny,F.,andDuval,T.Utilisationdumod`elepacamodeus pour une reutilisation optimale de code dans ledeveloppementdeplusieursversionsdunlogiciel commercial. InIHM 2004:Proceedings of the 16th conference on Association Francophone d’Interaction HommeMachine, pages 149–156, New York, NY, USA, 2004. ACM. 3.Duval,T.,andNigay,L.Implementationduneapplicationdesimulationselonlemod`elepacamodeus. InIHM 1999:Proceedings of the 11th conference on Association Francophone d’Interaction Homme Machine, pages 86–93, New York, NY, USA, 1999. ACM. 4. Duval,T., and Pennaneac’h, F.Using the pac amodeus model and design patterns to make interac tive an existing objectoriented kernel. InTOOLS ’00: Proceedings of the Technology of ObjectOriented Languages and Systems (TOOLS 33), pages 407–418, Washington, DC, USA, 2000. IEEE Computer Soci ety. 5.Duval,T.,andTarby,J.C.Ameliorerlaconception des applications interactives par l’utilisation con jointedumod`elepacetdespatronsdeconception.In IHM’06: Proceedings of the 18th International Con ference of the Association Francophone d’Interaction HommeMachine, pages 225–232, New York, NY, USA, 2006. ACM. 6. GammaE., Helm R., Johnson R., and Vlissides J.De sign Patterns : Elements of reusable ObjectOriented Software. AddisonWesley,1995. 7. Nigay, L., andCoutaz, J.A design space for mul timodal systems:concurrent processing and data fu sion. InCHI ’93: Proceedings of the INTERACT ’93 and CHI ’93 conference on Human factors in com puting systems, pages 172–178, New York, NY, USA, 1993. ACM. 8. UIMS1992. Ametamodel for the runtime architec ture of an interactive system: the uims tool developers workshop.SIGCHI Bull., 24(1):32–37, 1992.
Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin