Sisältö. Tilakaaviot 2

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

UML- mallinnus: Tilakaavio

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

UML -mallinnus TILAKAAVIO

Tilan luonnehdinta (yksi tapa)

Luokka- ja oliokaaviot

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

Ohjelmistotekniikan menetelmät, UML

Dynaaminen analyysi II

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Esimerkki 1: Kahviautomaatti.

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

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

TDC Skaala. PIKAKÄYTTÖOHJE SPA9x2 PUHELIMILLE

Toimintokaavio. UML-Toimontokaavio 1

ELEC-C3240 Elektroniikka 2

Näkyvyys- ja valaistustoimintojen kaukoaktivointi

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

Ohjelmistotuotanto, s

Finnish. Osien nimet. Tarkistuslaiteyksikkö. Sähkökaapelin tarkistuslaite. Vaihtokytkimen tarkistuslaite SM-EC79 HAKEMISTO

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Toimintaperiaate: 2. Kytke virta vastaanottimeen käyttämällä virtalaitetta, jossa on merkintä "horsealarm receiver only".

AUTOMAATTIVÄLITTÄJÄ EAR 1000 / 2000 KÄYTTÖOHJE. Copyright Duratech Oy, Espoo EAR / ADRA KÄYTTÖOHJE V.3/2005.2

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

Ohjelmistotuotanto, s

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

UML:n yleiskatsaus. UML:n osat:

Lähestymistavat - toiminnallinen

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen suunnittelu

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

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

Rekisteröi tuote ja hae tukitietoja osoitteessa CD250 CD255 SE250 SE255. Pikaopas. Kytke. Asenna. Nauti

YLEISTÄ ALOITUS. Laitteen kuvaus. Näytön kuvaus. Laitteen käynnistäminen ja sammuttaminen UP = YLÖS DOWN = ALAS BACK = TAKAISIN

S BAB ABA A aas bba B bbs c

Pikaohje Aplisens APIS type 1X0 ja 2XO

Digitaalinen langaton puhelin Digitaalinen langaton puhelin ja puhelinvastaaja TERVETULOA. Pikaopas. Liitä. Asenna. Nauti

Olioiden yhteistyön mallintaminen

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

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

Ohjelmistotuotanto, s /3/2003

UML-kielen formalisointi Object-Z:lla

Säädettävät parametrit Signaalit ja näkyvyysjärjestelmät

Tietovirtakaaviot. Exit

Käyttö-ja huolto-ohje Ajastin aikaa FIN

Sonera Viestintäpalvelu VIP

Ohjelmien analysointi. ER-kaaviot

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Algoritmit 1. Luento 3 Ti Timo Männikkö

Snom 360 VoIP-puhelimen pikakäyttöohje

11. Javan toistorakenteet 11.1

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Vehicle Security System VSS3 - Alarm system remote

Inputs: b; x= b 010. x=0. Elektroniikkajärjestelmät ETT_2068

Sonera Viestintäpalvelu VIP

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

KÄYTTÖOHJE SATEL I-LINK PC POINT-TO-MULTIPOINT OHJELMISTO

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Profset Pro10 -käyttöopas

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Vehicle Security System VSS3 - Vehicle original remote

Toiminnallinen määrittely versio 1.2

Helsinki-Vantaan lentoaseman joukkoliikennemonitorit

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

Sisällysluettelo. Moi Vastaajan käyttöohje 1/6

TELIA VIESTINTÄPALVELU VIP

G Kytkentäohje. 1.1 Yleistä. 1.4 Pellin toimilaite. 1.5 Savunilmaisin/Palotermostaatti. 1.2 Tulot. 1.3 Lähdöt

HF1 laitteen käyttöönotto ja asetukset

Ohjelmistojen mallintaminen kertausta Harri Laine 1

KÄYTTÖOHJE HIRVIMATIC (2V0)

Esimerkkitentin ratkaisut ja arvostelu

Digitaalilaitteen signaalit

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit

