Ohjelmistotuotannon aiheet syksyllä (ja kesällä) 1997

Ryhmiin on ilmoittauduttava viimeistään 30.5.1997 täyttämällä lomake laitoksen ilmoittautumisjärjestelmässä TKT_ILMO. Ilmoittautumisen yhteydessä on annettava suosituimmuusjärjestyksessä 3 ryhmää, joihin haluaisi osallistua. Kesäryhmään 10 on ilmoittauduttava viimeistään 16.5.1997 sekä ilmoittautumisjärjestelmän kautta että ottamalla henkilökohtaisesti yhteyttä Jukka Paakkiin (h. A321, puh. 708 44154, e-mail: paakki@cs.helsinki.fi).

Osallistuminen on mahdollista vain, mikäli cum lauden pakolliset kurssit ja laboratoriotyöt (Tieteellisen kirjoittamisen kurssia lukuunottamatta) on suoritettu ennen ryhmätyön aloittamista. Syksyn ryhmiin pääsy edellyttää myös kurssin teoriaosuuden hyväksyttyä suoritusta.


Syksyksi (kesäksi) 1997 ovat tarjolla seuraavat ryhmätyöaiheet:
  1. Työkalu rinnakkaisjärjestelmien siirtymäverkkojen analyysiin
  2. WWW-alustalla toimivan tietokantasovelluksen toteutustuki
  3. 3D-animointi - interaktiivisuutta animaatiotuotantoon
  4. COCONUT-tuotteenhallintaohjelmiston toteutus
  5. NetPICSearch: interaktiivinen kuvahakujärjestelmä verkossa
  6. Vuorovaikutteinen ongelmanratkaisun jäsentelijä
  7. Avoin adaptoituva oppimisympäristö
  8. RODAIN-metadatan hallinnan toteutus
  9. Liikkuvan työaseman ohjelmistot
  10. Järvi- ja pohjakerrostumien tietokanta (kesäaihe !!)
  11. Biologisen viruksen kolmiulotteisen rakenteen visualisointi

1. Työkalu rinnakkaisjärjestelmien siirtymäverkkojen analyysiin

Tutkimusalue:
Ohjelmistot - formaali spesifiointi ja verifiointi
Asiakas:
Roope Kaivola
Ohjaaja:
Timo Karvi
Työn aihepiiri:
Hajautetuissa ja rinnakkaisissa järjestelmissä esiintyy usein vaikeasti ennakoitavia virhetilanteita, jotka johtuvat samanaikaisesti suoritettavien prosessien välisistä odottamattomista vuorovaikutuksista. Eri suoritusmahdollisuuksien suuresta määrästä johtuen tällaisten virheiden havaitseminen pelkästään järjestelmää testaamalla on vaikeaa jollei mahdotonta tehdä kattavasti. Testaamisen sijasta järjestelmän oikeellisuudesta voidaan pyrkiä vakuuttumaan formaalien spesifiointi- ja verifiointimenetelmien avulla. Käytännössä on osoittautunut, että monien mielenkiintoisten rinnakkaisjärjestelmien toimintaa voidaan mallintaa äärellisillä siirtymäverkoilla, jolloin niiden oikeellisuuden formaali analysointi voidaan tehdä algoritmisesti, automaattisten tai puoliautomaattisten työkalujen avulla. Siirtymäverkkojen analyysissä eri ekvivalenssi- eli samankaltaisuuskäsitteeet ovat keskeisellä sijalla. Esimerkiksi järjestelmän toteutusta ja spesifikaatiota vastaavien siirtymäverkkojen ekvivalenssia voidaan käyttää kriteerinä sille, vastaako toteutus todella spesifikaatiota. Myös ekvivalenssien kaltaisia mutta niitä yleisempiä esijärjestysrelaatioita käytetään usein samoihin tarkoituksiin.
Työn kuvaus:
Tässä Ohjelmistotuotannon ryhmässä toteutetaan joukko siirtymäverkkojen välisten ekvivalenssi- ja esijärjestysrelaatioiden tarkastus- ja redusointialgoritmeja. Muodostettavan ohjelmiston syötteenä ovat muilla työkaluohjelmistoilla (suomalainen ARA, ranskalainen Aldebaran) tuotetut siirtymäverkot, joita nyt toteutettavilla työkaluilla analysoidaan. Toteutettavat ekvivalenssi ja esijärjestyskäsitteet (ainakin nk. trace, maximal trace, NDFD- ja CFFD-esijärjestykset) ovat kaikki luonteeltaan samantyyppisiä, ja eri ekvivalensseja käsittelevät välineet saadaan yhtä perusalgoritmijoukkoa parametroimalla.
Toteutettavat algoritmit spesifioidaan yksityiskohtaisesti tehtävämäärittelyssä. Vaikka algoritmit ovat suhteellisen vaativia, ei niiden takana olevan teorian hallitseminen ole välttämätöntä niiden ohjelmoijalle. Algoritmien testausta helpottaa se, että valmiita testiesimerkkejä on runsaasti saatavissa. Todennäköisesti haastavinta projektissa on algoritmien toteuttaminen ja niiden käyttämien tietorakenteiden valinta niin, että järjestelmällä kyetään tehokkuutensa puolesta analysoimaan realistisen kokoisia verkkoja (luokkaa 10 000 - 100 000 tilaa).
Toteutusympäristö:
Projektin ohjelmointikielenä on Ada, johon perehdytään ryhmässä työn alussa. Se on kokemuksemme mukaan helppo omaksua Pascalin pohjalta.
Erityisvaatimukset:
Esitietoina edellytetään Laskennan teoria. Tietorakenteet-kurssin verkkotietorakenteita käsittelevän osuuden hyvä hallinta on myös toivottavaa.

