Skenaario

Skenaario

v2.0
10.11.95

Teemu Teekkari on osallistunut TKK:n sulautettujen järjestelmien kurssille vuoden -96 keväällä. Kurssin puitteissa tehdään harjoitustyö, jossa ohjelmoidaan mikrokontrolloidun auton ohjausjärjestelmä. Tätä harjoitustyötä varten on tehty tilaustyönä simulaattori, jolla ohjausohjelman toimivuutta voidaan testata.

Ahkerana opiskelijana Teemu on jo päässyt hyvään vauhtiin ja ensimmäinen versio on valmis testattavaksi. Luettuaan tarkasti simulaattorin manuaalin Teemu päättää lähteä etsimään vapaata X-päätettä ATK-keskuksen pääteluokista. Jonotettuaan puolisen tuntia vapautuu yksi pääte ja Teemu loggaa itsensä sisään. Auton ohjauskoodin hän on jo kääntänyt binääriksi, niinpä simulointiohjelma voidaan käynnistää. Teemu käynnistää ohjelman antamalla komentorivillä ohjauskoodinsa nimen ja esimerkkiradan, kirjoittamalla shellissä:

uCC -t rata1.r -c Teemunkoodi &

Hetken kuluttua (kello on 13.30 ja ATK-keskuksen koneiden tahma on huikea!) ohjelman aloitusikkuna avautuu.

Konsoli

Teemu huomaa ikkunan alalaidassa olevalla tilarivillä tekstin: "No starting point for track!". Hän vie kursorin ikkunaan, jossa on rata kuvattu ylhäältäpäin. Teemu klikkaa kuvasta hiirellä haluamansa aloituskohdan ja samalla tilarivi tyhjenee.

Teemu ottaa lokiin tulostukset pois päältä, koska se vain hidastaisi simulaatiota. Mikäli jokin on pielessä ohjausohjelmassa, niin simuloinnin voi aloittaa alusta ja tehdä sitten vasta lokia, hän päättelee. Visualize kohdasta voi valita mitä tiedoista halutaan näytölle. Tässä vaiheessa Teemu haluaa seurata kaikkia arvoja ja valitsee kaikki mahdollisuudet.

Simulaattorin ajo alkaa painamalla nappia Execute. Nyt ruudulle aukeaa uusia ikkunoita, joista nähdään valittujen tulosten esitys. Execute-nappi on muuttunut harmaaksi ja Stop nappi, josta simulaation voi pysäyttää, painettavaksi. Auto lähtee hyvin liikkeelle ja pysyy ensimmäisessä mutkassa radalla. Mutkan jälkeen auto kiihdyttää ja suistuu radalta seuraavassa shikaanissa.Teemu pysäyttää simulaattorin painamalla nappia Stop ja käy laittamassa breakpoints kohtaan Insructions: arvon 10000, käy valitsemassa Visualize-kohdasta rekisterien näytön ja käynnistää simulaation uudestaan. Auto starttaa jälleen aloituskohdasta ja simulaatio pysähtyy aina 10000:n käskyn jälkeen. Tämän jälkeen tulostetaan rekisterien arvot ja simulaatiota voidaan jatkaa. Teemu tekee tätä "debuggausta" auton ulosajokohtaan asti ja huomaa auton tulleen liian lujaa mutkaan. Tästä voidaan tehdä se johtopäätös että ohjauskoodissa on jokin semanttinen virhe. Teemu poistuu ohjelmasta painamalla nappia Quit.