Helsingin yliopisto Tietojenkäsittelytieteen laitos
 

Tietojenkäsittelytieteen laitos

Tietoa laitoksesta:

 

Graduaiheita ja projektitöitä


Aiheet ovat ideatasoisiaa viitteitä, eivät suoraan kelvollisia aihemäärittelyjä. Jotkut työkohteista soveltuvat paremmin ryhmälle kuin yksin tehtäväksi. Työn kieli voi useimmissa tapauksissa olla joko suomi tai englanti.

Advanced implementation repositories

Implementation repository is a middleware service (for CORBA) that is responsible of keeping persistent servers available, i.e., activating registered servers by demand and locating them.

The purpose of this study is to review existing implementation repositories and suggest an appropriate candidate for a standard CORBA management interface and functionality model for this service.

The problems not properly addressed in most implementation repository implementations include cooperation between multiple domains (i.e. federation). Domains can present independent administration (e.g. independent installation strategies) or independent selection of technologies (e.g. different kind of hardware, different operating system).

Component download

Modern handheld devices have a drawback of lacking resources for carrying elaborate selection of applications. Modern middleware can help by providing a service for downloading software components.

The problems encountered in the design of the download service include the heterogeneity of devices to be served, and suitable packaging of the components. Starting points for the solutions can be found in XML-based component descriptors as they appear for example in CORBA component model.

Component interoperability checking

Distributed component systems are gaining ground in modern application production. Especially in distributed applications, the issue of component interface interoperability is essential. Traditionally, interfaces are matched based on shared syntactical structure and inheritance-based subtyping.

The interface type matching problem can be enhanced using an advanced subtyping test defined in ODP reference model. Essentially this model allows subtype tests without shared inheritance hierarchy.

The work comprises of a review of existing type matching litterature and status quo in CORBA environment, and of enhanced interface repository implementation with the ODP subtyping approach.

Creating a marketplace using webservices and uddi

Webservices provide tools for composing distributed applications from remote services available in the Internet. Communication is based on Internet protocols, like http and soap, documents are structured using XML derivatives.

The purpose of this project is to create a marketplace for the general use of our students to offer service located at their private or group web-pages.

Multimedia transfer services

For example, an overseas video meeting requires smooth transfer of continuous media, i.e. voice and movie. The IPv6 protocol set provides means to support the multimedia transfer needs.

The purpose of this project is to create a test application, and study in the context of it the possibilities of resource management or QoS control and monitoring.

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