Graduaiheita ja projektitöitä
Lisää aiheita vuoden 2002 sivuilla
Ohjelmointikäsitteiden ilmaisuvoiman metriikka
Erityisesti hajautettujen sovellusten ohjelmoinnissa tavanomaiset ohjelmointikieliympäristöt ja niihin liittyvät verkko-ohjelmoinnin paradigmat ovat varsin primitiivisiä. Tämän vuoksi verkkosovellusten ohjelmointi on työlästä ja vaatii ohjelmoijalta paitsi sovellusalueen tuntemusta myös tietoliikenneratkaisujen perusteellista oivaltamista.
Väliohjelmistot (middleware) pyrkivät nostamaan ohjelmoijalle tarjottavan rajapinnan käsitteitä abstraktimmalle tasolle; antamaan voimakkaammat käsitteet, joilla tietoliikenteen ja hajautuksen piirteet voitaisiin piilottaa sovellusohjelmoijalta.
Eri toteutusympäristöjä voidaan verrata keskenään mm. arvioimalla kuinka tehokasta ja laadukasta ohjelmointityö on ko. ympäristössä, ja kuinka tehokkaita ja laadukkaita syntyneet ohjelmointituotteet ovat. Ohjelmatuotteen tehokkuus, ja osin laatukin, osataan "mitata". Sen sijaan tuoreempi kysymys on, millaisilla mittareilla voidaan arvioida ohjelmointikäsitteiden tehokkuutta.
Lähtökohtana työlle ovat mm. ohjelmistometriikan oppikirjat. Yhtenä CASE-tapauksena ohjelmointiympäristöstä tarkastellaan CORBA-järjestelmiä.
Työ edellyttää omatoimista uuden metriikan kehittelyä, joten työ on haasteellinen. Hajautettujen järjestelmien ja tietoliikenteen linjan kurssien lisäksi Ohjelmistotekniikan kurssit ovat suureksi hyödyksi.
Työn tuloksilla on kysyntää käynnissä olevassa tutkimusprojektissa.
Järjestelmän hallintarajapinnat CORBA-ympäristössä
Väliohjelmisto on yleinen ohjelmistokerros, joka yhtenäistää erilaisten käyttöjärjestelmien ja tietoliikenneratkaisujen käyttöä. Väliohjelmistoon kuuluu myös joukko lisäpalveluja, jotka antavat mm. metatietoa käytössä olevista palveluista (palveluiden tyypit, sijainnit, kuormitustilanteet, jne).Väliohjelmiston, tai hajautetun sovellusalustan, tehtäviin kuuluu erilaisia järjestelmän hallintapalveluita, kuten
- komponenttien elinkaaripalvelut (asentaminen, käynnistäminen, poisto),
- valvontapalvelut (QoS-sopimusten noudattaminen, vikatilanteiden havaitseminen),
- turvapiirteiden kytkeminen sovelluksiin,
- konfiguraatioiden hallinta ja
- järjestelmän instrumentointi suorituskykymittauksia varten.
OMG ei toistaiseksi ole standardoinut rajapintoja esimerkiksi yllämainituille asioille.
CORBA-hallintarajapintojen suunnitteluun ja OMG-standardointiin etsitään pätevää henkilöä, joka voi osallistua aiheeseen liittyvään tutkimusprojektiin sekä tehdä pro gradu -työn aihepiiristä.
Tyyppienhallintapalvelu
Väliohjelmisto on yleinen ohjelmistokerros, joka yhtenäistää erilaisten käyttöjärjestelmien ja tietoliikenneratkaisujen käyttöä. Väliohjelmistoon kuuluu myös joukko lisäpalveluja, jotka antavat mm. metatietoa käytössä olevista palveluista (palveluiden tyypit, sijainnit, kuormitustilanteet, jne).Heterogeenisessa, kehittyvässä, autonomisista järjestelmistä muodostuvassa ympäristössä tarvitaan suoritusaikana mahdollisuuksia tarkistaa yhteen sidottavien asiakas- ja palvelijarajapintojen yhteensopivuus. Tähän tarkoitukseen soveltuu tyyppienhallintapalvelu (type repository function). (Tyyppienhallintapalvelua muistuttaa CORBA-arkkitehtuurin Interface Repositorya.)
Tyyppienhallintapalvelu käyttää löyhiä, sovellusalustasta riippumattomia tyyppikuvauksia edistyneen väliohjemiston tarvitsemissa neuvottelu- ja valintaprotokollissa. Komponenttien käynnistämisessä puolestaan tarvitaan sovellusalustakohtaisia kaavaimia. Tyyppienhallintapalvelun tehtävänä on ylläpitää suhdetietoja tyyppien ja kaavaimien välillä.
Tyyppienhallintapalvelu perustetaan CORBAn MOF-palveluun (Meta Object Facility), jota laajennetaan tarpeellisin käsittein.
Työ sisältää hieman käsitteellistä kehittelyä sekä konkreettisen osuuden, jossa laaditaan prototyyppi tyyppienhallintapalvelusta CORBA-alustalle. Perustana käytetään jotain vapaasti saatavaa MOF-toteutusta.
Työ voidaan tehdä osana käynnissä olevaa tutkimusprojektia.
Politiikkojen hallinta organisaatiotasolla
Organisaation käyttämien sovellusten tulisi kaikkien käyttäytyä organisaation toimintastrategian edellyttämällä tavalla. Perinteisesti tämä on käytännössä tarkoittanut räätälöityjen sovellusten käyttöä - ja strategisten muutosten yhteydessä kalliita muutostöitä kaikkiin järjestelmän sovelluksiin. Yritysfuusioiden yhteydessä strategiat eivät välttämättä ole edes olleet yhteensovitettavissa.Modernien, komponenttiperustaisten sovellusten eräänä vahvistuvana piirteenä on niiden hallittavuus ns. politiikkojen mukaisesti. Politiikka on ulkoinen sääntö, jonka noudattamiseen sovelluskomponentti on logiikaltaan varautunut. Esimerkiksi, sovellus voi olla käytettävissä vain yrityksen aukioloaikana, muulloin turvasyistä poissa käytöstä.
Jotta sovelluskomponenttien uudelleenkäytettävyys voidaan säilyttää, tarvitaan yhteisiä sopimuksia politiikkasääntöjen valintaan.
Organisaation politiikkasäännöt voidaan koota keskitetyksi tietovarastoksi, politiikkapalvelimeksi.
Työn tavoitteena on tutustua politiikkasääntöjen käsitteistöön, ilmaisutapoihin ja tuottaa yksinkertainen toteutus politiikkapalvelimelle.
ODP-näkökulmakielien käyttö CASE-työkalussa
Avoimien järjestelmien viitemalli ODP-RM (Open Distributed Processing Reference Model) määrittelee joukon peruskäsitteitä, väliohjelmistopalveluja ja näkökulmia hajautettujen järjestelmien määrittelyyn. Näkökulmakielet määräävät mitä asioita järjestelmästä kussakin projektiossa tarkastellaan ja mitä sääntöjä kuvauksessa on noudatettava. Näkökulmia on viisi:- tavoitenäkökulma (enterprise viewpoint), joka keskittyy järjestelmän velvoitteisiin, politiikkoihin ja vuorovaikutukseen,
- informaationäkökulma, joka kuvaa informaatiovarastot ja niiden muutokset,
- toimintonäkökulma (computational viewpoint), joka kuvaa loogisen laskentarakenteen,
- toteutusnäkökulma (engineering viewpoint), joka kuvaa hajautuksen yksityiskohdat ja liittymän sovellusalustan palveluihin ja
- teknologianäkökulma, joka kiinnittää mm. käytetyt tiedon esitys- ja siirtostandardit.
Työssä tutustutaan ensin ODP-näkökulmakieliin ja erääseen työkaluun, joka käyttää UML-profiileja näkökulmakielien toteuttamiseen. Osana työtä laaditaan suppea kuvaus käyttäen näkökulmakieliä mainittua työkalua hyväksi käyttäen.
Tältä pohjalta kehitetään Pilarcos-projektin tavoitteiden mukaiset laajennokset ja variaatiot ennen kaikkea tavoitenäkökulmakielen ilmaisuun.
Yhteydenotot
Mikäli olet kiinnostunut yllä mainituista aiheista tai tehtävistä, lähetä vaikkapa sähköpostitse tai tuo keskustelemaan tullessasi opintorekisteriotteesi, kuvaus mahdollisesta työkokemuksesta sekä lyhyt kuvaus erikoistumis- ja etenemissuunnitelmistasi.
Lea Kutvonen
Department of Computer Science
PBox 26 (Teollisuuskatu 23)
FIN-00014 University of Helsinki
Lea.Kutvonen@cs.Helsinki.FI