University of Helsinki        Department of Computer Science

Eliot



Yleiskuva Eliotista

Eliot (ELävät olIOT) on työkalu, jonka avulla käyttäjä voi helposti ja nopeasti tuottaa ohjelmasta animaation interaktiivisen käyttöliittymän avulla. Perinteinen tapa muodostaa animaatio ohjelmasta on lisätä useisiin ohjelman kohtiin animaatioprimitiivit, joiden avulla halutut pirteet saadaan näkymään. Eliotin erilainen lähestymistapa perustuu perustietotyyppien (kokonaisluku, liukuluku, merkki, taulukko) visualisointiin, jolloin animaation tekijän, animaattorin, ei ohjelmaa kirjoittaessaan tarvitse huolehtia itse animaation muodostamisesta.

Eliotin käyttämisessä on kaksi vaihetta. Ensin animaattori kirjoittaa Eliot-C kielisen ohjelman. Eliot-C on hieman muunneltu versio tavallisesta C ohjelmointikielestä. Tämän jälkeen animaattori valitsee Eliotin graafisesta käyttölittymästä haluamilleen ohjelman muuttujille esitysmuodon Eliotin tarjoamista valmiista vaihtoehdoista.

Toisessa vaiheessa Eliot muodostaa ohjelmasta valmiin itsenäisestikin ajettavan animaation. Näin saatu ohjelma toimii aivan kuten alkuperäinen ohjelmakoodi olisi käännetty millä tahansa kääntäjällä, mutta kuvaa reaaliajassa visuaalisesti ohjelman toimintaa. Tämän mahdollistaa perustietotyyppien itseanimoituvuus, jolloin niille tehtävät operaatiot saavat animaation automaattisesti etenemään.

Eliotin muodostama animaatio perustuu teatterimalliin , joten ohjelmasta voi samanaikaisesti näkyä animaatioita useassa ikkunassa kuvaten ohjelman kulkua eri tavoilla.


Järjestelmän kuvaus

Eliot koostuu kahdesta pääkokonaisuudesta: Eliotin edeltäjään Halsa++:n perustuva itseanimoituvat tietotyypit sisältävä luokkakirjasto ja graafinen käyttöliittymä. Halsa++, kuten Eliotkin, on toteutettu C++-kielellä ja sen tietotyyppien itseanimoituvuus on saatu aikaan C++-kielen mahdollisuudella kuormittaa operaattoreita. Tällä tavalla muuttujille tehtävät operaatiot näkyvät samanaikaisesti animaatiossa. Eliot animoi automaattisesti sijoitukset ja vertailut sekä joitakin laskutoimituksia. Halsa++ on toteutettu John T. Staskon Georgian teknillisessä korkeakoulussa kehittämän Polka-animointipaketin avulla.

Eliotin käyttöliittymä (kuva) koostuu kolmesta varsin itsenäisestä osasta: varsinaisesta käyttöliittymästä, jäsentäjästä ja Eliot-C kääntäjästä. Käyttöliittymä on toteutettu wxWindows-luokkakirjaston avulla. Jäsentäjän toteutuksessa on käytetty apuna lex- ja yacc-apuohjelmia.

Kuva: 1. Eliot saa syötteenä Eliot-C-kielisen ohjelman. Jäsentäjä muodostaa ohjelmasta jäsennyspuun ja ulkoasun ominaisuudet sisältävän tietorakenteen. 2. Käyttäjä muuttaa ulkoasua haluamallaan tavalla. 3. Eliot-C kääntäjä tuottaa C++-kielisen ohjelman ja makefile-tiedoston kääntämistä varten. 4. Tuotettu C++-koodi linkitetään luokkakirjaston kanssa valmiiksi animaatioksi.


Toimintaympäristö

Eliot-järjestelmä toimii tällä hetkellä vain Sunin unix X-ikkunointiympäristössä. Eliot vaatii asennettaessa wxWindows-luokkakirjaston ja Sunin CC-kääntäjän. Käytössä Eliot tarvitsee Polka-animointipaketin ja OpenLook-ympäristön, sekä Sunin CC-kääntäjän. Mahdollisesti Eliot toimisi muidenkin arkkitehtuurien kanssa, mutta tätä ei ole laitoksellamme testattu.

Toteutamme Eliotista parhaillaan myös PC-ympäristössä toimivaa, jolloin sitä voi käyttää Windows 3.1 (tai uudempi) käyttöliittymän alla. Ensimmäinen versio pcEliotista valmistunee kesällä 1996 ja lisätietoja saa tällöin näiltä sivuilta.


Esimerkki



Sivu viimeksi päivitetty 3.5.96

Tommi Teräsvirta