Tilan luonnehdinta (yksi tapa)

Samankaltaiset tiedostot
UML -mallinnus TILAKAAVIO

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

UML- mallinnus: Tilakaavio

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Luokka (class) esitetään suorakulmion avulla, jonka sisälle kirjoitetaan luokan nimi (vahvennettuna).

Operator's Panel Välityspöytä

Toimintokaavio. UML-Toimontokaavio 1

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

5. Järjestelmämallit. Mallinnus

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Ohjelmistotekniikan menetelmät, UML

KÄYTTÖOHJE Connect Control Light/Set Light/Set Kaksoisaika Mode Ajanotto Mode Control Mode Light/Set

Sisältö. Tilakaaviot 2

Ohjelmistotuotanto, s

ELEC-C3240 Elektroniikka 2

Visual Voic -version 8.5 ja uudempien pikaopas

Automaatit. Muodolliset kielet

Fitness G-SHOCK GBA-800

Tervetuloa. Pikaopas. philips. Liitä. Asenna. Nauti

Tutustuminen tuotantolinjastoon

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Dynaaminen analyysi II

Ohjelmistojen suunnittelu

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

TELIA VIESTINTÄPALVELU VIP

MUSTALINJA II KÄYTTÖOHJE MUSTALINJA.FI

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

PIKAOHJE D-LINE / D-SAT Näyttötaulut

Työryhmän jäsenen käyttöohje - RUMA-mobiilisovellus. 1. Sisäänkirjautuminen ja uloskirjautuminen

Sonera Viestintäpalvelu VIP

VIP Mobile Android. Opas asennukseen ja tärkeimpien toimintojen käyttöön

BIRSSI.NET 2 - OHJEET KULJETTAJILLE

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

CAB Plan. CAB Plan Päivitys 5.2

system 2.0 KODIN OHJAUSLAITE

Ohje luottamuksellista tietoa sisältävien sähköpostiviestien lähettämiseen ja vastaanottamiseen

Luottamuksellinen sähköposti Trafissa

OHJELMOINTILAITE 10/50

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi

KIITOS RICA OPTIMOINTIOHJELMAN VALITSEMISESTA

Ohjelmistotuotanto, s /3/2003

Epooqin perusominaisuudet

Sonera Neuvottelupalvelut Microsoft Office 365 -sisäänsoittopalvelu. Pikaopas

Mainosankkuri.fi-palvelun käyttöohjeita

2 Konekieli, aliohjelmat, keskeytykset

12. Javan toistorakenteet 12.1

Swiss timer kellokonsoli käyttöohje

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

Ajokorttimoduuli Moduuli 2. - Laitteenkäyttö ja tiedonhallinta. Harjoitus 1

Apple iphone 4 puhelimen käyttöönotto:

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

MINICODE ACL OHJELMOINTIKOODIN JA TUNNISTEEN OHJELMOINTI

Sonera Viestintäpalvelu VIP

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

Siirtymät, tehosteet, daesitys Sisällysluettelo

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Hallintaliittymän käyttöohje

11. Javan toistorakenteet 11.1

Ohjeet. Ohjeita on kahdessa paikassa. Admin-näytön oikeassa ylänurkasta. Seura- sivuilta kohdasta Dokumentit

Sähköposti ja uutisryhmät

DNA Vastaaja käyttöohje

Sivu 1 / Viikin kirjasto / Roni Rauramo

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

UML:n yleiskatsaus. UML:n osat:

VIP Mobile Windows Phone. Opas asennukseen ja tärkeimpien toimintojen käyttöön

Käyttöohjeet. Kytkinmoduuli

Julkinen. Suomen Pankin ja Finanssivalvonnan suojattu sähköposti: ulkoisen käyttäjän ohje

Käyttöohje Contact WP Poca

KÄYTTÖOHJE. (valo) Eri painiketoiminnot ilmaistaan viereisen piirroksen esittämillä kirjaimilla.

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

Juha Haataja

Android. Sähköpostin määritys. Tässä oppaassa kuvataan uuden sähköpostitilin käyttöönotto Android Ice Cream Sandwichissä.

