4 Managing component interactions

Koko: px
Aloita esitys sivulta:

Download "4 Managing component interactions"

Transkriptio

1 4 Managing component interactions Role interfaces Mediators Forwarding Proxies Callbacks Events Adapters Factories 1

2 Removing component dependencies with interfaces A B Unknown to A A IB B how what 2

3 Role-based interfaces Client1 Services Client2 Client1 Server Role1 Server Client2 Role2 3

4 Example VisualComponent Button EventSource 4

5 Fine-grained role interfaces Clients X Y Z Roles A B C D Service providers P's interface P Q Q's interface 5

6 Managing multi-participant interaction with mediators Set of strongly interacting components Problems: interdependencies are unstructured and difficult to understand distributed behavior between several classes cannot be customized without a lot of subclassing participants cannot be used in other contexts 6

7 Example 7

8 Mediator Advantages: limits subclassing decouples objects simplifies communication (one-to-many instead of many-to-many) Problem: centralized control (mediator may become monolithic) 8

9 Coordinator widgetchange(widget) createwidgets() show() Example ListBox ListBoxI getselected(): str Dialog Coordinator TextField TextFieldI settext(str) Widget changed() Button ButtonI enable() 9

10 Typical interaction ListBox DialogCoordinator TextField Button widgetchange getselected settext enable 10

11 Forwarding Unknown to A Bimp opimp() imp A call op op() B A call op op() B imp.opimp(); 11

12 Forwarding: example Chargable discount(int): int CustomerSupport discount(int): int Account Manager Customer KeyCustomer Support 12

13 Delegation: Implementing inheritance with forwarding "Collective" Car object printdescription self Car parent Vehicle parent Commodity parent printdescription: {printname;... } 13

14 Delegation: Implementing inheritance with forwarding "Collective" Car object printdescription self Car parent Vehicle parent Product parent Client parent printdescription: {printname;... } 14

15 Removing component dependencies with proxies Proxy: a component that represents another component in some activity Client op Proxy op Actual 15

16 Proxy design pattern Client Services request()... actual.request() Proxy request() actual Server 16

17 Applications distributed systems (e.g. EJB) lazy loading (e.g. object bases) smart pointers... 17

18 Navigator Example: lazy loading Map getname() getroute(from,to) actual getroute service provided by a Map return mapname; MapProxy map CityMap if not loaded then map = loadfromfile(); loaded = true end; map->getroute() getname getroute getname getroute 18

19 Removing use dependencies with callbacks Callback A technique to allow a unit that called a service to receive control during the service. Usually the service belongs to a general-purpose library that should be unaware and independent of the applications calling the services of the library. Callback makes it possible to build general-purpose units that are able to call their users without becoming dependent on them. 19

20 Control visits the called unit during callback library as a sequence diagram: : Library : Application oper1 service call return callback oper2 oper2 return oper1 return application callback 20