2. WWW-alustalla toimivan tietokantasovelluksen toteutustuki

Tutkimusalue:
Informaatiojärjestelmät - relaatiotietokannat, WWW
Asiakas:
Harri Laine
Työn aihepiiri:
Työssä tuotetaan välineistö, jolla voidaan helpottaa WWW-alustalla toimivien Oracle-tietokantaa käyttävien tietokantasovellusten toteutusta. Välineistö on tarkoitettu ensisijaisesti käytettäväksi Informaatiojärjestelmien harjoitustyön yhteydessä, mutta sillä on yleisempääkin käyttöä.
Työn kuvaus:
Työn tavoitteena on tuottaa automaattisesti WWW-sivujen kautta annettavien määritysten perusteella WWW-sivuista muodostuva kokonaisuus pienehkön tietokannan yksinkertaiseen kyselyyn ja ylläpitoon. Järjestelmän ytimenä on relaatiotietokantana toteutettava kuvauskanta, jonne järjestelmän kuvaus tuotetaan määrittelysivujen perusteella. Tämän kuvauskannan pohjalta tuotetaan varsinaisen tietokannan käsittelyyn tarkoitettuja WWW-sivuja tuottavat ja tulkitsevat ohjelmat.
Kuvan siitä, millaisia ohjelmia työssä on tarkoitus generoida, saa esim. tarkastelemalla Informaatiojärjestelmät-kurssiin liittyviä WWW-aineistoja:
http://www.cs.Helsinki.fi/~laine/info/kevat97/infolom.html
http://www.cs.Helsinki.fi/~laine/info/kevat97/h9v.html
http://www.cs.Helsinki.FI/~kuittine/infon_tyo/
Toteutusympäristö:
Oracle, Oracle WedServer, SQL, PL/SQL-ohjelmointikieli, JavaScript sekä mahdollisesti myös Java ja HTML.

3. 3D-animointi - interaktiivisuutta animaatiotuotantoon