VAATIMUKSIA YKSINKERTAISILLE VIKAILMAISIMILLE HSV:N KJ-VERKOSSA

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

1.1. Luentayksikön kytkentä Luentayksikön layout on esitetty kuvassa 1 ja riviliittimet taulukossa 1.

KÄYTTÖOHJE EASYSTART SELECT EBERSPÄCHER SEISONTALÄMMITTIMIEN HALLINTALAITE A WORLD OF COMFORT

Tervetuloa. Pikaopas. Kytke. Asenna. Nauti

Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria)

Paikantavan turvapuhelimen käyttöohje

SiMAP - lämmityksen ohjauskeskus. Contents

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

SANYO TRC-8800 / 8080 SANELU- JA SANELUN PURKULAITE

Moottorin kaukokäynnistys. Toiminta. Käyttäytyminen. Moottorin kaukokäynnistyksen toiminnolla moottori käynnistetään ohjaamon ulkopuolelta.

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

Ohjelmointi 1. Kumppanit

Versionhallinta MIKSI?

Käyttöpaneelin käyttäminen

Digitaalinen langaton puhelin SE 240 Digitaalinen langaton puhelin ja puhelinvastaaja SE 245

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

SMARTD KÄYTTÖPANEELI

Yleistä. Probyte GSM-PLUG PROBYTE OY

Transkriptio:

Tilakaaviot Tilakaavioilla on tietojärjestelmien kuvauksessa monenlaisia käyttökohteita. Niitä voidaan käyttää toimintojen kuvaamisessa, käyttöliittymien hahmottelussa, järjestelmään kuuluvien käsitteiden elinkaaren analysoinnissa jne. Luvussa esitellään tilakaaviotekniikka, joka pohjautuu alun perin Harelin esittämiin tilakaavioihin. Käsittely etenee yksinkertaisten tilakaavioiden periaatteista rinnakkaisuutta ja rakenteellisuutta sisältäviin tilakaavioratkaisuihin. Exit

Sisältö Tilakaaviot Tilakaavion käsitteitä Tilakaavioiden laatiminen Tilakone ohjauksen kuvaamisessa Tilakaavion toiminnan tarkastelua Tilasiirtymämatriisit UML tilakaavioiden ominaisuuksia UML-tilakaaviot Harelin tilakaavio Tilakaavion piirtäminen (Rational) Tilakaavion piirtäminen (Select) Tilakoneiden käyttömahdollisuuksia Esimerkki: toimintojen etsintä Esimerkki: editorin toimintokuvaus Esimerkki: näyttöjen suunnittelu Kertauskysymykset Tilakaaviot 2

Tilakaaviot - rakenneperiaate tilakone, tila-automaatti tilat + tilasiirtymät + siirtymiin / tiloihin / tilaan saapumiseen / tilasta poistumiseen liittyvät toiminnot spesifioinnin apuväline; käyttökohteita ovat mm.» tietoliikenneprotokollien mallintaminen» käsitteiden elinkaaren analysointi» algoritmien esittäminen useita eri notaatioita UML» perustuu Harelin kehittämään notaatioon SA-menetelmä (Ward & Mellor)» edellistä rajoittuneempi notaatio (erikoistapaus Harelin notaatiosta) Tilakaaviosta Tilakaaviosta käytetään käytetään synonyyminä synonyyminä myös myös termiä termiä tilakone. tilakone. Tilakaaviot 3

Yksinkertainen tilakaavio jäässä nesteenä höyrynä Tilakaaviot 4

Tilakaavion käsitteitä keskeiset käsitteet tilat tilasiirtymät tilasiirtymän laukaiseva heräte tilasiirtymää valvovat ehdot toiminnot (tilasiirtymässä / tilaan mentäessä / tilasta poistuttaessa) erilaisia tilakaavioita Mooren automaatit: toiminnot tilassa oltaessa Mealyn automaatit: toiminnot tilasiirtymässä» seuraavat esimerkit perustuvat tähän esitysmuotoon Tilakaaviot 5

