Tekniikka Useampi moottori - Erilaisia veto- ja ohjaustapoja - Kaikki nämä vaihtoehdot tarvitsevat kaksi moottoria - Oikealla ja vasemmalla on erillin

Koko: px
Aloita esitys sivulta:

Download "Tekniikka Useampi moottori - Erilaisia veto- ja ohjaustapoja - Kaikki nämä vaihtoehdot tarvitsevat kaksi moottoria - Oikealla ja vasemmalla on erillin"

Transkriptio

1 Tekniikka Useampi moottori - Erilaisia veto- ja ohjaustapoja - Kaikki nämä vaihtoehdot tarvitsevat kaksi moottoria - Oikealla ja vasemmalla on erillinen moottori ohjaamista varten - Keskellä ohjaaminen tapahtuu moottorien nopeuserolla=> tarvitaan moottorien välinen synkronointi

2 Tekniikka Suoraan ajaminen Ensimmäisessä vaihtoehdossa molemmilla moottoreilla on oma palautteeseen perustuva ohjaus (P) - Tällä tavalla ajoneuvo todennäköisesti mutkittelee

3 Tekniikka Toisessa vaihtoehdossa on lisätty paikkaan perustuva ohjain (I), joka laskee yhteen paikkaerot ja ohjaa molempien moottoreiden ohjaimia (P) - Tässä oletetaan palautteen olevan nopeaa

4 Tekniikka Kolmannessa vaihtoehdossa on vielä lisätty kaaren tasoitus (Curve Offset) sisäänmeno, joka nollaksi asetettuna mahdollistaa suoraan ajamisen ja muilla arvoilla erimittaisten kaarien ajamisen

5 Tekniikka Käyttöliittymäohjelma Robotin ohjauksessa pitää ottaa huomioon kaikki matalantason moottorinohjauksenongelmat -Haluamme kuitenkin käyttäjäystävällisen käyttöliittymän, joka hoitaa automaattisesti kaiken palautteeseen perustuvan ohjauksen -Alemman tason toiminnoilla voidaan ohjata suoraan moottoreita ja ylemmän tason toiminnoilla voidaan ohjata robotti liikkumaan suoraan, kääntymään haluttuun suuntaan, ajamaan kaartaen, jne.

6 Tekniikka Liikkuva robotti Kahden moottorin ja kahden renkaan käyttö on helpoin tapa saada robotti liikkumaan - muitakin tapoja on - Esim. Differentiaali- ja synchroajo sekä Accermann ohjaus - Lisäksi monisuuntaohjaus (Omnidirectional) Yksi vetävä pyörä, jota ohjataan -Yksinkertaisin -Tarvitsee lisäksi kaksi passiivista pyörää

7 Tekniikka Differentiaaliajo -Kaksi itsenäistä moottoria -Vetävien pyörien lisäksi tarvitaan vähintään yksi passiivinen pyörä - Rakenteeltaan yksinkertaisempi kuin edellinen, mutta ohjaus on monimutkaisempi, koska tarvitaan kahden pyörän koordinointi Suoraan ajaminen Kaartaminen oikealle Paikallaan kääntyminen (CCW) VL = VR, VL > 0 VL > VR, esim. VL = 2VR VL = -VR, VL > 0

8 Tekniikka Telaketjurobotti -Differentiaaliajon erikoistapaus -Ainoat erot ovat parempi liikkuvuus epätasaisella alustalla ja parempi pito kaarteissa

9 Tekniikka Synchroajo - Useampi synkronoidusti ohjattu pyörä - Voi kulkea mihin suuntaan tahansa - Saavutetaan hyvä tilan kattavuus, esim. Robottipölynimuri

10 Tekniikka Ackermann ohjaus - Tyypillinen ajoneuvoissa - Etupyörät ohjaavat ja takapyörät vetävät - Suoraan ajaminen helppoa - Vaatii tietyn kääntösäteen eli ei pysty kääntymään paikallaan - Takapyörät luistavat kaarteissa

11 Tekniikka Omni-Directional robotti - Monisuuntaohjattava: eteen, taakse, sivulle, ympäri - Erilaisia pyöräratkaisuja Mecanum wheel Omni-1 Omni-2

12 Tekniikka Robotin paikallistaminen -Perusongelma liikkuvien robottien kanssa -Esim. Robottipölynimurin pitää kattaa koko alue ja tavaran siirtorobotin pitää tietää oma paikkansa ympäristöön nähden - Globaaleilla paikannussenroreilla helposti hoidettavissa

13 Tekniikka Sisätiloissa käytetään majakoita (Beacon) ja ulkona, esim. Satelliittipaikannusjärjestelmää (Global Positioning System, GPS) -Sisällä voidaan käyttää infrapuna-, kaikuluotain-, laser- ja radiosensoreita -Tarvitaan synkronoidut majakat, jotka lähettävät eritaajuisia signaaleja säännöllisin väliajoin - Robotti vastaanottaa signaalit ja laskee vähintään kahden majakan signaalien perusteella sijaintinsa

14 Tekniikka Robotin paikallinen navigointi -Aloituspaikka ja -asento selvitetään yleensä jollakin globaalilla menetelmällä ja muutetaan koordinaateiksi - Annetaan robotille kartta tunnetusta ympäristöstä -Ratkaistaa robotin paikka erilaisilla algoritmeilla, esim. Dijkstra-, A *- (A-tähti), Wandering Standpoint- tai DistBug-algoritmilla

15 Tekniikka Robotin ohjelmistoarkkitehtuurit Klassinen malli (Classical model) - Hierarkinen, toiminnallinen, tekninen tai kolmikerrosmalli Käyttäytymiseen perustuva malli (Behavior-based model) - Suoritetaan rinnakkain, sunkronointia ei tarvita

16 Termejä ja käsitteitä Keskeytykset - Ongelma on varmistaa, että sulautettu järjestelmä reagoi riittävän nopeasti ulkoiseen tapahtumaan, vaikka se olisi tekemässä jotain aivan muuta Ensimmäinen keino on käyttää keskeytyksiä -Keskeytyspyyntö (Interrupt Request, IRQ) keskeyttää sulautetun järjestelmän mikroprosessorin olipa se tekemässä mitä tahansa ja laittaa mikroprosessorin suorittamaan uutta koodia - Tämä voi ratkaista sen hetkisen ongelman, mutta se vaatii monimutkaista ohjelmointia ja tuo mukanaan uusia ongelmia

17 Termejä ja käsitteitä Keskeytyksen perusteet Ne alkavat laitteistosta, esim. sarjaportin kautta tulee kirjain, joka mikroprosessorin tulee lukea, sijoittaa jonnekin muistiin ja lukea seuraava kirjain, jne. Jokaisella laitteella, joka tarvitsee mikroprosessorin huomiota on oma IRQ-nasta ja mikroprosessorilla useita, jotta se erottaa miltä laitteelta keskeytyspyyntö tulee Mikroprosessori siis keskeyttää edellisen suorituksen, tallentaa sen pinoon ja alkaa suorittaa keskeytysrutiinia, joka tarkoittaa mitä tahansa ohjelmoitua toimintoa, joka tässä tilanteessatulee tehdä Keskeytystä ei voi kutsua eli mikroprosessori reagoi laitteiston signaaleihin

18 Termejä ja käsitteitä Keskeytysrutiini (Interrupt routine, Interrupt Handler, Interrupt Service Routine, ISR) - On konekielinen aliohjelma, jonka viimeisen käskyn tulee olla Return (tai vastaava), jolloin mikroprosessori palaa suorittamaan keskeytynyttä eli pinon päällimmäistä tehtävää

19 Termejä ja käsitteitä Keskeytyksen haasteena on edellisen tehtävän käyttämien rekisterien tietojen palauttaminen, sillä keskeytysrutiini voi muuttaa niitä Tavallinen ratkaisu on, että keskeytysrutiini tallentaa rekisterien tiedot alussa ennen kuin alkaa käyttää niitä ja palauttaa ne sitten lopussa Mitä seuraa, jos rekisteriä ei tallenneta? Tulee bugi, joka ilmenee vain silloin, kun rekisterien arvot muuttuvat keskeytysrutiinien aikana Keskeytykset voidaan myös kieltää, sekä laite, että mikroprosessori voidaan ohjelmoida siten, etteivät ne reagoi keskeytyksiin tietyissä tilanteissa Keskeytykset voidaan myös priorisoida ja keskeytysrutiinikin voidaan keskeyttää toisella keskeytysrutiinilla sekä useampi keskeytys voidaan laittaa pinoon odottamaan vuoroaan

20 Termejä ja käsitteitä Jaetun tiedon ongelma Jatkuva kahden lämpötilan tarkkailu -Jos lämpötila kahdella anturilla ei ole sama, tulee hälytys -Jos tulee keskeytys ensimmäisen ja toisen lämpötilan lukemisen väliin ja lämpötila muuttuu keskeytysrutiinin aikana, tulee hälytys, vaikka molempien antureiden lukemat ovat koko ajan samat Keskeytysrutiini ei voi tietää minkä mikroprosessorin suorituksen se keskeytti.

21 Termejä ja käsitteitä

22 Termejä ja käsitteitä Tällainen bugi on todella vaikea havaita, koska prosessori suorittaa keskeytysrutiinin mikrosekunneissa tai niiden osissa ja sen vuoksi ko. bugi ilmenee hyvin harvoin Tyypillisesti se ilmenee perjantaina klo 17.00, kun pitäisi lähteä viikonlopun viettoon aina, kun et huomaa aina, kun debuggauslaite ei ole kiinni järjestelmässä silloin, kun laite on laskeutunut Marsiin ja tietysti asiakas demossa Epäile ja analysoi aina keskeytykset! Varmista, ettet koodaa tällaista!

23 Termejä ja käsitteitä Jaetun tiedon ongelman ratkaiseminen Ensimmäinen tapa on estää keskeytykset ohjelman suorituksen ajaksi aina, kun on kysymys kriittisestä ohjelmasta Toinen tapa on lukea yhden anturin arvo kahdesti peräkkäin. Jos arvo on sama, se on oletettavasti oikea, vaikka välillä olisi suoritettu keskeytysrutiini

24 Termejä ja käsitteitä

25 Termejä ja käsitteitä Keskeytysten viiveet Kuinka nopeasti sulautettujärjestelmä vastaa keskeytykseen? 1.Aika, jonka aikana keskeytykset on estetty 2. Aika, joka menee korkeamman prioriteetin omaavan keskeytyksen suorittamiseen 3.Aika, joka menee mikroprosessorilta edellisen suorituksen keskeyttämiseen, tilanteen tallentamiseen ja uuden keskeytysrutiinin aloittamiseen 4.Aika, joka menee keskeytysrutiinilta rekisterien tallentamiseen ja keskeytysrutiinin suorittamiseen

