Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi



Samankaltaiset tiedostot
OHJ-4301 Sulautettu Ohjelmointi

1. Sulautetut järjestelmät

OHJ-4301 Sulautettu Ohjelmointi

Sulautettu ohjelmointi

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

TOIMINNALLINEN MÄÄRITTELY MS

SÄHKÖTEKNIIKAN KOULUTUSOHJELMA 2010

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen,

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

Laaja-alainen, opiskelijalähtöinen ja projektiperusteinen opetussuunnitelma, case Monitori

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Tutkintovaatimukset suoraan DI-vaiheeseen valituille

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

Integrointi. Ohjelmistotekniikka kevät 2003

9. Luento: Ohjelmistotyö. Tommi Mikkonen,

Organisaatio- a ja yhteiskuntaosaaminen. - ja vuorovaikutusosaaminen istoiminnan osaaminen toimintaosaaminen. Kansainvälisyysosaaminenn

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Vuorekseen liittyvä tutkimusja kehitysprojekti. Langaton Vuores. Kotikatupalvelin

30 Opetussuunnitelma OSAAMISEN ARVIOINTI ARVIOINNIN KOHTEET JA AMMATTITAITOVAATIMUKSET OSAAMISEN HANKKIMINEN. järjestelmätyöt: työskentely

Ohjelmiston toteutussuunnitelma

Tietojärjestelmän osat

OPINTOJAKSO K0094 Integroidut järjestelmät 2ov

Tenttilista kevät 2011

OHJELMISTOKEHITYS -suuntautumisvaihtoehto

Ohjelmistojen suunnittelu

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

KONTTI - Teolliset komponenttiohjelmistot Tekesin ETX-ohjelma

Turvallisuusseminaari Silja-Line

JOHDATUS ELEKTRONIIKKAAN. Oppitunti 2 Elektroniikan järjestelmät

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

TIETOTEKNIIKKA Koodi Vanha opintojakso op ov Vastuuhenkilö LV vastaavat opinnot tai korvaava suoritustapa TTE.

Tutkintovaatimukset suoraan DI-vaiheeseen valituille

Johdatusta ohjelmistotekniikkaan

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Sulautetut järjestelmät

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

EUREFin vaikutukset organisaatioiden tietojärjestelmiin

Uudelleenkäytön jako kahteen

Virtuoosi POS-järjestelmien joukossa

TIETOTEKNIIKAN KOULUTUSOHJELMA

Suunnitteluvaihe prosessissa

Tuoteautomaatio rakennusautomaatiossa

Harjoitustyö Case - HelpDesk

Teollisuusautomaation standardit. Osio 2:

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys

Ohjelmiston testaus ja laatu. Testaus käytettävyys

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä?

Sulautettu tietotekniikka Ubiquitous Real World Real Time

Järjestelmäarkkitehtuuri (TK081702) Web Services. Web Services

AFCEA syysseminaari

Luento 1 Tietokonejärjestelmän rakenne

Robottialustan instrumentointi ja käyttöönotto

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Johdatus ohjelmointiin C-kielellä P Ohjelmoinnin perusteet C-kielellä A Ohjelmointityö

Mikkelin sähköisen asioinnin alusta - päätöksenteko. Kalle Launiala / ProtonIT Oy kalle.launiala@protonit.net

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Tietotekniikan koulutusohjelman suuntautumisvaihtoehdot

Hajautettujen sovellusten muodostamistekniikat, TKO_2014 Johdatus kurssiin

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Online-kurssien pikaopas Adobe Connect -yhteyden käyttämiseen

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

AS Automaatio- ja systeemitekniikan projektityöt

Enemmän irti kännykästä - Vodafone Push . Anssi Okkonen

ENERGIANKÄYTÖN SEURANTA JA ANALYSOINTI Energiatehokas vesihuoltolaitos 3/2018

$$$ Raha ratkaisee. $$$ Raha ratkaisee. Ohjelmistotuote. Ohjelmistotekniikan määritelmä

Rosemount 3051S sähköiset ERS-anturit

ELEC-C1110 Automaatio- ja systeemitekniikan. Luento 11 Esimerkki automaation soveltamisesta

Visuaaliset työpöydät - lisää voimaa liiketoimintaan suurten datamassojen ketterästä analysoinnista

Algoritmit 1. Luento 10 Ke Timo Männikkö

TKT224 KOODIN KOON OPTIMOINTI

Projektityö

19/20: Ikkuna olio-ohjelmoinnin maailmaan

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

Koneenrakennuksen ja talonrakennuksen digitaalisten tuoteprosessien vertailu. Seminaariesitelmä , Tampere

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa

