Ohjelmistoarkkitehtuurit Koneenohjausmaailmaa. Kevät 2016

Koko: px
Aloita esitys sivulta:

Download "Ohjelmistoarkkitehtuurit Koneenohjausmaailmaa. Kevät 2016"

Transkriptio

1 Ohjelmistoarkkitehtuurit Koneenohjausmaailmaa Kevät 2016 Samuel Lahtinen (Veli-Pekka Eloranta) Ohjelmistoarkkitehtuurit

2 Tarjolla tänään Vierailuluentoinfoa: Timo Lehtonen, Solita Koneenohjausjärjestelmien introa Erityispiirteitä Yleisiä vaatimuksia Jotain patterneita Ohjelmistoarkkitehtuurit

3 Suunnittelumallien esitystavat Canonical Form ja Gof (Design patterns: Elements of reusable object-oriented software, Gamma et. Al.) Name Alias (optional) Context Problem Forces Solution Example (optional) Resulting Context Rationale (optional) Known Uses Related Patterns Name Also Known As Applicability Intent Motivation Participants, structure, collaborations, implementation Sample code Consequences Known Uses Related Patterns

4 Konepajahenkistä teollisuutta Tampereen seudulla: Metso Fastems John Deere Kone Cranes Agco Power Sandvik Kalmar Cargotec Avant Microteam Muita esimerkkejä: Kone (Hyvinkää) Epec (Seinäjoki) Artic Machine (Iisvesi) ABB (Helsinki, Vaasa) Vision Systems Turussa, lisää mielenkiintoista,mm. telakkateollisuus jne.

5 Esimerkki sovellusalueista

6 Ohjelmistot, miksi työkoneissa?

7 Ohjelmistot, miksi työkoneissa? ltuottavuus paranee Toimintojen automatisointi Koneen käyttäjän opastaminen Tehokkuus Helpompi päivitettävyys lhuoltotarvetta voidaan ennakoida lintegrointi tuotannonohjausjärjestelmiin ja laivueenhallintaan (fleet management) lkommunikointi muiden työkoneiden kanssa

8 Tyypillisiä erityispiirteitä: pitkä elinkaari vs

9 Elinkaareen liittyen luotettavuus softa rauta aika

10 Erityispiirteet - skaalautuvuus

11 Erityispiirteet - hajautus

12 Erityispiirteet - tuoteperheet Danfoss taajuusmuuntajia/pehmokäynnistimiä tms.

13 Erityispiirteet - reaaliaikaisuus

14 Erityispiirteet - turvallisuus

15 Yksittäinen kontrolleri, ohjelmassa yleensä suoraviivainen kontrollisilmukka while(true) { readsensors(sensordata[]); controldata[] = calculatecontrols(sensordata[]); controlactuators(controldata[]); }

16 Koneenohjauspatternkieli Designing Distributed Control Systems A Pattern Language Approach

17 Suunnittelun aloitus ljo käytössä suunnittelumallikieli, valitaan kielen juuresta sopiva pattern ja soveltaa sitä ltai halutaan ratkaista yleinen ongelma: mikä on järkevät tapa luoda sulautettu järjestelmä suuremmalla laitteelle/koneelle? Miten rakentaa suurempi koneenohjausjärjestelmä järkevästi? lanti-pattern-versio: Keskitetään kaikki toiminnallisuuden ohjaus yhteen isoon mötikkään, joka vastaa jokaisen laitteen ja vekottimen kontrolloimisesta

18 Isolate Functionalities, many to many communication (kaivosporauslaite) Puomin ohjaus Moottorin ohjaus Vaihteiston ohjaus Väylä, esim. CAN Poran ohjaus Rungon ohjaus Human machine interface (HMI)

19 Mitä saatiin? Päivitettävyys, erilaisten ohjainten vaihtaminen mahdollista ilman muutoksia muualle Vikasietoisuus, yksittäisen kontrollerin kippaaminen ei tuhoa koko järjestelmän toimintaa

20 Havaitaan ongelma/ saadaan vaatimuksia Entä jos väylä halutaan vaihtaa? Jokaisen solmun sovellus on riippuvainen valitusta väyläteknologiasta Syitä muutokseen Tuki loppuu pitkän elinkaaren aikana Valmistaja menee konkurssiin Suunnittelun aikana havaitaan, ettei valitun teknologian kapasiteetti riitä Halutaan varautua tulevaan (esim. Väyläkapasiteetin kasvutarve) Ongelma/kysymys: Kuinka vaihtaa valittu väyläteknologia tai protokolla ilman että (laitteiden, jne) sovelluskoodia ei tarvitse muuttaa?

21 Bus Abstraction Puomin ohjaus Send( node3, data, repeat=no) Poran ohjaus Callback( node1, data) Bus abstraction Väylä, esim. CAN lähetä väyläspesifisessä muodossa Bus abstraction vastaanota väylän käyttämässä muodossa

22 Erilaiset protokollat ja niiden yhteensovittaminen Montako erilaista sovitinta tarvitaan, jos käytössä viisi erilaista kommunikaatioprotokollaa?

