Ohjelmien automaattisen verifioinnin reunamailla

Koko: px
Aloita esitys sivulta:

Download "Ohjelmien automaattisen verifioinnin reunamailla"

Transkriptio

1 Ohjelmien automaattisen verifioinnin reunamailla Antti Siirtola Tietotekniikan laitos, Perustieteiden korkeakoulu, Aalto-yliopisto, Suomalainen Tiedeakatemia, Nuorten akatemiaklubi, 19. toukokuuta 2014

2 Sisältö Taustaa Formaali verifiointi Ohjelmien mallintaminen Parametroidun verifioinnin menetelmiä Yhteenveto Sisältö 2/29

3 Taustaa Taustaa 3/29

4 Minusta 2000 assistentti matematiikan jaos Oulu tkt laitos 2003 DI, tt tutkijakoulutettava Infotech Oulu FT, tkt tkt laitos 2011 tutkijatohtori 2012 Aalto 2013 tt laitos 2014 yliopistonlehtori tkt laitos Oulu Taustaa 4/29

5 Tietojenkäsittelytiede ohjelmointikielet käyttöjärjestelmät tekoäly ohjelmistotekniikka tietokonegrafiikka tietoturva tieteellinen laskenta tietoverkot rinnakkaiset ja hajautetut järjestelmät tietokannat käyttöliittymät käytettävyys ohjelmistoliiketoiminta tietojärjestelmät tietojenkäsittelyteoria Taustaa 5/29

6 Tietojenkäsittelyteoria algoritmit ja tietorakenteet matemaattinen logiikka automaattiteoria formaalit kielet laskettavuus laskennallinen vaativuus laskennallinen geometria laskennallinen algebra informaatioteoria kryptografia tyyppiteoria ohjelmien semantiikka ohjelmien verifiointi kvanttilaskenta Taustaa 6/29

7 Formaali verifiointi Verifointiongelma/kysymys Toimiiko ohjelma vaatimustensa mukaisesti? Taustaa 7/29

8 Formaali verifiointi Verifointiongelma/kysymys Toimiiko ohjelma vaatimustensa mukaisesti? Fakta (Turing 1936) Verifiointiongelma (kaikkein yleisimmässä muodossaan) on ratkeamaton. Taustaa 7/29

9 Formaali verifiointi Verifointiongelma/kysymys Toimiiko ohjelma vaatimustensa mukaisesti? Fakta (Turing 1936) Verifiointiongelma (kaikkein yleisimmässä muodossaan) on ratkeamaton. Ratkaisemiseen vaikuttaa se millaisia ohjelmia ja vaatimuksia tarkastellaan ja mitä oikeellisuus tarkoittaa? Taustaa 7/29

10 Formaali verifiointi Formaali verifiointi 8/29

11 Miksi verifiointia tarvitaan? I Lähes kaikissa tietokoneohjelmissa on virheitä I Virheet kriittisissä järjestelmissä voivat olla kohtalokkaita Formaali verifiointi 9/29

12 Miksi verifiointia tarvitaan? I Lähes kaikissa tietokoneohjelmissa on virheitä I Virheet kriittisissä järjestelmissä voivat olla kohtalokkaita 1987 Sädehoitoon tarkoitetun Therac-25-laitteen ohjelmistossa oli virhe, jonka vuoksi laite saattoi antaa jopa 100-kertaisen säteilyannoksen (bugin hinta: 6 ihmishenkeä) Formaali verifiointi 9/29

13 Miksi verifiointia tarvitaan? I Lähes kaikissa tietokoneohjelmissa on virheitä I Virheet kriittisissä järjestelmissä voivat olla kohtalokkaita Sädehoitoon tarkoitetun Therac-25-laitteen ohjelmistossa oli virhe, jonka vuoksi laite saattoi antaa jopa 100-kertaisen säteilyannoksen (bugin hinta: 6 ihmishenkeä) Ariane 5 -raketin ensilaukaisu epäonnistui ohjelmistovirheen takia (bugin hinta: $ ). Formaali verifiointi 9/29

14 Miksi verifiointia tarvitaan? I Lähes kaikissa tietokoneohjelmissa on virheitä I Virheet kriittisissä järjestelmissä voivat olla kohtalokkaita Sädehoitoon tarkoitetun Therac-25-laitteen ohjelmistossa oli virhe, jonka vuoksi laite saattoi antaa jopa 100-kertaisen säteilyannoksen (bugin hinta: 6 ihmishenkeä) Ariane 5 -raketin ensilaukaisu epäonnistui ohjelmistovirheen takia (bugin hinta: $ ). Heartbleed-haavoittuvuus yleisesti käytetyssä autentikointi/salausohjelmistossa altisti käyttäjätunnusten ja salasanojen vuotamisen verkkoon kahden vuoden ajan useista merkittävistä verkkopalveluista. Formaali verifiointi 9/29

15 Ohjelmistotestaus Perinteinen tapa analysoida ohjelmaa suhteessa vaatimuksiin. Ohjelmaa suoritetaan testitapauksissa kuvatulla tavalla tai tarkastetaan toimiiko se odotetusti. Formaali verifiointi 10/29

16 Ohjelmistotestaus Perinteinen tapa analysoida ohjelmaa suhteessa vaatimuksiin. Ohjelmaa suoritetaan testitapauksissa kuvatulla tavalla tai tarkastetaan toimiiko se odotetusti. Ohjelmaa voi testata vasta kun se on olemassa. Testaamalla voi löytää virheitä muttei todistaa ohjelmaa oikeaksi. Formaali verifiointi 10/29

17 Rinnakkaiset ja hajautetut järjestelmät Koostuvat kahdesta tai useammasta rinnakkain etenevästä ja keskenään kommunikoivasta prosesseista. Formaali verifiointi 11/29

18 Rinnakkaiset ja hajautetut järjestelmät Koostuvat kahdesta tai useammasta rinnakkain etenevästä ja keskenään kommunikoivasta prosesseista. Epädeterministisiä -> testaaminen on hankalaa virheiden löytäminen on hankalaa virheiden toistaminen on hankalaa Formaali verifiointi 11/29

19 Rinnakkaiset ja hajautetut järjestelmät Koostuvat kahdesta tai useammasta rinnakkain etenevästä ja keskenään kommunikoivasta prosesseista. Epädeterministisiä -> testaaminen on hankalaa virheiden löytäminen on hankalaa virheiden toistaminen on hankalaa Merkittävä osa uusista sovelluksista on rinnakkaisia ja/tai hajautettuja. Formaali verifiointi 11/29

20 Rinnakkaiset ja hajautetut järjestelmät Koostuvat kahdesta tai useammasta rinnakkain etenevästä ja keskenään kommunikoivasta prosesseista. Epädeterministisiä -> testaaminen on hankalaa virheiden löytäminen on hankalaa virheiden toistaminen on hankalaa Merkittävä osa uusista sovelluksista on rinnakkaisia ja/tai hajautettuja. Tyypillisiä rinnakkaisuusvirheitä Lukkiutumat Nälkiintyminen Ei-toivotulla tavalla lomittuvat suoritukset Formaali verifiointi 11/29