S11-09 Control System for an. Autonomous Household Robot Platform

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Teemat. Vaativien säätösovellusten käyttövarmuus automaation elinkaarimallin näkökulmasta Tampere. Vaativat säätösovellukset

Electric power steering

Toimilohkojen turvallisuus tulevaisuudessa

Teollisuusautomaation standardit Osio 9

Tehosta kokouskäytäntöjäsi! Teknologian avulla järjestät kokoukset tehokkaasti ja vaivattomasti.

HELIA 1 (8) Outi Virkki Tietokantasuunnittelu

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

CASE ULEFOS NIEMISEN VALIMO TIEDONKERUU JA ANALYSOINTI HARJAVALTA. Automaation uudistuksesta tiedon keräämiseen ja laadun parantamiseen

Kuusio konseptikuvaukset askelia tehokkaampaan oppimiseen. oulun seudun ammattikorkeakoulu :: oamk.fi

Intuitiivisen robotiikan ja mukautettavan modulaarisen pakkauslinjan tulevaisuus

DNA:n kysely esikoulu- ja ala-asteikäisten matkapuhelinten käytöstä

Manure Master. Älykäs lannanpoistolaite. Digi Roadshow Seinäjoki Kaappo Ikola, tuotepäällikkö. Pellon Group Oy

Automaatiotekniikka Vaasan Yliopisto

Transkriptio:

1. Luento: Sulautetut Järjestelmät Arto Salminen, arto.salminen@tut.fi

Agenda Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi

Johdanto Sulautettu järjestelmä (ohj. termi) Ohjelmisto ja laitteisto ovat kiinni toisissaan niin saumattomasti ettei kumpikaan ole käyttökelpoinen ilman toista Sekä ohjelmisto että laitteisto saattavat hyödyntää standardikomponentteja Käyttäjä ei yleensä näe työnjakoa ohjelmiston ja laitteiston välillä Vastaavia termejä myös muilla aloilla (esim. mekatroniikka (mekaniikka + elektroniikka))

Ohjelmistoteknisiä ongelmakenttiä Ohjelmistotuotanto Käytettävyys ja käyttöliittymät Laitteistonläheinen ohjelmointi Reaaliaikaiset järjestelmät Reaktiiviset järjestelmät Vikasietoisuus Hajautetut järjestelmät

Joitakin Ominaispiirteitä Pienet vs. suuret (fyysinen koko vs. ohjelmiston koko) Tietokone oikeastaan sivuosassa Muuten jopa väärin suunniteltu? Yleensä suljettuja Ei uusia sovelluksia asennettavissa; tilanne muuttumassa nopeasti, vähintään selain useasti käytettävissä Laitevalmistaja voi kuitenkin yleensä tehdä mitä haluaa (uudet ohjelmistoversiot, patchaus, jne) Toiminnalliset vaatimukset yleensä aikaan sidottuja Turvallisuus ja vikasietoisuus keskeisiä ominaisuuksia Toteutuksessa usein tarjolla halvin, hitain ja pienimuistisin laitteisto, joka pitää virittää äärirajoilleen jolloin suljettuus on merkittävä etu Ohjelmoinnissa hyödynnetään usein laitteiston ominaispiirteitä (esim. Nintendo Wii)

Kokonaisjärjestelmän määrittelystä Usean eri osa-alueen summa; vaatii eri alojen asiantuntijoiden yhteistyötä Ohjelmistotekniikka Tietokonetekniikka Tietoliikennetekniikka Elektroniikka Automaatio Mekaniikka Varsinaisen sovellusalueen asiantuntijat Jokainen tyypillisesti projisoi ratkaistavan ongelman oman alansa erityisongelmaksi Kokonaiskuvan muodostaminen vaikeaa

Kehitys tyypillisesti iteratiivista Ensin toimiva perusratkaisu Kun tuote vanhenee, lisä- ja täydentäviä toimintoja tarpeen mukaan Esim. Matkapuhelin 1. GSM-puhelin pystyi juuri ja juuri soittamaan Soittajan tietojen näyttö Ladattavat soittoäänet Värikuoret WAP Musiikkisoitin ja kamera Facebook & Youtube client Jne. Vaikka laite voi vaikuttaa samalta, ohjelmistoteknisesti muutokset voivat olla massiivisia! Joskus kyseessä jopa kokonaan uusi toteutus (esim. Nokia kommunikaattorissa GEOS -> Symbian OS)

Suunnitteluprosessista Suunnittelun jakaminen osiin Ohjelmiston ja laitteiston rajapinta Ohjelmiston ja laitteiston yhteissuunnittelu (Mahdollisuuksien mukaan myös yhteisvarmennus) Integrointi Eri alan asiantuntijoiden keskinäinen vuoropuhelu eri vaiheissa