Tilakaavioiden laatiminen erotettava toiminnan kannalta relevantit tilat ja siirtymät kuvauksen perusrakenne {tila, tilasiirtymä, tilasiirtymän laukaisuehto, tilaan (Moore) / siirtymään (Mealy) liittyvät toiminnot} alkutila mahdolliset tila(t) UML (Harel): myös tilaan saavuttaessa ja siitä lähdettäessä suoritettava toiminto transientit tilat tila, josta siirrytään pois välittömästi siihen tultua käyttö: havainnollisuuden parantaminen Tilakaaviot 6

Perusnotaatio tila siirtymä alkutila tila ehto/toiminto... (ehto/toiminto)... Tilakaaviot 7

Tilakoneen ositus ja osien synkronointi a1 / (a2, a3) a2 / (b1, b2) Kaksi Kaksi riippumatonta, riippumatonta, rinnakkain rinnakkain toimivaa toimivaa tilakonetta tilakonetta voidaan voidaan toiminnalisesti toiminnalisestisynkronoida synkronoida toisiinsa toisiinsa käyttämällä käyttämällä toisen toisen tilakoneen tilakoneen siirtymään siirtymään liittyvää liittyvää toimintoa toimintoa toisen toisen siirtymän siirtymän laukaisevana laukaisevana ehtona ehtona (esimerkissä (esimerkissä toiminto toiminto a2) a2) Tilakaaviot 8

Esimerkki: lampun toiminnan ohjaus / sammuta virta 50W langasta sammuta virta 100W langasta Tilakone Tilakone ohjaa ohjaa lamppua, lamppua, jossa jossa on on kaksi kaksi eri eri hehkulankaa. hehkulankaa. Alkutilassa Alkutilassa lamppu lamppu on on sammuksissa. sammuksissa. Hehkulangat Hehkulangat syttyvät syttyvät vetämällä vetämällä kytkimenä kytkimenä toimivaa toimivaa narua. narua. Veto Veto narusta narusta sytyttää sytyttää ensin ensin 50W 50W langan, langan, sen sen jälkeen jälkeen 100W 100W langan langan sammuttaen sammuttaen edellisen, edellisen, seuraavaksi seuraavaksi 50W 50W langan langan uudelleen uudelleen (molemmat (molemmat palavat) palavat) ja ja seuraavaksi seuraavaksi sammuttaa sammuttaa molemmat. molemmat. jouten veto narusta / kytke virta 50W lankaan veto narusta / sammuta virta 50W langasta sammuta virta 100W langasta 150W veto narusta / kytke virta 50W lankaan 50W veto narusta / sammuta virta 50W langasta kytke virta 100W lankaan 100W Tilakaaviot 9

Tilakone ohjauksen kuvaamisessa tilakaavio kuvaa tarkasteltavana olevan prosessin (lamppu) ohjauksen toimintaa ohjausprosessi» tilakaavion ehdot kuvaavat toimintaa ohjaavia (ulkoa tulevia) tietovirtoja ja toiminnot lampulle menevää ohjausta» sisäinen muisti, joka muistaa muutosketjun ohjattava prosessi» lamppu ottaa vastaan ohjauksen lähettämiä signaaleja Tilakaaviot 10

Ohjausprosessi: tietovirtakaavio veto narusta ohjaa lamppua sammuta 100W kytke 100W sammuta 50W lamppu kytke 50W Tilakone Tilakone muodostaa muodostaa ohjausprosessin. ohjausprosessin. Lamppu Lamppu on on ohjattava ohjattava toiminto. toiminto. Kuvauksessa Kuvauksessa näkyvät näkyvät pelkistettynä pelkistettynä ohjausta ohjausta ohjaavat ohjaavat ulkoiset ulkoiset signaalit signaalit sekä sekä ohjausprosessin ohjausprosessin ja ja ohjattavan ohjattavan prosessin prosessin välinen välinen vuorovaikutus. vuorovaikutus. Asiasta Asiasta tarkemmin tarkemmin kurssin kurssin kohdassa kohdassa Tietovirtakaaviot. Tietovirtakaaviot. Kyse Kyse on on myös myös järjestelmien järjestelmien kommunikaatiosta. kommunikaatiosta. Tilakaaviot 11

