Quality Attribute Variability in Software Product Lines - Varying Performance and Security Purposefully

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
School of Science | Doctoral thesis (article-based) | Defence date: 2015-11-06
Checking the digitized thesis and permission for publishing
Instructions for the author
Date
2015
Major/Subject
Mcode
Degree programme
Language
en
Pages
102 + app. 102
Series
Aalto University publication series DOCTORAL DISSERTATIONS, 149/2015
Abstract
Software product line engineering is a plan-driven paradigm to produce varying software products. Software product lines typically differentiate the products by their functionality. However, customers may have different needs regarding performance, security, reliability, or other quality attributes. Building a software product line that is able to efficiently produce products with purposefully different quality attributes is a challenging task. The aim in this dissertation was to study why and how to vary quality attributes purposefully in a software product line. The study focused on two quality attributes, performance and security. We conducted a systematic literature review on quality attribute variability, conducted two case studies on performance variability, and constructed a design theory and artifacts addressing security variability. The results indicate that quality attributes can be purposefully varied to serve different customer needs, to conduct price differentiation, and to better balance product and design trade-offs. Additionally, quality attributes can be varied to adapt to varying operating environment constraints. The quality attribute differences can be communicated to the customers as observable product properties, as internal resources, or as the target operating environments. In particular, security can be distinguished as countermeasures. In the product line architecture, quality attribute differences can be designed through software or hardware design tactics or by relying on indirect variation. Just designing the differences may not be enough to ensure the product has given quality attributes, but the impact of other variability may need to be handled at the product-line or product level. Our contributions are as follows. Instead of focusing on how to represent quality attribute variability, we focused on understanding the phenomenon of how specific quality attributes vary. We identified several differences between performance and security variability, for example, that security is more difficult to distinguish to the customers but more straightforward to design and derive. We combined design and customer viewpoints: the reason to vary and the means to communicate to the customers should be analyzed both from the technical and non-technical viewpoints. Finally, we drew evidence-based generalizable knowledge from the industrial context.

Ohjelmistotuoteperheet ovat tapa tuottaa suunnitelmallisesti toisistaan eroavia ohjelmistotuotteita. Tyypillisesti tuoteperheen tuotteita differentioidaan toisistaan toiminnoilla. Asiakkailla voi kuitenkin olla erilaisia tarpeita liittyen tuotteiden suorituskykyyn, tietoturvaan, luotettavuuteen tai muihin laatuattribuutteihin. On haastavaa rakentaa tuoteperhe, jonka avulla pystytään tehokkaasti ja hallitusti tuottamaan laadullisesti toisistaan eroavia tuotteita. Tämän väitöskirjan tavoitteena oli tutkia miksi ja miten laatuattribuutteja varioidaan tarkoituksellisesti tuoteperheissä. Tutkimus keskittyi kahteen laatuattribuuttiin, suorituskykyyn ja tietoturvaan. Teimme systemaattisen kirjallisuuskatsauksen laatuvarioituvuudesta, kaksi tapaustutkimusta suorituskykyvarioituvuudesta sekä rakensimme artefaktoja ja niitä koskevia teorioita tietoturvavarioituvuudesta. Tulosten mukaan tarkoituksellisella laatuvarioituvuudella voidaan vastata asiakkaiden erilaisiin tarpeisiin, differentioida tuotteita hinnalla ja tasapainottaa suunnitteluun liittyviä ristiriitoja. Laatua voidaan varioida myös, jotta tuote mukautuisi paremmin toimintaympäristöönsä. Erot laatuattribuuteissa voidaan kommunikoida asiakkaalle ulospäin näkyvinä tuoteominaisuuksina, sisäisinä tuoteresursseina tai tuotteiden toimintaympäristöinä. Ennen kaikkea, tietoturvan erot voidaan kuvata tietoturvauhkien vastakeinoina. Laatuerot voidaan suunnitella tuoteperheen arkkitehtuuriin hyödyntäen ohjelmistoa, laitteistoa tai epäsuoraa laatuvarioituvuutta. Laatuerojen arkkitehtuurisuunnittelu ei yksinään riitä takaamaan haluttuja laatutasoja tuotteisiin, vaan muun varioituvuuden vaikutus laatuun pitää huomioida joko tuoteperheen tai tuotteen tasolla. Tutkimuksen merkitys on seuraava. Emme keskittyneet laatuvarioituuden mallittamiseen, vaan yritimme ymmärtää itse ilmiötä, eli miten laadut varioituvat. Suorituskyky ja tietoturva varioituvat osittain eri tavoin. Esimerkkinä, voi olla vaikeampaa kuvata tietoturvan eroja asiakkaille, mutta tietoturvaerojen suunnittelu ja yksittäisten tuotteiden tuottaminen voi olla suoraviivaisempaa. Tutkimuksemme korosti sekä suunnittelun että asiakkaan ymmärtämistä: sekä tekniset että ei-tekniset näkökulmat tulisi ottaa huomioon tehtäessä päätöksiä siitä, varioidaanko laatua ja miten tästä kerrotaan asiakkaille. Lopuksi, tuotimme empiiriseen näyttöön perustuvaa yleistettävää tietoa teollisista tuoteperheistä.
Description
Supervising professor
Kauppinen, Marjo, Prof., Aalto University, Department of Computer Science, Finland
Thesis advisor
Männistö, Tomi, Prof., University of Helsinki, Finland
Keywords
software product lines, quality attributes, variability, ohjelmistotuoteperheet, laatuattribuutit, varioituvuus
Other note
Parts
  • [Publication 1]: Myllärniemi, Raatikainen, Männistö. A Systematically Conducted Literature Review: Quality Attribute Variability in Software Product Lines. In Software Product Line Conference (SPLC), Brazil, pp.41–45, August 2012.
  • [Publication 2]: Myllärniemi, Savolainen, Raatikainen, Männistö. Performance variability in software product lines: proposing theories from a case study. Accepted for publication in Empirical Software Engineering, 47 pages, Online February 2015.
  • [Publication 3]: Myllärniemi, Raatikainen, Männistö. Inter-organisational Approach in Rapid Software Product Family Development - A Case Study. In International Conference on Software Reuse, ICSR, Italy, pp.73–86, June 2006.
  • [Publication 4]: Myllärniemi, Raatikainen, Männistö. Representing and Configuring Security Variability in Software Product Lines. In Conference on the Quality of Software Architectures (QoSA), Canada, pp.1–10, May 2015.
  • [Publication 5]: Myllärniemi, Prehofer, Raatikainen, van Gurp, Männistö. Approach for Dynamically Composing Decentralised Service Architectures with Cross-Cutting Constraints. In European Conference on Software Architectures (ECSA), Cypros, pp.180–195, September 2008.
Citation