https://www.mdu.se/

mdu.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Software Architecture Evolution and Software Evolvability
Mälardalen University, School of Innovation, Design and Engineering.ORCID iD: 0000-0001-7153-3785
2009 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

Software is characterized by inevitable changes and increasing complexity, which in turn may lead to huge costs unless rigorously taking into account change accommodations. This is in particular true for long-lived systems. For such systems, there is a need to address evolvability explicitly during the entire lifecycle, carry out software evolution efficiently and reliably, and prolong the productive lifetime of the software systems.

In this thesis, we study evolution of software architecture and investigate ways to support this evolution.           The central theme of the thesis is how to analyze software evolvability, i.e. a system’s ability to easily accommodate changes. We focus on several particular aspects: (i) what software characteristics are necessary to constitute an evolvable software system; (ii) how to assess evolvability in a systematic manner; (iii) what impacts need to be considered given a certain change stimulus that results in potential requirements the software architecture needs to adapt to, e.g. ever-changing business requirements and advances of technology.

To improve the capability in being able to on forehand understand and analyze systematically the impact of a change stimulus, we introduce a software evolvability model, in which subcharacteristics of software evolvability and corresponding measuring attributes are identified. In addition, a further study of one particular measuring attribute, i.e. modularity, is performed through a dependency analysis case study.

We introduce a method for analyzing software evolvability at the architecture level. This is to ensure that the implications of the potential improvement strategies and evolution path of the software architecture are analyzed with respect to the evolvability subcharacteristics. This method is proposed and piloted in an industrial setting.

The fact that change stimuli come from both technical and business perspectives spawns two aspects that we also look into in this research, i.e. to respectively investigate the impacts of technology-type and business-type of change stimuli.

Place, publisher, year, edition, pages
Västerås: Mälardalen University , 2009.
Series
Mälardalen University Press Licentiate Theses, ISSN 1651-9256 ; 97
National Category
Computer Engineering
Research subject
Computer Science
Identifiers
URN: urn:nbn:se:mdh:diva-4540ISBN: 978-91-86135-15-7 (print)OAI: oai:DiVA.org:mdh-4540DiVA, id: diva2:128415
Presentation
2009-01-26, Gamma, Västerås, 14:15 (English)
Opponent
Supervisors
Available from: 2009-01-09 Created: 2008-12-17 Last updated: 2018-01-13Bibliographically approved
List of papers
1. Analyzing Software Evolvability
Open this publication in new window or tab >>Analyzing Software Evolvability
2008 (English)In: Proceedings - International Computer Software and Applications Conference, 2008, p. 327-330Conference paper, Published paper (Refereed)
Abstract [en]

Software evolution is characterized by inevitable changes of software and increasing software complexities, which in turn may lead to huge costs unless rigorously taking into account change accommodations. This is in particular true for long-lived systems in which changes go beyond maintainability. For such systems, there is a need to address evolvability explicitly during the entire lifecycle. Nevertheless, there is a lack of a model that can be used for analyzing, evaluating and comparing software systems in terms of evolvability. In this paper, we describe the initial establishment of an evolvability model as a framework for analysis of software evolvability. We motivate and exemplify the model through an industrial case study of a software-intensive automation system.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-4436 (URN)10.1109/COMPSAC.2008.50 (DOI)2-s2.0-51949097703 (Scopus ID)978-0-7695-3262-2 (ISBN)
Conference
32nd Annual IEEE International Computer Software and Applications Conference, COMPSAC 2008; Turku; 28 July 2008 through 1 August 2008
Available from: 2008-12-04 Created: 2008-12-04 Last updated: 2014-06-25Bibliographically approved
2. Using Dependency Model to Support Software Architecture Evolution
Open this publication in new window or tab >>Using Dependency Model to Support Software Architecture Evolution
2008 (English)In: Automated Software Engineering - Workshops, 2008. ASE Workshops 2008. 23rd IEEE/ACM International Conference on, 2008, p. 82-91Conference paper, Published paper (Refereed)
Abstract [en]