Ohjausprosessi: kommunikaatio Lampun ohjaus Lampun Lampun toiminnan toiminnan kuvauksen kuvauksen eri eri tasoja. tasoja. Kytkin Kytkin Lamppu Lamppu Tilakaaviot 12

Tilakaavion toiminnan tarkastelua ehto: ulkopuolelta tuleva signaali (ohjausvirta), ehtolauseke (muuttujat, signaalit), ajastimen laukeaminen toiminto ulospäin suuntautuva toiminto (ohjausvirta: enable / disable, trigger,...), ajastimen asetus, muuttujan asetus toiminnan periaatteita tilasiirtymään ei kulu aikaa toiminnot tapahtuvat samanaikaisesti Tilakaaviot 13

Esimerkki: luvun arvon laskenta luku = 1{d}n(.1{d}n) d = [0 1 2 3... 9] merkki = *mikä tahansa merkki, laskutoimituksessa sen numeroarvo (0...9)* arvo = * liukuluku, syötemerkkijonon numeroarvo* status = [OK FAIL] tai merkki on "."/ /s = 0 alku merkki on d/ s = merkki kok.osa merkki on d/ s = 10*s + merkki merkki on "." Tilakonetta Tilakonetta voi voi käyttää käyttää myös myös algoritmin algoritmin toiminnallisuuden toiminnallisuuden kuvaamiseen. kuvaamiseen. Vrt. Vrt. toimintokaaviot. toimintokaaviot. piste tai merkki on d/ merkki ="."/ s = s+merkki/10 k = 2 des.osa merkki on d/ s = s+merkki/10**k k = k+1 / / arvo = s arvo = s status = OK status = OK Tarvitaan Tarvitaan lisäselite! lisäselite! Lisäksi jokaisesta tilasta on siirtymä "jos merkki ei ole d eikä '.' / status=fail" tilaan. ** tarkoittaa potenssiin korottamista. Tilakaaviot 14

Esimerkki: puhelimessa toimiminen jouten nosta luuri / linja linjaauki auki ei linjaääntä / laske luuri keskeytys / laske luuri lopetus / laske luuri linjaääni / numeron valinta ei vastaa / laske luuri numero valittu / vastauksen odottelu / laske luuri puhu vastaus / ei hälytä / vikaa Transientti Transienttitila tila Tilakaaviot 15

Tilasiirtymämatriisit vaihtoehtoinen esitystapa tilakaaviolle sisältää saman informaation tilakaavion toiminnasta kuin kaavioesitys helpottaa systemaattista kaavion toiminnan tarkastamista 1{(lähtö,tulos,ehto,toimenpide)}n Tilakaaviot 16

tilasiirtymämatriisit siirtymäehdot lähtötila alkutila kok.osa piste des.osa merkki on d merkki on "." kok.osa s = merkki kok.osa s = 10*s+merkki des.osa s = s+merkki/10 k=2 des.osa s = s+merkki/10**k, k=k+1 piste arvo = s status = OK arvo = s status = OK merkki ei ole d eikä "." uusi tila toimenpiteet Tilasiirtymämatriisissa Tilasiirtymämatriisissa on on jossain jossain muodossa muodossa esitettävä esitettävä kaikkien kaikkien tilasiirtymien tilasiirtymien osalta osalta sama sama toiminnallisuus toiminnallisuus kuin kuin tilakaaviossakin. tilakaaviossakin. Tilakaaviot 17

tilasiirtymämatriisit lähtötila alkutila kok.osa piste des.osa ehto toiminnot seur. tila merkki on d muuten s = merkki kok.osa merkki on d merkki on "." muuten s = 10*s + merkki arvo = s, status = OK kok.osa piste merkki on d muuten s = s + merkki/10, k= 2 des.osa merkki on d s = s + merkki/10**k, k=k+1 des.osa arvo = s, status = OK muuten siirtymien kuvaukset Tilakaaviot 18