21 Verifiointiprosessi Epäformaalit vaatimukset Ohjelman kuvaus Formaalit vaatimukset Ohjelman malli Verifiointityökalu Ei virhettä Virhe Virhe mallissa -> tarkenna mallia Virhe ohjelmassa -> muuta ohjelmaa Formaali verifiointi 12/29

22 Verifioinnin edut (Rinnakkaisuuus)virheiden etsiminen on tehokkaampaa Virheitä voidaan todeta jo suunnitteluvaiheessa Ohjelma(n malli) voidaan todistaa tietyssä mielessä virheettömäksi Formaali verifiointi 13/29

23 Verifioinnin rajoitteet Automaattinen verifiointi on laskennallisesti raskasta ja yleisesti ottaen mahdotonta Ohjelman mallintaminen ja vaatimusten formalisointi vaatii aikaa ja asiantuntemusta Verifiointityökalujen integrointi kehitysympäristöön on haastavaa Työkalujen raportoimien virheiden analysointi voi vaatia asiantuntemusta Formaali verifiointi 14/29

24 Ohjelmien mallintaminen Ohjelmien mallintaminen 15/29

25 Äärellistilaiset mallit Verifiointiongelma käytännössä ratkeava Ohjelmien luonteva mallintaminen hankalaa Ohjelmien mallintaminen 16/29

26 Äärellistilaiset mallit Verifiointiongelma käytännössä ratkeava Ohjelmien luonteva mallintaminen hankalaa int i = 0; while(true) i++; Ohjelmien mallintaminen 16/29

27 Äärellistilaiset mallit Verifiointiongelma käytännössä ratkeava Ohjelmien luonteva mallintaminen hankalaa int i = 0; while(true) i++; i = 0 i = 1 i + + i + + i = 2 i + + Ohjelmien mallintaminen 16/29

28 Ääretöntilaiset mallit Usein luonteva abstraktio ohjelmien kuvaamiseen Verifiointiongelma ratkeava vain harvoissa tapauksissa Joskus liian abstrakti väline ohjelmien kuvaamiseen Ohjelmien mallintaminen 17/29

29 Ääretöntilaiset mallit Usein luonteva abstraktio ohjelmien kuvaamiseen Verifiointiongelma ratkeava vain harvoissa tapauksissa Joskus liian abstrakti väline ohjelmien kuvaamiseen LinkedList<Object> l; while(true) l.add(new Object()); Ohjelmien mallintaminen 17/29

30 Ääretöntilaiset mallit Usein luonteva abstraktio ohjelmien kuvaamiseen Verifiointiongelma ratkeava vain harvoissa tapauksissa Joskus liian abstrakti väline ohjelmien kuvaamiseen LinkedList<Object> l; while(true) l.add(new Object()); l.add(o 1 ) o 1 l.add(o 2 ) o 1, o 2 l.add(o 3 ) l.add(o n) X Ohjelmien mallintaminen 17/29

31 Parametroidut mallit Ohjelmissa on luonnollisia parametreja, toistuvien komponenttien määrä, tietotyyppien koko, järjestelmän rakenne, joita ei voi kiinnittää mihinkään tiettyyn arvoon Ohjelmien mallintaminen 18/29

32 Parametroidut mallit Ohjelmissa on luonnollisia parametreja, toistuvien komponenttien määrä, tietotyyppien koko, järjestelmän rakenne, joita ei voi kiinnittää mihinkään tiettyyn arvoon Ohjelmat voidaan luontevasti mallintaa parametroituina äärellistilaisina järjestelminä tai äärettömänä äärellistilaisten järjestelmien perheenä. Ohjelmien mallintaminen 18/29

33 Esimerkki parametroidusta järjestelmästä Ohjelma O(n) = P 1 P n R n rinnakkaista prosessia, joilla on yksi jaettu resurssi. O(n) on parametroitu järjestelmä, jossa n {1, 2,...}. {O(1), O(2),...} on vastaava ääretön järjestelmäperhe. Ohjelmien mallintaminen 19/29

34 Esimerkki parametroidusta järjestelmästä Ohjelma O(n) = P 1 P n R n rinnakkaista prosessia, joilla on yksi jaettu resurssi. O(n) on parametroitu järjestelmä, jossa n {1, 2,...}. {O(1), O(2),...} on vastaava ääretön järjestelmäperhe. Vaatimus V (n) mitkään kaksi prosessia eivät saa päästä käsiksi jaettuun resurssiin samanaikaisesti. Ohjelmien mallintaminen 19/29

35 Esimerkki parametroidusta järjestelmästä Ohjelma O(n) = P 1 P n R n rinnakkaista prosessia, joilla on yksi jaettu resurssi. O(n) on parametroitu järjestelmä, jossa n {1, 2,...}. {O(1), O(2),...} on vastaava ääretön järjestelmäperhe. Vaatimus V (n) mitkään kaksi prosessia eivät saa päästä käsiksi jaettuun resurssiin samanaikaisesti. Parametroitu verifiointiongelma/kysymys Toimiiko ohjelma O(n) vaatimuksen V (n) mukaisesti, merk. O(n) V (n), kaikilla parametrin n = 1, 2,... arvoilla? Ohjelmien mallintaminen 19/29

36 Esimerkki parametroidusta järjestelmästä Ohjelma O(n) = P 1 P n R n rinnakkaista prosessia, joilla on yksi jaettu resurssi. O(n) on parametroitu järjestelmä, jossa n {1, 2,...}. {O(1), O(2),...} on vastaava ääretön järjestelmäperhe. Vaatimus V (n) mitkään kaksi prosessia eivät saa päästä käsiksi jaettuun resurssiin samanaikaisesti. Parametroitu verifiointiongelma/kysymys Toimiiko ohjelma O(n) vaatimuksen V (n) mukaisesti, merk. O(n) V (n), kaikilla parametrin n = 1, 2,... arvoilla? Lause (Apt & Kozen 1986) Ongelma on yleisesti ratkeamaton. Ohjelmien mallintaminen 19/29

37 Parametroidun verifioinnin menetelmiä Parametroidun verifioinnin menetelmiä 20/29

38 Induktio Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P muodostaa ketjun/renkaan ja vaatimus on parametrista riippumaton eli V (n) := V. Parametroidun verifioinnin menetelmiä 21/29

39 Induktio Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P muodostaa ketjun/renkaan ja vaatimus on parametrista riippumaton eli V (n) := V. Induktioperiaate 1. Keksi (invariantti)prosessi I. Parametroidun verifioinnin menetelmiä 21/29

40 Induktio Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P muodostaa ketjun/renkaan ja vaatimus on parametrista riippumaton eli V (n) := V. Induktioperiaate 1. Keksi (invariantti)prosessi I. 2. Osoita (verifiointityökalua käyttäen), että P 1 I. Parametroidun verifioinnin menetelmiä 21/29