Evolution of software systems is characterized by inevitable changes of software and increasing software complexity, which in turn may lead to huge maintenance and development costs.  For long-lived systems, there is a need to address and maintain evolvability (i.e. a system’s ability to easily accommodate changes) during the entire lifecycle. As designing software for ease of extension and contraction depends on how well the software structure is organized, this paper explores the relationships between evolvability, modularity and inter-module dependency. Through a case study of an industrial power control and protection system, we describe our work in managing its software architecture evolution, guided by the dependency analysis at the architectural level.  The paper includes also the main analysis results, our experiences and reflections during the dependency analysis process in the case study.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-4437 (URN)10.1109/ASEW.2008.4686324 (DOI)000266630600021 ()2-s2.0-58049190615 (Scopus ID)978-1-4244-2776-5 (ISBN)
Conference
Aramis 2008 - 1st International Workshop on Automated engineeRing of Autonomous and runtiMe evolvIng Systems In conjunction with ASE2008 the 23rd IEEE/ACM International Conference on Automated Software Engineering; L'Aquila; Italy; 16 September 2008 through 16 September 2008
Available from: 2008-12-04 Created: 2008-12-04 Last updated: 2018-08-21Bibliographically approved
3. Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles
Open this publication in new window or tab >>Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles
2007 (English)In: EUROMICRO 2007 - Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 200, 2007, Vol. Article number 4301060Conference paper, Published paper (Refereed)
Abstract [en]

Component-based software engineering (CBSE) and service-oriented software engineering (SOSE) are two of the most dominant engineering paradigms in current software community and industry. Although they have continued their development tracks in parallel and have different focus, both paradigms have similarities in many senses, which also have resulted in confusion in understanding and applying similar concepts or the same concepts designated differently. In this paper, we present a comparison analysis framework of CBSE and SOSE and analyze them from a variety of perspectives. We discuss as well the possibility of combining the strengths of the two paradigms to meet non-functional requirements.

The contribution of this paper is to clarify the characteristics of CBSE and SOSE, shorten the gap between them and bring the two worlds together so that researchers and practitioners become aware of essential issues of both paradigms, which may serve as inputs for further utilizing them in a reasonable and complementary way.

National Category
Computer Systems
Identifiers
urn:nbn:se:mdh:diva-4435 (URN)10.1109/EUROMICRO.2007.25 (DOI)9780769529776 (ISBN)
Conference
33rd EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2007; Lubeck; Germany; 27 August 2007 through 31 August 2007
Projects
SOFAR
Available from: 2008-12-04 Created: 2008-12-04 Last updated: 2016-02-11Bibliographically approved
4. Migrating Industrial Systems towards Software Product Lines: Experiences and Observations through Case Studies
Open this publication in new window or tab >>Migrating Industrial Systems towards Software Product Lines: Experiences and Observations through Case Studies
2008 (English)In: EUROMICRO 2008 - Proceedings of the 34th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2008, 2008, p. 232-239Conference paper, Published paper (Refereed)
Abstract [en]

Software product line engineering has emerged as one of the dominant paradigms for developing variety of software products based on a shared platform and shared software artifacts. An important and challenging type of software maintenance and evolution is how to cost-effectively manage the migration of legacy systems towards product lines. This paper presents a structured migration method and describes our experiences in migrating industrial legacy systems into product lines. In addition, we present a number of specific recommendations for the transition process which will be of value to organizations that are considering a product line approach to their business. The recommendations cover four perspectives: business, organization, product development processes and technology.

National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-4438 (URN)10.1109/SEAA.2008.13 (DOI)000262984400029 ()2-s2.0-60349120280 (Scopus ID)9780769532769 (ISBN)
Conference
34th EUROMICRO Conference on Software Engineering and Advanced Applications, SEAA 2008; Parma; Italy; 3 September 2008 through 5 September 2008
Available from: 2008-12-04 Created: 2008-12-04 Last updated: 2013-12-19Bibliographically approved
5. Analyzing Software Evolvability of an Industrial Automation Control System: A Case Study
Open this publication in new window or tab >>Analyzing Software Evolvability of an Industrial Automation Control System: A Case Study
2008 (English)In: Proceedings - The 3rd International Conference on Software Engineering Advances, ICSEA 2008, 2008, p. 205-213Conference paper, Published paper (Refereed)
National Category
Engineering and Technology
Identifiers
urn:nbn:se:mdh:diva-7210 (URN)10.1109/ICSEA.2008.16 (DOI)2-s2.0-57649211740 (Scopus ID)978-1-4244-3218-9 (ISBN)
Conference
3rd International Conference on Software Engineering Advances, ICSEA 2008; Sliema; 26 October 2008 through 31 October 2008
Available from: 2009-09-25 Created: 2009-09-25 Last updated: 2013-12-19Bibliographically approved

Open Access in DiVA

fulltext(357 kB)3178 downloads
File information
File name FULLTEXT01.pdfFile size 357 kBChecksum SHA-512
e55a572434e43a04826b686ec87b2a64baa9b014f02349130b2c2953918eeed0b9a2bff715993f9148e50677a694e0e7989e032c724f5aaf6cee71afadef71cb
Type fulltextMimetype application/pdf

Authority records

Pei Breivold, Hongyu

Search in DiVA

By author/editor
Pei Breivold, Hongyu
By organisation
School of Innovation, Design and Engineering
Computer Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 3182 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 1878 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf