3.3.5 T5 Symbol<strong>in</strong>en malli ja mall<strong>in</strong> kutojaErilaisia malleja ja mallienluontimekanismeja (modelweaver) on kehitetty runsaasti mm. OMG:n toimesta(Bezev<strong>in</strong> 2005). OMG on verrannut erilaistenmalliratkaisujen om<strong>in</strong>aisuuksia seuraavasti. Tärkeitävertailtavia piirteitä ovat modulaarisuus, muunnettavuus,jäljitettävyys, formalisoitavuus, kood<strong>in</strong> suoritettavuus,aspektien poim<strong>in</strong>nan mahdollisuus ja ratkaisunerikoistamisen mahdollisuudet. MOF-mallien keske<strong>in</strong>enheikkous on assosiaatioiden käsittelyssä. Koskaoliomallit voivat itsessään käyttää va<strong>in</strong> olioita, joidenheikkoutena on suljettu sisä<strong>in</strong>en rakenne, MOF-malleissajoudutaan joka<strong>in</strong>en assosiaatio pilkkomaan useiksiolioiksi (kuten association, associationEnd, l<strong>in</strong>k jal<strong>in</strong>kEnd). Pilkkomisen takia mallien läpikäynti vaatiipaljon ohjelmo<strong>in</strong>tia ja monimutkaisia algoritmeja.Takais<strong>in</strong>mall<strong>in</strong>tamisen kannalta tärkeimpiä mallienpiirteitä ovat modulaarisuus, muunnettavuus,jäljitettävyys, formalisoitavuus ja suoritettavuus. OMGtoteaa, että MDA:lla ei voida tuottaa suoritettavaa mallia,vaikkak<strong>in</strong> ”executable uml” on paljon käytetty käsite.Sen sijaan äskeisten teorioiden T1-T4 mukaan kehitettymalli on simuloitavissa eli mall<strong>in</strong>nettavissa ni<strong>in</strong> pitkälle,että myös kood<strong>in</strong> sivuvaikutukset voidaan analysoida.Samalla simulo<strong>in</strong>nista saadaan tuloksena jälki (trace),joka vastaa dynaamisen analyys<strong>in</strong> tulosjoukkoa.Symbol<strong>in</strong>en malli on formalisoitavissa tarkkaan jamuutettavissa myös MDA-malleiksi ns. xmi-esitystavanavulla (XMI 2005).Symbolisen mall<strong>in</strong> keskeis<strong>in</strong> ja lähes a<strong>in</strong>oa rakenneon symbol<strong>in</strong>en elementti (SE), jolla on optimoituper<strong>in</strong>tähierarkia. Se periytyy Symbolic-nimisestäluokasta, joka sisältää teorian T2 mukaiset määritelmät,parser<strong>in</strong> ja koodigeneraattor<strong>in</strong>. Eri tyyppiset elementit,jotka kuvatti<strong>in</strong> teorian T2 yhteydessä, toteutetaanperuselement<strong>in</strong> SE erikoistuks<strong>in</strong>a. Kunk<strong>in</strong> element<strong>in</strong>muisti<strong>in</strong> tallennetaan siihen kuuluva koodi, joka onluontivaiheessa muuntamalla teorian T3 mukaiset T2:nrakenteet omiksi elementeikseen ja prosessoimalla saatukoodi vielä teorian T4 mukaisesti. Nä<strong>in</strong> saadaan aikaanatomist<strong>in</strong>en malli.3.3.6 T6 Selektiiv<strong>in</strong>en kyselyTunnetu<strong>in</strong> kood<strong>in</strong> tarkastelun menetelmä on nimeltäänviipalo<strong>in</strong>ti (slic<strong>in</strong>g). Se tuottaa tietystä kood<strong>in</strong> osastasiihen suoranaisesti liittyvät muut ohjelmalauseetsuoritusjärjestyksessä joko taakse- tai eteenpä<strong>in</strong>.Viipalo<strong>in</strong>ti<strong>in</strong> liittyy kuitenk<strong>in</strong> paljon rajoituksia ja sesoveltuu va<strong>in</strong> kood<strong>in</strong> matalan tason tarkasteluun. Siksiolemme val<strong>in</strong>neet paremman perusmenetelmän, joka onnimeltään leikkely eli chopp<strong>in</strong>g.Chopp<strong>in</strong>g on tärkeä analyso<strong>in</strong>tike<strong>in</strong>o, joka tarkoittaahaluttujen kohteiden saavutettavuuden tutkimista. Se käyer<strong>in</strong>omaisesti syy-seuraussuhteiden käsittelyyn, joka onolennaista vianpaikannustehtävissä. Chopp<strong>in</strong>g pyrkiianalysoimaan kuvan 3 mukaan perättäistenfunktiokutsujen joukkoja, jotka alkavat tietystä Startkohdastaja etenevät aikajärjestyksessä Target-kohtaansaakka:Start = fk • fk-1 • ... •f • Target.Chopp<strong>in</strong>g-yhtälö voidaan ilmaista monella eri tavallasymbolista notaatiota käyttäen. Ilmaisu lopusta alkuun onmuotoa:Target = fk • fk-1 • ... •f (Start).Sisäkkäisessä muodossa se voidaan kirjoittaa:Target = f (f (f ( ... f( Start ) ) ) )Tai peräkkäisessä muodossa listana:Target = [f(XK), f(XK-1).. f(“Start”)].Chopp<strong>in</strong>g-analyys<strong>in</strong> ohjelmo<strong>in</strong>ti Prologilla onselväpiirteistä. Seuraava koodi sisältää rekursiivisensäännön, joka kerää <strong>in</strong>formaatiota seuraavilta perättäisiltäsolmuilta, jotka on määritelty f-rakente<strong>in</strong>a sisältäenkunk<strong>in</strong> funktion nimen ja vastaavat argumentit. Tuloksetsaadaan kumulatiivisesti kerättyä predikaat<strong>in</strong> toiseenargumentti<strong>in</strong> Sequence-muuttujan välityksellä:chopp<strong>in</strong>g (Target, [f(This)|Sequence]):-f(NextId,Arguments),NextId:chopp<strong>in</strong>g(Target,Sequence).Cstartf 1 f 2call q f k 1 f kstart qf 4f 3ret( )f 5f k 2exit qf k 3targetKuva 3. Chopp<strong>in</strong>g ohjausvuon tulk<strong>in</strong>nassa.3.3.7 T7 Tyhjentävä haku ongelman ratkaisijanaPer<strong>in</strong>te<strong>in</strong>en kood<strong>in</strong> analyso<strong>in</strong>ti tarkastelee tyypillisestiohjelman lauseiden välisiä suhteita sellaisenaan [Slic<strong>in</strong>g,Reps] ilman korkeamman abstraktion malleja. Tarkkakäsittely johtaa use<strong>in</strong> laskennallisesti liian vaativi<strong>in</strong>algoritmeih<strong>in</strong>, jos aluetta ei voida rajata tarpeeksi.Äsken kuvaamamme selektiiv<strong>in</strong>en kysely, chopp<strong>in</strong>g, sensijaan tuottaa suppean tietoa<strong>in</strong>eiston, joukon mall<strong>in</strong>elementtejä, jota voidaan käsitellä mon<strong>in</strong> eri tavo<strong>in</strong>tyhjentävästi mm. tarkastelemalla eri suorituspolkuvaihtoehtoja,datan kulkua ja sivuvaikutuksia jamahdollisia aktivo<strong>in</strong>teja eri tilanteissa.Yhden metod<strong>in</strong> osalta kaikki Penn<strong>in</strong>gton<strong>in</strong>tietotarpeet voidaan a<strong>in</strong>a poikkeuksetta poimiatäydellisesti siten, että tuntemattomat parametritkäsitellään viittauks<strong>in</strong>a. Mikä tahansa suorituspolkuvoidaan myös evaluoida yhtenä kokonaisuutena, jollo<strong>in</strong>voidaan tutkia pienimpiä ilmiöitä koodista.111
Ohjelmasilmukoiden käsittely on silti ongelmallista, jossuorituskertoja tulee lukemattomia. Si<strong>in</strong>ä tapauksessatoistokertoja on voitava rajoittaa. Samo<strong>in</strong> ulkoistenrajap<strong>in</strong>tojen tulkitsem<strong>in</strong>en ehtolausekkeissa vaatiialkujärjestelyjä ennen testausta.3.3.8 T8 Javan täydell<strong>in</strong>en relaatiomalliJavaa ja sen koodista kehitettyä symbolista malliatarkastellaan järjestelmällisimm<strong>in</strong> sitä vartensuunnitellun, yhtenäisen relaatiorajap<strong>in</strong>nan kautta. Nä<strong>in</strong>voidaan tunnistaa tärkeimmät käsitteet (entity) ja niidenväliset suhteet (relation), mikä tuottaa kelvollista tietoavianpaikannukseen. Relaatiomalli sisältää seuraavatperusmääritykset, joiden välisiä relaatioita on mahdollistatutkia: Luokan nimi, class Luokan jäsenet Luokan super-luokka Metod<strong>in</strong> sisä ltämät elementit Metod<strong>in</strong> sisältämät staattiset kutsut Metod<strong>in</strong> suorittamat dynaamiset kutsut Kuhunk<strong>in</strong> elementti<strong>in</strong> liittyvät navigo<strong>in</strong>titiedot. Kuhunk<strong>in</strong> elementti<strong>in</strong> liittyvät sivuvaikutukset JäljityshistoriaKun kood<strong>in</strong> yksittäiset rakenteet saadaan nä<strong>in</strong>yksittäisillä kyselyillä hall<strong>in</strong>taan, tarkastelua voidaanlaajentaa käyttämällä kyselyjen välillä loogisiaoperaatioita ja alakyselyjä.3.3.9 T9 SelitysmalliTietämysteknisesti tarkasteltuna kood<strong>in</strong> <strong>in</strong>formaatio onmielenki<strong>in</strong>toista. Halutessamme kysyä syyseuraussuhteita,koodista saadaan läpikäyntialgoritmillaloogiset ehdot ja rakenteet, jotka vaikuttavat kyseiseentarkasteluväli<strong>in</strong>. Saatujen symbolisten rakenteiden joukkovoidaan muuntaa luonnolliselle kielelle, esimerkiksienglanniksi, jollo<strong>in</strong> saadaan selväkiel<strong>in</strong>en perusteluketjutarvittav<strong>in</strong>e parametre<strong>in</strong>een.Yhteistä kaikelle käsittelylle on se, että saaduntulos<strong>in</strong>formaation muoto on a<strong>in</strong>a sama kyselystäriippumatta. Se helpottaa ohjelmo<strong>in</strong>tia ja toteutusta jatulosten <strong>in</strong>tegro<strong>in</strong>tia. Tulos<strong>in</strong>formaatiolle voidaan valitaerilaisia tulosteita ja tarkastelutapoja kuten what, why taihow, jollo<strong>in</strong> näytölle syntyvä a<strong>in</strong>eisto saadaanvastaamaan parhaiten käyttäjän tekemää kyselyä.Tulostuksessa voidaan toki käyttää myös luonnollistasemantiikkaa ja sen esitysasua, mutta se on ohjelmoijillevieraampi.3.3.10 T10 Pragmaattisen tulk<strong>in</strong>nan teoriaYlläpito sisältää paljon erilaisia tehtäviä ja alatehtäviä,joissa kood<strong>in</strong> tarkastelu on tarpeen. Aiheen laajuudenjohdosta sitä käsitellään tässä kohdassa va<strong>in</strong> muutam<strong>in</strong>esimerke<strong>in</strong> Penn<strong>in</strong>gton<strong>in</strong> tietotarvemäärittelyn pohjalta: Joka<strong>in</strong>en työkalun tuotos, joka johdattaa käyttäjäävianpaikannustehtävässä ja supistaa alkuperäistä<strong>in</strong>formaatiojoukkoa, on pragmaattista <strong>in</strong>formaatiota. Joka<strong>in</strong>en perehtymistilanteessa käyttäjälle tuotettuvastaus kysymyksi<strong>in</strong> what, why ja how, onpragmaattista <strong>in</strong>formaatiota. Joka<strong>in</strong>en syy-seuraussuhdetta erittelevä haku, jokaon kohdistettu vian määritykseen, tuottaapragmaattista vian rajauksen <strong>in</strong>formaatiota. Joka<strong>in</strong>en metod<strong>in</strong> suorituspolkujen hahmottamiseenliittyvä kokonaisuus palvelee vianhaun tarpeitatutkittaessa ohjelman pysähtyvyysongelmia. Joka<strong>in</strong>en kriittisen kuuntelijaolion tiloih<strong>in</strong> liittyväkysely tuottaa pragmaattista <strong>in</strong>formaatiota.Teknologiamielessä pragmaattisen <strong>in</strong>formaationtarkastelu vaatii käyttäjän tarpeiden tunnistamista jametodologian sovittamista niih<strong>in</strong>. Saatu tietämys onkuitenk<strong>in</strong> arvokasta, sillä se palvelee kiireistä käyttäjäähänen jokapäiväisessä työssään sellaisenaan.4 MetodologiaEdellä kuvattu ontologia ja tietämyksen määrittely eriteoria-alue<strong>in</strong>een toimivat lähtötieto<strong>in</strong>a metodologiantarkastelulle.4.1 Metodologian toteutusSeuraavassa esityksessä Peircen semioottista käsitteistöä,jonka muodostavat merkki (sign), kohde (object) jalogiikalla toteutettava tulk<strong>in</strong>ta (<strong>in</strong>terpretant, logic L),lähestytään symbolista alkaen. Yhdistämällä nämäkäsitteet saadaan hahmoteltua kokonaisuus SOL. Malli(M) määritellään yks<strong>in</strong>kertaisesti säiliöksi, joka sisältäämalli<strong>in</strong> luodut oliot. Mall<strong>in</strong> analyso<strong>in</strong>ti (A) tapahtuukyselyiden (Q, Query) avulla oliorajap<strong>in</strong>nan kautta.4.1.1 Symbol<strong>in</strong> toteutus (S)Kieliopista saadaan suoraan kaikki symbolit, jotkaviittaavat lähdekood<strong>in</strong> muuttuji<strong>in</strong>. Niitä ovat luokan nimi,metodi, attribuutti ja muuttujanimet. Kood<strong>in</strong> tarkasteluuntämä metoditarkkuus ei vielä riitä, koska kun saatuasymbolista mallia halutaan tutkia esimerkiksivianpaikannuksen tarkoituksessa, tarvitaan suorituspoluntarkkuus ja sen toteuttamiseen suorituspolkuelementti.<strong>New</strong> <strong>Developments</strong> <strong>in</strong> <strong>Artificial</strong> <strong>Intelligence</strong> <strong>and</strong> <strong>the</strong> <strong>Semantic</strong> <strong>Web</strong>Proceed<strong>in</strong>gs of <strong>the</strong> 12th F<strong>in</strong>nish <strong>Artificial</strong> <strong>Intelligence</strong> Conference STeP 2006 112
- Page 1 and 2:
Publications of the Finnish Artific
- Page 3 and 4:
Sponsors and Partners of STeP 2006i
- Page 5 and 6:
Table of ContentsSemantic Web at Wo
- Page 7 and 8:
2 Use scenarioOur initial use scena
- Page 9 and 10:
Combining owncontent withcommercial
- Page 11 and 12:
The ontology editor Protégé 3.1 w
- Page 13 and 14:
- Ontologies contain knowledge that
- Page 15 and 16:
2005) concentrates on post-visitors
- Page 17 and 18:
To summarise, we can conclude that
- Page 19 and 20:
2006). The system is based on metad
- Page 21 and 22:
Figure 1: The situation ontologyFig
- Page 23 and 24:
tionElement. All the instances of t
- Page 25 and 26:
exercise together. John and Michael
- Page 27 and 28:
scheme there is no notion of reific
- Page 29 and 30:
J. Sowa. Knowledge Representation.
- Page 31 and 32:
teroperable, but also the values us
- Page 33 and 34:
Figure 2: Kullervo departs for the
- Page 35 and 36:
Figure 4: The painting of figure 3
- Page 37 and 38:
new information with respect to the
- Page 39 and 40:
Figure 7: Using Google Maps in CULT
- Page 41 and 42:
M. Junnila, E. Hyvönen, and M. Sal
- Page 43 and 44:
an area or domain of the Earth’s
- Page 45 and 46:
Initial Ontology ConstructionRule
- Page 47 and 48:
An entity point represents the coor
- Page 49 and 50:
Maps application where Ajax 12 is u
- Page 51 and 52:
Improving the Quality of Medication
- Page 53 and 54:
send it back to the electronic pres
- Page 55 and 56:
Each component in the architecture
- Page 57 and 58:
RosettaNet and Semantic Web Service
- Page 59 and 60:
hierarchies and a middleware adapte
- Page 61 and 62:
44 47 20448 52 dozen53 92 93 Better
- Page 63 and 64:
“Pip3A1RequestForQuoteRespond”
- Page 65 and 66: CASCOM: Context-Aware Service Coord
- Page 67 and 68: Towards reflective information mana
- Page 69 and 70: the capability to provide the peopl
- Page 71 and 72: Steven Pinker. The Language Instinc
- Page 73 and 74: 2 Cybernetics as controlNew useful
- Page 75 and 76: The parameters μ s and λ s are fi
- Page 77 and 78: fully eliminated, and the closed lo
- Page 79 and 80: neocybernetic model structure. In g
- Page 81 and 82: New Developments in Artificial Inte
- Page 83: New Developments in Artificial Inte
- Page 87 and 88: Object-oriented declarative model s
- Page 89 and 90: directly in C++ programs as instanc
- Page 91 and 92: Solving and Rating Sudoku Puzzles w
- Page 93 and 94: e equal to 45. Constrained optimiza
- Page 95 and 96: Table 1. The comparison of how effe
- Page 97 and 98: University Press, London, 1859, A r
- Page 99 and 100: amount of the data grows the neural
- Page 101 and 102: towards more accurate results. We c
- Page 103 and 104: • Environment: Neoybernetic syste
- Page 105 and 106: 5 LinearityThe system is in a state
- Page 107 and 108: Phosphor content [w%]Phosphor conte
- Page 109 and 110: merkki. Toisin kuin merkit, tulkinn
- Page 111 and 112: analysoinnin perusmenetelmillä. Si
- Page 113 and 114: 3.3 Kieliopin määritelmäKieliopi
- Page 115: translaatiolausekkeiden kautta sek
- Page 119 and 120: (observer), joka mallin käsittelyn
- Page 121 and 122: Työkalun evaluointiprosessi on vie
- Page 123 and 124: Risto.lahdelma@cs.utu.fi aiyron@utu
- Page 125 and 126: where x j are decision variables,
- Page 127 and 128: J 1 Set of pure alloying materials,
- Page 129 and 130: from 0 to 1 based on an increasing
- Page 131 and 132: First, the fuzzy parameters such as
- Page 133 and 134: New Developments in Artificial Inte
- Page 135 and 136: This requires modeling of the subje
- Page 137 and 138: Timo Honkela, Ville Pulkki, and Teu
- Page 139 and 140: Maintenance Comprehensiontasks to b
- Page 141 and 142: 5. Symbolic result set is a set of
- Page 143 and 144: We defined Symbolic to be an indepe
- Page 145 and 146: 1.4Q/A2.3.9.1 Influence modelEach P
- Page 147 and 148: Norman Wilde,and Ross Huitt, "Maint
- Page 149 and 150: speaking, not communicable.” Late
- Page 151 and 152: For example, the tag ’skin’ or
- Page 153 and 154: pages 3-7, Paris, France, October 1