VDS iloft- NÄYTTÖ OSD- VALIKOLLA KÄYTTÖOHJE

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

13. Loogiset operaatiot 13.1

BaseMidlet. KÄYTTÖOHJE v. 1.00

12. Javan toistorakenteet 12.1

TDC Skaala. PIKAKÄYTTÖOHJE SPA9x2 PUHELIMILLE

Konsolin näytössä näkyy käytettäessä ohjaavia viestejä, joita kannattaa tämän ohjeen lisäksi seurata.

DNA MOBIILI TV - YLEISET KÄYTTÖOHJEET

McAfee VirusScan Enterprice asennus

Kirje -tasolla viestiliikenne suojataan automaattisesti SSL-salauksella, sekä viesti lukitaan Deltagon MessageLock -tekniikalla.

Tietojen haku ja raportit

Relaatioalgebra. Kyselyt:

Olioiden yhteistyön mallintaminen

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

UML - unified modeling language

KÄYTTÖOHJE HIRVIMATIC (2V0)

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

PERSONEC HR-JÄRJESTELMÄ Käyttöohje Yksikön johtaja

KTJkii-rekisterinpitosovelluksen ohje tiedostojen siirto työaseman ja palvelimen välillä

Tehtävä 2: Tietoliikenneprotokolla

TULOSPALVELUN OTTELUSEURANTA

Maksuturvan pikaopas Smilehouse Workspace/Wosbee -kauppiaille

Transkriptio:

Olion tilat Tila on olion attribuuttien ja linkkien arvoyhdistelmä, jolla on oma merkityksensä. Ryhmittely eri tiloiksi tapahtuu saapuvien tapahtumien vaatimien toimenpiteiden mukaan. Puheluesimerkistä voidaan löytää tiloja kuten: valmiustila, numeroiden valinta, hälytysääni, puhelu käynnissä jne. Tapahtumat aiheuttavat tilamuutoksia. Se, millä tavalla järjestelmä (tai olio) vastaa tapahtumaan, riippuu paitsi olioiden ja tapahtuman attribuuttien arvoista myös vallitsevasta tilasta ja tapahtuman aiheuttamasta tilamuutoksesta. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Tilan luonnehdinta (yksi tapa) Kellossa oleva herätys soi. Oliomallinnus TITE.2040 Hannu K. Niinimäki 2 1

Tilakaavio (State diagram) Tilakaavio kuvaa järjestelmän tilamuutokset nykyisen tilan ja tapahtuman funktiona. Puhelinesimerkki. Oliomallinnus TITE.2040 Hannu K. Niinimäki 3 Tilakaavion perussymbolit Tila Tilasiirtymä, jossa E on tapahtuma E Alkutila, jossa S on tilan nimi Lopputila, jossa S on tilan nimi Oliomallinnus TITE.2040 Hannu K. Niinimäki 4 2

Tilakaavion toiminnasta Jos tapahtuman E sattuessa ollaan tilassa S, uudeksi tilaksi tulee S', johon tapahtuma E johtaa eli E = E i. E1 E2 Ei Ek Huom. E n E m, kun n m. Jos E E j, "j = 1...k, ei tapahdu mitään.(tila ei vaihdu) Oliomallinnus TITE.2040 Hannu K. Niinimäki 5 Ehdot Tilasiirtymiin voidaan liittää ehtoja, joiden vaikutuksesta tilasiirtymä tapahtuu vain, jos ehto on tosi. Tapahtuman lisäksi vaaditaan, että samalla ehto on tosi. Tapahtuma on hetkellinen, mutta ehdon arvo (tosi/epätosi) on voimassa pitemmän aikaa. Ehdot toimivat tilasiirtymän vartijoina (guards). Esim. "Jos menet aamulla ulos (tapahtuma), ja silloin on pakkasta (ehto), on parasta, että otat käsineet käteen (seuraava tila). E [ehto] Oliomallinnus TITE.2040 Hannu K. Niinimäki 6 3

