Vous êtes sur la page 1sur 2

TD3 : Diagramme dtat transition

UML

Elves Ingnieurs 3me anne Prof A.MARZAK


Exercice Tlphone
Dans cet exercice, on souhaite laborer le modle des tats et dinteraction dun appareil tlphonique 1) Dessiner le diagramme de squence correspondant au cas o un utilisateur (lappelant) appelle un autre utilisateur (lappel) On supposera que le cas est normal (lappelant fait un numro valide et lappel nest pas occup et rpond) On supposera que les entits du scnario sont lappelant, lappareil tlphonique de lappelant, la ligne tlphonique, lappareil tlphonique de lappel et enfin lappel On supposera que lappelant raccroche le premier (Cette question permet didentifier les diffrents vnements mis et reus par un appareil tlphonique en provenance ou destination de la ligne tlphonique et de lutilisateur, que lappareil soit appel ou appelant) 2) Complter le scnario prcdent avec le cas o lappel est occup et o lappelant effectue un faux numro 3) Dessiner le diagramme dtats-transitions de lappareil tlphonique Conseil : on pourra avoir le macro-tat raccroch avec les sous-tats silence et sonne , et le macro-tat dcroch avec les sous-tats tonalitBase , rechercheAutre , fauxNumro , autreOccup , autreSonne , autreRaccroch et communication

Exercice Tamaguchi
On souhaite modliser des Tamaguchi avec le modle dinteraction et le modles de tats de UML Un Tamaguchi en tat normal n'a pas faim pendant un certain temps (appel temps d'autonomie) Au bout de ce temps, le Tamaguchi a faim et il pleure Pour lui donner manger, l'utilisateur du Tamaguchi le met table et le Tamaguchi s'arrte de pleurer Un Tamaguchi mange pendant un certain temps (appel temps de restauration) Au bout de ce temps, il se remet pleurer Il pleure jusqu' ce que l'utilisateur le sorte de table Quand il sort de table, le Tamaguchi revient dans ltat normal et ainsi de suite tant que le Tamaguchi ne meurt pas Si le Tamaguchi pleure plus de 5 minutes d'affile, il meurt. On suppose que les vnements mis par le Tamaguchi vers l'utilisateur sont : avoir faim , ne plus avoir faim , mourir et que les vnements mis par l'utilisateur et reus par le Tamaguchi sont tre mis table et sortir de table 1) Dessiner un automate 5 tats modlisant le comportement du Tamaguchi On utilisera les noms pas faim pleure pas , faim pleure , table pleure pas , table pleure et mort pour ces 5 tats On fera figurer les vnements nomms la question prcdente sur les transitions de l'automate Une flche vers le haut (resp bas) ct d'un vnement indiquera que l'vnement est mis (resp reu) par le Tamaguchi Un Tamaguchi est une

agrgation de matriels : 1 horloge, 1 bip, 2 boutons. Dessiner le diagramme d'agrgation du Tamaguchi. 3) Quand l'utilisateur appuie sur le bouton . a table . (resp. . sortie de table .), le Tamaguchi reoit l'vnement correspondant sa mise table (resp. sa sortie de table). L'horloge se prsente sous forme d'une instance de la classe Horloge avec une mthode lancerTempo(int dure). Si le Tamaguchi appelle la mthode lancerTempo(dure) un instant t, il recevra un vnement . tempo coule . l'instant t+dure.Prciser l'automate de la question I-1) en rajoutant les appels la mthode lancerTempo(int t) et les vnements. tempo coule . reus par le Tamaguchi. 4) Le bip se prsente sous forme d'une instance de la classe Bip. Si le Tamaguchi appelle la mthode dclencherPleurs(), le bip commence mettre des pleurs sans interruption. Si le Tamaguchi appelle la mthode arreterPleurs(), le bip s'arrte. Les mthodes lancerTempo(dure), dclencherPleurs() et arreterPleurs() s'excutent instantanment. Au sens donn par UML, sont-elles des activits ou des actions ? 5) Prciser nouveau l'automate en ajoutant les appels aux mthodes dclencherPleurs() et arreterPleurs() sous forme d'actions d'entre ou de sortie.

Exercice Thread
En suivant le formalisme du modle dynamique, dessiner un diagramme dtats-transition correspondant la dynamique dun . thread . dfinie de la manire suivante : le thread est : . non dmarr . au dbut, . en cours . lorsqu.il possde toutes ses ressources applicatives plus le processeur, . en attente . lorsqu.il lui manque une ressource applicative, . prt . lorsqu.il a toutes ses ressources applicatives et pas le processeur, . termin . lorsqu.il a termin son excution. On supposera que les vnements reus par le thread sont : . dbut ., . ressource attendue ., . ressource OK ., . processeur OK ., . fin .. . dbut . correspond au dmarrage du thread (start en java, execlv en Unix, .). avant la rception de . dbut .,le thread est . non dmarr .. . ressource attendue . correspond lappel d.une rservation de ressource lorsque celle-ci n.est pas disponible. . ressource OK . correspond la libration d.une ressource par un autre thread et donc la rservation effective de la ressource par le thread qui lattendait. . processeur OK . correspond la libration du processeur par un autre thread et l.utilisation effective du processeur par le thread qui lattendait. . fin . correspond soit lexcution de la dernire instruction du programme excut par le thread soit lenvoi dun vnement pour tuer dfinitivement le thread. Sur rception de . fin ., le thread devient . termin .On supposera quun thread nenvoie pas dvnement. Il ne fait que les recevoir.