23 Paljon eri protokollia, kanonisointi Ongelma: paljon eri protokollia, viestintätyyppejä ja tekniikoita, kutsuja protokollasta toiseen, esim. 5 eri protokollaa, tekniikkaa sovitin joka väliin ja kahteen suuntaan N*N palikkaa Kanonisointi, joko 2*N tai 2*(N-1), jos valitaan joku valmiista formaateista

24 Entäpä jos väylä katkeaa tai solmu (node) hajoaa? ltilanne pitäisi havaita jotenkin, jotta asialle voidaan tehdä jotain l How to make sure that a node or a bus will not fail undetected? lkuinka varmistua siitä, ettei väylän tai solmun hajoaminen jää huomaamatta?

25 Heartbeat Supervisor Node I am alive Tietty ennaltasovittu aikaväli I am alive

26 Pull vs. Push Designing Distributed Control Systems: A Pattern Language Approach, Heartbeat

27 Toinen ratkaisu: Watchdog Node A Watchdog Node B Corrupted data timeout

28 Tai Watchdog perinteisemmin Node Reset watchdog Tietyin aikavälein Watchdog If( watchdog not reseted){ Reset node }

29 Lisää turvallisuusjuttuja Ongelma: yksittäinen vika voi aiheuttaa vakavia seurauksia (esim. liikkuvat koneet, toinen ääripää tietoturva) Laitteilla ja ohjelmistoilla vikaantumistodennäköisyys, joka > 0 Riskit liittyvät potentiaalisen vaaratilanteen vakavuuteen ja todennäköisyyteen Hajautettu toimintaympäristö voi lisätä riskejä, viestit voivat hapantua tai hukkua, väärin toimiva laite voi tehdä yksittäisellä virhetulkinnalla kohtalokkaita Ratkaisua: jaetaan potentiaalisesti vaarallinen toiminto usealle eri osalle, jotka kaikki tekevät oman osansa toiminnasta. Jos kaikkien osien toiminta onnistuu ja kaikki on ok, suoritetaan operaatio (jos ei, esim. vikatila)

30 joystick Cabin control Boom control Power pack control Move left Moveleft Start motor Pressure ok Move boom to left Turvaominaisuuksia: jos molemmilla operaatio menee läpi (puomi ja Hydrauliikkavoiman ohjaus), puomi liikkuu, lisävarmistus tilan perusteella Hyttiosassa (lisäksi puomin toiminnassa tarkastukset jne.) Jos power pack huomaa, että nostettua hydraulipainetta ei käytetä, Virhetilanne.

31 Turvallisuutta, esimerkki Ongelma: yksittäinen vika voi aiheuttaa vakavia seurauksia (esim. liikkuvat koneet, toinen ääripää tietoturva) Laitteilla ja ohjelmistoilla vikaantumistodennäköisyys, joka > 0 Riskit liittyvät potentiaalisen vaaratilanteen vakavuuteen ja todennäköisyyteen Hajautettu toimintaympäristö voi lisätä riskejä, viestit voivat hapantua tai hukkua, väärin toimiva laite voi tehdä yksittäisellä virhetulkinnalla kohtalokkaita Ratkaisua: jaetaan potentiaalisesti vaarallinen toiminto usealle eri osalle, jotka kaikki tekevät oman osansa toiminnasta. Jos kaikkien osien toiminta onnistuu ja kaikki on ok, suoritetaan operaatio (jos ei, esim. vikatila)

32 Arkkitehtuuri tähän mennessä Watchdog Puomin ohjaus Moottorin ohjaus HB Vaihteiston ohjaus HB Bus abstraction Bus abstraction Bus abstraction Väylä, esim. CAN Bus abstraction Poran ohjaus Bus abstraction Rungon ohjaus HB Bus abstraction HMI

33 Turvallisuutta, jatkoa Ongelma: laitteet jne. vikaantuvat, mitä tehdä jos yhteydet katkeavat tai viestisisältö epäselvää? Ratkaisua: Failstate, ongelmatilanteissa ja epäselvissä tilanteissa laite ajetaan turvalliseen tilaan Ongelma: vikatilanne estää laitteen käytön, mutta vekotin on saakelin iso ja huolto pöpelikössä, kaivoksessa jne. on kypsähköä Ratkaisua: limp home mode Rajoitetaan ominaisuuksia, rajoitetaan käyttömahdollisuuksia, mutta sallitaan vekottimen käyttö niin, että se saadaan siirrettyä turvallisesti, tehtyä joku osakokonaisuus loppuun (esim. autoista tuttua) Laitteet voivat vikaantua, havainnointi ulkopuolelta vaikeaa Ratkaisu: self test

34 Entäpä jos viestejä tulee väylältä enemmän kuin ehditään käsitellä? Kaikki viestit tulisi käsitellä, yhtäkään viestiä ei saisi jättää huomiotta. Lähetettävien (tai vastaanotettavien) viestien määrää ei voida ennakoida kehitysaikana Viestit tulisi käsitellä siinä järjestyksessä kuin ne vastaanotetaan. Kaikki viestit tulisi käsitellä mahdollisimman nopeasti.

35 Ratkaisu: Message Queue Node 1 Node 2 Send queue Send queue Receive queue Receive queue