Tutkimusalueet:
Yleinen sv - graafinen tietojenkäsittely;
Ohjelmistot - olio-ohjelmointi;
Informaatiojärjestelmät - käyttöliittymät
Asiakkaat:
Matti Mäkelä ja Harri Laine
Työn aihepiiri:
Laitoksella on erikois- ja ohjelmistotuotantotöinä toteutettu ohjelmisto vuorovaikutteiseen kolmiulotteiseen animointiin Windows-ympäristössä. Järjestelmän kehitykseen on osallistunut neljä aiempaa työryhmää. Touho-animaattorilla suunnitellaan ja katsellaan animaatiota sekä osallistutaan siihen. Animaation näyttelijät ja lavasteet tuotetaan Iines- tai Pelle-editorilla tai jollain ulkopuolisella kappale-editorilla.
Työn kuvaus:
Tässä työssä täydennetään ja kehitetään Touho-animointivälineistöä. Animaation suunnittelu- ja katseluvälineistöön lisätään välineistön käyttökelpoisuutta lisääviä piirteitä. Erityisesti keskitytään parantamaan käyttäjän mahdollisuuksia ohjata animaation kulkua, määritellä ohjaimia ja kytkeä niihin toimenpiteitä. Myös tietyt välttämättömät perustoiminnot kuten törmäyksen tunnistus ja tapahtumien laukaisemat toiminnot viimeistellään.
Yhtenä kehitystavoitteena on muokata Touhosta interaktiivinen väline VRML2-animaatioiden (Virtual Reality Modeling Language) laadintaan.
Työssä opitaan Windows-ohjelmistokehitystä, oliokeskeistä ohjelmistokehitystä, C++-ohjelmointia ja grafiikkaohjelmien tekemistä.
Toteutusympäristö:
Toteutusvälineenä on (Borland) C++.
Erityisvaatimukset:
Perustiedot graafisesta tietojenkäsittelystä ovat toivottavia.

4. COCONUT-tuotteenhallintaohjelmiston toteutus

Tutkimusalueet:
Ohjelmistot - ohjelmistomenetelmät;
Informaatiojärjestelmät - systeemityön menetelmät
Asiakkaat:
Inkeri Verkamo ja Harri Laine
Työn aihepiiri:
Keväällä 1996 toiminut ohjelmistotuotantoryhmä on laatinut määrityksen ja toteutussuunnitelman hajautetun tuotteenhallinnan välineistölle. Välineistöstä käytetään työnimeä COCONUT (Configuration Control Utility). Välineistö on tarkoitettu erityisesti Ohjelmistotuotanto-kurssin versionhallintatarpeisiin. Sen peruslähtökohtana on mahdollisuus kehittää ohjelmistoa hallitusti useissa eri ympäristöissä (laitoksella, kotona, Windowsissa, Linuxissa). Välineistö asennetaan kuhunkin ympäristöön, jossa se toimii itsenäisesti. Kaikki kehitysympäristöt ovat samanarvoisia. Välttämätön hallintatieto kulkee mukana tietoja ympäristöjen välillä siirrettäessä.
Työn kuvaus:
Syksyllä 1996 toiminut ot-ryhmä on toteuttanut järjestelmän ytimen Linux-ympäristöön. Syksyn 1997 työryhmän tehtävänä on täydentää ohjelmistoa ja saattaa se toimimaan myös MS-Windows-ympäristössä. Täydennykset kohdistuvat ensisijaisesti konfiguraatioiden (useista komponenteista muodostuvien kokonaisuuksien) käsittelyyn.
Työssä opitaan oliokeskeistä ohjelmistokehitystä, ikkunaohjelmistojen periaatteita, C++-ohjelmointia sekä tuotteenhallinnan ja tuoteenhallintaohjelmistojen periaatteita.
Toteutusympäristö:
COCONUT toteutetaan sekä MS-Windows- että Linux-ympäristöihin. Toteutuskielenä on C++. Moniympäristökäyttöliittymän toteutukseen käytetään wxWindows-luokkakirjastoa.

5. NetPICSearch: interaktiivinen kuvahakujärjestelmä verkossa