Liikennevaloesimerkki Tiet risteysalueella käsittävät kaksi kaistaa: Vasemmalle kääntyvä liikenne ryhmittyy vasemmanpuoleiselle kaistalle. Oliomallinnus TITE.2040 Hannu K. Niinimäki 7 Operaatiot 1 Operaatiot ovat (toimenpiteitä) käsittelyä, joka liittyy tilaan tai tilasiirtymään. Aktiviteetiksi (activity) sanotaan operaatiota, joka liittyy tilaan. Aktiviteetin suoritus vie aikaa ainakin jonkin verran. Aktiviteetteihin kuuluvat jatkuvat aktiviteetit kuten kuvioiden esitys näytöllä tai puhelimen hälytysäänen ylläpito, jotka päättyvät tapahtumaan, joka aiheuttaa poistumisen tilasta peräkkäiset (osa)operaatiot, jotka päättyvät itsestään, kuten venttiilin sulkeminen tai joukko laskutoimituksia do/ A Oliomallinnus TITE.2040 Hannu K. Niinimäki 8 4

Operaatiot 2 Toimenpiteeksi (action) sanotaan operaatiota, joka liittyy tilasiirtymään. Tapahtuma aiheuttaa tilasiirtymän ja siten myös toimenpiteen. Toimenpide on nopea operaatio; se käynnistyy välittömästi tapahtuman esiinnyttyä ja kestää vain vähän aikaa. Esim. "disconnect phone line" voisi olla toimenpide, joka liittyy tapahtumaan "on-hook". E (attrib) [ehdot] / toimenpide Oliomallinnus TITE.2040 Hannu K. Niinimäki 9 Toimenpiteen käytöstä Esim. järjestelmän sisäisessä ohjauksessa, kuten attribuuttien arvojen muuttamisessa tai toisten tapahtumien muodostamisessa. Tyypillinen toimenpide on laskurin arvon kasvattaminen tapahtuman esiintyessä Oliomallinnus TITE.2040 Hannu K. Niinimäki 10 5

Puhelinesimerkki Oliomallinnus TITE.2040 Hannu K. Niinimäki 11 Tulo- ja jättötoimenpiteet (Entry and Exit Actions) Toimenpide liittyy yleensä tilasiirtymään. Joskus on kannattaa liittää toimenpide hetkeen, jolloin tilaan saavutaan tai hetkeen, jolloin tilasta poistutaan. Tarkastellaan esimerkki autotallin ovea, joka avataan ja suljetaan nappia painamalla. Toimenpide tilasiirtymässä. Oliomallinnus TITE.2040 Hannu K. Niinimäki 12 6

Tulotoimenpiteet (entry) Toteutetaan tilaan saavuttaessa. Edellinen esimerkki tulotoimenpiteillä. Oliomallinnus TITE.2040 Hannu K. Niinimäki 13 Jättötoimenpiteet (exit) Toteutetaan tilasta poistuttaessa. Kysymys: voiko edellisen kuvata jättötoimenpiteillä? Oliomallinnus TITE.2040 Hannu K. Niinimäki 14 7

Sisäiset tapahtumat Tapahtuma voi aiheuttaa toimenpiteen ilman, että tilan vaihtoa tapahtuisi. Jos tilaan ei liity tulo- eikä jättötoimenpiteitä, asia voidaan kuvata niin, että tilasiirtymä tapahtuu samaan tilaan takaisin. Vrt. valikkoesimerkki. Sisäinen tapahtuma ja siihen liittyvä toimenpide kuvataan tilasymbolin sisälle (tapahtuman nimi, kauttaviiva ja toimenpiteen nimi) ainakin silloin, kun tilaan sisältyy tulo- tai jättötoimenpiteitä, joita ei haluta suorittaa. Oliomallinnus TITE.2040 Hannu K. Niinimäki 15 Jakeluautomaatti-esimerkki Automaatti osaa antaa rahasta takaisin. Oliomallinnus TITE.2040 Hannu K. Niinimäki 16 8

