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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

70ukseksi saadaan molemman tason tietoa. Tämä kyselytyyppi on myösyleinen olemassaolevilla kyselykielillä.Kielen poh<strong>ja</strong>lla oleva mallinnustapa sitoo intensionaalisen <strong>ja</strong> ekstensionaalisentason tavalla, joka mahdollistaa kaksisuuntaisen liikkumisen tasojen välillä.Tasojen sitomiseen <strong>ja</strong> osa-kokonaisuussuhteen analysointiin käytin indeksointimekanismia[Niemi, 1983; Junkkari, 2001]. Mallinnuksen toteutin Prolog++ohjelmointikielellä [Moss, 1994], joka on deduktiivinen olio-orientoitunut kieli.Junkkarin [2001] kehittämä PSE-esitystavan mallinsin Prolog-termeillä konstruktointiprimitiivienavulla [Niemi and Järvelin, 1991].Prototyypin kohdalla en kiinnittänyt suurta huomiota tehokkuusnäkökulmaan.Tietyt monimutkaiset kyselyt vievätkin aikaa. Jatkokehittelyn kannaltatähän asiaan tuleekin kiinnittää huomiota. Prototyyppi osoittaa kuitenkinmahdollisuuden kehittää kieli, joka on sekä erittäin deklaratiivinen että samallailmaisuvoimainen.Totesin tutkielman teon edetessä, että myös kahdelle ekstensionaalisekstensionaaliselleprimitiiville löytyy kielessä käyttöä. Intensionaalisekstensionaalisillaprimitiiveillä ei pysty riittävän tehokkaasti sitomaan ilmentymiätoisiinsa tietyissä kyselytarpeissa. Ilman ekstensionaalis-ekstensionaalistaprimitiiviä ei pysty hakemaan tietyn olion komposiitti- tai komponenttioliota.Tällaiseen tilanteeseen on tarvetta esimerkiksi seuraavassa kyselyssä, joka liittyyedellä esitettyyn esimerkkitietokantaan: ”Anna sellaisen bicycle:n priceattribuutinarvo, jonka frame-komponentin frame no-attribuutin arvo on 8265”.Tällaisessa kyselyssä tarvitaan primitiiviä, jolla pystytään löytämään tietyn olionkomposiittiolio tai vaihtoehtoisesti tietyn olion komponenttiolio. Esitystapamahdollistaa helposti ekstensionaalis-ekstensionaalisten primitiivien toteuttamisen<strong>ja</strong> tulevaisuudessa toteutetaankin tarvittavat kaksi primitiiviä.Jatkossa kieli on tarkoitus integroida is-a suhteen monipuoliseen käsittelyynsoveltuvan kielen [Christensen, 1998; Niemi et al., 2000] kanssa. Integroinninmyötä mahdollistuvat osa-kokonaisuussuhteiden hyväksikäyttö myös deduktiivistenoliotyyppien määrittelyssä. Deduktiivisten oliotyyppien ideana on ryhmitelläolioita siten, että kriteerit täyttävät oliot edustavat ilmeistä reaalimaailmankäsitettä. Esimerkkinä deduktiivisesta oliotyypistä, joka määritellään osakokonaisuussuhteenpoh<strong>ja</strong>lta, voisi olla lasten polkupyörä. Kriteereinä tällaisellepolkupyörälle voisi olla se, että pyörä on joko kolmipyörä tai sen rungonkorkeus on enintään 50 senttiä. Deduktiivista oliotyyppiä voidaan käyttää samallatavalla kyselyissä kuin normaalia oliotyyppiä. Tavoitteena on, että loppukäyttäjänei siis tarvitse tietää, onko kyseessä deduktiivinen oliotyyppi vainormaali oliotyyppi.

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

Saved successfully!

Ooh no, something went wrong!