67res(C,Material,sum(Comp:weigth)) where apply_to [bicycle], materialis_property_of C, Comp is_instance_of C,Comp is_component_object_of bicycle,Comp:material(Material).Kyselyssä where-primitiivin oikealla puolella ilmaistaan, että kyselyä sovelletaanainoastaan bicycle:n osa-kokonaisuussuhteille apply_to-primitiivin avulla.C-muuttu<strong>ja</strong>lla tarkoitetaan komponenttityyppiä, jolla on attribuutti nimeltäänmaterial. Lisäksi ilmaistaan, että Comp-muuttu<strong>ja</strong> tarkoittaa C-muuttu<strong>ja</strong>n mukaistailmentymää <strong>ja</strong> että ilmentymän tulee olla bicycle:n alikomponenttioliona. LopuksiComp-muuttu<strong>ja</strong>n arvona olevan olion material-attribuutin arvoon viitataanMaterial-muuttu<strong>ja</strong>lla. Vastausrelaatioon halutaan mukaan komponenttityyppi,tyyppiä vastaava materiaali <strong>ja</strong> komponentti-materiaali -paria vastaavienkomponenttien yhteenlaskettu paino. Komponenttityypin tieto löytyy siis C-muuttu<strong>ja</strong>sta <strong>ja</strong> tyyppiin liittyvä materiaali Material-muuttu<strong>ja</strong>sta. Soveltamallasum –aggregointifunktiota, yksittäisen komponenttiolion painoon, saadaankaikkien ehdot täyttävien komponenttien painojen summa selville.Kyselyn vastauksena saadaan relaatiores(frame,steel,10.2)res(saddle,leather,1.1)res(saddle,plastic,2.2).Analyyttistä voimaa sisältyy myös kyselyyn, jossa saadaan vastaukseksi polkupyöräntietyn osan kaikki komponentit, niiden ominaisuudet <strong>ja</strong> ominaisuuksienarvot. Tällöin saadaan kerralla kattava näkemys tietyn komponentin intensionaalisesta<strong>ja</strong> ekstensionaalisesta tasosta. Seuraavassa esimerkkikyselyssä halutaansaada selville tricycle:n steering:in kaikki alikomponentit <strong>ja</strong> niitä vastaavatominaisuudet. Lisäksi jokaisen ominaisuuden kohdalla halutaan vielä ominaisuudenarvo. Kyselyres(T,P,Z) where apply_to [tricycle], X is_component_object_of steering,Xis_instance_of T,P is_property_of T,X:P(Z).tuottaa laa<strong>ja</strong>n relaation, jonka tupleista esittelen vain muutaman:result(front_axle,l,4)result(front_axle,weigth,14)result(handlebars,weigth,1.1)
68result(handlebars,b,13)result(pedals,weigth,3)result(pedals,diam,5)result(wheel,weigth,1.4)result(wheel,diam,8)result(wheel,r_type,united)
- 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 40 and 41: 35oliotyyppejä on mahdollista esit
- 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 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++