21 Implementing callbacks using inheritance run() Engine EngineUser warn(str) if (oilpressure<limit) { user.warn();... PowerSource start() stop() setuser(engineuser) myeng = new Engine(); myeng.setuser(this); myeng.start(); Car setup() warn(str)... Platform Application log.output("oil pressure low"); myeng.stop(); 21

22 Käytetään n poikkeuksia? Voidaanko poikkeuksilla saada periaatteessa aikaan sama kuin takaisinkutsuilla? A Ei koskaan B Joskus harvoin C Usein D Aina 22

23 Poikkeuksilla Engine start() if (oilpressure<limit) {... throw new Oilpressure(); }... PowerSource start() throws Oilpressure stop() setuser(engineuser) setup():... myeng = new Engine(); myeng.setuser(this); try { myeng.start(); } catch (Oilpressure op) {warn("...");} Erot: Edut: Haitat: Car setup() warn(str)... - ei takaisinkutsurajapintaa - käyttävän yksikön (Car) tulee varautua poikkeukseen - yksinkertaisempi - kirjastoyksikön ei tarvitse tietää mitään käyttävän yksikön operaatioista (edes takaisinkutsurajapintaa) - kankeampi: kirjastoyksikkö ei voi jatkaa tapahtuman käsittelyn jälkeen (tässä tosin ei ilmeisesti tarvitsekaan) - yleisesti vaikea erikoistaa tapahtumaan reagointia (ei tosin tässä esimerkissä) Platform Application log.output(str+": Oil pressure low"); myeng.stop(); 23

24 Removing dependencies with events An event is a state of things that may occur during the execution of the system, has an identifiable representation in the system, needs response from one or more components in the system. 24

25 From services to events service caller event source service provider event event observers 25

26 Using events with GUI GUI User actions State changes Application logic 26

27 Synchronous callback-based based event handling register Event source Observers notify event (callback) 27

28 Observer design pattern Observer update(event) Source Component obs src Observer Component Source register(observer) unregister(observer) 28

29 Event handling in Java: Example ActionListener actionperformed(actionevent) JMenuItem obs src AppComp AbstractButton addactionlistener(actionlistener) 29

30 Removing interface dependencies with adapters service request in interface A Adapter service request Component 1 in interface B Component 2 Adapter: a software unit between the caller and the callee, allowing the caller to be unaware of the interface of the called. 30

31 Adapter design pattern AbstractServices request() Client ConcreteServices concrequest()... adaptee.concrequest() Adapter request() adaptee Server 31

32 Example: Sun's BeanBox 32

33 Using adapters in event-based communication for independent components registering notify event call service Component Adapter Component 33

34 BeanBox: a closer look generated adapter class: public class Hookup_1734b2d565 implements java.awt.event.actionlistener, java.io.serializable { public void settarget( sunw.demo.juggler.juggler t) { target = t; } public void actionperformed( java.awt.event.actionevent arg0) { target.stopjuggling(); } When mouse click event occurs, activate stopjuggling-operation } private sunw.demo.juggler.juggler target; 34

35 Managing creation dependencies with factories FactoryRegistry register(factory) AppInit Factory create(): Product AppFactory Platform <<create>> Product service AppProduct 35

36 Simple version: Factory Method design pattern Product Creator factorymethod anoperation product = factorymethod();... AppProduct create ConcCreator factorymethod return new AppProduct(); 36

37 Example <<interface>> Document open() close() use Application createdocument() newdocument() opendocument() doc = createdocument(); docs.add(doc); doc.open(); MyDocument open() close() create MyApplication createdocument() return new MyDocument; 37

38 Problem: How to guarantee consistent object sets? Application OR BUT NOT: 38

39 ShapeFac Solution: a single factory object for the family of objects factory class TwoDimFac instance of factory object uses Application create instance of ThreeDimFac factory class 39

40 Abstract Factory design pattern: Example AbsFactory createbutton(): Button createmenu(): Menu Application WinFactory Button Menu <<create>> WinButton WinMenu 40

4. Komponenttien vuorovaikutus

4. Komponenttien vuorovaikutus 4. Komponenttien vuorovaikutus Roolirajapinnat Välittäjät Kutsun siirtäminen Edustajat Takaisinkutsut Tapahtumat Sovittimet Tehtaat 1 Toteutusriippuvuuksien poistaminen rajapinnoilla A B A ei tunne A IB

Lisätiedot

4. Komponenttien vuorovaikutus

4. Komponenttien vuorovaikutus 4. Komponenttien vuorovaikutus Roolirajapinnat Välittäjät Kutsun siirtäminen Edustajat Takaisinkutsut Tapahtumat Sovittimet Tehtaat 1 Toteutusriippuvuuksien poistaminen rajapinnoilla A B A ei tunne A IB

Lisätiedot

Roolirajapinnat Välittäjät Fasaadit Kutsun siirtäminen Edustajat Takaisinkutsut Tapahtumat Viestit Sovittimet Tehtaat

Roolirajapinnat Välittäjät Fasaadit Kutsun siirtäminen Edustajat Takaisinkutsut Tapahtumat Viestit Sovittimet Tehtaat 4. Komponenttien vuorovaikutus Roolirajapinnat Välittäjät Fasaadit Kutsun siirtäminen Edustajat Takaisinkutsut Tapahtumat Viestit Sovittimet Tehtaat Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 4. Komponenttien vuorovaikutus Roolirajapinnat Välittäjät Fasaadit Kutsun siirtäminen Edustajat Takaisinkutsut Tapahtumat

Lisätiedot

Ohjelmistoarkkitehtuurit

Ohjelmistoarkkitehtuurit Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 4. Komponenttien vuorovaikutus Roolirajapinnat Välittäjät Fasaadit Kutsun siirtäminen Edustajat Takaisinkutsut Tapahtumat

Lisätiedot

Ohjelmistoarkkitehtuurit Johannes Koskinen.

Ohjelmistoarkkitehtuurit Johannes Koskinen. Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 4. Komponenttien vuorovaikutus Roolirajapinnat Välittäjät Fasaadit Kutsun siirtäminen Edustajat Takaisinkutsut Tapahtumat

Lisätiedot

Ohjelmistoarkkitehtuurit Kevät 2014

Ohjelmistoarkkitehtuurit Kevät 2014 Ohjelmistoarkkitehtuurit Kevät 2014 Samuel Lahtinen (Johannes Koskinen) http://www.cs.tut.fi/~ohar/ 22.1.2014 1 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien

Lisätiedot

3. Software components and interfaces

3. Software components and interfaces 3. Software components and interfaces 3.1 The component vision: rationalizing software development 3.2 The component concept 3.3 Components as software units 3.4 Interfaces 3.5 Specifying interfaces 3.6

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

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

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

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

Kehyspohjainen ohjelmistokehitys

Kehyspohjainen ohjelmistokehitys Kehyspohjainen ohjelmistokehitys Sovellusalueen käsitemalli, piirremalli Yhteiset vaatimukset Kehyksen suunnittelu Suunnittelumallit Vaatimusmäärittely Muunneltavuusvaatimukset Kehysarkkitehtuuri Erikoistamisrajapinta

Lisätiedot

Capacity Utilization

Capacity Utilization Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run

Lisätiedot

8. Framework architectures

8. Framework architectures 8. Framework architectures 8.1 Introduction 8.2 Framework types 8.3 Developing frameworks 8.4 Frameworks and design patterns 8.5 Example: A simulator framework 8.6 Benefits and potential problems 8.7 Discussion

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Microsoft Lync 2010 Attendee

Microsoft Lync 2010 Attendee VYVI MEETING Lync Attendee 2010 Instruction 1 (15) Microsoft Lync 2010 Attendee Online meeting VYVI MEETING Lync Attendee 2010 Instruction 2 (15) Index 1 Microsoft LYNC 2010 Attendee... 3 2 Acquiring Lync

Lisätiedot

Group 2 - Dentego PTH Korvake. Peer Testing Report

Group 2 - Dentego PTH Korvake. Peer Testing Report Group 2 - Dentego PTH Korvake Peer Testing Report Revisions Version Date Author Description 1.0 Henrik Klinkmann First version Table of Contents Contents Revisions... 2 Table of Contents... 2 Testing...

Lisätiedot

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo

TIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,

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

2 Description of Software Architectures

2 Description of Software Architectures 2 Description of Software Architectures 2.1 Significance of architectural descriptions 2.2 Context of architectural descriptions 2.3 Levels of architectural descriptions 2.4 Viewpoints and types in architecture

Lisätiedot

3. Komponentit ja rajapinnat

3. Komponentit ja rajapinnat 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

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.

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

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

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Tapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007

Tapahtumapohjainen ohjelmointi. Juha Järvensivu juha.jarvensivu@tut.fi 2007 Tapahtumapohjainen ohjelmointi Juha Järvensivu juha.jarvensivu@tut.fi 2007 Sisältö Tapahtumapohjainen ohjelmointi Käyttöliittymän rakenne Pääikkuna (top-level window) Lapsi-ikkuna (child window) Dialogit

Lisätiedot

812336A C++ -kielen perusteet, 21.8.2010

812336A C++ -kielen perusteet, 21.8.2010 812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys

Lisätiedot

Suunnittelumalleja, MVC. Juha Järvensivu 2008

Suunnittelumalleja, MVC. Juha Järvensivu 2008 Suunnittelumalleja, MVC Juha Järvensivu juha.jarvensivu@tut.fi 2008 Sisältö Tarkkailija Strategia Rekursiokooste Tehdas-metodi MVC Tarkkailija suunnittelumalli Tarkkailijamalli (Observer) Määrittelee olioiden

Lisätiedot

C++11 seminaari, kevät Johannes Koskinen

C++11 seminaari, kevät Johannes Koskinen C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,

Lisätiedot

The CCR Model and Production Correspondence

The CCR Model and Production Correspondence The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls

Lisätiedot

RINNAKKAINEN OHJELMOINTI A,

RINNAKKAINEN OHJELMOINTI A, RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen

Lisätiedot

Asynkroninen ohjelmointi.net 4.5 versiolla

Asynkroninen ohjelmointi.net 4.5 versiolla Asynkroninen ohjelmointi.net 4.5 versiolla Jari Kallonen Software Specialist at Tieturi Oy Régis Laurent Director of Operations, Global Knowledge Competencies include: Gold Learning Silver System Management

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.

1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. START START SIT 1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. This is a static exercise. SIT STAND 2. SIT STAND. The

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

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti?

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

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO

Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Jussi Klemola 3D- KEITTIÖSUUNNITTELUOHJELMAN KÄYTTÖÖNOTTO Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Puutekniikan koulutusohjelma Toukokuu 2009 TIIVISTELMÄ OPINNÄYTETYÖSTÄ Yksikkö Aika Ylivieska

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

Efficiency change over time

Efficiency change over time Efficiency change over time Heikki Tikanmäki Optimointiopin seminaari 14.11.2007 Contents Introduction (11.1) Window analysis (11.2) Example, application, analysis Malmquist index (11.3) Dealing with panel

Lisätiedot

Results on the new polydrug use questions in the Finnish TDI data

Results on the new polydrug use questions in the Finnish TDI data Results on the new polydrug use questions in the Finnish TDI data Multi-drug use, polydrug use and problematic polydrug use Martta Forsell, Finnish Focal Point 28/09/2015 Martta Forsell 1 28/09/2015 Esityksen

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja

Lisätiedot

21~--~--~r--1~~--~--~~r--1~

21~--~--~r--1~~--~--~~r--1~ - K.Loberg FYSE420 DIGITAL ELECTRONICS 13.05.2011 1. Toteuta alla esitetyn sekvenssin tuottava asynkroninen pun. Anna heratefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition

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

Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat

Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat Tarua vai totta: sähkön vähittäismarkkina ei toimi? 11.2.2015 Satu Viljainen Professori, sähkömarkkinat Esityksen sisältö: 1. EU:n energiapolitiikka on se, joka ei toimi 2. Mihin perustuu väite, etteivät

Lisätiedot

2_1----~--~r--1.~--~--~--,.~~

2_1----~--~r--1.~--~--~--,.~~ K.Loberg FYSE420 DIGITAL ELECTRONICS 3.06.2011 1. Toteuta alia esitetyn sekvenssin tuottava asynkroninen pun. Anna heditefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition

Lisätiedot

Ohjelmistoarkkitehtuurit kevät

Ohjelmistoarkkitehtuurit kevät Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti?

Lisätiedot

Miksi Suomi on Suomi (Finnish Edition)

Miksi Suomi on Suomi (Finnish Edition) Miksi Suomi on Suomi (Finnish Edition) Tommi Uschanov Click here if your download doesn"t start automatically Miksi Suomi on Suomi (Finnish Edition) Tommi Uschanov Miksi Suomi on Suomi (Finnish Edition)

Lisätiedot

Komponentit ja rajapinnat

Komponentit ja rajapinnat Ohjelmistoarkkitehtuurit Kevät 2012-2013 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 1 Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti?

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

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ

KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ https://community.plm.automation.siemens.com/t5/tech-tips- Knowledge-Base-NX/How-to-simulate-any-G-code-file-in-NX- CAM/ta-p/3340 Koneistusympäristön määrittely

Lisätiedot

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed Online Meeting Guest Online Meeting for Guest Participant Lync Attendee Installation Online kokous vierailevalle osallistujalle Lync Attendee Asennus www.ruukki.com Overview Before you can join to Ruukki

Lisätiedot

Olet vastuussa osaamisestasi

Olet vastuussa osaamisestasi Olet vastuussa osaamisestasi Ohjelmistoammattilaisuuden uudet haasteet Timo Vehmaro 02-12-2015 1 Nokia 2015 Mitä osaamista tulevaisuudessa tarvitaan? Vahva perusosaaminen on kaiken perusta Implementaatio

Lisätiedot

3. Komponentit ja rajapinnat

3. Komponentit ja rajapinnat 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.5 Rajapintojen sopimuspohjainen

Lisätiedot

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!

Lisätiedot

Curriculum. Gym card

Curriculum. Gym card A new school year Curriculum Fast Track Final Grading Gym card TET A new school year Work Ethic Detention Own work Organisation and independence Wilma TMU Support Services Well-Being CURRICULUM FAST TRACK

Lisätiedot

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen Click here if your download doesn"t start automatically Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen

Lisätiedot

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing. 13.10.2010 Jan Nyman, jan.nyman@posintra.fi

WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing. 13.10.2010 Jan Nyman, jan.nyman@posintra.fi WAMS 2010,Ylivieska Monitoring service of energy efficiency in housing 13.10.2010 Jan Nyman, jan.nyman@posintra.fi Background info STOK: development center for technology related to building automation

Lisätiedot

Choose Finland-Helsinki Valitse Finland-Helsinki

Choose Finland-Helsinki Valitse Finland-Helsinki Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun

Lisätiedot

anna minun kertoa let me tell you

anna minun kertoa let me tell you anna minun kertoa let me tell you anna minun kertoa I OSA 1. Anna minun kertoa sinulle mitä oli. Tiedän että osaan. Kykenen siihen. Teen nyt niin. Minulla on oikeus. Sanani voivat olla puutteellisia mutta

Lisätiedot

Windows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo

Windows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo Windows Phone Module Descriptions Mikä on RekryKoulutus? Harvassa ovat ne työnantajat, jotka löytävät juuri heidän alansa hallitsevat ammatti-ihmiset valmiina. Fiksuinta on tunnustaa tosiasiat ja hankkia

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

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) (www.childrens-books-bilingual.com) (Finnish Edition)

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) (www.childrens-books-bilingual.com) (Finnish Edition) Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) (www.childrens-books-bilingual.com) (Finnish Edition) Click here if your download doesn"t start automatically

