Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

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

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:

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