Interface specification methods for software components
dc.contributor | Aalto-yliopisto | fi |
dc.contributor | Aalto University | en |
dc.contributor.advisor | Heljanko, Keijo | |
dc.contributor.author | Lampinen, Jani | |
dc.contributor.department | Informaatio- ja luonnontieteiden tiedekunta | fi |
dc.contributor.school | Teknillinen korkeakoulu | fi |
dc.contributor.school | Helsinki University of Technology | en |
dc.contributor.supervisor | Niemelä, Ilkka | |
dc.date.accessioned | 2020-12-05T13:50:14Z | |
dc.date.available | 2020-12-05T13:50:14Z | |
dc.date.issued | 2008 | |
dc.description.abstract | Tämä työssä kehitetään rajapintojen määrittelykieli osana LIME-projektia sekä sitä tukevan työkalutoteutuksen. Tavoitteena on ollut tuottaa menetelmä, joka on kevyt ja täydentää ohjelmistoprosesseissa jo käytettyjä laadunvarmistusmenetelmiä. Java on valittu työkalun toteutuskieleksi sen olemassa olevan metadatamekanismin (Javan annotaatiot) ja hyvän työkalutuen ansiosta. Määrittelykielen avulla voidaan määritellä sekä ohjelmistokomponentilta haluttu ulkoinen käyttörajoitus että sen sisäinen käyttäytyminen. Ulkoiseen käyttörajoitukseen viitataan rajapintamäärittelynä ja sisäiseen käyttäytymiseen kirjastomäärittelynä. Jos rajapintamäärittelyä rikotaan kahden komponentin vuorovaikutuksessa, kutsuva komponentti toimii väärin. Vastaavasti jos kirjastomäärittelyä rikotaan, on syy kutsutun komponentin. Molempia määrittelytyyppejä voidaan kirjoittaa joko lineaarisen ajan aikalogiikalla tai säännöllisten lausekkeiden avulla, ja ne voivat sisältää väittämiä joko tällä hetkellä suorituksessa olevasta metodista tai ohjelman tilasta. Työkalutoteutus tukeutuu aspektiohjelmointiin, jonka Gregor Kiczales ja hänen tutkimusryhmänsä kehitti 90-luvun lopulla Xeroxin Palo Alton tutkimuskeskuksessa. Se tuottaa turvallisuusaspekteja, jotka syntetisoivat käyttäytymisinvariantteja ajonaikaisessa suorituksessa annotaatioihin perustuen. Aspektit simuloivat äärellisiä automaatteja, jotka seuraavat vuorovaikutuksen tilaa ja ilmoittavat havaituista virheistä poikkeuksilla. | fi |
dc.format.extent | vii + 49 | |
dc.identifier.uri | https://aaltodoc.aalto.fi/handle/123456789/95726 | |
dc.identifier.urn | URN:NBN:fi:aalto-2020120554560 | |
dc.language.iso | en | en |
dc.programme.major | Tietojenkäsittelyteoria | fi |
dc.programme.mcode | T-119 | fi |
dc.rights.accesslevel | closedAccess | |
dc.subject.keyword | lightweight methods | en |
dc.subject.keyword | kevyet menetelmät | fi |
dc.subject.keyword | interface specification | en |
dc.subject.keyword | rajapintamäärittelyt | fi |
dc.subject.keyword | Java | en |
dc.subject.keyword | Java | fi |
dc.subject.keyword | PLTL | en |
dc.subject.keyword | PLTL | fi |
dc.subject.keyword | Aspect-oriented programming | en |
dc.subject.keyword | aspektiohjelmointi | fi |
dc.title | Interface specification methods for software components | en |
dc.title | Määrittelymenetelmiä ohjelmistokomponenttien rajapinnoille | fi |
dc.type.okm | G2 Pro gradu, diplomityö | |
dc.type.ontasot | Master's thesis | en |
dc.type.ontasot | Pro gradu -tutkielma | fi |
dc.type.publication | masterThesis | |
local.aalto.digiauth | ask | |
local.aalto.digifolder | Aalto_78897 | |
local.aalto.idinssi | 36068 | |
local.aalto.openaccess | no |