Interface specification methods for software components

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorHeljanko, Keijo
dc.contributor.authorLampinen, Jani
dc.contributor.departmentInformaatio- ja luonnontieteiden tiedekuntafi
dc.contributor.schoolTeknillinen korkeakoulufi
dc.contributor.schoolHelsinki University of Technologyen
dc.contributor.supervisorNiemelä, Ilkka
dc.date.accessioned2020-12-05T13:50:14Z
dc.date.available2020-12-05T13:50:14Z
dc.date.issued2008
dc.description.abstractTä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.extentvii + 49
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/95726
dc.identifier.urnURN:NBN:fi:aalto-2020120554560
dc.language.isoenen
dc.programme.majorTietojenkäsittelyteoriafi
dc.programme.mcodeT-119fi
dc.rights.accesslevelclosedAccess
dc.subject.keywordlightweight methodsen
dc.subject.keywordkevyet menetelmätfi
dc.subject.keywordinterface specificationen
dc.subject.keywordrajapintamäärittelytfi
dc.subject.keywordJavaen
dc.subject.keywordJavafi
dc.subject.keywordPLTLen
dc.subject.keywordPLTLfi
dc.subject.keywordAspect-oriented programmingen
dc.subject.keywordaspektiohjelmointifi
dc.titleInterface specification methods for software componentsen
dc.titleMäärittelymenetelmiä ohjelmistokomponenttien rajapinnoillefi
dc.type.okmG2 Pro gradu, diplomityö
dc.type.ontasotMaster's thesisen
dc.type.ontasotPro gradu -tutkielmafi
dc.type.publicationmasterThesis
local.aalto.digiauthask
local.aalto.digifolderAalto_78897
local.aalto.idinssi36068
local.aalto.openaccessno

Files