35oliotyyppejä on mahdollista esittää samassa osa-kokonaisuusrakenteessa, mikäei puolestaan ole mahdollista NF 2 -relaatioiden yhteydessä. Tilanpuutteen takiajoidenkin attribuuttien nimiä on lyhennetty. Attribuuttinimet Diam, W, H, L, B<strong>ja</strong> R_Type tarkoittavat vastaavassa järjestyksessä attribuutte<strong>ja</strong> Diameter, Weigth,Heigth, Length, Breadth <strong>ja</strong> Rim_type.TRICYCLEoid Priceo12100FRAMEoid Frame-No Materialo9 4566545 steelSADDLEoidPad oid H.o10 plastic o11 17STEERINGKuvassa 3. on selvyyden vuoksi harmaalla värillä sävytetty intensionaalinentaso <strong>ja</strong> valkoisella ekstensionaalinen taso. Esimerkkikaaviossa on siis vain yksitricycle:n ilmentymä. Jos ilmentymiä olisi useampia, ne olisivat valkoisessaosassa omilla riveillään. Ekstensionaalisella tasolla vasemmalta oikealle mentäessäkuvataan ensimmäiseksi tricycle-olion identiteetti (oid), jonka arvona onesimerkissä o12. Tämän jälkeen tulevat tricycle:n attribuutit, joita esimerkin tapauksessaon vain yksi eli Price. Attribuutin arvona on 100 ekstensionaalisellatasolla. Tämän jälkeen kuvataan tricycle:n komponentit, frame, saddle, steering <strong>ja</strong>rear. Kaikki tricycle:n komponentit, jotka ovat samalla myös kompositioita, esitetäänsamalla periaatteella kuin tricycle itsekin. Komponentit, jotka eivät olekompositioita, esitetään muutoin samalla tavalla kuin kompositiot, mutta luonnollisestiilman komponentte<strong>ja</strong>. Tällaisia perustyyppejä esimerkkikaaviossaovat front axle,handlebar,pedals,wheel,rear axle <strong>ja</strong> wheel.Visualisoinnissa intensionaalinen <strong>ja</strong> ekstensionaalinen taso on sidottu toisiinsaselkeällä tavalla. Intensionaalisen tason miltä tahansa kohdalta voidaansiirtyä tarkastelemaan sitä vastaavia ekstensionaalisia arvo<strong>ja</strong>. Myös toiseensuuntaan tarkastelu on mahdollista. Visualisoinnista näkee esimerkiksi sen, ettäarvoa 17 vastaa tricycle:n komponentin steering:in heigth-attribuutti intensionaalisellatasolla.PSE-esitystavassa taulukkoesityksen harmaa alue esitetään siis binäärirelaationa.Taulukon intensionaalisesta osasta huomataan sen olevan muodostettutavalla, joka luo mahdollisuuden liittää tietty indeksi sen jokaiselle attribuutille<strong>ja</strong> komponentille. Ylimpään kokonaisuuteen, eli tricycle:een, voidaan liittääindeksi . Kun mennään osa-kokonaisuushierarkiatasolta yksi taso alaspäin,indeksin pituutta kasvatetaan yhdellä, eli indeksi on tällöin muotoa , missäX on jokin kokonaisluku. Vasemmalta oikealle mentäessä X:n arvoa kasvate-FRONT AXLE HANDLEBAR PEDALS WHEELREAR AXLE WHEELoid B.oid L. oid B. oid Diam. oid Diam. R_type oid Diam. L. oid Diam. R_typeo2 6 unitedo5 4 o6 13 o7 5 o8 8 united o4 13 o1 0.5 12o3 6 unitedKuva 3. Kolmipyörän intensionaalisen <strong>ja</strong> ekstensionaalisen tason sisältävä taulukkoesitysREAR
36taan. Kolmipyörän tapauksessa vasemmalta oikealle mentäessä senensimmäisenä olevassa attribuuttissa (Price) arvotetaan yhdeksi <strong>ja</strong> seuraavaksitulevassa komponentissa (frame) X arvotetaan kahdeksi. Toisin sanoen priceattribuuttiavastaa indeksi <strong>ja</strong> frame:a . On huomionarvoista, ettäolioidentiteettiin ei liitetä indeksiä lainkaan, koska siihen ei liity osakokonaisuussuhteissaintensionaalisella tasolla omaa semanttista tulkintaa. Samallaperiaatteella front axle –komponentin length-attribuuttiin liitetään indeksi, sillä indeksi liittyy steering:iin <strong>ja</strong> indeksi steering:inkomponenttiin front axle:en, <strong>ja</strong> lopulta front axle:n ensimmäiseen <strong>ja</strong> ainoaan attribuuttiinlength indeksi . Indeksit kuvaavat sisäkkäisiä hierarkiataso<strong>ja</strong>,eli attribuuttien <strong>ja</strong> komponenttien si<strong>ja</strong>intia oliotyypissä/oliossa. Taulukkoesityksessäolevaan ekstensionaaliseen tasoon ei kuitenkaan pystytä indeksejähyödyntämään, sillä taso on esitetty tasaisena rakenteena. Kaaviossatasot on sidottu toisiinsa vain visuaalisesti.PSE-esitystavassa tieto on kuitenkin esitetty tavalla, jossa intensionaalisellatasolla esiintyvät indeksit on mahdollista liittää myös olioille <strong>ja</strong> attribuuttienarvoille. Ekstensionaalinen taso on esitetty PSE-esityksessä aiemmin esitetylläkolmella rakenteella. Tuple-rakenteen ansiosta ekstensionaalinen taso esitetäänsystemaattisesti siten, että se mahdollistaa indeksien soveltamisen. Tupleesityksessäjokaisella elementillä on positio, johon indeksissä olevalla kokonaisluvullavoidaan viitata. Tämän takia jokainen olio on kuvattu tuple-rakenteellaPSE-esityksessä. Tuple-rakenteen alkioina ovat attribuutin arvot <strong>ja</strong> oliot. Kuvassa3. tricycle:n rear-komponentissa wheel-oliotyyppi on esitetty vain kerran.Kuitenkin kuvassa wheel:iä vastaa kaksi ilmentymää ekstensionaalisella tasolla.Wheel-oliot esitetään siinä allekkain. Toisen olioidentiteetti on o2 <strong>ja</strong> toisen o3.Tämä ilmentää sitä, että rear-osassa wheel-käsitettä vastaa joukko wheel-olioita,joiden järjestyksellä ei ole väliä. Tässä tapauksessa joukossa on kaksi oliota.Niistä ei voi päätellä kumpi on vasemmanpuoleinen <strong>ja</strong> kumpi oikeanpuoleinenwheel-olio. Tällä tavalla pystytään kuvaamaan jäsen/kokoelma -suhdetta. PSEesitystavassatämänkaltainen tilanne on ratkaistu siten, että jokainen olio onjoukon sisällä. Oliojoukkoon liittyy aina vain yksi indeksi. Jos joukossa on useampiolio, tämä merkitsee sitä, että kaikkiin joukossa oleviin olioihin liittyy samaindeksi. Alla on Junkkarin [2001] antama PSE-esitys yllä olevasta tricycleesimerkistä.Ensin kuvataan ekstensionaalinen taso:{o12}, {o4}>}
- Page 1 and 2: Osa-kokonaisuussuhteen käsittelyyn
- Page 3 and 4: ii1. Johdanto .....................
- Page 5 and 6: ivTermitC++ Proseduraalinen ohjelmo
- Page 7 and 8: 2nen tapa poistaa kompleksisuutta o
- Page 9 and 10: 4abc d e f ghiKuva 1. Esimerkki osa
- Page 11 and 12: 6ovat osa autoa ja fonologia on osa
- Page 13 and 14: 8liittyy usein poissulkeutuvuusomin
- Page 15 and 16: 10voidaan jakaa kahteen periytymise
- Page 17 and 18: 12kahierarkian luokkiin. Oliolla on
- Page 19 and 20: 14nimistä. Lisäksi rakenteeseen e
- Page 21 and 22: 16(oid1, ).”Helkama”, ohjaus: o
- Page 23 and 24: 18class departmenttype [dept_name:s
- Page 25 and 26: 20kossa oleva joukko sisältää yh
- Page 27 and 28: 22kaksisuuntaisesti. Seuraavaksi ta
- Page 29: 24poa ja etenkin päivitykset ovat
- Page 32 and 33: 27minen tapahtuu intensionaalisella
- Page 34 and 35: 29siten, että eri hyttityypit on j
- Page 36 and 37: 314.7. Muita kielen vaatimuksia osa
- Page 38 and 39: 33Osa-kokonaisuussuhteita sisältä
- Page 42 and 43: 37Yllä oleva ekstensionaalinen tas
- Page 44 and 45: 39Toteutuskielen tulee täyttää k
- Page 46 and 47: 41Sääntö tulkitaan luonnollisen
- Page 48 and 49: 43Luokan määrittäminen aloitetaa
- Page 50 and 51: 45pse([map(tricycle,t(1)),map(price
- Page 52 and 53: 47ta tiettyä arvoa tai oliota vast
- Page 54 and 55: 49FRAMESADDLETRICYCLESTEERINGKun si
- Page 56 and 57: 516. Kielen primitiivit ja esimerkk
- Page 58 and 59: 53X = steering, X = tricycle, X = d
- Page 60 and 61: 551. arg1 is_instance_of arg22. arg
- Page 62 and 63: 57gointitiedotilmaistaan aggregoint
- Page 64 and 65: 59täsmälleen samat rivit poisteta
- Page 66 and 67: 61res(X) where diam is_property_of
- Page 68 and 69: 636.3.2. Ekstensionaaliset kyselytE
- Page 70 and 71: 65res(aluminium).Jos käyttäjä ei
- Page 72 and 73: 67res(C,Material,sum(Comp:weigth))
- Page 74 and 75: 697. YhteenvetoTutkielmassa tarkast
- Page 76 and 77: 718. Lähdeluettelo[Agrawal, 1987]
- Page 78 and 79: 73[Moss, 1994] Chris Moss, Prolog++