A software architecture for supporting self-healing service compositions

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorRaatikainen, Mikko
dc.contributor.authorPääkkö, Jari
dc.contributor.departmentTietotekniikan laitosfi
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.schoolSchool of Scienceen
dc.contributor.supervisorMännistö, Tomi
dc.date.accessioned2020-12-23T17:31:22Z
dc.date.available2020-12-23T17:31:22Z
dc.date.issued2011
dc.description.abstractThe advances in service-oriented computing and mobile computing have paved way for pervasive computing. The vision of pervasive computing is to enable all devices to seamlessly interact with each other without the user being aware of them. Towards this end, devices provide their resources as services to other devices giving rise to complex service compositions. However, a pervasive environment consisting of services running on heterogeneous devices is very dynamic by its nature. In other words, the devices can enter and leave a service composition at any time posing challenges to the availability and management of services. In order to overcome these challenges, a paradigm called autonomic computing emerged. The vision of autonomic computing is to develop computing systems that can manage themselves according to high-level goals. Autonomic computing defines a set of self-management properties of which self-healing is one. Translated into the context of service-oriented and pervasive computing, self-healing can be defined as the property to discover and diagnose faults in service compositions and to restore a service composition to normalcy with as little human intervention as possible. The purpose of this thesis was to find out how machine intelligence can be used to support the validity of existing service compositions in a pervasive environment. The main contribution is a software architecture that can be used to design and create a system that supports self-healing service compositions. Firstly, the architecture employs model-based diagnosis for the diagnosis of faulty service compositions. Secondly, the architecture uses concepts from configurable software product families together with recommendation techniques in order to derive new valid service composition configurations based on the diagnoses. The software architecture was validated using a walk-through and scenarios, which are based on a simple example of a service composition.en
dc.description.abstractPalvelukeskeisen ja langattoman tietotekniikan paraneminen on edesauttanut jokapaikan tietotekniikan kehittymistä. Jokapaikan tietotekniikan visiona on mahdollistaa kaikkien laitteiden saumaton vuorovaikutus käyttäjän olematta tietoinen niistä. Työtä varten laitteet tarjoavat resurssejaan palveluina ja muodostavat monimutkaisia palvelukompositioita. Erilaisilla laitteilla suoritettavien palveluiden muodostama jokapaikan tietotekninen ympäristö on kuitenkin luonnostaan hyvin dynaaminen. Toisin sanoen laitteet voivat osallistua ja poistua palvelukompositiosta vapaasti aiheuttaen haasteita palveluiden saatavuudelle ja hallinnalle. Näiden haasteiden siivittämänä on syntynyt paradigma nimeltä autonominen tietotekniikka. Autonomisen tietotekniikan visiona on kehittää järjestelmiä, jotka osaavat hallita itseään niille annettujen tavoitteiden mukaisesti. Autonominen tietotekniikka määrittelee joukon itsehallintaan liittyviä ominaisuuksia, joista itsekorjautuvuus on yksi. Palvelukeskeisen tietotekniikan ja jokapaikan tietotekniikan yhteydessä, itsekorjautuvuus voidaan määrittää ominaisuutena havaita ja diagnosoida vikoja palvelukompositioissa ja palauttaa palvelukompositio normaaliin tilaan vaatien mahdollisimman vähän käyttäjän toimenpiteitä. Tämä diplomityö selvittää miten tekoälyä voidaan käyttää olemassa olevien palvelukompositioiden oikeellisuuden tukemiseen jokapaikan tietoteknisessä ympäristössä. Työn ensisijainen tulos on ohjelmistoarkkitehtuuri itsekorjautuvien palvelukompositioiden tukemiseen. Ensinnäkin, arkkitehtuuri käyttää mallipohjaista diagnosointia viallisten palvelukompositioiden diagnosointiin. Toiseksi, arkkitehtuuri hyödyntää konfiguroitavista tuoteperheistä tuttuja käsitteitä yhdessä suosittelujärjestelmissä käytettyjen tekniikoiden kanssa uusien validien palvelukompositiokonfiguraatioiden muodostamiseen. Ohjelmistoarkkitehtuuri evaluoitiin läpikäynnillä ja skenaarioilla, jotka perustuvat yksinkertaiseen palvelukompositioesimerkkiin.fi
dc.format.extent[12] + 136 + [37]
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/99415
dc.identifier.urnURN:NBN:fi:aalto-2020122358242
dc.language.isoenen
dc.programme.majorTietojenkäsittelyoppifi
dc.programme.mcodeT-76fi
dc.rights.accesslevelclosedAccess
dc.subject.keywordself-healingen
dc.subject.keyworditsekorjautuvafi
dc.subject.keywordservice compositionen
dc.subject.keywordpalvelukompositiofi
dc.subject.keyworddiagnosisen
dc.subject.keyworddiagnosointifi
dc.subject.keywordconfigurationen
dc.subject.keywordkonfiguraatiofi
dc.titleA software architecture for supporting self-healing service compositionsen
dc.titleOhjelmistoarkkitehtuuri itsekorjautuvien palvelukompositioiden tukemiseenfi
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_02910
local.aalto.idinssi42688
local.aalto.openaccessno
Files