Lisätiedot

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation

FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.

Lisätiedot

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS Loppuseminaari 11.12.2018 YIT:n pääkonttori, Helsinki RAIN hankkeen loppuseminaari 11.12.2018 Käyttäjälähtöinen tiedonhallinta (WP 4) Professori Harri Haapasalo OY

Lisätiedot

AYYE 9/ HOUSING POLICY

AYYE 9/ HOUSING POLICY AYYE 9/12 2.10.2012 HOUSING POLICY Mission for AYY Housing? What do we want to achieve by renting apartments? 1) How many apartments do we need? 2) What kind of apartments do we need? 3) To whom do we

Lisätiedot

16. Allocation Models

16. Allocation Models 16. Allocation Models Juha Saloheimo 17.1.27 S steemianalsin Optimointiopin seminaari - Sks 27 Content Introduction Overall Efficienc with common prices and costs Cost Efficienc S steemianalsin Revenue

Lisätiedot

Network to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi

Network to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi Network to Get Work Tehtäviä opiskelijoille Assignments for students www.laurea.fi Ohje henkilöstölle Instructions for Staff Seuraavassa on esitetty joukko tehtäviä, joista voit valita opiskelijaryhmällesi

Lisätiedot

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto

Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto If you are searched for a book by Miikka Poikselkä;Harri Holma;Jukka Hongisto Voice over LTE (VoLTE) in pdf form, then you have come