41 Induktio Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P muodostaa ketjun/renkaan ja vaatimus on parametrista riippumaton eli V (n) := V. Induktioperiaate 1. Keksi (invariantti)prosessi I. 2. Osoita (verifiointityökalua käyttäen), että P 1 I. 3. Osoita (verifiointityökalua käyttäen), että I P I. Parametroidun verifioinnin menetelmiä 21/29

42 Induktio Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P muodostaa ketjun/renkaan ja vaatimus on parametrista riippumaton eli V (n) := V. Induktioperiaate 1. Keksi (invariantti)prosessi I. 2. Osoita (verifiointityökalua käyttäen), että P 1 I. 3. Osoita (verifiointityökalua käyttäen), että I P I. 4. Osoita (verifiointityökalua käyttäen), että I V. Parametroidun verifioinnin menetelmiä 21/29

43 Induktio Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P muodostaa ketjun/renkaan ja vaatimus on parametrista riippumaton eli V (n) := V. Induktioperiaate 1. Keksi (invariantti)prosessi I. 2. Osoita (verifiointityökalua käyttäen), että P 1 I. 3. Osoita (verifiointityökalua käyttäen), että I P I. 4. Osoita (verifiointityökalua käyttäen), että I V. 5. Tästä seuraa, että O(n) V kaikilla n = 1, 2,.... Parametroidun verifioinnin menetelmiä 21/29

44 Induktio Menetelmä toimii perusverifiointityökalujen kanssa. Toimii vain tietyn tyyppisille järjestelmille. Invarianttiprosessin keksiminen voi olla hankalaa. Invarianttiprosessia ei aina ole olemassa. Parametroidun verifioinnin menetelmiä 22/29

45 Induktio Menetelmä toimii perusverifiointityökalujen kanssa. Toimii vain tietyn tyyppisille järjestelmille. Invarianttiprosessin keksiminen voi olla hankalaa. Invarianttiprosessia ei aina ole olemassa. Tuloksia Kurshan & McMillan 1989, 1995 Wolper & Lovinfosse 1990 Valmari & Tienari 1991 Valmari & Kokkarinen 1998 Creese 2001 Parametroidun verifioinnin menetelmiä 22/29

46 Abstrahointi/ääretöntilaiset mallit Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P ovat kaikki yhteyksissä toisiinsa (suoraan tai välillisesti) ja vaatimus on parametrista riippumaton eli V (n) := V. Parametroidun verifioinnin menetelmiä 23/29

47 Abstrahointi/ääretöntilaiset mallit Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P ovat kaikki yhteyksissä toisiinsa (suoraan tai välillisesti) ja vaatimus on parametrista riippumaton eli V (n) := V. Idea 1. Kuvaa parametroitu järjestelmä (ääretön järjestelmäperhe) yhdeksi ääretöntilaiseksi järjestelmäksi J. Kuvauksen tulee olla sellainen, että O(n) J kaikilla n = 1, 2,.... Parametroidun verifioinnin menetelmiä 23/29

48 Abstrahointi/ääretöntilaiset mallit Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P ovat kaikki yhteyksissä toisiinsa (suoraan tai välillisesti) ja vaatimus on parametrista riippumaton eli V (n) := V. Idea 1. Kuvaa parametroitu järjestelmä (ääretön järjestelmäperhe) yhdeksi ääretöntilaiseksi järjestelmäksi J. Kuvauksen tulee olla sellainen, että O(n) J kaikilla n = 1, 2, Osoita (verifiointityökalua käyttäen), että J V. Parametroidun verifioinnin menetelmiä 23/29

49 Abstrahointi/ääretöntilaiset mallit Toimii parhaiten parametroiduille järjestelmille O(n) = P 1 P n, jossa n identtistä komponenttia P i := P ovat kaikki yhteyksissä toisiinsa (suoraan tai välillisesti) ja vaatimus on parametrista riippumaton eli V (n) := V. Idea 1. Kuvaa parametroitu järjestelmä (ääretön järjestelmäperhe) yhdeksi ääretöntilaiseksi järjestelmäksi J. Kuvauksen tulee olla sellainen, että O(n) J kaikilla n = 1, 2, Osoita (verifiointityökalua käyttäen), että J V. 3. Tästä seuraa, että O(n) V kaikilla n = 1, 2,.... Parametroidun verifioinnin menetelmiä 23/29

50 Abstrahointi/ääretöntilaiset mallit Koko prosessi on yleensä automatisoitavissa. Toimii vain tietyn tyyppisille järjestelmille. Abstrahointityökalut/ääretöntilaisten järjestelmien verifiointityökalut eivät ole yhtä kehittyneitä kuin äärellistilaisten järjestelmien verifiointityökalut. Parametroidun verifioinnin menetelmiä 24/29

51 Abstrahointi/ääretöntilaiset mallit Koko prosessi on yleensä automatisoitavissa. Toimii vain tietyn tyyppisille järjestelmille. Abstrahointityökalut/ääretöntilaisten järjestelmien verifiointityökalut eivät ole yhtä kehittyneitä kuin äärellistilaisten järjestelmien verifiointityökalut. Tuloksia Lubachevsky 1984 German & Sistla 1992 Delzanno, Raskin, Van Begin 2002 Lahiri & Bryant 2004 Wachter & Westphal 2007 Ghilardi & Ranise 2010 Parametroidun verifioinnin menetelmiä 24/29

52 Parametrien raja-arvot Idea 1. Määritä parametrille n sellainen raja-arvo k, että O(n) V (n) kaikilla n = 1, 2,..., k, jos ja vain jos O(n) V (n) kaikilla n = 1, 2,.... Parametroidun verifioinnin menetelmiä 25/29

53 Parametrien raja-arvot Idea 1. Määritä parametrille n sellainen raja-arvo k, että O(n) V (n) kaikilla n = 1, 2,..., k, jos ja vain jos O(n) V (n) kaikilla n = 1, 2, Osoita (verifiointyökalua käyttäen), että O(n) V (n) kaikilla n = 1, 2,..., k. Parametroidun verifioinnin menetelmiä 25/29

54 Parametrien raja-arvot Idea 1. Määritä parametrille n sellainen raja-arvo k, että O(n) V (n) kaikilla n = 1, 2,..., k, jos ja vain jos O(n) V (n) kaikilla n = 1, 2, Osoita (verifiointyökalua käyttäen), että O(n) V (n) kaikilla n = 1, 2,..., k. 3. Tästä seuraa, että O(n) V (n) kaikilla n = 1, 2,.... Parametroidun verifioinnin menetelmiä 25/29

55 Parametrien raja-arvot Idea 1. Määritä parametrille n sellainen raja-arvo k, että O(n) V (n) kaikilla n = 1, 2,..., k, jos ja vain jos O(n) V (n) kaikilla n = 1, 2, Osoita (verifiointyökalua käyttäen), että O(n) V (n) kaikilla n = 1, 2,..., k. 3. Tästä seuraa, että O(n) V (n) kaikilla n = 1, 2,.... Menetelmä toimii perusverifiointityökalujen kanssa. Raja-arvo on aina olemassa. Raja-arvon keksiminen voi olla hankalaa. Raja-arvotulokset pätevät vain tietyntyyppisille järjestelmille. Parametroidun verifioinnin menetelmiä 25/29