26 Termejä ja käsitteitä Edellisestä johtuen kannattaa pitää keskeytysrutiinit lyhyinä ja tehokkaina (Ohjelmoija voi vaikuttaakohtiin 2. ja 4.) Lisäksi keskeytysten esto on pidettävä mahdollisimman lyhyenä Lisää vaihtoehtoja keskeytyksen estolle 1. Pidetään kirjaa mihin rekistereihin ohjelma kirjoittaa ja ei anneta keskeytysrutiinin kirjoittaa samoihin rekistereihin - Pitää varmistaa, että tila riittää 2. Keskeytysrutiini kirjoittaa muistiin keskeytettävän ohjelman tiedot ja palauttaa ne lopuksi - Pitää kirjoittaa monimutkaista koodia - voi tulla helposti bugeja

27 Termejä ja käsitteitä Sulautettujen järjestelmien ohjelma-arkkitehtuurit Käytettävä arkkitehtuuri valitaan tehtävän vaativuuden mukaan -vasteaika vaatimukset - Mikroprosessorin nopeus - Muut prosessointivaatimukset -Nopea reagointi useisiin erilaisiin tapahtumiin, vaihteleviin vasteaikoihin ja erilaisiin prioriteetteihin vaatii monimutkaisen arkkitehtuurin

28 Termejä ja käsitteitä Round-Robin -Yksinkertaisin arkkitehtuuri -Silmukka tarkistaa jokaisen I/O-laitteen vuorollaan ja suorittaa tarvittavat tehtävät - jatkuva kierto - Ei keskeytyksiä, ei jaetun tiedon ongelmia, ei viiveongelmia - Toimii, kun ei ole nopeita vasteaikoja, eikä pitkiä suoritusaikoja - erittäin hyvä yksinkertaisissa sovelluksissa

29 Termejä ja käsitteitä Round-Robin keskeytyksillä -Keskeytykset vain kiireellisimmille tehtäville -I/O-laite asettaa lipun (flag) keskeytyksen merkiksi ja keskeytysrutiini suoritetaan heti ensimmäisellä kierrolla - Keskeytysten priorisointi - Hyvä vasteaika - Tuo mukanaan keskeytysrutiinin ongelmat, mm. jaetun tiedon ongelman ja viiveet

30 Termejä ja käsitteitä Function-Queue-Scheduling (Toimintojono ajoitus) - Keskeytysrutiinit lisäävät toiminto-osoittimia (function pointers) jonoon, josta ohjelma käy niitä lukemassa ja kutsumassa - Ohjelma voi käsitellä keskeytykset missä tahansa järjestyksessä - Parempi vasteaika kuin edellisillä, mutta monimutkaisempi - Matalan prioriteetin tehtävät saattavat jäädä tekemättä -> Ohjelma määrää mitä tehdään

31 Termejä ja käsitteitä Real-Time Operating System (RTOS) -Edelleen keskeytykset hoitavat kiireellisimmät tehtävät - Ero edellisiin: - RTOS hoitaa keskeytyksien ja ohjelman väliset signaalit - ei lippuja, ei toiminto-osoittimia -RTOS määrää mikä ohjelma tai keskeytysrutiini suoritetaan - ei silmukoita - RTOS voi keskeyttää minkä tahansa ohjelman tai rutiinin suorittaakseen toisen

32 Termejä ja käsitteitä -RTOS:n etu on myös se, että ohjelmakoodin muuttaminen keskeytysrutiineissa ei vaikuta korkeamman prioriteetin vasteaikoihin -vrt. Round-Robinissa uusi pitkä alemman prioriteetin keskeytysrutiini voi sekoittaa sulautetun järjestelmän kokonaan - Helposti saatavilla (ostettavissa) - Mukana tulee yleensä debuggaus työkalut - Voi olla kallis, käyttääitsessään prosessointi aikaa, voi olla monimutkainen - On myös ilmaisia, voidaan optimoida, esim. konfiguroimalla

33 Termejä ja käsitteitä Arkkitehtuurin valinta Valitse yksinkertaisin, joka täyttää sulautetun järjestelmäsi vasteaikavaatimukset Jos vasteaikavaatimukset saattavat tarvita Real-Time käyttöjärjestemän, aloita siitä, sillä hyvin harvoin vaatimukset yksinkertaistuvat Voit myös yhdistellä arkkitehtuureja tarvittaessa

34 Termejä ja käsitteitä Prioriteetti Huonoin vasteaika Vasteajan stabiliteetti koodia muutettaessa Yksinkertaisuus Round-Robin Ei Koko koodi Huono Erittäin yksinkertainen Round-Robin keskeytyksellä Keskeytyksillä on, ohjelmalla ei Koko ohjelman suoritusaika (+keskeytyrutiini) Hyvä keskeytyksillä, huono ohjelmalla Jaetun tiedon hallinta Fuction-Queue- Scheduling Keskeytyksillä ja ohjelmalla Pisimmän tehtävän suoritusaika (+keskeytyrutiini) Suhteellisen hyvä Jaetun tiedon hallinta ja toimintojonon koodi Real-Time Operating System Keskeytyksillä ja ohjelmalla Nolla (+keskeytyrutiini) Erittäin hyvä Monimutkaisin (vaikka suurin osa käyttöjärjestelmässä)

35 Defensiivinen ohjelmointi Laatu yleensä: Lähtökohtainen pyrkimys korkeaan laatuun; ei tilaa ohjelmointivirheille Ohjelmakoodin luettavuus: Toiminta pystytään varmentamaan helpommin esimerkiksi katselmoinnein Oletusten vähyys: Minimoidaan oletukset, joiden varaan ohjelman toiminta rakentuu; esim. varmistetaan että ohjelma toimii kaikilla syötearvoilla HUOM: Defensiivinen ohjelmointi ei välttämättä pure täysin aikakäyttäytymiseen, jossa oletuksia joudutaan väistämättä tekemään!

36 Vika-analyysi Vikasietoisuus vain etukäteen tunnistettuja vikoja kohtaan Analysoidaan mahdolliset viat Miten vikaan voidaan reagoida Miten viasta voidaan toipua

37 Esimerkki Sähkönsyöttö katoaa Akut kunnossa Aggrekaatti käynnistyy Aggrekaatti käynnistyy Siirrytään käsiajanottoon OK OK 30min jonka jälkeen käsiajanotto Pieni katkos, Ei ongelmia tuloksissa Tulokset viivästyvät mutta ne saadaan Tuloksia katoaa, kisoja tai sarjoja hylätään

38 Joitakin esimerkkijärjestelmiä Avaruussukkula 5 tietokonetta (laitteistoviat) 2 valmistajan ohjelmat (ohjelmistoviat) Ariane 5 avaruusraketti Alun perin määrittelyvirhe; raja-arvon ylittyminen johti siihen että laitteiston uskottiin olevan vialla ja se sammutettiin Syöksyi lopulta turvallisesti mereen

39 Vikaturvallisuuden luokittelua Taso 1: Normaalin toiminnan vikatilanteet Normaalit pikkuviat, esim. muistitilan ylittyminen, levyn täyttyminen Laitteistoviat transientteja Diagnostiikkajärjestelmä; käynnistystestit ainakin muisteille Taso 2: Vikaturvallinen toipuminen Vaatii tyypillisesti uudelleenkäynnistämisen vian havaitsemisen ja siitä toipumisen jälkeen Käyttöjännitteen seuranta, vahtikoira tms.

40 Luokittelu jatkuu Taso 3: ei-peittävä itsestabiloituva vikasietoisuus Esimerkkitapaus vikaantuneen muistin hallinta: Virhe tunnistetaan pariteettikentästä, ja vikaantunut muisti poistetaan käytöstä. Korjaus pysyvä jos muistin vaihto vaikeaa, muuten laite voi ilmoittaa huoltotarpeesta Muita vastaavia tapauksia ovat esim. ohjausvirheet ja ympäristön yllättävä käytös. Taso 4: peittävä vikasietoisuus Tärkeimät laitteet (tai osa niistä) monistettu Ongelmatilanteessa varayksikkö olemassa ja valmis astumaan remmiin nopeasti Esim. RAID, tietoliikenneyhteyksien monistaminen

41 Luokittelu jatkuu edelleen Taso 5: Korjaus konetta sammuttamatta Vain pieni parannus edelliseen; myös lopullinen korjaus konetta sammuttamatta Taso 6: Kaikkien laitteiden varmistus Kaikki laitteet monistettu Esim. Suurehko puhelinkeskus (pienemmät tasoja 4 ja 5) Taso 7: Koneiden monistaminen Eli siis kuten 6 mutta joka yksikkö laskee oman tuloksen ja valittu tulos saadaan äänestämällä tms. Käytännössä harvinaisia

42 Käynnistys ja uudelleenkäynnistys Käynnistys on aina erikoistilanne Oheislaitteet eivät ole käynnissä -> Ohjauselektroniikka saattaa tulkita tiloja miten haluaa (kytkennöistä toki riippuen, hyvällä elektroniikkasuunnittelulla voidaan saada ihmeitä aikaan!) Ulkoisten liittymien tulee toimia turvallisesti; ei satunnaiskäyttäytymistä edes käynnistyksen aikana Yleissääntöä turvalliseen käynnistämiseen ilman laitteistotukea ei ole; ohjelmoija voi toki luoda lisää ongelmia väärillä alustusrutiineilla Ajossa olevan järjestelmän käynnistys (varsinkin esim. jotain aktiivisesti ohjaavan) on muutenkin harkittava huolellisesti vaikkei ohjelmoijien mielenkiinto ja ohjelmointityyli työläitä tarkistuksia suosisikaan

43 Ohjelmistotyö ohjelman suorituksen aikana Järjestelmä voi olla jatkuvasti käytössä Alasajo ei vaihtoehto, jos toimintaa ei saa keskeyttää Ainoa mahdollisuus toteuttaa ylläpitotoimenpiteen ajon aikana Ääritapauksisssa sekä ohjelmisto- että laitteistotuki tarpeen

44 Ohjelmiston muuntelu suorituksen aikana Yksinkertainen tapaus: Parametrein tapahtuva ohjaus Esim. joku diagnostiikkaa häiritsevä toiminto kytketään pois päältä diagnostiikan käytön ajaksi Paikko-ohjelmistot (patch) Joku muistialue varataan patcheille Uudelleenkäynnistys/initialisointi jolloin patchit ladataan käyttöön Joskus voidaan toteuttaa komponentti kerrallaan, jolloin saadaan aikaiseksi hienorakeisempi päivitettävyys Joskus koko ohjelmiston uudelleenlataus ja uudelleenkäynnistys DISCLAIMER: Lähtökohtaisesti mitä ilmeisimmin virheherkkää eikä missään nimessä suositeltava yleinen käytäntö