Automaattinen siirtymä Joskus tila esitetään tilakaaviossa vain aktiviteetin suorittamista varten. Kun aktiviteetti on suoritettu, siirto toiseen tilaan tapahtuu. Nuoli ilman tapahtumaa ja ehtoa kertoo automaattisesta siirtymästä, joka tapahtuu, kun tilan sisältämä aktiviteetti on suoritettu. Edellä ollut esimerkki sisälsi automaattisen siirtymän. Oliomallinnus TITE.2040 Hannu K. Niinimäki 17 Hierarkkiset tilakaaviot Tilakaavion koko kasvaa nopeasti kuvattavan järjestelmän ko'on kasvaessa tai lisättäessä kuvaustarkkuutta. Aggregaation avulla tila jaetaan osiin niin, että näiden välillä on vain vähän vuorovaikutuksia. Yleistämisessä aktiviteetti ja toimenpide kuvataan lyhyesti ja yleisesti korkealla tasolla, siirrytään sitten seuraavalle, alemmalle tasolle, jossa se kuvataan tarkemmin yksityiskohtia lisäämällä. Yleistämisessä voidaan soveltaa attribuuttien ja operaatioiden perimistä. Oliomallinnus TITE.2040 Hannu K. Niinimäki 18 9

Aktiviteetin tarkentaminen Myyntiautomaattin tilakaaviossa esiintyi tila, joka sisälsi aktiviteetin "dispense item". Tarkennettaessa tämä aktiviteetti muodostuu useasta alemman tason tilasta ja tapahtumasta: Oliomallinnus TITE.2040 Hannu K. Niinimäki 19 Tapahtuman tarkentaminen Tapahtuma voidaan tarkentaa niin, että se muodostuu itse asiassa tilakaaviosta. Myyntiautomaattin tapahtuma "select item" käsittää useita alemman tason tapahtumia, jotka ohjaavat siirtymistä alemman tason tilojen välillä sekä lopulta siirtymää ylemmän kaavion tasolle: Oliomallinnus TITE.2040 Hannu K. Niinimäki 20 10

Tilan yleistys Tiloilla voi olla alitiloja, jotka perivät siirtymät ylitiloilta. Siirtymä tai toimenpide, joka vaikuttaa tilaan, vaikuttaa myös kaikkiin alitiloihin. E1 E1 E2 E2 E2 Puhelinesimerkissä kaikki tilat lukuunottamatta tilaa "Idle" ovat tilan "Active" alitiloja. Tapahtuman "on-hook" esiintyminen missä alitilassa tahansa aiheuttaa siirtymisen tilaan "Idle". off-hook on-hook Oliomallinnus TITE.2040 Hannu K. Niinimäki 21 Puhelinesimerkki avattuna Oliomallinnus TITE.2040 Hannu K. Niinimäki 22 11

Vaihteistoesimerkki Vaihdekeppi voi olla tilassa reverse, neutral tai forward (taaksepäin, vapaa, eteenpäin). Jos ylitila on forward, tapahtuma "push N" aiheuttaa siirtymän tilaan neutral siitä riippumatta, mikä vaihteista first, second tai third on valittuna. Oliomallinnus TITE.2040 Hannu K. Niinimäki 23 Rinnakkaisuus (Concurrency) 1 Aggregaatioon/kompositioon liittyvä Aggregaatio/kompositio-olion tila on osatilojen (komponenttien) yhdistelmä. B:llä, C:llä, D:llä ja E:llä on omat tilakaavionsa. A:n tila on tila(b) * tila(c) * tila(d) * tila(e) Oliomallinnus TITE.2040 Hannu K. Niinimäki 24 12

Rinnakkaisuus 2 Aggregaatioon/kompositioon liittyvä Aggregaation/komposition komponenttien tilojen välillä voi vallita vuorovaikutussuhde. Olioon liittyvä vartioitu (ehdolla varustettu) tilasiirtymä voi riippua toisen olion tilasta => tilakaavioiden välillä riippuvuus. Tilakaavioiden modulaarisuus (oliolla oma tilakaavionsa) voidaan kuitenkin säilyttää. Oliomallinnus TITE.2040 Hannu K. Niinimäki 25 Aggregaation tilat esimerkki (1) Seuraava kaavio esittää autoa (car) aggregaationa komponenttien tiloista: Ignition, Transmission, Accelator ja Brake (sytytys, välitys, kiihdytys ja jarrutus). Joka komponenttitilalla on myös alitiloja. Auton tila käsittää yhden alitilan joka komponentista. Kukin komponentti kokee tilasiirtymiä riippumatta muista komponenteista. Poikkeuksena on tapahtuma turn key to start olioon Ignition liityvässä tilakaaviossa, jossa ehtona on transmission in neutral eli olioon Transmission liittyvä tila. Oliomallinnus TITE.2040 Hannu K. Niinimäki 26 13