56 Raja-arvotuloksia Tietotyyppien koolle Wolper 1986 Lazić 1999 Parametroidun verifioinnin menetelmiä 26/29

57 Raja-arvotuloksia Tietotyyppien koolle Wolper 1986 Lazić 1999 Prosessien määrälle Emerson & Kahlon 2000, 2002, 2004 Emerson & Namjoshi 2003 Bouajjani, Habermehl & Vojnar 2008 Yang & Li 2010 Parametroidun verifioinnin menetelmiä 26/29

58 Raja-arvotuloksia Tietotyyppien koolle Wolper 1986 Lazić 1999 Prosessien määrälle Emerson & Kahlon 2000, 2002, 2004 Emerson & Namjoshi 2003 Bouajjani, Habermehl & Vojnar 2008 Yang & Li 2010 Prosessien määrälle + parametroitu järjestelmän rakenne Clarke, Talupur, Touili & Veith 2004 Siirtola & Kortelainen 2009 Parametroidun verifioinnin menetelmiä 26/29

59 Raja-arvotuloksia Tietotyyppien koolle Wolper 1986 Lazić 1999 Prosessien määrälle Emerson & Kahlon 2000, 2002, 2004 Emerson & Namjoshi 2003 Bouajjani, Habermehl & Vojnar 2008 Yang & Li 2010 Prosessien määrälle + parametroitu järjestelmän rakenne Clarke, Talupur, Touili & Veith 2004 Siirtola & Kortelainen 2009 Tietotyyppien koolle + prosessien määrälle Siirtola & Heljanko 2013 Parametroidun verifioinnin menetelmiä 26/29

60 Yhteenveto Yhteenveto 27/29

61 Yhteenveto Ohjelmat voidaan mallintaa luontevasti parametroituina järjestelminä. Parametroidun verifioinnin menetelmien kehittäminen on teoreettisesti haastavaa, koska ongelma on yleisesti ratkeamaton. Parametroitu verifiointi on käytännössä tärkeää erityisesti rinnakkaisten ja hajautettujen järjestelmien sekä kriittisten järjestelmien toiminnan tarkan analysoinnin kannalta. Yhteenveto 28/29

62 Kiitos! Kysymyksiä? Yhteenveto 29/29

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

TIETOTEKNIIKKA 2012-2013 Koodi Vanha opintojakso op ov Vastuuhenkilö LV 2011-2012 vastaavat opinnot tai korvaava suoritustapa TTE. TIETOTEKNIIKKA 2012-2013 Koodi Vanha opintojakso op ov Vastuuhenkilö LV 2011-2012 vastaavat opinnot tai korvaava suoritustapa TTE.344 Agenttipohjainen tietojenkäsittely 3 Ei voi suorittaa, tilalle jokin

Lisätiedot

Tarvitseeko informaatioteknologia matematiikkaa?

Tarvitseeko informaatioteknologia matematiikkaa? Tarvitseeko informaatioteknologia matematiikkaa? Oulun yliopisto Matemaattisten tieteiden laitos 1 Kyllä kai IT matematiikkaa tarvitsee!? IT ja muu korkea teknologia on nimenomaan matemaattista teknologiaa.

Lisätiedot

Tutkimusmenetelmät-kurssi, s-2004

Tutkimusmenetelmät-kurssi, s-2004 Algoritmitutkimuksen menetelmistä Tutkimusmenetelmät-kurssi, s-2004 Pekka Kilpeläinen Kuopion yliopisto Tietojenkäsittelytieteen laitos Algoritmitutkimuksen menetelmistä p.1/20 Sisällys Tänään Tietojenkäsittelytiede

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä Simo Tauriainen www.ponsse.com 25.8.2011 Ponsse-konserni Ponsse Oyj on tavaralajimenetelmän metsäkoneiden myyntiin, tuotantoon, huoltoon ja

Lisätiedot

vain äärellisten rakenteiden kohdalla. Siksi keskitynkin ongelmista edelliseen: tilaavaruudeltaan

vain äärellisten rakenteiden kohdalla. Siksi keskitynkin ongelmista edelliseen: tilaavaruudeltaan Tietojenkäsittelytiede 24 Joulukuu 2005 sivut 22 34 Toimittaja: Jorma Tarhio c kirjoittaja(t) Ohjelmistojen äärellistilaisten, formaalisti oikeiden mallien tuottaminen automaattisesti Antti Siirtola Oulun

Lisätiedot

Muita vaativuusluokkia

Muita vaativuusluokkia Muita vaativuusluokkia Käydään lyhyesti läpi tärkeimpiä vaativuusluokkiin liittyviä tuloksia. Monet tunnetuista tuloksista ovat vaikeita todistaa, ja monet kysymykset ovat vielä auki. Lause (Ladner 1975):

Lisätiedot

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita!

Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! Kehittää ohjelmointitehtävien ratkaisemisessa tarvittavia metakognitioita! eli... Hyvä kaava sanoo enemmän kuin,... tuhat riviä koodia!... sata riviä tekstiä!... kymmenen diagrammia! YLEISTÄ FORMAALEISTA

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

TIETOTEKNIIKAN KOULUTUSOHJELMA

TIETOTEKNIIKAN KOULUTUSOHJELMA TIETOTEKNIIKAN KOULUTUSOHJELMA Tietotekniikan koulutusohjelman toimintaympäristö ja osaamistavoitteet Tietotekniikan koulutusohjelmasta valmistuneet insinöörit sijoittuvat suunnittelu-, ohjelmointi-, esimies-,

Lisätiedot

Tietoyhteiskunnan haavoittuvuus kuinka voimme hallita sitä?

Tietoyhteiskunnan haavoittuvuus kuinka voimme hallita sitä? Huoltovarmuuskeskuksen 10-vuotisjuhlaseminaari Helsinki, 26.2.2003 Tietoyhteiskunnan haavoittuvuus kuinka voimme hallita sitä? TkT Arto Karila Karila A. & E. Oy E-mail: arto.karila@karila.com HVK, 26.2.2003-1

Lisätiedot

1. Olio-ohjelmointi 1.1

1. Olio-ohjelmointi 1.1 1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja

Lisätiedot

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa Lektio 20.12.2012, Annemari Soranto Tietotekniikan laitos annemari.k.soranto@jyu.fi 1 Agenda Vertaisverkon määritelmä Haku vertaisverkossa

Lisätiedot

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

Organisaatio- a ja yhteiskuntaosaaminen. - ja vuorovaikutusosaaminen istoiminnan osaaminen toimintaosaaminen. Kansainvälisyysosaaminenn TIETOTEKNIIKAN KOULUTUSOHJELMA Lukuvuonna 2009-2010 aloittavat Kompetenssit Yleiset Yhteiset Ohjelmistotekniset Tietoverkkotekniset Itsensä kehittäminen Eettine Viestint Kehittä n ä m Organisaatio- a ja