45 Laitteistotuesta Laitteisto voi olla rakennettu siten, että se sallii kahden ohjelmiston ajamisen rinnakkaisesti kahdella eri tietokoneella Tällöin ohjelmisto voidaan päivittää tietokoneeseen A, ja päivityksen + toiminnan varmentamisen aikana tietokone B hoitaa toimintaa Jos A vaikuttaa toimivan hyvin, myös B voidaan päivittää Yleensä huomioitu järjestelmätason vaatimuksissa Ongelma: Mitä jos vanhaa versiota ajava B vikaantuu kun A:ta ollaan päivittämässä?

46 Yhteenveto Vikasietoinen järjestelmä kykenee jatkamaan toimintaansa itsenäisesti myös silloin kun siinä on vikaa Vikaturvallisen järjestelmän suunnittelussa on huomioitu erikseen ettei vikaantumisesta ettei tule vaaraa Vikasietoisuus voi kohdistua vain vikoihin jotka on otettu huomioon osana suunnittelua Ohjelmistojen sisäisen vikasietoisuuden toteutuskeinoina Ohjelman toiminnan tarkkailu Defensiivinen ohjelmointi

47 Ohjelmistot ja ohjelmointi Beginner's All purpose Symbolic Instruction Code (Basic) - Oli erittäin suosittu 1980-luvulla - Helppo omaksua ja soveltuu mm. pelien ohjelmointiin - Joissakin sulautettujenjärjestelmien mikroprosessoreissa on Basic-tulkki eli ohjelmaa ei tarvitse kääntää ensin konekielelle - Nykisin suosituin on Visual Basic Microsoft.NET -ympäristössä - FreeBasic, Ilmainen, 32-bittinen,Windows, DOS, Linuxympäristöihin - Blitz-Basic ja Dark-Basic (mm. 3D-pelejä), Gambas (Ilmainen)

48 Ohjelmistot ja ohjelmointi Programming Language for Microcomputers (PLM) - Yksi vanhimpia sulautettujen järjestelmien lausekieliä - Muistuttaa Pascal-ohjelmointikieltä - C-kieli on syrjäyttänyt lähes kokonaan C-kieli - Ylivoimaisesti käytetyin sulautetuissajärjestelmissä - Koneläheisin ohjelmointikieli - Tarjoaa suorat vastineet monelle konekieliselle käskylle - Variaatioita: µc, C++, C#, embedded C, objective C

49 Ohjelmistot ja Java ohjelmointi - Alun perin tarkoitettu sulautettujen järjestelmien ohjelmointiin - Saavutti suosionsa Web-selainten Java Applettien ansiosta - Muistuttaa C++ ohjelmointikieltä - Helpompi omaksua kuin C-kieli Ada -Nimetty ensimmäisenä ohjelmoijana pidetyn Ada Lovelacen mukaan, pohjautuu Pascal-kieleen Virtual Instrumentation Engineering Workbench (LabView) - Visuaalinen ohjelmointikieli (Visual Programming Language, VPL)

50 Ohjelmistot ja ohjelmointi Versatile Real-Time Executive (VRTX) - RTOS, joka soveltuu sekä perinteiselle sulautetulle järjestelmälle, että järjestelmäpiireille (SoC) VxWorks - Alun perin varsin yksinkertaisen WRTX-ohjelmointikielen laajennus - Suunniteltu sulautetuille järjestelmille Phar Lap ETC -Sopii Hard real-time järjestelmille -Virtuaalinen hallintaliittymä (Virtual Control Program Interface, VCPI)

51 Ohjelmistot ja ohjelmointi Windows CE - Sulautettuihin järjestelmiin suunniteltu - Vaatii muistia alle megatavun FreeRTOS - Sopii useille mikrikontrollereille - Vie vähän tilaa OpenRTOS - Sama kuin FreeRTOS, mutta erilainen lisenssi - JA PALJON MUITA!

52 Ohjelmistot ja ohjelmointi Sovelluskehittimet (Integrated Development Environment,IDE) Tekstieditori - Yksinkertaisin väline ohjelmointiin IngenjörsfirmanAnders Rundgren (IAR) -Erilaisia työkaluja sulautettujen järjestelmien ohjelmien tekemiseen ja debuggaukseen Microsoft Visual Studio - Microsoftin ohjelmankehitysympäristö, jossa voi käyttää useita ohjelmointikieliä - Eri versioita - viimeisin Visual Studio 2010 ( )

53 Ohjelmistot ja ohjelmointi Atmel AVR Studio development environment - C, assembly, simulaattorit, debuggaus, evaluointi, referenssit - Atmel-yhtiön omalle mikroprosessoriperheelle Eclipse -Tukee useitaohjelmointikieliä - Avoimen lähdekoodin lisenssit Jbuilder, Jcreator, BlueJ, DrJava, Jdeveloper, jne. - Java-ohjelmointiin tarkoitettuja sovelluskehittimiä

54 Älypuhelimet - Rajatut resurssit Ohjelmistot ja ohjelmointi - Suorituskykyinen ohjelmakoodi Apple ios - Sovelluskehitys Xcodella (vain Applen koneille) - Ohjelmointikieli on Objective C, joka muistuttaa C:tä - Sisältää, mm. dokumentaation ja graafisen käyttöliittymätyökalun Interface Builder

55 Ohjelmistot ja ohjelmointi Google Android - Sovelluskehitys Javalla - Esim. Eclipse jaandroid Development Tools (ADT) - Myös Native Development Kit (NDK) => C, C++ Nokian ja Intelin Meego - Linux pohjainen Nokia Symbian - Java, Native C/C++ - C++ ja Qt Create

56 Ohjelmistot ja ohjelmointi Microsoft Windows Mobile - Visual Studio 2008 Microsoft Windows Phone - C# ja Visual Studio SilverLight, Xna -.Net kirjasto - Expression Blend SketchFlow (interface)

57 Ohjelmistot ja ohjelmointi Java sulautetussa järjestelmässä Javalla on helpompi tuottaa virheetöntä koodia kuin C, tai C++ ohjelmointikielellä -Javan kaikki perustietotyypit ovat kiinteän kokoisia, esim. Int on aina 32-bit - Parempi ohjelman sidosten tarkastus käännettäessä - Monipuolinen String-muuttujien käsittely Oliopohjaisuus pakottaa ohjelmoijan suunnittelemaan tiedon ja toimintojen rakenteetloogisesti

58 Ohjelmistot ja ohjelmointi Kapselointia (Encapsulation), monimuotoisuutta (Polymorphism) ja perintää (Inheritance) käytetään laajasti Javan sisäänrakennetuissa luokkakirjastoissa - Peräkkäinen perintä on korvattu liitännöillä Automaattinen roskien keräys (Garbage collection) - Yksinkertaistaadynaamista muistin hallintaa - Estää muistin ylivuotoja Sisäänrakennettu säiekirjasto (Threads library) - Parantaa ohjelman siirrettävyyttä tarjoamalla johdonmukaisen säie- ja synkronointiliitännän käyttöjärjestelmiin kaikkiin

59 Ohjelmistot ja ohjelmointi Integroitu keskeytysmekanismi järjestää ohjelmistokeskeytykset loogiseen luokkahierarkiaan, eikä anna ohjelmoijan ohittaa niitä Javalla ei kuitenkaan voi tehdä aivan kaikkea mitä C- ohjelmointikielellä on totuttu tekemään -Javalla ei voi muokata osoittimia (Pointers), jotka on korvattu Javassa viitteillä (References) - Javalla voi kuitenkin kutsua C- ja assembly-toimintoja natiivimenetelmällä (Native methods) -Natiivimenetelmät sallivat laiteajurien ja muun muistia tai laiterekistereitä muokkaavien ohjelmien kirjoittamisen toisella kielellä

60 Javan kehitystyökalut Ohjelmistot ja ohjelmointi -Javakääntäjä eli luokkakääntäjä kääntää korkeamman tason Javakoodin assemblykieltä muistuttavaksi javan tavukoodiksi (Java bytecode) -Javan tavukoodit ovat Javan virtuaalikoneen konekieltä, joka tekee Javasta alustariippumattoman -Java Virtual Machines, Just-in-Time Compilers, ja Java Processors

61 Ohjelmistot ja ohjelmointi -Java virtuaalikone (Java VM) on ohjelma, joka kääntää Javan tavukoodin prosessorin natiivikoodiksi - Javan virtuaalikoneita on monille laitealustoille ja sulautetuissa järjestelmissä ne ajetaan RTOSkäyttöjärjestelmän päällä - Käännetyt kielet ovat siirrettäviä, mutta hitaita -Just-in-time kääntäjä (JIT Compiler) nopeuttaa käännösprosessia tallentamalla käännetyt tavukoodit muistiin, ettei niitä tarvitse kääntää heti uudestaan

62 Ohjelmistot ja ohjelmointi Nopein Java tekniikka on Javapiirit (JavaChips) -Sun Microsystems on julkaissut Java prosessoriperheen, jonka prosessoreissa on sisäänrakennettu Java virtuaalikone -Korkean tason Javakoodi käännetään suoraan Javan tavukoodiksi, jonka prosessori ymmärtää konekielisiksi käskyiksi

63 Ohjelmistot ja ohjelmointi Sulautettu Java työkalusarja (Embedded Java Toolkit) -Ideaalinen Javan kehitystyökalusarja sisältää ristiinkääntäjän, assemblerin, debuggerin ja RTOS-käyttöjärjestelmän -Tämä mahdollistaisi ohjelman kehittämiesen, testaamisen ja debuggaamisen isäntäkoneella, jopa ennen laitteiston valmistumista

64 Ohjelmistot ja ohjelmointi Ahead-of-time (AOT) kääntäjä muuttaa Javan tavukoodin natiiviprosessorin oliokoodiksi -AOT kääntäjällä on mahdollista kirjoittaa ohjelma Javalla, mutta välttää Java virtuaalikoneen ja JIT kääntäjän aiheuttamat viiveet -Virtuaalikone korvataan tässä mallissa pienellä ohjelmalla, joka hoitaa roskien keräämisen ja keskeytysten hallinnan mahdollisesti RTOS-käyttöjärjestelmän tarjoamana

65 Ohjelmistot ja ohjelmointi -AOT kääntäjällä tehty koodi voidaan linkittää suoraan C/C++ ja assembly-koodilla tehtyihin ohjelmiin olemassa olevilla työkaluilla (Kuvassa) -Tämän hetkisillä Javan tavukoodeilla on hyvin epätodennäköistä ohjelmoida sulautettu järjestelmä kokonaan Javalla, koska sillä ei ole keinoja ohjata suoraan perinteisen prosessorin muistia ja rekistereitä -Javapiireillä tämä onnistuu ja Javan tavukoodin laajennuksia on mahdollisesti tulossa

