Ohjelmisto osana laitetta Marko Leppänen 1
Mainos Mitä? M.O.S.K.A. eli Mitä Opiskella Saadaksesi Kunnollisen Ammatin Koska? Keskiviikkona 13.11. klo 14:00-16:00 Missä? Salissa TB111. Mistä on kyse? Tapahtumassa tietoteknisiä aineita lukeneet jo valmistuneet kertovat, mitä he ovat opiskelleet ja miten se on tai ei ole vaikuttanut työelämään. Paikalla on puhujia erilaisista ammateista, joten se on erinomainen tilaisuus jos ei ole aivan varma mitä haluaa opiskella tai on muuten vain kiinnostunut kuulemaan valmistuneiden mietteitä opiskelusta. Tapahtumassa on myös tarjolla kahvia, munkkeja sekä fuksipisteitä. Tervetuloa paikalle! 2
Ohjelmistoja? 3
Merkitys Suomen koko kansantalouden tasolla ohjelmistoista riippuvaista teollisuuden liikevaihtoa kertyy liki kolmannes koko liikevaihdosta eli noin 39 miljardia euroa. Suomen teollisuuden viennistä noin kolmannes eli 17 miljardia tulee tuotteista, jotka ovat ohjelmistoista riippuvaisia. Suomessa toimivat teollisuusyritykset työllistävät suoraan noin 19 500 ohjelmistokehittäjää, joista noin 9 400 työskentelee Suomessa. Teollisuuden alihankkima ohjelmistotyö työllistää melkein yhtä suuren joukon. Softaa koneisiin! Ohjelmisto-osaaminen suomalaisen teollisuuden uudistajana Etla, 2011 4
Ohjelmistojen koko Embedded Software: Facts, Figures, and Future IEEE Computer, April 2009 (vol. 42 no. 4) 5
Ohjelmistojen koko Embedded Software: Facts, Figures, and Future IEEE Computer, April 2009 (vol. 42 no. 4) 6
Koodia on paljon 7
Nykyajan elämää 8
Paikallista taustaa Pirkanmaalla vahva konepajaosaamisen perinne Sandvik, John Deere, Metso, Cargotec jne. Sandvikin edustaja Aamulehdessä kehui TTY:n vaikutusta Cargotecin tutkimuslaitos Ruskossa osittain TTY:n läheisyyden vuoksi 9
Erityispiirteitä Koneenohjausjärjestelmillä on vahvoja laatuvaatimuksia johtuen sovellusalueen erityispiirteistä. Koneenohjausjärjestelmien elinkaari on pitkä, niiden turvallisuus on ensiarvoisen tärkeää, mutta toisaalta saavutettavuutta ei saa vaarantaa. Järjestelmät ovat usein hajautettuja ja niiden on reagoitava nopeasti niin ulkoisiin ärsykkeisiin kuin ohjaukseenkin. Nämä asiat yhdessä tekevät järjestelmien suunnittelusta haastavaa jopa ohjelmistoammattilaiselle ja usein järjestelmien suunnittelijoiden on oltava myös sovellusalueen asiantuntijoita. Järjestelmät ovat osa tuotantoketjuja ja niiden on toimittava yhteen. 10
Mikä on tärkeää? 11
Työkoneen rakenne 12
Käyttäjäkokemus 13
Yleinen työkoneen rakenne Kone Kouran ohjaus Rungon ohjaus Voimansiirron ohjaus PC väylä Tuotantojärjestelmä Etäyhteys 14
Yleisluontoiset ohjaimet 15
Ohjelmiston rakenne 16
Ympäristöarvot 17
Ympäristöarvot 18
Komponenttipohjaisuus Sulautettu järjestelmä koostuu koko tuotteesta, joka koostuu puolestaan ohjaimista. Ohjaimilla on oma rautansa, jota ohjaa raudan oma firmware. Firmwaren päällä sitten sovelluskohtainen ohjelmisto. Tämä hw+fw+sw on yksittäinen komponentti järjestelmässä. Kaikilla osasilla on oma versionsa. 19
Koneenohjausjärjestelmien erikoisuuksia Monesti raudan valmistamisella pitkä perinne, ohjelmisto suhteellisen uusi tulokas. Kuitenkin ohjelmisto usein avainasemassa uusien rahaa tuottavien ominaisuuksien teossa. Tuotteen pitkä elinkaari Tiettyä tuotetta aletaan suunnittelemaan ehkä jo 5 vuotta ennen julkaisua Julkaistua tuotetta valmistetaan 5 vuotta Viimeisintäkin valmistunutta konetta tuetaan 10 vuotta Koneisiin lisätään uusia ominaisuuksia, tuotteenhallinta tärkeää Turvallisuus ja luotettavuus Kone voi aiheuttaa kuolinuhreja Kone voi aiheuttaa merkittäviä vahinkoja Kone on kallis ja sen downtime kallista Lainsäädäntö: ISO EN13849 tai IEC61508 ja IEC6260 20
Koneenohjausjärjestelmien erikoisuuksia Alihankinta Osa järjestelmistä ostetaan muilta yrityksiltä Rajapinnat tärkeitä Tietoturva tärkeää Omat legacy ohjelmistot ja komponentit, COTS Osaongelmana pitkää elinkaarta Olemassa oleva toimiva koodi on uudistusten pahin vihollinen COTS komponenttien tuki Ohjelmistot osana COTS-komponentteja Äärimmäinen esimerkki: moottori Saman softan pitää toimia eri alustoilla. Korporaation laajuiset alustat 21
Koneenohjauksen erityispiirteitä Ohjelmistojen alihankinta: Perinteisesti konepajayritykset eivät miellä itseään ohjelmistotaloina Alijärjestelmät ostetaan => monitoimittajaprojekti, joka on usein perinteisillekin ohjelmistotaloille hankalaa. Hajautettu ohjelmistokehitys (P. Abrahamsson: Ei toimi). Alihankkijalla ei ole useasti aivan yhtä vahvaa sovellusaluetietämystä ja tämä joudutaan dokumentoimaan / kommunikoimaan alihankkijalle. Osaaminen myös vuotaa ulos talosta. NDA:t ja IPR tärkeää 22
Koneenohjauksen erityispiirteitä Arkkitehtuuri usein väyläpohjainen ja hajautettu, lisänä M2M - kommunikaatio Hajautuksesta saadaan hallittavuutta (separation of concerns) Kaapelointikustannukset vähenevät Kokonaiskuva hämärtyy Hajautus, reaaliaikaisuus, järjestelmien järjestelmät Sulautettu ympäristö Työkalujen saatavuus voi olla huono Laskentateho? Palvelut 23
Yleisiä ongelmia Testaus hankalaa Rautaa ei välttämättä ole projektin alussa saatavilla Reaktiivisuus Osajärjestelmä riippuu kokonaisuudesta Yksittäisen ohjainmoduulin toiminnasta ei välttämättä havaintoja ulkopuolelle ei kunnon testausinfraa/-työkaluja olemassakaan Alihankkijan vaikeudet testata usein paljon pahempia Testauksen (huonoja?) ratkaisuja: Itsetehtyjä testausstubeja, regressiotestaus vaikeaa testaillaan irtopurkilla omalla työpöydällä, vaikeaa integraation suhteen testaillaan simulaattorilla, jota tarvitaan muuhunkin testaillaan koneella, jota on vaikea saada käyttöön, kallis laite 24
Ongelmat jatkuvat Henkilöstöongelmat kehityspuolella koko kehitys henkilöityy yhteen/kahteen toimijaan osajärjestelmäkehitys omassa talossa, kokonaisuuden hallinta näiden henkilöiden kiire vanhojen projektien kanssa liikaa palavereja (riippuvuudet muihin osiin/rautaan, alihankinnan järjestäminen) ei aikaa keskittyä omaan kehitystyöhön Huoltobisnes tärkeä tulolähde Etähuolto Ennakoiva huolto Halutaan kuitenkin nähdä joku paikan päällä Vendor lock-in Kehitysympäristön yhtenäistäminen Työkalujen elinkaari 25
Ongelmat jatkuvat Vaatimustenhallinta Toiminnalliset vaatimukset usein hyvin hanskassa Ei-toiminnalliset vaatimukset hämärtyvät Asiakkaan käsite Mistä vaatimukset tulevat? Muut sidosryhmät Yleisiä ongelmia: Kehityksen ketteryys Paikallinen minimi ei ole koko systeemin minimi Dokumentaatio ei ole hyvä kommunikointiväline ja dokumenttien ylläpito on kallista Avoimuus vastaan propietary-ratkaisut 26
Projekti vai tuote? Pitää muistaa tehdäänkö sarjatuotantoa vai projektitoimituksia. Tämä on keskeinen bisnespäätös ja vaikuttaa moniin asioihin. Bisnesmalliin sopimattomat toimintatavat aiheuttavat ongelmia softapuolellakin Huoltaako järjestelmiä tehtaan R&D vai erillinen huoltoorganisaatio? Joskus jonkun osan parametrisointi voi esim. vaatia oman työkalun, joka ei ole yhteensopiva tehtaan muiden työkalujen kanssa. Huoltopaketti koostuu valtavasta määrästä sovelluksia, jokainen sopii tiettyyn tuotekonfiguraatioon -> ei toimi sarjatuotannossa. 27
Jos valmiissa tuotteessa ongelmia kentällä Ilman koneen diagnostiikkaa huolto ei tiedä helposti mikä on vialla, paikalle tarvitaan softan tekijä, joka voi softadiagnostiikkatyökaluilla debugata konetta. Tästä seuraa ongelmia Softamiehen paikalle saaminen kestää Softamies on paikalliseen huoltoon verrattuna kallis, etenkin matkat huomioiden Softamies on pois muista töistään. Usein paikalla selviää, että varaosia ei tarvita vaan riittää huonon kontaktin parantaminen tai kytkimen säätö tms. 28
Töitä tänään We are offering a position as a Software Design Engineer at ABB Oy, Power Systems unit in Helsinki. As a member of the System SYS team (which focuses on developing the MicroSCADA Pro SYS 600 and SYS 600C product portfolio), you will be responsible for developing usability and engineering efficiency. This includes writing specifications and documentation, and participating in development projects and design reviews. We offer you an interesting position in a global setting, with good opportunities for advancing your career. You have excellent C++, C#, XML, and HTML skills. A thorough understanding of programming in the Windows OS is appreciated. The Linux Expert will interact on a daily basis with professionals from the most successful worldwide brands who trust on Tuxera file systems in their phone, tablet, TV, set-top box and automotive infotainment projects for the latest yet-tobe-released devices. The person will be in charge of designing, developing, and installing new technologically advanced software solutions for radio remote control systems. Master Degree in Electronics or Cybernetics or Information & Communication Technology Strong experience in software developing, preferably within field-bus and wireless communication Previous work experience in accordance to standards like IEC 61508 or similar 29
Ja lopuksi mainos. 30