Tutkimusalueet:
Yleinen sv - graafinen tietojenkäsittely;
Ohjelmistot - olio-ohjelmointi, hajautetut järjestelmät;
Informaatiojärjestelmät - käyttöliittymät
Asiakkaat:
Kjell Lemström ja Esko Ukkonen
Työn aihepiiri:
Kun tietojärjestelmissä olevan informaation määrä kasvaa, on kuvan haku tietokannasta tai vaikkapa WWW:stä yksitellen selailemalla tai nimen perusteella hankalaa. Tarvitaan automaattista hakua likimääräisen sisällön perusteella.
Tietojenkäsittelytieteen laitoksen Datasta tietoon -tutkimusprojektin puitteissa on laitoksellamme tutkittu myös kuvien hakua sisällön perusteella. Tutkimuksen pohjana on TKK:n ohjelmistoprojektiryhmän kanssa yhteistyössä kehitetty PICSearch-järjestelmä, joka toimii kuvahakujärjestelmän kehikkona.
PICSearch-järjestelmä on toteutettu C++-kielellä ja sen graafinen käyttöliittymä Tcl/Tk:lla. Lisätietoja projektista on saatavilla URL-osoitteesta http://www.cs.Helsinki.fi/~klemstro/picsearch.html.
Työn kuvaus:
Työn ensisijainen tarkoitus on tehdä järjestelmästä verkkokäyttöinen asiakas-palvelin-järjestelmä. Tällöin kuvia voisi hakea verkon yli eri tietokannoista, joissa on toteutettuna PICSearch-palvelin. Lisäksi on tarkoitus laajentaa nykyistä järjestelmää toteuttamalla järjestelmään kuuluvaan kuva-editoriin joitakin kuvankäsittelyn perusalgoritmeja. Tämän lisäksin korjataan eräitä nykyjärjestelmän pieniä puutteita.
Toteutusympäristö:
Järjestelmän toteutukseen käytetään Tcl/Tk:ta ja C++-kieltä. Koska Tcl/Tk on hyvin siirrettävää koodia, järjestelmän pitäisi olla helposti siirrettävissä eri ympäristöihin (ainakin Linux ja Windows95).
Erityisvaatimukset:
Työhön osallistujien toivotaan osaavan C++-kieltä ja Tcl/Tk:ta. Perustiedot graafisesta tietojenkäsittelystä ovat hyödyksi.

6. Vuorovaikutteinen ongelmanratkaisun jäsentelijä

Tutkimusalueet:
Yleinen sv - graafinen tietojenkäsittely, algoritmitutkimus;
Opettajan sv - tietokoneavusteiset oppimisympäristöt
Asiakkaat:
Erkki Rautama ja Erkki Sutinen
Työn aihepiiri:
Käsitekartta on innovaatioihin tähtäävä tiedon esitysmuoto, jota sovelletaan yhä useammin myös tietokonemaailmassa. Esimerkiksi AltaVista-hakupalvelu on ottanut käsitekartat käyttöön helpottamaan hakuehtojen muokkaamista.
Työn kuvaus:
Työryhmän tavoitteena on suunnitella käsitekartan esitystapa, joka hyödyntää tietokoneen mahdollisuuksia (interaktiivisuus, grafiikka, animaatio, etsintä- ja tallennusmenetelmät, joustava rakenne). Tämän pohjalta toteutetaan ympäristö, jolla käsitekartta voidaan luoda - myös automaattisesti annetun tekstiaineiston perusteella - ja muokata sitä. Järjestelmän avulla voidaan myös vertailla eri käsitekarttoja toisiinsa sekä analysoida niiden sisältöä ja rakennetta. Se pyrkii myös auttamaan uusien yhteyksien luomisessa ja rohkaisee käyttäjää uusiin ajattelutapoihin. Järjestelmä suunnitellaan siten, että sitä on helppo myöhemmin laajentaa verkkopohjaisen ongelmanratkaisun tukijärjestelmäksi.
Työ on osa AAPS-projektia (Animation Aided Problem Solving), joka kuuluu Suomi tietoyhteiskunnaksi -hankkeeseen. Tutkimuksen pedagogisesta osuudesta vastaa Opettajankoulutuslaitos.
Toteutusympäristö:
Työ tehdään Borland Delphillä Windows-ympäristössä.
Erityisvaatimukset:
Olio- ja Windows-ohjelmoinnin hallitsemisesta on työssä etua. Delphin lisäksi työssä oppii interaktiivisten oppimisympäristöjen suunnittelua ja työelämässä vaadittavia ongelmanratkaisutaitoja.

7. Avoin adaptoituva oppimisympäristö