UML tilakaavioiden ominaisuuksia toiminnot tilaan tullessa tilassa oltaessa tilasta lähdettäessä tilasiirtymässä suoritettavat) rinnakkaiset tilat kaaviohierarkkia yli- ja alitilat (ali)tiloille yhteiset tilasiirtymät (ylitilan tasolla) tilasiirtymävahdit (guard) siirtymää vartioivat lisäehdot Tilakaaviot 19

UML-tilakaaviot: notaatio SalasanaSyöttö entry/kaiutus pois exit/kaiutus päälle do/näytä kehote help/näytä avuste funktionäppäin/defer Alkutila Suoritetaan, kun tullaan tilaan Suoritetaan, kun poistutaan tilasta Suoritetaan tilassa olon aikana Suoritetaan jättämättä tilaa Siirtymä laukeaa, vain jos arvo on tosi Suoritetaan, kun siirtymä laukeaa eventname(par)[guard]/action Lopputila Tapahtuma siirretään myöhemmin käsiteltäväksi Siirtymä virittyy kun tapahtuma tulee Tilakaaviot 20

Harelin tilakaavio: notaatio Event causes Transition between States : State-1 event State-2 Event with Attribute : State-1 event(attribute) State-2 Initial and Final States : Initial State Intermediate State Action on a Transition : State-1 event / action State-2 Guarded transition: State-1 event [guard] State-2 Output Event on a Transition : State-1 event1 / event2 State-2 Actions and Activity while in a State : Sending an event to another object : State Name event1 State-1 State-2 entry/entry-action do activity-a event2 event-1 / action-1 exit / exit-action Class-3 Tilakaaviot 21

Harelin tilakaavio State Generalization (Nesting) : Superstate Superstate Substate-1 Substate-2 Concurrent Subdiagrams : event3 event2 Superstate Superstate Substate-1 Substate-3 event1 Splitting of control : Substate-2 Substate-4 event0 Substate-1 Substate-3 Substate-2 event1 event2 Substate-4 event3 event4 Tilakaaviot 22

Tilakaavion piirtäminen (Rational) State6 State3 State7 State4 State2 State5 Piirto-ohjelmien Piirto-ohjelmien mahdollistama mahdollistama esitysmuoto esitysmuoto saattaa saattaa poiketa poiketa virallisesta virallisesta notaatiosta. notaatiosta. Tilakaaviot 23

Tilakaavion piirtäminen (Select) Piirto-ohjelmien Piirto-ohjelmien mahdollistama mahdollistama esitysmuoto esitysmuoto saattaa saattaa poiketa poiketa virallisesta virallisesta notaatiosta. notaatiosta. State 1 State 2 Result 1 State 3 State 4 Alitila Alitila ylitila ylitila --State State 33 ja jastate 44 tarkentavat tarkentavatstate State 1:tä 1:tä State 5 State 6 Rinnakkainen Rinnakkainen tila tila (kooste) (kooste) - - State State 5 5 ja ja State State 6 6 ovat ovat rinnakkaisia rinnakkaisia State State 4:n 4:n alitiloja alitiloja Tilakaaviot 24

Esimerkki: luvun arvo UMLtilakaaviona /s = 0 alku merkki on d/ s = merkki merkki on "." piste merkki on d/ s = s+merkki/10 k = 2 tai merkki ="."/ tai merkki on "."/ kok.osa / arvo = s status = OK merkki on d/ s = 10*s + merkki des.osa / arvo = s status = OK merkki on d/ s = s+merkki/10**k k =k+1 merkki on "."/ 6 merkki ei ole d eikä "."/ Yhteinen Yhteinen tilasiirtymä tilasiirtymä ylitilan ylitilan tasolla tasolla Tilakaaviot 25

