lnu.sePublikationer
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Designing Self-Adaptive Software Systems with Reuse
Linnéuniversitetet, Fakulteten för teknik (FTK), Institutionen för datavetenskap och medieteknik (DM). (AdaptWise)ORCID-id: 0000-0002-7555-7300
2018 (Engelska)Doktorsavhandling, sammanläggning (Övrigt vetenskapligt)
Abstract [en]

Modern software systems are increasingly more connected, pervasive, and dynamic, as such, they are subject to more runtime variations than legacy systems. Runtime variations affect system properties, such as performance and availability. The variations are difficult to anticipate and thus mitigate in the system design.

Self-adaptive software systems were proposed as a solution to monitor and adapt systems in response to runtime variations. Research has established a vast body of knowledge on engineering self-adaptive systems. However, there is a lack of systematic process support that leverages such engineering knowledge and provides for systematic reuse for self-adaptive systems development. 

This thesis proposes the Autonomic Software Product Lines (ASPL), which is a strategy for developing self-adaptive software systems with systematic reuse. The strategy exploits the separation of a managed and a managing subsystem and describes three steps that transform and integrate a domain-independent managing system platform into a domain-specific software product line for self-adaptive software systems.

Applying the ASPL strategy is however not straightforward as it involves challenges related to variability and uncertainty. We analyzed variability and uncertainty to understand their causes and effects. Based on the results, we developed the Autonomic Software Product Lines engineering (ASPLe) methodology, which provides process support for the ASPL strategy. The ASPLe has three processes, 1) ASPL Domain Engineering, 2) Specialization and 3) Integration. Each process maps to one of the steps in the ASPL strategy and defines roles, work-products, activities, and workflows for requirements, design, implementation, and testing. The focus of this thesis is on requirements and design.

We validate the ASPLe through demonstration and evaluation. We developed three demonstrator product lines using the ASPLe. We also conducted an extensive case study to evaluate key design activities in the ASPLe with experiments, questionnaires, and interviews. The results show a statistically significant increase in quality and reuse levels for self-adaptive software systems designed using the ASPLe compared to current engineering practices.

Ort, förlag, år, upplaga, sidor
Växjö: Linnaeus University Press, 2018. , s. 56
Serie
Linnaeus University Dissertations ; 318/2018
Nyckelord [en]
Variability, Uncertainty, Self-Adaptation, Software Reuse, Software Design, Methodology, Domain Engineering.
Nationell ämneskategori
Programvaruteknik Datavetenskap (datalogi) Data- och informationsvetenskap
Forskningsämne
Data- och informationsvetenskap, Datavetenskap; Data- och informationsvetenskap; Datavetenskap, Programvaruteknik
Identifikatorer
URN: urn:nbn:se:lnu:diva-74443ISBN: 978-91-88761-51-4 (tryckt)ISBN: 978-91-88761-52-1 (digital)OAI: oai:DiVA.org:lnu-74443DiVA, id: diva2:1209012
Disputation
2018-04-19, 13:15 (Engelska)
Handledare
Tillgänglig från: 2018-05-22 Skapad: 2018-05-21 Senast uppdaterad: 2018-05-22Bibliografiskt granskad
Delarbeten
1. Autonomic Software Product Lines (ASPL)
Öppna denna publikation i ny flik eller fönster >>Autonomic Software Product Lines (ASPL)
2010 (Engelska)Ingår i: ECSA '10 Proceedings of the Fourth European Conference on Software Architecture: Companion Volume / [ed] Carlos E. Cuesta, ACM Press, 2010, s. 324-331Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

We describe ongoing work on a variability mechanism for Autonomic Software Product Lines (ASPL). The autonomic software product lines have self-management characteristics that make product line instances more resilient to context changes and some aspects of product line evolution. Instances sense the context, selects and bind the best component variants to variation-points at run-time. The variability mechanism we describe is composed of a profile guided dispatch based on off-line and on-line training processes. Together they form a simple, yet powerful variability mechanism that continuously learns, which variants to bind given the current context and system goals.

Ort, förlag, år, upplaga, sidor
ACM Press, 2010
Nationell ämneskategori
Datavetenskap (datalogi)
Forskningsämne
Data- och informationsvetenskap, Datavetenskap
Identifikatorer
urn:nbn:se:lnu:diva-7157 (URN)10.1145/1842752.1842812 (DOI)2-s2.0-78149405707 (Scopus ID)978-1-4503-0179-4 (ISBN)
Konferens
4th European Conference on Software Architecture (ECSA 2010)
Tillgänglig från: 2010-08-12 Skapad: 2010-08-12 Senast uppdaterad: 2018-05-21Bibliografiskt granskad
2. Harnessing Variability in Product-lines of Self-adaptive Software Systems
Öppna denna publikation i ny flik eller fönster >>Harnessing Variability in Product-lines of Self-adaptive Software Systems
2015 (Engelska)Ingår i: Proceedings of the 19th International Conference on Software Product Line: SPLC '15, ACM Press, 2015, s. 191-200Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

This work studies systematic reuse in the context of self-adaptive software systems. In our work, we realized that managing variability for such platforms is different compared to traditional platforms, primarily due to the run-time variability and system uncertainties. Motivated by the fact that recent trends show that self-adaptation will be used more often in future system generation and that software reuse state-of-practice or research do not provide sufficient support, we have investigated the problems and possibly resolutions in this context. We have analyzed variability for these systems, using a systematic reuse prism, and identified a research gap in variability management. The analysis divides variability handling into four activities: (1) identify variability, (2) constrain variability, (3) implement variability, and (4) manage variability. Based on the findings we envision a reuse framework for the specific domain and present an example framework that addresses some of the identified challenges. We argue that it provides basic support for engineering self-adaptive software systems with systematic reuse. We discuss some important avenues of research for achieving the vision.

