Le nouveau |angage oe mooe||sat|on SysNL, recemment aoopte par |'ONG, est oeo|e |a prob|emat|que oe |a concept|on oe systmes com- p|exes (sate|||tes, av|ons, etc.). Cet ouvrage |ntroouct| -- |e prem|er en rana|s sur |e sujet -- exp|ore |'ensemb|e oes o|agrammes SysNL pour en a|re oecouvr|r |a r|chesse et |es atouts. 1rs |||ustre, |e ||vre propose b|en p|us qu'une s|mp|e enume- rat|on oe concepts : || transmet une oemarche coherente o'ut|||sat|on oe II bjectifs du Iivre L'ingnicric systmc cst unc dmarchc mthodologiquc gnralc qui cnglobc l'cnscmblc dcs activits adquatcs pour conccvoir, fairc volucr ct vrificr un systmc apportant unc solution conomiquc ct pcrformantc aux bcsoins d'un clicnt tout cn satisfaisant l'cnscmblc dcs partics prcnantcs. cpuis longtcmps, lcs ingnicurs systmc ont utilis dcs tcchniqucs dc modlisation. Parmi lcs plus connucs, on trouvc SAT ct SA/RT, qui datcnt dcs anncs 80, ainsi quc dc nombrcuscs approchcs bascs sur lcs rscaux dc Ptri ou lcs machincs a tats finis. Mais ccs tcchniqucs sont limitcs par lcur portc ct lcur cxprcssivit ainsi quc par la difficult dc lcur intgration avcc d'autrcs formalismcs, ainsi qu'avcc lcs cxigcnccs systmc. L'cssor d'UML dans lc domainc du logicicl ct l'cffort industricl dc dvcloppcmcnt d'outils qui l'accompagnc ont naturcllcmcnt conduit a cnvisagcr son utilisation cn ing nicric systmc. Ccpcndant, du fait dc sa conccption fortcmcnt guidc par lcs bcsoins du passagc a la programmation par objcts, lc langagc tait, tout au moins dans scs prcmircs vcrsions, pcu adapt a la modlisation dcs systmcs complcxcs ct donc au support dc l'ingnicric systmc (IS). Avant-propos III La vcrsion 2 d'UML, officialisc cn 2005, a introduit plusicurs nouvcaux conccpts ct dia grammcs utilcs pour l'IS. n particulicr, lc diagrammc dc structurc compositc avcc lcs conccpts dc classc structurc, partic, port ct conncctcur, pcrmct maintcnant dc dcrirc l'intcrconncxion statiquc dcs partics d'un systmc complcxc. Lcs avanccs du diagrammc dc squcncc pcrmcttcnt galcmcnt dc dcrirc dcs scnarios d'intcraction dc faon dcsccn dantc cn ajoutant progrcssivcmcnt dcs nivcaux d'architccturc. Mais il rcstait toujours la barrirc psychologiquc du vocabulairc oricnt informatiquc : classc, objct, hritagc, ctc. La communaut dc l'IS a voulu dfinir un langagc commun dc modlisation pour lcs ingnicurs systmc, adapt a lcur problmatiquc, commc UML l'cst dcvcnu pour lcs informaticicns. Cc nouvcau langagc, nomm SysML, cst fortcmcnt inspir dc la vcrsion 2 d'UML, mais ajoutc la possibilit dc rcprscntcr lcs cxigcnccs du systmc, lcs lmcnts nonlogicicls (mcaniquc, hydrauliquc, captcur.), lcs quations physiqucs, lcs flux continus (matirc, ncrgic, ctc.) ct lcs allocations. La vcrsion 1.0 du nouvcau langagc dc modlisation SysML a t adoptc officicllcmcnt par l'MG lc 19 scptcmbrc 2007 ! Il n'cst donc pas tonnant quc la littraturc sur lc sujct soit balbutiantc ct qu'il n'cxistc pas cncorc dc livrc cn franais sur lc sujct. Mon ambition dans cct ouvragc introductif cst donc dc vous fairc dcouvrir cc nouvcau langagc dc modlisation pour l'ingnicric systmc. Fort dc mon pass dc consultant cn modlisation dans lcs domaincs aronautiquc ct spatial, dc ma pratiquc pdagogiquc cn tant quc formatcur UML ct SysML, ainsi quc dc mon cxpricncc d'autcur sur UML (plus dc 40 000 cxcmplaircs vcndus), j'csprc parvcnir a vous fairc apprcicr la richcssc ct lcs atouts dc SysML. Cc livrc s'adrcssc avant tout aux profcssionncls dc l'ingnicric systmc, c'cst a dirc a tous ccux qui ont cn chargc dcs systmcs complcxcs, incluant du logicicl ct du matricl, quc cc soit dans l'aronautiquc, l'astronautiquc, l'automobilc, l'ncrgic, lc transport, l'armcmcnt, IV ctc. Il cst clair qu'unc connaissancc pralablc du langagc dc modlisation UML cst un atout supplmcntairc pour bicn saisir toutcs lcs subtilits dc SysML, mais ccla n'cst abso lumcnt pas un prrcquis. 5tructure de I'ouvrage Aprs unc brvc introduction sur la problmatiquc dc l'ingnicric systmc, jc dtaillcrai l'historiquc du langagc SysML ct sa filiation avcc UML. Jc prscntcrai cnsuitc lcs prin cipcs du proccssus dc modlisation appliqu dans lc livrc. La partic I dc l'ouvragc conccrnc la modlisation dcs cxigcnccs. Nous vcrrons quc SysML innovc cn proposant un diagrammc pcrmcttant dc dcssincr graphiqucmcnt lcs cxigcnccs systmc ct surtout dc lcs rclicr aux lmcnts structurcls ou dynamiqucs dc la modlisa tion, ainsi qu'a d'autrcs cxigcnccs dc nivcau soussystmc ou quipcmcnt. Nous apprcn drons galcmcnt a mcttrc cn ouvrc la tcchniquc dcs cas d'utilisation, dja prscntc cn UML, au nivcau systmc. Nous vcrrons cnfin unc prcmirc application du diagrammc dc squcncc pour dcrirc lcs intcractions cntrc lcs actcurs ct lc systmc boitc noirc . La partic II conccrnc la modlisation structurcllc. Nous apprcndrons a utiliscr lc conccpt univcrscl dc bloc propos par SysML pour modliscr tout lmcnt structurcl, ainsi quc lcs dcux typcs dc diagrammcs associs. Nous vcrrons tout d'abord commcnt dfinir lcs lmcnts structurcls dc basc dc notrc modlc dans lc diagrammc dc dfinition dc blocs. Nous apprcndrons cnsuitc a dcrirc la dcomposition dcs lmcnts complcxcs avcc lc dia grammc intcrnc dc bloc. Nous vcrrons cnfin commcnt structurcr notrc modlc cn pac- kages, a dcs fins dc travail cn quipc ou dc rutilisation. V La partic III conccrnc la modlisation dynamiquc. Nous vcrrons toutc la puissancc du diagrammc d'tats, pour modliscr lc cyclc dc vic dcs lmcnts a dynamiquc prdomi nantc, ainsi quc ccllc du diagrammc d'activit, qui pcrmct dc modliscr avcc prcision dcs algorithmcs complcxcs. La partic I\ conccrnc la modlisation transvcrsc. SysML pcrmct dc dcrirc dcs quations grcc au nouvcau diagrammc paramtriquc. Nous vcrrons galcmcnt commcnt dcrirc plusicurs typcs dc licns dc traabilit cntrc lmcnts dc modlisation, ct cn particulicr commcnt mcttrc cn ouvrc lc conccpt fondamcntal d'allocation. Unc prcmirc anncxc rcapitulc lcs acronymcs ct lcs dfinitions. Unc sccondc anncxc pr scntc d'autrcs diagrammcs dc l'tudc dc cas raliss avcc dcs outils dc modlisation diffrcnts : Enterprise rchitect, Topcased ct rtisan Studio. kemerciemeots Cct ouvragc n'aurait jamais vu lc jour sans lcs cncouragcmcnts ct lcs rctours motivants dcs lcctcurs dc mcs livrcs sur UML, mais aussi dcs nombrcux stagiaircs dcs cours SysML quc jc donnc dcpuis plus dc dcux ans dja ! Ils m'ont donn l'ncrgic ct l'cnvic dc partagcr unc fois cncorc mcs connaissanccs ct mon cxpricncc a travcrs cc support quc j'apprcic tant. Mcrci a mcs rclcctcurs tcchniqucs pour lcurs judicicuscs rcmarqucs : Tony Cornuaud (ingnicur cn informatiquc, vanglistc SysML chcz Magncti Marclli a Chtcllcrault) , Christophc Surdicux (ancicn dc \altcch, maintcnant chcz Altran, ccrtifi sur lc cours MSY quc j'ai cr a \altcch Training) , VI livicr Cassc (cxpcrt cn langagcs ct outils dc modlisation dc systmcs cmbarqus, ancicn d'ILogix/Tclclogic). Mcrci a la socit NoMagic dc m'avoir fourni unc liccncc dc l'outil Magicraw UML (www.magicdraw.com) avcc son plugin SysML quc jc trouvc cxccllcnt, ct grcc auqucl j'ai ralis la majcurc partic dcs diagrammcs du livrc. Mcrci a mon cmploycur, la socit Artal ct sa nouvcllc filialc dc conscil A2 (Artal Inno vation), dc m'avoir accord lc tcmps nccssairc a la rdaction dc cct ouvragc dans lc cadrc dc mon activit dc R&. Mcrci aussi a ric Sulpicc ct Muricl Shan Sci Fan dcs ditions yrollcs pour lcur tmoi gnagc rcnouvcl dc confiancc ct lcur proposition dc tcstcr un nouvcau format pour cc livrc introductif a SysML. Un grand bravo galcmcnt a l'quipc dcs ditriccs qui a con tribu notablcmcnt a la russitc dc cc projct. nfin, commcnt nc pas tcrmincr par un clin d'oil affcctucux a ccllc qui partagc ma vic dcpuis maintcnant plus dc six ans, ct dont l'ncrgic m'aidc a avanccr. Mcrci a Sylvic, la fcmmc qui m'accompagnc... Pascal Roqucs, fvricr 2009 Consultant scnior A2 (Artal Innovation) pascal.roquesa2arlal.r blog : cousullauls.a2arlal. r/proques VII AVAN1-kOOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II IN1kODUC1ION. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 rob|matique de |'ingnierie systme 2 Les normes d'|S ! |LLL ! 220 . Standard ror Appllcatlon and Management or tbe Systems Lnglneerlng rocess, !999 4 L|A 6!2 . rocesses ror Lnglneerlng a System, !998 |SO ! 288 . Systems englneerlng - System llre cycle processes, 200! 6 ourquol SysML : 8 La modllsatlon 8 SAU1, SA}k1, etc. 9 UML !0 Lacunes d'UML pour l'|S !2 SysML !4 Organisation du |ivre 19 l'tude de cas du |ivre 21 remlre partle la mod|isation des exigences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22 1. ll DIAGkAMMl D'lXIGlNClS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Notation de base 24 Comp|ments 29 1raabi|it 11 1ab|e des matires VIII 2. ll DIAGkAMMl Dl CAS D'U1IlISA1ION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Notation de base 1s Dcrire |es cas d'uti|isation 40 Comp|ments 41 Classlrlcatlon des acteurs 4! kelatlons entre cas d'utlllsatlon 4! 1. ll DIAGkAMMl Dl SlQUlNCl SYS1lMl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Notation de base 49 Diagramme de squence systme s1 Comp|ments s2 |ragments comblns 2 Cadre rrrence 4 Contralntes temporelles 6 Ueuxlme partle la mod|isation d'arcbitecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .s8 4. DIAGkAMMl Dl DlIINI1ION Dl 8lOCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . s9 8|oc et proprit 0 value1ype 6! artie s Composition Agrgation 1 Association 9 Gnra|isation 12 Opration 1s ltude de cas 1 s. ll DIAGkAMMl Dl 8lOC IN1lkNl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 arties et connecteurs 81 artles et rrrences 82 IX Connecteur 84 orts et interfaces 89 1ypes de ports 89 |low ports 90 |tem rlow 92 |low speclrlcatlon 94 |nterrace 9 ort standard 98 ltude de cas 99 . ll DIAGkAMMl Dl ACkAGlS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 ackage 101 Contenance et dpendance 109 Contenance !09 Upendance !!0 Mode|, view et viewpoint 111 ltude de cas 114 1rolslme partle la mod|isation dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1. ll DIAGkAMMl D'l1A1S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 Notation de base 118 Comp|ments 121 Lvnement lnterne ou temporel !2! Ltat composlte !2 Autres notatlons avances !!2 Anlmatlon du dlagramme d'tats !!7 8. ll DIAGkAMMl D'AC1IVI1l . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119 Notation de base 140 Object node, object f|ow 148 X Comp|ments 1s1 Appel d'actlvlt !! Slgnaux et vnements !! kglon lnterruptlble !4 kglon d'expanslon !6 Complments sur les rlots d'objet !7 Oprateur de contrle !9 ltude de cas 10 Quatrlme partle la mod|isation transverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 9. ll DIAGkAMMl AkAMl1kIQUl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1s Notation de base 1 Comp|ments 110 10. AllOCA1ION l1 1kAA8IlI1l. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 le concept d'a||ocation 111 les diffrentes reprsentations 114 Ulagramme de drlnltlon de blocs (bdd) !74 Ulagramme d'actlvlt !76 keprsentatlon tabulalre !78 Ulagramme de bloc lnterne (lbd) !80 Ulagramme de squence !82 A. ACkONYMlS l1 DlIINI1IONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 Acronymes 18s Dfinitions 18 8. DIAGkAMMlS lA, 1OCASlD l1 Ak1ISAN S1UDIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191 1opCased 194 lnterprise Arcbitect (lA) 202 Artisan Studio (encore merci O|ivier Casse !) 209 Introduction ans cc chapitrc introductif, nous dvoilons lcs objcctifs ct l'historiquc du nouvcau langagc dc modlisation SysML. Aprs un tour rapidc dc la problmatiquc dc l'ingnicric systmc ct dcs diffrcntcs normcs cxistantcs sur lc sujct, nous cxpliquons pourquoi l'MG a dcid dc dfinir un nouvcau langagc dc modlisation. Nous prscntons galcmcnt rapidcmcnt lcs diffrcnts diagrammcs SysML qui scront dtaills dans la suitc du livrc. Ihghierie sysIme (IS) modlisaIioh UML SysML 2 ProbImatique de I'iogoierie systme L'ingnicric systmc (IS) cst unc dmarchc mthodologiquc pour maitriscr la conccption dcs systmcs ct produits complcxcs. n pcut aussi la dfinir commc unc approchc intcrdisciplinairc rasscmblant tous lcs cfforts tcchniqucs pour fairc volucr ct vrificr un cnscmblc intgr dc systmcs, dc gcns, dc produits ct dc solutions dc proccssus dc manirc quilibrc au fil du cyclc dc vic pour satisfairc aux bcsoins clicnt . Lcs pratiqucs dc ccttc dmarchc sont aujourd'hui rpcrtorics dans dcs normcs, raliscs a l'aidc dc mthodcs ct supportcs par dcs outils. 8.A .-8A Systme Uh sysIme esI uh ehsemble de composahIs ihIerrelis qui ihIeragissehI les uhs avec les auIres d'uhe mahire orgahise pour accomplir uhe IihaliI commuhe (NASA 1995). Uh sysIme esI uh ehsemble ihIgr d'lmehIs qui accomplissehI uh objecIiI dIihi (INCOSF 2OO4). Figure 1 Les processus, ulhodes el oulils 3 Lcs normcs d'IS dcrivcnt lcs pratiqucs du mticr cn tcrmcs dc proccssus ct d'activits dc manirc invariantc par rapport aux domaincs d'application dc l'ingnicric systmc. Lcs mthodcs d'ingnicric systmc fournisscnt dcs dmarchcs tcchniqucs pour raliscr ccs activits gnralcs. Contraircmcnt aux normcs, cllcs dpcndcnt dcs scctcurs d'application ct rsultcnt dc choix industricls. La misc cn ouvrc dcs proccssus ct dcs mthodcs cst assistc par dcs outils, aujourd'hui trs gnralcmcnt informatiss. Les oormes d'I5 Trois normcs gnralcs d'ingnicric systmc dcrivant lcs proccssus du mticr d'IS sont actucllcmcnt disponiblcs. llcs cn dfinisscnt lcs typcs d'activit a raliscr ct lcs typcs dc rsultat produit. llcs rccouvrcnt dcs champs diffrcnts, dc manirc d'autant plus appro fondic quc lcur champ cst limit, ct ainsi cllcs sc compltcnt. I 1 220 : Standard for pplication and Management of the Systems Engineering Pro- cess IA 632 : Processes for Engineering a System IS 15 288 : Systems engineering System life cycle processes k | F| k| N C | A FIS L'AssociaIioh Irahaise d'ihghierie sysIme (APIS) vise a promouvoir l'ihghierie sysIme par la pr- sehIaIioh eI l'explicaIioh de ses prihcipes eI de soh approche mulIidisciplihaire eh vue de la ralisa- Iioh de sysImes complexes russis. Nous hous sommes beaucoup ihspirs des IexIes eI images pr- sehIs sur soh siIe pour ce sous-chapiIre. www.ais.r 4 I 1 220 : 5taodard for AppIicatioo aod Haoagemeot of the 5ystems ogioeeriog Process, 1999 Issuc du standard militairc MIL ST 4998, ccttc normc dc l'I, dont la vcrsion ini tialc datc dc 1994, sc focalisc sur lcs proccssus tcchniqucs d'ingnicric systmc allant dc l'analysc dcs cxigcnccs jusqu'a la dfinition physiquc du systmc. Figure 2 Les processus selou |EEE 1220 5 Lcs trois proccssus d'analysc dcs cxigcnccs, d'analysc fonctionncllc ct allocation ct dc synthsc, fincmcnt dtaills, comprcnncnt chacun lcur sousproccssus dc vrification ou dc validation. Lc proccssus d'analysc systmc a pour but d'analyscr dans un cadrc pluridisciplinairc lcs problmcs (conflits d'cxigcnccs ou solutions altcrnativcs) issus dcs proccssus principaux afin dc prparcr lcs dcisions. Lc proccssus dc maitrisc dc l'IS (control) conccrnc tout particulircmcnt la gcstion tcch niquc dc l'ingnicric systmc ct la maitrisc dc l'information tant du systmc quc du projct. IA 632 : Processes for ogioeeriog a 5ystem, 1998 Ccttc normc dc l'IA compltc lcs proccssus tcchniqucs dc dfinition du systmc cn cou vrant la ralisation dcs produits jusqu'a lcur misc cn scrvicc (transfcrt vcrs l'utilisation). c plus, cllc incorporc lcs proccssus contractucls d'acquisition ct dc fourniturc. Proccssus tcchniqucs ct proccssus contractucls sont cncadrs : par lcs proccssus dc managcmcnt (sclon lcur formc traditionncllc avcc lcs trois sous proccssus dc planification, valuation, pilotagc) , ct par lcs proccssus d'valuation dcs rsultats dcs activits (proccssus dc vrification s'assurant quc l'activit a t bicn faitc, proccssus dc validation s'assurant quc lc rsul tat rpond au bcsoin, lcs dcux justifiant dc la conformit, ct proccssus d'analysc sys tmc justifiant dcs choix raliss tout au long dc la dfinition ct donc dc l'optimisation du systmc). 6 I5 15 288 : 5ystems eogioeeriog - 5ystem Iife cycIe processes, 2003 Inspirc sur lc plan dc la formc par la normc IS/CI 12 207 AFNR Z67 150 (Typologic dcs proccssus du cyclc dc vic du logicicl), ccttc normc dc l'IS tcnd lcs pro ccssus tcchniqucs a tout lc cyclc dc vic du systmc (cllc couvrc ainsi lcs proccssus d'cxploi tation, dc mainticn cn condition oprationncllc ct dc rctrait dc scrvicc). Figure 3 Les processus selou E|^ 632 7 La normc s'appliquc a l'ingnicric dcs systmcs contributcurs qui ont lcur proprc cyclc dc vic (systmcs dc fabrication, dc dploicmcnt, dc souticn logistiquc, dc rctrait dc scrvicc) : quc l'on songc par cxcmplc a l'ingnicric dcs systmcs dc dmantlcmcnt ct dc traitcmcnt dcs dchcts d'unc installation nuclairc. llc compltc lcs proccssus s'appliquant aux projcts par dcs proccssus, dits d'cntrcprisc, qui ont pour objcctif dc dvcloppcr lc potcnticl dc l'organismc d'IS cn grant lcs domaincs communs au profit dcs projcts d'IS. Figure 4 Les processus selou |S0 1S 288 8 Pourquoi 5ysHL ! La modIisatioo L'ingnicric systmc cst unc dmarchc mthodologiquc gnralc qui cnglobc l'cnscmblc dcs activits adquatcs pour conccvoir, fairc volucr ct vrificr un systmc apportant unc solution conomiquc ct pcrformantc aux bcsoins d'un clicnt tout cn satisfaisant l'cnscmblc dcs partics prcnantcs. La transformation d'un bcsoin mcrgcant cn la dfinition d'un systmc lui apportant unc solution mct cn ouvrc dc multiplcs activits intcllcctucllcs faisant passcr progrcssivcmcnt dc conccpts abstraits a la dfinition rigourcusc dc produits. Il cst nccssairc dc s'appuycr sur dcs rcprscntations tant du problmc quc dc scs solutions possiblcs a diffrcnts nivcaux d'abstraction pour apprhcndcr, conccptualiscr, conccvoir, cstimcr, simulcr, validcr, justificr dcs choix, communiqucr. C'cst lc rlc dc la modlisation ! Lcs mticrs mis cn ouvrc cn IS ont, dc tous tcmps, utilis dcs modlcs allant dc rcprscn tations dcs plus concrtcs, tcllcs quc lcs plans ou modlcs rduits, aux plus abstraitcs, tcllcs quc lcs systmcs d'quations. AI I| N II0 N u'est- ce qu'un bcn mcdIe ? A esI uh boh modle de B si A permeI de rpohdre de Iaoh saIisIaisahIe a des quesIiohs prdIihies sur B (d'aprs 0.T. Ross). Uh boh modle doiI dohc Ire cohsIruiI : au boh hiveau de dIail , seloh le boh poihI de vue. Pehsez a l'ahalogie de la carIe rouIire. Pour circuler dahs Toulouse, la carIe de Prahce seraiI de peu d'uIiliI. Par cohIre, pour aller de Toulouse a Paris, la carIe de la PauIe-Carohhe he suIIiI pas. chaque voyage correspohd la bohhe carIe ! 9 5A0I, 5A/kI, etc. cpuis longtcmps, lcs ingnicurs systmc ont utilis dcs tcchniqucs dc modlisation. Parmi lcs plus connucs, on trouvc SAT ct SA/RT, qui datcnt dcs anncs 80, ainsi quc dc nombrcuscs approchcs bascs sur lcs rscaux dc Ptri ou lcs machincs a tats finis. Ccs tcchniqucs sont limitcs par lcur portc ct lcur cxprcssivit ainsi quc par la difficult dc lcur intgration avcc d'autrcs formalismcs, commc avcc lcs cxigcnccs systmc. SAT ct SA, initialcmcnt utiliscs pour l'informatiquc dc gcstion, nc couvrcnt pas cn standard lcs vucs dynamiqucs. C'cst pour ccla quc la socit \crilog (o j'ai travaill commc consultant dc 1986 a 1995), avait ajout la possibilit dc dcrirc dcs diagrammcs 8.A .-8A SA I SA0T = SIrucIured Ahalysis ahd 0esigh Techhic. SA0T uIilise uh ehchahemehI graphique de boIes lmehIaires pouvahI Ire raIIihes de Iaoh descehdahIe eh d'auIres modles SA0T (boiIes + IloIs). Les modles uIiliss peuvehI Ire des acIi- grammes (les boIes sohI les IohcIiohs eI les IloIs sohI les dohhes) ou des daIagrammes (les boIes sohI les dohhes eI les IloIs sohI les IrahsIormaIiohs). 8.A .-8A SA lk I SA/RT = SIrucIured Ahalysis wiIh Real Time exIehsiohs. L'ahalyse sIrucIure (SA) uIilise le diagramme de IloIs de dohhes (0P0) qui esI uh modle hirarchi- que permeIIahI uhe approche descehdahIe par raIIihemehI. L'exIehsioh Iemps-rel de SA (SA/RT), propose par exemple par Ward eI Mellor, esI base sur l'uIili- saIioh d'uh 0P0 complI par uh diagramme de IloI de cohIrle (CP0) eh poihIills pour ajouIer uhe smahIique d'excuIioh au diagramme. Fh eIIeI, uh 0P0 he permeI pas d'exprimer l'voluIioh Iemporelle de l'excuIioh. 10 d'tats dans lcs fcuillcs dc l'arbrc fonctionncl SAT pour pouvoir fairc dc la simulation (outil ASA). Mais l'implmcntation dc ccs cxtcnsions a SAT ou SA tait toujours proprc a l'ditcur dc l'outil associ, donc non standardis. HL UML sc dfinit commc un langagc dc modlisation graphiquc ct tcxtucl dcstin a com prcndrc ct dcrirc dcs bcsoins, spcificr ct documcntcr dcs systmcs, csquisscr dcs archi tccturcs logicicllcs, conccvoir dcs solutions ct communiqucr dcs points dc vuc. UML unific a la fois lcs notations ct lcs conccpts oricnts objct. Il nc s'agit pas d'unc simplc notation graphiquc, car lcs conccpts transmis par un diagrammc ont unc sman tiquc prcisc ct sont portcurs dc scns au mcmc titrc quc lcs mots d'un langagc. UML 2 s'articulc autour dc trcizc typcs dc diagrammcs, chacun d'cux tant ddi a la rcprscntation dcs conccpts particulicrs d'un systmc logicicl. Ccs typcs dc diagrammcs sont rpartis par l'MG cn dcux grands groupcs : six diagrammcs structurcls : 8.A .-8A 0 MC OMC = ObjecI MahagemehI Croup. L'OMC esI uh groupemehI d'ihdusIriels dohI l'objecIiI esI de sIahdardiser auIour des Iechhologies objeI, aIih de garahIir l'ihIeroprabiliI des dveloppemehIs. L'OMC comprehd acIuellemehI plus de 8OO membres, dohI les prihcipaux acIeurs de l'ihdusIrie ihIormaIique (Suh, IBM, eIc.), mais aussi les plus grahdes ehIreprises uIilisaIrices dahs Ious les secIeurs d'acIiviI. www.oug.org 11 1. diagrammc dc classcs (montrc lcs briqucs dc basc statiqucs : classcs, associations, intcrfaccs, attributs, oprations, gnralisations, ctc.) , 2. diagrammc d'objcts (montrc lcs instanccs dcs lmcnts structurcls ct lcurs licns a l'cxcution) , 3. diagrammc dc packagcs (montrc l'organisation logiquc du modlc ct lcs rclations cntrc packagcs) , 4. diagrammc dc structurc compositc (montrc l'organisation intcrnc d'un lmcnt sta tiquc complcxc) , 5. diagrammc dc composants (montrc dcs structurcs complcxcs, avcc lcurs intcrfaccs fournics ct rcquiscs) , 6. diagrammc dc dploicmcnt (montrc lc dploicmcnt physiquc dcs artifacts sur lcs rcssourccs matricllcs) , scpt diagrammcs comportcmcntaux : 1. diagrammc dc cas d'utilisation (montrc lcs intcractions fonctionncllcs cntrc lcs actcurs ct lc systmc a l'tudc) , 2. diagrammc dc vuc d'cnscmblc dcs intcractions (fusionnc lcs diagrammcs d'activit ct dc squcncc pour combincr dcs fragmcnts d'intcraction avcc dcs dcisions ct dcs flots) , 3. diagrammc dc squcncc (montrc la squcncc vcrticalc chronologiquc dcs mcssagcs passs cntrc objcts au scin d'unc intcraction) , 4. diagrammc dc communication (montrc la communication cntrc objcts dans lc plan au scin d'unc intcraction) , 5. diagrammc dc tcmps (fusionnc lcs diagrammcs d'tats ct dc squcncc pour montrcr l'volution dc l'tat d'un objct au cours du tcmps) , 12 6. diagrammc d'activit (montrc l'cnchaincmcnt dcs actions ct dcisions au scin d'unc activit) , 7. diagrammc d'tats (montrc lcs diffrcnts tats ct transitions possiblcs dcs objcts d'unc classc). Lacuoes d'HL pour I'I5 L'cssor d'UML dans lc domainc du logicicl ct l'cffort industricl dc dvcloppcmcnt d'outils qui l'accompagnc ont naturcllcmcnt conduit a cnvisagcr son utilisation cn ing nicric systmc. Ccpcndant, du fait dc sa conccption fortcmcnt guidc par lcs bcsoins du Figure 5 Les 13 lypes de diagrauues uML 2 13 passagc a la programmation par objcts, lc langagc tait, tout au moins dans scs prcmircs vcrsions, pcu adapt a la modlisation dcs systmcs complcxcs ct donc au support dc l'ingnicric systmc. Lcs nombrcuscs tcntativcs d'utilisation d'UML cn IS ont cn cffct montr quc ccrtaincs faiblcsscs d'UML dcvaicnt ctrc comblcs pour cn fairc un langagc cfficacc pour lcs ing nicurs systmc. n pcut citcr : lc bcsoin dc dcrirc lcs cxigcnccs dircctcmcnt dans lc modlc, ct d'cn assurcr la traa bilit vcrs l'architccturc , lc bcsoin dc rcprscntcr dcs lmcnts nonlogicicls ct d'cn spcificr lc typc (mcani quc, circuit, hydrauliquc, cblagc, captcur, ctc.) , lc bcsoin dc rcprscntcr dcs quations physiqucs, dcs contraintcs , lc bcsoin dc rcprscntcr dcs flux continus (matirc, ncrgic, ctc.) , lc bcsoin dc rcprscntcr dcs allocations logiquc/physiquc, structurc/dynamiquc, ctc. Quclqucs tcntativcs dc profils UML ont vu lc jour ccs dcrnircs anncs, commc SC ct MART. k | F| k| N C | MA k I | MARTF = Modelihg ahd Ahalysis oI Real Time ahd Fmbedded sysIems. MARTF esI le proIil UML 2 pour la modlisaIioh eI l'ahalyse des sysImes Iemps rel embarqus. Il succde a UML ProIile Ior SchedulabiliIy, PerIormahce ahd Time. MARTF esI cohu de mahire a per- meIIre l'uIilisaIioh de Iechhiques d'ahalyse quahIiIaIive varies. Uh des apporIs prihcipaux de MARTF cohsisIe eh la dIihiIioh de mcahismes dcrivahI le Iemps Iels que les vhemehIs Iempo- rels eI les horloges. Il supporIe aihsi Irois modles Iemporels diIIrehIs : le Iemps rel (chrohomIri- que), le Iemps logique, eI le Iemps logique syhchrohe. MARTF propose aussi uh modle de descrip- Iioh des plaIeIormes d'excuIioh, lmehI essehIiel des sysImes Iemps rels embarqus. www.ouguarle.org 14 5ysHL Lc mondc du logicicl a fini par sc mcttrc d'accord a la fin dcs anncs 90 sur un forma lismc dc modlisation unifi : UML.Par contrc, dc lcur ct, lcs ingnicurs systmc n'ont pas russi a fairc mcrgcr un langagc dc modlisation uniformis, malgr lcs tcntativcs dc standardisation dcs proccssus d'ingnicric systmc voqucs prcdcmmcnt. n 2003, l'INCS a dcid dc fairc d'UML cc langagc commun pour l'IS. UML con tcnait cn cffct dja a l'poquc nombrc dc diagrammcs indispcnsablcs, commc lcs dia grammcs dc squcncc, d'tats, dc cas d'utilisation, ctc. Lc travail sur la nouvcllc vcrsion UML 2, cntam a l'MG a pcu prs a la mcmc priodc, a abouti a la dfinition d'un lan gagc dc modlisation trs prochc du bcsoin dcs ingnicurs systmc, avcc lcs amliorations notablcs aux diagrammcs d'activit ct dc squcncc, ainsi quc la misc au point du dia grammc dc structurc compositc. k | F| k| N C | System cn a C hip (ScC ) UML ProIile Ior SoC SpeciIicaIioh, OMC, versioh 1.O.1, Iormal/O6-O8-O1, augusI 2OO6. 8.A .-8A IN C 0 S| L'IhIerhaIiohal Couhcil oh SysIems Fhgiheerihg (INCOSF) esI uh orgahisme sahs buI lucraIiI, Iohd eh 199O. Sa missioh esI de Iaire progresser l'IaI de l'arI eI la praIique de l'Ihghierie SysIme dahs l'ihdusIrie, les uhiversiIs eI les orgahismes gouverhemehIaux, par la promoIioh d'approches volu- Iives eI ihIerdisciplihaires visahI a produire des soluIiohs Iechhologiques appropries qui rpohdehI aux besoihs de la sociI. www.iucose.org 15 Ccpcndant, il rcstait unc barrirc psychologiquc importantc a l'adoption d'UML par la communaut dc l'IS : sa tcinturc logicicllc indlbilc ! La possibilit d'cxtcnsion d'UML, grcc au conccpt dc strotypc, a pcrmis d'adaptcr lc vocabulairc pour lcs ing nicurs systmc. n liminant lcs mots objct ct classc au profit du tcrmc plus ncutrc bloc , brcf cn gommant lcs aspccts lcs plus informatiqucs d'UML, ct cn rcnommant cc langagc dc modlisation, l'MG vcut promouvoir SysML commc un nouvcau langagc diffrcnt d'UML, tout cn profitant dc sa filiation dircctc. L'MG a annonc l'adoption dc SysML cn juillct 2006 ct la disponibilit dc la prcmirc vcrsion officicllc(SysML v. 1.0) cn scptcmbrc 2007. Trs rccmmcnt, unc nouvcllc spci fication SysML v. 1.1 a t rcnduc publiquc (dccmbrc 2008). Lc groupc dc travail pour la rvision 1.2 cst dja cn action. Figure 6 SysML eu laul que proil uML 2 16 SysML s'articulc autour dc ncuf typcs dc diagrammcs, chacun d'cux tant ddi a la rcprscntation dcs conccpts particulicrs d'un systmc. Ccs typcs dc diagrammcs sont rpartis par l'MG cn trois grands groupcs : quatrc diagrammcs comportcmcntaux : 1. diagrammc d'activit (montrc l'cnchaincmcnt dcs actions ct dcisions au scin d'unc activit complcxc) , 2. diagrammc dc squcncc (montrc la squcncc vcrticalc dcs mcssagcs passs cntrc blocs au scin d'unc intcraction) , 3. diagrammc d'tats (montrc lcs diffrcnts tats ct transitions possiblcs dcs blocs dynamiqucs) , 4. diagrammc dc cas d'utilisation (montrc lcs intcractions fonctionncllcs cntrc lcs actcurs ct lc systmc a l'tudc) , 8.A .-8A FrcfiI uML Uh proIil UML permeI d'adapIer UML a uh domaihe parIiculier ou a uhe problmaIique spciIique. Les proIils meIIehI eh jeu le cohcepI cehIral de sIroIype. Uh sIroIype esI uhe sorIe d'IiqueIIe homme que l'oh peuI coller sur IouI lmehI d'uh modle UML. Par exemple, coller uh sIroIype cohIihuous sur uh IloI dahs uh diagramme d'acIiviI sighiIie que le IloI eh quesIioh h'esI plus uh IloI UML sIahdard, c'esI-a-dire discreI, mais qu'il esI cohIihu. SysML ajouIe aihsi uh cerIaih hombre de cohcepIs a UML 2 eh dIihissahI uh ehsemble de sIroIypes. Mais il simpliIie galemehI le lah- gage de modlisaIioh eh laissahI de cI cerIaihs cohcepIs UML, jugs hoh ihdispehsables. k | F| k| N C | Site SysML TouIes les ihIormaIiohs oIIicielles sur le lahgage SysML se IrouvehI sur uh siIe web uhique : www.ougsysul.org 17 un diagrammc transvcrsc : lc diagrammc d'cxigcnccs (montrc lcs cxigcnccs du systmc ct lcurs rclations) , quatrc diagrammcs structurcls : 1. diagrammc dc dfinition dc blocs (montrc lcs briqucs dc basc statiqucs : blocs, compositions, associations, attributs, oprations, gnralisations, ctc.) , 2. diagrammc dc bloc intcrnc (montrc l'organisation intcrnc d'un lmcnt statiquc complcxc) , 3. diagrammc paramtriquc (rcprscntc lcs contraintcs du systmc, lcs quations qui lc rgisscnt) , 4. diagrammc dc packagcs (montrc l'organisation logiquc du modlc ct lcs rclations cntrc packagcs). La structurc du systmc cst rcprscntc par lcs diagrammcs dc blocs. Lc diagrammc dc dfinition dc blocs (block definition diagram) dcrit la hirarchic du systmc ct lcs classifi cations systmc/composant. Lc diagrammc dc bloc intcrnc (internal block diagram) dcrit AI I| N II0 N iffrences uML 2lSysML Les diagrammes UML 2 qui h'ohI pas I reIehus par SysML, prihcipalemehI par souci de simpliIica- Iioh, sohI : le diagramme d'objeIs , le diagramme de composahIs , le diagramme de dploiemehI , le diagramme de vue d'ehsemble des ihIeracIiohs , le diagramme de commuhicaIioh , le diagramme de Iemps. RcapiIulohs : 1J diagrammes (UML 2) - 6 + 2 (exigehces, paramIrique) = 9 diagrammes SysML ! 18 la structurc intcrnc du systmc cn tcrmcs dc partics, ports ct conncctcurs. Lc diagrammc dc packagcs cst utilis pour organiscr lc modlc. Lcs diagrammcs comportcmcntaux inclucnt lc diagrammc dc cas d'utilisation, lc dia grammc d'activit, lc diagrammc dc squcncc ct lc diagrammc dc machincs a tats. Lc diagrammc dc cas d'utilisation fournit unc dcscription dc haut nivcau dcs fonctionnalits du systmc. Lc diagrammc d'activit rcprscntc lcs flots dc donncs ct dc contrlc cntrc lcs actions. Lc diagrammc dc squcncc rcprscntc lcs intcractions cntrc lcs partics du sys tmc qui collaborcnt. Lc diagrammc dc machincs a tats dcrit lcs transitions cntrc tats ct lcs actions quc lc systmc ou scs partics raliscnt cn rponsc aux vncmcnts. Lc diagrammc d'cxigcnccs capturc lcs hirarchics d'cxigcnccs, ainsi quc lcurs rclation dc drivation, dc satisfaction, dc vrification ct dc raffincmcnt. Ccs rclations fournisscnt la capacit dc rclicr lcs cxigcnccs lcs uncs aux autrcs, ainsi qu'aux lmcnts dc conccption ct aux cas dc tcsts. Figure 7 Les 9 lypes de diagrauues SysML 19 Lc diagrammc paramtriquc pcrmct dc rcprscntcr dcs contraintcs sur lcs valcurs dc para mtrcs systmc tcls quc pcrformancc, fiabilit, massc, ctc. Il s'agit d'unc spcialisation du diagrammc dc bloc intcrnc o lcs sculs blocs utilisablcs sont dcs contraintcs cntrc param trcs pcrmcttant dc rcprscntcr graphiqucmcnt dcs quations ct rclations mathmatiqucs. Cc nouvcau diagrammc fournit ainsi un support pour lcs tudcs d'analysc systmc. SysML inclut galcmcnt unc rclation d'allocation pour rcprscntcr diffrcnts typcs d'allocation, commc ccllcs dc fonctions a dcs composants, dc composants logiqucs a com posants physiqucs, ainsi quc dc softwarc a hardwarc. rgaoisatioo du Iivre Aprs cc prcmicr chapitrc introductif, qui nous a pcrmis dc poscr lcs bascs du langagc SysML, nous allons dtaillcr un par un, dans la suitc dc cc livrc, lcs diffrcnts typcs dc dia grammcs pcrmcttant dc rcprscntcr un systmc suivant tous lcs points dc vuc souhaits. Ccpcndant, a dcs fins pdagogiqucs, nous allons tudicr lcs diffrcnts typcs dc dia grammc dans un ordrc particulicr, corrcspondant a unc utilisation naturcllc du langagc SysML pour modliscr un systmc, cn partant dcs cxigcnccs, cn cxplicitant cnsuitc lcs aspccts structurcls, puis comportcmcntaux ct cnfin transvcrscs. Il cst clair quc dans la ra lit, la dmarchc dc modlisation nc saurait ctrc si linairc, commc l'imposc ccttc prscn tation critc, mais comprcndrait plutt dcs allcrsrctours cntrc lcs vucs structurcllcs ct dynamiqucs, ainsi qu'unc utilisation itrativc dcs mcmcs typcs dc diagrammcs cn allant du gnral au particulicr. Nous avons donc choisi dc prscntcr dans l'ordrc : lc diagrammc d'cxigcnccs , 20 lc diagrammc dc cas d'utilisation , lc diagrammc dc squcncc , lc diagrammc dc dfinition dc blocs , lc diagrammc dc bloc intcrnc , lc diagrammc dc packagcs , lc diagrammc d'tats , lc diagrammc d'activit , ct lc diagrammc paramtriquc. La figurc suivantc rcplacc chacun dcs chapitrcs suivants dans lc cadrc dc la prscntation dcs diffrcnts typcs dc diagrammcs. Il cst a notcr quc lc chapitrc 10 traitcra dc l'important con ccpt transvcrsc d'allocation, bicn quc nc donnant pas licu a un diagrammc a part cntirc. Figure 8 Les chapilres du livre d'apres les diagrauues SysML 21 Cc schma gnral nous scrvira ainsi d'introduction pour chaquc chapitrc du livrc, afin dc bicn lc rcplaccr dans la vision d'cnscmblc du langagc dc modlisation SysML. L'tude de cas du Iivre La difficult cn ingnicric systmc cst dc trouvcr unc tudc dc cas suffisammcnt rcpr scntativc, mais pas trop complcxc, ni trop lic a un domainc tcchniquc particulicr. ans lc cadrc dc cc livrc, j'ai rutilis un cxcmplc qui m'a scrvi dc nombrcuscs fois lors dcs scssions dc formation SysML quc j'ai raliscs dcpuis plus dc dcux ans. Il s'agit d'un radiorvcil a projcctcur, systmc facilc a comprcndrc par tout un chacun, mais dont la simplicit apparcntc cst trompcusc. Jc vous cngagc par cxcmplc a consultcr lc diagrammc d'tats du chapitrc 7 pour vous cn convaincrc ! Figure 9 Le radiorveil de l'lude de cas PRFMIERF PARTIF la mod|isation des exigences La partic I dc l'ouvragc conccrnc la modlisation dcs cxigcnccs. Nous vcrrons quc SysML innovc cn proposant un diagrammc d'cxigcnccs pcrmcttant dc dcssincr graphiqucmcnt lcs cxigcnccs systmc ct surtout dc lcs rclicr cnsuitc aux lmcnts structurcls ou dynamiqucs dc la modlisation, ainsi qu'a dcs cxigcnccs dc nivcau soussystmc ou quipcmcnt. Nous apprcndrons galcmcnt a mcttrc cn ouvrc la tcchniquc dcs cas d'utilisation, dja prscntc cn UML, au nivcau systmc. Nous vcrrons cnfin unc prcmirc application du diagrammc dc squcncc au nivcau systmc boitc noirc . 1 le diagramme d'exigences Cc chapitrc prscntc lc diagrammc d'cxigcnccs. Cc diagrammc capturc lcs hirarchics d'cxigcnccs, ainsi quc lcurs rclations dc drivation, dc raffincmcnt, dc satisfaction ct dc vrification. Ccs rclations fournisscnt la capacit dc rclicr lcs cxigcnccs lcs uncs aux autrcs, ainsi qu'aux lmcnts dc conccption ct aux cas dc tcsts. exigehce IraabiliI cas de IesI 24 Notatioo de base Lc diagrammc d'cxigcnccs pcrmct dc rcprscntcr graphiqucmcnt lcs cxigcnccs dans lc modlc. 8.A .-8A | xigence Uhe exigehce permeI de spciIier uhe capaciI ou uhe cohIraihIe qui doiI Ire saIisIaiIe par uh sys- Ime. Flle peuI spciIier uhe IohcIioh que le sysIme devra raliser ou uhe cohdiIioh de perIor- mahce, de IiabiliI, de scuriI, eIc. Les exigehces servehI a Iablir uh cohIraI ehIre le cliehI eI les ralisaIeurs du IuIur sysIme. 25 Lcs dcux proprits dc basc d'unc cxigcncc sont : un idcntifiant uniquc (pcrmcttant cnsuitc dc grcr la traabilit avcc l'architccturc, ctc.) , un tcxtc dcscriptif. ans l'cxcmplc du radiorvcil, la prcmirc cxigcncc fondamcntalc conccrnc la capacit a assurcr a l'utilisatcur un rvcil automatiquc a l'hcurc souhaitc avcc la radio ou un buzzcr. n pcut galcmcnt listcr dcs cxigcnccs sur lc rglagc dc la radio, dc l'horlogc ct dc l'alarmc, ainsi quc sur la nccssit d'un mcanismc dc sauvcgardc. Unc prcmirc bauchc dc diagrammc d'cxigcnccs cst donnc par la figurc suivantc. Figure 1-1 Preuiere exigeuce du radiorveil 8.A .-8A C artcuche de diagramme Uh carIouche posiIiohh eh hauI a gauche du diagramme dahs uh pehIagohe permeI de spciIier le Iype de diagramme SysML, le Iype de l'lmehI cohcerh, l'lmehI cohcerh, eI le hom du dia- gramme. 0ahs l'exemple suivahI, il s'agiI d'uh diagramme d'exigehces (req) homm 0iagramme ihiIial d'exigehces , cohcerhahI l'lmehI RadioRveil de Iype Modle. Le carIouche ghral du diagramme d'exigehces esI de la Iorme : |package ou ex1gehce] hom de 1`1mehf |hom du d1agamme] 26 Il cst courant dc dfinir d'autrcs proprits pour lcs cxigcnccs, par cxcmplc : priorit (par cxcmplc : hautc, moycnnc, bassc) , sourcc (par cxcmplc : clicnt, markcting, tcchniquc, lgislation, ctc.) , risquc (par cxcmplc : haut, moycn, bas) , statut (par cxcmplc : proposc, validc, implmcntc, tcstc, livrc, ctc.) , mthodc dc vrification (par cxcmplc : analysc, dmonstration, tcst, ctc.). Nous pouvons cnrichir lc diagrammc d'cxigcnccs prcdcnt cn ajoutant unc cxigcncc sur la capacit dc projctcr l'hcurc courantc au plafond. Cc nouvcau equ1emehf aura commc statut : proposc, au licu dc validc pour lcs autrcs. Figure 1-2 0iagrauue iuilial d'exigeuces du radiorveil 27 Lcs cxigcnccs pcuvcnt ctrc rclics cntrc cllcs par dcs rclations dc contcnancc, dc raffinc mcnt ou dc drivation : la contcnancc (lignc tcrminc par un ccrclc contcnant unc croix du ct du contcncur) pcrmct dc dcomposcr unc cxigcncc compositc cn plusicurs cxigcnccs unitaircs, plus facilcs cnsuitc a traccr visavis dc l'architccturc ou dcs tcsts , Figure 1-3 Exigeuces du radiorveil avec allribuls 28 lc raffincmcnt ( ef1he ) consistc cn l'ajout dc prcisions, par cxcmplc dc donncs quantitativcs , la drivation ( de1vePeqf ) consistc a rclicr dcs cxigcnccs dc nivcaux diffrcnts, par cxcmplc dcs cxigcnccs systmc a dcs cxigcnccs dc nivcau soussystmc, ctc. llc impliquc gnralcmcnt dcs choix d'architccturc. Figure 1-4 Exeuple de relalious eulre les exigeuces du radiorveil 29 ans notrc cxcmplc, l'cxigcncc sur la gcstion dc la radio cst cxprimc par unc phrasc con tcnant unc conjonction dc coordination ct . Ccci cst souvcnt lc symptmc d'unc cxi gcncc compositc dcvant ctrc dcomposc cn cxigcnccs unitaircs, cc quc nous avons fait avcc lcs dcux cxigcnccs sur lc rglagc dc la station ct lc rglagc du volumc. L'cxigcncc sur lc rglagc dc la station pcut ctrc raffinc cn prcisant lcs valcurs dcs gammcs dc frqucncc dcvant ctrc supportcs. nfin, on pcut considrcr quc la gcstion dc l'hcurc cst unc cxigcncc qui drivc dc l'cxi gcncc gnralc cn cc scns qu'cllc impliquc un nivcau d'architccturc supplmcntairc, a savoir la notion d'horlogc. CompImeots SysML pcrmct d'utiliscr dcs notcs graphiqucs sur tous lcs typcs dc diagrammcs (formc dc postit). cux motscls particulicrs ont t dfinis afin dc rcprscntcr : dcs problmcs a rsoudrc ( pob1em ) , dcs justificatifs ( af1oha1e ). Nous cn vcrrons l'illustration sur la prochainc figurc. Il cst galcmcnt possiblc dc fairc la distinction cntrc diffrcnts typcs d'cxigcnccs, au licu d'utiliscr un uniquc typc banalis : fonctionncllc , pcrformancc , fiabilit , scurit , 30 volumtric , physiquc , intcrfacc , ctc. Lcs cxigcnccs non fonctionncllcs (pcrformancc, fiabilit, ctc.) apportcnt souvcnt dc la prcision aux cxigcnccs fonctionncllcs, commc illustr sur la figurc suivantc, o nous avons rcprscnt unc cxigcncc d'intcrfacc ct unc cxigcncc physiquc raffinant unc cxigcncc fonctionncllc dc basc. Figure 1-5 Exeuples de lypes d'exigeuce du radiorveil 31 IraabiIit La gcstion dcs cxigcnccs cst l'cnscmblc dcs activits pcrmcttant dc dfinir ct dc suivrc lcs cxigcnccs d'un systmc au cours d'un projct. llc pcrmct : dc s'assurcr dc la cohrcncc cntrc cc quc fait rcllcmcnt lc projct ct cc qu'il doit fairc , dc facilitcr l'analysc d'impact cn cas dc changcmcnt. Lc diagrammc d'cxigcnccs pcrmct ainsi tout au long d'un projct dc rclicr lcs cxigcnccs avcc d'autrcs typcs d'lmcnt SysML par plusicurs rclations : cxigcncc lmcnt comportcmcntal (cas d'utilisation, diagrammc d'tats, ctc.) : ef1he , cxigcncc bloc d'architccturc : saf1sfy , cxigcncc cas dc tcst : ve1fy . ans notrc cxcmplc, j'ai cr un cas d'utilisation couter la radio (voir lc chapitrc 2 sur lcs cas d'utilisation), un bloc d'architccturc Radio (voir lc chapitrc 4) ainsi qu'un cas dc tcst Test radio. J'ai cnsuitc rcli ccs nouvcaux lmcnts a l'cxigcncc dc Gestion radio par lcs rclations dc traabilit adquatcs. Unc autrc rcprscntation graphiquc proposc par SysML consistc a fairc apparaitrc lcs rclations dc traabilit par unc notc attachc a l'cxigcncc, ou cncorc par dcs attributs ou 8.A .-8A C as de test Uh cas de IesI reprsehIe uhe mIhode de vriIicaIioh de la saIisIacIioh d'uhe exigehce. Il esI repr- sehI eh SysML par uh recIahgle avec le moI-cl Tesf Case . 32 dcs compartimcnts supplmcntaircs. Lcs dcux figurcs qui suivcnt montrcnt ccs diff rcntcs solutions. Unc possibilit supplmcntairc dc rcprscntation consistc a utiliscr unc formc tabulairc. C'cst a la chargc dc l'outil dc modlisation dc proposcr ccttc formc graphiquc, cn gnral Figure 1-6 ^ulres relalious avec les exigeuces du radiorveil Figure 1-7 ^joul de la lraabilil a l'iulrieur d'uue exigeuce 33 calculc dc faon automatiquc a partir dcs rclations dclarcs dans dcs diagrammcs ou dans lcs fichcs dc proprit dcs lmcnts. Un cxcmplc, ralis par Magicraw, cst donn sur la figurc suivantc. Figure 1-8 ^joul de la lraabilil d'uue exigeuce au uoyeu d'uue uole Figure 1-9 Exeuple de reprseulaliou labulaire de la relaliou salisy 2 le diagramme de cas d'uti|isation Cc chapitrc prscntc lc diagrammc dc cas d'utilisation, qui fournit unc dcscription dc haut nivcau dcs fonctionnalits du systmc. cas d'uIilisaIioh acIeur ihclusioh, exIehsioh ghralisaIioh 35 Notatioo de base Il cst souhaitablc dc rcprscntcr lcs scrviccs attcndus du systmc a l'tudc par un modlc dc cas d'utilisation. Cc modlc conticnt un ou plusicurs diagrammcs dc cas d'utilisation, montrant lcs intcractions fonctionncllcs cntrc lcs actcurs ct lc systmc a l'tudc. 8.A. -8A A cteur Rle jou par uh uIilisaIeur humaih ou uh auIre sysIme qui ihIeragiI direcIemehI avec le sysIme Iudi. Uh acIeur parIicipe a au moihs uh cas d'uIilisaIioh. 36 Lc diagrammc dc cas d'utilisation cst un schma qui montrc lcs cas d'utilisation (ovalcs) rclis par dcs associations (ligncs) a lcurs actcurs (icnc du stick man, ou rcprscntation graphiquc quivalcntc). Chaquc association signific simplcmcnt participc a . Pour notrc tudc dc cas, unc prcmirc vcrsion du diagrammc dc cas d'utilisation consistc a considrcr un scul actcur (l'utilisatcur) conncct a un uniquc cas d'utilisation (ctrc rvcill a l'hcurc cn musiquc). nsuitc, on pcut sc dirc quc l'utilisatcur, alors qu'il cst rvcill, cst susccptiblc d'utiliscr lc radiorvcil cn tant quc simplc radio ou horlogc. Chaquc cas d'utilisation doit bicn rcpr scntcr un scrvicc autonomc rcndu par lc systmc ct fournissant un rsultat obscrvablc ct intrcssant pour l'actcur conccrn. Si l'on dcssinc un rcctanglc cnglobant autour dcs cas d'utilisation pour matrialiscr lc radiorvcil, on obticnt la figurc suivantc. 8.A .-8A C as d'utiIisaticn Uh cas d'uIilisaIioh (use case, ou UC) reprsehIe uh ehsemble de squehces d'acIiohs qui sohI rali- ses par le sysIme eI qui produisehI uh rsulIaI observable ihIressahI pour uh acIeur parIiculier. Chaque cas d'uIilisaIioh spciIie uh comporIemehI aIIehdu du sysIme cohsidr comme uh IouI, sahs imposer le mode de ralisaIioh de ce comporIemehI. Il permeI de dcrire ce que le IuIur sys- Ime devra Iaire, sahs spciIier commehI il le Iera. Uh cas d'uIilisaIioh doiI Ire reli a au moihs uh acIeur. Figure 2-1 ^cleur el cas d'ulilisaliou 37 Figure 2-2 ^cleur el cas d'ulilisaliou (suile) AI I| N II0 N C as d'utiIisaticn Uhe erreur IrquehIe cohcerhahI les cas d'uIilisaIioh cohsisIe a vouloir descehdre Irop bas eh Iermes de grahulariI. Uh cas d'uIilisaIioh reprsehIe uh ehsemble de squehces d'acIiohs ralises par le sysIme, eI le lieh ehIre ces squehces d'acIiohs esI prcismehI l'objecIiI mIier de l'acIeur. Le cas d'uIilisaIioh he doiI dohc pas se rduire sysImaIiquemehI a uhe seule squehce, eI ehcore moihs a uhe simple acIioh. LimiIez a 2O le hombre de vos cas d'uIilisaIioh de base (eh dehors des cas ihclus, spcialiss, ou des exIehsiohs). Avec ceIIe limiIe arbiIraire, oh resIe syhIhIique eI oh he Iombe pas dahs le pige de la grahulariI Irop Iihe des cas d'uIilisaIioh. 38 Lcs actcurs candidats sont systmatiqucmcnt : lcs utilisatcurs humains dirccts : faitcs donc cn sortc d'idcntificr tous lcs profils possi blcs, sans oublicr l'administratcur, l'opratcur dc maintcnancc, ctc. , lcs autrcs systmcs conncxcs qui intcragisscnt aussi dircctcmcnt avcc lc systmc tudi, souvcnt par lc biais dc protocolcs bidircctionncls. La rccommandation communc consistc a fairc prvaloir l'utilisation dc la formc gra phiquc du stick man pour lcs actcurs humains ct unc rcprscntation rcctangulairc pour lcs systmcs connccts. Nous appclons actcur principal cclui pour qui lc cas d'utilisation produit un rsultat obscrvablc. Par opposition, nous qualifions d'actcurs sccondaircs lcs autrcs participants du cas d'utilisation. Lcs actcurs sccondaircs sont souvcnt sollicits pour dcs informations complmcntaircs , ils pcuvcnt uniqucmcnt consultcr ou informcr lc systmc lors dc l'cx cution du cas d'utilisation. Unc bonnc pratiquc consistc a fairc figurcr lcs actcurs principaux a gauchc dcs cas d'utili sation, ct lcs actcurs sccondaircs a droitc. Si nous ajoutons lcs stations radio cn tant qu'actcurs sccondaircs pour lcs cas d'utilisation du radiorvcil lis a la radio, nous obtc nons la figurc suivantc. AI I| N II0 N A cteurs Ne cohIohdez pas rle eI ehIiI cohcrIe. Uhe mme ehIiI cohcrIe peuI jouer successivemehI diI- IrehIs rles par rapporI au sysIme Iudi, eI Ire modlise par plusieurs acIeurs. Rciproque- mehI, le mme rle peuI Ire Iehu simulIahmehI par plusieurs ehIiIs cohcrIes, qui serohI alors modlises par le mme acIeur. 39 Figure 2-3 ^cleurs priucipal huuaiu el secoudaire uouhuuaiu 8.A .-8A C artcuche Le carIouche ghral du diagramme de cas d'uIilisaIioh esI de la Iorme : |package ou b1oc] hom de 1`1mehf |hom du d1agamme] 40 0crire Ies cas d'utiIisatioo Chaquc cas d'utilisation doit ctrc dcrit tcxtucllcmcnt (a l'aidc d'un plantypc). n pcut galcmcnt associcr a chaquc cas d'utilisation un ou plusicurs diagrammcs dc squcncc commc cxpliqu dans lc chapitrc qui suit. La fichc dc dcscription tcxtucllc d'un cas d'utilisation n'cst pas normalisc par SysML.Nous prconisons pour notrc part la structuration suivantc : sommairc d'idcntification (obligatoirc) : inclut titrc, rsum, datcs dc cration ct dc modification, vcrsion, rcsponsablc, actcurs, ctc. , dcscription dcs scnarios (obligatoirc) : dcrit lc scnario nominal, lcs scnarios (ou cnchaincmcnts) altcrnatifs, lcs scnarios (ou cnchaincmcnts) d'chcc, mais aussi lcs prconditions (l'tat du systmc pour quc lc cas d'utilisation puissc dmarrcr) ct lcs postconditions (cc qui a chang dans l'tat du systmc a la fin du cas d'utilisation) , cxigcnccs non fonctionncllcs (optionncl) : ajoutc, si c'cst pcrtincnt, lcs informations suivantcs : frqucncc, volumtric, disponibilit, fiabilit, intgrit, confidcntialit, pcr formanccs, concurrcncc, ctc. Prcisc galcmcnt lcs contraintcs d'intcrfacc hommc machinc commc dcs rglcs d'crgonomic, unc chartc graphiquc, ctc. 8.A .-8A Scnaric Uh schario reprsehIe uhe successioh parIiculire d'ehchahemehIs, s'excuIahI du dbuI a la Iih du cas d'uIilisaIioh, uh ehchahemehI IahI l'uhiI de descripIioh de squehces d'acIiohs.Uh cas d'uIilisaIioh cohIiehI eh ghral uh schario homihal eI plusieurs scharios alIerhaIiIs (qui se Iermi- hehI de Iaoh hormale) ou d'erreur (qui se IermihehI eh chec). Oh peuI d'ailleurs proposer uhe dIihiIioh diIIrehIe pour uh cas d'uIilisaIioh : ehsemble de sc- harios d'uIilisaIioh d'uh sysIme relis par uh buI commuh du poihI de vue de l'acIeur prihcipal . 41 CompImeots CIassificatioo des acteurs n pourrait imagincr distingucr lcs cas d'utilisation du radiorvcil sclon quc l'utilisatcur cst cndormi ou dja rvcill. n cffct, c'cst l'utilisatcur cndormi qui souhaitc ctrc rvcill a l'hcurc, alors quc c'cst l'utilisatcur vcill qui va coutcr la radio ou rcgardcr l'hcurc. Unc vcrsion altcrnativc du diagrammc dc cas d'utilisation cst donnc sur la figurc suivantc. Figure 2-4 Preuiere variaule du diagrauue de cas d'ulilisaliou 42 Mais on pcut mcmc allcr un pcu plus loin : grcc au dispositif dc projcction au plafond, l'utilisatcur (a moiti) cndormi pcut lui aussi avoir l'hcurc ! n pourrait ainsi considrcr quc tout utilisatcur pcut avoir l'hcurc, qu'il soit cndormi ou rvcill, mais quc scul l'utilisatcur cndormi vcut sc fairc rvcillcr ct quc scul l'utilisatcur vcill pcut choisir d'coutcr la radio. Pour vitcr d'avoir dcux actcurs principaux (utilisatcur cndormi ct utilisatcur vcill) con nccts au mcmc cas d'utilisation, SysML pcrmct dc crcr un actcur gnralis Utilisateur qui factorisc lcs comportcmcnts communs aux dcux actcurs. n dit alors quc lcs actcurs utilisateurendormictutilisateure.eillesont dcs spcialisations dc l'actcurUtilisateur. Ils pcu vcnt chacun possdcr lcurs proprcs cas d'utilisation spcifiqucs. Figure 2-5 variaule du diagrauue avec guralisaliou d'acleurs 43 keIatioos eotre cas d'utiIisatioo Pour affincr lc diagrammc dc cas d'utilisation, SysML dfinit trois typcs dc rclations standardiscs cntrc cas d'utilisation : unc rclation d'inclusion, formalisc par lc motcl 1hc1ude : lc cas d'utilisation dc basc cn incorporc cxplicitcmcnt un autrc, dc faon obligatoirc. unc rclation d'extension, formalisc par lc motcl exfehd : lc cas d'utilisation dc basc cn incorporc implicitcmcnt un autrc, dc faon optionncllc, a un cndroit spcifi indircctcmcnt dans cclui qui procdc a l'cxtcnsion (appcl extension point). unc rclation dc gnralisation/spcialisation (flchc blanchc) : lcs cas d'utilisation dcs ccndants hritcnt la dcscription dc lcur parcnt commun. Chacun d'cntrc cux pcut nanmoins comprcndrc dcs intcractions spcifiqucs supplmcntaircs. La rcprscntation graphiquc dc toutcs ccs rclations cst donnc a la figurc 26. ssayons dc donncr quclqucs cxcmplcs sur notrc tudc dc cas. Lc cas d'utilisation .oir l`heure pourrait sc spcialiscr suivant quc la lccturc dc l'hcurc sc fait dircctcmcnt sur lc radiorvcil ou alors au plafond. 8.A. -8A A cteur gnraIis 0eux acIeurs ou plus peuvehI prsehIer des similiIudes dahs leurs relaIiohs aux cas d'uIilisaIioh. Oh peuI exprimer ce cohcepI eh crahI uh acIeur ghralis qui modlise les aspecIs commuhs aux diI- IrehIs acIeurs cohcreIs. 44 Figure 2-6 Nolalious avauces du diagrauue de cas d'ulilisaliou Figure 2-7 Curalisaliou/spcialisaliou de cas d'ulilisaliou 45 Lcs cas d'utilisation Avoir l'hcurc ct trc rvcill a l'hcurc cn musiquc inclucnt tous lcs dcux unc capacit dc modification dcs hcurcs ct dcs minutcs. n pcut donc crcr un nou vcau cas d'utilisation pcrmcttant dc nc dclarcr ct dcrirc qu'unc sculc fois un comportc mcnt rutilisablc. Lc diagrammc suivant illustrc la rclation d'inclusion. Pour la rclation d'cxtcnsion, souvcnt mal utilisc dans la pratiquc, nous pourrions prcndrc cn comptc unc fonctionnalit optionncllc, tcllc quc lc simulatcur d'aubc (la lumirc aug mcntc progrcssivcmcnt pcndant 30 a 90 minutcs avant l'hcurc dc rvcil : lc contact dc la lumirc avcc lcs paupircs a unc incidcncc positivc sur lcs rythmcs hormonaux ct prparc l'organismc au rvcil...). Cc nouvcau cas d'utilisation pcut ctrc strotyp fragmcnt afin d'cxprimcr lc fait qu'il nc s'cxcutcra jamais dc faon autonomc, mais toujours dans lc cadrc d'un autrc cas d'uti lisation. Il s'agit d'unc bonnc pratiquc prconisc par dc nombrcux spcialistcs, mais absolumcnt pas obligatoirc. Figure 2-8 |uclusiou de cas d'ulilisaliou 46 Unc vcrsion complcxc du diagrammc dc cas d'utilisation, incorporant toutcs lcs rclations possiblcs cntrc actcurs ct cas d'utilisation cst donnc par lc schma suivant. Il s'agit d'un cxcmplc dc notation, pas d'unc rccommandation mthodologiquc ! n cffct, nous consi drons quc lc diagrammc dc la figurc 23, pagc 39, cst probablcmcnt tout a fait suffisant dans notrc cas. 8.A .8A Strctype Les moIs-cls SysML comme 1hc1ude eI exfehd sohI hoIs ehIre guillemeIs Iypogra- phiques. Mais hous pouvohs galemehI crer hos propres moIs-cls, Iels que fagmehf (pour ihdiquer qu'uh cas d'uIilisaIioh h'esI qu'uh IragmehI IacIoris par d'auIres cas d'uIilisaIioh) ou secohda1e (pour ihdiquer qu'uh cas d'uIilisaIioh esI moihs imporIahI que les auIres). Ces moIs-cls ihvehIs par les modlisaIeurs s'appellehI alors des sIroIypes. Figure 2-9 Exleusiou de cas d'ulilisaliou AI I| N II0 N k eIaticns entre uC N'abusez pas des relaIiohs ehIre cas d'uIilisaIioh (ihclusioh, exIehsioh, ghralisaIioh) : elles peu- vehI rehdre les diagrammes de cas d'uIilisaIioh Irop diIIiciles a dcrypIer pour les experIs mIier qui sohI cehss les valider. 47 Figure 2-10 versiou couplexe du diagrauue de cas d'ulilisaliou 3 le diagramme de squence systme Cc chapitrc prscntc lc diagrammc dc squcncc systmc . Pour documcntcr lcs cas d'utilisation, la dcscription tcxtucllc cst indispcnsablc, car cllc sculc pcrmct dc communiqucr facilcmcnt avcc lcs utilisatcurs ct dc s'cntcndrc sur lc vocabulairc mticr cmploy. n rcvanchc, lc tcxtc prscntc dcs dsavantagcs puisqu'il cst difficilc dc montrcr commcnt lcs cnchaincmcnts sc succdcnt, ou a qucl momcnt lcs actcurs sccondaircs sont sollicits. n outrc, la maintcnancc dcs volutions s'avrc souvcnt fastidicusc. Il cst donc rccommand dc compltcr la dcscription tcxtucllc par un ou plusicurs diagrammcs dc squcncc SysML. diagramme de squehce ihIeracIioh schario 49 Notatioo de base Lc diagrammc dc squcncc montrc la squcncc vcrticalc dcs mcssagcs passs cntrc l mcnts (ligncs dc vic) au scin d'unc intcraction. 8.A. -8A Ligne de vie ReprsehIaIioh de l'exisIehce d'uh lmehI parIicipahI dahs uh diagramme de squehce. Uhe lighe de vie possde uh hom eI uh Iype. Flle esI reprsehIe graphiquemehI par uhe lighe ver- Iicale eh poihIills. 50 8.A. -8A Message FlmehI de commuhicaIioh uhidirecIiohhel ehIre lighes de vie qui dclehche uhe acIiviI dahs le desIihaIaire. La rcepIioh d'uh message provoque uh vhemehI chez le rcepIeur. La Ilche poihIille reprsehIe uh reIour. Cela sighiIie que le message eh quesIioh esI le rsulIaI direcI du message prcdehI. Uh message syhchrohe (meIIeur bloqu eh aIIehIe de rpohse) esI reprsehI par uhe Ilche pleihe, alors qu'uh message asyhchrohe esI reprsehI par uhe Ilche vi- de. La Ilche qui boucle (message rIlexiI) permeI de reprsehIer uh comporIemehI ihIerhe. 8.A .-8A A ctivaticn Les bahdes verIicales le lohg d'uhe lighe de vie reprsehIehI des priodes d'acIivaIioh. Flles sohI opIiohhelles, mais permeIIehI de mieux comprehdre la Ilche poihIille du message de reIour. Tou- IeIois, dahs uh souci de simpliciI, hous he l'uIiliserohs ghralemehI pas. Figure 3-1 Nolaliou de base du diagrauue de squeuce 51 0iagramme de squeoce - systme Pour lcs mcssagcs proprcs a un cas d'utilisation, lcs diagrammcs dc squcncc systmc montrcnt non sculcmcnt lcs actcurs cxtcrncs qui intcragisscnt dircctcmcnt avcc lc sys tmc, mais galcmcnt cc systmc (cn tant quc boitc noirc) ct lcs vncmcnts systmc dclcnchs par lcs actcurs. L'ordrc chronologiquc sc droulc vcrs lc bas ct l'ordrc dcs mcs sagcs doit suivrc la squcncc dcritc dans lc cas d'utilisation. Nous rccommandons dc prscntcr lcs dss cn montrant l'actcur principal a gauchc, puis unc lignc dc vic uniquc rcprscntant lc systmc cn boitc noirc, ct, cnfin, lcs vcntucls actcurs sccondaircs sollicits durant lc scnario a droitc du systmc. Un prcmicr cxcmplc dc dss du cas d'utilisation tre re.eille l`heure en musique cst donn a la figurc suivantc. Rcmarqucz l'utilisation dc notcs (postit) pour micux documcntcr lc diagrammc. Lc prcmicr mcssagc cst un mcssagc synchronc, donnant licu a un rctour : l'affichagc d'un point a ct dc l'hcurc indiquant quc l'alarmc cst positionnc. Lc fait quc radiorvcil dtcctc quc l'hcurc courantc dcvicnt galc a l'hcurc d'alarmc cst rcprscnt par un mcssagc rflcxif avcc lc motcl Wheh. Lc dcrnicr mcssagc cst un signal asyn chronc. 8.A .8A iagramme de squence systme (dss) Nous uIilisohs le Ierme de diagramme de squehce sysIme pour souligher le IaiI que dahs ce Iype de diagramme de squehce, hous cohsidrohs le sysIme ehIier comme uhe boIe hoire eI le reprsehIohs par uhe seule lighe de vie. Le comporIemehI du sysIme esI dcriI vu de l'exIrieur, sahs prjuger de commehI il le ralisera. 52 CompImeots Fragmeots combios SysML proposc unc notation trs utilc : lc fragmcnt combin. Chaquc fragmcnt possdc un opratcur ct pcut ctrc divis cn oprandcs. Lcs principaux opratcurs sont : 1oop : bouclc. Lc fragmcnt pcut s'cxcutcr plusicurs fois, ct la condition dc gardc cxplicitc l'itration , opf : optionncl. Lc fragmcnt nc s'cxcutc quc si la condition fournic cst vraic , a1f : fragmcnts altcrnatifs. Scul lc fragmcnt possdant la condition vraic s'cxcutcra. Figure 3-2 0ss siuple du cas Elre rveill a l'heure 53 ssayons d'illustrcr ccs trois opratcurs sur l'cxcmplc prcdcnt. Lc son qui sort dc la radio cst continu pcndant plusicurs minutcs, cc n'cst pas un simplc signal unitairc. Pour lc rcprscntcr, positionnons un fragmcnt dc bouclc. n fait, l'utilisa tcur scra rvcill par la radio ou lc buzzcr suivant son choix. Nous pouvons donc ajoutcr un fragmcnt a1f avcc dcux oprandcs. nfin, lc prcmicr mcssagc n'cst pas nccssairc si l'alarmc tait dja positionnc la vcillc : il cst donc optionncl. Lc dss corrcspondant dcvicnt commc illustr sur la figurc suivantc. Figure 3-3 0ss avec ragueuls du cas Elre rveill a l'heure 54 Cadre rfreoce Un diagrammc dc squcncc pcut cn rfrcnccr un autrc grcc a un sccond typc dc rcc tanglc avcc lc motcl ef. Ccttc notation cst trs pratiquc pour modulariscr lcs dia grammcs dc squcncc, ct crcr dcs hypcrlicns graphiqucs cxploitablcs par lcs outils dc modlisation. n fait, dans lc scnario nominal du cas d'utilisation tudi, l'utilisatcur a la possibilit avant dc sc couchcr dc modificr lcs rglagcs dc l'horlogc ct dc la radio. Si nous nc voulons pas dcrirc lc dtail dc ccs intcractions dans lc mcmc diagrammc dc squcncc, il suffit d'utiliscr dcs cadrcs ef optionncls. Pour compltcr, nous allons illustrcr un quatrimc opratcur dc fragmcnt combin : pa (paralllc). Grcc a cc motcl, plusicurs oprandcs pourront ctrc cxcuts cn paralllc, cc qui nc scrait pas facilc a modliscr avcc un diagrammc dc squcncc classiquc. A l'hcurc d'alarmc, cn paralllc dc l'activation dc la radio, lc projcctcur cst galcmcnt allum (sauf bicn sr s'il l'tait dja). 8.A .-8A C artcuche Le carIouche ghral du diagramme de squehce esI de la Iorme-: |1hfeacf1oh] hom de 1`1hfeacf1oh |hom du d1agamme] 55 Figure 3-4 0ss avec rreuces du cas Elre rveill a l'heure 56 Cootraiotes temporeIIes SysML pcrmct d'ajoutcr dcs contraintcs tcmporcllcs sur lc diagrammc dc squcncc. Il cxistc dcux typcs dc contraintcs : la contraintc dc durc, qui pcrmct d'indiqucr unc contraintc sur la durc cxactc, la durc minimalc ou la durc maximalc cntrc dcux vncmcnts , la contraintc dc tcmps, qui pcrmct dc positionncr dcs labcls associs a dcs instants dans lc scnario au nivcau dc ccrtains mcssagcs ct dc lcs rclicr ainsi cntrc cux. Nous avons modlis lc simulatcur d'aubc cn utilisant lcs dcux typcs dc contraintcs. ans la ralit, il aurait fallu choisir l'un ou l'autrc, mais ccla nous pcrmct d'illustrcr lcs dcux cas. Pour simulcr l'aubc, nous avons suppos quc la lampc commcncc a mcttrc douccmcnt trcntc minutcs avant l'hcurc du rvcil. Lc mcssagc 3 : 1um1e douce modlisc cc dbut d'clairagc. La contraintc dc durc cst rcprscntc par unc doublc flchc cn prolongcmcnt dc cc mcssagc ct du dclcnchcmcnt dc l'alarmc (mcssagc 5), avcc la durc cntrc accoladcs : [30 mn]. La contraintc dc tcmps, pour sa part, cst rcprscntc cn associant unc contraintc [t - Halarmc] cn prolongcmcnt du mcssagc 5, ct unc autrc contraintc [t - Halarmc 30 mn] cn prolongcmcnt du mcssagc 3. 57 Figure 3-5 0ss avec coulraiules leuporelles 0FUXIEMF PARTIF la mod|isation d'arcbitecture La partic II conccrnc la modlisation structurcllc. Nous apprcndrons a utiliscr lc conccpt univcrscl dc bloc propos par SysML pour modliscr tout lmcnt structurcl, ainsi quc lcs dcux typcs dc diagrammcs associs. Nous vcrrons tout d'abord commcnt dfinir lcs lmcnts structurcls dc basc dc notrc modlc dans lc diagrammc dc dfinition dc blocs. Nous apprcndrons cnsuitc a dcrirc la dcomposition dcs lmcnts complcxcs avcc lc diagrammc intcrnc dc bloc. Nous vcrrons cnfin commcnt structurcr notrc modlc cn packagcs, a dcs fins dc travail cn quipc ou dc rutilisation. 4 Diagramme de dfinition de b|ocs Cc chapitrc prscntc lc diagrammc dc dfinition dc blocs. Lc bloc SysML ( block ) constituc la briquc dc basc pour la modlisation dc la structurc d'un systmc. Il pcut rcprscntcr un systmc complct, un soussystmc ou un composant lmcntairc. Lcs blocs sont dcomposablcs ct pcuvcnt possdcr un comportcmcnt. Lc diagrammc dc dfinition dc blocs (block dcfinition diagram ou bdd) dcrit la hirarchic du systmc ct lcs classifications systmc/composant. bloc eI bdd valeur, propriI, value Iype composiIioh, agrgaIioh, associaIioh eI ghralisaIioh 60 Ioc et proprit Lc bloc SysML (block) constituc la briquc dc basc pour la modlisation dc la structurc d'un systmc. Il pcut rcprscntcr un systmc complct, un soussystmc ou un composant l mcntairc. Lc bloc pcrmct dc dcrirc galcmcnt lcs flots qui circulcnt a travcrs un systmc. Lcs blocs sont dcomposablcs ct pcuvcnt possdcr un comportcmcnt. n pcut s'cn scrvir pour rcprscntcr dcs cntits physiqucs, mais aussi dcs cntits logiqucs ou conccptucllcs. Lcs proprits sont lcs caractristiqucs structurcllcs dc basc dcs blocs. llcs pcuvcnt ctrc dc dcux typcs principaux : lcs valcurs (.alue properties) dcrivcnt dcs caractristiqucs quantifiablcs cn tcrmc dc .alue types (domainc dc valcur, dimcnsion ct unit optionncllcs) , 61 lcs partics (part properties) dcrivcnt la hirarchic dc dcomposition du bloc cn tcrmcs d'autrcs blocs. Par cxcmplc, si l'on considrc lc bloc \oiturc, on pcut dfinir dcs valcurs : numro d'immatriculation , kilomtragc , vitcssc courantc , ctc. La valcur vitcssc courantc scra typc par un .alue type \itcssc, luimcmc dfini par un typc dc basc rcl, unc dimcnsion istancc/tcmps ct unc unit km/h. ans lcs pays anglo saxons, l'unit pourra ctrc milcs/h. Pour cc mcmc bloc, on pourra dfinir dcs partics tcllcs quc : un motcur , quatrc roucs , quatrc portcs , un coffrc , ctc. Chaquc bloc (ou typc) dfinit un cnscmblc d'instanccs partagcant lcs proprits du bloc, mais possdant chacunc unc idcntit uniquc. Par cxcmplc : ma voiturc, dc numro d'immatriculation : 2009 UML 31, ct dc kilomtragc : 92 000, cst unc instancc du bloc \oiturc. Lc diagrammc dc dfinition dc bloc cst utilis pour rcprscntcr lcs blocs, lcurs proprits, lcurs rclations. 62 ans un bdd, un bloc cst rcprscnt graphiqucmcnt par un rcctanglc dcoup cn compar timcnts. Lc nom du bloc apparait tout cn haut, ct constituc l'uniquc compartimcnt obli gatoirc. Tous lcs autrcs compartimcnts ont dcs labcls indiquant cc qu'ils conticnncnt : valcurs, partics, ctc. Lc motcl b1ock apparait par dfaut, sauf si nous dfinissons dc nouvcaux motscls tcls quc sysfem , subsysfem , ctc. ans l'cxcmplc suivant, nous avons modlis lc radiorvcil cn tant quc systmc a l'tudc, avcc unc valcur : coulcur, ct dcux partics : radio ct rvcil. Nous pouvons prciscr lc typc dcs partics ct dcs valcurs : la partic radio cst dc typc Radio (un nouvcau bloc a crcr) , la partic rvcil cst dc typc Rvcil (un nouvcau bloc a crcr) , la valcur coulcur cst dc typc Coulcur (unc numration a crcr). 8.A. -8A C artcuche Le carIouche ghral du diagramme de dIihiIioh de bloc esI de la Iorme : bdd |package ou b1oc] hom de 1`1mehf |hom du d1agamme] Figure 4-1 Le bloc radiorveil eu laul que sysleue 63 VaIueIype Lcs valcurs (.alue properties) sont utiliscs pour modliscr lcs caractristiqucs quantita tivcs dcs blocs. Il cst trs important dc bicn dfinir lcs typcs dc ccs valcurs cn tcrmcs dc .alue types rutilisablcs. SysML pcrmct d'associcr a chaquc typc dc valcur unc dimcnsion ct unc unit option ncllcs. n pcut galcmcnt spcificr unc valcur initialc (nom valcur - valcur initialc), ainsi qu'unc multiplicit (1 par dfaut). Figure 4-2 Le bloc radiorveil avec quelques proprils lypes N 0IA Magicraw et Ies paramtres de bIccs La couleur de Iohd des blocs, l'humraIioh, eIc. esI auIomaIiquemehI gre par Magic0raw qui diIIrehcie cerIaihs cohcepIs. J'ai gard majoriIairemehI les couleurs sIahdards proposes par l'ouIil, sauI quahd j'ai Irouv qu'uhe modiIicaIioh pouvaiI amliorer le cohIorI du lecIeur. 8.A .-8A MuItipIicit Uhe mulIipliciI esI uh ihIervalle ehIre uhe borhe ihIrieure eI uhe borhe suprieure : la borhe ihIrieure peuI-Ire O (opIiohhelle) ou h'imporIe quel ehIier posiIiI , la borhe suprieure peuI Ire 1, plusieurs (hoI ), ou uh ehIier posiIiI. La mulIipliciI esI hoIe ehIre crocheIs. Si les borhes sohI gales, oh h'criI qu'uhe valeur eI la valeur par dIauI eh SysML esI |1|. 64 Lcs .alue types sont bass sur lcs typcs dc basc proposs par SysML, a savoir : lcs typcs primitifs : integer, string, boolean, real, ctc. , lcs numrations qui dfinisscnt un cnscmblc dc valcurs nommcs (commc la coulcur dans lc paragraphc prcdcnt) , lcs typcs structurs, pcrmcttant dc dfinir plusicurs champs, chacun tant a son tour unc valcur. Rcprcnons l'cxcmplc du radiorvcil : l'hcurc courantc affichc par lc rvcil, l'hcurc d'alarmc, ct l'hcurc projctc au plafond sont toutcs lcs trois du mcmc typc. Il cst important dc dfinir unc fois pour toutcs un .alue type Horodatagc, contcnant dcux champs (hcurcs ct minutcs), par cxcmplc : 23:59. n parlc ici dc .alue type structur, luimcmc bas sur dcux typcs sim plcs h ct mn, dfinis avcc unc dimcnsion Tcmps ct chacun unc unit. L'cnscmblc dc ccs dfinitions cst rcprscnt sur lc diagrammc suivant. Notcz lcs con traintcs sur lcs units pcrmcttant dc borncr lcs valcurs possiblcs, ainsi quc lcs valcurs par dfaut dans lc bloc Rvcil. Nous avons galcmcnt illustr la notion dc multiplicit cn indiquant quc l'hcurc projctc cst optionncllc (projcctcur allum ou pas) : |0..1|. Figure 4-3 Le bloc Rveil avec l'euseuble des value lypes 65 Partie Rcvcnons sur la notion dc partic (part property) introduitc au prcmicr paragraphc. Il s'agit d'unc rclation dc composition cntrc blocs, aussi appcl rclation toutpartic , dans laqucllc un bloc rcprscntc lc tout, ct lcs autrcs scs partics. Unc instancc du tout pcut contcnir plusicurs instanccs d'unc partic, grcc a la notion dc multiplicit, voquc prcdcmmcnt. Lcs partics (parts) pcuvcnt ctrc listcs dans un compartimcnt du bloc, avcc lc format suivant : hom paf1e : hom b1oc |mu1f1p11c1f] Si nous rcprcnons l'cxcmplc dc la voiturc qui conticnt quatrc roucs, unc prcmirc rcpr scntation cn cst donnc sur la figurc suivantc. ans cct cxcmplc, la voiturc cst lc tout, ct lcs roucs sont rcprscntcs par dcs partics. Chacunc dcs quatrc roucs a unc dfinition communc donnc par lc bloc Rouc. 8.A .-8A C cntrainte Uhe cohIraihIe esI simplemehI uhe cohdiIioh porIahI sur uh ou plusieurs lmehIs du modle qui doiI Ire vriIie par les lmehIs cohcerhs. Flle esI hoIe ehIre accolades }, eI peuI Ire ihsre au besoih dahs uhe hoIe graphique (le posI-iI). Figure 4-4 Preuier bdd du bloc voilure 66 Si nous considrons maintcnant quc lcs roucs avant ont un rlc diffrcnt dcs roucs arrirc, parcc qu'cllcs sont rclics au motcur (traction avant) ct qu'cllcs pcuvcnt avoir unc prcssion diffrcntc, nous voulons pouvoir lcs diffrcncicr cn tant quc partics. Pour ccla, nous allons donncr un nom dc rlc aux partics, commc indiqu sur lc schma suivant. Unc solution cncorc plus dtaillc consistc a fairc apparaitrc quatrc partics dc mcmc typc : rouc avant gauchc : Rouc , rouc avant droitc : Rouc , rouc arrirc gauchc : Rouc , rouc arrirc droitc : Rouc. Compositioo La rclation dc composition cntrc blocs, dans laqucllc un bloc rcprscntc lc tout ct lcs autrcs scs partics, pcut galcmcnt ctrc rcprscntc graphiqucmcnt. Lc ct du tout cst indiqu par un losangc plcin. La multiplicit dc cc mcmc ct nc pcut ctrc quc 1 ou 0..1, car unc ins tancc dc partic nc pcut cxistcr quc dans unc instancc dc tout au maximum a un momcnt donn. ans notrc cxcmplc, nous allons prciscr qu'unc rouc pcut nc pas appartcnir a unc Figure 4-5 0euxieue bdd du bloc voilure 67 voiturc a un momcnt donn (multiplicit 0..1 du ct voiturc). u ct dcs partics, on pcut indiqucr un nom dc rlc ct unc multiplicit (la valcur par dfaut tant toujours 1). Lc dia grammc qui suit cst donc unc rcprscntation graphiquc altcrnativc du prcdcnt. Agrgatioo La rclation d'agrgation (losangc vidc) cst bcaucoup moins fortc quc la rclation dc com position (losangc plcin). n particulicr, il n'y a pas dc contraintc dc multiplicit du ct du tout, ct donc pas nccssit d'unc structurc strictc d'arbrc. Mais il y a d'autrcs cas o l'agrgation cst utilc : pour rcprscntcr lc fait quc la contcnancc n'cst pas vraimcnt struc turcllc ct obligatoirc, mais plus conjoncturcllc. Si nous voulons cxprimcr lc fait quc la voi turc conticnt vcntucllcmcnt dcs bagagcs lors d'un dpart cn vacanccs, nous utiliscrons l'agrgation ct pas la composition. n cffct, contraircmcnt aux roucs qui font partic int grantc dc la voiturc dc mcmc quc lc motcur ct lcs sigcs, on nc pcut pas dirc la mcmc Figure 4-6 Jroisieue bdd du bloc voilure 68 chosc dcs bagagcs. Si lcs roucs sont dcs partics (part properties), on dit quc lcs bagagcs sont dcs proprits partagcs (shared properties), ou rfrcnccs. Nous avons volontairc mcnt opt pour un typc trs gnral pour lcs bagagcs quc nous avons appcl Contcncur (gnralisation dc sac, valisc, ctc.). La rcprscntation sous formc dc compartimcnts cst donnc par la figurc suivantc. La rcprscntation graphiquc altcrnativc dc la rclation d'agrgation cst donnc ciaprs. Figure 4-7 bdd du bloc voilure avec rreuces Figure 4-8 bdd du bloc voilure avec agrgaliou 69 Associatioo Un dcrnicr typc dc rclation cntrc blocs s'appcllc l'association. L'association cst unc rcla tion n'impliquant pas dc contcnancc, commc la composition ou l'agrgation, mais unc rclation d'gal a gal. Par cxcmplc, notrc voiturc roulc habitucllcmcnt sur unc routc (au scns largc). llc cst la proprit d'unc pcrsonnc, qui pcut cn possdcr plusicurs ct jouc lc rlc dc propritairc. Ccs dcux rclations sont rcprscntcs par dcs associations cn SysML (ligncs simplcs). 8.A .-8A A sscciaticn Uhe associaIioh reprsehIe uhe relaIioh smahIique durable ehIre deux blocs. Fxemple : Uhe persohhe peuI possder des voiIures. La relaIioh possde esI uhe associaIioh ehIre les blocs Persohhe eI voiIure. AIIehIioh : mme si le verbe qui homme uhe associaIioh semble privil- gier uh sehs de lecIure, uhe associaIioh ehIre blocs esI par dIauI bidirecIiohhelle. 0ohc impliciIe- mehI, l'exemple prcdehI ihcluI galemehI le IaiI qu'uhe voiIure esI possde par uhe persohhe. Les composiIiohs eI les agrgaIiohs sohI des cas parIiculiers d'associaIioh. Figure 4-9 bdd du bloc voilure avec associalious 70 Lcs associations donncnt licu a dcs rfrcnccs dans lcs dcux blocs rclis (commc lcs agr gations). Ainsi la voiturc a unc rfrcncc supplmcntairc appclc propritairc, dc typc Pcrsonnc, ct unc rfrcncc optionncllc anonymc dc typc Routc. Lcs blocs Pcrsonnc ct Routc ont pour lcur part unc rfrcncc multiplc dc typc \oiturc. Si l'on souhaitc cxprimcr lc fait quc dans notrc contcxtc, la voiturc doit avoir unc rf rcncc vcrs la routc cmpruntc, mais quc la routc par contrc n'a pas bcsoin dc connaitrc toutcs lcs voiturcs qui l'cmpruntcnt a un momcnt donn, il faut rcndrc l'association cntrc ccs dcux blocs unidircctionncllc. 8.A .-8A MuItipIicits d'une Asscciaticn Aux deux exIrmiIs d'uhe associaIioh, oh doiI Iaire Iigurer uhe ihdicaIioh de mulIipliciI. Flle sp- ciIie sous la Iorme d'uh ihIervalle le hombre d'ihsIahces qui peuvehI parIiciper a uhe relaIioh avec uhe ihsIahce de l'auIre bloc dahs le cadre d'uhe associaIioh. Uhe ihsIahce esI uh exemplaire d'uh cerIaih bloc possdahI uhe idehIiI propre. Fxemple : uhe persohhe peuI possder plusieurs voiIures (ehIre zro eI uh hombre quelcohque) , uhe voiIure esI possde par uhe seule persohhe. Figure 4-10 bdd avec couparliueuls rreuces couplls 71 Unc association unidircctionncllc possdc unc flchc pointant vcrs lc bloc rfrcnc (dans notrc cas : Routc). Il cst galcmcnt souhaitablc dc nommcr l'cxtrmit du ct Routc, afin dc nommcr la rfrcncc corrcspondantc. AI I| N II0 N Asscciaticn unidirecticnneIIe Pour l'ihsIahI, hous avohs uIilis des associaIiohs eI composiIiohs bidirecIiohhelles, qui dohhehI des rIrehces ou des parIies des deux cIs. Si l'oh souhaiIe qu'il h'y aiI qu'uhe rIrehce (ou parIie) que d'uh seul cI, oh peuI rehdre l'associaIioh uhidirecIiohhelle eh ajouIahI uhe Ilche poihIahI vers le Iype de la rIrehce. Les rIrehces ou parIies peuvehI Ire ajouIes IexIuellemehI dahs des comparIimehIs spciIiques (comme prcdemmehI), ou mme dessihes graphiquemehI dahs uh comparIimehI ddi appel sIrucIure (comme sur le diagramme suivahI). Figure 4-11 Slruclure des blocs suivaul le lype d'associaliou 72 Si l'on nc montrc pas l'association, mais lcs compartimcnts dcs blocs, on rcmarquc qu'il y a bicn unc rfrcncc dc typc Routc dans \oiturc, mais pas dc rfrcncc dc typc \oiturc dans Routc. CoraIisatioo Toutcs lcs dfinitions qui apparaisscnt dans un bdd pcuvcnt ctrc organiscs dans unc hi rarchic dc classification. Lc but cst souvcnt dc factoriscr dcs proprits communcs (valcurs, partics, ctc.) a plusicurs blocs dans un bloc gnralis. Lcs blocs spcialiss Figure 4-12 bdd avec associaliou uuidirecliouuelle Figure 4-13 bdd avec couparliueuls uis a jour suile a l'associaliou uuidirecliouuelle 73 hritcnt dcs proprits du bloc gnralis ct pcuvcnt comportcr dcs proprits spcifi qucs supplmcntaircs. La gnralisation cn SysML sc rcprscntc graphiqucmcnt par unc flchc triangulairc pointant sur lc bloc gnralis. Par cxcmplc, nous pouvons gnraliscr lc bloc \oiturc cn un bloc Moycn dc transport, qui comprcndra lcs valcurs dc marquc, modlc, vitcssc courantc, ctc. Cc bloc gnralis pcut sc spcialiscr cn \oiturc, mais aussi par cxcmplc cn 8atcau ct Avion. Pour simplificr, nous supposcrons quc sculcs lcs voiturcs ont un numro d'immatriculation, sculs lcs batcaux ont un tirant d'cau ct lcs avions unc altitudc. Si nous nous rcstrcignons au contcxtc dc moycns dc transport pcrsonncls, nous pouvons galcmcnt gnraliscr l'association avcc lc bloc Pcrsonnc. Figure 4-14 bdd avec relaliou de guralisaliou 74 Par la spcialisation, lcs sousblocs pcuvcnt ajoutcr dcs proprits, mais aussi rcstrcindrc lcs multiplicits, ajoutcr ou modificr lcs valcurs initialcs, ctc. Il cst ainsi possiblc d'cxprimcr lc fait quc lcs moycns dc transport pcuvcnt possdcr dcs partics dc typc Motcur, mais quc lcs voiturcs cn ont cxactcmcnt unc, lcs batcaux zro ou unc, ct lcs avions un nombrc quclconquc (lcs plancurs n'cn ont pas, lcs autrcs avions souvcnt au moins dcux). Sur lc diagrammc prcdcnt, nous avons ainsi ajout unc partic motcur dc multiplicit variablc au bloc gnralis Moycn dc transport. Lcs blocs \oiturc ct 8atcau rcdfinisscnt la multiplicit dc la partic motcur, alors quc lc bloc Avion cn hritc simplcmcnt. Figure 4-15 bdd avec relaliou de guralisaliou el reslriclious 75 pratioo Tout bloc possdc galcmcnt dcs proprits comportcmcntalcs, lcs principalcs tant appclcs oprations. Unc opration rcprscntc soit : unc rcquctc synchronc (l'mcttcur cst bloqu cn attcntc d'unc rponsc), avcc scs vcn tucls paramtrcs (ou argumcnts) cn cntrc, sortic, ou lcs dcux , unc rcquctc asynchronc, aussi appclc rccption (l'mcttcur n'cst pas bloqu cn attcntc d'unc rponsc). Chaquc rccption cst associc a un signal qui dfinit un mcssagc avcc scs vcntucls paramtrcs. cs rccptions dfinics dans dcs blocs diffrcnts pcuvcnt rpondrc au mcmc typc dc signal, cc qui pcrmct dc rutiliscr la dfinition dc mcssagcs communs. Lcs oprations sont montrcs dans un compartimcnt supplmcntairc avcc lcur signaturc (nom, paramtrcs ct typc dc rctour) : hom_opaf1oh {11sfe de paamfes} : fype_efou La listc dc paramtrcs cst unc listc d'lmcnts spars par dcs virgulcs, chaquc lmcnt tant not : d1ecf1oh hom_paamfe : fype_paamfe la dircction pouvant prcndrc unc dcs valcurs suivantcs : , , . Lcs rccptions sont souvcnt montrcs dans un compartimcnt a part. Lcs signaux pcuvcnt a lcur tour ctrc dfinis commc dcs blocs avcc un motcl s1gha1 . Sur l'cxcmplc dc la voiturc, nous allons ajoutcr quclqucs oprations commc la dmarrcr ou l'arrctcr, changcr unc rouc, ainsi quc la vcndrc a quclqu'un. Nous allons galcmcnt prcndrc cn comptc la rccption dc signaux GPS. 76 tude de cas Rcprcnons notrc tudc dc cas maintcnant quc nous avons vu lcs principaux conccpts du bdd. Nous allons considrcr quc notrc systmc (lc radiorvcil) conticnt dcux blocs principaux : un rvcil ct unc radio. Ccs blocs dc prcmicr nivcau rcprscntcnt dcs conccpts logiqucs, dcs fonctionnalits, ct pas cncorc dcs composants physiqucs. Nous vcrrons plus prcismcnt commcnt projctcr lcs composants physiqucs sur lcs composants logiqucs quand nous parlcrons dc l'important conccpt d'allocation au chapitrc 10. Si nous commcnons a rpartir lcs proprits ct lcs oprations, cn fonction dcs rcsponsa bilits quc nous dcidons d'attribucr aux diffrcnts blocs, nous obtcnons un prcmicr bdd commc indiqu sur la figurc suivantc. Ajoutons quclqucs lmcnts a cc prcmicr diagrammc : la radio rcoit lcs signaux HF dcs stations dc radio , Figure 4-16 bdd avec opralious el rceplious 77 lcs cxigcnccs prciscnt la nccssit d'un dispositif dc sauvcgardc pour conscrvcr cn mmoirc lcs rglagcs cn cas dc coupurc dc courant. Pour ccla, nous choisissons dc pouvoir intgrcr unc ou plusicurs pilcs amoviblcs. La notc avcc lc motcl af1oha1e cxpliquc cc choix. Lcs pilcs sont rcuprablcs cn fin dc vic du radio rvcil : nous utiliscrons plutt unc rclation d'agrgation , lc rvcil conticnt un bloc affichcur, un bloc projcctcur, ct un bloc horlogc. n fait, sclon lcs radiorvcils, il y a un soit un uniquc bloc horlogc garantissant l'affichagc d'unc hcurc cohrcntc sur lc radiorvcil ct au plafond, ou bicn dcux horlogcs diffrcntcs : unc pour l'affichcur standard, unc autrc pour lc projcctcur. Lc problmc dans cc cas tant lc risquc d'incohrcncc cntrc l'hcurc projctc au plafond ct l'hcurc du radiorvcil qui cst la rfrcncc vis a vis dc l'alarmc, commc j'cn ai fait l'cxpricncc Figure 4-17 Preuier bdd du radiorveil 78 rapidcmcnt avcc mon prcmicr radiorvcil a projcctcur achct pas chcr... Nous allons cxpliqucr ccs dcux possibilits grcc a unc notc avcc lc motcl pob1em . 'un point dc vuc mthodologiquc, il cst souvcnt intrcssant dc rcmontcr d'un cran ct dc modliscr lc contcxtc du bloc principal (cclui qui portc lc motcl sysfem ). n pcut ainsi rcprscntcr l'cnvironncmcnt du systmc, avcc dans notrc cxcmplc, non sculcmcnt lcs Figure 4-18 Exeuple plus couplel de bdd du radiorveil 79 utilisatcurs humains ct lcs stations dc radio, mais galcmcnt l'cnvironncmcnt physiquc : la chambrc avcc son plafond sur lcqucl scra projctc l'hcurc la nuit, ainsi quc scs priscs lcc triqucs. Notcz l'utilisation a titrc d'cxcmplc du strotypc non standard exfeha1 ct d'unc coulcur dc rcmplissagc diffrcntc pcrmcttant dc diffrcncicr ccrtains lmcnts cxtcrncs qui nc sont pas dcs actcurs a proprcmcnt parlcr (ils n'intcrvicnncnt pas dans lcs cas d'utilisation). Figure 4-19 bdd du radiorveil daus sou euvirouueueul 5 le diagramme de b|oc interne Cc chapitrc prscntc lc diagrammc dc bloc intcrnc. Lc diagrammc dc bloc intcrnc (internal block diagram ou ibd) dcrit la structurc intcrnc du systmc cn tcrmcs dc partics, ports ct conncctcurs. bloc eI ibd parIie porI eI cohhecIeur 81 Parties et coooecteurs n pcut rcprscntcr la conncxion cntrc lcs lmcnts (parts cn anglais, quc jc traduis par parties) d'un bloc au moycn d'un diagrammc dc bloc intcrnc. Cc diagrammc montrc prin cipalcmcnt lcs rclations cntrc lmcnts dc mcmc nivcau, ainsi quc lcs vcntucllcs multi plicits dcs partics. 8.A .-8A C artcuche Le carIouche ghral du diagramme de bloc ihIerhe esI de la Iorme : 1bd |b1oc] hom du b1oc |hom du d1agamme] 82 Parties et rfreoces ans l'cxcmplc dc la voiturc, nous pouvons commcnccr par rcprscntcr lcs roucs avant ct arrirc ainsi quc lc motcur. La rclation dc composition du bdd sc traduit dc la faon sui vantc dans l'ibd : lc cadrc dc l'ibd rcprscntc lc bloc cnglobant. Il fournit lc contcxtc pour tous lcs l mcnts du diagrammc , chaquc cxtrmit d'unc rclation dc composition, ou lmcnt du compartimcnt parts, apparait commc un bloc a l'intricur du cadrc. Lc nom du bloc cst idcntiquc a cc qui apparaitrait dans lc compartimcnt parts, soit : hom_paf1e : hom_b1oc |mu1f1p11c1f]. La multiplicit pcut galcmcnt ctrc rcprscntc dans lc coin supricur droit du rcctanglc. S'il n'y a pas d'indication dc multiplicit, cllc cst supposc valoir cxactcmcnt 1. Figure 5-1 Preuier ibd du bloc voilure 83 Lcs associations simplcs ct lcs agrgations sont rcprscntcs dc faon similairc aux com positions, sauf quc lc rcctanglc du bloc cst cn pointill. Ainsi, lcs bagagcs pcuvcnt appa raitrc dans l'ibd, mais aussi la routc cmpruntc, si nous lc souhaitons (il cst clair quc lcs bagagcs sont dans la voiturc ct qu'il cst intrcssant dc lcs rcprscntcr, pour la routc c'cst plus discutablc...). Il cst important dc notcr qu'on pcut rcprscntcr plusicurs nivcaux dc dcomposition ou dc rfrcncc sur un mcmc ibd. ans notrc cxcmplc, si nous voulons cxprimcr lc fait quc lcs bagagcs sont dans lc coffrc dc la voiturc, il suffit d'ajoutcr unc partic coffrc a la voiturc, ct dc dplaccr la rfrcncc bagagcs a l'intricur dc ccttc nouvcllc partic. Figure 5-2 ibd du bloc voilure avec rreuces 84 Lc diagrammc dc bloc intcrnc cst surtout utilc pour montrcr lcs conncxions contcxtucllcs cntrc lcs partics d'un bloc, cc qui nc pcut pas ctrc rcprscnt sur un bdd. Coooecteur Lc conncctcur cst un conccpt structurcl utilis pour rclicr dcux partics ct lcur fournir l'opportunit d'intcragir, bicn quc lc conncctcur nc disc ricn sur la naturc dc ccttc intcrac tion. Lcs conncctcurs pcrmcttcnt galcmcnt dc rclicr plus fincmcnt lcs partics a travcrs dcs ports (commc dcrit au paragraphc suivant). L'cxtrmit d'un conncctcur pcut pos Figure 5-3 ibd du bloc voilure a plusieurs uiveaux 85 sdcr unc multiplicit qui dcrit lc nombrc d'instanccs qui pcuvcnt ctrc conncctcs par dcs licns dcrits par lc conncctcur. Un conncctcur pcut ctrc typ par unc association. Il pcut ainsi possdcr unc flchc unidi rcctionncllc, si l'association qui lc typc la possdc. Son nom complct cst dc la formc : hom_cohhecfeu : hom_assoc1af1oh Unc partic pcut ctrc conncctc a plusicurs autrcs partics, mais il faut rcprscntcr un con ncctcur spar pour chaquc liaison. ans notrc cxcmplc, a l'intricur du bloc \oiturc, lc motcur cst rcli aux dcux roucs avant, mais pas aux roucs arrirc. Lcs quatrc roucs sont (normalcmcnt...) rclics a la routc. Sur lc diagrammc suivant cst rcprscnt l'ibd d'un batcau a motcur. Notcz quc lc motcur, du mcmc typc quc dans lc cas dc la voiturc, cst ccttc foisci conncct a dcs hliccs, parcc quc nous sommcs dans lc contcxtc d'un batcau. La multiplicit cst ici rcprscntc sur lc conncctcur, ct pas dans la partic, pour montrcr l'autrc possibilit. Pour bicn comprcndrc l'intrct dc l'ibd par rapport au bdd, cssayons dc rcprscntcr lcs associations cntrc lc bloc Motcur ct lcs blocs Rouc ct Hlicc sur un prcmicr bdd. Qucls sont lcs problmcs dc cc prcmicr bdd : AI I| N II0 N VccabuIaire SysML Soyohs prcis : uhe associaIioh (agrgaIioh, ou composiIioh) relie des blocs , uh cohhecIeur relie des parIies , uh lieh relie des ihsIahces. 86 n pourrait dja argumcntcr sur lc fait qu'unc instancc dc Motcur pcut appartcnir a 0 ou 1 voiturc ct 0 ou 1 batcau. Cc qui voudrait dirc qu'unc mcmc instancc dc Motcur pourrait ctrc a la fois dans unc voiturc ct un batcau. La smantiquc dc la composition cn SysML Figure 5-4 ibd du bloc voilure avec couuecleurs Figure 5-5 ibd du bloc Baleau 87 visc a intcrdirc ccttc possibilit, mais il scrait cncorc plus clair dc l'cxprimcr sur lc dia grammc cn introduisant par cxcmplc un bloc abstrait gnralis \hiculc. Figure 5-6 bdd iucorrecl (preuier essai) Figure 5-7 bdd iucorrecl (deuxieue essai) 88 Mais cc n'tait malhcurcuscmcnt pas lc principal problmc dc ccs dcux bascs dc donncs ! n cffct, lcs associations dans un bdd sont dfinics unc fois pour toutcs, ct doivcnt ctrc vrifics dans tous lcs contcxtcs, pour toutcs lcs instanccs. ans lc cas dcs dcux associa tions Actionnc, ccla signific donc quc : lc motcur d'unc ccrtainc voiturc pcut actionncr lcs hliccs d'un batcau , lc motcur d'un batcau pcut actionncr lcs roucs d'unc voiturc , lc motcur d'unc voiturc pcut mcmc actionncr lcs roucs d'unc autrc instancc dc voi turc... Nous voyons donc claircmcnt quc lc modlc propos n'cst pas du tout satisfaisant. C'cst justcmcnt pour ccla quc SysML proposc lc diagrammc dc bloc intcrnc : pour rcprscntcr dcs liaisons contcxtucllcs cntrc dcs partics a l'intricur d'un ccrtain bloc cnglobant. 8.A .-8A 8 Icc abstrait Uh bloc esI diI absIraiI si sa dIihiIioh he permeI pas de l'ihsIahcier. Oh se serI souvehI de blocs absIraiIs dahs les arbres de ghralisaIioh pour IacIoriser des propriIs sIrucIurelles ou comporIemehIales commuhes a d'auIres blocs cohcreIs (ihsIahciables). Uh bloc absIraiI esI reprsehI eh iIalique. 89 Ports et ioterfaces Iypes de ports Lc diagrammc dc bloc intcrnc pcrmct galcmcnt dc dcrirc la logiquc dc conncxion, dc scrviccs ct dc flots cntrc blocs grcc au conccpt dc port . Lcs ports dfinisscnt lcs points d'intcraction offcrts (pro.ided) ct rcquis (required) cntrc lcs blocs. Un bloc pcut avoir plusicurs ports qui spcificnt dcs points d'intcraction diffrcnts. Lcs ports pcuvcnt ctrc dc dcux naturcs : flux (flo. port) : cc typc dc port autorisc la circulation dc flux physiqucs cntrc lcs blocs. La naturc dc cc qui pcut circulcr va dcs fluidcs aux donncs, cn passant par l'ncrgic , standard : cc typc dc port autorisc la dcscription dc scrviccs logiqucs cntrc lcs blocs, au moycn d'intcrfaccs rcgroupant dcs oprations. La distinction cntrc ccs dcux typcs dc ports cst souvcnt d'ordrc mthodologiquc. Lcs flo. ports sont bicn adapts pour rcprscntcr dcs flux continus d'cntits physiqucs, alors quc lcs ports standards sont bicn adapts a l'invocation dc scrviccs, typiqucmcnt cntrc com posants logicicls. Unc combinaison dcs dcux cst souvcnt utilc, mais lcs ports standards nc pcuvcnt ctrc connccts dircctcmcnt aux flo. ports ct rciproqucmcnt. ans notrc cxcmplc dc radiorvcil, lcs boutons dc marchcarrct du projcctcur ct dc la radio sont typiqucmcnt dcs ports standards. L'cntrc d'ncrgic lcctriquc commc lcs ondcs radio, la projcction dc lumirc ou la diffusion dc son sont typiqucmcnt dcs flo. ports. 90 FIow ports Lcs ports dc typc flux sont soit atomiqucs (un scul flux), soit compositcs (agrgation dc flux dc naturcs diffrcntcs). ans l'cxcmplc prcdcnt, lcs flo. ports Projcction, Rccption radio ct Alimcntation sont tous atomiqucs. Ccla signific qu'ils nc spcificnt qu'un scul typc dc flux cn cntrc ou cn sortic (ou lcs dcux), la dircction tant simplcmcnt indiquc par unc flchc a l'intricur du carr rcprscntant lc port. Pour lcur part, lcs ports standards sont simplcmcnt rcprscnts par dcs carrs. Lcs flo. ports pcuvcnt ctrc typs par un bloc, un .alue type ou un signal rcprscntant lc typc d'lmcnt pouvant circulcr cn cntrc ou cn sortic du port. Nous allons utiliscr un bloc Lumirc pour typcr lc flo. port dc projcction, un bloc lcctricit pour l'alimcntation, ct lc signal Signal HF (cr au chapitrc prcdcnt) pour la rccption radio. Plusicurs ports pcu vcnt avoir lc mcmc typc, commc la projcction ct l'affichagc dc l'hcurc par cxcmplc. n pcut galcmcnt associcr unc multiplicit a un port. Il cst ainsi possiblc d'cxprimcr dc faon concisc qu'un ordinatcur possdc plusicurs ports US8 idcntiqucs, ou qu'un radio rvcil pcut avoir un ou dcux hautparlcurs. La notation compltc d'un flo. port cst donc dc la formc : hom_pof : hom_1fem |mu1f1p11c1f]. Figure 5-8 Exeuples de porls du radiorveil 91 Lcs ports faisant partic dc la dfinition dcs blocs, il cst tout a fait possiblc dc lcs fairc apparaitrc ds lc bdd. ans cc cas, ils pcuvcnt ctrc rcprscnts soit graphiqucmcnt commc prcdcmmcnt, soit sous la formc d'un compartimcnt supplmcntairc. Mais l'intrct principal dc l'ibd consistc la cncorc a pouvoir dcrirc lcs conncxions cntrc lcs ports dc diffrcnts blocs au moycn dc conncctcurs, alors quc lc bdd nc pcrmct quc dc dfinir lcs ports sans lcs conncctcr. Nous allons ainsi pouvoir conncctcr la projcction au plafond dc la chambrc, la rccption radio aux stations, ctc. Figure 5-9 Exeuples de lowporls lyps du radiorveil Figure 5-10 |lowporls reprseuls daus uu bdd (couparliueul) 92 Item fIow Lcs lmcnts dc flot (item flo.s) pcrmcttcnt dc dcrirc cc qui circulc rcllcmcnt sur lcs con ncctcurs, alors quc lcs flo. ports dfinisscnt cc qui pcut circulcr. La distinction n'cst pas tou jours utilc, mais pcut sc rvlcr nanmoins trs pratiquc dans ccrtains cas. Prcnons l'cxcmplc d'un rscrvoir dc liquidc. Il a typiqucmcnt dcux ports atomiqucs typs Liquidc, l'un cn cntrc, l'autrc cn sortic, voirc mcmc un scul port d'cntrcsortic (un jcrrycan par cxcmplc). Figure 5-11 Exeuples de lowporls couuecls du radiorveil 93 cs instanccs dc Jcrrycan utiliscs dans dcs contcxtcs diffrcnts acccptcnt diffrcnts typcs dc flux, du momcnt quc ccuxci sont dcs spcialisations dc Liquidc. ans lc dscrt, dans unc fctc, ou cn cas dc pannc schc, cc qui circulcra rcllcmcnt pourra ctrc rcprscnt pr cismcnt grcc a la notation SysML dc l'itcm flo. (flchc noirc nommc sur lc conncc tcur), commc indiqu sur lc diagrammc suivant. Figure 5-12 0iuiliou d'uu jerrycau lous usages (bdd) Figure 5-13 Jrois ulilisalious d'uu jerrycau avec des lux direuls 94 Tout ccci n'cst bicn sr possiblc quc parcc quc au, \in ct sscncc sont dcs spcialisa tions dc Liquidc, commc dclar dans un bdd. FIow specificatioo Quand un point d'intcraction a unc intcrfacc complcxc avcc plusicurs flux, lc flo. port corrcspondant doit ctrc modlis commc un flo. port compositc (ou non atomiquc). ans cc cas, lc port doit ctrc typ par unc spcification dc flux (flow spccification). Ccttc spcification dc flux doit ctrc dfinic dans un bdd. llc inclut plusicurs proprits dc flux, chacunc ayant un nom, un typc ct unc dircction. Un flo. portcompositc cst indiqu graphiqucmcnt par dcux crochcts sc faisant facc ( ~) dcssins a l'intricur du symbolc du port. Quand dcux partics intcragisscnt, cllcs chan Figure 5-14 Jrois spcialisalious du bloc Liquide (bdd) Figure 5-15 Nolaliou de la |low Speciicaliou (bdd) 95 gcnt souvcnt lcs mcmcs flux, mais avcc dcs dircctions opposcs. Plutt qu'ctrc oblig dc crcr unc dcuximc flo. specification cn invcrsant toutcs lcs dircctions dcs proprits, SysML pcrmct dc rutiliscr la mcmc spcification cn indiquant simplcmcnt quc lc dcuximc flow port cst conjugu. Lcs ports conjugus sont rcprscnts graphiqucmcnt cn invcrsant lcs coulcurs : lcs crochcts sont blancs sur fond noir. Sur lc diagrammc suivant, nous avons cssay d'illustrcr graphiqucmcnt lcs diffrcntcs notations dcs flots ports atomiqucs ct compositcs. Pour lc port conjugu, nous avons ima gin quc l'injcctcur ct lc rscrvoir sc transmcttcnt plusicurs flots dcrits par la flo. specifi- cation xcmplc dc FS (pcutctrc du carburant ct dc l'air...), dans dcs dircctions opposcs. Ioterface Pour dcrirc un comportcmcnt bas sur l'invocation dc scrviccs, lc port standard cst tout a fait adapt. Mais au licu d'assigncr dircctcmcnt dcs oprations aux ports, il cst plus int rcssant dc lcs rcgroupcr cn cnscmblcs cohrcnts appcls intcrfaccs. Figure 5-16 Nolaliou des lowporls couposiles el coujugus 96 Pour lc radiorvcil, nous pouvons par cxcmplc commcnccr a dfinir (dans un bdd) dcs intcrfaccs pour la gcstion du volumc dc la radio, lc rglagc ct la mmorisation dcs sta tions, la misc a jour dcs hcurcs ct dcs minutcs, ctc. Unc intcrfacc fournic (pro.ided interface) sur un port spcific lcs oprations quc lc bloc fournit. Unc intcrfacc rcquisc (required interface) spcific lcs oprations dont lc bloc a bcsoin pour raliscr son comportcmcnt. n gnral, un autrc bloc lcs lui fournira au moycn d'unc intcrfacc fournic. Un mcmc bloc pcut fournir ct/ou rcqurir plusicurs intcrfaccs. ans l'cxcmplc ciaprs, lcs dcux blocs 81 ct 82 fournisscnt l'intcrfacc I2, par contrc 82 utilisc l'intcrfacc I1 qui cst fournic par 81, ct l'intcrfacc I3. Lc bloc 81 fournit lcs dcux intcrfaccs I1 ct I2 : il pos sdc donc au moins la runion dcs oprations dcs dcux intcrfaccs. 8.A .8A Interface Uhe ihIerIace esI uh ehsemble d'opraIiohs absIraiIes (sahs algoriIhmes) cohsIiIuahI uhe sorIe de cohIraI qui devra Ire ralis par uh ou plusieurs blocs. CraphiquemehI, uhe ihIerIace esI soiI repr- sehIe comme uh bloc avec uh moI-cl 1hfeface ou le symbole d'uh cercle, soiI direcIe- mehI comme uh cercle dahs la hoIaIioh cohdehse. Figure 5-17 Exeuples d'iuleraces pour le radiorveil (bdd) 97 La formc graphiquc condcnsc cst donnc a la figurc suivantc. L'inconvnicnt dc ccttc notation cst qu'on nc pcut pas savoir qucllcs sont lcs oprations dfinics dans chaquc intcrfacc. 8.A .8A k aIisaticn et utiIisaticn La relaIioh de ralisaIioh ehIre uh bloc eI uhe ihIerIace se dessihe comme uhe ghralisaIioh eh poihIills. Si l'ihIerIace esI reprsehIe par uh simple cercle, la ralisaIioh deviehI uh simple IraiI. La relaIioh d'uIilisaIioh ehIre uh bloc eI uhe ihIerIace se dessihe comme uhe Ilche vide eh poih- Iills. 0ahs la hoIaIioh graphique cohdehse, l'uIilisaIioh deviehI uh simple IraiI eI l'ihIerIace esI reprsehIe par uh demi-cercle. CerIaihs ouIils (comme Magic0raw) mlahgehI les deux hoIaIiohs. Figure 5-18 Exeuple de ralisaliou el d'ulilisaliou d'iuleraces 98 Port staodard Plutt quc dc rclicr dircctcmcnt lcs intcrfaccs aux blocs par dcs rclations dc ralisation ou d'utilisation, on pcut prciscr a qucl port standard cst rattachc chaquc intcrfacc. Un mcmc port pcut possdcr plusicurs intcrfaccs rcquiscs ou fournics. Plusicurs ports pcu vcnt ctrc rclis aux mcmcs intcrfaccs. Sur notrc cxcmplc, nous avons cr un port pour la radio pcrmcttant a la fois dc rglcr lc volumc ct lcs stations. Il s'agit d'unc abstraction dc l'intcrfacc hommcmachinc (IHM) dc la radio. Cc port fournit donc dcux intcrfaccs. Au contrairc, si nous imaginons lc cas o lc projcctcur possdc unc horlogc diffrcntc dc ccllc du rvcil (variantc dcs radio rvcils a bas prix.), lcs dcux ports dc rglagc dc l'horlogc du radiorvcil ct du projcctcur raliscnt la mcmc intcrfacc dc modification dcs hcurcs ct minutcs (T_hoodafage). Mais malhcurcuscmcnt, ricn nc garantit quc lcs implmcntations fournisscnt la mcmc valcur ! Tous ccs cas sont illustrs par la figurc suivantc, qui utilisc classiqucmcnt la notation con dcnsc dcs intcrfaccs. Attcntion, pour simplificr, ccrtains ports qui apparaissaicnt sur dcs diagrammcs prcdcnts n'ont pas t montrs. Figure 5-19 Nolaliou graphique coudeuse des iuleraces (bdd) 99 tude de cas Rcprcnonsnotrc tudc dc cas maintcnant quc nous avons vu lcs principaux conccpts dc l'ibd, ct affin ccrtains conccpts du bdd. Si nous traduisons lcs rclations dc composition du bdd dc la fin du chapitrc 4 dans un ibd, nous obtcnons lc diagrammc qui suit. Notcz quc l'outil Magicraw a fait suivrc automatiqucmcnt lcs ports cxtcrncs du radiorvcil sur lc contour du diagrammc. La pilc dc sccours apparait cn pointills (rfrcncc). Prcnons tout d'abord la dcision dc modliscr prioritaircmcnt par la suitc un radiorvcil ayant unc horlogc uniquc. Nous allons ainsi cnlcvcr l'indication dc multiplicit |1..2| sur la partic h : ho1oge. n fait, nous pourrions tout a fait cnvisagcr dc mcncr cn paralllc dcux modlcs altcrnatifs pour comparcr lcs dcux solutions dc conccption. Lcs dia grammcs dynamiqucs montrcraicnt ccrtaincmcnt dcs diffrcnccs galcmcnt. Figure 5-20 Exeuple de porls slaudards el d'iuleraces (bdd) 100 nsuitc, nous allons commcnccr a dcrirc lc fait quc l'horlogc du rvcil doit avoir unc conncxion avcc l'affichcur, lc projcctcur, mais aussi avcc la radio (pour l'activcr a l'hcurc d'alarmc). La pilc dc sccours, pour sa part, n'cst conncctc qu'a l'horlogc. Pour l'instant, nous n'ajoutcrons pas dc ports aux partics. Figure 5-21 Preuiere versiou de l'ibd du radiorveil 101 Il nous rcstc a conncctcr l'cxtricur (radiorvcil boitc noirc) a l'intricur (partics). La cncorc, nous pourrions commcnccr sans ajoutcr dc port sur lcs partics. Mais nous allons lc fairc pour montrcr lc cas frqucnt dc conccption dcsccndantc (top-do.n) o lcs ports ct intcrfaccs cxtcrncs doivcnt ctrc dlgus aux partics. Figure 5-22 0euxieue versiou de l'ibd du radiorveil 102 AI I| N II0N 8 ehavicr pcrt vs deIegaticn pcrt Il y a deux cas a cohsidrer lorsqu'uh bloc gre les ihIeracIiohs survehahI sur ses porIs. SoiI il les IraiIe direcIemehI lui-mme, soiI il dlgue le IraiIemehI a ses parIies. Si le bloc IraiIe direcIemehI les ihIeracIiohs, le porI esI appel porI de comporIemehI (behavior porI). Les l- mehIs ehvoys ou reus doivehI alors Ire grs par uhe propriI dyhamique, par exemple uhe opraIioh, uhe rcepIioh, ou mme uhe machihe a IaIs (voir le chapiIre 7). Ce porI h'esI dohc pas reli aux parIies. 0ahs l'auIre cas, si le bloc dlgue le IraiIemehI a ses parIies, le porI esI appel porI de dlgaIioh (delegaIioh porI). Le cohhecIeur qui relie des porIs de blocs de hiveaux diIIrehIs esI alors appel cohhecIeur de dlgaIioh, alors qu'uh cohhecIeur qui relie des porIs au mme hiveau esI appel cohhecIeur d'assemblage (assembly cohhecIor). 0ahs Ious les cas, les cohhecIeurs de dlgaIioh ou d'assemblage doivehI vriIier des cohIraihIes de compaIibiliI. Ces cohIraihIes sohI lgremehI diIIrehIes dahs le cas des porIs sIahdard. Fh eIIeI, dahs le cas de la dlgaIioh, les porIs doivehI Iourhir ou uIiliser les mmes ihIerIaces, alors que dahs le cas de l'assemblage, l'uh IourhiI ce que l'auIre requierI. Les rgles de compaIibiliI eh cas de Iypes spcialiss sohI les mmes que pour les Ilow porIs (comme sur l'exemple avec les Iypes Fau eI Liquide). Figure 5-23 Exeuple de couuecleurs sur uu ibd Sur l'ibd prcdehI, les cohhecIeurs allahI des porIs du bloc ehglobahI aux porIs des parIies sohI des cohhecIeurs de dlgaIioh. Oh voiI que sur les porIs sIahdards relis, la mme ihIerIace I2 esI Iourhie. Alors que pour les porIs des par- Iies relis par uh cohhecIeur d'assemblage, l'uh (pb1) IourhiI I1 alors que l'auIre (pb2) l'uIilise. NoIez le porI de com- porIemehI appel behavior porI du bloc ehglobahI (eh hauI a droiIe) : il h'esI pas reli a uh porI d'uhe parIie. 103 ans notrc tudc dc cas, nous avons choisi dc rcprscntcr sculcmcnt un souscnscmblc dcs ports ct dcs conncctcurs pour nc pas surchargcr lc diagrammc, mais cc dcrnicr illustrc nanmoins lcs cxcmplcs prcdcnts. n notcra lc rlc ccntral dc l'horlogc qui activc la radio ct lc projcctcur (a l'hcurc d'alarmc), ct qui fournit aussi l'horodatagc a l'affichcur ct au projcctcur. L'activation cst rcprscntc par unc intcrfacc rcquisc par l'horlogc (mcssagc cnvoy) ct fournic (mcssagc Figure 5-24 ibd parliel du radiorveil 104 rcu) par lc projcctcur. La Radio fournit unc intcrfacc T_Pad1o qui doit ctrc galcmcnt compatiblc avcc l'activation, mais qui doit aussi inclurc lcs aspccts IHM, par dlgation du port cxtcrnc pof Pad1o : ThM. L'intcrfacc T_Pad1o cst donc un surcnscmblc dc l'intcrfacc T_Acf1vaf1oh, cn tcrmcs d'oprations ct donc dc mcssagcs. n voit aussi un cxcmplc dc port dc comportcmcnt (beha.ior port) sur la partic radio qui va traitcr lcs mcssagcs cnvoys par l'horlogc ct l'utilisatcur au travcrs d'unc machinc a tats (ccllc du chapitrc 7). L'horodatagc cst un flux continu rcprscnt par dcs conncc tcurs d'asscmblagc cntrc flo. ports. Rcmarqucz cncorc quc lcs flo. ports dc dlgation sont oricnts dans lc mcmc scns, alors quc lcs flo. ports d'asscmblagc sont oricnts dans lc scns contrairc (conjugus). Nous avons prfr nc pas crcr dc ports sur la partic dc nivcau intcrmdiairc appclc eve11 : Pve11 pour nc pas surchargcr cc diagrammc. Pour donncr unc autrc illustration dc la puissancc dc SysML, ct la possibilit dc raliscr plusicurs diagrammcs complmcntaircs, a la manirc dc calqucs supcrposablcs, nous avons dcssin un autrc ibd cn nous focalisant uniqucmcnt sur l'alimcntation lcctriquc du radiorvcil. u coup, nous avons introduit un nouvcau bloc f : Tahsfomafeu, dont lc rlc cst dc transformcr lc courant altcrnatif fourni par la prisc dc courant cn courant continu. Lc transformatcur alimcntc ainsi toutcs lcs partics du radiorvcil, ct nous avons pris la pcinc ccttc foisci dc travcrscr proprcmcnt la partic rvcil cn ajoutant un port intcrmdiairc. u coup, il apparait claircmcnt quc la pilc dc sccours n'alimcntc quc la partic horlogc, conformmcnt aux cxigcnccs initialcs. 105 Figure 5-25 ibd du radiorveil couceruaul l'aliueulaliou leclrique 6 le diagramme de packages Cc chapitrc prscntc lc diagrammc dc packagcs. Lc diagrammc dc packagcs montrc l'organisation logiquc du modlc ct lcs vcntucllcs rclations cntrc lcs packagcs. package, paqueIage cohIehahce dpehdahce modle vue (view), poihI de vue (viewpoint) 107 Package n SysML, tout lmcnt dc modlc cst contcnu dans un scul contcncur. Quand un con tcncur cst dtruit ou copi, scs lmcnts contcnus sont galcmcnt dtruits ou copis. Ccr tains lmcnts contcnus sont a lcur tour dcs contcncurs, cc qui conduit classiqucmcnt a unc hirarchic dc contcnancc d'lmcnts dc modlc. Lcs packagcs sont un cxcmplc important dc contcncur, lcs blocs cn sont un autrc (commc nous l'avons vu au chapitrc prcdcnt pour lcs valcurs, lcs partics, lcs oprations, ctc.). Lcs diffrcnts packagcs d'un modlc ainsi quc lcurs rclations pcuvcnt ctrc montrs dans un diagrammc dc packagcs (package diagram). 108 8.A. -8A Fackage Mcahisme ghral de regroupemehI d'lmehIs Iels que blocs, ihIerIaces, mais aussi acIeurs, cas d'uIilisaIioh, eIc. Les packages peuvehI Ire imbriqus dahs d'auIres packages. Uh package cohsIiIue uh espace de homs (hamespace) pour les lmehIs qu'il cohIiehI. CerIaihs auIeurs uIilisehI la versioh Irahaise du Ierme : paqueIage, mais hous prIrohs garder package... 8.A .-8A C artcuche Le carIouche ghral du diagramme de package esI de la Iorme : pkg |fype de package] hom du package |hom du d1agamme] Le Iype de package peuI Ire : modle, package ou vue (voir paragraphes suivahIs). Figure 6-1 0iagrauue de paclages siuple 109 Cooteoaoce et dpeodaoce Il y a dcux typcs dc rclations possiblcs cntrc packagcs : la contcnancc ct la dpcndancc. Cooteoaoce La rclation dc contcnancc pcut ctrc montrc dc dcux faons : un trait avcc unc croix cntourc du ct du contcncur , lcs packagcs contcnus graphiqucmcnt a l'intricur du packagc cnglobant. La prcmirc solution pcrmct dc rcprscntcr dcs hirarchics compltcs graphiqucmcnt cn gardant la mcmc taillc dc policc dc caractrcs. Nous avons dit qu'un packagc cst galcmcnt un cspacc dc noms pour lcs lmcnts con tcnus. Pour nommcr un lmcnt, il cst ainsi possiblc d'utiliscr un nom qualifi (qualified Figure 6-2 Couleuauce eulre paclages 110 name), montrant lc chcmin rclatif dc l'lmcnt (s'il apparticnt au packagc du diagrammc) ou lc chcmin absolu complct. ans l'cxcmplc suivant, lc packagc P111 cst contcnu dans lc packagc P11 qui cst lui mcmc contcnu dans lc packagc P1. Son nom qualifi cst donc P1::P11::P111. 0peodaoce Sclon l'organisation du modlc ct lcs choix dc structuration, lcs lmcnts dc diffrcnts packagcs sont souvcnt rclis cntrc cux. Nous avons vu par cxcmplc quc lcs blocs pcuvcnt ctrc rclis par dcs associations, dcs compositions, dcs gnralisations, ctc. Ccs rclations cntrc lmcnts induiscnt dcs rclations dc dpcndancc cntrc lcs packagcs cnglobants : Figure 6-3 Couleuauce eulre paclages el uou qualii 111 unc rclation dc gnralisation cntrc lcs blocs 8loc1 ct 8loc2 appartcnant rcspcctivc mcnt aux packagcs P1 ct P2 sc traduit ainsi par unc rclation dc dpcndancc dc P1 vcrs P2 , unc association dircctionncllc cntrc lcs blocs 8loc1 ct 8loc2 appartcnant rcspcctivc mcnt aux packagcs P1 ct P2 sc traduit galcmcnt par unc rclation dc dpcndancc dc P1 vcrs P2. Il cst a notcr quc la flchc pointillc dc dpcndancc cntrc lcs packagcs cnglobants cst tou jours dans lc mcmc scns quc lcs flchcs dc gnralisation ou d'association oricntc. Figure 6-4 Relalious eulre blocs el relalious de dpeudauce eulre paclages AI I| N II0 N A sscciaticn bidirecticnneIIe Lorsqu'uhe associaIioh he possde pas de Ilche, hous avohs expliqu que cela sighiIie qu'elle esI havigable dahs les deux sehs. Les blocs aux exIrmiIs possdehI alors au mihimum uhe rIrehce chacuh sur l'auIre. Cela ihduiI uhe dpehdahce muIuelle au hiveau des packages ehglobahI, ce qui esI raremehI souhaiIable. 112 Si l'on vcut rcprscntcr lcs rclations cntrc lcs blocs dans lc contcxtc du packagc P1, on a alors intrct a utiliscr lc nom qualifi du bloc 8loc2, commc illustr sur la figurc suivantc. Figure 6-5 Relalious eulre blocs el espaces de uous AI I| N II0 N Fcrte cchsicn et faibIe ccupIage La sIrucIuraIioh d'uh modle esI uhe acIiviI dlicaIe. Flle doiI s'appuyer sur deux prihcipes IohdamehIaux : IorIe cohsioh ihIerhe eI Iaible couplage exIerhe. Le secohd prihcipe cohsisIe a mihimiser les dpehdahces ehIre packages, eh parIiculier eh viIahI les dpehdahces muIuelles eI les dpehdahces cycliques. 113 HodeI, view et viewpoiot Un modlc cst un typc particulicr dc packagc. Il constituc unc sortc dc racinc pour tous lcs packagcs d'unc hirarchic. Lc choix dc cc nivcau cst un choix mthodologiquc ou organisationncl. Un modlc (model) cst rcprscnt par lc symbolc du packagc agrmcnt d'un trianglc cn haut a droitc. Unc vuc (.ie.) cst unc sortc dc packagc utilisc pour montrcr unc pcrspcctivc particulirc sur un modlc, commc la scurit, ou lcs pcrformanccs. Figure 6-6 Reprseulaliou graphique d'uu uodele Figure 6-7 Reprseulaliou graphique d'uue vue el d'uu poiul de vue 114 Un point dc vuc (.ie.point) rcprscntc unc pcrspcctivc particulirc qui spcific lc con tcnu d'unc vuc. n dit qu'unc vuc sc conformc a un point dc vuc. Un point dc vuc con ticnt dcs proprits standardiscs par SysML, commc illustr sur l'cxcmplc suivant : concerns : lcs proccupations dcs partics prcnantcs , languages : lcs langagcs utiliss pour prscntcr la vuc , methods : lcs mthodcs utiliscs pour tablir la vuc , purpose : la raison dc la prscntation dc ccttc vuc , stakeholders : lcs partics prcnantcs ayant un intrct dans la vuc. Unc vuc importc un cnscmblc d'lmcnts cn fonction du point dc vuc conccrn. n gnral, unc vuc nc conticnt pas d'lmcnts, mais uniqucmcnt dcs diagrammcs. tude de cas Rcprcnons notrc tudc dc cas ct structurons lcs blocs dja crs cn packagcs. Rcgroupons lcs cxigcnccs cntrc cllcs, lcs cas d'utilisation, lcs blocs cxtricurs au radio rvcil, lcs typcs dc basc, ct lcs blocs intcrncs au radiorvcil dans dcs packagcs diffrcnts. nsuitc, nous pouvons rcprscntcr tous ccs packagcs ainsi quc lcur contcnu sur un dia grammc dc packagcs synthtiquc. Si nous ajoutons dcs dpcndanccs vcrs lc packagc rcgroupant lcs typcs communs, ainsi quc dcs cas d'utilisation vcrs lc contcxtc (qui con ticnt lcs actcurs), nous obtcnons lc diagrammc suivant : 115 Insistons sur lc fait quc lc dcoupagc cn packagcs propos ici cst un choix purcmcnt arbi trairc. n pcut galcmcnt rcgroupcr dcs lmcnts dc naturcs diffrcntcs dans un mcmc packagc (cas d'utilisation, blocs, activits, ctc.), pour insistcr davantagc sur la dcomposi tion architccturalc du systmc. Figure 6-8 Slrucluraliou du uodele eu paclages TROISIEMF PARTIF la mod|isation dynamique La partic III conccrnc la modlisation dynamiquc. Lcs diagrammcs comportcmcntaux inclucnt lc diagrammc dc cas d'utilisation, lc diagrammc d'activit, lc diagrammc dc squcncc ct lc diagrammc d'tats. Nous avons dja vu lc diagrammc dc cas d'utilisation au chapitrc 2 ct lc diagrammc dc squcncc au chapitrc 3. Nous vcrrons dans ccttc partic toutc la puissancc du diagrammc d'tats, pour modliscr lc cyclc dc vic dcs lmcnts a dynamiquc prdominantc, ainsi quc ccllc du diagrammc d'activit, qui pcrmct dc modliscr avcc prcision dcs algorithmcs complcxcs. 7 le diagramme d'tats Cc chapitrc prscntc lc diagrammc d'tats. Lc diagrammc dc machincs a tats dcrit lcs transitions cntrc tats ct lcs actions quc lc systmc ou scs partics raliscnt cn rponsc aux vncmcnts. IaI IrahsiIioh vhemehI cohdiIioh eIIeI acIiviI 118 Notatioo de base SysML a rcpris lc conccpt bicn connu dc machinc a tats finis, qui consistc a s'intrcsscr au cyclc dc vic d'unc instancc gnriquc d'un bloc particulicr au fil dc scs intcractions, dans tous lcs cas possiblcs. Ccttc vuc localc d'un bloc, qui dcrit commcnt il ragit a dcs vncmcnts cn fonction dc son tat courant ct commcnt il passc dans un nouvcl tat, cst rcprscntc graphiqucmcnt sous la formc d'un diagrammc d'tats. Sur lc prcmicr diagrammc d'tats, nous avons fait figurcr dcux tats appcls rcspcctivc mcnt tat 1 ct tat 2. L'vncmcnt 1 fait passcr dc tat 1 a tat 2, l'vncmcnt 2 portc un paramtrc appcl param ct fait rcvcnir dc tat 2 a tat 1. 119 Hcurcuscmcnt, tous lcs blocs du modlc nc rcquircnt pas nccssaircmcnt unc machinc a tats. Il s'agit donc dc trouvcr ccux qui ont un comportcmcnt dynamiquc complcxc nccssitant unc dcscription plus poussc. Ccla corrcspond a l'un dcs dcux cas suivants : 8.A .-8A | tat Uh IaI reprsehIe uhe siIuaIioh durahI la vie d'uh bloc pehdahI laquelle : il saIisIaiI uhe cerIaihe cohdiIioh , il excuIe uhe cerIaihe acIiviI , ou bieh il aIIehd uh cerIaih vhemehI. Uh bloc passe par uhe successioh d'IaIs durahI soh exisIehce. Uh IaI a uhe dure Iihie, variable seloh la vie du bloc, eh parIiculier eh IohcIioh des vhemehIs qui lui arrivehI. 8.A .-8A | vnement SpciIicaIioh d'uhe occurrehce qui peuI dclehcher uhe racIioh sur uh lmehI eI qui possde uhe localisaIioh dahs le Iemps eI l'espace. Uh vhemehI peuI porIer des paramIres qui maIrialisehI le IloI d'ihIormaIioh ou de dohhes reu par l'lmehI. Figure 7-1 Preuier diagrauue d'lals 120 lc bloc ragit diffrcmmcnt lors d'occurrcnccs succcssivcs du mcmc vncmcnt : cha quc typc dc raction caractrisc un tat particulicr , lc bloc doit organiscr ccrtaincs oprations dans un ordrc prcis : dans cc cas, dcs tats squcnticls pcrmcttcnt dc prciscr la chronologic forcc dcs vncmcnts d'activation. 8.A .-8A Iransiticn Uhe IrahsiIioh dcriI la racIioh d'uh bloc lorsqu'uh vhemehI se produiI (ghralemehI le bloc chahge d'IaI, mais pas IorcmehI). Fh rgle ghrale, uhe IrahsiIioh possde uh vhemehI dclehcheur, uhe cohdiIioh de garde, uh eIIeI eI uh IaI cible. 8.A .-8A C cnditicn Uhe cohdiIioh (ou cohdiIioh de garde) esI uhe expressioh boolehhe qui doiI Ire vraie lorsque l'vhemehI arrive pour que la IrahsiIioh soiI dclehche. Flle se hoIe ehIre crocheIs. Flle peuI cohcerher les valeurs du bloc cohcerh aihsi que les paramIres de l'vhemehI dclehcheur. Plusieurs IrahsiIiohs avec le mme vhemehI doivehI avoir des cohdiIiohs de garde diIIrehIes. Figure 7-2 Secoud diagrauue d'lals 121 Sur lc dcuximc diagrammc d'tats, nous avons ajout un troisimc tat appcl tat 3. L'vncmcnt 1 fait passcr dc tat 1 a tat 2 si la condition dc gardc Cond1 cst vraic, ct dc tat 1 a tat 3 si la condition dc gardc Cond2 cst vraic. 'un point dc vuc mthodo logiquc, il convicnt dc vrificr quc Cond2 cst bicn la condition invcrsc dc Cond1, ou car rmcnt d'utiliscr cxplicitcmcnt l'invcrsc dc Cond1 : |NT Cond1|. Prcisons quc si ni Cond1 ni Cond2 nc sont vraics, l'vncmcnt 1 cst pcrdu, ct quc si lcs dcux conditions sont vraics simultanmcnt, lc diagrammc cst dit nondtcrministc ct on nc pcut savoir dans qucl tat lc bloc passcra. Lorsqu'il y a plus dc dcux conditions, il cst rccommand d'utiliscr lc motcl e1se pour garantir l'cxhaustivit commc illustr sur lc diagrammc suivant, a la placc dc l'cxprcssion complcxc |NT Cond1 AN NT Cond2|. Notcz galcmcnt quc l'vncmcnt dclcnchcur pcut corrcspondrc a l'invocation d'unc opration du bloc : c'cst lc cas pour opration11 qui possdc un paramtrc ct qui fait passcr lc bloc dc tat 2 a tat 1. Figure 7-3 ulilisaliou du uolcl else 122 La notation dc basc du diagrammc d'tats cst donnc par la figurc suivantc. L'tat initial cst tat 1, l'tat final cst attcint a partir dc tat 3 suitc a l'vncmcnt dcstruction. La transition dclcnchc par opration11 dfinit un cffct appcl cffct1. tat 3 possdc unc activit durablc appclc activit1. ans l'tat 3, l'vncmcnt 2 dclcnchc un cffct mais nc fait pas changcr d'tat (transition rflcxivc). 8.A. -8A | ffet, acticn, activit Uhe IrahsiIioh peuI spciIier uh comporIemehI opIiohhel ralis par le bloc lorsque la IrahsiIioh esI dclehche. Ce comporIemehI esI appel eIIeI : cela peuI Ire uhe simple acIioh ou uhe squehce d'acIiohs. Uhe acIioh peuI reprsehIer la mise a jour d'uhe valeur, uh appel d'opraIioh, aihsi que l'ehvoi d'uh sighal a uh auIre bloc. L'excuIioh de l'eIIeI esI uhiIaire eI he permeI de Irai- Ier aucuh vhemehI supplmehIaire pehdahI soh droulemehI. Les acIiviIs durables (do-acIi- viIy)ohI uhe cerIaihe dure, peuvehI Ire ihIerrompues eI sohI associes aux IaIs. 8.A .-8A | tat initiaI, tat finaI Fh plus de la successioh d'IaIs hormaux correspohdahI au cycle de vie d'uh bloc, le diagramme d'IaIs comprehd galemehI deux pseudo-IaIs : l'IaI ihiIial du diagramme d'IaIs correspohd a la craIioh d'uhe ihsIahce , l'IaI Iihal du diagramme d'IaIs correspohd a la desIrucIioh de l'ihsIahce. Il esI possible d'uIiliser plusieurs IaIs Iihals (ou Iihaux, les deux se disehI...) pour disIihguer par exemple la desIrucIioh hormale de l'lmehI eh Iih de vie d'uhe desIrucIioh accidehIelle. 8.A .-8A C artcuche Le carIouche ghral du diagramme d'IaIs esI de la Iorme : s1m |mach1he a fafs] hom de 1a mach1he a fafs |hom du d1agamme] Le Iype d'lmehI de modle esI opIiohhel puisqu'il s'agiI Ioujours d'uhe machihe a IaIs. L'ouIil Magic0raw uIilise la lgre variahIe suivahIe : s1a1e mach1ne hom de 1`1mehf ehg1obahf |hom du d1agamme] comme oh peuI le voir sur le diagramme prcdehI. 123 CompImeots voemeot ioteroe ou temporeI La dmarchc dc construction d'un diagrammc d'tats pcut s'nonccr commc suit : rcprscntcr tout d'abord la squcncc d'tats qui dcrit lc comportcmcnt nominal d'un bloc, avcc lcs transitions qui y sont assocics , ajoutcr progrcssivcmcnt lcs transitions qui corrcspondcnt aux comportcmcnts altcrna tifs ou d'crrcur , compltcr lcs cffcts sur lcs transitions ct lcs activits dans lcs tats. Nous allons appliqucr ccttc dmarchc a la construction du diagrammc d'tats du bloc Radio. Figure 7-4 Nolaliou de base du diagrauue d'lals 124 Commcnons par dclarcr trois tats principaux corrcspondant aux trois positions du bouton physiquc pcrmcttant d'allumcr la radio, dc l'tcindrc, ou d'armcr l'alarmc du rvcil. Lcs vncmcnts dc changcmcnt dc position sont nomms powcr_N, powcr_FF, powcr_AUT. ans l'tat Radio N, nous avons dclar unc activit durablc do/mcttrc son. Notcz quc pour l'instant, nous nc distinguons pas d'tat initial, la cration du radio rvcil tant pcu intrcssantc a modliscr dans notrc contcxtc d'utilisation. n fait, dans l'tat Radio AUT, la radio cst silcncicusc jusqu'a cc quc l'hcurc courantc dcvicnnc l'hcurc d'alarmc : Wheh {hcouahfe = ha1ame}. nsuitc, la radio s'tcint toutc sculc au bout dc 59 mn : affe {S9 mh}. Figure 7-5 0bul du diagrauue d'lals du radiorveil AI I| N II0 N | vnement interne Les chahgemehIs d'IaI ihIerhes(chahge evehI) se modlisehI eh uIilisahI le moI-cl Wheh suivi d'uhe expressioh boolehhe dohI le passage de Iaux a vrai dclehche la IrahsiIioh. 125 tat composite Pour modliscr cc comportcmcnt plus dtaill, unc prcmirc solution consistc a trans formcr l'tat Radio AUT cn tat compositc (cncorc appcl supcrtat), ct a dcssincr lcs nouvcaux tats a l'intricur. Notcz qu'il faut ajoutcr un soustat initial pour indiqucr quc lorsquc lc bloc passc dans l'tat Radio AUT, il rcntrc cn fait dircctcmcnt dans lc sous tat Silcncicusc. AI I| N II0 N | vnement tempcreI Lepassage du Iemps (Iime evehI) se modlise eh uIilisahI le moI-cl affesuivi d'uhe expressioh reprsehIahI uhe dure, dcompIe a parIir de l'ehIre dahs l'IaI courahI. Figure 7-6 Suile du diagrauue d'lals du radiorveil 126 Ajoutons maintcnant lc comportcmcnt du bouton Snoozc . Quand l'utilisatcur appuic sur cc bouton, il intcrrompt provisoircmcnt lc son dc la radio qui sc ractivc automatiquc mcnt aprs 9 mn. 8.A .-8A | tat ccmpcsite Uh IaI composiIe (aussi appel super-IaI) permeI d'ehglober plusieurs sous-IaIs exclusiIs. Oh peuI aihsi IacIoriser des IrahsiIiohs dclehches par le mme vhemehI eI amehahI vers le mme IaI cible (comme power_ON ou power_OPP dahs l'exemple), IouI eh spciIiahI des IrahsiIiohs par- Iiculires ehIre les sous-IaIs. Figure 7-7 Suile du diagrauue d'lals du radiorveil avec suooze 127 Pour modliscr ccci, nous nc pouvons pas nous contcntcr dc rcvcnir dans lc soustat Silcncicusc. n cffct, il nous faut ractivcr lc son au bout dc 9 mn, donc unc transition dclcnchc par l'vncmcnt tcmporcl affe {9 mh}, qui rcvicnt dans l'tat n alarmc. Mais commc nous allons dans Silcncicusc ds l'cntrc dans lc supcrtat Radio AUT, ccla voudrait dirc quc la radio s'activc au bout dc 9 mn, sauf si l'hcurc d'alarmc arrivc avant... Il faut donc absolumcnt crcr un troisimc soustat dans Radio AUT. Unc autrc faon dc rcprscntcr un tat compositc consistc a ajoutcr un symbolc cn formc d'haltrc cn bas a droitc du rcctanglc a coins arrondis, puis a dcrirc lcs transitions cntrc scs soustats dans un autrc diagrammc. n pcut ainsi fairc dc la dcomposition hirar chiquc d'tats, cn gardant chaquc nivcau lisiblc ct rclativcmcnt simplc. n pcut mcmc rutiliscr dcs machincs a tats dcritcs par aillcurs. C'cst pour ccla qu'un tat compositc possdc un nom plus complcxc, du typc Nom dc l'tat : Nom dc la machinc a tats. Nous avons donc rcpris lc diagrammc prcdcnt cn transformant Radio AUT cn sous machinc a tats rcprscntc dans un sccond diagrammc. Figure 7-8 0iagrauue d'lals du radiorveil avec lal couposile uou expaus 128 Imaginons maintcnant quc nous souhaitons modliscr la mmorisation dc l'tat dc la radio aprs unc coupurc dc courant intcmpcstivc. Il faut dja ajoutcr dcux tats : Ali mcnt ct Nonalimcnt, avcc dcux transitions provoqucs par lcs vncmcnts branchcr ct dbranchcr. L'tat Alimcnt corrcspond cn fait au supcrtat dc tous ccux quc nous avons modlis jusqu'a prscnt. Au passagc, nous avons opt pour fairc dc l'tat Nonalimcnt notrc tat initial. Cc modlc cst bon si l'on considrc quc lorsquc l'on rcbranchc lc radiorvcil aprs l'avoir dbranch, il rctournc toujours dans l'tat Radio FF (soustat initial). Mais si l'on sou haitc un comportcmcnt un pcu plus intclligcnt qui conscrvc l'tat courant dc la radio (N, FF ou AUT) cn cas dc dbranchcmcnt intcmpcstif (avcc pilc dc sauvcgardc), Figure 7-9 0iagrauue d'lals de la sousuachiue Radio ^uJ0 129 cc modlc n'cst plus satisfaisant. SysML fournit unc construction trs pratiquc dans cc cas : lc pscudotat History. Lc diagrammc d'tats dcvicnt alors commc sur la figurc suivantc. Figure 7-10 0iagrauue d'lals avec gesliou de l'aliueulaliou AI I| N II0 N Fseudc- tat histcry L'acIivaIioh du pseudo-IaI PisIory permeI a uh super-IaI de se souvehir du derhier sous-IaI squehIiel qui IaiI acIiI avahI uhe IrahsiIioh sorIahIe. Uhe IrahsiIioh vers l'IaI PisIory rehd a hou- veau acIiI le derhier sous-IaI acIiI, au lieu de le rameher vers le sous-IaI ihiIial. 130 Si l'on voulait quc la notion d'historiquc sc propagc dans la hirarchic d'tats ct dc sous tats, qucl quc soit lc nivcau dc profondcur dc lcur dcomposition, SysML proposc un deep history, not avcc unc toilc cn cxposant du H : H. Un tat compositc pcut galcmcnt contcnir dcs rgions concurrcntcs, il suffit graphiquc mcnt dc lc sparcr par dcs traits pointills. Chaquc rgion pcut alors ctrc nommc (optionncl). llc conticnt scs proprcs tats ct scs proprcs transitions. Lcs rgions sont ditcs concurrcntcs car cllcs pcuvcnt volucr cn paralllc ct indpcndammcnt. L'tat courant dc l'lmcnt conccrn dcvicnt alors un vcctcur a plusicurs ligncs (autant quc dc rgions). Figure 7-11 0iagrauue d'lals avec gesliou de l'aliueulaliou el hislorique 131 ans l'cxcmplc prcdcnt, a partir dc l'tat 1, quand l'vncmcnt cv1 arrivc, l'lmcnt passc dans l'tat compositc 2. Ccla signific qu'il cst a la fois dans lcs tats disjoints 31 ct 41. nsuitc, suivant l'ordrc d'arrivc dcs vncmcnts cv2, cv3 ou cv4, chaquc rgion va volucr indpcndammcnt. Pour passcr a l'tat 5, il faudra quc l'lmcnt soit a la fois dans 32 ct 43 quand cv5 arrivcra. Figure 7-12 Nolaliou de l'hislorique prooud (deep hislory) Figure 7-13 Rgious coucurreules 132 Ccttc notion d'tats paralllcs cst ccrtcs intrcssantc, mais complcxific la lccturc du dia grammc d'tats. Avcc lcs conccpts dc partics, ports ct conncctcurs fournis par lc dia grammc dc bloc intcrnc (ibd) ct la possibilit dc dcomposition associc, il cst rclativc mcnt facilc dc sc passcr dcs rgions concurrcntcs cn dcrivant indpcndammcnt la dynamiquc dc chacunc dcs partics. Autres ootatioos avaoces Pour modliscr dcs cffcts qui sont cxcuts par toutcs lcs transitions cn cntrc ou cn sortic d'un tat, SysML proposc dcs raccourcis dc notation utilisant dcs mots cls a l'intricur du symbolc dc l'tat. Lc diagrammc qui suit utilisc ccs dcux notations, pour vitcr dc dupliqucr lcs cffcts sur lcs transitions (commc sur cclui d'aprs, plus fouillis). Notcz au passagc qu'un cffct pcut contcnir unc squcncc d'actions, commc cclui dclar sur la transition cntrc tat 1 ct tat 3 : l'action dc sortic scra cxcutc, suivic immdiatc mcnt dc l'action d'cntrc. Imaginons maintcnant quc l'activit 1 dc l'tat 3 sc tcrminc automatiqucmcnt unc fois quc lc traitcmcnt corrcspondant cst achcv avcc succs. Commcnt rcprscntcr la transi 8.A .-8A | ffets d'entre et de scrtie Uh eIIeI d'ehIre (ihIroduiI par le moI-cl ehfy a l'ihIrieur du symbole d'uh IaI) reprsehIe uh eIIeI qui esI excuI chaque Iois que l'oh ehIre dahs ceI IaI. Cela permeI de IacIoriser uh mme eIIeI qui sera dclehch par IouIes les IrahsiIiohs qui ehIrehI dahs l'IaI. L'eIIeI de sorIie (ihIroduiI par le moI-cl ex1f) esI l'eIIeI symIrique eh sorIie de l'IaI. 133 Figure 7-14 Eels d'eulre el de sorlie Figure 7-15 Mue diagrauue saus eels d'eulre el de sorlie 134 tion qui fait sortir dc l'tat a la compltion dc l'activit, puisqu'cllc n'cst pas dclcnchc par un vncmcnt dc rccption dc mcssagc, ni par un timcout : Nous pourrions utiliscr lc motcl whcn indiquant un changcmcnt intcrnc, mais commcnt nommcr cc changcmcnt simplcmcnt : SysML proposc un autrc raccourci dc notation : la transition dc compltion (ou transition automatiquc). 8.A .-8A Iransiticn de ccmpIticn Uhe acIiviI durable a l'ihIrieur d'uh IaI peuI Ire soiI : cohIihue : elle he cesse que lorsque se produiI uh vhemehI qui IaiI sorIir l'lmehI de l'IaI , Iihie : elle peuI galemehI Ire ihIerrompue par uh vhemehI, mais elle cesse de IouIe Iaoh d'elle-mme au bouI d'uh cerIaih Iemps, ou quahd uhe cerIaihe cohdiIioh esI remplie. La IrahsiIioh de complIioh d'uhe acIiviI Iihie, aussi appele IrahsiIioh auIomaIique, esI reprseh- Ie eh SysML sahs hom d'vhemehI hi moI-cl. Figure 7-16 0iagrauue d'lal avec lrausiliou de couplliou 135 AI I| N II0 N Iransiticn prcpre cu transiticn interne ? 0ahs le cas d'uhe IrahsiIioh propre, l'lmehI quiIIe soh IaI de dparI pour y reIourher aussiII. Mais cela peuI avoir des eIIeIs secohdaires hoh hgligeables comme l'ihIerrupIioh puis le redmar- rage d'uhe acIiviI durable, aihsi que la ralisaIioh d'eIIeIs eh ehIre ou eh sorIie de l'IaI. 0e plus, lorsqu'uh IaI esI dcompos eh sous-IaIs, uhe IrahsiIioh propre ramhe IorcmehI l'lmehI dahs le sous-IaI ihiIial. Pour rsoudre ce problme, SysML propose le cohcepI de IrahsiIioh ihIerhe (inter no | tr o n: ition). Uhe IrahsiIioh ihIerhe reprsehIe uh couple (vhemehI/eIIeI) qui h'a aucuhe ihIluehce secohdaire sur l'IaI courahI. Flle esI hoIe simplemehI a l'ihIrieur du symbole de l'IaI, comme illusIr sur la Iigure suivahIe. 0ahs l'IaI 2, vhemehI 2 peuI arriver eI dclehcher alors uhiquemehI eIIeI2. 0ahs l'IaI J, par cohIre, vhemehI 2 dclehche successivemehI : acIioh de sorIie, eIIeI2, puis acIioh d'ehIre. 0e plus, l'acIiviI 1 esI ihIerrompue, puis redmarre. Figure 7-17 Jrausiliou propre ou lrausiliou iulerue 136 Lc formalismc du diagrammc d'tats SysML conticnt cncorc quclqucs subtilits avanccs ct rarcmcnt indispcnsablcs (cntry point, cxit point, jonction, ctc.). Cc diagrammc cst trs Figure 7-18 |hM du Radiorveil siuule eu vB 137 puissant, mais aussi trs complcxc. N'oublicz pas d'adaptcr lc nivcau dc votrc modlisa tion a vos objcctifs ct a vos lcctcurs ! Aoimatioo du diagramme d'tats Ccrtains outils UML/SysML pcrmcttcnt d'allcr plus loin quc la simplc dition dc modlcs : citons cn particulicr l'animation (ou l'cxcution) dcs diagrammcs d'tats. C'cst lc cas par cxcmplc dc l'outil Rhapsody d'I8M/Tclclogic, ou d'Artisan Studio dc Artisan. livicr Cassc, spcialistc dc l'outil Artisan, m'a propos dc raliscr un prototypc cxcu tablc du Radiorvcil grcc a sa connaissancc cxpcrtc dc cc gcnrc d'outil. Il a galcmcnt ralis unc IHM cn \isual8asic, afin dc pcrmcttrc dc stimulcr lc diagrammc d'tats par dcs vncmcnts cxtcrncs, ct dc visualiscr lcs valcurs dcs sortics, commc dans la ralit. Lc tlchargcmcnt dc l'cxcmplc complct cst possiblc sur un sitc qui scra prcis sur cclui dcs ditions yrollcs : diagrammcs SysML Artisan (tlchargcablcs dans la vcrsion gratuitc Artisan Studio Uno disponiblc sur lc sitc dc l'ditcur : www.artisansoftwarctools.com/StudioUno) , sourccs \8 avcc l'cxcutablc rsultant dc l'IHM ct appcls a l'API Artisan pour la con ncxion cn modc simulation dc la vcrsion industricllc d'Artisan Studio, nccssitant unc liccncc , cxcutablc du modlc du radiorvcil gnr cn C a partir dc la vcrsion compltc d'Artisan (car Uno nc pcrmct pas la gnration dc codc ni la simulation) ct rcli a unc autrc IHM fonctionnant dc faon autonomc, sans l'outil Artisan Studio. Unc copic d'cran dc l'cxcution du diagrammc d'tats sous Artisan cst donnc ciaprs. 138 Figure 7-19 Copie d'crau de la siuulaliou du Radiorveil avec ^rlisau 8 le diagramme d'activit Cc chapitrc prscntc lc diagrammc d'activit. Lc diagrammc d'activit rcprscntc lcs flots dc donncs ct dc contrlc cntrc lcs actions. Il cst utilis majoritaircmcnt pour l'cxprcssion dc la logiquc dc contrlc ct d'cntrcs/sortics. acIiviI acIioh dcisioh joih/Iork 140 Notatioo de base Lc diagrammc d'activit cst l'un dcs diagrammcs dynamiqucs proposs par SysML. Il rcsscmblc fondamcntalcmcnt a un traditionncl diagrammc fonctionncl (a la SAT ou SA/RT), montrant lc flot dc contrlc d'action cn action. Mais il proposc dcs capacits supplmcntaircs importantcs commc ccllc dc pouvoir fairc lc licn avcc lcs blocs dc la modlisation structurcllc ct ccllc dc pouvoir modliscr dcs flux continus. 8.A. -8A Acticn L'acIioh esI l'uhiI IohdamehIale de spciIicaIioh comporIemehIale eh SysML. Flle reprsehIe uh IraiIemehI ou uhe IrahsIormaIioh. Les acIiohs sohI cohIehues dahs les acIiviIs, qui IourhissehI leur cohIexIe. 141 Lcs lmcnts dc basc du diagrammc d'activit sont lcs suivants : dcs actions , dcs flots dc contrlc cntrc actions , dcs dcisions (aussi appclcs branchcmcnts conditionncls) , un dbut ct unc ou plusicurs fins possiblcs. La notation graphiquc dc basc cst prscntc sur la figurc suivantc. ans lc diagrammc prcdcnt, l'activit dmarrc avcc l'action 1. Lorsquc l'action 1 cst tcrminc, cllc produit un jcton (token) qui va alimcntcr l'action 2, via lc flot dc contrlc. L'action 2 dmarrc alors ct possdc sa proprc durc. Lorsquc l'action 2 sc tcrminc, cllc produit a son tour un jcton qui arrivc jusqu'a la dcision. Suivant la condition K ou Not K, lc jcton va activcr l'action 3 ou l'action 1. Si c'cst l'action 3 qui cst activc, cllc s'cx cutc ct sa tcrminaison fait galcmcnt tcrmincr l'activit cnglobantc. Si c'cst l'action 1 qui a t activc dc nouvcau, cllc s'cxcutc ct sa tcrminaison fait dc nouvcau cxcutcr l'action 2 puis tcstcr la condition, ctc. 8.A. -8A FIct Uh IloI esI uh cohIrle de squehage pehdahI l'excuIioh de huds d'acIiviI. Les IloIs de cohIrle sohI de simples Ilches reliahI deux huds (acIiohs, dcisiohs, eIc.). Le diagramme d'acIiviI permeI galemehI d'uIiliser des IloIs d'objeIs (reliahI uhe acIioh eI uh objeI cohsomm ou produiI). 8.A. -8A cisicn Uhe dcisioh esI uh hud de cohIrle sIrucIur reprsehIahI uh choix dyhamique ehIre plusieurs cohdiIiohs qui doivehI Ire muIuellemehI exclusives. Flle esI reprsehIe par uh losahge qui pos- sde uh arc ehIrahI eI plusieurs arcs sorIahIs. 142 Par lc biais dcs jctons, lc conccpt dc flot dc contrlc pcrmct ainsi d'cxprimcr dcs con traintcs sur la squcncc d'cxcution dcs actions. Un jcton qui arrivc sur un flot dc contrlc cntrant pcrmct lc dmarragc dc l'action conccrnc. La tcrminaison d'unc action mct un jcton a disposition sur lc flot dc contrlc sortant. Lorsqu'un flot dc contrlc conncctc dcux actions, l'action ciblc a l'cxtrmit du flot dc contrlc nc pcut pas dmarrcr tant quc l'action sourcc nc s'cst pas tcrminc. 8.A .-8A C artcuche Le carIouche ghral du diagramme d'acIiviI esI de la Iorme : ac1 |acf1v1f] hom de 1`acf1v1f |hom du d1agamme] Le Iype d'lmehI de modle esI opIiohhel puisqu'il s'agiI Ioujours d'uhe acIiviI. Figure 8-1 Les bases du diagrauue d'aclivil 143 La dcision cst l'un dcs nouds dc contrlc proposs par SysML. Lc dbut ct la fin dc l'activit cnglobantc cn sont galcmcnt. Nous allons cxpliqucr maintcnant lc fork (dbranchcmcnt paralllc) ct lcjoin (synchronisation ou rcndczvous). ans cc nouvcau diagrammc, quc sc passctil a la tcrminaison dc l'action 3 : Lc jcton qui cst produit sc divisc cn passant lc fork. Puisquc lc fork possdc dcux flots cn sortic, ccla signific quc dcux jctons indpcndants cxistcnt maintcnant cn paralllc. Chacun dcs dcux jctons va activcr unc action. L'action 4 ct l'action 5 dmarrcnt donc cxactcmcnt cn mcmc tcmps ct s'cxcutcnt dc faon indpcndantc. k | F| k| N C | k seau de Fetri Ce cohcepI Iormel de jeIoh viehI du Iormalisme des rseaux de PeIri, uh modle maIhmaIique ser- vahI a reprsehIer divers sysImes (ihIormaIiques, ihdusIriels.) IravaillahI sur des variables discrIes. Uh rseau de PeIri se reprsehIe par uh graphe oriehI reliahI des places eI des IrahsiIiohs. 0eux places he peuvehI pas Ire relies ehIre elles, hi deux IrahsiIiohs. Les places peuvehI cohIehir des jeIohs, reprsehIahI ghralemehI des ressources dispohibles. La disIribuIioh des jeIohs dahs les places esI appele marquage du rseau de PeIri. Les ehIres d'uhe IrahsiIioh sohI les places des- quelles parI uhe Ilche poihIahI vers ceIIe IrahsiIioh, eI les sorIies d'uhe IrahsiIioh sohI les places poihIes par uhe Ilche ayahI pour origihe ceIIe IrahsiIioh. Uh rseau de PeIri volue lorsqu'oh excuIe uhe IrahsiIioh : des jeIohs sohI reIirs dahs les places eh ehIre de ceIIe IrahsiIioh eI des jeIohs sohI dposs dahs les places eh sorIie de ceIIe IrahsiIioh. L'excuIioh d'uhe IrahsiIioh esI uhe opraIioh ihdivisible qui esI dIermihe par la prsehce du jeIoh sur la place d'ehIre. 8.A. -8A Fcrk Uh Iork esI uh hud de cohIrle sIrucIur reprsehIahI uh dbrahchemehI parallle. Il esI repr- sehI par uhe barre horizohIale ou verIicale qui possde uh arc ehIrahI eI plusieurs arcs sorIahIs. Le Iork duplique le jeIoh ehIrahI sur chaque IloI sorIahI. Les jeIohs sur les arcs sorIahIs sohI ihdpeh- dahIs eI cohcurrehIs. 144 Figure 8-2 0iagrauue d'aclivil avec paralllisue 145 La fin d'activit n'aura licu quc lorsquc lc join aura produit son jcton. r, un join nc pro duit son jcton dc sortic quc lorsquc tous scs flots d'cntrc possdcnt lcur jcton. Il faut donc quc lcs dcux actions 4 ct 5 soicnt tcrmincs, dans un ordrc quclconquc, pour quc l'activit cnglobantc sc tcrminc. 8.A. -8A Icin Uh joih esI uh hud de cohIrle sIrucIur reprsehIahI uhe syhchrohisaIioh ehIre acIiohs (rehdez- vous). Il esI reprsehI par uhe barre horizohIale ou verIicale qui possde uh arc sorIahI eI plusieurs arcs ehIrahIs. Le joih he produiI soh jeIoh de sorIie que lorsqu'uh jeIoh esI dispohible sur chaque IloI ehIrahI. AI I| N II0 N Icin specificaticn Le comporIemehI par dIauI du joih peuI Ire redIihi par uhe spciIicaIioh : joih speciIicaIioh. Il doiI s'agir d'uhe expressioh logique uIilisahI les homs des IloIs ehIrahIs, qui doivehI dohc Ire hom- ms pour l'occasioh. Figure 8-3 oiu speciicaliou 146 Un autrc noud dc contrlc intrcssant cst la fin dc flot (flo. final). Contraircmcnt a la fin d'activit qui cst globalc a l'activit, la fin dc flot cst localc au flot conccrn ct n'a pas d'cffct sur l'activit cnglobantc. nrichissons notrc cxcmplc : ajoutons unc troisimc action paralllc. Nous nc voulons pas synchroniscr ccttc nouvcllc action 6 avcc lcs dcux prcdcntcs. Nous souhaitons quc la tcrminaison d'action 6 n'ait aucun impact sur lc rcstc dc l'activit, alors quc la tcrminaison conjointc dcs actions 4 ct 5 intcrrompc l'activit, mcmc si l'action 6 cst cn cours. Figure 8-4 |iu de lol 147 Il cxistc un dcrnicr noud dc contrlc asscz subtil : la fusion (merge). C'cst l'invcrsc dc la dcision : lc mcmc symbolc du losangc, mais ccttc foisci avcc plusicurs flots cntrants ct un scul sortant. ans lc pctit cxcmplc prcdcnt, si l'on avait rcli dircctcmcnt lcs actions a11 ct a12 a l'action a2, ccllcci n'aurait jamais t activc ! n cffct, cllc aurait attcndu indfinimcnt un jcton sur chaquc flot cntrant, donc dcux jctons, alors qu'il n' cxistc qu'un scul jcton... La solution consistc donc a intcrcalcr un noud dc fusion, pcrmcttant dc garantir un scul flot cntrant a l'action a2, qui scra bicn activc ds quc l'un dcs dcux flots sortant dc a11 ou dc a12 scra portcur d'un jcton. Si nous rcvcnons au diagrammc 4, on pourrait argumcntcr quc l'action 1 possdc dcux flots cntrants, ct qu'il n'y aura jamais un jcton sur chaquc ! La solution corrcctc consistc donc a ajoutcr unc fusion commc illustr sur lc prochain diagrammc. Figure 8-5 |usiou de lols (uerge) 148 bject oode, object fIow Lc diagrammc d'activit scrt non sculcmcnt a prciscr la squcncc d'actions a raliscr, mais aussi cc qui cst produit, consomm ou transform au cours dc l'cxcution dc ccttc activit. Figure 8-6 Exeuple de base coupll 149 Pour ccla, SysML proposc lcs conccpts dc flot d'objct (object flo.) ct dc brochc d'cntrc ou sortic (input output pin). Unc action traitc lcs jctons placs sur scs brochcs d'cntrc. Ccs jctons, qui pcuvcnt ctrc typs par dcs blocs (dclars dans un bdd), sont consomms ou transforms par l'action, puis placs sur lcs brochcs dc sortic pour alimcntcr d'autrcs actions. Pour l'instant, nous n'avions parl quc dcs flots dc contrlc cntrc actions, lcs flots d'objct vicnncnt donc notablcmcnt compltcr lc pouvoir d'cxprcssion du diagrammc d'activit. Grcc aux flots d'objct, SysML ajoutc la possibilit dc typcr lcs jctons qui circulcnt cntrc lcs actions. ans lc pctit cxcmplc qui suit, l'action act1 possdc unc brochc dc sortic appclc output1. l'action act2 possdc unc brochc d'cntrc appclc input2, ainsi quc dcux brochcs dc sortic appclcs output21 ct output22. La brochc dc sortic output22 cst typc par lc bloc 8loc1, avcc unc multiplicit optionncllc |0..1|. Sur lc diagrammc prcdcnt, lcs brochcs, non rclics, sont dcssincs avcc unc flchc indi quant la dircction d'cntrc ou dc sortic. Par contrc, lorsquc lcs brochcs dc plusicurs Figure 8-7 ^clious avec broches AI I| N II0 N MuItipIicit des brcches Chaque broche possde uhe mulIipliciI qui dcriI le hombre mihimum eI maximum de jeIohs que l'acIioh va cohsommer ou produire au cours d'uhe excuIioh. Les broches jouehI aihsi uh rle de buIIer o les jeIohs d'ehIre eI de sorIie peuvehI Ire sIocks avahI ou pehdahI l'excuIioh de l'acIioh. Si la mulIipliciI mihimale esI zro, la broche esI opIiohhelle, sihoh elle esI obligaIoire. 150 actions sont rclics par un flot d'objct, lcs flchcs sont gnralcmcnt omiscs puisquc lc scns cst vidcnt. Rcvcnons sur lcs flots d'objct. Nous avons vu unc prcmirc faon dc lcs rcprscntcr : unc lignc conncctant unc brochc dc sortic a unc brochc d'cntrc avcc unc flchc vcrs ccttc dcrnirc. Il cst clair quc la dircction du flot d'objct doit ctrc compatiblc avcc lc scns dcs brochcs aux cxtrmits, mais aussi quc lcs typcs dcs brochcs doivcnt ctrc compatiblcs. Ccla signific quc lcs blocs typant lcs brochcs conncctcs sont idcntiqucs ou dans unc rcla Figure 8-8 ^clious avec broches el lol d'objel AI I| N II0 N Smantique d'excuticn Rsumohs les rgles d'acIivaIioh eI de Iermihaisoh d'uhe acIioh : l'acIiviI ehglobahIe doiI Ire eh excuIioh , pour qu'uhe acIioh dmarre, il IauI uh jeIoh sur chaque IloI de cohIrle eI au moihs le hombre mihimum de jeIohs sur chaque broche d'ehIre , l'acIioh dmarre alors soh excuIioh eI Ious les jeIohs prsehIs sur les broches d'ehIre sohI dis- pohibles pour Ire cohsomms , pour qu'uhe acIioh se Iermihe, il IauI que le hombre de jeIohs produiIs sur chaque broche de sor- Iie soiI suprieur ou gal a la mulIipliciI mihimale , uhe Iois que l'acIioh esI Iermihe, Ious les jeIohs prsehIs sur les broches de sorIie sohI dispohi- bles pour les acIiohs cohhecIes eh ehIre. Uh jeIoh esI galemehI dispohible sur chaque IloI de cohIrle eh sorIie , la Iermihaisoh de l'acIiviI ehglobahIe ehIrahe la Iermihaisoh de l'acIioh, quelque soiI soh pro- pre IaI. 151 tion dc gnralisation/spcialisation. Lorsquc lcs typcs dcs brochcs sont idcntiqucs, unc notation altcrnativc cst possiblc commc illustr sur lc diagrammc suivant. n pcut alors omcttrc lcs brochcs ct rcprscntcr un uniquc rcctanglc intcrmdiairc appcl noud d'objct (object node). Lc flot d'objct conncctc dans cc cas l'action productricc au noud d'objct, puis lc noud d'objct a l'action consommatricc. CompImeots AppeI d'activit Lcs activits fournisscnt lc contcxtc dans lcqucl lcs actions s'cxcutcnt. Mais lcs activits cllcsmcmcs pcuvcnt ctrc utiliscs ct surtout rutiliscs a travcrs dcs actions d'appcl (call- Beha.iorction). Il cst ainsi possiblc dc sc constitucr dcs bibliothqucs d'activits rutili sablcs, dcrivant dcs algorithmcs classiqucs dans lc contcxtc mticr. Il cst galcmcnt pos siblc dc dcrirc dcs traitcmcnts trs complcxcs dc faon dcsccndantc avcc un nombrc dc nivcaux dc dcomposition arbitrairc. Figure 8-9 ^clious avec broches, lol d'objel el uoud d'objel 152 L'action d'appcl cst rcprscntc graphiqucmcnt par unc fourchc a droitc dc la boitc d'action, ainsi quc par la chainc : hom d`acf1oh : hom d`acf1v1f. L'action d'appcl pouvant possdcr dcs brochcs d'cntrc/sortic, l'activit appclc pcut pos sdcr a son tour dcs paramtrcs qui pcuvcnt ctrc typs, inclurc unc dircction (in, out, inout) ct unc multiplicit : hom du paamfe : fype du paamfe|mu1f1p11c1f] Ccs paramtrcs sont rcprscntablcs graphiqucmcnt par dcs rcctanglcs a l'cxtricur du cadrc du diagrammc d'activit prcisant l'algorithmc dc l'activit rutilisc. Il n'y a pas dc notation particulirc pour indiqucr la dircction dcs paramtrcs, du coup il cst rccom mand dc positionncr lcs paramtrcs d'cntrc a gauchc ct ccux dc sortic a droitc. Unc fois quc lcs paramtrcs dc l'activit ont t connccts aux actions a l'intricur, la dircction dcvicnt cxplicitc. Figure 8-10 Nolaliou de l'acliou d'appel Figure 8-11 Nolaliou de l'acliou d'appel avec parauelres 153 Lc diagrammc prcdcnt montrc dcux actions a l'intricur dc l'activit rutilisablc. L'action act1 consommc lc paramtrc d'cntrc p1 ct produit lc paramtrc dc sortic p2. n paralllc, act1 activc act2 si la condition K cst vraic. ans cc cas, act2 produit lc para mtrc dc sortic p3. 5igoaux et voemeots n plus dc consommcr ct dc produirc dcs paramtrcs, unc activit pcut rcccvoir ct mcttrc dcs signaux. L'idc fortc cst dc pcrmcttrc a dcs activits dc communiqucr cn incluant dans unc activit l'mission d'un signal ct dans unc autrc la rccption d'vnc mcnts. Il faut utiliscr pour ccla dcs typcs d'action particulicrs, possdant chacun unc rcprscntation graphiquc spcifiquc : accept e.ent action ; Figure 8-12 Nolaliou de l'aclivil avec parauelres 154 send signal action ; accept time e.ent. Cc dcrnicr typc (accept time e.ent) corrcspond a l'cxpiration d'un timcr (after) ou a l'occurrcncc d'unc datc (at). Il n'a qu'unc brochc dc sortic mais pas dc brochc d'cntrc. Nous vcrrons l'utilisation la plus courantc dcs accept e.ent actions dans lc paragraphc sui vant (rgion intcrruptiblc). kgioo ioterruptibIe Nous avons cxpliqu quc toutcs lcs actions sc tcrmincnt lorsquc l'activit cnglobantc sc tcrminc. Il pcut arrivcr qu'on vcuillc tcrmincr sculcmcnt un souscnscmblc dcs actions pour unc raison particulirc. Figure 8-13 Nolaliou des siguaux 155 SysML proposc lc conccpt dc rgion intcrruptiblc pour modliscr ccttc situation. llc cst rcprscntc graphiqucmcnt par un rcctanglc aux bords arrondis cn pointills qui cnglobc un souscnscmblc dcs actions dc l'activit. Il doit cxistcr galcmcnt un mcanismc d'intcrruption, typiqucmcnt unc rccption d'vncmcnt (accept e.ent) suivic d'un flot d'intcrruption, rcprscnt par un clair. Figure 8-14 Rgiou iulerruplible 156 ans l'cxcmplc prcdcnt, l'vncmcnt Intcrruption cst significatif si un jcton sc trouvc dans l'action 2 ou dans l'action 3. ans cc cas, il droutc lc jcton prscnt vcrs l'action 6, au licu dc poursuivrc sa routc naturcllc vcrs lc fork avant lcs actions 4 ct 5. Lcs actions autrcs quc l'action 2 ou l'action 3 nc sont pas intcrruptiblcs. kgioo d'expaosioo Unc rgion d'cxpansion cst un noud dans unc activit qui acccptc un cnscmblc d'objcts cn cntrc, lcs traitc individucllcmcnt ct finalcmcnt lcs rctournc cn sortic tous traits. Ccla pcrmct dc rcprscntcr fincmcnt lc traitcmcnt dc chaquc objct d'un cnscmblc, dans lc cas d'un algorithmc commun. La rgion d'cxpansion sc rcprscntc commc la rgion intcrrup tiblc, mais avcc un port multiplc (quatrc carrs au licu d'un). Un motcl pcrmct dc pr ciscr commcnt cst trait l'cnscmblc : 1feaf1ve : lcs objcts dc l'cnscmblc sont traits squcnticllcmcnt , paa11e1 : lcs objcts dc l'cnscmblc sont traits cn paralllc , sfeam1hg : lcs objcts dc l'cnscmblc sont traits commc un scul flot, un pcu commc sur unc chainc dc montagc. Chaquc objct n'a pas a attcndrc quc lc traitcmcnt dc l'objct prcdcnt soit compltcmcnt tcrmin. Sur l'cxcmplc prcdcnt, l'cnscmblc d'objcts cn cntrc dc la rgion d'cxpansion cst trait individucllcmcnt ct squcnticllcmcnt par lcs actions 2 ct 3, puis fourni globalcmcnt cn sortic. 157 CompImeots sur Ies fIots d'objet Lc comportcmcnt par dfaut d'unc action (ou activit) consistc a acccptcr dcs jctons cn cntrc au dmarragc dc ccllcci, ct a fournir lcs jctons cn sortic a sa tcrminaison. Au con trairc, dans lc cas d'unc brochc ou d'un paramtrc dc typc {sfeam}, l'action ou l'activit va pouvoir continucr a acccptcr dcs cntrcs ou a produirc dcs sortics pcndant son cxcu tion. Pcnscz typiqucmcnt a la lccturc d'unc vido sur intcrnct : la lccturc commcncc alors quc la vido continuc dc sc chargcr cn mmoirc. Pour pcrmcttrc la modlisation dc systmcs continus, SysML pcrmct dc caractriscr la naturc du dbit qui circulc sur lc flot : continu ou discrct. n utilisc pour ccla dcs strotypcs : cohf1huous ct d1scefe . Par dfaut, un flot cst suppos discrct. Figure 8-15 Rgiou d'expausiou 158 SysML autorisc galcmcnt la dfinition dc taux (rate) sur lcs flux dc typc {sfeam} pour pcrmcttrc dc caractriscr lcs distributions d'cntrcs ct dc sortics. Un flot continu cst cn fait unc sortc dc flot pour lcqucl lc taux scrait infini, ou invcrscmcnt la priodc cntrc dcux jctons nullc. L'action 7 sur lc diagrammc prcdcnt possdc trois brochcs : unc brochc d'cntrc dc typc cohf1huous , unc cntrc discrtc dc typc {sfeam} , unc sortic discrtc avcc un taux dc 1 par sccondc. Figure 8-16 Jypes de lols Figure 8-17 |lols avec probabilil 159 SysML pcrmct d'ajoutcr unc indication dc probabilit aux flots sortant d'unc dcision. ans cc cas, tous lcs flots altcrnatifs doivcnt possdcr unc probabilit ct la sommc dcs probabilits doit ctrc galc a 1. prateur de cootrIe Unc action avcc dcs cntrcs/sortics discrtcs ct pas dc typc {sfeam} a unc smantiquc dc dmarragc ct d'arrct simplc. Par contrc, pour unc action avcc dcs cntrcs/sortics conti nucs ou dc typc {sfeam}, il faut pouvoir intcrvcnir dc l'cxtricur sur l'activation ou la dsactivation. SysML proposc a cct cffct unc valcur dc contrlc (Control!alue) dc typc numration nc possdant quc dcux valcurs possiblcs : enable ct disable. La valcur enable corrcspond a un jcton dc contrlc cntrant, alors quc la valcur disable corrcspond a la tcr minaison forcc dc l'action. Un comportcmcnt particulicr, appcl opratcur dc contrlc (ControlOperator) cst charg dc produirc ccttc valcur dc contrlc a travcrs un paramtrc dc sortic, dc typc Control!alue. Cct opratcur dc contrlc doit ctrc dcrit a son tour par un diagrammc d'activit cxpli quant commcnt cst produitc la Control!alue. Un cxcmplc cst donn sur lc diagrammc sui vant, qui illustrc la dsactivation d'activits si lc courant cst abscnt, commc dans lc cas du radiorvcil. Figure 8-18 ^ppel de l'opraleur de coulrle 160 tude de cas Pour notrc radiorvcil, unc prcmirc faon dc dmarrcr lc diagrammc d'activit consistc a rcprscntcr lcs grandcs fonctionnalits, aprs lc branchcmcnt lcctriquc. Lcs fonctions principalcs (grcr l'horlogc, affichcr, projctcr l'hcurc ct diffuscr la radio) sont toutcs dmarrcs cn paralllc ds lc branchcmcnt. L'activit cnglobantc nc s'arrctc quc si l'alimcntation lcctriquc n'cst plus disponiblc. Pour ccla, unc rgion intcrruptiblc cst tout a fait adaptc. Si nous nous plaons dans l'hypothsc plus favorablc d'unc alimcntation dc sccours, con formmcnt aux cxigcnccs, l'abscncc d'alimcntation lcctriquc dsactivc toutcs lcs fonc tionnalits, sauf la gcstion dc l'horlogc qui cst prscrvc. Unc faon lgantc dc lc mod liscr consistc a utiliscr un opratcur dc contrlc, commc cxpliqu dans lc paragraphc prcdcnt. Figure 8-19 0iagrauue d'aclivil de l'opraleur de coulrle 161 Si nous nous intrcssons maintcnant aux flots d'objct, on pcut dirc quc l'action Grcr l'horlogc fournit toutcs lcs minutcs l'horodatagc courant aux actions d'affichagc ct dc projcction. Ccs dcux dcrnircs produiscnt unc sortic continuc dc typc Horodatagc. c mcmc, l'action diffuscr la radio rcoit cn pcrmancncc dcs ondcs radio qu'cllc trans formc cn son. Figure 8-20 0bul du diagrauue d'aclivil de l'lude de cas 162 Figure 8-21 Exeuple d'opraleur de coulrle Figure 8-22 Exeuple de lols d'objel 163 Figure 8-23 ^ulre exeuple de lols couliuus UATRIEMF PARTIF la mod|isation transverse La partic I\ conccrnc la modlisation transvcrsc. SysML pcrmct dc dcrirc plusicurs typcs dc licns dc traabilit cntrc lmcnts dc modlisation, ct cn particulicr dc mcttrc cn ouvrc lc conccpt fondamcntal d'allocation. Nous vcrrons galcmcnt commcnt dcrirc dcs quations grcc au nouvcau diagrammc paramtriquc. 9 le diagramme paramtrique Cc chapitrc prscntc lc diagrammc paramtriquc. Lc diagrammc paramtriquc pcrmct dc rcprscntcr dcs contraintcs sur lcs valcurs dc paramtrcs systmc tcls quc pcrformancc, fiabilit, massc, ctc. Il s'agit d'unc spcialisation du diagrammc dc bloc intcrnc o lcs sculs blocs utilisablcs sont dcs contraintcs cntrc paramtrcs pcrmcttant dc rcprscntcr graphiqucmcnt dcs quations ct dcs rclations mathmatiqucs. Cc nouvcau diagrammc fournit ainsi un support prcicux pour lcs tudcs d'analysc systmc. cohIraihIe quaIioh value bihdihg exigehce veriIiedBy 166 Notatioo de base Lc diagrammc paramtriquc cst unc tcchniquc dc modlisation spcifiquc a SysML (par rapport a UML 2) pcrmcttant d'intgrcr dans lc modlc dcs rcprscntations dc con traintcs ou d'quations a dcs fins d'analysc. Chaquc contraintc cst d'abord dfinic par dcs paramtrcs ainsi qu'unc rglc dcrivant l'vo lution dcs paramtrcs lcs uns par rapport aux autrcs. Unc contraintc cst rcprscntc par un bloc avcc un strotypc cohsfa1hf . Il faut donc dclarcr lcs contraintcs dans un bdd, commc pour lcs blocs plus classiqucs. Un cxcmplc donnant la dclaration dc dcux lois lcc triqucs, la loi d'hm ct l'cffct Joulc, cst montr sur la figurc suivantc. Notcz quc lcs con traintcs apparaisscnt galcmcnt dans lc bloc cnglobant Radiorvcil si nous lc souhaitons. 167 Lcs contraintcs s'appuicnt cnsuitc sur lc diagrammc paramtriquc, qui cst unc spcialisa tion du diagrammc dc bloc intcrnc, pour pcrmcttrc lcur composition ct lcur misc cn rcla tion. Lcs constraint properties sont rcprscntcs diffrcmmcnt dcs part properties dc l'ibd : cc sont dcs rcctanglcs aux coins arrondis. u coup, lc motcl cohsfa1hf cst optionncl. 8.A .-8A C cntrainte (rappeI) SysML ihcluI uh mcahisme ghral d'expressioh de cohIraihIes dahs IouI Iype de diagramme sous Iorme d'uhe simple chahe de caracIres ehIre accolades. Il h'impose pas de lahgage parIiculier, car le modlisaIeur peuI avoir ehvie d'uIiliser celui qui esI le plus perIihehI dahs soh cohIexIe. Uhe cohIraihIe peuI aihsi Ire mohIre soiI dahs uh comparIimehI spciIique appel cohsIraihIs, soiI dahs le comparIimehI du hom de l'lmehI, soiI sous Iorme d'uhe hoIe aIIache ihcluahI le IexIe de la cohIraihIe. Figure 9-1 Reprseulalious graphiques des coulraiules daus les diagrauues SysML 168 Lcs paramtrcs formcls dcs quations sont rcprscnts par dcs ports ct pcuvcnt ainsi ctrc connccts lcs uns aux autrcs. Ils sont dclars sous la formc habitucllc : hom du paamfe : Type |mu1f1p11c1f]. Montrons la conncxion dcs dcux quations prcdcntcs via lcurs paramtrcs communs sur lc diagrammc suivant. Lcs dcux lmcnts dc typc constraint property rcprscntcnt chacun un usagc dcs dcux contraintcs dclarcs prcdcmmcnt. Lcs paramtrcs dc typc \olt ct Figure 9-2 0iuiliou de coulraiules daus uu bdd 8.A .-8A C artcuche Le carIouche ghral du diagramme paramIrique esI de la Iorme : par |fype d`1mehf] hom de 1`1mehf |hom du d1agamme] le Iype d'lmehI peuI Ire uh bloc ou uhe cohIraihIe. 169 Ampcrc sont connccts cntrc cux. Notcz qu'ils sont graphiqucmcnt compltcmcnt a l'intricur dc la contraintc, a la diffrcncc dcs ports classiqucs dans l'ibd. Ils pourraicnt avoir dcs noms diffrcnts, cc qui pourrait ctrc lc cas si lcs quations avaicnt t dfinics dans dcs contcxtcs diffrcnts. Il suffit quc lcs typcs soicnt compatiblcs pour pouvoir lcs rclicr cntrc cux. Figure 9-3 Sysleue d'qualious daus uu diagrauue paraulrique AI I| N II0 N iagramme structureI ! Le diagramme paramIrique esI uh diagramme sIrucIurel ! uahd oh exprime la loi d'Ohm sous la Iorme U = RI, cela he sighiIie pas que l'oh calcule U a parIir des valeurs R eI I. Il h'y a pas de hoIioh d'ehIre/sorIie. Oh auraiI d'ailleurs pu crire R = U/I ou I = U/R. voila pourquoi le diagramme para- mIrique h'esI pas uhe spcialisaIioh du diagramme d'acIiviI, mais d'uh diagramme sIrucIurel : le diagramme ihIerhe de bloc. 170 CompImeots La contraintc s'instancic cnsuitc cn rcliant dcs valcurs (appartcnant aux blocs du modlc) aux paramtrcs formcls : c'cst la notion dc .alue binding. Sur lc diagrammc prcdcnt, on voit apparaitrc trois .alue properties : tcnsion, rsistancc ct dissipation, qui ont t dclarcs dans lc bloc Radiorvcil au nivcau du bdd. Pour pr ciscr a qucl bloc apparticnncnt ccs valcurs, rcmarqucz la notation donnant lc chcmin complct, par cxcmplc : Pad1o-ve11::fehs1oh. Unc notation pointc cst galcmcnt possiblc (Pad1o-ve11.fehs1oh), ainsi quc l'affichagc du nom du posscsscur cntrc parcnthscs audcssous. Figure 9-4 0iagrauue paraulrique avec value biudiug 171 L'objcctif principal du diagrammc paramtriquc cst dc supportcr dcs analyscs plus pous scs d'ingnicric avcc dcs outils commc Matlab/Simulink, ctc. Un autrc objcctif cst dc rclicr ccs analyscs aux cxigcnccs, cn montrant commcnt unc contraintc ou quation pcut scrvir a vrificr unc cxigcncc particulirc. Imaginons quc nous avions idcntifi unc cxigcncc non fonctionncllc sur lc radiorvcil conccrnant la dissipation dc chalcur occasionnc. Nous pouvons maintcnant rclicr la con traintc portant sur l'cffct Joulc a ccttc cxigcncc, puisquc la formulc dc l'quation pcrmct justcmcnt dc calculcr ccttc dissipation cn fonction dcs paramtrcs lcctriqucs (P - UI ou P - RI 2 , puisquc U - RI). L'intrct du diagrammc paramtriquc ticnt dcs capacits quc commcnccnt a offrir lcs di tcurs SysML d'injcctcr dcs donncs dans d'autrcs outils d'analysc. Citons d'orcs ct dja lc couplagc dc Magicraw avcc ParaMagic qui pcrmct d'cffcctucr dcs simulations a partir dcs contraintcs du diagrammc paramtriquc, cn s'appuyant sur un solvcur mathmatiquc appcl Mathcmatica. n pcut galcmcnt citcr lc couplagc dc l'outil I8MTclclogic/ Rhapsody vcrs Matlab/Simulink. Figure 9-5 Lieu eulre exigeuces el coulraiules 10 A||ocation et traabi|it Cc chapitrc prscntc lc conccpt d'allocation ct scs possibilits dc rcprscntation. SysML inclut cn cffct un mcanismc gnral pcrmcttant dc rcprscntcr diffrcnts typcs d'allocation, incluant l'allocation dc fonctions a dcs composants, dc composants logiqucs a composants physiqucs, ainsi quc du softwarc au hardwarc. allocaIioh IraabiliI 173 Le coocept d'aIIocatioo L'allocation cst un mcanismc gnral cn ingnicric systmc pour intcrconncctcr dcs l mcnts dc diffrcnts typcs. Par cxcmplc, pour rclicr un flot d'objct dans un diagrammc d'activit a un conncctcur dans un diagrammc dc bloc intcrnc (ibd), ou unc action a unc partic, ctc. Ccs rclations sont souvcnt prscntcs dans un modlc classiquc, mais uniqucmcnt sous formc dc commcntaircs ou dc notcs, donc pcu visiblcs. Lc gros apport dc SysML avcc lc mcanismc d'allocation cst dc rcndrc visiblc ct cxploitablc toutcs ccs intcrconncxions. Commc lc mcanismc d'allocation cst trs gnral, SysML n'a pas ajout un diagrammc spcifiquc, mais plutt un mcanismc avcc plusicurs rcprscntations graphiqucs dispo niblc dans dc nombrcux diagrammcs. 174 Nous avons d'aillcurs dja vu unc sortc d'allocation dans lc chapitrc 2 avcc lc diagrammc d'cxigcnccs : la rclation saf1sfy pcut tout a fait ctrc vuc commc l'allocation dcs cxi gcnccs aux blocs. Les diffreotes reprseotatioos 0iagramme de dfioitioo de bIocs (bdd) Lc diagrammc dc dfinition dc blocs pcrmct dc dcrirc dcs allocations cntrc dcs lmcnts rcprscnts graphiqucmcnt commc dcs rcctanglcs : principalcmcnt dcs blocs, mais aussi dcs activits, ctc. La prcmirc rcprscntation graphiquc cst donnc par unc flchc pointillc avcc lc motcl a11ocafe . Unc sccondc faon consistc a montrcr lcs rclations dans un compartimcnt supplmcn tairc. L'lmcnt point par la rclation a11ocafe possdc unc proprit a11ocafedIom, l'lmcnt ciblc possdc unc proprit a11ocafedTo. 8.A .-8A A IIccaticn Uhe allocaIioh esI uhe relaIioh ehIre lmehIs de Iypes diIIrehIs, ou de hiveaux d'absIracIioh diI- IrehIs. Flle permeI d'allouer uh lmehI cible a uh ou plusieurs lmehIs sources. Flle peuI se Iraduire graphiquemehI par uhe Ilche poihIille avec le moI-cl a11ocafe , uh comparIimehI spciIique avec les moIs-cls a11ocafedIom, a11ocafedTo, uhe hoIe, eIc. 175 Notcz quc lc bloc radio possdc galcmcnt unc proprit Saf1sf1es, dcpuis lc chapitrc sur la gcstion dcs cxigcnccs. Unc troisimc faon dc rcprscntcr ccs proprits consistc a lcs fairc figurcr dans unc notc attachc. Figure 10-1 ^llocaliou d'uue aclivil a uu bloc daus uu bdd Figure 10-2 ^llocalious daus des couparliueuls Figure 10-3 ^llocalious daus des uoles 176 0iagramme d'activit Lc diagrammc d'activit pcut ctrc augmcnt cn rcprscntant l'allocation dcs actions sur lcs blocs, grcc au conccpt dc partition (ou s.imlane). Si nous rcprcnons lc diagrammc d'activit du chapitrc 8 avcc la rgion intcrruptiblc ct quc nous ajoutons lcs couloirs d'allocation, nous obtcnons lc diagrammc d'activit suivant. Figure 10-4 ^llocalious daus des couloirs du diagrauue d'aclivil 177 Nous pouvons galcmcnt alloucr plus fincmcnt lcs brochcs d'cntrc/sortic, ct lcs flots d'objct du diagrammc d'activit aux ports ct aux conncctcurs structurcls. Pour notrc tudc dc cas, nous avons rcpris lc diagrammc d'activit ralis au chapitrc 8, rcprscntant lcs brochcs ct flots d'objct cntrc lcs fonctions. Nous lui avons ajout l'alloca tion dcs brochcs dc sortic aux ports dcs blocs conccrns, ainsi quc l'allocation du flot d'objct cntrc Grcr l'horlogc ct Affichcr, ct lc conncctcur structurcl cntrc lcs partics Hor logc ct Affichcur du Radiorvcil. Figure 10-5 ^llocalious de broches el lols d'objels a des parlies, porls el couuecleurs 178 keprseotatioo tabuIaire Commc c'cst galcmcnt lc cas pour lcs cxigcnccs, SysML prconisc dc pouvoir rcpr scntcr lcs allocations sous formc tabulairc. Il cst a la chargc dc l'outil dc modlisation dc fournir cc gcnrc dc rcprscntation, cn complmcnt dcs rcprscntations graphiqucs. La figurc suivantc cst gnrc automatiqucmcnt par Magicraw a partir dcs diagrammcs prcdcnts. n fait, l'outil pcrmct mcmc d'allcr plus loin cn montrant lcs allocations dc faon hirar chiquc cntrc lmcnts plus fins (commc ports ct brochcs, par cxcmplc). Figure 10-6 Reprseulaliou labulaire des allocalious 179 Figure 10-7 Reprseulaliou labulaire dlaille des allocalious 180 0iagramme de bIoc ioteroe (ibd) Lc diagrammc dc bloc intcrnc pcrmct d'ajoutcr dcs allocations d'actions, flots, ctc. pr scnts dans lc diagrammc d'activit. Nous avons vu lc mcanismc invcrsc dans lc para graphc prcdcnt. C'cst la quc l'on apprcic l'aidc d'un outil SysML (par rapport a un pur outil dc dcssin) qui doit savoir rpcrcutcr lcs allocations dclarcs unc fois pour toutcs sur l'cnscmblc dcs diagrammcs o figurcnt dcs lmcnts conccrns. Figure 10-8 ^llocalious daus uu ibd 181 Unc autrc utilisation courantc dc la rclation d'allocation consistc a rclicr dcs lmcnts structurcls cntrc cux. Il cst souvcnt rccommand dans dc nombrcuscs mthodologics d'ingnicric systmc dc commcnccr par unc dcomposition structurcllc guidc par lcs fonctions, souvcnt qualific d'architccturc logiquc. Puis, dans un sccond tcmps, d'intro duirc dcs choix tcchniqucs pour dcrirc unc ou plusicurs architccturcs physiqucs impl mcntant l'architccturc logiquc. La rclation cntrc ccs dcux nivcaux d'architccturc sc fait parfaitcmcnt par lcs rclations d'allocation. ans notrc tudc dc cas, nous avons voqu la possibilit au nivcau dc l'implmcntation d'avoir dcux horlogcs sparcs pour l'affichcur ct lc projcctcur, ou unc horlogc uniquc garantissant la cohrcncc dcs affichagcs. Au nivcau logiquc, il n'y a qu'unc fonctionnalit Figure 10-9 ^llocalious slruclurelles eulre uiveaux logique el physique 182 dc gcstion d'horlogc. n pourrait donc fairc unc prcmirc dcscription structurcllc dans cc scns, puis cxplorcr plusicurs architccturcs physiqucs candidatcs afin dc raliscr unc ana lysc comparativc (trade-off analysis). Sur lc diagrammc prcdcnt, nous avons fait figurcr ctc a ctc unc vuc logiquc simplific dc la structurc du rvcil, ct unc vuc physiquc simplific dc cc mcmc rvcil. Notcz lcs stro typcs 1og1que ct phys1que quc nous avons crs, puis ajouts aux dcux blocs, afin dc mcttrc cncorc plus cn vidcncc lc point dc vuc adopt pour chacun. Notcz aussi quc SysML pcrmct dc dcssincr unc vuc simplific dc la structurc intcrnc d'un bloc dans un compartimcnt particulicr ds lc bdd. Ccla nous facilitc ainsi la vic pour dclarcr lcs rclations d'allocation qui sont dc vritablcs projcctions du mondc logiquc vcrs lc mondc physiquc. 0iagramme de squeoce ans lc chapitrc 3, nous avons montr commcnt lc diagrammc dc squcncc systmc pcrmct dc dcrirc dcs intcractions boitc noirc cntrc lc systmc a l'tudc ct scs actcurs. Ccla pcut d'aillcurs scrvir asscz dircctcmcnt a drivcr dcs scnarios dc tcst fonctionncl. Maintcnant quc nous avons idcntifi dcs partics a l'intricur du systmc ct prcis lcurs conncxions structurcllcs, nous allons pouvoir dcomposcr la lignc dc vic rcprscntant lc systmc pour montrcr lcs intcractions intcrncs (scnario boitcblanchc ). n pcut sc scrvir dc cc nivcau pour cn drivcr dcs scnarios dc tcst d'intgration cntrc lcs diffrcnts blocs qui vont constitucr lc systmc, ct ccci dc faon rcursivc. Sur lc diagrammc dc squcncc suivant, j'ai rcpris lc scnario nominal simplifi du cas d'utilisation principal : ctrc rvcill a l'hcurc. A la placc dc la lignc dc vic rcprscntant lc systmc boitc noirc (Radiorvcil), j'ai fait figurcr lcs trois partics importantcs qui partici pcnt au scnario : l'horlogc, la radio ct lc projcctcur. 183 Lc scnario boitcblanchc prcisc maintcnant quc c'cst l'horlogc qui jouc lc rlc dc con trlcur ct qu'cllc activc cn paralllc la radio ct lc projcctcur. Au passagc, cn crcusant a cc nivcau, on s'apcroit qu'on avait oubli dc fairc figurcr la projcction sur lc scnario boitc noirc. C'cst ccla aussi la modlisation itrativc ct incrmcntalc ! Figure 10-10 0couposiliou slruclurelle daus le diagrauue de squeuce A Acronymes et dfinitions Ccttc anncxc rappcllc lcs diffrcnts acronymcs utiliss dans lc livrc ainsi quc lcs dfinitions lcs plus importantcs. 185 Acrooymes A FIS ^ssocialiou rauaise d'iuguierie sysleue bdd blocl deiuiliou diagrau C F Coulrol |low0iagrau F 0ala |low0iagrau dss diagrauue de squeuce sysleue ibd iulerual blocl diagrau IN C 0S| |ulerualioual Couucil ou Sysleus Eugiueeriug IS |uguierie sysleue MA k I | Modeliugaud ^ualysis o Real Jiue aud Eubedded sysleus 0 MC 0bjecl Mauageueul Croup SA I Slruclured ^ualysis aud 0esigu Jechuic SA lk I Slruclured ^ualysis wilh Real Jiue exleusious S0 C Sysleu 0u Chip SysML Sysleus ModeliugLauguage uC use Case uML uuiied ModeliugLauguage 186 0fioitioos A cteur Rle jou par uh uIilisaIeur humaih ou uh auIre sysIme qui ihIeragiI direcIemehI avec le sysIme Iudi. Uh acIeur parIicipe a au moihs uh cas d'uIilisaIioh. A cteur gnraIis 0eux acIeurs, ou plus, peuvehI prsehIer des similiIudes dahs leurs relaIiohs aux cas d'uIilisaIioh. Oh peuI l'exprimer eh crahI uh acIeur ghralis, vehIuellemehI absIraiI, qui modlise les aspecIs commuhs aux diIIrehIs acIeurs cohcreIs. Acticn L'acIioh esI l'uhiI IohdamehIale de spciIicaIioh comporIemehIale eh SysML. Flle reprsehIe uh IraiIemehI ou uhe IrahsIormaIioh. Les acIiohs sohI cohIehues dahs les acIiviIs, qui IourhissehI leur cohIexIe. Activaticn Les bahdes verIicales le lohg d'uhe lighe de vie d'uh diagramme de squehce reprsehIehI des priodes d'acIivaIioh. Flles sohI opIiohhelles, mais permeIIehI de mieux comprehdre la Ilche poih- Iille du message de reIour. TouIeIois, dahs uh souci de simpliciI, hous he l'uIiliserohs ghrale- mehI pas. 187 A sscciaticn Uhe associaIioh reprsehIe uhe relaIioh smahIique durable ehIre deux blocs. Fxemple : Uhe persohhe peuI possder des voiIures. La relaIioh possde esI uhe associaIioh ehIre les blocs Persohhe eI voiIure. AIIehIioh : mme si le verbe qui homme uhe associaIioh semble privil- gier uh sehs de lecIure, uhe associaIioh ehIre blocs esI par dIauI bidirecIiohhelle. 0ohc impliciIemehI, l'exemple prcdehI ihcluI galemehI le IaiI qu'uhe voiIure esI possde par uhe persohhe. Les composiIiohs eI les agrgaIiohs sohI des cas parIiculiers d'associaIioh. 8 Icc abstrait Uh bloc esI diI absIraiI si sa dIihiIioh he permeI pas de l'ihsIahcier. Oh se serI souvehI de blocs absIraiIs dahs les arbres de ghralisaIioh pour IacIoriser des propriIs sIrucIurelles ou comporIemehIales commuhes a d'auIres blocs cohcreIs (ihsIahciables). Uh bloc absIraiI esI reprsehI eh iIalique. C as d'utiIisaticn Uh cas d'uIilisaIioh (use case) reprsehIe uh ehsemble de squehces d'acIiohs qui sohI ralises par le sysIme eI qui produisehI uh rsulIaI observable ihIressahI pour uh acIeur parIiculier. Chaque cas d'uIilisaIioh spciIie uh comporIemehI aIIehdu du sysIme cohsidr comme uh IouI, sahs impo- ser le mode de ralisaIioh de ce comporIemehI. Il permeI de dcrire ce que le IuIur sysIme devra Iaire, sahs spciIier commehI il le Iera. Uh cas d'uIilisaIioh doiI Ire reli a au moihs uh acIeur. 188 C cnditicn Uhe cohdiIioh (ou cohdiIioh de garde) esI uhe expressioh boolehhe qui doiI Ire vraie lorsque l'vhemehI arrive pour que la IrahsiIioh soiI dclehche. Flle se hoIe ehIre crocheIs. Flle peuI cohcerher les valeurs du bloc cohcerh aihsi que les paramIres de l'vhemehI dclehcheur. Plusieurs IrahsiIiohs avec le mme vhemehI doivehI avoir des cohdiIiohs de garde diIIrehIes. Ccntrainte Uhe cohIraihIe esI simplemehI uhe cohdiIioh porIahI sur uh ou plusieurs lmehIs du modle qui doiI Ire vriIie par les lmehIs cohcerhs. Flle esI hoIe ehIre accolades }, eI peuI Ire ihsre au besoih dahs uhe hoIe graphique (le posI-iI). cisicn Uhe dcisioh esI uh hud de cohIrle sIrucIur reprsehIahI uh choix dyhamique ehIre plusieurs cohdiIiohs qui doivehI Ire muIuellemehI exclusives. Flle esI reprsehIe par uh losahge qui pos- sde uh arc ehIrahI eI plusieurs arcs sorIahIs. | ffet, acticn, activit Uhe IrahsiIioh peuI spciIier uh comporIemehI opIiohhel ralis par le bloc lorsque la IrahsiIioh esI dclehche. Ce comporIemehI esI appel eIIeI : cela peuI Ire uhe simple acIioh ou uhe squehce d'acIiohs. Uhe acIioh peuI reprsehIer la mise a jour d'uhe valeur, uh appel d'opraIioh, aihsi que l'ehvoi d'uh sighal a uh auIre bloc. L'excuIioh de l'eIIeI esI uhiIaire eI he permeI de Irai- Ier aucuh vhemehI supplmehIaire pehdahI soh droulemehI. Les acIiviIs durables (o o- o ctivitj ) ohI uhe cerIaihe dure, sohI ihIerrupIibles eI sohI associes aux IaIs. 189 | tat Uh IaI reprsehIe uhe siIuaIioh durahI la vie d'uh bloc pehdahI laquelle : il saIisIaiI uhe cerIaihe cohdiIioh , il excuIe uhe cerIaihe acIiviI , ou bieh il aIIehd uh cerIaih vhemehI. Uh bloc passe par uhe successioh d'IaIs durahI soh exisIehce. Uh IaI a uhe dure Iihie, variable seloh la vie du bloc, eh parIiculier eh IohcIioh des vhemehIs qui lui arrivehI. | tat ccmpcsite Uh IaI composiIe (aussi appel super-IaI) permeI d'ehglober plusieurs sous-IaIs exclusiIs. Oh peuI aihsi IacIoriser des IrahsiIiohs dclehches par le mme vhemehI eI amehahI vers le mme IaI cible, IouI eh spciIiahI des IrahsiIiohs parIiculires ehIre les sous-IaIs. | vnement SpciIicaIioh d'uhe occurrehce remarquable qui a uhe localisaIioh dahs le Iemps eI l'espace. Uh v- hemehI peuI porIer des paramIres qui maIrialisehI le IloI d'ihIormaIioh ou de dohhes ehIre l- mehIs. |xigence Uhe exigehce permeI de spciIier uhe capaciI ou uhe cohIraihIe qui doiI Ire saIisIaiIe par uh sys- Ime. Flle peuI spciIier uhe IohcIioh que le sysIme devra raliser ou uhe cohdiIioh de perIor- mahce, de IiabiliI, de scuriI, eIc. Les exigehces servehI a Iablir uh cohIraI ehIre le cliehI eI les ralisaIeurs du IuIur sysIme. 190 FIct Uh IloI esI uh cohIrle de squehage pehdahI l'excuIioh de huds d'acIiviI. Les IloIs de cohIrle sohI de simples Ilches reliahI deux huds (acIiohs, dcisiohs, eIc.). Le diagramme d'acIiviI permeI galemehI d'uIiliser des IloIs d'objeIs (reliahI uhe acIioh eI uh objeI cohsomm ou produiI). Fcrk Uh Iork esI uh hud de cohIrle sIrucIur reprsehIahI uh dbrahchemehI parallle. Il esI repr- sehIe par uhe barre horizohIale ou verIicale qui possde uh arc ehIrahI eI plusieurs arcs sorIahIs. Le Iork duplique le jeIoh ehIrahI sur chaque IloI sorIahI. Les jeIohs sur les arcs sorIahIs sohI ihd- pehdahIs eI cohcurrehIs. Interface Uhe ihIerIace esI uh ehsemble d'opraIiohs absIraiIes (sahs algoriIhmes) cohsIiIuahI uhe sorIe de cohIraI qui devra Ire ralis par uh ou plusieurs blocs. CraphiquemehI, uhe ihIerIace esI soiI repr- sehIe comme uh bloc avec uh moI-cl 1hfeface ou le symbole d'uh cercle, soiI direcIe- mehI comme uh cercle dahs la hoIaIioh cohdehse. Icin Uh joih esI uh hud de cohIrle sIrucIur reprsehIahI uhe syhchrohisaIioh ehIre acIiohs (rehdez- vous). Il esI reprsehI par uhe barre horizohIale ou verIicale qui possde uh arc sorIahI eI plusieurs arcs ehIrahIs. Le joih he produiI soh jeIoh de sorIie que lorsqu'uh jeIoh esI dispohible sur chaque IloI ehIrahI. 191 Ligne de vie ReprsehIaIioh de l'exisIehce d'uh lmehI parIicipahI dahs uh diagramme de squehce. Uhe lighe de vie possde uh hom eI uh Iype. Flle esI reprsehIe graphiquemehI par uhe lighe ver- Iicale eh poihIills. Message FlmehI de commuhicaIioh uhidirecIiohhel ehIre lighes de vie qui dclehche uhe acIiviI dahs le desIihaIaire. La rcepIioh d'uh message provoque uh vhemehI chez le rcepIeur. La Ilche poihIille reprsehIe uh reIour. Cela sighiIie que le message eh quesIioh esI le rsulIaI direcI du message prcdehI. Uh message syhchrohe (meIIeur bloqu eh aIIehIe de rpohse) esI reprsehI par uhe Ilche pleihe, alors qu'uh message asyhchrohe esI reprsehI par uhe Ilche vi- de. La Ilche qui boucle (message rIlexiI) permeI de reprsehIer uh comporIemehI ihIerhe. MuItipIicit Uhe mulIipliciI esI uh ihIervalle avec uhe borhe ihIrieure eI uhe borhe suprieure : la borhe ihIrieure peuI-Ire O (opIiohhelle) ou h'imporIe quel ehIier posiIiI , la borhe suprieure peuI Ire 1, plusieurs (hoI ), ou uh ehIier posiIiI. La mulIipliciI esI hoIe ehIre crocheIs. Si les borhes sohI gales, oh h'criI qu'uhe valeur eI la valeur par dIauI eh SysML esI |1|. Aux deux exIrmiIs d'uhe associaIioh, oh doiI Iaire Iigurer uhe ihdicaIioh de mulIipliciI. Flle sp- ciIie sous la Iorme d'uh ihIervalle le hombre d'ihsIahces qui peuvehI parIiciper a uhe relaIioh avec uhe ihsIahce de l'auIre bloc dahs le cadre d'uhe associaIioh. Fackage Mcahisme ghral de regroupemehI d'lmehIs Iels que blocs, ihIerIaces, mais aussi acIeurs, cas d'uIilisaIioh, eIc. Les packages peuvehI Ire imbriqus dahs d'auIres packages. Uh package cohsIiIue uh espace de homs (no m e: po ce) pour les lmehIs qu'il cohIiehI. 192 Scnaric Uh schario reprsehIe uhe successioh parIiculire d'ehchahemehIs, s'excuIahI du dbuI a la Iih du cas d'uIilisaIioh, uh ehchahemehI IahI l'uhiI de descripIioh de squehces d'acIiohs.Uh cas d'uIilisaIioh cohIiehI eh ghral uh schario homihal eI plusieurs scharios alIerhaIiIs (qui se Iermi- hehI de Iaoh hormale) ou d'erreur (qui se IermihehI eh chec). Oh peuI d'ailleurs proposer uhe dIihiIioh diIIrehIe pour uh cas d'uIilisaIioh : ehsemble de sc- harios d'uIilisaIioh d'uh sysIme relis par uh buI commuh du poihI de vue de l'acIeur prihcipal . Strctype Les moIs-cls SysML comme 1hc1ude eI exfehd sohI hoIs ehIre guillemeIs Iypogra- phiques. Mais hous pouvohs galemehI crer hos propres moIs-cls, Iels que fagmehf (pour ihdiquer qu'uh cas d'uIilisaIioh h'esI qu'uh IragmehI IacIoris par d'auIres cas d'uIilisaIioh) ou secohda1e (pour ihdiquer qu'uh cas d'uIilisaIioh esI moihs imporIahI que les auIres). Ces moIs-cls ihvehIs par les modlisaIeurs s'appellehI alors des sIroIypes. Systme Uh sysIme esI uh ehsemble de composahIs ihIerrelis qui ihIeragissehI les uhs avec les auIres d'uhe mahire orgahise pour accomplir uhe IihaliI commuhe (NASA 1995). Uh sysIme esI uh ehsemble ihIgr d'lmehIs qui accomplissehI uh objecIiI dIihi (INCOSF 2OO4). transiticn Uhe IrahsiIioh dcriI la racIioh d'uh bloc lorsqu'uh vhemehI se produiI (ghralemehI le bloc chahge d'IaI, mais pas IorcmehI). Fh rgle ghrale, uhe IrahsiIioh possde uh vhemehI dclehcheur, uhe cohdiIioh de garde, uh eIIeI eI uh IaI cible. B Diagrammes lA, 1opCased et Artisan Studio Ccttc anncxc prscntc d'autrcs diagrammcs raliss pour l'tudc dc cas Radiorvcil avcc lcs outils ntcrprisc Architcct, TopCascd ct Artisan Studio. Ccs diagrammcs ont t faits indpcndammcnt dc ccux raliss pour lc livrc avcc Magicraw. Ils nc sont pas toujours cohrcnts cntrc cux, mais illustrcnt lcs possibilits dc modlisation offcrtcs par d'autrcs outils. 194 IopCased Figure 8 -1 JopCased . exigeuces priucipales 195 Figure 8 -2 JopCased . exigeuces d'aliueulaliou 196 Figure 8 -3 JopCased . exigeuces d'aichage 197 Figure 8 -4 JopCased . lieus eulre exigeuces el cas d'ulilisaliou 198 Figure 8 -5 JopCased . bdd siuple 199 Figure 8 -6 JopCased . bdd diuissaul des value Jypes 200 Figure 8 -7 JopCased . bdd coupll 201 Figure 8 -8 JopCased . lieus eulre exigeuces, cas d'ulilisaliou el blocs 202 oterprise Architect (A) Figure 8 -9 E^ . dbul de l'ibd du radiorveil 203 Figure 8 -10 E^ . porls el iuleraces du radiorveil 204 Figure 8 -11 E^ . diuiliou des iuleraces du radiorveil 205 Figure 8 -12 E^ . diagrauue de squeuce de couler la radio 206 Figure 8 -13 E^ . diagrauue de squeuce de lre rveill 207 Figure 8 -14 E^ . diagrauue de squeuce dcoupos de lre rveill 208 Figure 8 -15 E^ . diagrauue d'lals 209 Artisao 5tudio (eocore merci Iivier Casse !) Figure 8 -16 ^rlisau . relalious eulre exigeuces 210 Figure 8 -17 ^rlisau . cas d'ulilisaliou 211 Figure 8 -18 ^rlisau . relalious eulre exigeuces, cas d'ulilisaliou el cas de lesl 212 Figure 8 -19 ^rlisau . diagrauue de squeuce sysleue 213 Figure 8 -20 ^rlisau . bdd couplel 214 Figure 8 -21 ^rlisau . diagrauue d'lals 215 Figure 8 -22 ^rlisau . diagrauue d'lals auiu 216 Figure 8 -23 ^rlisau . diagrauue d'aclivil 1 A acteur 35 classification 41 gnralis 43 principal 38 action 122, 140 accept event action 153 accept time event 154 action dappel 151 smantique dexcution 150 send signal action 154 activation 50 activit 122 paramtre 152 signal 153 AFIS 3 agrgation 67 allocation 173 Artisan Studio 137 ASA 10 association 69 bidirectionnelle 111 multiplicits 70 unidirectionnelle 71 2 B bdd (block definition diagram) 59, 174 bloc 60 bloc abstrait 88 broche 149 C cadre rfrence 54 cas dutilisation 36 description 40 relations 43 cas de test 31 classification 72 composition 66 condition 120 connecteur 84 connecteur dassemblage 102 connecteur de dlgation 102 contrainte 65, 167 ControlOperator 159 ControlValue 159 D dcision 141 dpendance 111 deriveReqt 28 3 diagramme 16 animation 137 cartouche 25 activit 139, 176 tats 117 exigences 23 de bloc interne (ibd) 80, 180 de cas dutilisation 34 de dfinition de blocs (bdd) 59, 174 de packages 106 de squence systme (dss) 48, 182 cadre rfrence 54 contraintes temporelles 56 fragment combin 52 paramtrique 165 dss (diagramme de squence systme ) 48 E effet 122 entre 132 de sortie 132 espace de noms 109 tat 119 tat composite 126 tat final 122 4 tat initial 122 pseudo-tat History 129 rgion concurrente 130 vnement 119 vnement interne 124 vnement temporel 125 exigence 24 drivation 28 raffinement 28 F flot 141 continu 157 fin de flot 146 flot dobjet 149 stream 158 flow port 89 composite 94 conjugu 95 flow specification 94 fork 143 forme tabulaire 32, 178 fragment combin 52 fusion 147 5 I ibd (internal block diagram) 80, 180 INCOSE 14 ingnierie systme (IS) 1 norme 3 interface 96 item flow 92 J jeton 141 join 143 L ligne de vie 49 M MagicDraw VI, 33, 63, 171, 178 MARTE 13 Mathematica 171 Matlab 171 message 50 modle 8, 113 modlisation 8 exigences 22 multiplicit 63 N ud dobjet 151 6 nom qualifi 109 norme EIA 632 5 IEEE 1 220 4 ISO 15 288 6 O object flow 148 object node 148 OMG (Object Management Group) 10 oprateur de contrle 159 opration 75 P package 107 contenance 109 dpendance 111 modle 113 point de vue 114 vue 113 paquetage 108 partie 61, 65, 82 partition 176 point de vue 114 port 89 composite 94 7 flow port 90 port conjugu 95 port de comportement 102 port de dlgation 102 port standard 89, 98 profil UML 16 R rception 75 rfrence 82 refine 28 rgion concurrente 130 expansion 156 interruptible 155 relation agrgation 67 association 69 composition 66 extension 43 inclusion 43 utilisation 97 de contenance 109 de gnralisation 43 ralisation 97 8 rseau de Petri 143 S SA/RT 9 SADT 9 scnario 40 Simulink 171 spcialisation 74 strotype 46 stream 157 super-tat 126 SysML diagramme 16 histoire 14 site Web 16 UML 2/SysML 17 System on a Chip (SoC) 14 systme 2 T test case 31 traabilit 31 transition 120 de compltion 134 interne 135 propre 135 9 U UML 10 diagramme 10 profil 16 UML 2/SysML 17 use case (UC) 36 V valeur 60 de contrle 159 value binding 170 value type 63 vue 113