Arkkitehtuurinen reflektio

Samankaltaiset tiedostot
arvostelija OSDA ja UDDI palveluhakemistoina.

Selainpelien pelimoottorit

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

Aika/Datum Month and year Kesäkuu 2012

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Luonnontieteiden popularisointi ja sen ideologia

! #! %! & #!!!!! ()) +

Malliperustainen ohjelmistokehitys (Model-Driven Engineering, MDE)

Hallintomallit Suomen valtionhallinnon tietohallintostrategioissa

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

Reflektiomekanismien rooli palveluorientoituneissa järjestelmissä. Seminaarityö Tom Bertell

Laskennallinen yhteiskuntatiede

Oppimateriaalin kokoaminen ja paketointi

OpenUP ohjelmistokehitysprosessi

7. Product-line architectures

Tyyppiluokat II konstruktoriluokat, funktionaaliset riippuvuudet. TIES341 Funktio-ohjelmointi 2 Kevät 2006

XML-tutkimus Jyväskylän yliopistossa

Computing Curricula raportin vertailu kolmeen suomalaiseen koulutusohjelmaan

!"#$%&'$("#)*+,!!,"*--.$*#,&--#"*/".,,%0

Asuntojen neliöhinnan vaihtelu Helsingissä ( )

Ohjelmistoarkkitehtuurit. Kevät

Palvelutasosopimukset ja niiden asema IT-ulkoistuksissa

Tehostettu kisällioppiminen tietojenkäsittelytieteen ja matematiikan opetuksessa yliopistossa Thomas Vikberg

Palvelulaatutietoinen väliohjelmisto

arvostelija Turvallisuuskriittisissä, sulautetuissa järjestelmissä esiintyvien ohjelmistovaatimusten virheanalyysi Jarkko-Juhana Sievi

MEMS-muisti relaatiotietokannoissa

Ohjelmistoarkkitehtuurit. Syksy 2010

Käytettävyyslaatumallin rakentaminen web-sivustolle. Oulun yliopisto tietojenkäsittelytieteiden laitos pro gradu -suunnitelma Timo Laapotti 28.9.

Simulation model to compare opportunistic maintenance policies

Enterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri

Teknologinen muutos ja yliopistojen tulevaisuus. Tievie-seminaari Helsinki Antti Auer

Ohjelmistoarkkitehtuurit, syksy

Palvelujen dynaaminen valvonta

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

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

Seminaari: HL7 versio 2

Teknologia-arkkitehtuurit. Valinta ja mallinnus

Kurssin sisältö. Kurssin sisältö. Luentoaikataulu karkeasti. Esseiden aikataulu. Aihe-ehdotuksia esseille. Aihe-ehdotuksia esseille

Digitalisaation rakenteellisista jännitteistä. Tero Vartiainen tieto- ja tietoliikennetekniikan yksikkö

Kielitieteellisten aineistojen käsittely

KYMIJOEN VAELLUSKALOJEN NOUSUREITTIEN AVAAMISEN KUSTANNUSTEN JA HYÖTYJEN ARVIOINTI

Luottamuksen ja maineen rooli palveluperustaisten yhteisöjen muodostamisessa

Dominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Vaatimusten ja konfiguraation hallinta avoimessa ohjelmistokehityksessä

Julkaisufoorumin kuulumiset

Käyttökokemuksen evaluoinnista käyttökokemuksen ohjaamaan suunnitteluun. ecommunication & UX SUMMIT Eija Kaasinen, VTT

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

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kahden virtualisointiohjelmiston suorituskyvyn testaus (valmiin työn esittely)

1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006

Ontologiakirjasto ONKI-Paikka

Ohjelmistoarkkitehtuurit. Syksy 2008

Standardi IEC Ohjelmisto

2 Description of Software Architectures

Epätäydellisen preferenssi-informaation huomioon ottavien päätöksenteon tukimenetelmien vertailu (aihe-esittely)

Avoimet ohjelmistokehykset

Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa

Tutkittu totuus globaalista ohjelmistokehityksestä

SOA SIG SOA Tuotetoimittajan näkökulma

Hajautettujen työvoiden hallinta

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit. Syksy 2007

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Useaa tietolähdettä käyttävä klusterointi

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

European Certificate for Quality in Internationalisation. Mafi Saarilammi Korkeakoulujen arviointineuvosto

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

1 Johdanto. Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1

TietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1

Ajankohtaisia SOA tutkimusteemoja

Metatiedon hallinnan ja reflektion yhdistäminen väliohjelmistoissa

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

Yrityksen informaatio- ja toimintoprosessien optimointi

7.4 Variability management

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

HL7 Clinical Document Architecture. Seminaari: Tiedonhallinta terveydenhuollossa Riku Niittymäki

KANSILEHDEN MALLISIVU

Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO

Kliininen dokumentaatio

VÄRE premises Sari Dhima

T Software Architecture

Tuote- ja palvelukehitys Eroja yksityisen ja kolmannen sektorin välillä