Tutkimusalueet:
Opettajan sv - tietokoneavusteinen opetus;
Yleinen sv - koneoppiminen, tekoäly;
Ohjelmistot - agenttiteknologia
Asiakkaat:
Jaakko Kurhila, Matti Mäkelä ja Erkki Sutinen;
Ruskeasuon koulu
Työn aihepiiri:
Työ kuuluu kesällä 1997 alkavaan projektiin, jonka tarkoituksena on toteuttaa älykkäisiin agentteihin perustuva mukautuva oppimisympäristö vaikeasti toimintarajoitteisille lapsille. Oppimisympäristö on verkkokäyttöinen ja sisällöltään avoin monen käyttäjän järjestelmä, johon voidaan opettajien ja oppilaiden lisäksi liittää esimerkiksi psykologeja, toimintaterapeutteja ja erityispedagogeja. Jokaista oppimisympäristön henkilöä varten on oma tietoa keräävä ja muiden agenttien kanssa kommunikoiva agentti.
Älykkäiden agenttien käyttö ohjelmistoissa on aktiivisen tutkimuksen kohteena oleva ja nopeasti kehittyvä ala, jonka tuntemisesta on etua myös työelämässä. Agenttiteknologian on ennustettu olevan seuraava merkittävä ilmiö tietotekniikassa.
Työn kuvaus:
Tässä ohjelmistotuotantotyössä rajoitutaan toteuttamaan oppimisympäristön perusrakenne ja prototyyppi oppilaan agentista. Oppilaan agentin on pystyttävä oppimaan oppilaan käyttäytymisestä ja välittämään tieto opettajalle. Näin opettaja voi seurata kunkin oppilaan yksilöllistä edistymistä. Oppimisympäristön rakenteen suunnittelu ja toteutus on kuitenkin tehtävä sellaiseksi, että oppimisympäristöä voidaan laajentaa useille oppilaille, opettajille ja muille ympäristöön tarvittaessa liittyville osallistujille. Oppimisympäristössä opetettava käsite tulee tässä versiossa olemaan matematiikka.
Toteutusympäristö:
Ohjelmisto toteutetaan Java-kielellä.
Erityisvaatimukset:
Älykkäiden agenttien käyttö adaptoituvassa oppimisympäristössä on täysin uusi lähestymistapa tietokoneavusteisessa opetuksessa, joten ohjelmistotuotantoryhmälle tarjoutuu tilaisuus innovatiiviseen ja luovaan työskentelyyn. Suunnitteluprosessi on avoin, eikä ongelmaa ole valmiiksi kiinnitetty (yleistä työelämässä). Työn tekijöiden toivotaan osallistuvan laitoksella elokuun lopulla järjestettävään Ongelmanratkaisu-kurssiin. Työn tekijöiden oletetaan osaavan Java-ohjelmointikielen perusteet. Myös koneoppimisen ja tekoälyn perusteiden tuntemuksesta on hyötyä.

8. RODAIN-metadatan hallinnan toteutus

Tutkimusalueet:
Informaatiojärjestelmät - oliotietokannat;
Ohjelmistot - tosiaikakäyttöjärjestelmät
Asiakkaat:
Kimmo Raatikainen ja Jukka Kiviniemi
Työn aihepiiri:
RODAIN on laitoksella toimiva tutkimusprojekti, jonka tavoitteena on kehittää teleliikennekäyttöön soveltuva tosiaikainen oliotietokantajärjestelmä. Projekti on toiminut vuodesta 1994 lähtien. Projektissa työskentelee tällä hetkellä täyspäiväisesti kolme henkilöä, ja sen rahoittajia ovat Nokia Telecommunications, Solid Information Technology, Telecom Finland ja TEKES.
Tosiaikatietokannat ovat tutkimusalueena suhteellisen nuori. Erityisesti teleliikenteen erityisominaisuuksien huomioon ottaminen tosiaikatietokannoissa on tällä hetkellä keskeinen tutkimusalue. Tosiaikaiset järjestelmät ovat yleisesti käytössä esimerkiksi telekommunikaatiosovelluksissa. Tosiaikaisuuden periaatteiden tuntemuksesta on etua työelämään hakeuduttaessa.
Tietokannassa on kahdentyyppistä tietoa: dataa ja metadataa. Metadata kuvaa datan rakenteen. Metadata talletetaan tietokantaan tietohakemistoksi. Oliotietokannan metadatan hallinta edellyttää välineitä olioluokkien, niiden välisen perinnän sekä yksittäisen luokan olioiden attribuuttien ja metodien kuvaamiseen. Tietokantaan tallennetun datan kuvausta on pystyttävä muuttamaan esimerkiksi silloin, kun tarvitaan uusi olioluokka, olioluokkaan lisätään uusia attribuutteja tai jonkin olion käsittelyyn tarvitaan uusia metodeja. Näiden muutosten hallinta tapahtuu erillisen metadatan hallintajärjestelmän kautta.
Työ on jatkoa kevään 1997 ohjelmistotuotantoryhmän (ROBIN) työlle. Ryhmä on määritellyt ja suunnitellut työssä käytettävän metadatan rakenteen, sen käsittelyssä käytettävät operatiot ja operaatioiden rajapinnat.
Työn kuvaus:
Syksyn 1997 ohjelmistotuotantoryhmän tavoitteena on tarkentaa aikaisemman ryhmän tekemää määrittelyä ja toteuttaa metadatan hallinta osaksi RODAIN-projektiryhmän toteuttamaa prototyyppiä. Koska prototyyppikannan toteutus tapahtuu vuoden 1997 aikana, on ryhmän ja RODAIN-projektin välillä hyvin tiivistä vuorovaikutusta. Ryhmä saa käyttöönsä projektissa laaditun tietokantarajapinnan, ja toteutusta tehdään osittain yhteistyössä projektin työntekijöiden kanssa.
Toteutusympäristö:
Työ toteutetaan Linux-ympäristöön käyttäen C++-ohjelmointikieltä. Lisäksi työssä käytetään SOLID-tietokannanhallintajärjestelmää. Mikäli erityistä kiinnostusta esiintyy, voidaan osa toteutuksesta tehdä Chorus-tosiaikakäyttöjärjestelmäympäristössä.
Erityisvaatimukset:
C- tai C++-ohjelmointitaito. Laudatur-kursseista Tiedonhallinta II ja Oliotietokannat on etua.