Lisätiedot

T Software Architecture

T Software Architecture T-76.3601 Software Architecture Introduction Tomi Männistö TEKNILLINEN KORKEAKOULU SA teaching at SoberIT TEKNILLINEN KORKEAKOULU 2 Overview Motivation for software architectures Dealing with increasing

Lisätiedot

11. Kehysarkkitehtuurit

11. Kehysarkkitehtuurit 11. Kehysarkkitehtuurit Johdanto Kehystyypit Kehykset ja arkkitehtuuri Kehykset ja suunnittelumallit Kehyspohjainen ohjelmistokehitys Esimerkkikehys Kehysten toteutuksesta Kehysten etuja ja ongelmia Yhteenvetoa

Lisätiedot

Other approaches to restrict multipliers

Other approaches to restrict multipliers Other approaches to restrict multipliers Heikki Tikanmäki Optimointiopin seminaari 10.10.2007 Contents Short revision (6.2) Another Assurance Region Model (6.3) Cone-Ratio Method (6.4) An Application of

Lisätiedot

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007

National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 Chapter 2.4 Jukka Räisä 1 WATER PIPES PLACEMENT 2.4.1 Regulation Water pipe and its

Lisätiedot

Alternative DEA Models

Alternative DEA Models Mat-2.4142 Alternative DEA Models 19.9.2007 Table of Contents Banker-Charnes-Cooper Model Additive Model Example Data Home assignment BCC Model (Banker-Charnes-Cooper) production frontiers spanned by convex