Ohjelmiston määrittely Ohjelmiston suunnittelu Ohjelmiston toteutus Kokonaismäärittely Kokonaissuunnittelu Työn jako osiin Laitteiston määrittely Laitteiston suunnittelu Laitteiston toteutus Ohjelmiston testaus Laitteiston testaus Integrointi ja testaus

Ohjelmiston ja laitteiston rajapinta Korkean tason asiat vs. nippelitason asiat Joskus nippelitaso voi johtaa hankaliin teknologiavalintoihin (tai jopa kalliisiin virheisiin!) Esimerkki: Keskeyttävä vai ei-keskeyttävä oheislaite Yleensä ainakin: Suoritin (käskykanta, rakenne, erikois/yleis, liukuluvut, suorittimien määrä, suorituskyky, ) Muisti (ROM, RAM, Flash, yhtenäisyys, patterivarmennukset, koko, ) Oheislaitteet (lukumäärä, keskeyttävyys, rekisteri/käskyohjaus, reaktionopeus, )

Ohjelmiston ja laitteiston yhteissuunnittelusta Monet toiminnot voidaan toteuttaa joko laitteistolla tai ohjelmistolla Ohjaava tekijä usein valmistusmäärä, ja vielä sopivasti porrastetusti saatavissa olevien komponenttien hinnan ja ohjelmiston määrän mukaan Esimerkki: 1 kpl -> hinnalla ei ehkä lainkaan väliä? 2-n -> laitteisto (valmiit standardikomponentit) n-m-> ohjelmisto (korvataan joitain komponentteja) m-> jälleen laitteisto (laitekohtaiset komponentit) Kaikki riippuu kaikesta

Eri alojen edustajien roolit: Esimerkkinä Rakennusautomaatio LVI-asiantuntija -> Laitteistojen minimi- ja maksimitarpeet; sovellusalan perusratkaisut Automaation asiantuntija -> Mittaus- ja säätötekniikka; uudet, korvaavat ratkaisut Tietokoneasiantuntija -> Tietokonelaitteiston suunnittelu ja hankinta; yhteensovittaminen mittaja ohjauslaitteiden kanssa Ohjelmistoasiantuntija -> Kaiken edellä olevan yhdistävän ohjelmiston suunnittelu, toteutus ja testaus! Sovellusalueen asiantuntijat: Perustiedot ratkaistavasta ongelmasta Muut asiantuntijat: Tarkennukset (esim. algoritmeja jne) Tietokonesuunnittelija: Laitteiston rakenne ja sen yksityiskohdat

Suunnittelun etenemisestä? Järjestelmän ohjaus: Toteutetaanko mittaustietojen kerääminen ja ohjaaminen erillisjohdotuksella vai väyläratkaisulla? Pääasia että tiedot ylipäätään kerätään Erillisjohdotusta on käytetty aina ennenkin, miksi ei nytkin? Erillisjohdotus vaatii keskusyksikköön päätelaitteen tms. mittaus/ohjauspistettä kohti Väyläratkaisuita voi ostaa valmiina (esim. LON) Erillisjohdotus vie enemmän johtua mutta väyläratkaisu vaatii enemmän älykkyyttä laitetasolla kumpi on edullisempaa? Väyläratkaisu voi olla epäkypsää teknologiaa; toisaalta tulevaisuus on väylän Mikä väyläratkaisu olisi sopivin, jos sellaiseen päädytään?

Sulautettu ohjelmointi Välttämätöntä sulautettujen järjestelmien toteuttamisessa, mutta usein myös muulloin edullista. Yhteisiä piirteitä: Tarkkaan rajattu mahdollisuus käyttää muistia ja ymmärrys mihin sitä käytetään Ymmärrys mitä taustalla olevan laitteiston oletetaan tekevän Huolellisuus suorituskyvyn kannalta kriittisten asioiden suhteen Erikoistetut työkalut Ohjelmistokehitys vaatii tyypillisesti ajastusta ja aikaan sidottujen tehtävien hallintaa Rinnakkaisuus jokapäiväistä

Yhteenveto Sulautettu järjestelmä Ohjelmisto ja laitteisto ovat kiinni toisissaan niin saumattomasti ettei kumpikaan ole käyttökelpoinen ilman toista Useita erilaisia insinööritieteitä osana suunnittelua Ohjelmiston toteutuksessa joudutaan usein yhdistämään eri alojen asiantuntijoiden vaatimukset Sulautettu ohjelmointi Ymmärrys mitä taustalla olevan laitteiston oletetaan tekevän Sisäänrakennettu rinnakkaisuus, aikakriittisyys, reaktiivisuus ja vikasietoisuus (sekä yhä useammin myös hajautus!)