66 Ohjelmistot ja ohjelmointi Sekaohjelmointiympäristössä tarvitaan sovelluskehitin, joka ymmärtää Javan Natiivikoodia Ideaalitilanteessa se hoitaa myös: -Javan ja muiden kielien sekoittamisen yksityiskohdat -Tukee integroidun version hallintaa - Sisältää tehokkaan monikielituen

67 Ohjelmistot ja ohjelmointi Debugger on mahdollisesti kaikkein kriittisin osa tässä ympäristössä Sen pitää: -Pystyä vaihtamaan helposti Java-, C/C++ ja assemblykielen välillä Kommunikoimaan Java virtuaalikoneen kanssa: - Isäntäkoneella - Kohteessa - Emulaattorissa

68 Ohjelmistot ja ohjelmointi Javan haasteet sulautetuissa järjestelmissä -Vaikka Java on yksi suosituimmista ohjelmointikielistä tällä hetkellä, sulautettujen järjestelmien kehittäjät eivät siitä innostu -Vaatimuksia sulautetun järjestelmän ohjelmointikielelle ovat: säännöllinen käyttäytyminen (determinisyys), pieni muistitilavaatimus ja tehokas suorituskyky - Javan roskien keräysjärjestelmä ei ole riittävän deterministinen - Java vaatii liikaa muistia monessa tapauksessa -Java-ohjelma toimii usein kymmenen kertaa hitaamiin kuin C-ohjelma

69 Ohjelmistot ja ohjelmointi Haasteista huolimatta on joitakin tilanteita, joissa Java-ohjelmointia kannattaa harkita -Ainakin sellaisissa sulautettuissa järjestelmissä, jotka ovat yhteydessä tietoverkkoon tai Internetiin, esim. Set-top-box (Digiboksi) -Kuvan ja äänen vastaanotto hoituu edelleen C- ja assembler-ohjelmilla -Set-top-boxiin voi sitten myöhemmin ladata Javaohjelmia lisäarvona

70 Ohjelmistot ja ohjelmointi Java SE for Embedded Devices - Java on yksi maailman suosituimmista ohjelmointikielistä - Isäntäkoneelle ja kohteeseen - Optimoitu sulautetulle järjestelmälle: Sulautettujenprosessoreiden tuki, virran hallinta, pieni muistitilavaatimus - Saavuttaa natiivisovelluksen tehokkuuden - Siirrettävä eri prosessori- ja käyttöjärjestelmäalustoille - Hyvät tietoturvaominaisuudet

71 Ohjelmistot ja ohjelmointi GNU Javakääntäjä (GNU Compiler for Java, GCJ) -Kuuluu GNU kääntäjäkokoelmaan (GNU Compiler Collection, GCC) -Kääntää Java koodin natiivikoodiksi eli korvaa Java virtuaalikoneen => säästää muistitilaa, kun ei tarvita Java virtuaalikonetta -Ei sisällä suoraan ristiinkääntäjää, mutta sellaisen voi siihen asentaa - Konfiguroimalla saa mahtumaan pieneen tilaan

72 Eclipse CDT Ohjelmistot ja ohjelmointi - Avoimen lähdekoodin sovelluskehitin - Suunniteltu sulautettujen järjestelmien ohjelmontiin - Sisältää sovelluskehittimen C/C++, mobile Java (J2ME) ja mobile Linux käyttöjärjestelmille Kirjallisuutta, esim. Yksi ohjelma n kielellä:

73 Kurssikirja 2 Ohjelmistot ja ohjelmointi - Bräunl, Thomas: Embedded Robotics - Mobile design and Applications with Embedded Systems. Springer-Verlag, 2003 Ohjelmointityökalut - C/C++ ja assembly GNU-ristiinkääntäjä - RoBIOS käyttöjärjestelmä ja RoBIOS kirjastot - Erilaisia työkaluja tiedostojen lataamiseen, äänen konvertointiin, kauko-ohjaukseen, jne. - Debuggaukseen Background Debugger Module (BDM)

74

75

76

77 ACCUS ecosystem ACCUS Plug-ins Cross Domain Application Service Service Application Application Service Service Service Application ACCUS Integration and Coordination Platform Subsystem adaptor Subsystem adaptor Subsystem adaptor Subsystem adaptor Subsystem Subsystem Subsystem Subsystem Service Service Service Service Service Service Service Public space Domain Mobility Domain Energy Domain

78 Integration and Coordination Platform (ICP) Älykkäiden kaupunkien ohjauksessa korkea tason Integration and Coordination Platform (ICP), joka jakaantuu kolmeen tasoon: Core-kerros, joka sisältää välttämättömät kaupunkien palvelut, joita tarvitaan. Esimerkkejä ydinkerroksen palveluista ovat: tietokannat, sanomanvälittäjät, APIjohtaja, palvelupyörä jne.). Extension layer: sisältää etukäteen palveluja, jotka erottavat älykaupungin perinteisistä SoS-ympäristöistä. Esimerkkejä ovat tiedonvälitys- ja valvontapalvelujen välityspalvelut. Plugin layer, joka sisältää kaupunkikohtaiset palvelut, joita sovellukset voivat käyttää uudelleen. Esimerkkejä ACCUS-laajennuksista ovat Gdansk Traffic Monitor, Gdansk Policy Event -ilmaisimet jne. Ydinkerroksen ja laajennuskerroksen yhdistelmä määritellään ACCUS-kehoksi (body). Plugin-kerros määritellään ACCUS-mieleksi (mind).

79 ACCUS ecosystem Cross Domain Application Service Application Application Service Service Service ACCUS Integration and Coordination Platform Service Repository ACCUS API Ontologies Service Application = case specific software = ACCUS specific software = Standard software Service Service Access City State Policies Semantic Mapping Subsystem adaptor Subsystem adaptor Subsystem adaptor Subsystem adaptor Subsystem Subsystem Subsystem Subsystem Service Service Service Service Service Service Service Public space Domain Mobility Domain Energy Domain

80 Security ACCUS architecture Service Bus Application Cross Domain Application Subsystem Subsystem Smart Lighting Service Service Service Subsystem adaptor Subsystem adaptor Calamity detection Reasoner ACCUS API Presence detection Traffic monitor Event detection Rules Data Analytics Location detection Predictions ACCUS City State Ontologies Policies Info Broker & coordination Subsystem Monitoring Control Broker & coordination Semantic mapping ACCUS Work Flows Service Repository Management Database Data management Message Broker Service Broker Rule Engine Policy management Application Server Agent Framework Work Flow Engine Identity & access management = case specific software = ACCUS specific software = Standard software ACCUS ARTEMIS Integration and Coordination Platform 80

81 ACCUS architecture Cross Domain Application Subsystem Service Service Application Smart Lighting ACCUS Applications Subsystem Service Subsystems Subsystem adaptor Subsystem adaptor ACCUS API Calamity detection Security ACCUS ICP Core = case specific software = ACCUS specific software = Standard software Data Analytics Location detection Predictions Control Broker & coordination Info Broker & coordination Ontologies ACCUS City State Traffic monitor Policies Subsystem Monitoring Data management Message Broker Service Broker Policy management Application Server Agent Framework Work Flow Engine ACCUS Integration and Coordination Platform ARTEMIS ACCUS Work Flows Service Repository Semantic mapping Database Event detection Management ACCUS ICP Extensions Rules Presence detection Service Bus ACCUS ICP Plug-ins Reasoner Rule Engine Identity & access management 81

82 ACCUS architecture CITY and application Specific Cross Domain Application Application Smart Lighting ACCUS Applications CITY and domain Specific Service Subsystem Subsystem Service Service Subsystem adaptor Subsystems Subsystem adaptor ACCUS API Calamity detection Security ACCUS ICP Core = case specific software = ACCUS specific software = Standard software Data Analytics Location detection Predictions Control Broker & coordination Info Broker & coordination Ontologies ACCUS City State Traffic monitor ACCUS Specific Policies Subsystem Monitoring Data management Message Broker Service Broker Policy management Application Server Agent Framework Work Flow Engine Generic ACCUS Integration and Coordination Platform ARTEMIS ACCUS Work Flows Service Repository Semantic mapping Database Event detection Management ACCUS ICP Extensions Rules CITY Specific Presence detection Service Bus ACCUS ICP Plug-ins Reasoner Rule Engine Identity & access management 82

83 ACCUS architecture Cross Domain Application Subsystem Subsystem Service Service Subsystem adaptor Subsystem adaptor Application Smart Lighting Service ACCUS API Calamity detection Rules = Standard software Location detection Control Broker & coordination Policies Subsystem Monitoring Service Bus Security = ACCUS specific software Data Analytics Data management Message Broker Service Broker Policy management Application Server Agent Framework Work Flow Engine ACCUS Integration and Coordination Platform Event detection ACCUS Work Flows Service Repository Semantic mapping Database ARTEMIS Traffic monitor Management = case specific software Presence detection Info Broker & coordination Ontologies ACCUS City State Reasoner Rule Engine Identity & access management 83

84 ACCUS architecture CITY and application Specific Cross Domain Application Application Smart Lighting ACCUS Applications CITY and domain Specific Service Subsystem Subsystem Service Service Subsystem adaptor Subsystems Subsystem adaptor ACCUS API Calamity detection Security ACCUS ICP Core = case specific software = ACCUS specific software = Standard software Data Analytics Location detection Predictions Control Broker & coordination Info Broker & coordination Ontologies ACCUS City State Traffic monitor ACCUS Specific Policies Subsystem Monitoring Data management Message Broker Service Broker Policy management Application Server Agent Framework Work Flow Engine Generic ACCUS Integration and Coordination Platform ARTEMIS ACCUS Work Flows Service Repository Semantic mapping Database Event detection Management ACCUS ICP Extensions Rules CITY Specific Presence detection Service Bus ACCUS ICP Plug-ins Reasoner Rule Engine Identity & access management 84

85 ICP Core (1) ICP Core on ICP: n runtime-ympäristö, jossa tarjotaan yleisiä alustoimintoja, käyttäen standardi (hyllyltä, uusinta) ohjelmistotuotteita / -työkaluja / -alustoja." Application Servers : ympäristö/kehikko palvelujen ja sovellusten ajamiseen. Agent Framework: ympäristö joka tukee agenttipohjaisten palvelujen ajamista. Service Broker : ohjelmisto joka toimii välittäjänä eri ohjelmistoprotokollien ja orkestrointiryhmien välillä, joiden tarkoituksena on tarjota API ulkopuolisille osapuolille / järjestelmille Service Bus : ohjelmistomalli ja toteutus eri palveluiden vuorovaikutusta ja viestintää varten Data Management : toiminnot tietojen koodauksen, tallennuksen, tietojen saannin ja tietojen poistamisen hallintaan ICP: ssä ARTEMIS