Lisätiedot

XNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa.

XNA grafiikka laajennus opas. Paavo Räisänen. www.ohjelmoimaan.net. Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. XNA grafiikka laajennus opas Paavo Räisänen www.ohjelmoimaan.net Tämän oppaan lähdekoodit ovat ladattavissa näiden sivujen Ladattavat osiossa. Tätä opasta saa vapaasti kopioida, tulostaa ja levittää ei

Lisätiedot

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri Enterprise Architecture TJTSE25 2009 Yrityksen kokonaisarkkitehtuuri Jukka (Jups) Heikkilä Professor, IS (ebusiness) Faculty of Information Technology University of Jyväskylä e-mail: jups@cc.jyu.fi tel:

Lisätiedot

Encapsulation. Imperative programming abstraction via subprograms Modular programming data abstraction. TTY Ohjelmistotekniikka

Encapsulation. Imperative programming abstraction via subprograms Modular programming data abstraction. TTY Ohjelmistotekniikka Encapsulation Imperative programming abstraction via subprograms Modular programming data abstraction Encapsulation grouping of subprograms and the data they manipulate Information hiding abstract data

Lisätiedot

Suihkukoneet 1:73 ja pienemmät. Potkurikoneet 1:72-1:49. Suihkukoneet 1:72-1:49. Potkurikoneet 1:35 ja suuremmat. Suihkukoneet 1:35 ja suuremmat