Lisätiedot

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Esimerkkejä polynomisista ja ei-polynomisista ongelmista Esimerkkejä polynomisista ja ei-polynomisista ongelmista Ennen yleisempiä teoriatarkasteluja katsotaan joitain tyypillisiä esimerkkejä ongelmista ja niiden vaativuudesta kaikki nämä ongelmat ratkeavia

Lisätiedot

Tutkintovaatimukset suoraan DI-vaiheeseen valituille

Tutkintovaatimukset suoraan DI-vaiheeseen valituille 1 / 10 Tutkintovaatimukset suoraan DI-vaiheeseen valituille Tutkintovaatimukset määräytyvät suoraan DI-vaiheeseen valituilla opiskelijoilla pääsääntöisesti samoin kuin muillakin DI-tutkintoa suorittavilla

Lisätiedot

Tiina Partanen. Koodaamassa Matikantunnilla

Tiina Partanen. Koodaamassa Matikantunnilla Koodaamassa Matikantunnilla Racket-iskuryhmä? Ryhmä Tamperelaisia ja Ylöjärveläisiä opettajia, jotka testaavat ja kehittävät Racket-ohjelmointimateriaalia yläkoulun matematiikan (tietotekniikan ja fysiikan)

Lisätiedot

Työkalut ohjelmistokehityksen tukena

Työkalut ohjelmistokehityksen tukena 1 Työkalut ohjelmistokehityksen tukena Johdanto 2 Työkaluja eli ohjelmistotyötä tukevia ohjelmistoja käytetään ohjelmistoalan yrityksissä nykypäivänä paljon. Työkalut auttavat ohjelmistoalan ihmisiä suunnittelemaan

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

Onnistunut Vaatimuspohjainen Testaus

Onnistunut Vaatimuspohjainen Testaus Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen

Lisätiedot

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

Älykästä. kulunvalvontaa. toimii asiakkaan omassa tietoverkossa Älykästä kulunvalvontaa e Acces toimii asiakkaan omassa tietoverkossa Perinteisen kulunvalvonnan seitsemän pullonkaulaa eli miksi useat yritykset eivät ole hankkineet kulunvalvontajärjestelmää? 1. Koska

Lisätiedot

4.5. MATEMAATTISTEN AINEIDEN OPETTAJANKOULUTUS. 4.5.1. Tutkinnon rakenne. Matemaattisten aineiden koulutusohjelma

4.5. MATEMAATTISTEN AINEIDEN OPETTAJANKOULUTUS. 4.5.1. Tutkinnon rakenne. Matemaattisten aineiden koulutusohjelma Matemaattisten aineiden 82 4.5. MATEMAATTISTEN AINEIDEN OPETTAJANKOULUTUS Koulutuksesta vastaa professori Seppo Pohjolainen, Matematiikan laitos, huone Sg207, puhelin 365 2424 email: seppo.pohjolainen@tut.fi.

Lisätiedot

Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan Computing Curricula 2001 -raportin vertailu kolmeen suomalaiseen koulutusohjelmaan CC1991:n ja CC2001:n vertailu Tutkintovaatimukset (degree requirements) Kahden ensimmäisen vuoden opinnot Ohjelmistotekniikan

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 6: suunnittelua Samuel Lahtinen TIE-20200 Samuel Lahtinen 1 Ajankohtaista Harjoitustyö Protosessioita tällä viikolla Ohjelmassa tänään Ohjelmistojen suunnittelujuttuja

Lisätiedot

Testaaminen ohjelmiston kehitysprosessin aikana

Testaaminen ohjelmiston kehitysprosessin aikana Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/

Lisätiedot

Testi generaattori. Testien ajotyökalu. Kuva 1. Offline mallipohjainen testaus

Testi generaattori. Testien ajotyökalu. Kuva 1. Offline mallipohjainen testaus 8.11.2010 1 (5) Mallipohjainen testaus ennen, nyt ja tulevaisuudessa Työtuntien kalleus, tietokoneiden tehojen nousu ja järjestelmien monimutkaistuminen houkuttelee käyttämään tietokonetta myös testauksen

Lisätiedot

Opintosuunnitelma. Suunta: Tietoliikenneohjelmistot ja -sovellukset Pääaine: Tietoliikenneohjelmistot Sivuaine: Yritysturvallisuus

Opintosuunnitelma. Suunta: Tietoliikenneohjelmistot ja -sovellukset Pääaine: Tietoliikenneohjelmistot Sivuaine: Yritysturvallisuus Opintosuunnitelma Janne Paalijärvi Koulutusohjelma ja vuosikurssi: T II Opiskelijanumero: 57375S Sähköpostiosoite: jpaalija cc hut fi Opinto-opas: 2003-2004 Kirjastonkäyttöharjoitus suoritettu: 27.09.2004

Lisätiedot

EKSOTE Sähköisen asioinnin seminaari 14.10.2014

EKSOTE Sähköisen asioinnin seminaari 14.10.2014 EKSOTE Sähköisen asioinnin seminaari 14.10.2014 Sähköisen asioinnin mahdollisuudet tulevaisuudessa Sami Säisä Mitä on sähköinen asiointi? Sähköinen Internetissä toimivaa palvelua? Itsepalveluna toteutettavaa

Lisätiedot

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto FUNKTIONAALIANALYYSIN PERUSKURSSI 1. Johdanto Funktionaalianalyysissa tutkitaan muun muassa ääretönulotteisten vektoriavaruuksien, ja erityisesti täydellisten normiavaruuksien eli Banach avaruuksien ominaisuuksia.

Lisätiedot

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Frégier n lause Simo K. Kivelä Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä: Suorakulmaisen kolmion kaikki kärjet sijaitsevat paraabelilla y = x 2 ; suoran kulman

Lisätiedot

Projektisuunnitelma Viulu

Projektisuunnitelma Viulu Projektisuunnitelma Viulu Kuusela Johannes Sjöblom Teemu Suominen Osma Ohjelmistotuotantoprojekti Helsinki 23.9.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Versiohistoria Päivämäärä Versio

Lisätiedot

Trakla2-opetusympäristö

Trakla2-opetusympäristö Trakla2-opetusympäristö TRAKLA: TietoRakenteet ja Algoritmit; KotiLaskujen Arvostelu TEKNILLINEN KORKEAKOULU Informaatio- ja luonnontieteiden tiedekunta Tietotekniikan laitos Esityksen rakenne Katsaus

Lisätiedot

Tietoyhteiskunnan perustaidot. Kesäkuu 2014

Tietoyhteiskunnan perustaidot. Kesäkuu 2014 Tietoyhteiskunnan perustaidot Kesäkuu 2014 Kurssin järjestäjästä Ohjelmistotuotannon ja Tiedonhallinnan Laitos Tuotantotalouden Tiedekunta Lappeenrannan Teknillinen Yliopisto Tietotekniikan koulutusohjelmasta

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

