Kuopion yliopiston tietojenkäsittelytieteen ja sovelletun matematiikan laitoksella tutkitaan sekä tietojenkäsittelytieteen menetelmiä että niiden soveltamista myös muiden tieteenalojen ongelmissa, varsinkin lääketieteen.
Lääketieteellisten signaalien (esim. sydänsähkökäyrä, EKG) hahmontunnistusongelmia ratkaistaan syntaktisiin ja neuraaliverkkomenetelmiin pohjautuen. Neuraaliverkkoja hyödynnetään myös psykolingvististen simulointien ja mallintamisen yhteydessä.
Teoreettista ja soveltavaa tutkimusta tehdään formaalien menetelmien alalla, jossa päämääränä on kehittää luotettavasti toimivia korkealaatuisia ohjelmia.
Oliokeskeinen lähestymistapa tietojärjestelmien suunnittelussa ja analyysissä on sekä systemointia että ohjelmointia koskettava aihealue.
Tilastollista tietojenkäsittelyä tutkitaan kehittämällä tilastollisia asiantuntijajärjestelmiä.
Oman tutkimusalueensa muodostavat rakenteiset dokumentit, joille on paljon sovelluksia nykyisissä sähköisissä asiakirjoissa.
Sovellettu matematiikka on tietojenkäsittelytieteen lähitiede, jossa laitoksemme kiinnostuksen kohteena on bioteknologiaan ja biologiaan liittyvien ilmiöiden matemaattinen mallintaminen ja säätö. Lisäksi tutkitaan kuvankäsittelyyn tietokoneessa liittyviä ongelmia.
Oliokeskeisten menetelmien tutkimus painottuu seuraaville alueille:
1. oliokeskeiset analyysi- ja suunnittelumenetelmät,
2. oliokeskeisen sovelluksen ylläpito ja
3. CASE-ohjelmistot
Oliokeskeisiin analyysimenetelmiin liittyen on laitoksellamme testattu useita eri analyysi- ja suunnittelu- menetelmiä. Samalla on pyritty hahmottamaan eri menetelmien vahvuudet ja heikkoudet. Menetelmien kuvaukset on kerätty luentomateriaaliksi.
Laitoksella on myös kehitetty uusi analyysi menetelmä, joka on aiemmin esitettyjä menetelmiä algoritmisempi antaen näin enemmän tukea myös niille oliokeskeisyyden soveltajille, joille näkökulma on uusi. Keskeiseksi asiaksi nousee myös suunnitelman laatua kuvaavien mittareiden käyttö.
Oliokeskeisen sovelluksen ylläpito asettaa suunnittelijan uusien haasteiden eteen. Voidaankin sanoa, että olikeskeisen systeemin ylläpito on jopa vaativampaa kuin perinteisen sovelluksen ylläpito. Tämä aiheutuu siitä, että oliokeskeisen järjestelmän alkioilla (luokka, metodi, olio) on enemmän keskinäisiä riippuvuuksia kuin perinteisissä järjestelmissä. Omalta osaltaan tätä ongelmaa ratkaisee sovelluskehyksien ja sovellusmallien käyttö. Keskeinen ongelma ylläpidossa on luokkahierarkian ylläpito. Tähän ongelmaan on laitoksellamme etsitty ratkaisuja rakentamalla mm. CASE-väline joka tukee navigointia luokkahierarkiassa.
CASE-välineiden tutkimuksen tavoitteena on lisätä välineisiin piirteitä, jotka antaisivat välineen käyttäjälle enemmän tukea. Ei riitä enää, että CASE-väline on piirtämistä helpottava apuneuvo. Välineen on pystyttävä johtamaan tuloksia aiemmin syötettyjen määrittelyjen perusteella, jotta käyttäjän ei tarvitse syöttää samoja tietoja useaan kertaan. Tässä yhteydessä mielenkiintoiseksi nousee myös käänteisen suunnittelun näkökulma.
Oliokeskeisiä menetelmiä tutkii laitoksella FT Anne Putkonen.
Formaalit menetelmät ohjelmistokehitystyössä tuovat graafisten analyysi- ja suunnittelumenetelmien rinnalle joukko-oppiin ja predikaattilogiikkaan pohjautuvan menetelmistön.
Laitoksen tutkijoista FL Virpi Kasurinen ja FM Mauno Rönkkö ovat mukana apulaisprofessori Kaisa Seren johtamassa FORMET -projektissa, jossa mukana on myös suomalaisia yrityksiä. FORMET (Formal Methods in System Design) keskittyy formaalien menetelmien käytännön sovelluksiin kaupannollis-hallinnollisilla ja lääketieteellisillä osa-alueilla. Projektiin liittyen on tehty tutkimusta siitä, kuinka tieto-, tila- ja toimintomallit voidaan esittää formaalist, ja mitä lisäarvoa formaalit menetelmät antavat oliokeskeisiin ja rakenteisisiin menetelmiin verrattuna. Myös formaalien menetelmien soveltuvuutta sulautettujen järjestelmien suunnitteluun on tutkittu.
Formaalit menetelmät ovat tänä päivänä lähimpänä ideaalista sovellustuotantoa, jossa systeemin määrittelystä voidaan generoida ohjelmakoodi. Tämän mahdollistaa systeemin määrittelyn asteittainen tarkentaminen ohjelmakoodiksi. Ohjelmakoodin automaattinen generointi vapauttaisi tietotekniikan ammattilaiset ajattelemaan rakennettavaa sovellusta loogisena kokonaisuutena, jossa sovellukseen liittyvien komponettien keskinäiset