Esimerkki: editorin toimintokuvaus Editorin Editorin toiminta: toiminta: Tiedoston Tiedoston nimeäminen nimeäminen ja ja editoitavan editoitavan tekstin tekstin muuttaminen muuttaminen ovat ovat toisistaan toisistaan riippumattomia riippumattomia (rinnakkaisia) (rinnakkaisia) toimintoja. toimintoja. nimetön lataa tai talleta nimetty talleta tyhjä editoi muutettu talleta lataa editoi talletettu lataa poistu [tyhjä tai talletettu] poistu [muutettu japoistu [muutettu ja nimetty]/ nimetön]/ varmista talletus Kuvauksen varmista talletus ja Kuvauksenkomponentteja komponentteja kysy tiedostolle nimi alkutila: alkutila: ylitilan ylitilanjajaalitilojen alitilojentasolla tasolla alitilat: alitilat: rinnakkaiset rinnakkaiset yhteinen yhteinentilasiirtymä: tilasiirtymä: ylitilan ylitilantasolla tasolla guard guard(vahti): lisäehto lisäehtotilasiirtymälle tilasiirtymälle Tilakaaviot 26

UML-tilakaavioiden toiminta sama tapahtuma voi aiheuttaa tilasiirtymän molemmissa osissa osien synkronointimekanismit voidaan toteuttaa siirtymäehtojen ja toimintojen synkronointia tukevalla valinnalla rinnakkaiset tilakoneet voidaan aina purkaa sarjallisiksi tilakoneiksi selkeys kärsii ja rakenne monimutkaistuu Tilakaaviot 27

Tilakoneiden käyttömahdollisuuksia toiminnon kuvaaminen: laitteiden toiminta toiminnan ohjaus (vrt. lamppuesimerkki) määrittelyn apuväline järjestelmässä tarvittavien tilatietojen ja toimintojen etsintä tarkastellaan olioiden elinkaarta; tila muuttuu vain toiminnon seurauksena (löydetään toiminnot) havainnollistamisen apuväline tarpeita kartoitettaessa käyttöliittymän spesifiointi Tilakaaviot 28

Esimerkki: toimintojen etsintä palautus lisäys tilattu hyllyssä lainaus lainassa poisto poistettu kadoksissa korjattavana Tästä Tästä voidaan voidaan määrittelytyössä määrittelytyössä kerätä kerätä luettelo luettelo toiminnoista, toiminnoista, joita joita järjestelmä järjestelmä toteuttaa. toteuttaa. Jokainen Jokainen tilasiirtymä tilasiirtymä on on vaste vaste jostain jostain järjestelmän järjestelmän kannalta kannalta relevantista relevantista toiminnosta. toiminnosta. Tilakaaviot 29

Esimerkki: käyttöliittymän kuvaus (editorista poistuminen) Exit [tyhjä tai talletettu] Exit [muutettu ja nimetty] Cancel Save OK do: kysy talletusta Editoi Exit [muutettu ja nimetön] Cancel Save OK do: kysy talletusta Käyttöliittymän Käyttöliittymän toiminnan toiminnan määrittelevä määrittelevä tilakaavio, tilakaavio, jota jota on on rikastettu rikastettu käyttöliittymän käyttöliittymän toteutuksen toteutuksen kuvauksilla. kuvauksilla. No Yes No OK Cancel Show Desktop.scf File name do: kysy nimeä No OK [uusi tiedosto] OK [tiedosto olemassa] Talletus do: talleta puskuri Yes Overwrite OK do: kysy päällekirjoitusta transientti tila Tilakaaviot 30

Esimerkki: näyttöjen välisten siirtymien suunnittelu aloitusnäyttö tilauksen syöttö uusi asiakas kysely peruuta tilaus tilauksen yksityiskohdat peruutuksen yksityiskohdat Tätäkin Tätäkin kaaviota kaaviota voisi voisi elävöittää elävöittää liittämällä liittämällä kuvaukseen kuvaukseen esimerkit esimerkit kustakin kustakin näytöstä. näytöstä. Lisäksi Lisäksi siirtymänuoleen siirtymänuoleen voisi voisi liittää liittää siirtymän siirtymän aiheuttavan aiheuttavan valinnan valinnan kuvauksen. kuvauksen. Tällaisenaankin Tällaisenaankin kaavio kaavio havainnollistaa havainnollistaa käyttöliittymää. käyttöliittymää. Tilakaaviot 31