Paikkaontologiat. Tomi Kauppinen ja Jari Väätäinen Aalto-yliopiston teknillinen korkeakoulu tomi.j.kauppinen at gmail.com

VBE2 Työpaketit Jiri Hietanen / TTY

Ohjelmistojen laadun parantaminen refaktoroinnilla Simo Mäkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto

OPPIMINEN ja SEN TUKEMINEN Supporting learning for understanding

Valvonta palvelusuuntautuneissa järjestelmissä

Lyhyesti uusista DI-ohjelmista Isohenkilökoulutus to Opintoasianpäällikkö Mari Knuuttila

Ohjelmistoarkkitehtuurin suunnittelu

Oulun yliopiston tutkinto-ohjelmaportfolio 2017 alkaen

Sähkötekniikan tutkintoohjelma. DI-tutkinto ja uranäkymät

Aalto Service Factory

Aalto University School of Engineering Ongelmaperusteisen oppimisen innovatiivinen soveltaminen yliopisto-opetuksessa

perustamishankkeeseen ja päämajan sijoittamiseen Suomeen

Ohjelmistoarkkitehtuurit

Power BI Tech Conference Power BI. #TechConfFI. Johdanto

A new model of regional development work in habilitation of children - Good habilitation in functional networks

Transkriptio:

Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Matemaattisluonnontieteellinen tiedekunta Tekijä Författare Author Toni RuokolainenToni.Ruokolainen@cs.helsinki.fi Työn nimi Arbetets titel Title Tietojenkäsittelytieteen laitos Arkkitehtuurinen reflektio Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Tiivistelmä 6.10.2003 4 Tiivistelmä Referat Abstract Avainsanat Nyckelord Keywords Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information

Sisältö ii 1 Johdanto 2 2 Arkkitehtuurinen reflektio 2 2.1 Topologinen reflektio..................................... 3 2.2 Strateginen reflektio...................................... 3 3 Arkkitehtuurikuvaukset 3 4 Tekniikka 3 4.1 Arkkitehtuurikuvausten hallinta............................... 3 4.2 Järjestelmän monitorointi................................... 3 4.3 Reflektio järjestelmässä.................................... 3 5 Yhteenveto 3 Lähteet 4

Kuvat

1 Johdanto 2 Nykyään suuri osa yritysten palveluista on saavutettavissa Internetin kautta koska tahansa ja mistä tahansa. Kauppaa käydään vuorokauden ympäri sekä yritysten että ihmisten välillä. Yritysten välinen kilpailu ja asiakkaiden vaatimukset luovat yrityksille paineita päivittää tarjoamiensa palveluiden toteutuksia aikaajoin. Palveluiden tulisi kuitenkin olla aina saatavilla ja adaptoitavissa muuttuvien tarpeiden mukaan, mutta siitä huolimatta järjestelmien tulisi olla käytettävissä lähes koko ajan. Tätä varten tarvitaan palveluiden ajoympäristö, joka tukee palvelukomponenttien ajonaikaista päivittämistä ja adaptoitumista. Jotta palvelukomponentteja voitaisiin päivittää ja adaptoida, pitäisi järjestelmän tietää missä tilassa ne ovat. Erityisesti tulisi tietää, mitkä muut palvelukomponentit riippuvat päivitettävästä komponentista ja kuinka ne toimivat yhteen. Komponenttien suhteet ja yhteentoimivuus muodostavat perinteisen käsityksen mukaan järjestelmän arkkitehtuurin [GAO95]. Järjestelmän tulisi huomata, milloin sen arkkitehtuuri muuttuu tai milloin sitä pitäisi muuttaa, jotta käyttäjille voitaisiin taata haluttu palvelu. Järjestelmän arkkitehtuurin tasolla tapahtuvat ajonaikaiset muutokset ja niihin mukautuminen asettavat huomattavia vaatimuksia itse infrastruktuurijärjestelmälle ja sen informaatiosisällölle. Arkkitehtuurin tulee olla eksplisiittisesti kuvattuna ja järjestelmän saatavissa, jotta palveluita voitaisiin turvallisesti ja automaattisesti muuttaa. Arkkitehtuurikuvauksen lisäksi pitäisi järjestelmän ajonaikainen tilatieto olla käytössä siinä laajuudessa, että arkkitehtuurin kannalta olennaiset ominaisuudet saadaan selville. Lisäksi arkkitehtuurikuvausten ja järjestelmän tilatietojen pitää olla synkronoitu varsinaisen tilan kanssa siten, että kuvausten avulla voidaan tehdä johtopäätelmiä järjestelmän nykytilasta [CSST98]. Arkkitehtuurikuvauksiin perustuvaa laskentaa ja reagoimista kutsutaan arkkitehtuuriseksi reflektioksi [TSCS01]. Tässä seminaarikirjoitelmassa tutustutaan arkkitehtuurisen reflektion käsitteeseen. Arkkitehtuurinen reflektio on mahdollista vain, jos arkkitehtuurin kuvaus on eksplisiittisesti kuvailtuna. Tämän vuoksi tutustutaan myös siihen, kuinka ohjelmistoarkkitehtuureja voidaan mallintaa arkkitehtuurinkuvauskielillä ja minkälaista tietoa kuvausten tulee sisältää. Viimeiseksi käsitellään sitä, kuinka arkkitehtuurikuvausten perusteella voidaan käytännössä suorittaa arkkitehtuurista reflektiota. 2 Arkkitehtuurinen reflektio Arkkitehtuurinen reflektio määritellään ohjelmiston laskennaksi oman arkkitehtuurisen kuvansa perusteella [CSST98]. Arkkitehtuurista reflektiota voidaan käsitellä kahdella tasolla: topologisella ja strategisella. Topologinen tieto on järjestelmän konfiguraatiota koskevaa tietoa. Se sisältää kuvaukset siitä, mitä komponentteja järjestelmä sisältää ja kuinka eri komponentit liittyvät toisiinsa. Yleisesti puhutaan komponenteista ja konnektoreista, jotka eristävät järjestelmän toiminnallisuuden ja tietojenvaihdon komponenttien välillä omiksi käsitteiksiin [AG94]. Strateginen tieto taas käsittelee enemmän kokonaisjärjestelmän käytöstä tai käyttötarkoitusta. Strategia määrittelee esimerkiksi sen, missä vaiheessa tietty toiminnallisuus tulee tehdä [CSST98].