Aggregaation tilat esimerkki (kuva) Oliomallinnus TITE.2040 Hannu K. Niinimäki 27 Olion tilan sisäinen rinnakkaisuus 1 Olion tilan sisäisestä rinnakkaisuudesta on kyse silloin, kun olio voidaan osittaa attribuuttien ja linkkien alijoukoiksi niin, että kullakin on oma tilakaavionsa. Olion tila käsittää yhden tilan jokaisesta alikaaviosta. Alikaavioiden ei tarvitse olla riippumattomia. Sama tapahtuma voi aiheuttaa tilasiirtymiä useissa kaavioissa. Esitetään jakamalla tilasymboli katkoviivoilla osatilakaavioiksi. Myös osatiloille voidaan antaa nimet. Oliomallinnus TITE.2040 Hannu K. Niinimäki 28 14

Olion tilan sisäinen rinnakkaisuus 2 Oliomallinnus TITE.2040 Hannu K. Niinimäki 29 Tapahtuman lähettäminen 1 Oliot voivat tilasiirtymän yhteydessä lähettää tapahtumia toisilleen. Toimenpide "send E(attributes)" lähettää tapahtuman E attribuutteineen yhdelle tai useammalle oliolle. Tapahtuma käynnistää samanaikaisesti kaikki ne tilasiirtymät, jotka ovat olleet sillä hetkellä tapahtumaa odottamassa. Sana "send" voidaan jättää pois, jos on selvää, että E edustaa tapahtumaa (esim osoitetetaan nuolella). Oliomallinnus TITE.2040 Hannu K. Niinimäki 30 15

Tapahtuman lähettäminen 2 Tapahtuma E1 aiheuttaa tilasiirtymän, jonka yhteydessä suoritetaan toimenpide, joka on tapahtuman E2 lähetys. E1 / (send)e2 Tapahtuman lähetys luokan oliolle: E1 E2 Oliomallinnus TITE.2040 Hannu K. Niinimäki 31 Tapahtuman lähettäminen 3 Tapahtuman lähetys ja sen vaikutuksen esittäminen vastaanottavan luokan tilakaaviossa. E1 E2 Oliomallinnus TITE.2040 Hannu K. Niinimäki 32 16

Rinnakkaisten aktiviteettien synkronointi Joskus olion pitää suorittaa useita aktiviteetteja samanaikaisesti. Aktiviteettien suoritus ei ole keskenään synkronoitu, mutta olio voi siirtyä seuraavaan tilaan vasta, kun kaikki aktiviteetit ovat tulleet loppuunsuoritetuiksi. Esimerkkinä ohjauksen pilkkominen ja yhdistäminen. Oliomallinnus TITE.2040 Hannu K. Niinimäki 33 Synkronointiesimerkki Talon rakentamisen synkronointi. Oliomallinnus TITE.2040 Hannu K. Niinimäki 34 17

Ohjauksen erottaminen ehdon avulla. voidaan esittää N-S suoraan time-out [cars N-S vasemmalle] N-S vasemmalle time-out [no cars W-E vasemmalle] [no cars N-S vasemmalle] time-out E-W vasemmalle [cars W-E vasemmalle] time-out E-W suoraan Oliomallinnus TITE.2040 Hannu K. Niinimäki 35 Erityisiä merkintöjä 1 G x q Voidaan esittää seuraavasti. G x q Oliomallinnus TITE.2040 Hannu K. Niinimäki 36 18

Erityisiä merkintöjä 1 Keskeytyksen ja sen jälkeisen paluun kuvaaminen historiatilan kautta. Historia-tila palauttaa tilanteen ennalleen. Oliomallinnus TITE.2040 Hannu K. Niinimäki 37 19