Suihkukoneet 1:73 ja pienemmät. Potkurikoneet 1:72-1:49. Suihkukoneet 1:72-1:49. Potkurikoneet 1:35 ja suuremmat. Suihkukoneet 1:35 ja suuremmat Kilpailuluokat Ohessa kilpailuluokat NC 2016 ja IPMS Open. Ilma-alukset Potkurikoneet 1:73 ja pienemmät Suihkukoneet 1:73 ja pienemmät Potkurikoneet 1:72-1:49 Suihkukoneet 1:72-1:49 Potkurikoneet 1:48

Lisätiedot

LUONNOS RT 80260 EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May 1998 1 (10)

LUONNOS RT 80260 EN AGREEMENT ON BUILDING WORKS 1 THE PARTIES. May 1998 1 (10) RT 80260 EN May 1998 1 (10) AGREEMENT ON BUILDING WORKS This agreement template is based on the General Terms and Conditions of Building Contracts YSE 1998 RT 16-10660, LVI 03-10277, Ratu 417-7, KH X4-00241.

Lisätiedot

Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition)

Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition) Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition) Esko Jalkanen Click here if your download doesn"t start automatically Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition) Esko Jalkanen Uusi Ajatus Löytyy

Lisätiedot

REST rajapintana mobiilikehityksessä

REST rajapintana mobiilikehityksessä REST rajapintana mobiilikehityksessä Django & WP7 Jonne Räsänen 2011 jonne.rasanen@jyu.fi Case iscope Hälytyspalvelu Web-palvelu Mobiilisovellus REST (REpresentational State Transfer) Aikojakin vanhempi

Lisätiedot

JA CHALLENGE 18.-19.4.2013. Anna-Mari Sopenlehto Central Administration The City Development Group Business Developement and Competence

JA CHALLENGE 18.-19.4.2013. Anna-Mari Sopenlehto Central Administration The City Development Group Business Developement and Competence JA CHALLENGE 18.-19.4.2013 Anna-Mari Sopenlehto Central Administration The City Development Group Business Developement and Competence 12.11.2014 Challenges of the City of Turku What kind of city you would

Lisätiedot

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT UNCITRAL EMERGENCE CONFERENCE 13.12.2016 Session I: Emerging Legal Issues in the Commercial Exploitation of Deep Seabed, Space and AI BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT

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

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Rich Web Applications in Server-side Java without Plug-ins or JavaScript Rich Web Applications in Server-side Java without Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO joonas@vaadin.com ? Vaadin is a UI framework for desktop-like web apps New configs, taglibs

Lisätiedot

Making diversity manageable. Miradore. Käytännön kokemuksia rahoituksen hakemisesta. Tiistai 17.4.2012 Technopolis Vapaudenaukio / Lappeenranta