Lisätiedot

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Käytettävyyslaatumallin rakentaminen verkkosivustolle Käytettävyyslaatumallin rakentaminen verkkosivustolle Tapaus kirjoittajan ABC-kortti Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -tutkielma Timo Laapotti 9.6.2005 Esityksen sisältö Kirjoittajan

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

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

Risto Pelin Microsoft Project 2002 projekti- ja yritystason järjestelmänä

Risto Pelin Microsoft Project 2002 projekti- ja yritystason järjestelmänä Risto Pelin Microsoft Project 2002 projekti- ja yritystason järjestelmänä PROJEKTIJOHTAMINEN OY RISTO PELIN 3 Sisällysluettelo ESIPUHE 7 OSA I PROJEKTIN HALLINTA PROJEKTITASOLLA 1 JOHDANTO 11 1.1 Projektiohjelmien

Lisätiedot

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1 Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1 Jani Heikkinen Jukka Larja Kim Nylund Liia Sarjakoski 30. marraskuuta 2004 1 Sisältö 1 Sisään- ja uloskirjautuminen 3 1.1 Testitapaus F1-TC1................................

Lisätiedot

Optimoinnin sovellukset

Optimoinnin sovellukset Optimoinnin sovellukset Timo Ranta Tutkijatohtori TTY Porin laitos OPTIMI 4.12.2014 Mitä optimointi on? Parhaan ratkaisun systemaattinen etsintä kaikkien mahdollisten ratkaisujen joukosta Tieteellinen

Lisätiedot

Laskennan vaativuus ja NP-täydelliset ongelmat

Laskennan vaativuus ja NP-täydelliset ongelmat Laskennan vaativuus ja NP-täydelliset ongelmat TRAK-vierailuluento 13.4.2010 Petteri Kaski Tietojenkäsittelytieteen laitos Tietojenkäsittelytiede Tietojenkäsittelytiede tutkii 1. mitä tehtäviä voidaan

Lisätiedot

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT KOULUTUKSEN KOHDERYHMÄ SISÄLTÖ Koulutuksen tavoitteena on antaa opiskelijalle valmiudet uusien tietoteknisten menetelmien ja välineiden hyödyntämiseen.

Lisätiedot

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

Agenda. Johdanto Ominaispiirteitä Kokonaisjärjestelmän määrittely Eri alojen edustajien roolit Sulautetut järjestelmät ja sulautettu ohjelmointi 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

Lisätiedot

Matematiikan täsmäopetuksella

Matematiikan täsmäopetuksella Matematiikan täsmäopetuksella parempia insinöörejä Tommi Sottinen 1 Antti Rasila 2 1 Vaasan yliopisto 2 Aalto-yliopisto ITK 25 vuotta -juhlakonferenssi, Hämeenlinna, 15-17 huhtikuuta 2015 1 / 13 Sisältö

Lisätiedot

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II 7. Verifiointi ja validointi Verifiointi ja validointi (V&V) on ohjelmistotuotannon työvaihe, missä varmistetaan, että ohjelmisto täyttää sille asetetut implisiittiset ja eksplisiittiset vaatimukset ja

Lisätiedot

Kryptografiset vahvuusvaatimukset luottamuksellisuuden suojaamiseen - kansalliset suojaustasot

Kryptografiset vahvuusvaatimukset luottamuksellisuuden suojaamiseen - kansalliset suojaustasot Ohje 1 (5) Dnro: 11.11.2015 190/651/2015 Kryptografiset vahvuusvaatimukset luottamuksellisuuden suojaamiseen - kansalliset suojaustasot 1 Johdanto Tässä dokumentissa kuvataan ne kryptografiset vähimmäisvaatimukset,

Lisätiedot

14/20: Keittokirja I

14/20: Keittokirja I Ohjelmointi 1 / syksy 2007 14/20: Keittokirja I Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/13 Tämän luennon

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

Vuorekseen liittyvä tutkimusja kehitysprojekti. Langaton Vuores. Kotikatupalvelin

