11.07.2015 Views

selykielen suunnittelu ja toteutus Samu Viita

selykielen suunnittelu ja toteutus Samu Viita

selykielen suunnittelu ja toteutus Samu Viita

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

48Prolog-ohjelmassa aikaisemmin kuin niiden kompositio. Tämän jälkeenjohdetut attribuutit muodostetaan metodien avulla. Johdettujen attribuuttienvaatimuksena on se, että ne ovat yksipaikkaisia metode<strong>ja</strong>. Metodin ollessa yksipaikkainensitä voidaan soveltaa Prolog++:ssa samalla tavalla kuin attribuutte<strong>ja</strong>kin.Tällöin käyttäjän ei tarvitse tietää, onko kyseessä johdettu- vai normaaliattribuutti. Edellä olleet tehtävät riippuvat kulloisestakin sovellutusalueesta,missä kyselykieltä tullaan käyttämään. Näiden vaiheiden lisäksi prototyyppitoteutuksessaon suoritettava manuaalisesti sekä tulostusmetodin määrittäminenluokkaan, että intensionaalisen esityksen laatiminen. Tulevaisuudessa tämä työon tarkoitus saada käyttäjälle automaattiseksi tai graafisella käyttöliittymälläsuoritettavaksi. Myös ensimmäisen pakollisen vaiheen tulostusmetodin saamistaautomaattiseksi tutkitaan <strong>ja</strong>tkossa.5.4.3. PSE-tietokannan kuvaus <strong>ja</strong> esimerkkitietokantaTietokannan tulee sisältää kaikkien ylimpien tasojen oliotyyppien (top-type)intensionaalinen kuvaus aiemmin esitetyllä tavalla. Oletetaan, että tietokantakoostuu kahdesta polkupyörätyypistä, aiemmin esitetystä tricycle:stä <strong>ja</strong> lisäksiJunkkarin [2001] työssä esitetystä bicycle:stä. Tällöin tietokantaan totetutetaanniihin liittyvät intensionaalisen tason esitykset. Intensionaalista tasoa ei siis oletarkoitus esittää kaikista tricycle:n <strong>ja</strong> bicycle:n alikokonaisuuksista itsenäisinäkuvauksina. Jos sen si<strong>ja</strong>an pyörien alikokonaisuuksia luodaan itsenäisinä osina,tulee myös alikokonaisuuksien intensionaalinen esitys toteuttaa erikseen.Seuraavaksi esittelen esimerkkitietokannan, joka koostuu kolmesta tricycleoliosta<strong>ja</strong> kolmesta bicycle-oliosta. Tricycle-luokan osa-kokonaisuusrakenne onsama, kuin aikaisemmissa esimerkeissä. Tällöin tricycle:llä oli ainoastaan yksiilmentymä. Tarkastelen myöhemmin esiteltäviä esimerkkikyselyjä tähän esimerkkitietokantaanperustuen. Esimerkkitietokannan <strong>toteutus</strong> muodostuu siiskahdesta intensionaalisen tason Prolog-esityksestä <strong>ja</strong> kuudesta ekstensionaalisentason Prolog-esityksestä. Prolog-termeinä tietokantaa ei tässä yhteydessäenää esitetä, koska termit ovat <strong>toteutus</strong>rakenteita, joista ky<strong>selykielen</strong> käyttäjänei tarvitse olle selvillä. Sen si<strong>ja</strong>an havainnollistan tietokantaa aikaisemmin käyttämällänisisäkkäisten taulukoiden mukaisella visualisointitavalla. Visualisoinnistaon jätetty tilankäytön vuoksi johdettu attribuutti weigth pois, vaikkase oletetaan esimerkkikyselyissä olevan mukana. Weigth on siis jokaisella PSEesityksenkompositiolla johdettuna attribuuttina <strong>ja</strong> se on toteutettu metodinavulla. Perusoliotyypeillä weigth on normaali attribuutti. Ennen bicycle-osakokonaisuussuhteentaulukkoesitystä havainnollistetaan bicyclen rakenne kuvassa5.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!