36 Halutaan tarjota korkean tason palveluja Korkean tason palvelut eivät ole reaaliaikaisia. Korkean tason palvelut eivät saa häiritä reaaliaikatoimintoja, koska se voisi johtaa järjestelmän virheelliseen toimintaan. Testattavuus: Reaaliaikatoimintojen testaaminen erillään korkean tason palveluista pitäisi olla mahdollista. Korkean tason ohjelmistojen kehittäminen on helpompaa kun ei tarvitse välittää reaaliaikavaatimuksista. Reaaliaikatoimintojen tulee toimia tietyissä rajoissa, esim. Jarrujen ja muiden ohjausten vasteaika tulee olla riittävä.

37 Ratkaisu: Separate Real-time Communicates only over bus

38 Watchdog HB HB Puomin Moottorin Vaihteiston ohjaus ohjaus ohjaus Bus SQ RQ Bus SQ RQ Bus SQ RQ Abstraction Abstraction Abstraction Bus Bus Bus Abstraction SQ RQ Abstraction SQ RQ Abstraction SQ RQ Väylä, esim. CAN Bus SQ RQ Bus SQ RQ Bus SQ RQ Bus Abstraction Abstraction Abstraction Abstraction Bus Bus Bus abstraction SQ RQ abstraction SQ RQ abstraction SQ RQ SQ RQ Poran Runkon Rungon ohjaus ohjaus HMI HB PC

39 Lisää vaatimuksia/ongelmia Laitteisto saattaa vaihtua, ei haluta vaihtaa joka kerta ohjelmistoa Abstrahoidaan laitteisto, Hardware abstraction layer (erillinen rajapinta, jonka takana laitteisto on. Vertaa ajurit ja tietokone) sovellus OS HAL Application interface HAL drivers Rauta

40 Tiedon jakamista ja yhteistoimintaa Paljon yhteistoimintaa, useita osajärjestelmiä, jotka suorittavat yhdessä monimutkaisempia tehtäviä Tiedon jakaminen hajautetussa järjestelmässä: joko kiinnostuneiden pitää seurata asiaan liittyviä tapahtumia ja kerätä tietoja talteen kun niitä tulee Epäsuoria riippuvuuksia, syö resursseja kuuntelijoista, monimutkaistaa Pyyntö, aina kun tiedoille tarvetta, jokaiselle tietolähteelle erikseen esim. useita eri lähteitä, jokaiselle pyyntö & odotus vastauksesta Viive, liikennemäärän lisääntyminen, kuormituksen ennustettavuus Toiminnan kontrollointi ja tiedon jakaminen: Kuten yllä, mutta tarvitaan keskitettyä kontrollia suoritusten ohjaamiseen

41 Variable manager (Matalan tason ratkaisumalleja) järjestelmässä keskitetty paikka, jonka tehtävänä huolehtia tietojen ja arvojen varastoinnista Sisällytetään nodeen, Keskitetysti yhdessä paikassa, tallennusvastuu selkeä, yksinkertaistaa komponenttien toimintaa Mitä potentiaalisia ongelmia? Designing Distributed Control Systems: A Pattern Language Approach, Variable Manager

42 Blackboard liitutaulu Helppo jakaa toimintaa toisistaan riippumattomiin dataa jalostaviin kokonaisuuksiin Osa dataa tuottavista toimijoista voi olla ihmisiä, sensoreita jne. Tiedon jalostajat, isomman ongelman ratkaiseminen yhteistoiminnalla Tekoälymaailmasta tuttu: Koneenohjausmaailma: älykkäät koneet, päätöksenteon hajauttaminen, osajärjestelmät toimivat tiedon perusteella ja jalostavat tietoa tilanteen mukaan Liitutaululle tietoja Control S1 S2 S3 S4 blackboard

43 Linkkejä & muuta lähdemateriaalia Blackboard-esimerkki: CAN-väylää, CANopen: Esimerkkilaite ja dokumentaatio: Lainsäädäntöä ja säädöksiä, jotka vaikuttavat myös ohjelmistoihin: Turvallisten laitteiden suunnittelua rapport_how_to_design_safe_machine_control_systems_-_a_guideline_to_en_iso_ pdf Sulautettuja järjestelmiä Reaaliaikajärjestelmiä (Open access book) Vikasietoisuutta ja patterneja: Robert Hanmer, Patterns for Fault-tolerant Software (Googlen scholarin kautta osin luettavissa)

44 Yhteenvetoa koneenohjausjutuista Koneenohjausmaailman arkkitehtuuriratkaisut, ideologia samaa Melko yksinkertaisia hyväksi havaittuja toimintatapoja Arkkitehtuuriratkaisujen taustalla ongelma/vaatimus Samoja ideoita ja ratkaisuja voi käyttää myös muualla (esim. nettimaailma) TTY-lähtöistä: Designing Distributed Control Systems: A Pattern Language Approach Veli-Pekka Eloranta, Johannes Koskinen, Marko Leppanen, Ville Reijonen, 2014 Wileyn sivut kirjalle

45 Kysyttävää? Ohjelmistoarkkitehtuurit

