selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
4abc d e f ghiKuva 1. Esimerkki osa-kokonaisuussuhteestaPerusolioksi (basic object) kutsutaan oliota, jolla ei ole komponentte<strong>ja</strong>. Kuvassa 1.perusolioina ovat d, e, f, g, h <strong>ja</strong> i. Ylimmän tason olio (super object) puolestaan tarkoittaaoliota, jolla ei ole kompositiota. Näitä ovat kuvassa a <strong>ja</strong> b. Polku (path)jostain oliosta toiseen osa-kokonaisuussuhteessa olevaan olioon tarkoittaa reittiä,joka yhdistää oliot a <strong>ja</strong> b toisiinsa. Esimerkissä Polku oliosta a olioon i koostuureitistä a-c-i. Jaetuksi osaksi (shared object) kutsutaan osaa, joka on vähintäänkahden komposiitin komponenttina. Kuvassa 1 olio e on tällainen.Osa-kokonaisuussuhteen mallintamisen tarkoitus on kohdealueen kokonaisuuden<strong>ja</strong> sen osien välisen suhteen esittäminen. Kir<strong>ja</strong>llisuudessa puhutaanusein myös kompleksisista objekteista [Järvelin and Niemi, 1999; Savnik et al.1999; Carey et al., 1988] <strong>ja</strong> komposiittiobjekteista [Halper et al., 1998; Motscnig-Pitrik and Kaasboll, 1999]. Vaikka monet puhuvat aggregaatiosuhteista osakokonaisuussuhteidenyhteydessä, termi on moniselitteinen.Motschnig-Pitrik <strong>ja</strong> Kaasboll [1999] tekee erottelun komposition <strong>ja</strong> aggregaatinvälille. Aggregaatin <strong>ja</strong> komposition semantiikat eroavat toisistaan heidänerottelussaan seuraavalla tavalla: aggregaatti voi olla jokin kompleksinen rakenne,jossa jäsenillä ei ole komponentti- tai komposiittisuhdetta keskenään.Esimerkiksi tästä Motschnig-Pitrik kollegoineen ottaa huoneen, joka voidaantulkita joko aggregaatiksi tai komposiitiksi. Jos huone tulkitaan koostuvan lattiasta,seinistä, ikkunoista <strong>ja</strong> ovista, puhutaan kompositiosta. Jos taas huone nähdäänsiihen liittyvien ominaisuuksien joukkona, kuten esimerkiksi omista<strong>ja</strong>,koko <strong>ja</strong> si<strong>ja</strong>inti, tulkitaan huone aggregaatiksi. Aggregaatti on siis erottelussakäytännöllisemmässä <strong>ja</strong> yleisemmässä merkityksessä kuin komposiitti. Aggregaatinyhteydessä huoneeseen yhdistetään attribuutte<strong>ja</strong>, joilla on merkitys jossakinsovelluksessa. Tässä tapauksessa attribuuttien tarkoituksena ei ole kui-