Ort, förlag, år, upplaga, sidor
ACM Press, 2015
Nyckelord
self-adaptive software systems, software reuse, variability analysis
Nationell ämneskategori
Datavetenskap (datalogi)
Forskningsämne
Data- och informationsvetenskap, Datavetenskap; Datavetenskap, Programvaruteknik
Identifikatorer
urn:nbn:se:lnu:diva-51780 (URN)10.1145/2791060.2791089 (DOI)2-s2.0-84982794653 (Scopus ID)978-1-4503-3613-0 (ISBN)
Konferens
19th International Conference on Software Product Line, SPLC ’15
Forskningsfinansiär
VINNOVA
Tillgänglig från: 2016-03-31 Skapad: 2016-03-31 Senast uppdaterad: 2018-05-21Bibliografiskt granskad
3. Architectural Reasoning Support for Product-Lines of Self-adaptive Software Systems: A Case Study
Öppna denna publikation i ny flik eller fönster >>Architectural Reasoning Support for Product-Lines of Self-adaptive Software Systems: A Case Study
2015 (Engelska)Ingår i: Software Architecture: 9th European Conference, ECSA 2015, Dubrovnik/Cavtat, Croatia, September 7-11, 201 / [ed] Danny Weyns, Raffaela Mirandola, Ivica Crnkovic, Springer, 2015, s. 20-36Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

Software architecture serves as a foundation for the design and development of software systems. Designing an architecture requires extensive analysis and reasoning. The study presented herein focuses on the architectural analysis and reasoning in support of engineering self-adaptive software systems with systematic reuse. Designing self-adaptive software systems with systematic reuse introduces variability along three dimensions; adding more complexity to the architectural analysis and reasoning process. To this end, the study presents an extended Architectural Reasoning Framework with dedicated reasoning support for self-adaptive systems and reuse. To evaluate the proposed framework, we conducted an initial feasibility case study, which concludes that the proposed framework assists the domain architects to increase reusability, reduce fault density, and eliminate differences in skills and experiences among architects, which were our research goals and are decisive factors for a system's overall quality.

Ort, förlag, år, upplaga, sidor
Springer, 2015
Serie
Lecture Notes in Computer Science, ISSN 0302-9743 ; 9278
Nationell ämneskategori
Data- och informationsvetenskap
Forskningsämne
Data- och informationsvetenskap
Identifikatorer
urn:nbn:se:lnu:diva-48821 (URN)10.1007/978-3-319-23727-5_2 (DOI)000365861700002 ()2-s2.0-84975686953 (Scopus ID)978-3-319-23727-5 (ISBN)978-3-319-23726-8 (ISBN)
Konferens
9th European Conference on Software Architecture (ECSA), SEP 07-11, 2015, Cavtat, CROATIA
Forskningsfinansiär
VINNOVA
Tillgänglig från: 2016-01-20 Skapad: 2016-01-15 Senast uppdaterad: 2018-10-22Bibliografiskt granskad
4. ASPLe: a methodology to develop self-adaptive software systems with systematic reuse
Öppna denna publikation i ny flik eller fönster >>ASPLe: a methodology to develop self-adaptive software systems with systematic reuse
(Engelska)Manuskript (preprint) (Övrigt vetenskapligt)
Abstract [en]

More than two decades of research have demonstrated an increasing need for software systems to be self-adaptive. Self-adaptation is required to deal with runtime dynamics which are difficult to predict before deployment. A vast body of knowledge to develop Self-Adaptive Software Systems (SASS) has been established. We, however, discovered a lack of process support to develop self-adaptive systems with reuse. To that end, we propose a domain-engineering based methodology, Autonomic Software Product Lines engineering (ASPLe), which provides step-by-step guidelines for developing families of SASS with systematic reuse. The evaluation results from a case study show positive effects on quality and reuse for self-adaptive systems designed using the ASPLe compared to state-of-the-art engineering practices.

Nyckelord
Software design, Uncertainty, Variability, Self-adaptation, Software reuse, Domain engineering, Software product lines
Nationell ämneskategori
Data- och informationsvetenskap Programvaruteknik
Forskningsämne
Data- och informationsvetenskap, Datavetenskap; Data- och informationsvetenskap
Identifikatorer
urn:nbn:se:lnu:diva-74441 (URN)
Tillgänglig från: 2018-05-21 Skapad: 2018-05-21 Senast uppdaterad: 2018-06-05Bibliografiskt granskad

Open Access i DiVA

Doctoral Thesis (Comprehensive Summary)(2285 kB)129 nedladdningar
Filinformation
Filnamn FULLTEXT02.pdfFilstorlek 2285 kBChecksumma SHA-512
a9ba2dd1c75a2e6e73942e166e6cf80aa24d492e6a218adbdea5f3a3ba29bc67e7389437fdae20127b434a4e3a0a5ff6c4557b082b089cdb2e53ca4a246ca4aa
Typ fulltextMimetyp application/pdf

Personposter BETA

Abbas, Nadeem

Sök vidare i DiVA

Av författaren/redaktören
Abbas, Nadeem
Av organisationen
Institutionen för datavetenskap och medieteknik (DM)
ProgramvaruteknikDatavetenskap (datalogi)Data- och informationsvetenskap

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 129 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

isbn
urn-nbn

Altmetricpoäng

isbn
urn-nbn
Totalt: 1285 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf