1. Ohjelmistoarkkitehtuurit harjoitustyö 2012 Versio 1.1 5.3.2012 1. Johdanto Harjoitustyön aiheena on suunnitella metsäkoneen ohjelmistoarkkitehtuuri ja metsäteollisuusyrityksen toimitusten ja tilausten hallintajärjestelmä. Jokainen yksittäinen harjoitustyöryhmä suunnittelee näistä toisen, ja lisäksi jokaisella ryhmällä on yhteistyöryhmä, joka suunnittelee toisen. Ryhmät toimivat itsenäisesti, mutta kommunikoivat tarpeen vaatiessa keskenään, jotta laajemmat, kumpaakin järjestelmää koskevat ominaisuudet ovat toimivia, eivätkä ole ristiriidassa keskenään. 1.1. Painopisteet Harjoitustyössä suunnitellaan metsäkoneen/kuljetuskoneiden ohjausjärjestelmän ohjelmistoarkkitehtuuri. Suunnittelun lisäksi painopisteenä on arkkitehtuurien arviointi, ja siitä erityisesti ATAM- ja DCAR-menetelmä. Jokainen harjoitustyökokonaisuus (ryhmä + yhteistyöryhmä) käydään läpi ATAM/DCAR-menetelmällä yhtenä kokonaisuutena. Tarkoitus on, että arviointisessiossa arvioidaan mahdollisimman valmis arkkitehtuuri, mutta toisaalta arkkitehtuuria on vielä mahdollista parantaa ATAM/DCAR-sessiossa löytyneiden riskien ja puutteiden perusteella. Työtä tehdessä ja suunnitellessa kannattaa pitää mielessä ensimmäisillä luennoilla (ja harjoituksissa) käytyä asiaa ohjelmistoarkkitehtuurin määritelmästä. (Esim. kalvot 4-12 johdantoluentojen kalvosetistä kaksi.) 1.2. Tämän dokumentin rakenne Harjoitustyön aikataulu ja muut käytännön järjestelyt esitellään luvussa 2. Luvut 3-5 esittelevät harjoitustyön aiheen. 2. Harjoitustyön käytännönjärjestelyt ja aikataulu Harjoitusryhmäsi aihe ja yhteistyöryhmän tiedot löytyvät IDLEstä. Olkaa yhteydessä yhteistyöryhmäänne jo harjoitustyön alkuvaiheessa. Jos kommunikoinnin kanssa on ongelmia, ottakaa yhteyttä omaan assariinne. Harjoitustyön tekeminen koostuu kahdesta päävaiheesta: 1. Suunnittelu a. Välipalautus b. Arvioitavan version palautus c. Korjatun arkkitehtuurisuunnitelman palautus, miten ATAM/DCAR -löydöksiin on reagoitu
2. Arkkitehtuurin arviointi a. Arviointitilaisuuteen valmistautuminen, arkkitehtuuriesityksen valmistelu jne. b. Varsinainen arviointitilaisuus, jossa molemmat ryhmät ovat läsnä c. Arviointiraportin palautus Aikataulu: 27.2.-2.3.2012 harjoitustyön välipalautus 19.3.2012: Suunnitteludokumentin palautus Arviointitilaisuudessa esiteltävän materiaalin palauttaminen kaksi päivää ennen sessiota (arkkitehtuuriesitys) TTY: 23.3.2012 klo 8: Arviointiajan varaus TTY: 23.3.-4.4.2012 Arviointisessiot 16.4. Arviointidokumenttien palautus 27.4. Arkkitehtuuriarvioinnin perusteella muunnellun/kommentoidun suunnitteludokumentin palautus (katso myös kohta 6.2) Annetut päivämäärät ovat viimeisiä mahdollisia päiviä, palautuksen saa ja kannattaa tehdä ennen viimeistä päivää. 2.1. Yleiset vaatimukset Käyttäkää annettua dokumenttipohjaa (doc, odt, Latex), tehkää palautus pdf-muodossa. Tarkistakaa, että sivunumerointi löytyy ja toimii. Kiinnittäkää erityistä huomioita kuviin ja kaavioihin sekä niiden selvittämiseen. Dokumentoikaa järjestelmän tärkeimmät rajapinnat riittävän yksityiskohtaisesti. Yhteistoiminta toisen ryhmän kanssa on hyödyllistä. Sopikaa yhteistoiminnallisuuden toteutustavoista ja käytetyistä tekniikoista. 2.2. Yhteistoiminta metsäkoneen ja tuotannonhallintajärjestelmän välillä Viestintä työkoneiden ja ohjausjärjestelmän välillä on langatonta ja viestinnässä käytetään perinteistä 3G verkkoa. Jos perinteistä kännykkäverkkoa ei ole saatavilla, esim. työkoneen ollessa kuuluvuusalueen ulkopuolella, varajärjestelmänä toimii satelliittipuhelin (linkki tähän). Koneilta lähetetään seuraavia viestejä: käsitellyt puut/muu kuorma vikatilanteet, polttoaineenkulutus, sijainti nykyinen työtehtävä, työn vaihe (montako % tehtynä), kuka kuskina kuljettajan kuittaukset tehtäviin
Työnohjausjärjestelmästä koneelle voidaan lähettää tiedotteita ja tehtävänantoja: uusi työtehtävä, työtehtävän vaihto, huoltoilmoitus Työnohjausjärjestelmän viestit tarjotaan koneissa kuskin nähtävillä ja kuljettaja voi kuitata tehtävät tai jopa hylätä ne. 3. Aihealueen esittely Harjoitustyön aihealueena on metsäteollisuus ja metsäkoneet, mutta samat arkkitehtuuriratkaisut, kuten väyläratkaisut harvesterissa (hakkuukone) tai toiminnanohjauksen rakenteet pätevät hyvin myös muihin aloihin. Metsäalan tuntemus ei ole tarpeen harjoitustyön suorittamisen kannalta. Kuva 1: Metsäkone Metsäkone on metsässä toimiva puun kaatoon tai siirtämiseen soveltuva hakkuukone (tässä työohjeessa harvesteri) tai kuormatraktori. Kuormatraktoria taasen voidaan käyttää puiden ja puukasojen noukkimiseen ja niiden kuljettamiseen (metsä)tien varteen. Tukkirekka tai vastaava puutavaran kuljetukseen soveltuva ajoneuvo käy noukkimassa puut tien varresta. Harvesteri kaataa, sahaa, mittaa ja pinoaa tukit metsään kuormatraktorin noukittavaksi. Linkkejä: http://www.ponsse.fi/suomi/tuotteet/opti/metsakoneet/harvesterin_ohjaus.php
4. Harvesterin arkkitehtuuri Harvesterin ohjelmistopuoli koostuu laitteista, antureista ja ohjausyksiköistä, jotka kommunikoivat CAN-väylän avulla. Korkean tason arkkitehtuuri on esitelty kuvassa 1. Väylällä olevien komponenttien ja hytissä olevan PC-pohjaisen keskusyksikön ohjelmiston arkkitehtuurin määrittely kuuluu harjoitusryhmän tehtäviin. Kuva 2: Korkean tason väyläarkkitehtuuri Kuva 3: Ohjaamo 4.1. Harvesterin osat Tässä harjoitustyössä harvesteri koostuu seuraavista osista: Hytin tietokone: hytissä on tietokone, jonka ruudulta kuljettaja voi tarkkailla metsäkoneen toimintaan liittyviä tietoja, katsella karttaa, käsitellä työtehtäviä ja tarkastella/lähettää vikailmoituksia.
Puomi: kolmesta kohtaa taipuva nostovarsi, jonka päähän kiinnitetään joko koura, jolla puita katkotaan ja siirrellään tai pelkkä nostopää, joka soveltuu puiden siirtelyyn. Nosturia voidaan ohjata ja siltä saadaan asentotietoja ja tiedot mahdollisista vikaantumisista. Moottori: moottorin avulla harvesteri liikkuu ja pyörittää erilaisia apulaitteita. Moottorilta voidaan pyytää tehoa asian x suorittamiseen (kuten hydraulipaineen nostamiseen). Moottorilta saadaan seuraavia tietoja: lämpötila, kierrosluku, pakokaasuanturin mittaustiedot, polttoaineen kulutus. Lisäksi polttoaineen mittaustiedot saadaan erikseen. Hytti: hytti on hydraulisesti ohjattu, niin että hytti pysyy vaakatasossa maastoolosuhteista riippumatta. Hytin ohjaus tehdään kahden moottorin avulla, asentotietoja saadaan kahdelta eri anturilta. Anturit: Sekalainen määrä erilaisia antureita koneen asennosta ulkoilman lämpötilaan. Kamerat: Luksusmalleissa peruutus- ja sahauskamerat, joiden kuvaa voidaan katsella koneen näytöllä. Koura: kouralla voidaan suorittaa seuraavat toimenpiteet: sahaus, karsinta, mittaus, puiden merkintä, lahonestoaineen ruiskuttelu o kouralta saadaan seuraavia tietoja sahaus päällä/pois, vikaantunut karsinta käynnissä/pois, vikaantunut mittaus päällä/pois, mittaustulokset onnistuneen mittauksen jälkeen puiden merkintä päällä/pois, merkintäaine lopussa, merkintälaite vikaantunut lahonestoaineen ruiskija päällä/pois, aine lopussa, laite vikaantunut Ohjaus: Laitetta ohjataan monitoimiohjaussauvalla 4.2. Vaatimuksia Yrityksemme aikoo valmistaa myös muita työkoneita, kuten kuormatraktoreita ja kauhakuormaajia. Voisiko arkkitehtuurin suunnitella niin, että sama ohjelmisto olisi siirrettävissä myös tähän ympäristöön? Käyttöliittymän pitäisi olla helposti vaihdettavissa ja päivitettävissä. Ruudun koko vaihtelee varustetason mukaan. Uusien laitteiden ja antureiden lisäämisen tulisi olla helppoa. Firmamme toimittaa eri versioita samasta koneesta hieman eri osakokonaisuuksilla. Tuoteperheet ovat tärkeämmässä asemassa, dynaamisuus eli asioiden ajoaikainen muuttaminen ei ole tarpeen. Päivitettävyys: Tuotteilla on pitkä elinkaari. Uusien laitteiden tai ohjelmistokomponenttien asentaminen tai olemassa olevien päivittäminen pitäisi olla helppoa. Luotettavuus: Yhden laitteen/anturin vikaantuminen ei rampauta koko konetta. Turvallisuus, Kuskia ei saa tappaa, muita ihmisiä ei saa tappaa (esim. tukkia ei saa syöttää hyttiä kohti). Hätäsammutuksen pitää mennä läpi oli ohjelmiston tila mikä tahansa. Suorituskyky: Jos ohjataan esim. puomia, viiveitä ei saa ilmetä.
4.3. Käyttötapauksia Heikki Hakkuukoneenkuljettaja herää uuteen aamuun. Hän tarkastaa kännykästään päivän työtehtävät aamukahvia hörppiessään. Työkohteelle saavuttuaan hän käynnistää harvesterin ja ottaa työtehtävät näkyviin koneen näytölle ja pyytää kohteeseen (leimikko) navigointia. Kohteeseen päästyään hän kuittaa työtehtävän aloitetuksi. Yksittäisen puun kaataminen koostuu useasta vaiheesta: Puu kaadetaan, lahonestoaineet ruiskutetaan, puu karsitaan oksista, katkotaan halutunpituisiksi pätkiksi, pätkät merkitään tunnisteella (ja koneelle tallennetaan mitä puuta, minkä laatuista). Eino Epäonnekas on katkomassa puita keskellä pöpelikköä, kun harvesterin hydraulijärjestelmä vikaantuu. Näytöllä näkyy varoitus ja Eino keskeyttää työn. Samalla vikailmoitus lähtee automaattisesti eteenpäin. Huollosta soitetaan Einolle ja kysytään muutama lisäkysymys. Einon vastausten ja saadun vikaraportin perusteella kone päätetään huoltaa metsässä. Pian Eino näkee koneensa näytöltä tiedon huoltohenkilökunnan arvioidusta saapumisajasta ja ohjeita muutamien osien irrottamisesta huoltotoimien helpottamiseksi. 5. Työnohjausjärjestelmä (Fleet Control) Kuva 4: Järjestelmän toiminta
Harjoitustyön toisena arkkitehtuurina on työn- ja kuljetustenohjausjärjestelmä (fleet control). Järjestelmän avulla voidaan hallita tuotteiden kuljetusta tilausten vastaanotosta niiden toimittamiseen. Saadut tilaukset voidaan jakaa osatehtäviin, esimerkiksi kokonaistilaus 600 tonnia sellukuusta Anjalankoskelle voidaan jakaa eri työmaiden kesken. Järjestelmä osaa priorisoida ja jakaa työtehtävät ja kertoa, jos uusia tilauksia ei voida toimittaa ehdotetussa määräajassa. Varsinaisessa työkoneiden ohjauksessa ja tehtävien jakamisessa huomioidaan mm. nykyinen tehtävä, koneiden sijainti, huoltotilanne (paljonko aikaa määräaikaishuoltoon jne.) ja kuljettajan työtunnit (ovatko viikon tai kuukauden työtunnit jo täynnä). Työkoneilta saadaan tietoja käsitellyistä tuotteista, joten tilausten ja työtehtävien etenemistä voidaan tarkastella. Laitteiden vikaantumiset huomioidaan järjestelmässä, niistä ilmoitetaan ja huoltohenkilökunta voidaan hälyttää paikalle automaattisesti (jos firmalla on erillinen huolto-osasto). Järjestelmän kautta voidaan hakea raportteja muun muassa koneiden käyttöasteesta, ajetuista kilometreistä, polttoaineen kulutuksesta ja vertailulukuja eri koneiden ja työmaiden välillä. Samoin työntekijöiden eri työvaiheiden tehokkuutta voidaan verrata. 5.1. Skenaarioita Matti Myyntihenkilö saa neuvoteltua uuden tilauksen, toimitettavana on 200 tonnia sellukuusta Jämsänkosken tehtaalle. Matti syöttää tilaustiedot järjestelmään ja saa arvion toimitusaikatauluista perustuen tilaustilanteeseen ja nykyisiin työtehtäviin. Maiju Manageri haluaa tehostaa yrityksen toimintaa. Hän pyytää työtehtäväkohtaiset raportit harvesterien käytöstä jaoteltuna kuljettajittain. Hän huomaa, että muutamat kuljettajista ovat selvästi muita hitaampia puiden kasaamisessa ja lajittelussa. Kuskeille järjestetään muutaman päivän koulutus, ajankohta pyydetään järjestelmältä niin että tilauksissa on hiljaisempi hetki. Yrjö Ylipäällikkö tarkastelee tilauksia ja ylityömääriä viimeisen kolmen vuoden ajalta. Hän huomaa, että erityisesti syyskuussa työntekijöillä on jouduttu teettämään ylitöitä. Hän päättää, että tänä vuonna työvoimaa täydennetään vuokratyövoimalla ja vuokrakoneella. Yrjö lisää uuden laitteen ja kuskin järjestelmään. Kun syksy saapuu, vuokrakonetta käyttävälle lainakuskille annetaan kannettava päätelaite, jolla työajan seuranta ja työtehtävien hallinta hoidetaan. Harvesterin XYZ moottorin jakohihnan ja puomin pylpyröiden työtunnit alkavat tulla täyteen. Järjestelmä laskee huollolle sopivan ajan. Harvesteri viedään huoltoon samalla kun se siirretään työmaalta toiselle. Näin säästytään kuljettamasta metsäkonetta ees-taas. Hanna Harvestoija kaataa mäntyjä hankalassa pöpelikössä. Vaikean maaston takia työ venyy neljä tuntia arvioitua pidemmäksi. Työn seuranta huomioi automaattisesti tehdyt lisätunnit. Työntekijän tunnit lasketaan normaalisti ja kustannus- ja huoltolaskelmissa huomioidaan suunnitelmasta poikennut aika.
5.2. Vaatimuksia johtoportaasta Yrityksemme tavoitteena on myydä vastaavia järjestelmiä myös kuljetusfirmoille ja ehkä myös varustamoille merenkulkuun. Järjestelmän ei pitäisi olla riippuvainen kuljetettavista tuotteista tai kuljetuksia tekevistä laitteista/kuljettajista. Työtehtäviä ja vikaantumisilmoituksia pitää pystyä käsittelemään sekä kännyköissä että normitietokoneilla. Huollon pitää pystyä tarkastelemaan huolto-ohjeita jne. myös metsässä. Raportteja ja tilauksia pitäisi pystyä tarkastelemaan sekä Windowsille tehdyn perussovelluksen että weppipohjaisen käyttöliittymän avulla. Huollon käyttämän varaosien tilausten käsittely- ja varastonhallintaohjelmiston voisi liittää osaksi kokonaisjärjestelmää. 5.3. Järjestelmän tärkeimmät osakokonaisuudet Harvesteri Kuormatraktori Tukkirekka Erilaiset tehtaat ja sahat, jonne puita toimitetaan Huolto ja huollon ajoneuvot (kuljetuslavetit, huoltoautot) Käyttäjien päätteet (eri käyttäjäroolit: myynti, managerit, huollon johto) Kannettavat laitteet, kännykät 6. Vaadittava dokumentaatio 6.1. Välipalautus Annetun dokumenttipohjan mukaan seuraavat kohdat soveltaen: Vaatimukset järjestelmälle (luvut 1 ja 2) o Yleinen kuvaus järjestelmästä ja sen vaatimuksista o Muunneltavuusvaatimukset, eli minkälaiseen muunteluun toteutettavan järjestelmän tulee varautua Yleinen arkkitehtuuri (luku 3 ja erityisesti sen kohdat 3.1. ja 3.2.) o Korkean tason arkkitehtuuri (luokkakaaviot ja sekvenssikaaviot mahdollisia) o Käytetyt suunnittelumallit (mm. luokkakaavio) 6.2. Lopullinen palautus Korjattu/päivitetty versio välipalautuksessa annetusta dokumentista, johon on täydennetty loputkin dokumenttipohjan kohdat. Tärkeää on myös kertoa, mitä muutoksia arkkitehtuuriarvi-
ointi aiheutti ryhmän järjestelmään. Lisäksi ryhmän on kerrottava raportissaan ryhmän järjestelmälle suoritetusta arkkitehtuuriarvioinnista riippuen joko ATAM-arvioinnissa löytyneiden riskien vakavuus (High= suuria ja työläitä muutoksia, Medium= aiheuttaa joitain muutoksia, Low= ei suurempia vaikutuksia ), tai DCAR-arvioinnin perusteella löytyneiden riskien aiheuttama korjaustarpeen vaikeus (esim. kuinka vaikeaa olisi vaihtaa viestinvälityskomponentti toiseen). 6.3. ATAM/ DCAR ATAM/DCAR-arviointitilaisuutta varten tehty materiaali (esitykset yms.) ATAM/DCAR-raportti. 7. Alustavat arvosteluperusteet Arvostelussa kiinnitetään erityisesti huomiota seuraaviin asioihin: Järjestelmän arkkitehtuuri o laajennettavuus ja ylläpidettävyys Dokumentaatio Yhteistoiminnallisuus, yhteistyö toisen ryhmän kanssa... Harjoitustyö arvostellaan seuraavasti: Välipalautus: hyväksytty/hylätty Suunnittelu: 0-6p (sisältäen alkuperäisen suunnittelun + arkkitehtuuriarviointiin reagoinnin), ATAM/DCAR arviointi: 0-4p. 8. Palauttaminen 8.1. Välipalautus Välipalautuksessa palautetaan pelkästään alustava versio dokumentaatiosta yliopistokohtaisten käytäntöjen mukaisesti. 8.2. Lopullinen palautus Palautuspaketit nimetään seuraavan mallin mukaisesti: ohar_2012-group<ryhmän numero>-<vaihe>-<harjoitustyön aihe>.pdf eli esim.
ohar_2012-group1-välipalautus-harvesteri.pdf tai ohar_2012-group23-lopullinenpalautus-työnohjaus.pdf Ryhmänumeron saat IDLE:stä (TTY) tai assariltasi.