Making diversity manageable. Miradore. Käytännön kokemuksia rahoituksen hakemisesta. Tiistai 17.4.2012 Technopolis Vapaudenaukio / Lappeenranta Miradore Käytännön kokemuksia rahoituksen hakemisesta Tiistai Technopolis Vapaudenaukio / Lappeenranta Miradore Ltd Established in 2006, spin-off from UPM The story started already in 1995 from a burning

Lisätiedot

JAVA-OHJELMOINTI 3 op A274615

JAVA-OHJELMOINTI 3 op A274615 JAVA-OHJELMOINTI 3 op A274615 JFC & Swing, Look & Feel, Events Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,

Lisätiedot

Osio 4: Graafinen käyttöliittymä

Osio 4: Graafinen käyttöliittymä Javan Swing-tekniikan perusteet: Muistutus: Tarvitset seuraavia komponentteja harjoituksissa: otsikkoteksti (label) muokkausruutu (text field) komentopainike (button) yhdistelmäruutu (combo box) paneeli

Lisätiedot

Web Services tietokantaohjelmoinnin perusteet

Web Services tietokantaohjelmoinnin perusteet ASP.NET Web Services Web Services tietokantaohjelmoinnin 2 (22) Sisällys Harjoitus 1: Tietokannat ja Web Services... 3 Harjoitus 2: Windows Client... 10 Harjoitus 3: Datan päivitys TableAdapterin avulla...

Lisätiedot

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija

Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija 1 Asemoitumisen kuvaus Hakemukset parantuneet viime vuodesta, mutta paneeli toivoi edelleen asemoitumisen

Lisätiedot

Business Opening. Arvoisa Herra Presidentti Very formal, recipient has a special title that must be used in place of their name

Business Opening. Arvoisa Herra Presidentti Very formal, recipient has a special title that must be used in place of their name - Opening Finnish Norwegian Arvoisa Herra Presidentti Very formal, recipient has a special title that must be used in place of their name Hyvä Herra, Formal, male recipient, name unknown Hyvä Rouva Formal,

Lisätiedot

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi

Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi Ideasta projektiksi - kumppanuushankkeen suunnittelun lähtökohdat Hankkeiden vaikuttavuus: Työkaluja hankesuunnittelun tueksi Erasmus+ -ohjelman hakuneuvonta ammatillisen koulutuksen kumppanuushanketta

Lisätiedot

HITSAUKSEN TUOTTAVUUSRATKAISUT

HITSAUKSEN TUOTTAVUUSRATKAISUT Kemppi ARC YOU GET WHAT YOU MEASURE OR BE CAREFUL WHAT YOU WISH FOR HITSAUKSEN TUOTTAVUUSRATKAISUT Puolitetaan hitsauskustannukset seminaari 9.4.2008 Mikko Veikkolainen, Ratkaisuliiketoimintapäällikkö

Lisätiedot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs

Lisätiedot

Perinteisesti käytettävät tiedon (datan) tyypit

Perinteisesti käytettävät tiedon (datan) tyypit Perinteisesti käytettävät tiedon (datan) tyypit Relaatiot Dokumentit Nämä muodostavat yhdessä vain 20% kaikesta käyttökelposesta datasta LAITEDATA Datallasi on kerrottavaa sinulle. Kuunteletko sitä? Mitä

Lisätiedot

Laiteriippumaton UI Ajaxilla ja Javalla

Laiteriippumaton UI Ajaxilla ja Javalla Laiteriippumaton UI Ajaxilla ja Javalla IT Mill Joonas Lehtinen, PhD CEO IT Mill Leading expert on RIA (Rich Internet Applications) Provides tools, services and support for software development for Web,

Lisätiedot

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä. public-procurement

Innovative and responsible public procurement Urban Agenda kumppanuusryhmä.   public-procurement Innovative and responsible public procurement Urban Agenda kumppanuusryhmä https://ec.europa.eu/futurium/en/ public-procurement Julkiset hankinnat liittyvät moneen Konsortio Lähtökohdat ja tavoitteet Every

Lisätiedot

Mitä mahdollisuuksia tuloksemme tarjoavat museoille?

Mitä mahdollisuuksia tuloksemme tarjoavat museoille? Mitä mahdollisuuksia tuloksemme tarjoavat museoille? Prof. Eero Hyvönen Helsinki Institute for Information Technology HIIT University of Helsinki, Dept. of Computer Science Semantic Computing Research

Lisätiedot