Kertauskysymykset Mitä eroa on Mooren ja Mealyn tilaautomaateilla. Mitä tarkoitetaan transientilla tilalla. Selitä kurssimateriaaliin liittyvän lampun toiminta aohjaavan tilakaavion toiminta. Selitä kurssimateriaaliin liityvän lampun ohjausjärjestelmän tietovirtakaavio- ja kommunikointikuvaus. Mitä tarkoittavat ohjaussignaalit enable, disable, trigger tilakaavioiden yhteydessä. Tarkista että kurssimateriaaliin sisältyvä tilamatriisiesimerkit (luvun arvon laskenta) vastaavat ilmaisuvoimaltaan vastaavaa tilakaavioesimerkkiä (eli matriisi sisältää kaiki kaavion komponentit). Mitä ilmaisuvoimaa lisääviä piirteitä on Harelin tulakaavioissa verrattuna perinteisiin tilakaavioihin. Miten rinnakkaisten tilakaavioiden toiminnan eteneminen on mahdollista synkronoida toistensa kanssa, ts. toinen tilakaavio ohjaa toisen tilakaavion tilasiirtymää. Harjoitustehtäviä kirjasta Koskimies, Oliokirja. Anna yksinkertaisen taskulaskimen tilakaavio. Kurssimateriaalissa on esitetty tilakaavio, joka kuvaa luvun arvon laskentaa. Kaavio on esitetty kahdella eri tavalla (perinteinen notaatio, Harelin notaatio). Selitä ensin kaavioiden toiminta. Kuvaa sen jälkeen kaavioiden ilmaisuun liittyvät keskeiset erot. Tarkastele kurssimateriaaliin sisältyvän yksinjkertaisen editorin toimintaa kuvaavan tilakaavion käyttäytymistä erilaisilla esimerkkitilanteilla. Toimiiko editori kuvatussa muodossaan kaikissa tilanteissa oikein. Puhelinvastaajan käyttäytymisen kuvaavassa tilakaaviossa on tilat Suljettu, Nauhoituksen luku ja Viestin talletus. Anna täydellinen tilakaavio lisäämällä tarvittavat tilasiirtymät sekä seuraavat sanomat, toimenpiteet ja aktiviteetit: saapuva puhelu, vastaanota puhelu, soita nauha, talleta viesti, soittaja sulkee, viesti lopussa. Tilakaaviot 32

kertauskysymykset Digitaalikello näyttää samanaikaisesti kellonajan ja päivän. Kellon aika- ja päivänäyttöjä voidaan muuttaa kellon napeilla. Kellossa on kaksi nappia, "mode" ja "forward". Haluttaessa muuttaa aikaa painetaan kerran modenappia, jonka jälkeen aikaa voidaan muuttaa forward-napin avulla. Jos mode-nappia painetaan uudelleen, voidaan muuttaa päiväystä (forward-napilla). Jos mode-nappia painetaan vielä kerran, siirrytään jälleen normaalitilaan. Forwardnappia painettaessa näyttö siirtyy yhdellä yksiköllä (sekunti tai päivä) eteenpäin; mikäli nappia pidetään painettuna yli kaksi sekuntia, vaihtuu näyttö nopeasti (kerran 0.5 sekunnissa) eteenpäin niin kauan kuin nappi on alhaalla. Anna kellon ohjausyksikön tilakaavio. Pullonpalautuskoneeseen kuuluu ohjausyksikkö, pulloanturi, hihnayksikkö, summalaskuri, lopetusnappi, ja kuitinkirjoittaja. Anna a) normaalia ja b) poikkeuksellista käyttöä kuvaavat sekvenssikaaviot sekä c) ohjausyksikön tilakaavio. Tilakaaviot 33