Tarjolla tänään: Sanastoa Koneenohjausjärjestelmien suunnittelumallit. Pattern Architecture Style. GoF. Design pattern

Tarjolla tänään: Sanastoa Koneenohjausjärjestelmien suunnittelumallit. Pattern Architecture Style. GoF. Design pattern Koneenjärjestelmien suunnittelumallit Ohjelmistoarkkitehtuurit 9.2. 2012 Veli-Pekka Eloranta Tarjolla tänään: Suunnittelumallit Sanastoa Taustaa Kuvaustavat Mallikielet Työkoneet sovellusalueena Miksi

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät 2014

Ohjelmistoarkkitehtuurit Kevät 2014 Ohjelmistoarkkitehtuurit Patternien vastaisku Kevät 2014 Samuel Lahtinen (Veli-Pekka Eloranta) http://www.cs.tut.fi/~ohar/ Ohjelmistoarkkitehtuurit 2014 12.2.2014 1 Tarjolla tänään Yleisesti patterneista/suunnittelumalleista

Lisätiedot

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr 5.10. 2010 Veli-Pekka Eloranta

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr 5.10. 2010 Veli-Pekka Eloranta 7. Koneenohjausjärjestelmien suunnittelumallit OhAr 5.10. 2010 Veli-Pekka Eloranta Sulautettujen järjestelmien mallikieli Sulake-projekti, 2008-2009 Arkkitehtuuriarviointeja (ATAM) teollisuuskumppanien

Lisätiedot

Koneenohjausjärjestelmien arkkitehtuurit. Sulautettu ohjelmointi Veli-Pekka Eloranta

Koneenohjausjärjestelmien arkkitehtuurit. Sulautettu ohjelmointi Veli-Pekka Eloranta Koneenjärjestelmien arkkitehtuurit Sulautettu ohjelmointi 15.3. 2012 Veli-Pekka Eloranta Taustaa Sulake ja Sulava-projektit Yhteistyötä konepajayritysten kanssa Arkkitehtuuriarviointeja, dokumentaatio

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit 2012-2013 22.1.2013 1 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Esimerkki: Rekursiokooste Antisuunnittelumallit Suunnittelumallit

Lisätiedot

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä

Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä 1 Suunnitteluratkaisut ja niiden arviointi sulautetuissa järjestelmissä Kai Koskimies Tampereen teknillinen yliopisto Taustaa: Sulake projekti 2008-2009 2 Osallistujat Areva T&D John Deere Kone Sandvik

Lisätiedot

7 Sulautettujen järjestelmien suunnittelumallit. OhAr Marko Leppänen

7 Sulautettujen järjestelmien suunnittelumallit. OhAr Marko Leppänen 7 Sulautettujen järjestelmien suunnittelumallit OhAr 6.10. 2009 Marko Leppänen Sulautettujen järjestelmien mallikieli Sulake-projekti, 2008-2009 Arkkitehtuurianalyysejä 4 teollisuuskumppanin kanssa Sivutuotteena

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto 2 Kurssin tavoitteet

Lisätiedot

Ohjelmistoarkkitehtuurit. Syksy 2010

Ohjelmistoarkkitehtuurit. Syksy 2010 Ohjelmistoarkkitehtuurit Syksy 2010 Kai Koskimies Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto, Vaasan yliopisto Kurssin tavoitteet Arkkitehtuurin roolin

Lisätiedot

http://www.enteract.com/~bradapp/docs/patterns-intro.html http://www.hillside.net/patterns/

http://www.enteract.com/~bradapp/docs/patterns-intro.html http://www.hillside.net/patterns/ 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Esimerkki: Rekursiokooste Antisuunnittelumallit Suunnittelumallit ja UML Mallikielet Suunnittelumallit

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 1: Virtuaalifunktiot, Template method 1 Yleistä asiaa Muistakaa harkkatyöilmoittautuminen 23 ryhmää (mm. lihansyöjäkirahvi), vajaita ryhmiäkin on 44 henkeä vielä

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Esimerkki:

Lisätiedot

Ohjelmistoarkkitehtuurit 2016. Kevät 2016 -käytäntöjä

Ohjelmistoarkkitehtuurit 2016. Kevät 2016 -käytäntöjä Ohjelmistoarkkitehtuurit Kevät 2016 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 13.1.2016 1 Tervetuloa Tampereen teknillinen yliopisto, Oulun yliopisto, Turun yliopisto 13.1.2016 2 Tiedonvälitys

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Ohjelmistoarkkitehtuurit Kevät käytäntöjä Ohjelmistoarkkitehtuurit Kevät 2014 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1 Tervetuloa Oulun yliopisto, Tampereen yliopisto, Turun yliopisto, Tampereen teknillinen yliopisto

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 Ohjelmistoarkkitehtuurit Syksy 2009 Kai Koskimies Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto (Kajaani), Tampereen yliopisto, Turun yliopisto,

Lisätiedot

TIE-20200 Ohjelmistojen suunnittelu