9. Liikkuvan työaseman ohjelmistot

Tutkimusalue:
Ohjelmistot - liikkuva tietoliikenne
Asiakkaat:
Timo Alanko ja Markku Kojo
Työn aihepiiri:
Työ liittyy laitoksella käynnissä olevaan liikkuvien työasemien toimintaa ja käyttöä tutkivaan ja suunnittelevaan projektiin (MOWGLI). Projektissa tutkimuksen kohteena on hajautettu ympäristö, jossa kannettava työasema kytketään GSM-matkapuhelimen tarjoaman datasiirtopalvelun välityksellä kiinteään tietoliikenneverkkoon. Projektissa keskeisenä työkohteena on sellaisen toiminnallisuuden kehittäminen, joka ottaa huomioon langattoman linkin ja liikkuvan työaseman erityispiirteet. Ratkaisu perustuu kahden perusolion käyttöön: agenttiin, joka sijoittuu liikkuvaan työasemaan, ja valtuutettuun, joka toimii langattoman verkon ja lankaverkon yhdistävässä solmukoneessa ja edustaa parhaansa mukaan liikkuvassa asemassa toimivaa sovelluksen osaa.
Järjestelmän perustoteutus on tehty liikkuvalle Linux-työasemalle, Linux-yhdyssolmulle ja TCP/IP-tietoliikenneverkolle.
Työn kuvaus:
Syksyn 1997 työaiheeksi kaavaillaan graafisen käyttöliittymän toteuttamista liikkuvaan tiedostopalveluun. Tiedostopalvelu on toteutettu kevään 1997 ot-työryhmässä, mutta tämän toteutuksen käyttöliittymä on merkkipohjainen.
Toteutusympäristö:
Ohjelmointityö tehdään C-kieltä käyttäen. Toteutusalustana on Linux.
Erityisvaatimukset:
Ryhmään osallistuvilta edellytetään hyvää ohjelmointitaitoa.

10. Järvi- ja pohjakerrostumien tietokanta

HUOM!!! Ryhmä työskentelee kesällä 1997. Ilmoittautuminen viimeistään 16.5 sekä elektronisesti (TKT_ILMO) että henkilökohtaisesti (Jukka Paakki, h. A321, puh. 708 44154, e-mail: paakki@cs.helsinki.fi)!!!

