A software architecture for supporting self-healing service compositions

No Thumbnail Available
Journal Title
Journal ISSN
Volume Title
School of Science | Master's thesis
Checking the digitized thesis and permission for publishing
Instructions for the author
Date
2011
Major/Subject
Tietojenkäsittelyoppi
Mcode
T-76
Degree programme
Language
en
Pages
[12] + 136 + [37]
Series
Abstract
The 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.

Palvelukeskeisen 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.
Description
Supervisor
Männistö, Tomi
Thesis advisor
Raatikainen, Mikko
Keywords
self-healing, itsekorjautuva, service composition, palvelukompositio, diagnosis, diagnosointi, configuration, konfiguraatio
Other note
Citation