TIE-20200 Ohjelmistojen suunnittelu TIE-20200 Ohjelmistojen suunnittelu Luento 1: Virtuaalifunktiot, Template method 1 Seuraavaksi tarjolla: Otekn-asiaa vähän pintaa syvemmältä Virtuaalifunktiot ja erikoistaminen, olioiden kopiointi ja elinaika

Lisätiedot

Ohjelmistoarkkitehtuurit. Syksy 2008

Ohjelmistoarkkitehtuurit. Syksy 2008 Ohjelmistoarkkitehtuurit Syksy 2008 Kai Koskimies 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto, Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto, Vaasan yliopisto, Tampereen teknillinen

Lisätiedot

5. Suunnittelumallit. TTY Ohjelmistotekniikka

5. Suunnittelumallit.     TTY Ohjelmistotekniikka 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Antisuunnittelumallit Esimerkki: Rekursiokooste Suunnittelumallit ja kehykset Suunnittelumallit ja

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

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

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka

The administrative process of a cluster. Santtu Rantanen Valvoja: Prof. Jorma Jormakka The administrative process of a cluster Santtu Rantanen Valvoja: Prof. Jorma Jormakka Sisällysluettelo Johdanto Yleistä HA klustereista Tietoturva klustereissa Hallintaprosessi Johtopäätökset Johdanto

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

5. Suunnittelumallit. TTY Ohjelmistotekniikka

5. Suunnittelumallit.   TTY Ohjelmistotekniikka 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Antisuunnittelumallit Esimerkki: Rekursiokooste Suunnittelumallit ja kehykset Suunnittelumallit ja

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3

Lisätiedot

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit

7 Viestipohjaisten yritysjärjestelmien suunnittelumallit 7 Viestipohjaisten yritysjärjestelmien suunnittelumallit Hohpe G., Woolf B.: Enterprise Integration Patterns. Addison-Wesley 2004. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Viestinvälitykseen

Lisätiedot

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta 21.12.200 7 Mikä on IT arkkitehtuuri? Liiketoimintamalli määrittelee IT arkkitehtuurin IT arkkitehtuuri ottaa kantaa sovelluksen laadullisiin vaatimuksiin

Lisätiedot

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1.

Sisällys. Ratkaisumallien historia. Ratkaisumalli. Ratkaisumalli [2] Esimerkki: Composite [2] Esimerkki: Composite. Jaakko Vuolasto 25.1. Sisällys Ratkaisumallien historia Jaakko Vuolasto 25.1.2001! Ratkaisumalli! Christopher Alexander! Ohjelmistotuotannosta arkkitehtuuriin! Henkilöhistoriaa! Ensimmäisiä käyttökokemuksia! Yhteenveto 25.1.2001

Lisätiedot

TURVAVÄYLÄSEMINAARI. Erilaiset kenttäväylät ja niiden kehitys 13.11.2002. Jukka Hiltunen

TURVAVÄYLÄSEMINAARI. Erilaiset kenttäväylät ja niiden kehitys 13.11.2002. Jukka Hiltunen TURVAVÄYLÄSEMINAARI Erilaiset kenttäväylät ja niiden kehitys 13.11.2002 Jukka Hiltunen Miksi väylätekniikkaa? 1. luonnolliset perusteet: : kehittyneiden kenttälaitteiden ja ylemmän tason laitteiden välille

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistoarkkitehtuurit. Kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

Lisätiedot

Ohjelmistoarkkitehtuurit. Kevät 2012-2013

Ohjelmistoarkkitehtuurit. Kevät 2012-2013 Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestipohjaisten yritysjärjestelmien suunnittelumallit 1 Viestinvälitykseen perustuvat yritysjärjestelmät Peruselementit:

Lisätiedot

Monimutkaisesta datasta yksinkertaiseen päätöksentekoon. SAP Finug, Emil Ackerman, Quva Oy

Monimutkaisesta datasta yksinkertaiseen päätöksentekoon. SAP Finug, Emil Ackerman, Quva Oy Monimutkaisesta datasta yksinkertaiseen päätöksentekoon SAP Finug, 9.9.2015 Emil Ackerman, Quva Oy Quva Oy lyhyesti Quva kehittää innovatiivisia tapoja teollisuuden automaation lisäämiseksi Internetin

Lisätiedot

1.3 Katsaus ohjelmistotuotannon kehittymiseen

1.3 Katsaus ohjelmistotuotannon kehittymiseen Yleisiä asioita Oliokirja:http://www.cs.tut.fi/~kk/Ohjelmistoarkkitehtuuri.pdf Tenttipäivä 7.5. Tallennukset, jospas tänään onnistaisi Viikkoharkat löytyvät IDLEstä (TTY), kurssin kotisivuilta/paikallisilta

Lisätiedot

Ohjelmistoarkkitehtuurit. Syksy 2007

Ohjelmistoarkkitehtuurit. Syksy 2007 Ohjelmistoarkkitehtuurit Syksy 2007 Kai Koskimies 1 Tervetuloa Tampereen yliopisto, Teknillinen korkeakoulu, Turun yliopisto 2 Kurssin tavoitteet Arkkitehtuuritason peruskäsitteiden ymmärtäminen Arkkitehtuurien

Lisätiedot

Älykkäät tietojärjestelmät - turvalliset sensorit osana potilaan hoitoa

Älykkäät tietojärjestelmät - turvalliset sensorit osana potilaan hoitoa Älykkäät tietojärjestelmät - turvalliset sensorit osana potilaan hoitoa Sosiaali- ja terveydenhuollon atk-päivät Jyväskylässä 23.5.2018 Hanna-Leena Huttunen, hanna-leena.huttunen@oulu.fi Sisältö Sensorit

Lisätiedot

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat Teollisuusautomaation tietoturvaseminaari Purchasing Manager, Hydro Lead Buyer, Industrial Control Systems 1 Agenda / esityksen tavoite

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Konnektorit ohjelmistoarkkitehtuurissa 18.9.2012 1 Konnektorit (connectors) Konnektori (connector) (liitos) Arkkitehtuurielementti, jonka tehtävänä on mahdollistaa ja hallita komponenttien

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät 2016 Suunnittelumallit

Ohjelmistoarkkitehtuurit Kevät 2016 Suunnittelumallit Ohjelmistoarkkitehtuurit Kevät 2016 Suunnittelumallit Samuel Lahtinen http://www.cs.tut.fi/~ohar/ Ohjelmistoarkkitehtuurit 2016 1 Yleistä Visio ja UML 2.x: http://www.softwarestencils.com/uml/ Komponenteista

Lisätiedot

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

14. Luento: Kohti hajautettuja sulautettuja järjestelmiä. Tommi Mikkonen, 14. Luento: Kohti hajautettuja sulautettuja järjestelmiä Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Hajautettujen järjestelmien väyliä LON CAN Pienen laitteen sisäinen hajautus OpenCL Network

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

FiSMA 1.1 Toiminnallisen laajuuden mittausmenetelmä Ohje monikerrosarkkitehtuurin mittaamiseen

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

Lisätiedot

Arkkitehtuuri- ja prosessimallit. Johannes Koskinen

Arkkitehtuuri- ja prosessimallit. Johannes Koskinen Arkkitehtuuri- ja prosessimallit Johannes Koskinen Mallien lähde Arkkitehtuurimallit Sulake-projekti 2008-2010 The aim of the Sulake project is to analyze and assess software architectures of existing

Lisätiedot

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen

Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä. Kari Suihkonen Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä Kari Suihkonen Ohjelmistoarkkitehtuuriin vaikuttavia tekijöitä Tuote Ohjelmisto Ulkoiset tekijät Sisäiset tekijät 2 Hissin ohjausjärjestelmä ohjelmistotuotteena

Lisätiedot

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita

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

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

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna

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

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010. 3.

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010. 3. Takki Nyt se sopii, tai sitten ei Jussi Vänskä Espotel Oy vierailuluentosarja OTM kurssi 2010 3. luento: tuote Lisää ot sik k o osoit t am alla Jussi Vänskä OTM kevät 2010 Tuote Mitä tuote voi olla? Tuote

Lisätiedot

Salasanan vaihto uuteen / How to change password

Salasanan vaihto uuteen / How to change password Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change

Lisätiedot

Made for efficient farmers

Made for efficient farmers Made for efficient farmers ISOMATCH TELLUS GO, work easy. be in control. Maataloudessa tarvitaan tehokkuutta. Korkeampia satoja vähemmällä vaivalla ja pienemmillä kustannuksilla. Se tarkoittaa myös tuotantopanosten

Lisätiedot

OSI ja Protokollapino

OSI ja Protokollapino TCP/IP OSI ja Protokollapino OSI: Open Systems Interconnection OSI Malli TCP/IP hierarkia Protokollat 7 Sovelluskerros 6 Esitystapakerros Sovellus 5 Istuntokerros 4 Kuljetuskerros 3 Verkkokerros Linkkikerros

Lisätiedot

Kriittinen näkemys muuntamoautomaation nykytilasta. Antti Nieminen Verkonkäyttö / Turku Energia Sähköverkot Oy VINPOWER älymuuntamotyöpaja 18.9.

Kriittinen näkemys muuntamoautomaation nykytilasta. Antti Nieminen Verkonkäyttö / Turku Energia Sähköverkot Oy VINPOWER älymuuntamotyöpaja 18.9. Kriittinen näkemys muuntamoautomaation nykytilasta Verkonkäyttö / Turku Energia Sähköverkot Oy VINPOWER älymuuntamotyöpaja Paikallaan on junnattu jo pitkään Turku Energia Sähköverkot Oy (TESV) ei ole mikään

Lisätiedot

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen KONEAUTOMAATION LAATU JA TURVALLISUUS 4.6.2015 Marko Varpunen TLJ ja automaatio Rautatie, metro, teollisuus-laitokset, kaivoskoneet, vesi, n. 90 henkeä Mikkeli Turvallisuusjohtaminen konsultointi riskienarviointi

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

WP5: Järjestelmäintegraatio. Ilkka Tikanmäki ja Ville Roisko 26.03.2013

