Kumbang Configurator - A Tool for Configuring Software Product Families

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorMännistö, Tomi
dc.contributor.authorMyllärniemi, Varvana
dc.contributor.departmentTietotekniikan osastofi
dc.contributor.schoolTeknillinen korkeakoulufi
dc.contributor.schoolHelsinki University of Technologyen
dc.contributor.supervisorMännistö, Tomi
dc.date.accessioned2020-12-04T19:08:18Z
dc.date.available2020-12-04T19:08:18Z
dc.date.issued2005
dc.description.abstractSoftware product families are an emerging trend that tries to cope with increasing variability and challenges of reuse. Software products are derived from the family in a prescribed way utilising common family assets. The derived product often includes some amount of integrating glue code or even product-specific tailoring. In the domain of traditional, mechanical products, configurable products have been developed. Individual products are configured according to a predefined model, with no need for adaptive or innovative design. When comparing these two approaches, remarkable similarities are found. In a configurable software product family, software products are configured based on a predefined configuration model. Building the product usually requires no product-specific programming. The purpose of this thesis was to develop a tool for deriving product individuals from configurable software product families. This tool, called Kumbang Configurator, utilises existing modelling language Kumbang, which combines both feature-based and architecture-based modelling methods. Kumbang Configurator prevents configuration errors by checking whether the configuration is consistent and complete. This configuration reasoning employs inference engine smodels. The implementation was validated with two example cases.en
dc.description.abstractOhjelmistotuoteperheet ovat saavuttaneet suosiota tapana vastata kasvaneeseen varioituvuuteen ja uudelleenkäytön haasteisiin. Yksittäiset perheen ohjelmistotuotteet johdetaan etukäteen määritellyllä tavalla, käyttäen hyväksi yhteisiä varantoja. Usein derivoinnissa tarvitaan integroivaa koodia tai jopa tuotekohtaista räätälöintiä. Tavallisista, mekaanisista tuotteista on kehitetty konfiguroitavia tuotteita. Yksittäiset tuotteet konfiguroidaan käyttäen hyväksi ennalta suunniteltua mallia, lisäämättä jälkikäteen muokkaavaa tai innovatiivista suunnittelua. Näiden lähestymistapojen välillä on huomattavia yhteyksiä. Konfiguroitavassa ohjelmistotuoteperheessä tuoteyksilöt konfiguroidaan ennalta suunnitellun konfiguraatiomallin pohjalta. Varsinainen tuotteen rakentaminen ei vaadi ollenkaan tuotekohtaista ohjelmointia. Tämän diplomityön tarkoituksena oli kehittää työkalu tuoteyksilöiden johtamiseen konfiguroitavasta ohjelmistuoteperheestä. Tämä työkalu, nimeltään Kumbangkonfiguraattori, perustuu Kumbang-kieleen. Kumbang-kielessä yhdistyvät sekä ominaisuuslähtöiset että arkkitehtuurilähtöiset mallitustavat. Kumbang-konfiguraattori tarkastaa konfiguraation oikeellisuutta ja valmiutta, ja täten ehkäisee konfiguraatiossa syntyviä virheitä. Konfiguraatiopäättely käyttää hyväkseen smodels-päättelykonetta. Toteutettu työkalu validoitiin kahdella esimerkkitapauksella.fi
dc.format.extent1+134
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/92342
dc.identifier.urnURN:NBN:fi:aalto-2020120451177
dc.language.isoenen
dc.programme.majorTietojenkäsittelyoppifi
dc.programme.mcodeT-76fi
dc.rights.accesslevelclosedAccess
dc.subject.keywordsoftware product familyen
dc.subject.keywordohjelmistotuoteperhefi
dc.subject.keywordconfigurationen
dc.subject.keywordkonfiguraatiofi
dc.subject.keywordtool supporten
dc.subject.keywordtyökalutukifi
dc.subject.keyworden
dc.titleKumbang Configurator - A Tool for Configuring Software Product Familiesen
dc.titleKumbang-konfiguraattori - Työkalu ohjelmistotuoteperheiden konfigurointiinfi
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_02970
local.aalto.idinssi28104
local.aalto.inssilocationP1 Ark Aalto
local.aalto.openaccessno

Files