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
- 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