WP5: Järjestelmäintegraatio. Ilkka Tikanmäki ja Ville Roisko 26.03.2013 WP5: Järjestelmäintegraatio Ilkka Tikanmäki ja Ville Roisko 26.03.2013 WP5: Taustaa ja tavoitteita arkkitehtuurikuvaus HMI suunnitelma: käyttöliittymien vähentäminen rajapintamäärittely: sovellusten liittäminen

Lisätiedot

Sulautettujen järjestelmien vikadiagnostiikan kehittäminen ohjelmistopohjaisilla menetelmillä

Sulautettujen järjestelmien vikadiagnostiikan kehittäminen ohjelmistopohjaisilla menetelmillä Sulautettujen järjestelmien vikadiagnostiikan kehittäminen ohjelmistopohjaisilla menetelmillä AS-0.3100 - Automaatio- ja systeemitekniikan seminaari Jerry Pussinen Seminaarityö 11.12.2015 Tausta 11.12.2015

Lisätiedot

Työasemien hallinta Microsoft System Center Configuration Manager 2007. Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS

Työasemien hallinta Microsoft System Center Configuration Manager 2007. Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS Työasemien hallinta Microsoft System Center Configuration Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS IT Education Center Agenda Yleistä työasemien hallinnasta Työasemien hallinta

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

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VII Suunnittelumallit Adapter ja Composite

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VII Suunnittelumallit Adapter ja Composite 2015 syksy 2. vsk VII Suunnittelumallit Adapter ja Composite Sisältö 1. Johdanto rakennemalleihin 2. Adapter (Sovitin) 3. Composite (Rekursiokooste) Suunnittelumallit Adapter ja Composite 2 VII.1 Johdanto

Lisätiedot

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes

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

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

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

Tietojärjestelmäarkkitehtuurit

Tietojärjestelmäarkkitehtuurit Tietojärjestelmäarkkitehtuurit ITK130 Johdatus ohjelmistotekniikkaan Syksy 2003 Sami Kollanus 1 Aluksi Tietojärjestelmäarkkitehtuurit vs. ohjelmistoarkkitehtuurit Pohjana Tietojärjestelmäarkkitehtuurit

Lisätiedot

Security server v6 installation requirements

Security server v6 installation requirements CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents

Lisätiedot

Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin

Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin Tietojärjestelmien yhteensovittaminen turvallisesti älykkäisiin koneisiin Tampereen teknillinen yliopisto 28.1.2010 Jouni Vuorensivu Remion Ltd. www.remion.com jouni.vuorensivu@remion.com Jouni Vuorensivu

Lisätiedot

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

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta? OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, 14, TB 109 Arto Salminen, arto.salminen@tut.fi Agenda Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali

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

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?

Käyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia? Käyttöliittymät II Sari A. Laakso Käyttöliittymät I Kertaus peruskurssilta Keskeisin kälikurssilla opittu asia? 1 Käyttöliittymät II Kurssin sisältö Käli I Käyttötilanteita Käli II Käyttötilanteet selvitetään

Lisätiedot

NC-koneet ja niiden ohjelmointi

NC-koneet ja niiden ohjelmointi NC-koneet ja niiden ohjelmointi Koordinaattisysteemit Inkrementaalinen Absoluuttinen NC-koneen koordinaatisto Akselien suunnat on määritelty ns. "oikean käden säännön" mukaan (DIN 66217). Koneen edessä

Lisätiedot

liiketoimintamahdollisuuksia Automaatiolla tuottavuutta ja koneenrakennukseen ELKOM 07 ECT Forum FIMA pääsihteeri Antti Sirén Governed by

liiketoimintamahdollisuuksia Automaatiolla tuottavuutta ja koneenrakennukseen ELKOM 07 ECT Forum FIMA pääsihteeri Antti Sirén Governed by ELKOM 07 ECT Forum 6.9.2007 Antti Sirén FIMA pääsihteeri Automaatiolla tuottavuutta ja liiketoimintamahdollisuuksia koneenrakennukseen Miksi lisää automaatiota työkoneisiin? Automaation hyödyt asiakkaalle

Lisätiedot

Suunnittelumallit (design patterns)

Suunnittelumallit (design patterns) Suunnittelumallit (design patterns) Ohjelmoinnissa Rakennusarkkitehtuurissa Käyttöliittymäsuunnittelussa Sear ch Ohjelmointi Suunnittelumallit Usein toistuvia ohjelmointiongelmia ja niiden ratkaisuja:

Lisätiedot

Älyvaatteet työympäristössä

Älyvaatteet työympäristössä VTT TECHNICAL RESEARCH CENTRE OF FINLAND LTD Älyvaatteet työympäristössä Johannes Peltola, Juha Häikiö, Satu-Marja Mäkelä / VTT Tuire Krogerus / Dimex Mikko Tammihovi / Telinekataja Taustaa älyvaatteista

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

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Demosovelluksen tekninen määrittely v. 0.6 Päivitetty 11.12.2000 klo 20:26 Mickey Shroff 2 (12) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite

Lisätiedot

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys

Projektisuunnitelma. Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys 1 Radio-ohjattavan pienoismallin mekatroniikan ja ohjelmiston kehitys Muutoshistoria Versionumero Pvm Selitys Tekijä(t) 0.1 18.9.2012 Otso Saarentaus 2 Sisällysluettelo 1 PROJEKTIN SISÄLTÖ... 3 1.1 TAUSTA......3

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi 1.4 Toteutusalustan arkkitehtuurin rooli 1.5 Yhteenvetoa

