Next: Mittaus- ja stimuluslaitteiston ohjaus
Up: Rekisteröintiohjelmiston oliomalli
Previous: Yleistä
Rekisteröintiohjelmisto voidaan varsin hyvin toteuttaa
merkkipohjaisena sovelluksena, joka vaihtaa graafiseen tilaan vain
ajoittain rekisteröintisekvenssien piirtoa varten. Näin ollen käyttäjän
kanssa kommunikointi tapahtuu tulostamalla ruudulle merkkijonoja ja
lukemalla käyttäjältä merkki- tai merkkijonosyötteitä.
Rekisteröintisovelluksessa tarvittavien syötteiden tyyppejä ovat:
- Kellonaika ja mahdollisesti päivämäärä (vuosi, kuukausi, päivä, tunnit,
minuutit ja sekunnit).
- Erilaiset merkkijonot (esim. kokeen nimi).
- Monivalinta (esim. signaalityyppi - sauvasolun virta tai jännite
verkkokkokalvon yli).
- Reaaliluku (esim. optinen tiheys).
- Kokonaisluku (esim. askelmoottorin kiertoaskeleiden lukumäärä
askelmoottoria kalibroitaessa).
Käyttäjältä kysyttäville parametreille tarvitaan muunnos merkkijonosta
kyseiseen tyyppiin. Parametrin tulostamista varten muunnokset
tarvitaan myös parametrista merkkijonoksi. Jos parametri on
luonteeltaan lueteltu tyyppi tai lista, syöte on luonnollista kysyä
käyttäjältä listaamalla valinnat ja odottamalla käyttäjän valintaa.
Tällöin parametriin liittyy siis valikko.
Kuva 3.2:
Modifioitavan valikkohierarkian olioiden luokkakaavio.
|
Koko sovelluksen käyttöliittymä on perusrakenteeltaan
valikkohierarkia. Päävalikko sisältää erilaiset
rekisteröintisekvenssit sekä muut valinnat, joiden kautta voidaan
esimerkiksi muokata sovelluksen parametreja sekä kalibroida ulkoisia
laitteita. Päävalikko on käyttäjän muokattavissa siten, että siihen
voidaan valita halutut rekisteröintisekvenssit. Valikko voidaan
tallentaa levylle ja lukea sieltä. Käyttäjän kanssa kommunikointi
tapahtuu seuraavasti:
- 1.
- Tulostetaan valikko.
- 2.
- Luetaan käyttäjältä syöte. Osa valikoista on yksinkertaisia,
jolloin syöte on vain yksi merkki.
- 3.
- Jäsennetään käyttäjän syöte. Jos jäsennys epäonnistui, palataan
kohtaan 1.
- 4.
- Tulkitaan jäsennetty syöte. Jäsennetty syöte voi olla muotoa:
- Suorita jokin valikon valinta, mahdollisesti useita kertoja.
- Modifioi jotain valikon valintaa.
- Poistu valikosta.
Kaikkien valikoiden ei tarvitse olla modifioitavissa tai
tallennettavissa. Kuitenkin esimerkiksi rekisteröintisekvenssit
sisältävän valikon tulisi olla käyttäjän muokattavissa.
Modifioidessaan valikkoa, käyttäjä ilmaisee syötteessään valinnan,
jota muokataan. Lisäksi modifiointiin voi liittyä lisäparametri, joka
kertoo kuinka tai mitä osaa valinnasta muokataan. Esimerkiksi
rekisteröintisekvenssistä voidaan haluta muokata vain jotain tiettyä
parametria kuten optinen tiheys. Tämän tyyppinen modifioitavissa oleva
valikkohierarkia voidaan mallintaa kuvan 3.2 mukaisilla
olioilla. Luokka Choice on abstrakti kantaluokka, joka
määrittelee operaatiot, jotka tarvitaan valintojen tulostamiseen,
käyttäjän valinnan suorittamiseen ja valinnan muokkaamiseen. Levylle
tallentamista varten kannattaa määritellä yleiskäyttöiset
persistenttiyden määrittelevät kantaluokat, joista perimällä mikä
tahansa olioiden muodostama graafi voidaan sarjallistaa ja tallentaa
levylle.
Käyttöliittymän toteutuksessa kannattaa tutkia kaupallisten
kirjastojen käyttömahdollisuudet. Valitettavasti useat
käyttöliittymäkirjastot pyrkivät ottamaan haltuunsa sovelluksen
I/O-käsittelyn. Tämä voi muodostua ongelmaksi riippuen siitä, miten
rekisteröintisovelluksen liityntä LabMaster-korttiin toteutetaan.
Rekisteröintisekvenssejä on useaa tyyppiä. Kaikille yhteinen
ominaisuus on vakiotaajuudella tapahtuva rekisteröinti, jolla on
aloitusaika ja kesto. Vaikka nykyisellä laitteistolla rekisteröinti on
aina yksikanavaista, ohjelmiston toteutuksessa tulee varautua myös
monikanavaiseen rekisteröintiin. Usean kanavan rekisteröinnissä eri
kanavien rekisteröintitaajuudet eivät ole välttämättä samat.
Rekisteröinnin lisäksi rekisteröintisekvensseihin voi liittyä
erilaisia stimuluslaitteiston kontrollointisekvenssejä, joiden ajoitus
suhteutetaan aina rekisteröinnin aloitushetkeen.
Rekisteröintisekvenssit voidaan parametrisoida usealla tavalla.
Esimerkiksi preparaatille annettavia stimuluksia käyttäjän kannalta
ovat:
- Valosalama halutulla intensiteetillä ja kestolla.
- Valoaskel halutulla intensiteetillä.
- Liuospulssi halutulla kestolla (vaihto ja paluu).
- Liuoksen vaihto.
Toisaalta stimuluslaitteiden ohjaustoimintoja ovat mm. harmaakiilaa
ohjaavan askelmoottorin askellus ja magneettisen sulkimen avaus.
Dokumentoinnin kannalta parametrointi kannattaa puolestaan määritellä
siten, että kaikki informaatio tulee tallennetuksi kompaktissa muodossa
ja tiedostoformaatti on helposti jäsennettävissä ja laajennettavissa.
Rekisteröinnin aikana rekisteröintisovelluksen tulee toimia tarkkojen
ajoitusten mukaisesti, joten rekisteröintisekvenssit tulee ainakin
rekisteröinnin ajaksi saattaa sellaiseen muotoon, että laitteiston
ohjaaminen on mahdollisimman suoraviivaista. Toisaalta
käyttäjäläheisten sekvenssien modifiointivaatimuksesta seuraa se, että
käyttäjäläheisen esitysmuodon tulee olla vähintäänkin
rekonstruoitavissa sovelluksen käyttämästä esitysmuodosta.
Kuva 3.3:
Käyttäjäläheistä rekisteröintisekvenssiä kuvaavien olioiden
luokkakaavio.
|
Käyttäjän määrittelemään rekisteröintisekvenssiin kohdistettavia
operaatioita ovat:
- Rekisteröintisekvenssin määrittely interaktiivisesti.
- Rekisteröintisekvenssin määrittelyn lukeminen levyltä.
- Rekisteröintisekvenssin määrittelyn tallennus levylle.
- Rekisteröintisekvenssin määrittelyn tulostus ruudulle.
- Määritellyn rekisteröintisekvenssin osittainen modifiointi.
- Rekisteröintisekvenssin suoritus.
Rekisteröintisekvenssin suorittamisen seurauksena rekisteröity
signaali tulee luonnollisesti voida tallentaa levylle parametrien
kera, mutta tämä toiminnallisuus voidaan määritellä siten, että se
riippuu mahdollisimman vähän tässä esitetystä käyttäjäläheisestä
määrittelystä. Kuvassa 3.3 on esitetty luokkakaavio
käyttäjäläheisen rekisteröintisekvenssin mallintamisesta. Oliot on
tässä yhteydessä määritelty attribuuttien avulla, mutta toteutuksessa
tulee luonnollisesti pyrkiä määrittelemään olioiden käsittelyyn
sopivat operaatiot, jotta olioita käyttävä ohjelmisto ei riippuisi
suoraan käytetyistä tietorakenteista.
Next: Mittaus- ja stimuluslaitteiston ohjaus
Up: Rekisteröintiohjelmiston oliomalli
Previous: Yleistä
Antti Miettinen
9/3/1997