3 2.1 Topologinen reflektio 2.2 Strateginen reflektio 3 Arkkitehtuurikuvaukset 4 Tekniikka 4.1 Arkkitehtuurikuvausten hallinta 4.2 Järjestelmän monitorointi [DR97] 4.3 Reflektio järjestelmässä 5 Yhteenveto

Lähteet AG94 BBI + 00 CBCP02 CdBS01 CSST CSST98 CSST99 DC01 DR97 GAO95 Allen, R. ja Garlan, D., Formalizing architectural connection. Proceedings of the 16th international conference on Software engineering. IEEE Computer Society Press, 1994, sivut 71 80. Blair, G. S., Blair, L., Issarny, V., Tuma, P. ja Zarras, A., The role of software architecture in constraining adaptation incomponent-based middleware platforms. IFIP/ACM International Conference on Distributed systems platforms. Springer-Verlag New York, Inc., 2000, sivut 164 184. Coulson, G., Blair, G. S., Clarke, M. ja Parlavantzas, N., The design of a configurable and reconfigurable middleware platform. Distributed Computing, 15,2(2002), sivut 109 126. URL citeseer.nj.nec.com/599551.html. Cuesta, C. E., de la Fuente, P. ja Barrio-Solorzano, M., Dynamic coordination architecture through the use of reflection. Proceedings of the 2001 ACM symposium on Applied computing. ACM Press, 2001, sivut 134 140. Cazzola, W., Savigni, A., Sosio, A. ja Tisato, F., Architectural reflection: Concepts, design, and evaluation. URL citeseer.nj.nec.com/422304.html. Cazzola, W., Savigni, A., Sosio, A. ja Tisato, F., Architectural reflection: Bridging the gap between a running system and its architectural specification, 1998. URL citeseer.nj. nec.com/cazzola98architectural.html. Cazzola, W., Savigni, A., Sosio, A. ja Tisato, F., Rule-based strategic reflection: observing and modifying behaviour at the architectural level. Automated Software Engineering, 1999. 14th IEEE International Conference on. IEEE, lokakuu 1999, sivut 263 266. Dowling, J. ja Cahill, V., The k-component architecture meta-model for self-adaptive software. Metalevel Architectures and Separation of Crosscutting Concerns : Third International Conference, REFLECTION 2001, Kyoto, Japan, September 25-28, 2001, Proceedings, osa 2192 sarjasta Lecture Notes in Computer Science. Springer-Verlag Heidelberg, tammikuu 2001, sivut 81 88. Ducasse, S. ja Richner, T., Executable connectors: towards reusable design elements. Proceedings of the 6th European conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering. Springer-Verlag New York, Inc., 1997, sivut 483 499. Garlan, D., Allen, R. ja Ockerbloom, J., Architectural mismatch or why it s hard to build systems out of existing parts. Proceedings of the 17th international conference on Software engineering. ACM Press, 1995, sivut 179 185. 4 Kee03 Keeney, J., Chisel: A policy-driven, context-aware, dynamic adaptation framework, 2003. URL citeseer.nj.nec.com/keeney03chisel.html. Mae87 TSCS01 Maes, P., Concepts and experiments in computational reflection. Conference proceedings on Object-oriented programming systems, languages and applications. ACM Press, 1987, sivut 147 155. Tisato, F., Savigni, A., Cazzola, W. ja Sosio, A., Architectural reflection: Realising software architectures via reflective activities. Lecture Notes in Computer Science, 1999, sivut 102?? URL citeseer.nj.nec.com/tisato00architectural.html.