GL-EXS 97/98
Transcription
GL-EXS 97/98
M AëTRISE DÕINFORMATIQUE : M ODULE MA2 (GŽnie Logiciel) examen de Septembre 1998 UniversitŽ Pierre & Marie Curie (Paris VI) Fabrice KORDON 3 heures, sans documents 0. P RƒAMBULE Le sujet qui vous est prŽsentŽ comporte deux parties indŽpendantes et une annexe. Vous pouvez donc les effectuer dans lÕordre qui vous convient. Attention! le probl•me est composŽ de plusieurs groupes de questions dŽpendantes entre elles (mais les groupes sont souvent plus indŽpendants). Ainsi, si vous sŽchez sur une question, regardez la suite car dÕautres questions sont peut-•tre faisables. Pensez Žgalement ˆ bien disposer le lecteur (et correcteur) ˆ votre Žgard. Soignez la prŽsentation. Un bon discours passe tellement mieux lorsquÕil est proprement exprimŽ. Inutile Žgalement de vous rŽpandre sur des dizaines de pages, surtout lorsque lÕon vous demande de faire bref. Il vous est vivement conseillŽ de lire attentivement le sujet afin de choisir lÕordre dans lequel vous rŽsoudrez les diffŽrentes questions. Ce qui para”t simple ˆ premi•re vue ne lÕest peut-•tre pas tant que •a... NÕhŽsitez pas ˆ lire une seconde fois les questions qui vous semblent dŽlicates avant de les rŽsoudre. 1. P ROBLéME (17 P TS + 1 FACULTATIF) D•s son arrivŽe sur le tr™ne, et pour asseoir la puissance de la maison rŽgnante, lÕimpŽratrice IrŽna IV DorŽa dŽcide de construire sur sa plan•te-capitale une gigantesque tour de 1000 Žtages culminant ˆ environ 3600 m•tres dÕaltitude. Cette tour abritera ˆ terme lÕintŽgralitŽ de lÕadministration centrale de lÕempire. Ainsi, lÕimpŽratrice pourra tenir la dragŽe haute ˆ ses turbulents vassaux et voisins. Le cabinet dÕŽtudes pour lequel vous travaillez a dŽjˆ rŽalisŽ une Žtude des probl•mes de gestion de la climatisation dans la Tour (cf le sujet de Juin 1998 donnŽ en annexe). Cette Žtude a abouti au schŽma Classe-Relation de la Figure 1. Ce schŽma comporte six classes concr•tesÊ: deux types de zones (hŽritant dÕune classe abstraite) qui reprŽsentent le syst•me de contr™le dÕune zone. On distingue les zones pŽriphŽriques (classe instanciŽe quatre fois) de la zone centrale qui, seule est liŽe au syst•me de coordination dÕun groupe dÕŽtages. Toutes les zones dÕun Žtage sont reliŽes entre elles via un bus de communication. La zone centrale dÕun Žtage est reliŽe au Syst•me de coordination via un canal bidirectionnel (canal SCGE). Enfin, chaque syst•me de coordination dÕun Bus 5-5 communique 1-1 Zone is_a is_a Z. Centrale Z. Périphérique 1-1 est_relié 1-1 is_a Canal SCGE 1-1 est_relié 7-7 Canal Système de Coordination 1-2 est_relié 2-2 is_a Canal-groupes Figure 1: SchŽma Classe Relation du syst•me. Page 1 Ma”trise : module MA2 (GŽnie Logiciel), Septembre 1998 groupe dÕŽtages est reliŽ aux syst•mes de coordination des groupes dÕŽtages adjacents (i.e. supŽrieur et infŽrieur) via un canal bidirectionnel (Canal-Groupes). Les deux classes Canal (Canal SCGE et Canal-groupes) hŽritent dÕune classe abstraite ÒCanalÓ. Pour construire le syst•me, on sÕest appuyŽ sur lÕhypoth•se que les canaux de communication bidirectionnels Žtaient fiables. LÕobjet de la prŽsente Žtude concerne la conception de ces canaux de mani•re ˆ ce que lÕhypoth•se ŽnoncŽe soit vŽrifiŽe. Vous •tes donc chargŽ de travailler sur la spŽcification de la classe abstraite Canal. On appelle interlocuteur lÕŽlŽment qui reprŽsente les entitŽs situŽes aux extrŽmitŽs dÕune ligne de communication. LÕabsence de fiabilitŽ dÕun canal est liŽe au fait que ces interlocuteurs sont susceptibles dÕŽmettre nÕimporte quand. Si les deux entitŽs Žmettent ˆ peu pr•s simultanŽment, les signaux Žlectriques vŽhiculant les messages sur la ligne sont perdus. Pour Žviter cela, la ligne est attribuŽe par pŽriode ˆ chacun des interlocuteurs, lÕattribution Žtant contr™lŽe par un synchroniseur. Les interlocuteurs sont par dŽfaut ˆ lÕŽcoute de la ligne. LorsquÕun synchroniseur refuse lÕŽmission ˆ un interlocuteur, celui-ci se met automatiquement ˆ lÕŽcoute (un message est en cours dÕŽmission) et, une fois le message re•u, redemande la ligne pour Žmettre ˆ son tour. Une fois la ligne obtenue lÕinterlocuteur Žmet son message sur la ligne puis la lib•re. La ligne reprŽsente tout type de support (interchangeable avec lÕinstanciation de la classe abstraite) permettant de relier deux interlocuteurs. Le protocole dÕŽchange entre interlocuteur et synchroniseur, ainsi que les modalitŽs de gestion de la ligne seront prŽcisŽs plus loin. Vous •tes chargŽs dÕŽtudier la faisabilitŽ du point de vue informatique de la solution proposŽe par les experts du cabinet AAEATA. 1.1 (3 Pts) Identifiez les classes pour implŽmenter un canal et donnez le mod•le structurel en Classe-Relation sans prŽciser les mŽthodes des classes. Pour un canal de communication, vous prŽciserez le nombre dÕinstances de chaque classe et justifierez bri•vement vos choix (en particulier en ce qui concerne la cardinalitŽ des relations). Par souci de simplification, on suppose quÕune instance de la classe Canal et tous ses composants sont mis en service en m•me temps. Pour le moment, pour toutes ces classes, on ne prŽcise pas dÕautres mŽthodes que celles relatives ˆ la mise en service car les communications entre composants du Canal sÕeffectuent de mani•re asynchrone au moyen dÕŽvŽnements. 1.2 (1,5 Pt) A partir des informations dont vous disposez, indiquez le mod•le opŽratoire des classes que vous avez caractŽrisŽes. Les interactions entre le synchroniseur et les interlocuteurs respectent les r•gles suivantesÊ: (1) Avant dÕŽmettre un message, les interlocuteurs suivent le protocole suivantÊ: - Žmission dÕune demande de ligne, - si la demande est acceptŽe, Žmission du message puis libŽration de la ligne aupr•s du synchroniseur, - si la demande est refusŽe, on passe en mode rŽception (un message est en train dÕarriver) et lÕŽmission est diffŽrŽe. (2) Les messages ŽchangŽs sont de longueur constante. (3) LorsquÕun message a ŽtŽ re•u, il est forcŽment acquittŽ. (4) Tout message non acquittŽ est rŽŽmis ˆ lÕexpiration dÕune temporisation T initiŽe automatiquement ˆ lÕŽmission dÕun message. (5) LorsquÕun message envoyŽ est acquittŽ, le composant Žmetteur doit libŽrer la ligne. Page 2 Ma”trise : module MA2 (GŽnie Logiciel), Septembre 1998 1.3 (3 Pts) Quels sont les ŽvŽnements permettant la gestion dÕun Canal? 1.4 (1,5 Pt) Donnez lÕautomate de dŽclenchement du synchroniseur. 1.5 (2 Pts) Donnez lÕautomate de dŽclenchement dÕun interlocuteur. On souhaite maintenant valider la A A description de mani•re formelle. Pour SI cela, on utilise les rŽseaux de Petri SI Place/Transition (ou ordinaires). A partir des automates de dŽclenchement obtenus aux deux questions prŽcŽdentes, vous allez construire le rŽseau de Petri correspondant au fonctionnement de ces SO SO deux classes. Les signaux seront B B modŽlisŽs par des places dites Òde Figure 4: Exemple de modŽlisation des communicationÓ comme indiquŽ dans le signaux. schŽma de la FigureÊ4. Sur ce schŽma, on voit la transcription dÕun automate de dŽclenchement en un rŽseau de Petri. Les places A et B correspondent aux diffŽrents Žtats du syst•me et les places SI et SO correspondent aux signaux entrant et sortant. Les questions suivantes vont vous aider ˆ construire le rŽseau de Petri du syst•me par morceaux, les morceaux Žtant issus de certaines classes du syst•me. Les rŽseaux de Petri associŽs aux classes seront reliŽs au moyen des places dŽcrivant les signaux de communication. LÕobjectif est de pouvoir dŽcrire le comportement du syst•me complet (un synchroniseur et deux interlocuteurs). 1.6 (1 Pt) En ignorant les aspects dŽmarrage et arr•t du syst•me, construisez le rŽseau de Petri associŽ au comportement du synchroniseur. 1.7 (0,5 Pt) Indiquez le marquage initial du rŽseau de Petri de la question prŽcŽdente. 1.8 (1 Pt) En ignorant les aspects dŽmarrage et arr•t du syst•me, construisez le rŽseau de Petri associŽ au comportement dÕun interlocuteur. 1.9 (0,5 Pt) Indiquez le marquage initial du rŽseau de Petri de la question prŽcŽdente. Pour valider le protocole, on dŽcide de joindre les deux rŽseaux de Petri obtenus au moyen des places dite Òde communicationsÓ associŽes aux signaux. 1.10 (0,5 Pt) On observe une configuration Žtrange au niveau des communications entre les deux sous-mod•les (interlocuteur et synchroniseur). Laquelle? 1.11 (0,5 Pt) Quelle incidence cela a-t-il sur le comportement du mod•le? 1.12 (1 Pt) Comment pallier le probl•me? Page 3 Ma”trise : module MA2 (GŽnie Logiciel), Septembre 1998 1.13 (1 Pt) En supposant que vous avez rŽsolu le probl•me mentionnŽ dans les trois questions prŽcŽdentes, quelle propriŽtŽ suggŽrez-vous de rechercher sur le mod•le que vous avez construit pour considŽrer que le protocole est correct ? LÕŽtude pla”t beaucoup aux experts du cabinet AAEATA qui pensent pouvoir appliquer le rŽseau de Petri que vous avez produit ˆ la validation du bus entre les zones dÕun Žtage (la classe BUS dans le mod•le structurel donnŽ en FigureÊ1). 1.14 (Question facultative, 1 Pt) Le rŽseau de Petri que vous avez obtenu est-il transposable tel quel ˆ lÕŽtude du bus? Si non, ŽnumŽrez rapidement les probl•mes que vous identifiez dans le cadre de cette adaptation ? Vous ne chercherez pas ˆ proposer de colution prŽcise. NB: Il vous est conseillŽ de vous rŽfŽrer ˆ lÕannexe pour vous rafra”chir la mŽmoire. 2. QUESTIONS DE COURS (3 PTS) 2.1 (1,5 Pt, 10 lignes maximum + un schŽma) Situez bri•vement le maquettage et le prototypage dans le cycle de vie du logiciel en justifiant votre point de vue ? 2.2 (1,5 Pt, 15 lignes maximum) Pouvez-vous dŽfinir tr•s bri•vement ce quÕest un plan qualitŽ ? Page 4 Ma”trise : module MA2 (GŽnie Logiciel), Septembre 1998 3. ANNEXE : INTRODUCTION DU SUJET DE J UIN 1998 Canal "haut" canal "bas" Groupe d'étages D•s son arrivŽe sur le tr™ne, et pour asseoir la puissance de la maison rŽgnante, lÕimpŽratrice IrŽna IV DorŽa dŽcide de construire sur sa plan•te-capitale une gigantesque tour de 1000 Žtages culminant ˆ environ 3600 m•tres dÕaltitude. Cette tour abritera ˆ terme lÕintŽgralitŽ de lÕadministration centrale de lÕempire. Ainsi, lÕimpŽratrice pourra tenir la dragŽe haute ˆ ses turbulents vassaux et voisins. Sous lÕŽgide du cabinet AAEATA1 , qui supervise dŽsormais lÕensemble de la construction du b‰timent, la construction du gros Ïuvre est presque achevŽe et lÕon commence ˆ se prŽoccuper de la gestion dÕŽlŽments de confort dans la Tour. Un des points importants, pour rendre lÕendroit supportable, est dÕassurer un syst•me de climatisation capable de maintenir une tempŽrature acceptable dans les zones habitables. Le probl•me est loin dÕ•tre simple. Les parois de la Tour sont en Plexiglas rŽsistant ˆ double Žpaisseur pour assurer une bonne isolation thermique (il peut faire tr•s froid, en particulier au niveau des Žtages ŽlevŽs) et phonique (le vent, en altitude, souffle fort, dÕautant plus que la Tour est construite dans une plaine dŽpourvue dÕobstacles naturels). LÕinconvŽnient de ce Plexiglas est quÕil absorbe la lumi•re et a tendance ˆ la convertir en chaleur. Ainsi, du c™tŽ exposŽ au soleil, on observe une importante production de chaleur alors quÕil existe une dissipation du c™tŽ qui nÕest pas exposŽ. Il faut enfin tenir compte de la course des deux soleils dans le ciel (la plan•te-capitale de lÕempire orbite autour dÕune Žtoile double gŽmellaire). Les experts en climatisation dÕambiance du cabinet proposent donc une solution pour assurer la gestion de ZN la tempŽrature dans chaque Žtage de la Tour. ConformŽment au schŽma de la FigureÊ2, on proc•de ˆ une division en cinq zones appelŽes respectivement ZO ZC ZE Centrale (ZC), Nord (ZN), Sud (ZS), Ouest (ZO) et Est (ZE). Ces zones sont indŽpendantes les unes des autres en ce qui concerne la gestion de la climatisation. ZS Chacune dÕelle est pilotŽe par un syst•me de contr™le chargŽ de gŽrer la tempŽrature selon des modalitŽs que nous expliciterons plus tard. Un bus relie les zones dÕun Figure 2: Coupe dÕun Žtage m•me Žtage afin dÕassurer la communication entre les avec les zones de climatisation. processeurs contr™lant la tempŽrature. La Zone Centrale assure Žgalement la liaison entre les opŽrations effectuŽes ˆ lÕŽtage et celles effectuŽes aux Žtages infŽrieurs et supŽrieurs. La gestion des communications entre Žtages est cependant hiŽrarchisŽe (FigureÊ3). Pour cela, la Tour est divisŽe en 143 groupes de sept Žtages2 . Chaque groupe est supervisŽ par un Žtage Ma”tre qui comporte un processeur supplŽmentaire sur lequel sÕexŽcute un syst•me de coordination. Ce dernier est chargŽ de la surveillance des Žtages du groupe (en particulier, la dŽtection des pannes) et des Žchanges avec les groupes voisins. Avec cette nouvelle organisation, le ZN mŽcanisme de communication entre ZO ZC ZE Žtages est modifiŽ. Chaque zone centrale ZS dÕun Žtage est reliŽe via un canal bidirectionnel au syst•me de Etage Maître coordination du groupe dÕŽtages. Les syst•mes de coordination de deux groupes adjacents sont Žgalement reliŽs au moyen dÕun canal de communication dŽdiŽ de la m•me mani•re que les Žtages dans lÕorganisation prŽcŽdente. Figure 3: Organisation dÕun groupe dÕŽtages. 1 2 Arpel, Arpel, Encore Arpel et Toujours Arpel. Cela donne 1001 étages, du RdC jusqu’au 1000ème. Page 5