next up previous contents
Next: Johdanto Up: Contents Previous: Termit ja lyhenteet

Alkusanat

Tämän työn juuret johtavat Teknillisen korkeakoulun fysiikan oppilaslaboratorioon vuoden 1988 syksyn fysiikan laboratoriotöiden rästivuorolle. Olin tuolloin suorittamassa fysiikan laboratoriotöiden kurssia ja Ari Koskelainen oli yksi rästivuoroa valvovista assistenteista. Ari tarvitsi tutkimusapulaista fysiikan laboratoriossa tehtävään fototransduktiotutkimukseen ja tiedusteli myös minulta halukkuutta työhön. Aloitin samana syksynä työni puolipäiväisenä tutkimusapulaisena.

Kun aloitin työni, mittausdatan rekisteröintiin käytetty mikrotietokone oli Olivetti PC varustettuna kahdella 5,25'' 360k levykeasemalla ja LabMaster[*]-kortilla. Ensimmäiset rekisteröinti- ja analyysisovellukset toteutettiin BASIC-ohjelmina, joissa LabMaster-kortin käsittely tapahtui SALT II[*] -laajennuksen avulla. Tutkittavalle preparaatille annettavia valostimuluksia ohjattiin käsikäyttöisen sulkimen ja käsin säädettävän harmaakiilan avulla.

Kun rekisteröinti- ja analyysiohjelmistoa ryhdyttiin kehittämään, kävi hyvin pian ilmi, että BASIC ja SALT II eivät sovellu kovinkaan monipuolisen analyysisovelluksen toteuttamiseen. Erityisesti SALT II -laajennuksen käyttö oli varsin hankalaa ja sen käyttö olikin perusteltua vain rekisteröinnin reaaliaikaisuusvaatimusten ja BASIC-kielen tulkattavuudesta johtuvan hitauden vuoksi. Koska analyysisovelluksessa ei tarvita rekisteröinnin vaatimia tarkkoja ajoituksia, ohjelmisto jakautui kuin luonnostaan rekisteröintisovellukseksi ja analyysisovellukseksi.

Tuolloin MS Windows oli vielä varsin kehittymätön ympäristö ja koodaaminen Windows-ympäristöön oli erittäin työlästä. Hyvin suuri osa IBM PC -yhteensopivista kaupallisista sovelluksista tehtiin edelleen MS DOS -ympäristöön. Olin itse koodannut vapaa-aikanani lähinnä harrastusmielessä Borlandin BGI-rajapintaa käyttävää Pascal-kielistä graafista käyttöliittymäkirjastoa ja tuolloin tuntui järkevältä hyödyntää valmista kirjastoa analyysisovelluksessa. Näin Turbo Pascal tuli valituksi analyysisovelluksen toteutuskieleksi. Analyysisovelluksen käyttöä ja kehitystä varten hankittiin erillinen kiintolevyllä varustettu i386-kone, jolloin Turbo Pascalista tuli myös laitteiston tehon suhteen järkevä vaihtoehto.

SALT II:n rajoitukset ja kömpelyys alkoivat lopulta häiritä myös rekisteröintisovelluksen laajentamista. Kun rekisteröintiin käytettäväksi mikrotietokoneeksi saatiin kiintolevyllä varustettu i286-kone, tuntui mielekkäältä siirtyä C-kääntäjän käyttöön rekisteröintisovelluksen kehityksessä. Ohjelmiston muuttuessa C-kieliseksi stimuluslaitteiden automaattisen ohjauksen laajentaminen alkoi tuntua inhimilliseltä tehtävältä. Magneettisen sulkimen ohjaus oli toteutettu jo BASIC-kielisessä rekisteröintisovelluksessa ja nyt laitteistoon lisättiin askelmoottorilla ohjattava harmaakiila. Myöhemmin askelmoottoriohjausta sovellettiin myös tutkittavaa preparaattia huuhtelevan liuksen nopeaan vaihtoon. Myös rekisteröintisekvenssejä monipuolistettiin uudenlaisten kokeiden tarpeita varten. Nykyisellään rekisteröintiohjelmiston koodimäärä on noin 7000 riviä.

Kun Turbo Pascalista ja myöhemmin Borland Pascalista tuli markkinoille Windows-ympäristossä toimivat versiot, siirsin analyysisovelluksen Windows-ympäristöön. Tuolloin analyysisovelluksen DOS-version koko oli noin 15000 riviä. Siirtyminen Windows-ympäristöön alkoi olla tarpeen, jotta analyysisovelluksen laajentamista voisi rajoittaa. Koska Windows-ympäristössä graafisen datan siirtämiseen sovellusten välillä on olemassa määritellyt rajapinnat, voitiin analyysisovelluksessa jättää toteuttamatta paljon erityisesti graafisten kuvaajien laatimiseen liittyvää toiminnallisuutta. Silti analyysisovelluksen Windows-version koodimäärä on nykyisin noin 20000 riviä.

Koska ohjelmistoa kehitettiin koko ajan käytännön tarpeiden mukaan, sitä ei koskaan varsinaisesti suunniteltu. Tämän seurauksena sovellusten rakenne ei nykyisellään ole optimaalinen. Moduleiden välillä on riippuvuuksia, joita voitaisiin vähentää selkeyttämällä moduleiden vastuualueita. Sovellusten käyttämiä tietorakenteita voi myös selkeyttää merkittävästi. Tämän diplomityön kirjallisen osan yksi tavoite onkin dokumentoida sovelluksille asetettavat tarpeet käyttäjän näkökulmasta ja esittää järjestelmän oliomalli, jonka pohjalta sovellusten lähdekoodin ymmärtäminen ja mahdollinen laajentaminen tai uudelleen toteuttaminen on mahdollista.

Tämä diplomityö on tarjonnut minulle ainutlaatuisen tilaisuuden osallistua omalla vaatimattomalla panoksellani korkealaatuiseen poikkitieteelliseen tutkimustyöhön. Haluan kiittää työn ohjaajaa Ari Koskelaista tämän työn ohjaamisesta ja hänen ohellaan Simo Hemilää ja Kristian Donneria mielenkiintoisista yhteisistä työvuosista TKK:n fysiikan laboratoriossa. Vaimoani Marja Kosomaata haluan kiittää kärsivällisyydestä ja kannustuksesta erityisesti työn kirjallisen osuuden loppuun saattamisen yhteydessä. Lisäksi haluan kiittää työnantajaani Nokia Telecommunicationsia joustavista työaikajärjestelyistä, joita ilman tämä työ ei olisi koskaan valmistunut.

Espoossa 2. syyskuuta 1997
Antti Miettinen



next up previous contents
Next: Johdanto Up: Contents Previous: Termit ja lyhenteet
Antti Miettinen
9/3/1997

Valid HTML 3.2!