AS-0.3200 Automaatio- ja systeemitekniikan projektityöt - Projektisuunnitelma PiccSIM - TrueTime integrointi Henri Öhman 31.1.2012
1. Projektityön tavoite PiccSIM on Aalto-yliopistolla kehitetty simulointiympäristö, joka on tarkoitettu langattomien säätöjärjestelmien mallintamiseen. PiccSIM-ympäristöön kuuluu Matlab/Simulink-lohkokirjasto ja Ns- 2 verkkosimulaattori. Verkkosimulaattori kykenee simuloimaan dataa tietoliikenneverkossa paketin tarkkuudella ottaen huomioon mm. reitityksen, siirtoprotokollan ja langattoman signaalin vaimenemisen. Simulink-kirjasto mahdollistaa säätöjärjestelmän ja tiedonsiirtoverkon yhteisvaikutusten mallintamisen ja simuloinnin. Lundin yliopistolla Ruotsissa on kehitetty vastaavanlainen simulointiympäristö, TrueTime, joka on toteutettu kokonaan Simulinkissä. TrueTimen vahvuus on mikrokontrollerin ja säätöjärjestelmän hyvä simulointi, kun taas PiccSIMin vahvuutena on tutkimuksessa laajassa käytössä olevan verkkosimulaattorin hyödyntäminen tiedonsiirtoverkon tarkassa mallintamisessa. Tässä työssä tavoitteena on yhdistää simulaatiotyökalut niin, että saadaan käyttöön molempien vahvuudet. TrueTimen mikrokontrolleripohjaisen säätöjärjestelmän mallinnuksen Simulink-osuus liitetään PiccSIMiin, johon lisätään myös tarvittavat lohkot PiccSIM-TrueTime-Ns2 kommunikaatiota varten. Projektin tuloksena syntyy siis seuraavaa: - PiccSIM-kirjaston versio, jossa on TrueTimen kernel-ominaisuudet mukana. Näiden ominaisuuksien käyttöä varten lisätään kirjastoon uudet send- ja receive-lohkot. - Uusia ominaisuuksia havainnollistamaan laaditaan simulointiesimerkki. - Projektin aikana syntyy kolme dokumenttia: suunnitelma, väliraportti ja loppudokumentaatio. Tehdyt muutokset ja ohjeet kirjaston kääntämiseksi myös dokumentoidaan PiccSIMin manuaaliin. Projektityön aloituspalaverissa sovittiin projektityön laajuudeksi 3 op eli n. 81 tuntia työtä. Viikottaiseksi työpanokseksi saadaan 16 viikon kestoiselle projektille n. 5 tuntia. 2. Tehtävät projektissa 2.1. PiccSIM TrueTime integraation implementointi Tehtävä pitää sisällään selvitysvaiheen, implementaation ja testauksen. Selvitysvaiheessa perehdytään simulointijärjestelmän osiin, PiccSIM:iin, TrueTimeen ja ns-2 verkkosimulaattoriin sekä konfiguroidaan kehitys- ja testausympäristö projektia varten. Selvitysvaihe pitää sisällään myös TrueTimen ohjelmakoodiin syventymisen ja muutosten suunnittelun alustavalla tasolla. 2
Implementointivaiheessa toteutetaan selvitysvaiheessa täsmentyneen suunnitelman pohjalta itse integraatio kooditasolla. Implementoinnin aikana muutoksien toimivuutta pyritään testaamaan pienissä osissa. Integraation viimeinen vaihe on kokonaisjärjestelmän toimivuuden testaus mahdollisimman kattavasti. Tässä vaiheessa pyritään testaamaan, että kaikki tehdyt muutokset toimivat yhdessä. Integraatiovaihe on luultavasti projektin aikaa vievin osuus, joten sille varataan suurin osa ajasta projektisuunnitelmassa. 2.2. Käyttöliittymän päivittäminen PiccSIM:ssä Projekti sovittiin alun perin tehtäväksi 3 op laajuisena, jolloin käyttöliittymän päivittämiselle jää vähemmän aikaa. Vähimmäisenä vaatimuksena on kuitenkin Simulink-käyttäjärajapinnan toteuttaminen integroiduille TrueTime-lohkoille. Tähän vaiheeseen voidaan keskittyä tarkemmin, mikäli implementaatio valmistuu etuajassa. 2.3. Simulointiesimerkki Projektissa laaditaan simulointiesimerkki, jolla pyritään havainnollistamaan PiccSIM TrueTime integroinnin tuomaa tarkentunutta simulointia. Esimerkissä pyritään demonstroimaan PiccSIM:iin tuodut ominaisuudet mahdollisimman kattavasti. Esimerkin yhteydessä on luontevaa esittää käyttöohjeet integroiduille ominaisuuksille projektin dokumentaation puolella. 2.4. Projektin dokumentointi Projektia dokumentoidaan kolmessa iteraatiossa. Ennen implementaation aloittamista laaditaan projektisuunnitelma, jossa määritellään työvaiheet ja alustava aikataulu sekä arvioidaan riskejä. Projektin puolivälissä tehdään väliraportti, jossa selvitetään projektin etenemistä. Viimeiseksi laaditaan lopullinen dokumentaatio, joka tulee sisältämään työselostuksen, simulaatioesimerkin selostuksineen sekä TrueTime-kirjastoon tehtyjen muutosten selostuksen periaatetasolla. PiccSIMin dokumentaatioon päivitetään tehdyt muutokset, sekä lisätään ohjeet TrueTimesta integroitujen lohkojen kääntämiseen. 3. Aikataulu Projektin alustava aikataulusuunnitelma on esitetty viikkotasolla taulukossa 1. 3 opintopisteen laajuinen projekti jakautuu viikkojen 3 19 välille n. 5 tuntiin/viikko. Projektin ajankäytöstä tullaan pitämään lukua kirjaamalla käytetyt tunnit ylös ja esittämällä ne väli- ja loppuraporteissa. 3
Suunnitelma on laadittu implementoinnin suhteen tiiviiksi. Toisaalta järjestelmän testaamiselle on varattu kaksi viikkoa, johon voidaan mahduttaa useampi korjauskierros. Tarkemmin mahdollisia aikataulullisia riskejä on pohdittu dokumentin 4. luvussa. Taulukko 1. Projektin aikataulun suunnitelma Viikko Työvaihe Kurssin tapahtumat 3 Selvitysvaihe + suunnittelu Aiheiden jako, projektin aloituspalaveri 4 5 Dokumentointi Projektisuunnitelman DL ja demotilaisuus 6 7 Implementointi 8 (TrueTime-integrointi) 9 10 11 12 Dokumentointi Väliraportin DL ja demotilaisuus 13 Implementointi 14 Testaus 15 16 Simulointiesimerkki 17 Dokumentointia 18 19 Projektin demotilaisuus 20 (Dokumentointi) 21 Dokumentaation DL Selvitysvaihe Implementointivaihe Testaus Dokumentointi 4
4. Riskinhallinta Tässä osiossa listataan joitain mahdollisia riskejä projektin onnistumiselle. Koska työ on puhtaasti ohjelmistoprojekti, ei aikataulu riipu kovikaan vahvasti ulkoisista tekijöistä esim. osien tilailemisesta ja odottelusta. Riskit liittyvät enemmän projektin aikataulutukseen ja organisointiin. Riski: TrueTime osoittautuu hirviöksi ja harhaudutaan tavoitteesta Mikä on riskin toteutumisen todennäköisyys? Alustavan katselmoinnin perusteella koodi näyttää hyvin kommentoidulta ja dokumentaatiota on riittävästi. Toisaalta suunnitelman kirjoitushetkellä TrueTime on vielä musta laatikko, eikä implementaation yksityiskohtiin ole ehditty paneutua huolellisesti. Riskin vaara on olemassa. Miten riskin mahdollisuus voidaan minimoida? Tutustutaan ensin huolellisesti koodiin, minkä jälkeen suunnitellaan tehtävät muutokset. Ennen implementoinnin aloittamista hyväksytetään tehtävät muutokset ohjaajalla. Mitä tehdään, jos riski toteutuu? Otetaan yhteyttä ohjaajaan / korkeampiin voimiin. Riski: Aikataulu uhkaa levitä projektin loppua kohti Mikä on riskin toteutumisen todennäköisyys? On mahdollista, että suunniteltu aikataulu ei kohtaa tehtävän vaatimuksien kanssa. Riskin todennäköisyys on keskisuuri. Miten riskin mahdollisuus voidaan minimoida? Tarkastellaan suunnitelmassa pysymistä esim. viikkotasolla, ja päivitetään suunnitelmaa tarvittaessa. Mitä tehdään, jos riski toteutuu? Allokoidaan projektia varten lisää tunteja. Riski: Sairastuminen / muu yllättävä tekijä Mikä on riskin toteutumisen todennäköisyys? 5
Riskin todennäköisyys on pieni. Allekirjoittanut sairastelee harvoin. Miten riskin mahdollisuus voidaan minimoida? Työstetään projektia tasaisella tahdilla suunnitellun aikataulun mukaisesti. Aikataulu on suunniteltu siten, että siinä on liikkumavaraa mahdollisten odottamattomien tilanteiden varalle. Mitä tehdään, jos riski toteutuu? Jos ei pää irtoa, voi projektia työstää tavalla tai toisella pienessä flunssassakin. 6