Tutkimusalueet:
Luonnontieteelliset sovellukset - paleoekologia;
Informaatiojärjestelmät - tietokannat
Asiakkaat:
Atte Korhola ja Tom Blom (maantieteen laitos)
Ohjaaja:
Kimmo Fredriksson
Työn aihepiiri:
Maantieteen laitoksen paleoekologian tutkimusryhmässä on kerätty aineistoa järvien vesistä ja pohjakerrostumista. Vedestä ja kerrostumista on määritetty useita kemiallisia ja fysikaalisia muuttujia kuten alkuaineet ja niiden pitoisuudet, eliöiden (esim. piilevät) lukumäärät jne. Lisäksi näytteen oton paikka ja mitattujen arvojen sijainti näytteessä on talletettu.
Työn kuvaus:
Ohjelmistotuotantoryhmän tavoitteena on yhtenäistää paleoekologian tutkimusryhmän tiedonhallinta suunnittelemalla ja toteuttamalla tutkimusta tukeva tietokantajärjestelmä, johon talletetaan järvien ja pohjakerrostumien tiedot. Lisäksi talletetaan muita tietoja, kuten tiedot aineiston keruun menetelmistä ja aineiston analysointimenetelmistä.
Työssä toteutetaan myös tutkimusta tukevia raportteja, joiden tavoitteena on mm. happamoitumisen, saastumisen ja ilmastonmuutosten selvittäminen. Esimerkiksi happamoitumisen vaihtelua voidaan selvittää vertailemalla toisiinsa eri järvistä saatuja tuloksia sekä laatimalla tilastomatemaattisia malleja, joita voidaan soveltaa järvien pohjasedimentteihin.
Erityisvaatimukset:
Opiskelijoilta odotetaan perehtyneisyyttä tietokantoihin.

11. Biologisen viruksen kolmiulotteisen rakenteen visualisointi

Tutkimusalueet:
Luonnontieteelliset sovellukset - virusten rakenne;
Yleinen sv - tieteellinen visualisointi
Asiakkaat:
Janne Ravantti, prof. Dennis Bamford (Biokeskus)
Työn aihepiiri:
Virusten rakennetta voidaan tutkia melko tarkkaan elektronimikroskoopilla. Virusten koko vaihtelee kohtuullisen paljon (15-300 nm). Virusten ulkomuoto voi olla esim. sauvamainen, pyöreä tai säännöllinen monitahokas. Useimmilla viruksilla on symmetrinen perusrakenne.
Tietokoneet ovat rakennetutkimuksen keskeisiä apuvälineitä. Tietokoneita käytetään paitsi laitteiden ohjaukseen ja tiedon talletukseen, myös erilaisten mallien tekemiseen ja testaukseen sekä saatujen tulosten visualisontiin.
Elektronimikroskooppikuvista on mahdollista rakentaa (rekonstruoida) erilaisia kolmiulotteisia virusmalleja, joiden avulla voidaan tutkia sekä viruksen pintaa että sen sisäosia. Virusten rakenteen rekonstruktio on laskennallisesti vaativa prosessi, ja rekonstruktioiden tekoon on kehitetty useita erilaisia menetelmiä. Virusten rekonstruktioiden lähtökohtana ovat usein kohinan vaivaamat kaksiulotteiset kuvat, joiden kaikkien oletetaan kuvaavan saman kolmiulotteisen rakenteen projektioita. Rekonstruktioprosessissa käytetään hyväksi virusten symmetriaa.
Professori Dennis Bamfordin tutkimusryhmä tutkii Biotekniikan Instituutissa Viikissä bakteereita infektoivien virusten rakennetta ja toimintaa. Ryhmällä on laajaa kansainvälistä yhteistoimintaa muun muassa European Molecular Biology Laboratorion (EMBL) kanssa. EMBL:ssä on sekä otettu elektronimikroskooppikuvia prof. Bamfordin tutkimista viruksista että kehitetty ohjelmia em. virusten kolmiulotteisten rakenteiden rekonstruoimiseen ja rekonstruktioiden visualisointiin.
Työn kuvaus:
Ohjelmistotuotannon ryhmässä kehitetään olemassa olevaa virusmallien visualisointiohjelmaa. Visualisoinnin pohjana on AVS-niminen modulaarinen visualisaatio-ohjelmisto, johon on EMBL:ssä kehitetty C-kielellä virusten visualisointiin sopivia yksinkertaisia moduuleita. Ryhmän tulisi parantaa olemassa olevien moduuleiden suorituskykyä, lisätä moduuleihin puuttuvia / toivottavia lisäpiirteitä sekä kirjoittaa uusia moduuleita.
Kyseessä on ensimmäinen ot-ryhmälle tarjottu työ, jonka on tarkoitus käynnistää pitempi (ketjutettu) ohjelmistonkehitys.
Toteutusympäristö:
Työ toteutetaan C-kielellä Unix-ympäristössä.
Erityisvaatimukset:
Ryhmän opiskelijoilta odotetaan kiinnostusta tietokonegrafiikkaan.