Lisätiedot

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

Viestinvälitysarkkitehtuurit Lähtökohta:

Viestinvälitysarkkitehtuurit Lähtökohta: Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Viestinvälitysarkkitehtuurit Lähtökohta: Järjestelmä koostuu keskenään kommunikoivista komponenteista, mahdollisesti

Lisätiedot

Teknologia-arkkitehtuurit. Valinta ja mallinnus

Teknologia-arkkitehtuurit. Valinta ja mallinnus Teknologia-arkkitehtuurit Valinta ja mallinnus ENTERPRISE ARCHITECTURE - A FRAMEWORK TM DATA What FUNCTION How NETWORK Where PEOPLE Who When MOTIVATION Why T IM E SCOPE (CONTEXTUAL) List of Things Important

Lisätiedot

Tosi elävä virtuaalimalli Mika Karaila Tutkimuspäällikkö Valmet Automation

Tosi elävä virtuaalimalli Mika Karaila Tutkimuspäällikkö Valmet Automation Tosi elävä virtuaalimalli 27.4.2017 Mika Karaila Tutkimuspäällikkö Valmet Automation Agenda Teollinen internet Uudet teknologiat: VR & MR Soveltaminen käytännössä Yhteenveto & demo 2 Teollinen internet

Lisätiedot

TURVALLISEN TEKNIIKAN SEMINAARI 2003. Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö

TURVALLISEN TEKNIIKAN SEMINAARI 2003. Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö TURVALLISEN TEKNIIKAN SEMINAARI 2003 Laitteiden etähallinta tietoverkkojen välityksellä Jani Järvinen, tuotepäällikkö Mitä on etähallinta? Jotain muuta kuin laitteen välittömässä läheisyydessä tapahtuvaa

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

Lisätiedot

Esimerkki: Auton toiminnan monitorointijärjestelmä

Esimerkki: Auton toiminnan monitorointijärjestelmä Esimerkki: Auton toiminnan monitorointijärjestelmä A car control system needs to be extended with a subsystem that collects various kinds of data during the running of the car, to be used for monitoring

Lisätiedot

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?

Lisätiedot

Oliosuunnittelu. Oliosuunnittelu

Oliosuunnittelu. Oliosuunnittelu Oliosuunnittelu Perinnän ja dynaamisen sidonnan hyödyntäminen Tarkastellaan ohjelmaa, jonka tehtävänä on tuottaa erilaisista kuvioista muodostuva kuvaesitys Ratkaisu 1: perinteinen malli - ei perintää

Lisätiedot

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3 Katsaus ohjelmistotuotannon kehittymiseen 1.4 Miksi ohjelmistoarkkitehtuuri on tärkeä 1.5 Ohjelmistoarkkitehtuuri

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

Virtualisoi viisaasti paranna palvelua. Iikka Taanila Systems Architect IBM Systems and Technology Group

Virtualisoi viisaasti paranna palvelua. Iikka Taanila Systems Architect IBM Systems and Technology Group Virtualisoi viisaasti paranna palvelua Iikka Taanila Systems Architect IBM Systems and Technology Group Älykkäämpi IT Web Servers App Servers End Users App Servers App Servers App/DB Server App/DB Servers

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

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology

Lisätiedot

Tiedonsiirto- ja rajapintastandardit

Tiedonsiirto- ja rajapintastandardit Tiedonsiirto- ja rajapintastandardit Viitekehys Julkishallinnon perustietovarantojen rajapinnat (PERA) työryhmän tulokset valmiit syksyllä 2011 Määrittelee teknisen arkkitehtuuriratkaisun tietovarantojen

Lisätiedot

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen ON OLEMASSA KAHDENLAISIA YRITYKSIÄ: 1. NE JOIHIN ON MURTAUDUTTU 2. NE JOTKA EIVÄT VIELÄ TIEDÄ SITÄ

Lisätiedot

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.

BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura

Lisätiedot

HSMT J2EE & EJB & SOAP &...

HSMT J2EE & EJB & SOAP &... HSMT J2EE & EJB & SOAP &... Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2011 p.1/15 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista

Lisätiedot

IBM Iptorin pilven reunalla

IBM Iptorin pilven reunalla IBM Iptorin pilven reunalla Teppo Seesto Arkkitehti Pilvilinnat seesto@fi.ibm.com Cloud Computing Pilvipalvelut IT:n teollistaminen Itsepalvelu Maksu käytön mukaan Nopea toimitus IT-palvelujen webbikauppa

Lisätiedot

Asennus Windows 2000 ja XP -käyttöjärjestelmiin

Asennus Windows 2000 ja XP -käyttöjärjestelmiin PU007V2 Sweex 1 portin rinnakkainen & 2 portin sarja PCI-kortti Johdanto Älä altista PU007V2-korttia äärilämpötiloille. Älä aseta laitetta suoraan auringonvaloon tai sulje lämmityselementtejä. Älä käytä

Lisätiedot