Vuorekseen liittyvä tutkimusja kehitysprojekti. Langaton Vuores. Kotikatupalvelin Vuorekseen liittyvä tutkimusja kehitysprojekti Langaton Vuores Kotikatupalvelin Tutkimuksen tausta Langaton tietoliikenne on arkipäivää Personoidut päätelaitteet (taskutietokone, matkapuhelin, kannettava

Lisätiedot

Numeeriset menetelmät

Numeeriset menetelmät Numeeriset menetelmät Luento 1 Ti 6.9.2011 Timo Männikkö Numeeriset menetelmät Syksy 2011 Luento 1 Ti 6.9.2011 p. 1/28 p. 1/28 Numeriikan termejä Simulointi: Reaalimaailman ilmiöiden jäljitteleminen (yleensä)

Lisätiedot

Automaatit. Muodolliset kielet

Automaatit. Muodolliset kielet Automaatit Automaatit ovat teoreettisia koneita, jotka käsittelevät muodollisia sanoja. Automaatti lukee muodollisen sanan kirjain kerrallaan, vasemmalta oikealle, ja joko hyväksyy tai hylkää sanan. Täten

Lisätiedot

1 Kurssin asema opetuksessa

1 Kurssin asema opetuksessa 1 Kurssin asema opetuksessa Tietojenkäsittelytieteen pääaineopiskelijoille pakollinen aineopintokurssi (3 op). Esitietovaatimukset: Johdatus tietojenkäsittelytieteeseen (JTT): Laskennan, algoritmin ja

Lisätiedot

Tietotekniikka koulutus- ja tieteenalana. Tommi Kärkkäinen

Tietotekniikka koulutus- ja tieteenalana. Tommi Kärkkäinen Tietotekniikka koulutus- ja tieteenalana Tommi Kärkkäinen Tietojenkäsittely (Computing, IT) yleisesti* Tietojenkäsittely-käsite: tavoitteellinen aktiviteetti joka vaatii, hyödyntää tai rakentaa tietokonetta

Lisätiedot

Kokemuksia ja näkemyksiä teollisuusmatematiikan koulutuksen kehittämisestä

Kokemuksia ja näkemyksiä teollisuusmatematiikan koulutuksen kehittämisestä Kokemuksia ja näkemyksiä teollisuusmatematiikan koulutuksen kehittämisestä Erkki Heikkola, Pasi Tarvainen Numerola Oy, Jyväskylä Teollisuusmatematiikan päivä 15.10.2009, Helsingin yliopisto Numerola Oy

Lisätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright by Haikala. Ohjelmistotuotannon osa-alueet Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

Tapahtuipa Testaajalle...

Tapahtuipa Testaajalle... Tapahtuipa Testaajalle... - eli testaus tosielämässä 09.10.2007 Juhani Snellman Qentinel Oy 2007 Agenda Minä ja mistä tulen Testauksen konteksti Tapauksia tosielämästä ja työkaluja 2 Minä Juhani Snellman

Lisätiedot

Paavo Kyyrönen & Janne Raassina

Paavo Kyyrönen & Janne Raassina Paavo Kyyrönen & Janne Raassina 1. Johdanto 2. Historia 3. David Deutsch 4. Kvanttilaskenta ja superpositio 5. Ongelmat 6. Tutkimus 7. Esimerkkejä käyttökohteista 8. Mistä näitä saa? 9. Potentiaali 10.

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

Pitkäaikaissäilytyksen toiminta ja ylläpito

Pitkäaikaissäilytyksen toiminta ja ylläpito Pitkäaikaissäilytyksen toiminta ja ylläpito Museoiden KDK-ajankohtaispäivä 29.4.2010 Kimmo Koivunen CSC Tieteen tietotekniikan keskus Oy CSC IT Center for Science Ltd. Sisältö PAS kokonaisarkkitehtuurissa

Lisätiedot

Itä-Suomen yliopisto Tietojenkäsittelytiede

Itä-Suomen yliopisto Tietojenkäsittelytiede Oppiaine-esittely 15.11.2013 Simo Juvaste Itä-Suomen yliopisto Tietojenkäsittelytiede Tietojenkäsittelytiede? Tietotekniikka Informaatioteknologia Informaatiotekniikka Tietojenkäsittely ICT jne Painotukset

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

8003051 Puheenkäsittelyn menetelmät

8003051 Puheenkäsittelyn menetelmät 8003051 Puheenkäsittelyn menetelmät Luento 7.10.2004 Puhesynteesi Sisältö 1. Sovelluskohteita 2. Puheen ja puhesyntetisaattorin laatu 3. Puhesynteesin toteuttaminen TTS-syntetisaattorin komponentit Kolme

Lisätiedot

Miten tehdää. ään n virheettömi. miä ohjelmia. Ralph-Johan Back Joakim von Wright Åbo Akademi TUCS Formaalit menetelmät t ohjelmoinnissa ryhmä

Miten tehdää. ään n virheettömi. miä ohjelmia. Ralph-Johan Back Joakim von Wright Åbo Akademi TUCS Formaalit menetelmät t ohjelmoinnissa ryhmä Miten tehdää ään n virheettömi miä ohjelmia Ralph-Johan Back Joakim von Wright Åbo Akademi TUCS Formaalit menetelmät t ohjelmoinnissa ryhmä Esitelmät Ohjelmoinnin matematiikka Ralph Back Matematiikan ohjelmointi

Lisätiedot

Energiatehokkuutta parantavien materiaalien tutkimus. Antti Karttunen Nuorten Akatemiaklubi 2010 01 18

Energiatehokkuutta parantavien materiaalien tutkimus. Antti Karttunen Nuorten Akatemiaklubi 2010 01 18 Energiatehokkuutta parantavien materiaalien tutkimus Antti Karttunen Nuorten Akatemiaklubi 2010 01 18 Sisältö Tutkimusmenetelmät: Laskennallinen materiaalitutkimus teoreettisen kemian menetelmillä Esimerkki

Lisätiedot

17/20: Keittokirja IV

17/20: Keittokirja IV Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita

Lisätiedot

STEP 1 Tilaa ajattelulle

STEP 1 Tilaa ajattelulle Työkalu, jonka avulla opettaja voi suunnitella ja toteuttaa systemaattista ajattelutaitojen opettamista STEP 1 Tilaa ajattelulle Susan Granlund Euran Kirkonkylän koulu ja Kirsi Urmson Rauman normaalikoulu

Lisätiedot

Matematiikan ohjelmointi. Joakim von Wright

Matematiikan ohjelmointi. Joakim von Wright Matematiikan ohjelmointi Joakim von Wright Formaali menetelmä käytännössä miten todistetaan ohjelman oikeellisuus? miltä todistus näyttn yttää? isot ohjelmat? miljoona riviä koodia nykyajan ohjelmat? rinnakkaisuus,

Lisätiedot

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin

Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin TEKNILLINEN KORKEAKOULU / VAASAN YLIOPISTO Diplomityöesitelmä Web sovelluksen kehittäminen sähkönjakeluverkon suojareleisiin Timo Ahola 2006 Web sovellus Web palvelut joiden avulla laite voidaan liittää

Lisätiedot

Matematiikan mestariluokka, syksy 2009 7

Matematiikan mestariluokka, syksy 2009 7 Matematiikan mestariluokka, syksy 2009 7 2 Alkuluvuista 2.1 Alkuluvut Määritelmä 2.1 Positiivinen luku a 2 on alkuluku, jos sen ainoat positiiviset tekijät ovat 1 ja a. Jos a 2 ei ole alkuluku, se on yhdistetty

Lisätiedot

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016 CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016 VIIME KERRALLA MENETELMIÄ Musta laatikko Valkea laatikko Harmaa laatikko Regressio Automaatio Rasitus (kuormitus)

Lisätiedot

Älykkään vesihuollon järjestelmät

Älykkään vesihuollon järjestelmät Älykkään vesihuollon järjestelmät Älykkään vesihuollon järjestelmät fcgsmart.fi Älykäs vesihuolto 6. Organisaatio, johtaminen ja asiakaspalvelu 5. Tiedon yhdistäminen ja analysointi 4. Tiedon hallinta

Lisätiedot

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta

Lisätiedot

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg Symbio lyhyesti Innovatiivinen tuotekehitys- ja testauskumppani Juuret Suomessa, perustettu 1997 Laadukkaat ohjelmistotoimitukset

Lisätiedot

KYSELYTUTKIMUS: Yritysten verkkopalvelut sekä hankaluudet niiden hankinnassa ja määrittelyssä

KYSELYTUTKIMUS: Yritysten verkkopalvelut sekä hankaluudet niiden hankinnassa ja määrittelyssä KYSELYTUTKIMUS: Yritysten verkkopalvelut sekä hankaluudet niiden hankinnassa ja määrittelyssä TUTKIMUKSEN TOTEUTUS Aihe: Yritysten verkkopalvelut ja hankaluudet niiden hankinnassa ja määrittelyssä Ajankohta:

Lisätiedot

Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs

Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs Ongelma(t): Voiko älykkyyden määritellä ja voiko sitä mitata, myös objektiivisesti? Onko älykkyyttä ilman (näkyvää) toimintaa? Voiko kone olla älykäs ja jos voi, niin tulisiko sellainen rakentaa? 2012-2013

Lisätiedot

582206 Laskennan mallit

582206 Laskennan mallit 582206 Laskennan mallit luennot syksylla 2006, periodit I{II Jyrki Kivinen tietojenkasittelytieteen aineopintokurssi, 6 op, paaaineopiskelijoille pakollinen esitietoina Tietorakenteet (ja sen esitiedot)

Lisätiedot

Miksi matematiikkaa tietojenkäsittelytieteessä?

Miksi matematiikkaa tietojenkäsittelytieteessä? Miksi matematiikkaa tietojenkäsittelytieteessä? Wilhelmiina Hämäläinen Joensuun yliopisto Tietojenkäsittelytieteen laitos whamalai@cs.joensuu.fi Uudessa ACM:n curriculumissa matematiikan ja teoreettisten

Lisätiedot

Keltaisten sivujen palveluiden kuvaaminen ontologioiden avulla

Keltaisten sivujen palveluiden kuvaaminen ontologioiden avulla Keltaisten sivujen palveluiden kuvaaminen ontologioiden avulla - IWebS-projektin (2003-2005) kokemuksia FinnONTO-symposio, 16112005 Petri Lindgren (petrilindgren@helsinkifi) Kim Viljanen (kimviljanen@tkkfi)

Lisätiedot

Hans Aalto/Neste Jacobs Oy

Hans Aalto/Neste Jacobs Oy 1 2 Automaation kehitystrendit - haasteita tietoturvallisuudelle Hans Aalto, Neste Jacobs Oy Osastonjohtaja/Automaatiosuunnittelu Suomen Automaatioseura, hallituksen puheenjohtaja 1.1.2005 alk. Neste Jacobs

Lisätiedot

Kandidaatintyön aiheita

Kandidaatintyön aiheita Kandidaatintyön aiheita PM&RG:n aihe-ehdotukset Mervi L. Ranta ja Henrik J. Asplund Mervi L. Ranta & Henrik J. Asplund PL 15400, 00076 AALTO email: pmrg@tkk.fi FINLAND http://www.cs.hut.fi/~pmrg Version

Lisätiedot

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi 9. Luento: Ohjelmistotyö Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Ristikäännös Testaus ja virheen jäljitys Yleensä Kehitysympäristössä Käyttöympäristössä Laitteiston testaus Iteratiivisesta

Lisätiedot

Äärettömät sanat. Aleksi Saarela. Matematiikan ja tilastotieteen laitos ja FUNDIM-keskus, Turun yliopisto. A. Saarela (TY) Äärettömät sanat 1 / 28

Äärettömät sanat. Aleksi Saarela. Matematiikan ja tilastotieteen laitos ja FUNDIM-keskus, Turun yliopisto. A. Saarela (TY) Äärettömät sanat 1 / 28 Äärettömät sanat Aleksi Saarela Matematiikan ja tilastotieteen laitos ja FUNDIM-keskus, Turun yliopisto A. Saarela (TY) Äärettömät sanat 1 / 28 1 Sanojen kombinatoriikan taustaa 2 Esimerkkejä äärettömistä

Lisätiedot

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

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt S11-04 Kompaktikamerat stereokamerajärjestelmässä Projektisuunnitelma Ari-Matti Reinsalo Anssi Niemi 28.1.2011 Projektityön tavoite Projektityössä

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Palvelun toteuttaminen hajautetussa palvelualustassa

Palvelun toteuttaminen hajautetussa palvelualustassa toteuttaminen hajautetussa palvelualustassa Diplomityöseminaariesitys 20.8.2002 Mika Laurell Aihe Aihe: toteuttaminen hajautetussa palvelualustassa Valvoja: prof. Seppo J. Halme, Teknillinen korkeakoulu

Lisätiedot

Tomi Huttunen Kuava Oy Kuopio 17.11.2011

Tomi Huttunen Kuava Oy Kuopio 17.11.2011 Mallinnuksella apua melunhallintaan Tomi Huttunen Kuava Oy Kuopio 17.11.2011 Sisältö Kuava Oy Mallintaminen ja simulointi Akustiikan ja melun simulointi Esimerkkejä: Meluemissio Virtausmelu Uusia simulointityökaluja

Lisätiedot

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010 Lakki Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy vierailuluentosarja OTM kurssi 2010 2.luento: ohjelmistokehityksen päivärutiinit Lisää ot sik k o osoit t am alla Siitä vain reunasta Miten

Lisätiedot

Mitä mahdollisuuksia pelillisyys avaa vakavahenkisessä toiminnassa?

Mitä mahdollisuuksia pelillisyys avaa vakavahenkisessä toiminnassa? Mitä mahdollisuuksia pelillisyys avaa vakavahenkisessä toiminnassa? Antti Villberg Semantum Oy 22.5.2014 MOSAIC Pelityöpaja Ongelmanasettelu koulutus ja kehittäminen työelämässä Työympäristöt muuttuvat

Lisätiedot

Avoin paikkatieto tutkimuksessa ja opetuksessa

Avoin paikkatieto tutkimuksessa ja opetuksessa ProGIS ry kevätseminaari 19.4.2012 Avoin paikkatieto tutkimuksessa ja opetuksessa Geotieteiden ja maantieteen laitos, Helsingin ylopisto tuuli.toivonen@helsinki.fi Suomessa lukioita ~ 450 Geoinformatiikkaa

Lisätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testausmenetelmiä Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa

Lisätiedot

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

Laaja-alainen, opiskelijalähtöinen ja projektiperusteinen opetussuunnitelma, case Monitori Laaja-alainen, opiskelijalähtöinen ja projektiperusteinen opetussuunnitelma, case Monitori Insinöörikoulutuksen Foorumi 2012 Seminaariesitelmä Timo Turunen ja Matti Welin Monitori koulutusalarajat ylittävä

Lisätiedot

Kysymykset ja vastaukset:

Kysymykset ja vastaukset: Kysymykset ja vastaukset: Kysymys 1 Voidaanko JYSE2009 Palvelut sopimusehtoja täydentää JIT2007 sopimusehdoin (Yleiset sopimusehdot, JIT2007 sovellukset, JIT2007 Palvelut)? Vastaus 1 Hankinnassa noudatetaan

Lisätiedot

pilvipalvelu tarkoittaa?

pilvipalvelu tarkoittaa? Virtuaalipilvet tietotekniikassa: mitä pilvipalvelu tarkoittaa? Keijo Heljanko Tietotekniikan laitos Perustieteiden korkeakoulu Aalto-yliopisto keijo.heljanko@aalto.fi 18.1-2014 1/14 Pilvipalvelut Kun

Lisätiedot

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science

Tietojenkäsittelytieteiden koulutusohjelma. Tietojenkäsittelytieteiden laitos Department of Information Processing Science Tietojenkäsittelytieteiden koulutusohjelma Tietojenkäsittelytieteet Laskennallinen data-analyysi Ohjelmistotekniikka, käyttöjärjestelmät, ihminen-kone -vuorovaikutus Teoreettinen tietojenkäsittelytiede

Lisätiedot

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit

Osittavat arkkitehtuurityylit. Palveluihin perustuvat arkkitehtuurityylit. Erikoisarkkitehtuurityylit 6. Arkkitehtuurityylit Osittavat arkkitehtuurityylit Kerrosarkkitehtuurit Tietovuoarkkitehtuurit Palveluihin perustuvat arkkitehtuurityylit Asiakas-palvelin arkkitehtuurit Viestinvälitysarkkitehtuurit

Lisätiedot

TTY Porin laitoksen optimointipalvelut yrityksille

TTY Porin laitoksen optimointipalvelut yrityksille TTY Porin laitoksen optimointipalvelut yrityksille Timo Ranta, TkT Frank Cameron, TkT timo.ranta@tut.fi frank.cameron@tut.fi Automaation aamukahvit 28.8.2013 Optimointi Tarkoittaa parhaan ratkaisun valintaa

Lisätiedot