86 ACCUS ICP Core (1) The ICP Core is the Runtime Environment of the ICP in which generic platform functionalities are offered, using standard (of the shelf, state of the art) software products / tools / platforms. Application Servers : environment /framework for the execution of services / applications Agent Framework: environment to support agent based service execution Service Broker : software to mediate between different software protocols and orchestrate set of services, intended to provide API towards external parties / systems Service Bus : software model and implementation for the interaction and communication between the different services Data Management : functionality for management of tagging, storage, access and removal of data in the ICP ARTEMIS

87 ACCUS ICP Core (2) Policy Management : functionality to manage policy defined in the ICP for access and usage of services and data in the ICP Identity & access management : functionality to identify and authorize users and systems for access and usage of services and data in the ICP Work Flow Engine : functionality for the implementation of the workflow of processes/service/actions Rule Engine : Rule Engine which executes (inference) rules (which can be used by ACCUS services, plug-ins and/or applications) ARTEMIS

88 ACCUS ICP Core (2) Policy Management : ICP: ssä määriteltyjen käytäntöjen hallintaa ICP: n palveluiden ja tietojen saatavuutta ja käyttöä varten Identity & access management : funktionaalisuus joka tunnistaa ja valtuuttaa käyttäjät ja järjestelmät palveluiden ja tietojen saatavuuden ja käytön suhteen ICP: ssä Work Flow Engine : toiminnot prosessien / palvelun / toiminnan työnkulun toteuttamiseksi Rule Engine : Rule-moottori, joka suorittaa (päättely) sääntöjä (joita voivat käyttää ACCUS-palvelut, laajennukset ja / tai sovellukset) ARTEMIS

89 ICP Core (3) Security : toiminnot ICP: n sisäisen turvallisuuden varmistamiseksi, pääsy ICP: n palveluihin ja tietoihin sekä pääsy siihen liitettyihin osajärjestelmiin ja sovelluksiin / laajennuksiin Management :toiminnallisuutta ICP: n yleiselle hallinnolle Data Base: geneerisen tietokannan toiminnallisuus, joka on kerätty osajärjestelmistä ja muista ICP: hen liittyvistä lähteistä Service Repository : yleinen tallennuspaikka kaikille ICP: n kautta käytettävissä oleville palveluille Message Broker: yleinen toiminto viestien vastaanoton ja jakelun käsittelemiseksi ARTEMIS

90 ACCUS ICP Core (3) Security : functionality to ensure security within the ICP, access to the services and data in the ICP and access towards the connected subsystems and applications/plug-ins Management : functionality for the overall management of the ICP Data Base: generic data base functionality for data collected from subsystems and other sources connected to the ICP Service Repository : generic repository for all services accessible via the ICP Message Broker: generic function to handle the receipt and distribution of messages ARTEMIS

91 ACCUS architecture Cross Domain Application Subsystem Service Service Application Smart Lighting ACCUS Applications Subsystem Service Subsystems Subsystem adaptor Subsystem adaptor ACCUS API Calamity detection Security ACCUS ICP Core = case specific software = ACCUS specific software = Standard software Data Analytics Location detection Predictions Control Broker & coordination Info Broker & coordination Ontologies ACCUS City State Traffic monitor Policies Subsystem Monitoring Data management Message Broker Service Broker Policy management Application Server Agent Framework Work Flow Engine ACCUS Integration and Coordination Platform ARTEMIS ACCUS Work Flows Service Repository Semantic mapping Database Event detection Management ACCUS ICP Extensions Rules Presence detection Service Bus ACCUS ICP Plug-ins Reasoner Rule Engine Identity & access management 91

92 ACCUS ICP Extensions (1) ICP-laajennukset sisältävät kaikki ACCUS-erityiset yleiset toiminnot (joita voivat käyttää kaikki kaupungit, jotka käyttävät ACCUS-alustaa), joita muut ACCUS-palvelut ja -sovellukset voivat käyttää Info Broker & Coordination : Toiminnallisuus joka välittää ja koordinoi eri tietolähteitä, jotka ovat käytettävissä ACCUS: ssa, joka parhaiten täyttää sovelluksen / palvelun tiedonhakupyynnön. Control Broker & Coordination : Toiminnallisuus joka välittää ja koordinoi valvontatoimia ACCUS-järjestelmään ja niihin liitettyihin osajärjestelmiin, jotka parhaiten täyttävät sovelluksen / palvelun pyytämät valvontatoimet. ARTEMIS

93 ICP Extensions (2) Subsystem Monitoring : Yleinen toiminnallisuus, joka monitoroi kykettyjä alijärjestelmiä. Semantic Mapping : Yleinen toiminnallisuus, joka monitoroi eri alijärjestelmien ja niiden palvelujen semantiikkaa. ACCUS Work Flows : Prosessien / palvelu / toimintojen yleiset ACCUS-työnkulut, jotka edustavat liiketoimintalogiikkaa, joka on määritetty eri ACCUS-sovelluksille ja käyttötavoille. Subsystem adaptor : Alijärjestelmän erityinen sovitin, joka kääntää osajärjestelmän rajapinnat kohti standardia ACCUS APIa ARTEMIS

94 ACCUS ICP Extensions (2) Subsystem Monitoring : Generic functionality for monitoring of connected subsystems Semantic Mapping : Generic functionality for mapping of semantics of different subsystems and their services ACCUS Work Flows : Generic ACCUS workflows of processes/service/actions which represent some business logic defined for the different ACCUS applications and use cases. Subsystem adaptor : Subsystems specific adaptor that translates the subsystem interfaces towards the standard ACCUS API ARTEMIS

