{"id":{"repo_id":"aalto","oai_identifier":"oai:aaltodoc.aalto.fi:123456789/42425"},"canonical_url":"https://search.dev.ndltd.org/etd/aalto/oai:aaltodoc.aalto.fi:123456789/42425","repository":{"repo_id":"aalto","name":"Aalto University","base_url":"https://aaltodoc.aalto.fi/server/oai/request"},"display":{"title":"On the Practice of Modeling Software Variability","abstract":"A software product line has become an established software engineering approach to developing a set of products that vary from each other but share a common set of assets and adhere to a common software architecture. Variability is a means to design the differences between the products in a software product line. Variability is the ability of a software system or an artifact to be efficiently extended, changed, customized, or configured for use in a particular context. Variability has been studied in recent years and several variability models have been proposed. However, the use especially from industry has not been addressed extensively. This thesis addresses the problem of what kinds of models to use to represent the variability in a software product line. As the overall research approach, we applied Design Science, in which variability models are interventions in a prescription. We applied the literature review and case study as the research methods. We study literature about the existing variability models, as well as evidence about the use of these variability models. We provide descriptive accounts of variability models in three cases in industry. On the basis of literature and a case study, we describe a set of considerations to be taken into account when representing variability. We identified tens of different variability models. These variability models cover the activities, artifacts and phases of software engineering. We represent that several kinds of existing variability models and in-house approaches have been provided with empirical evidence about use, but no model is clearly become an established practice. The considerations explicate design decisions to be considered when using a variability model to represent the variability of an SPL, emphasizing that the applications of a variability model depend on the specific context. These considerations can also be relevant to those who develop variability models to address the needs of practice.","abstract_html":"A software product line has become an established software engineering approach to developing a set of products that vary from each other but share a common set of assets and adhere to a common software architecture. Variability is a means to design the differences between the products in a software product line. Variability is the ability of a software system or an artifact to be efficiently extended, changed, customized, or configured for use in a particular context. Variability has been studied in recent years and several variability models have been proposed. However, the use especially from industry has not been addressed extensively. This thesis addresses the problem of what kinds of models to use to represent the variability in a software product line. As the overall research approach, we applied Design Science, in which variability models are interventions in a prescription. We applied the literature review and case study as the research methods. We study literature about the existing variability models, as well as evidence about the use of these variability models. We provide descriptive accounts of variability models in three cases in industry. On the basis of literature and a case study, we describe a set of considerations to be taken into account when representing variability. We identified tens of different variability models. These variability models cover the activities, artifacts and phases of software engineering. We represent that several kinds of existing variability models and in-house approaches have been provided with empirical evidence about use, but no model is clearly become an established practice. The considerations explicate design decisions to be considered when using a variability model to represent the variability of an SPL, emphasizing that the applications of a variability model depend on the specific context. These considerations can also be relevant to those who develop variability models to address the needs of practice.","abstract_has_math":false,"creators":["Raatikainen, Mikko"],"institution":"Aalto University","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":"Tietotekniikan laitos","school":null,"contributors":["Aalto-yliopisto","Aalto University"],"advisors":["Männistö, Tomi, Prof., University of Helsinki, Finland","Kauppinen, Marjo, Prof., Aalto University, Department of Computer Science, Finland"],"committee_chairs":[],"committee_members":[],"year":2019,"date_issued":"2019","date_published":"2019","updated_at":"2026-08-21T22:21:56Z","subjects":[],"languages":["en"],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://aaltodoc.aalto.fi/handle/123456789/42425","outbound_label":"Repository record","outbound_source":"dc:identifier.uri"},"source_record":{"url":"https://aaltodoc.aalto.fi/server/oai/request?verb=GetRecord&metadataPrefix=dim&identifier=oai%3Aaaltodoc.aalto.fi%3A123456789%2F42425","prefix":"dim"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Aalto-yliopisto","Aalto University"]},{"key":"dc:contributor.advisor","label":"Advisor","values":["Männistö, Tomi, Prof., University of Helsinki, Finland"]},{"key":"dc:contributor.department","label":"Department","values":["Tietotekniikan laitos","Department of Computer Science"]},{"key":"dc:contributor.supervisor","label":"Supervisor","values":["Kauppinen, Marjo, Prof., Aalto University, Department of Computer Science, Finland"]},{"key":"dc:creator","label":"Author","values":["Raatikainen, Mikko"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2020-01-14T10:01:06Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2020-01-14T10:01:06Z"]},{"key":"dc:date.issued","label":"Date","values":["2019"]},{"key":"dc:publisher","label":"Institution","values":["Aalto University","Aalto-yliopisto"]},{"key":"dc:type","label":"Dc Type","values":["G5 Artikkeliväitöskirja"]},{"key":"dc:type.dcmitype","label":"Dc Type Dcmitype","values":["text"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://aaltodoc.aalto.fi/handle/123456789/42425"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["The summary part of this dissertation is published under CC-BY licence."]},{"key":"dc:description.abstract","label":"Abstract","values":["A software product line has become an established software engineering approach to developing a set of products that vary from each other but share a common set of assets and adhere to a common software architecture. Variability is a means to design the differences between the products in a software product line. Variability is the ability of a software system or an artifact to be efficiently extended, changed, customized, or configured for use in a particular context. Variability has been studied in recent years and several variability models have been proposed. However, the use especially from industry has not been addressed extensively. This thesis addresses the problem of what kinds of models to use to represent the variability in a software product line. As the overall research approach, we applied Design Science, in which variability models are interventions in a prescription. We applied the literature review and case study as the research methods. We study literature about the existing variability models, as well as evidence about the use of these variability models. We provide descriptive accounts of variability models in three cases in industry. On the basis of literature and a case study, we describe a set of considerations to be taken into account when representing variability. We identified tens of different variability models. These variability models cover the activities, artifacts and phases of software engineering. We represent that several kinds of existing variability models and in-house approaches have been provided with empirical evidence about use, but no model is clearly become an established practice. The considerations explicate design decisions to be considered when using a variability model to represent the variability of an SPL, emphasizing that the applications of a variability model depend on the specific context. These considerations can also be relevant to those who develop variability models to address the needs of practice.","Ohjelmistotuoteperheet ovat vakiintunut ohjelmistotuotannon kehitystapa joukolle erilaisia tuotteille, joissa uudelleenkäytetään ohjelmistoja noudattaen samaa arkkitehtuuria. Varioituvuuden avulla saavutetaan tuoteperheen tuotteiden erovaisuudet. Varioituvuus on järjestelmän tai artifaktan ominaisuus tehokkaaseen laajentamiseen, muuttamiseen, kustomointiin tai konfigurointiin tiettyä tarvetta varten. Varioituvuutta on tutkittu viime aikoina ja erityisesti erilaisia varioituvuuden mallitustapoja on esitetty. Käytöstä erityisesti teollisuudessa näyttää kuitenkin olevan vähän tutkimustuloksia. Tämän työn tutkimusongelma käsittelee millaisia mallitustapoja tulisi käyttää tuoteperheen varioituvuuden esittämiseen. Tutkimus noudattaa konstruktiivista tutkimusmetodologiaa. Tutkimusmenetelminä käytämme kirjallisuuskatsausta ja tapaustutkimusta.Tutkimme varioituvuuden mallitustapoja kirjallisuudessa sekä niiden raportoitua käyttöä. Kuvailemme myös varioituuden mallittamista kolmessa tuoteperheessä tapaustutkimuksissa. Varioituuden mallittamiseen esitämme joukon näkökohtia jotka tulisi huomioida kirjallisuuden ja tapaustutkimusten perusteella. Identifioimme kymmeniä erilaisia varioituvuuden mallitustapoja. Nämä mallitustavat kattavat eri ohjelmistokehityksen eri vaiheet, tekemiset ja artifaktat. Useille mallitustavoille sekä itse kehitetyille mallitustavoille on myös osoitettu käyttöä ja näin ollen arvoa käytännölle, joskaan mikään tapa ei ole vakiintunut. Näkökohdat puolestaan esittävät päätöksiä joita varioituvuutta mallittaessa täytyy tehdä, korostaen että varioituvuuden voi mallittaa monella tapaa riippuen tilanteesta ja kontekstista. Nämä näkökulmat ovat merkittäviä myös varioituvuus mallien tutkimukselle, jotta tutkimus pystyy vastaamaan käytännön tarpeisiin."]},{"key":"dc:format.mimetype","label":"Dc Format Mimetype","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["On the Practice of Modeling Software Variability","Ohjelmistojen varioituvuusmallituksen käytäntö"]}]}],"canonical_facts":{"dc:contributor":["Aalto-yliopisto","Aalto University"],"dc:contributor.advisor":["Männistö, Tomi, Prof., University of Helsinki, Finland"],"dc:contributor.department":["Tietotekniikan laitos","Department of Computer Science"],"dc:contributor.supervisor":["Kauppinen, Marjo, Prof., Aalto University, Department of Computer Science, Finland"],"dc:creator":["Raatikainen, Mikko"],"dc:date.accessioned":["2020-01-14T10:01:06Z"],"dc:date.available":["2020-01-14T10:01:06Z"],"dc:date.issued":["2019"],"dc:description":["The summary part of this dissertation is published under CC-BY licence."],"dc:description.abstract":["A software product line has become an established software engineering approach to developing a set of products that vary from each other but share a common set of assets and adhere to a common software architecture. Variability is a means to design the differences between the products in a software product line. Variability is the ability of a software system or an artifact to be efficiently extended, changed, customized, or configured for use in a particular context. Variability has been studied in recent years and several variability models have been proposed. However, the use especially from industry has not been addressed extensively. This thesis addresses the problem of what kinds of models to use to represent the variability in a software product line. As the overall research approach, we applied Design Science, in which variability models are interventions in a prescription. We applied the literature review and case study as the research methods. We study literature about the existing variability models, as well as evidence about the use of these variability models. We provide descriptive accounts of variability models in three cases in industry. On the basis of literature and a case study, we describe a set of considerations to be taken into account when representing variability. We identified tens of different variability models. These variability models cover the activities, artifacts and phases of software engineering. We represent that several kinds of existing variability models and in-house approaches have been provided with empirical evidence about use, but no model is clearly become an established practice. The considerations explicate design decisions to be considered when using a variability model to represent the variability of an SPL, emphasizing that the applications of a variability model depend on the specific context. These considerations can also be relevant to those who develop variability models to address the needs of practice.","Ohjelmistotuoteperheet ovat vakiintunut ohjelmistotuotannon kehitystapa joukolle erilaisia tuotteille, joissa uudelleenkäytetään ohjelmistoja noudattaen samaa arkkitehtuuria. Varioituvuuden avulla saavutetaan tuoteperheen tuotteiden erovaisuudet. Varioituvuus on järjestelmän tai artifaktan ominaisuus tehokkaaseen laajentamiseen, muuttamiseen, kustomointiin tai konfigurointiin tiettyä tarvetta varten. Varioituvuutta on tutkittu viime aikoina ja erityisesti erilaisia varioituvuuden mallitustapoja on esitetty. Käytöstä erityisesti teollisuudessa näyttää kuitenkin olevan vähän tutkimustuloksia. Tämän työn tutkimusongelma käsittelee millaisia mallitustapoja tulisi käyttää tuoteperheen varioituvuuden esittämiseen. Tutkimus noudattaa konstruktiivista tutkimusmetodologiaa. Tutkimusmenetelminä käytämme kirjallisuuskatsausta ja tapaustutkimusta.Tutkimme varioituvuuden mallitustapoja kirjallisuudessa sekä niiden raportoitua käyttöä. Kuvailemme myös varioituuden mallittamista kolmessa tuoteperheessä tapaustutkimuksissa. Varioituuden mallittamiseen esitämme joukon näkökohtia jotka tulisi huomioida kirjallisuuden ja tapaustutkimusten perusteella. Identifioimme kymmeniä erilaisia varioituvuuden mallitustapoja. Nämä mallitustavat kattavat eri ohjelmistokehityksen eri vaiheet, tekemiset ja artifaktat. Useille mallitustavoille sekä itse kehitetyille mallitustavoille on myös osoitettu käyttöä ja näin ollen arvoa käytännölle, joskaan mikään tapa ei ole vakiintunut. Näkökohdat puolestaan esittävät päätöksiä joita varioituvuutta mallittaessa täytyy tehdä, korostaen että varioituvuuden voi mallittaa monella tapaa riippuen tilanteesta ja kontekstista. Nämä näkökulmat ovat merkittäviä myös varioituvuus mallien tutkimukselle, jotta tutkimus pystyy vastaamaan käytännön tarpeisiin."],"dc:format.mimetype":["application/pdf"],"dc:identifier.uri":["https://aaltodoc.aalto.fi/handle/123456789/42425"],"dc:language.iso":["en"],"dc:publisher":["Aalto University","Aalto-yliopisto"],"dc:title":["On the Practice of Modeling Software Variability","Ohjelmistojen varioituvuusmallituksen käytäntö"],"dc:type":["G5 Artikkeliväitöskirja"],"dc:type.dcmitype":["text"]},"updated_at":"2026-08-21T22:21:56Z"}