Helsingin yliopisto Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti XPerf Kaavioista luettavat UML-laajennukset Tommi Koivula Antti Levomäki Juha Mondolin Timo Suomela Versio 1.1 13. huhtikuuta 2003
1 Versiohistoria Versio Päivämäärä Kommentti / muutokset Tekijä 1.0 13.4.2003 Sekvenssikaavion silmukoiden muutokset. Timo Suomela 1.1 13.4.2003 Sekvenssikaavion viestien parametrien muutokset. Tommi Koivula
2 Luokkakaavio... 3 Sekvenssikaavio... 3 Yhteistyökaavio... 6 Tilakaavio... 8 Aktiviteettikaavio... 8
3 Luokkakaavio Ei UML-laajennuksia. Sekvenssikaavio Sekvenssikaaviossa voi olla useita silmukoita. Jokaista silmukkaa varten pitää määritellä seuraavat UML-laajennukset: Loop.firstMessageNumber Silmukan tunniste (id) ja numero (n) erotettuna alaviivalla esim: loop1_5 Silmukan id ensimmäisen viestin numero on n.collaboration Loop.lastMessageNumber Silmukan tunniste Silmukan id (id) ja numero (n) viimeisen viestin erotettuna alaviivalla numero on n.collaboration esim: loop1_3 Loop.minimum Silmukan tunniste Silmukka id (id) ja numero (n) suoritetaan vähintään erotettuna alaviivalla n kertaa.collaboration esim: loop1_12 Loop.maximum Silmukan tunniste Silmukka id (id) ja numero (n) suoritetaan erotettuna alaviivalla korkeintaan n kertaa.collaboration esim: loop1_32
4 Loop.typical Silmukan tunniste Silmukka id (id) ja numero (n) suoritetaan esim: loop1_20 keskimäärin n kertaa.collaboration Olion elinikä määritellään seuraavilla UML-laajennuksilla. Lifetime Numero (n) Olioon liittyvän.firstmessagenumber ensimmäisen viestin järjestysnumero.object Lifetime Numero (n) Olioon liittyvän.lastmessagenumber viimeisen viestin järjestysnumero.object Seuraavia UML-laajennuksia pitää olla stimulaatiossa täsmälleen yksi: OrderNumber Numero (n) Viestin järjestysnumero
5 Constraint.time Numero (n) Viesti kestää n aikayksikköä Realtime.minimum Numero (n) Viestin pienin mahdollinen käsittely- ja siirtoaika Realtime.maximum Numero (n) Viestin suurin mahdollinen käsittely- ja siirtoaika Realtime.typical Numero (n) Viestin keskimääräinen käsittely- ja siirtoaika Seuraava UML-laajennus voi sisältyä stimulaatioon: Guard Merkkijono Viestin lähettämiseen liittyvä ehto
6 Stimulaation viestiin liittyvät parametrit ja viestin paluuarvo määritellään seuraavilla UML-laajennuksilla: Parameter.Variable.name Parametrin Viestin järjestysnumero n ja muuttujaparametri, nimi s muodossa jonka n_s. Esim. järjestysnumero on n 1_integer tai ja nimi s. 2_float. Parameter.Object.name Parametrin Viestin järjestysnumero n ja olioparametri, jonka nimi s muodossa järjestysnumero on n n_s. Esim. ja nimi s. 1_String tai 2_Object. ReturnValue Merkkijono Viestin paluuarvo Yhteistyökaavio Yhteistökaavion viestiin pitää määritellä seuraavat UML-laajennukset:
7 Predecessor Numero (n) Viestiä edeltävän viestin järjestysnumero Guard Merkkijono Viestin sisältämä ehto OrderNumber Numero (n) Viestin järjestysnumero Probability Numero (n) Siirtymän todennäköisyys Stereotype Merkkijono Viestin stereotyyppi Counter.minimum Numero (n) Silmukka suoritetaan vähintään n kertaa
8 Counter.maximum Numero (n) Silmukka suoritetaan korkeintaan n kertaa Counter.typical Numero (n) Silmukka suoritetaan keskimäärin n kertaa Tilakaavio Ei UML-laajennuksia. Aktiviteettikaavio Seuraavat UML-laajennukset pitää määritellä aktiviteettikaavion tiloille: Realtime.minimum Numero (n) Tilan suoritus kestää vahintään n aikayksikköä Realtime.maximum Numero (n) Tilan suoritus kestää korkeintaan n aikayksikköä
9 Realtime.typical Numero (n) Tilan suoritus kestää keskimäärin n aikayksikköä Jos aktiviteettikaavion tila on silmukka, sille pitää määritellä seuraavat UML-laajennukset: Loop.minimum Numero (n) Silmukka (tila) suoritetaan vähintään n kertaa Loop.maximum Numero (n) Silmukka (tila) suoritetaan korkeintaan n kertaa Loop.typical Numero (n) Silmukka (tila) suoritetaan keskimäärin n kertaa Aktiviteettikaavion tilalle voidaan lisäksi määritellä seuraava UML-laajennus:
10 Decision Merkkijono Päätösehto, jonka mukaan sopiva tilasta lähtevä siirtymä valitaan Aktiviteettikaavion siirtymälle pitää määritellä seuraava UML-laajennus: Probability Arvo [0.0 1.0] Tilasiirtymän todennäköisyys.state_machines.transition Aktiviteettikaavioon liitettävä signaali määritellään seuraavilla UML-laajennuksilla: Signal.id Merkkijono Kaavioon liittyvän signaalin tunnus.activitygraph Signal.name Merkkijono Kaavioon liittyvän signaalin nimi.activitygraph
11 Signal.type {send, receive} Kaavioon liittyvän signaalin tyyppi.activitygraph