95 ACCUS ICP Extensions (3) ACCUS API: ACCUS ICP: n sovellusohjelmointirajapinta, jonka kautta kaikki saatavilla olevat ACCUS-palvelut voidaan löytää, käyttää ja käyttää. Sovellusliittymän käsittely liittyy voimakkaasti Service Brokerin, Policy Managementin, Identity & Access Managementin ja Service Repositoryn toimintoihin. ACCUS City State data: Tiedot kaupungeista, jotka edustavat kaupungin tilaa (esimerkiksi haettu osajärjestelmistä Ontology data: Ontologiatiedot eri osajärjestelmistä ja niiden palveluista ja tiedoista Policy data : Osajärjestelmien, ICP-palvelujen, lisäosien ja sovellusten käyttöön ja käyttöön liittyvät käytännöt ARTEMIS

96 Service Plug-ins (1) ACCUS-palvelun laajennukset sisältävät kaikki ACCUS- ja City-erityiset yleiset toiminnot, joita muut ACCUS-palvelut ja -sovellukset voivat käyttää Depending on the use cases, the following plug-ins might be implemented: Event detection esim. erityisten tapahtumien seuranta osajärjestelmistä Location detection esim. ajoneuvojen sijainnin havaitseminen eri anturitulojen perusteella Presence detection esim. henkilöiden / ajoneuvojen havaitseminen Data analytics alijärjestelmistä kerätyn datan analysoiminen Situation awareness datan ja semantiikan tulkinta tilannetietoisuuden saavuttamiseksi Muita yleisiä funktioita kuten ennustaminen, päättely, etc, etc. ARTEMIS

97 Service Plug-ins (2) Rule data : Säännön tiedot, jotka sisältävät (päättely) sääntöjä, jotka edustavat jotain palvelulogiikkaa, kuten tilannekohtaisia perusteluja ja / tai ennustuksen generointia (Rule-moottorin suorittamaa) ARTEMIS

98 ACCUS architecture CITY and application Specific Cross Domain Application Application Smart Lighting ACCUS Applications CITY and domain Specific Service Subsystem Subsystem Service Service Subsystem adaptor Subsystems Subsystem adaptor ACCUS API Calamity detection Security ACCUS ICP Core = case specific software = ACCUS specific software = Standard software Data Analytics Location detection Predictions Control Broker & coordination Info Broker & coordination Ontologies ACCUS City State Traffic monitor ACCUS Specific Policies Subsystem Monitoring Data management Message Broker Service Broker Policy management Application Server Agent Framework Work Flow Engine Generic ACCUS Integration and Coordination Platform ARTEMIS ACCUS Work Flows Service Repository Semantic mapping Database Event detection Management ACCUS ICP Extensions Rules CITY Specific Presence detection Service Bus ACCUS ICP Plug-ins Reasoner Rule Engine Identity & access management 98

99 ACCUS architecture Cross Domain Application Subsystem Subsystem Service Service Subsystem adaptor Subsystem adaptor Application Smart Lighting Service ACCUS API Calamity detection Rules = Standard software Location detection Control Broker & coordination Policies Subsystem Monitoring Service Bus Security = ACCUS specific software Data Analytics Data management Message Broker Service Broker Policy management Application Server Agent Framework Work Flow Engine ACCUS Integration and Coordination Platform Event detection ACCUS Work Flows Service Repository Semantic mapping Database ARTEMIS Traffic monitor Management = case specific software Presence detection Info Broker & coordination Ontologies ACCUS City State Reasoner Rule Engine Identity & access management 99

100 Applications Application Service Application Service ACCUS-sovellukset sisältävät kaikki kaupunki- ja sovelluskohtaiset ohjelmistot, jotka käyttävät ACCUS ICP: tä (ja kaikki liitetyt palvelut) erityisten ACCUS-käyttötapausten toteuttamiseen Käyttötapauksesta riippuen, seuraavia sovelluksia on implementoitu: Smart lighting: esim. älykäs valaistuspalvelu, joka käyttää useista osajärjestelmistä saatuja tietoja Smart living: esim. verkkotunnuksen palvelu, joka yhdistää esimerkiksi energia-alan ja liikkuvuusalueiden tiedot Smart traffic management: esim. älykäs liikenteenhallinta käyttämällä (sensor) dataa useista osajärjestelmistä ja ohjaavista toimilaitteista eri osajärjestelmissä etc., etc. ARTEMIS

101 Säätämisen historiaa Nicholas Minorsky: Directional stability of automatically steered bodies (1922) New Mexico sotalaivan automaattinen ohjausjärjestelmä Laivan kallistuminen heikensi laivatykkien tarkkuutta (S. Bennet: Nicolas Minorsky and the Automatic Steering of Ships)

102 Termejä Häiriö Asetusarvo Erosuure (e) Ohjausarvo (u) Säädettävä Säätäjä Prosessi suure Takaisinkytkentä Mittausanturi Oloarvo Askelvaste:

103 oloarvo asetusarvo erosuure

104 Stabiili prosessi Prosesseista Jos asetusarvo ja häiriöt pysyvät samana, prosessi asettuu luonnolliseen tasapainotilaan Esimerkiksi auton vakionopeudensäätö: jos moottoriin syötetty polttoainemäärä on vakio, auto kulkee vakionopeudella, kunhan ulkoiset tekijät kuten tuuli tai mäet eivät vaikuta Epästabiili, eli integroiva prosessi Prosessi ei asetu tasapainotilaan, vaan ajautuu rakenteelliseen ylä- tai alarajaan ilman säätöä

105 Stabiili Epästabiili

106 Aikavakio ja viive Prosessin aikavakio osoittaa nopeutta, jolla prosessi reagoi ohjausarvojen muutokseen Viive, eli kuollut aika, tarkoittaa asetusarvon ja oloarvon muutoksen välillä kuluvaa aikaa

107 P-säätäjä u = K*e + M Ohjausarvo on suoraan verrannollinen eroarvoon P-säätäjä jättää asentovirheen Jos kerrointa K kasvatetaan liikaa, järjestelmä voi värähdellä Säätäjän ohjaus on usein rajoitettu tietylle välille Koodia: ero = asetusarvo oloarvo; u = p_kerroin * ero + p_skaalaus; ohjaus = mid (alaraja, u, ylaraja);

108 K=3 K=10 Kuvaajat:

109 I-säätäjä u = K * average(e(1) e(k)) Säätimen ulostulo muuttuu eroarvoon verrannollisella nopeudella Ei reagoi pieniin häiriöihin Ei asentovirhettä Hidas Voi saturoitua toiminta-alueen rajalla, kun ohjaus ei riitä korjaamaan tilannetta (Windup). Ratkaisu: lisätään anti-windup toiminto, joka esimerkiksi estää integroinnin jatkumisen prosessin saturaatiotilanteessa

110 e t u t

111 Saturoituminen -> järjestelmä menettää ohjattavuutensa kunnes tilanne purkautuu

112 D-säätäjä u = K * ( e(n) e(n-1) ) Säätimen ulostulo on verrannollinen eroarvon muutosnopeuteen Säätö reagoi nopeasti Pitää liikettä yllä -> ylittää asetusarvon ja värähtelee Herkkä kohinalle Liitetään aina P tai PI-säätäjään

113 e t u t

114 Closed loop s1n1ulat1on <) ::::: I> fi1 p A& Ii?]PV Ii?] SP IN O MV li?] LD 3 4 time {sj

115 PI-säätäjä P-säätäjän nopeus, I-säätäjän tarkkuus Ei asentovirhettä

116 I I I,[i!.f g11,011tjiifl - - IDI "'"l'litucio Closed loop s mulation l I " I I ' n o o sed loop simulation """' Closed loop sun ulation o.i'"" ''"" I.o ' 10 ' 1 ' 5 [05Jl l 0 <I I>..e"' 0 PV 0 O MV D t. E:b O closed loop sin1ulation () 30 <I I>..e"' Closed loop s hnulatlon 40 P.} SP (i] LO 10.9, ;.,.[sj 00. "' '..,uua. Closed loop simulation I

117 PD-säätäjä Nopea, ennustaa asetusarvon muutosta Värähtelee herkästi Herkkä kohinalle Jättää asentovirheen

118 ! ----;:;:; ::::: nn antplillj<l antplillj<le Closed loop simulation nn ampmw. Closedloop simulation e = - -' lo<;.!z. L. = =- -' lo<;.!z.l.= "" " ',_, ma O Mv O LD [2]..,, t.,,. fsj t.,,. fsj [ 2 ]..,, Closed loop simulation M Pv 0 sp O MV 0 LD

119 PID-säätäjä Reagoi nopeasti, mutta ei värähtele niin herkästi Yleissäätäjä P osa huolehtii perussäädöstä D osa tuo nopeutta I osa vaimentaa värähtelytaipumusta Ei asentovirhettä

120 Säätäjän virittämisestä Säätäjän virittäminen yritys ja erehdys - menetelmän avulla muuttamalla P, I ja D- osien kertoimia D- ja P-termit aiheuttavat värähtelyä/ylitystä I-termi hävittää asentovirheen, mutta voi aiheuttaa säätäjän saturoitumisen Ziegler-Nichols ja Cohen-Coon ovat eräitä klassisia viritysmenetelmiä

121 Mittaamisesta Mittaussignaalia joudutaan usein suodattamaan Häiriöt Kiinnostava taajuuskaista Mitta-anturi on toisinaan kalibroitava Kalibrointi saatetaan tehdä huollon yhteydessä tai automaattisesti laitteen ollessa käytössä

122 Yhteenveto P-, I-, D-, PI-, PD- ja PID-säätimet valitaan käyttötarkoituksensa mukaan ja viritetään toimimaan optimaalisella, mutta turvallisella tavalla. Mitta-anturien kalibrointi on usein tarpeen valmistustoleranssien ja kulumisen vaikutuksen poistamiseksi Järjestelmän turvallisuus on syytä ottaa aina huomioon

123

124 Kiitos!

Agenda. Johdanto Säätäjiä. Mittaaminen. P-, I-,D-, PI-, PD-, ja PID-säätäjä Säätäjän valinta ja virittäminen

Agenda. Johdanto Säätäjiä. Mittaaminen. P-, I-,D-, PI-, PD-, ja PID-säätäjä Säätäjän valinta ja virittäminen 8. Luento: Laitteiston ohjaaminen Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Säätäjiä P-, I-,D-, PI-, PD-, ja PID-säätäjä Säätäjän valinta ja virittäminen Mittaaminen Johdanto Tavoitteena: tunnistaa

Lisätiedot

11. Luento: Vikasietoisuus. Tommi Mikkonen,

11. Luento: Vikasietoisuus. Tommi Mikkonen, 11. Luento: Vikasietoisuus Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Vikasietoisuuden käsitteistöä Vikasietoisuuden saavuttaminen Ohjelmisto- ja laitteistovioista Vika-analyysi Esimerkkejä Vikasietoisuuden

Lisätiedot

Arto Salminen,

Arto Salminen, 11. Luento: Vikasietoisuus Arto Salminen, arto.salminen@tut.fi Agenda Vikasietoisuuden käsitteistöä Vikasietoisuuden saavuttaminen Ohjelmisto- ja laitteistovioista Vika-analyysi Esimerkkejä Vikasietoisuuden

Lisätiedot

Arto Salminen, arto.salminen@tut.fi

Arto Salminen, arto.salminen@tut.fi 8. Luento: Laitteiston ohjaaminen Arto Salminen, arto.salminen@tut.fi Agenda Johdanto Säätäjiä P-, I-,D-, PI-, PD-, ja PID-säätäjä Säätäjän valinta ja virittäminen Mittaaminen Johdanto Tavoitteena: tunnistaa

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen ja tulkinta. - Kääntäminen,

Lisätiedot

OHJ-4301 Sulautettu Ohjelmointi

OHJ-4301 Sulautettu Ohjelmointi OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3

Lisätiedot

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön? 2013-2014 Lasse Lensu 2 Systeemiohjelmat ovat tietokoneen laitteistoa lähellä olevia ohjelmia,

Lisätiedot

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245

Android ohjelmointi. Mobiiliohjelmointi 2-3T5245 Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

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

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

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

Luento 1 (verkkoluento 1) Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän e eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokone- järjestelmäj ä Käyttäjä Tietokonelaitteisto Oheislaitteet

Lisätiedot

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Luento

Lisätiedot

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

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus Luento 1 Tietokonejärjestelmän rakenne Järjestelmän eri tasot Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä Tietokonelaitteisto Oheislaitteet (peripheral or I/O devices) Tietokone (computer) 2 Tietokone

Lisätiedot

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

Luento 1 (verkkoluento 1) Tietokonejärjestelmä Luento 1 (verkkoluento 1) Tietokonejärjestelmä Järjestelmän eri tasot Ohjelman sijainti Ohjelman esitysmuoto Laitteiston nopeus 1 Tietokonejärjestelmä Käyttäjä This image cannot currently be displayed.

Lisätiedot

.NET ajoympäristö. Juha Järvensivu 2007

.NET ajoympäristö. Juha Järvensivu 2007 .NET ajoympäristö Juha Järvensivu juha.jarvensivu@tut.fi 2007 Käännösprosessi C# lähdekoodi C# kääntäjä CILtavukoodi JITkäännös Ajettava natiivikoodi Kehitysympäristössä ohjelmoijan toimesta Ajonaikana.NET

Lisätiedot

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

S11-09 Control System for an. Autonomous Household Robot Platform S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on

Lisätiedot

SOA SIG SOA Tuotetoimittajan näkökulma

SOA SIG SOA Tuotetoimittajan näkökulma SOA SIG SOA Tuotetoimittajan näkökulma 12.11.2007 Kimmo Kaskikallio IT Architect Sisältö IBM SOA Palveluiden elinkaarimalli IBM Tuotteet elinkaarimallin tukena Palvelukeskeinen arkkitehtuuri (SOA) Eri

Lisätiedot

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ 1. Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...

Lisätiedot

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...

Lisätiedot

4. Lausekielinen ohjelmointi 4.1

4. Lausekielinen ohjelmointi 4.1 4. Lausekielinen ohjelmointi 4.1 Sisällys Konekieli, symbolinen konekieli ja lausekieli. Hyvä ohjelmointitapa. Lausekielestä konekieleksi: - Lähdekoodi, tekstitiedosto ja tekstieditorit. - Kääntäminen

Lisätiedot

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä. On arvioitu, että maailmassa on tällä hetkellä enemmän sulautettuja

Lisätiedot

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä Tietojenkäsittelyn perusteet 2 Lisää käyttöjärjestelmistä 2011-02-09 Leena Ikonen 1 Systeemiohjelmat Systeemiohjelmiin kuuluvat Kääntäjät ja tulkit (+debuggerit) Käyttöjärjestelmä Linkittäjät Lataajat

Lisätiedot

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola

IoT-platformien vertailu ja valinta erilaisiin sovelluksiin / Jarkko Paavola IoT-platformien vertailu ja valinta erilaisiin sovelluksiin 10.3.2017 / Jarkko Paavola Prosessi state-of-the-art -tilan määrittelemiseksi Vaatimusmäärittely platformille Arkkitehtuuri Valittiin IIC:n (http://www.iiconsortium.org/)

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Kieliversiointityökalu Java-ohjelmistoon. Ohje Kieliversiointityökalu Java-ohjelmistoon Ohje 2/6 SISÄLLYSLUETTELO 1 YLEISTÄ OHJELMASTA... 3 2 PÄÄ-IKKUNA...4 3 YLÄVALIKKO... 4 3.1 TIEDOSTO... 4 3.2 TOIMINTO... 4 3.3 ASETUKSET... 5 3.4 OHJE... 5 4 VÄLILEHDET...5

Lisätiedot

KODAK EIM & RIM VIParchive Ratkaisut

KODAK EIM & RIM VIParchive Ratkaisut ATK Päivät 2006 Mikkeli KODAK EIM & RIM VIParchive Ratkaisut 29.-30.5. 2006 Stefan Lindqvist HCIS Sales Specialist Health Care Information Systems Kodak Health Group 3/24/2013 1 Arkistoinnin haasteita

Lisätiedot

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2015/

PLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2015/ PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_205/ . Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...

Lisätiedot

2 Konekieli, aliohjelmat, keskeytykset

2 Konekieli, aliohjelmat, keskeytykset ITK145 Käyttöjärjestelmät, kesä 2005 Tenttitärppejä Tässä on lueteltu suurin piirtein kaikki vuosina 2003-2005 kurssin tenteissä kysytyt kysymykset, ja mukana on myös muutama uusi. Jokaisessa kysymyksessä

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

Lisätiedot

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest).

Virtualisointiympäristössä on kolme pääosaa: isäntä (host), virtualisointikerros ja vieras (guest). 1 Virtualisoinnin avulla voidaan purkaa suora linkki suoritettavan sovelluksen (tai käyttöjärjestelmän tms.) ja sitä suorittavan laitteiston välillä. Näin saavutetaan joustavuutta laitteiston käytössä.

Lisätiedot

Ohjelmointi 1 / syksy /20: IDE

Ohjelmointi 1 / syksy /20: IDE Ohjelmointi 1 / syksy 2007 10/20: IDE Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/8 Tämän luennon rakenne

Lisätiedot

Pikaohje Aplisens APIS type 1X0 ja 2XO

Pikaohje Aplisens APIS type 1X0 ja 2XO Pikaohje Aplisens APIS type 1X0 ja 2XO Koivupuistontie 26, 01510, Vantaa www.saato.fi, sales@saato.fi, 09-759 7850 Sisällys 1. Yleistä...3 2. Parametritilan toiminnot...4 3. Käyttöönotto pikaohje...5 1.

Lisätiedot

WINE API ja Virtualisointiohjelmistot

WINE API ja Virtualisointiohjelmistot WINE API ja Virtualisointiohjelmistot Yleistä Winestä Ohjelmisto, joka mahdollistaa Windows -pohjaisten ohjelmien käytön kuissa käyttöjärjestelmissä Toimii yhteensopivuuskerroksena ohjelman ja käyttöjärjestelmän

Lisätiedot

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI

Tech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI Tech Conference 28.-29.5.2015 Visual Studio 2015, C#6,.NET4.6 Heikki Raatikainen #TechConfFI Yleistä Avoimuus Open Source ja tuki yleisesti käytetyille ei-ms työkaluille Kaikki alustat tuettuna:.net 5

Lisätiedot

Toimilohkojen turvallisuus tulevaisuudessa

Toimilohkojen turvallisuus tulevaisuudessa Toimilohkojen turvallisuus tulevaisuudessa Turvallisuusseminaari ASAF 30.10-1.11.2006 Mika Strömman Teknillinen korkeakoulu 1 Sisältö Luotettavuuden lisääminen hyvillä tavoilla Toimilohkokirjastot Turvatoimilohkot

Lisätiedot

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi Solidity älysopimus ohjelmointi Sopimus suuntautunut ohjelmointi Merkle puu Kertausta eiliseltä Solidity on korkean tason älysopimus ohjelmointikieli Muistuttaa olio-ohjelmointia Javalla Sopimuskoodi on

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

Sovellusarkkitehtuurit

Sovellusarkkitehtuurit HELIA TiKo-05 1 (9) Sovellusarkkitehtuurit ODBC (Open Database Connectivity)... 2 JDBC (Java Database Connectivity)... 5 Middleware... 6 Middleware luokittelu... 7 Tietokanta -middleware... 8 Tapahtumamonitorit

Lisätiedot

Mobiilimaailma murroksessa 2011 Tommi Teräsvirta, Tieturi

Mobiilimaailma murroksessa 2011 Tommi Teräsvirta, Tieturi Business is evolving, you should too. MeeGo ulkona vai myöhässä? Mobiilimaailma murroksessa 2011 Tommi Teräsvirta, Tieturi Helsinki, Tampere, Turku, Stockholm, Göteborg www.tieturi.fi MeeGo YALMP (Yet

Lisätiedot

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Qt kaikkialla? 9.4.2010

Qt kaikkialla? 9.4.2010 Qt kaikkialla? Helsinki Tammasaarenkatu 5, 00180 Helsinki, Tel. 09 431 551 Tampere Satakunnankatu 18, 33210 Tampere, Tel. 03 315 861 Turku Lemminkäisenkatu 32 A, 20520 Turku, Tel. 02 263 571 Qt Qton C++

Lisätiedot

Visual Basic -sovelluskehitin Juha Vitikka

Visual Basic -sovelluskehitin Juha Vitikka Visual Basic -sovelluskehitin Helsinki 30.10.2000 Seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Visual Basic sovelluskehitin Seminaari: Ohjelmistotuotantovälineet Tietojenkäsittelytieteen

Lisätiedot

7.4 Variability management

7.4 Variability management 7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product

Lisätiedot

Coolselector Asennusohje

Coolselector Asennusohje MAKING MODERN LIVING POSSIBLE Coolselector Asennusohje Täydellinen valinta on vain muutaman klikkauksen päässä www.danfoss.fi/kylma Yleiset vaatimukset Windows XP asennus Windows 7 asennus Asennuksen poisto

Lisätiedot

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy

XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy IBM Collaboration Forum ٨.٣.٢٠١١ XPages käyttö ja edut Jarkko Pietikäinen toimitusjohtaja, Netwell Oy ٢٠١١ IBM Corporation Domino-sovelluskehitys Nopea kehitysympäristö (Rapid application development,

Lisätiedot

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut järjestelmät Luku 2 Sivu 1 (??) Kiertokysely Perinteiset ohjelmointikielet kuten C tukevat hyvin sekventiaalista ohjelmointia, jossa herätteisiin reagointi on helppoa toteuttaa pollauksella

Lisätiedot

13/20: Kierrätys kannattaa koodaamisessakin

13/20: Kierrätys kannattaa koodaamisessakin Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy

Lisätiedot

in condition monitoring

in condition monitoring Etäteknologioiden automaatiosovellukset Using e-speak e in condition monitoring tutkija professori Hannu Koivisto Sisältö Tausta Globaali kunnonvalvontajärjestelmä E-speak globaalissa kunnonvalvontajärjestelmässä

Lisätiedot

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen

CUDA. Moniydinohjelmointi 17.4.2012 Mikko Honkonen CUDA Moniydinohjelmointi 17.4.2012 Mikko Honkonen Yleisesti Compute Unified Device Architecture Ideana GPGPU eli grafiikkaprosessorin käyttö yleiseen laskentaan. Nvidian täysin suljetusti kehittämä. Vuoden

Lisätiedot

Simulaattorin asennus- ja käyttöohje

Simulaattorin asennus- ja käyttöohje Linux ja Windows XP Versio Päiväys Muokkaaja Kuvaus 0.2 16.2.2006 Mikko Halttunen Katselmoinin jälkeen 0.1 13.2.2006 Mikko Halttunen Alustava versio Sisällysluettelo 1 Johdanto... 3 2 Simulaattorin asennus...

Lisätiedot

Käyttöjärjestelmät: prosessit

Käyttöjärjestelmät: prosessit Käyttöjärjestelmät: prosessit Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Käyttöjärjestelmä

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

Ajankohta Johdatus WP7-sovelluskehitykseen: 12.9.2011 WP7-sovelluskehityksen perusteet: 13. 14.9.2011

Ajankohta Johdatus WP7-sovelluskehitykseen: 12.9.2011 WP7-sovelluskehityksen perusteet: 13. 14.9.2011 KOULUTUSTIEDOTE 1(6) JOHDATUS WINDOWS PHONE 7 -SOVELLUSKEHITYKSEEN & WINDOWS PHONE 7 -SOVELLUSKEHITYKSEN PERUSTEET Kuvaus ja tavoite PROFIT tarjoaa syyskuussa 2011 kaksi Windows Phone 7 - sovelluskehityskoulutusta:

Lisätiedot

KYMENLAAKSON AMMATTIKORKEAKOULU

KYMENLAAKSON AMMATTIKORKEAKOULU 1 KYMENLAAKSON AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma / Tietoverkkotekniikka Ole Halonen GNU-ohjelmointityökalut Linux-järjestelmät 206101310 Seminaarityö 22.11.2012 2 Sisällysluettelo 2 1 Johdanto

Lisätiedot

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Ohjelmistojen mallintaminen. Luento 11, 7.12. Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,

Lisätiedot

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

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri Järjestelmäarkkitehtuuri (TK081702) ja Järjestelmäarkkitehtuuri Sovellukset ovat olemassa Järjestelmien uudistaminen vie yleensä arvioitua enemmän resursseja ja kestää arvioitua kauemmin Migration (Migraatio

Lisätiedot

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

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä Linux 00 Keskeiset piirteet Tux-pingviinin kuva: Larry Ewing, Simon Budig ja Anja Gerwinski Kysymyksiä 1. Mikä Linux on? 2. Kuinka Linux syntyi ja kehittyy? 3. Mitkä ovat Linuxin vahvuudet? 2 1 Linux on

Lisätiedot

Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj. 2013 IBM Corporation

Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj. 2013 IBM Corporation Älykkäämpi päätelaitteiden hallinta Juha Tujula, CTO, Enfo Oyj 2013 IBM Corporation 3 Enfo Suomessa Markkinat: Suomessa IT-palvelumarkkinan koko on noin 2,5 miljardia euroa ja sen arvioidaan kasvavan pitkällä

Lisätiedot

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen

Pedacode Pikaopas. Java-kehitysympäristön pystyttäminen Pedacode Pikaopas Java-kehitysympäristön pystyttäminen Pikaoppaan sisältö Pikaoppaassa kuvataan, miten Windowstyöasemalle asennetaan Java-ohjelmoinnissa tarvittavat työkalut, minkälaisia konfigurointeja

Lisätiedot

Microsoft Visual J++ ohjelmointiympäristö

Microsoft Visual J++ ohjelmointiympäristö Microsoft Visual J++ ohjelmointiympäristö Ohjelmistotuotantovälineet seminaarin alustus Raine Lehto Helsingin yliopisto Tietojenkäsittelytieteen laitos 08.11.2000 Helsinki Sisällys 1 Johdanto...2 2 Sovelluskehys

Lisätiedot

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan Aram Abdulla Hassan Windows Server 2012 asentaminen ja käyttö 1 Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan Hyper-V ohjelma. Riipu minkälaista Serveria yritämme

Lisätiedot

Tietokanta (database)

Tietokanta (database) Tietokanta Tietokanta (database) jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja 1 Tiedosto Ohjelmointikielissä apumuistiin tallennettuja tietoja käsitellään

Lisätiedot

Avoimen lähdekoodin kehitysmallit

Avoimen lähdekoodin kehitysmallit Avoimen lähdekoodin kehitysmallit Arto Teräs Avoimen lähdekoodin ohjelmistot teknisessä laskennassa -työpaja CSC, 25.5.2009 Avoimen lähdekoodin kehitysmallit / Arto Teräs 2009-05-25

Lisätiedot

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen FiSMA 1.1 Monikerrosarkkitehtuuri 1 (7) FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen 1. Yleiset periaatteet FiSMA 1.1 -menetelmässä mitataan sovellusperiaatteen

Lisätiedot

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Käyttöjärjestelmät: poissulkeminen ja synkronointi Käyttöjärjestelmät: poissulkeminen ja synkronointi Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet

Lisätiedot

Backup Exec 3600 Appliance

Backup Exec 3600 Appliance Backup Exec 3600 Appliance Markku A Suistola Principal Presales Consultant Parempaa varmistusta kaikille! Ohjelmisto Appliance Pilvi Virtuaalisen ja fyysisen ympäristön suojaus 2 Perinteinen ratkaisu usein

Lisätiedot

TIE Principles of Programming Languages CEYLON

TIE Principles of Programming Languages CEYLON TIE-20306 Principles of Programming Languages CEYLON SISÄLLYSLUETTELO 1. YLEISTIETOA KIELESTÄ JA SEN KEHITTÄMISESTÄ... 1 2. CEYLONIN OMINAISUUKSIA... 2 2.1 Modulaarisuus... 2 2.2 Tyypit... 2 2.3 Muita

Lisätiedot

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux rakenne Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat Linux ydin Ytimen (kernel) päätehtävä on tarjota rajapinta

Lisätiedot

Interfacing Product Data Management System

Interfacing Product Data Management System Interfacing Product Data Management System Tekijä: Työn valvoja: Mats Kuivalainen Timo Korhonen Esitelmän sisältö Työn suorituspaikka - Ideal Product Data Oy Käsitteitä Työn tavoitteet Työn tulokset 1/5

Lisätiedot

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä Pekka Ryhänen & Erkki Pesonen 2002 BlueJ:n käyttö Nämä ohjeet on tarkoitettu tkt-laitoksen mikroluokan koneilla tapahtuvaa käyttöä varten. Samat asiat pätevät myös muissa luokissa ja kotikäytössä, joskin

Lisätiedot

Kertausluento luennoista 1-3 1

Kertausluento luennoista 1-3 1 Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi

Lisätiedot

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi

4. Luento: Prosessit ja säikeets. Tommi Mikkonen, tommi.mikkonen@tut.fi 4. Luento: Prosessit ja säikeets Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Prosessi Säikeet Keskeytykset Keskeytyskäsittely Käyttöjärjestelmäkutsut Prosessielementti Prosessin hallinta Suunnittelunäkökohtia

Lisätiedot

TK081001 Palvelinympäristö

TK081001 Palvelinympäristö TK081001 Palvelinympäristö 5 opintopistettä!! Petri Nuutinen! 8 opintopistettä!! Petri Nuutinen! RAID RAID = Redundant Array of Independent Disks Useasta fyysisestä kiintolevystä muodostetaan yhteinen

Lisätiedot

IMPACT 4.01.10 7.9.2015. 64/Kuvaus, Rakenne ja toiminta//volvon dynaaminen ohjaus, toimintakuvaus

IMPACT 4.01.10 7.9.2015. 64/Kuvaus, Rakenne ja toiminta//volvon dynaaminen ohjaus, toimintakuvaus Tulostanut:Pekka Vuorivirta Palvelu Alustatunnus Polku 64/Kuvaus, Rakenne ja toiminta//volvon dynaaminen ohjaus, toimintakuvaus Malli Tunniste FH (4) 132355236 Julkaisupäivämäärä 29.11.2013 Tunnus/Käyttö

Lisätiedot

7. Product-line architectures

7. Product-line architectures 7. Product-line architectures 7.1 Introduction 7.2 Product-line basics 7.3 Layered style for product-lines 7.4 Variability management 7.5 Benefits and problems with product-lines 1 Short history of software

Lisätiedot

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949. Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja John von Neumann ja EDVAC, 1949 TITO-kurssista Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

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

TIES530 TIES530. Moniprosessorijärjestelmät. Moniprosessorijärjestelmät. Miksi moniprosessorijärjestelmä? Miksi moniprosessorijärjestelmä? Laskentaa voidaan hajauttaa useammille prosessoreille nopeuden, modulaarisuuden ja luotettavuuden vaatimuksesta tai hajauttaminen voi helpottaa ohjelmointia. Voi olla järkevää

Lisätiedot

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013

Pertti Pennanen DOKUMENTTI 1 (5) EDUPOLI ICTPro1 29.10.2013 Virtualisointi Pertti Pennanen DOKUMENTTI 1 (5) SISÄLLYSLUETTELO Virtualisointi... 2 Virtualisointiohjelmia... 2 Virtualisointitapoja... 2 Verkkovirtualisointi... 2 Pertti Pennanen DOKUMENTTI 2 (5) Virtualisointi

Lisätiedot

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä Tietokoneen rakenne Luento 1 Tietokonejärjestelmä Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista John von Neumann ja EDVAC, 1949 Luento 1-1 Sisältöä Tietokonejärjestelmä KJ:n näkökulma laitteistoon

Lisätiedot

Microsoft Dynamics CRM 4.0. Jani Liukkonen

Microsoft Dynamics CRM 4.0. Jani Liukkonen Microsoft Dynamics CRM 4.0 Jani Liukkonen Microsoft Dynamics CRM kokonaisuus Täysi CRM toiminnallisuus ja joustavuus Vuorovaikutukset -Markkinointi Myynti -Asiakaspalvelu xrm -Prosessituki SOA -Joustava

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia

Lisätiedot

TKT224 KOODIN KOON OPTIMOINTI

TKT224 KOODIN KOON OPTIMOINTI - 1 - Laboratoriotyö TKT224 Oppimäärä: Ammattiaineiden laboraatiot Kurssi: Tietokonetekniikan laboraatiot Laboratoriotyö: TKT224 KOODIN KOON OPTIMOINTI Teoriakurssi, johon työ liittyy: Työn laatijat: T.Laitinen

Lisätiedot

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla

Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla Ongelma(t): Miten mikro-ohjelmoitavaa tietokonetta voisi ohjelmoida kirjoittamatta binääristä (mikro)koodia? Voisiko samalla algoritmin esitystavalla ohjelmoida useita komponenteiltaan ja rakenteeltaan

Lisätiedot

Älypuhelimet. Sisällysluettelo

Älypuhelimet. Sisällysluettelo Älypuhelimet Jussi Huhtala Sisällysluettelo Älypuhelimen määritelmä Historia Laitteistoarkkitehtuuri Käyttöjörjestelmät Android Symbian ios Yhteenveto 1 Älypuhelin Puhelin joka sisältää normaalit puhelimen

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

Sähkönjakeluverkon hallinnan arkkitehtuuri. Sami Repo

Sähkönjakeluverkon hallinnan arkkitehtuuri. Sami Repo Sähkönjakeluverkon hallinnan arkkitehtuuri Sami Repo Miksi? Energiansäästö Muut lämmitysmuodot korvautuvat lämpöpumpuilla Nollaenergiarakentaminen (ZEB) Sähköautot Lämmityskuormien ohjaaminen hinnan perusteella

Lisätiedot

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa Osa II OUGF / 12.5.2004 c Sisält ltö Mitä uutta? Yleistä lisensoinnista Lisensointiin liittyviä ongelmia Hankinnassa muistettavia asioita

Lisätiedot

Office 2013 - ohjelmiston asennusohje

Office 2013 - ohjelmiston asennusohje Office 2013 - ohjelmiston asennusohje Tämän ohjeen kuvakaappaukset on otettu asentaessa ohjelmistoa Windows 7 käyttöjärjestelmää käyttävään koneeseen. Näkymät voivat hieman poiketa, jos sinulla on Windows

Lisätiedot

PID-sa a timen viritta minen Matlabilla ja simulinkilla

PID-sa a timen viritta minen Matlabilla ja simulinkilla PID-sa a timen viritta minen Matlabilla ja simulinkilla Kriittisen värähtelyn menetelmä Tehtiin kuvan 1 mukainen tasavirtamoottorin piiri PID-säätimellä. Virittämistä varten PID-säätimen ja asetettiin

Lisätiedot

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli

TIE PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli TIE-20306 PRINCIPLES OF PROGRAMMING LANGUAGES Eiffel-ohjelmointikieli Seminaariesitelmä ryhmä 24 Markku Ahokas Jani Kuitti i SISÄLLYSLUETTELO 1. YLEISTÄ EIFFELISTÄ... 1 1.1 Historia ja tausta... 1 1.2

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

Lisätiedot

Maailman ensimmäinen Plug & Go etäyhteyslaite

Maailman ensimmäinen Plug & Go etäyhteyslaite Maailman ensimmäinen Plug & Go etäyhteyslaite PATENTOITU RATKAISU» Suojattu patenteilla laitejärjestely sekä yhteydenmuodostus menetelmä ONGELMA» Sisäverkossa verkkolaitteiden käyttäminen on helppoa» Kun

Lisätiedot

Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi

Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi

Lisätiedot

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus Kertausluento 1 (lu01, lu02, lu03) Tietokonejärjestelmän rakenne ttk-91 ja sillä ohjelmointi Järjestelmän eri tasot Laitteiston nopeus ttk-91 rakenne ja käskykantaarkkitehtuuri Konekielinen ohjelmointi

Lisätiedot

Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka

Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka Tutkimusprojekti: Siemens Simis-C -asetinlaitteen data-analytiikka https://www.siemens.com/fi/fi/home.html Toteutus: asetinlaitedatan hyödyntäminen kunnossapidon kehittämiseksi sekä hallinnoinnin ja suunnittelun

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

Lisätiedot

Toiminnallinen turvallisuus

Toiminnallinen turvallisuus Toiminnallinen turvallisuus Mitä uutta standardeissa IEC 61508 Tekn.lis. Matti Sundquist, Sundcon Oy www.sundcon.fi matti.sundquist@sundcon.fi Mitä uutta standardeissa IEC 61508-1 ja -4? IEC 61508-1 (yleistä):

Lisätiedot

Harjoitus 6: Simulink - Säätöteoria. Syksy 2006. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1

Harjoitus 6: Simulink - Säätöteoria. Syksy 2006. Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoitus 6: Simulink - Säätöteoria Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tutustuminen säätötekniikkaan Takaisinkytkennän

Lisätiedot