Managing the evolution of a software architecture at minimal cost under performance and reliability constraints.
Saved in:
| Title: | Managing the evolution of a software architecture at minimal cost under performance and reliability constraints. |
|---|---|
| Authors: | Cortellessa, Vittorio1 vittorio.cortellessa@univaq.it, Mirandola, Raffaela2 raffaela.mirandola@polimi.it, Potena, Pasqualina3 p.potena@uah.es |
| Source: | Science of Computer Programming. Feb2015 Part 4, Vol. 98, p439-463. 25p. |
| Subjects: | Software architecture, Reliability engineering software, Constraint programming, Cost analysis, Computational complexity, Performance evaluation |
| Abstract: | Managing a software architecture after the deployment phase is a very complex task due to frequent changes in the software requirements and environment. The software architecture must evolve in order to tackle such changes. The goal of this paper is to provide support for the decisions that software architects make after deployment. This approach is based on an optimization model whose solution suggests the “best” actions to be taken according to a given change scenario (i.e., a set of new requirements that induce changes in the structural and behavioral aspects of the software architecture). The model aims to minimize the costs while keeping the reliability and the performance of the software architecture within certain thresholds. The approach has been implemented as a framework named SHEPhERd, which is composed of a UML case tool, a model builder and a model solver. We show how SHEPhERd works on a smartphone mobile application example, and we highlight its potential to drive architectural decisions through sensitivity analysis. The achieved results are compared with those obtained by two groups of (human) maintainers composed of experts and non-experts with respect to the system and the execution environment, and we show that SHEPhERd outperforms the human judgment-based approaches. [ABSTRACT FROM AUTHOR] |
| Copyright of Science of Computer Programming is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) | |
| Database: | Engineering Source |
| FullText | Text: Availability: 0 |
|---|---|
| Header | DbId: egs DbLabel: Engineering Source An: 99791533 AccessLevel: 6 PubType: Academic Journal PubTypeId: academicJournal PreciseRelevancyScore: 0 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: Managing the evolution of a software architecture at minimal cost under performance and reliability constraints. – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Cortellessa%2C+Vittorio%22">Cortellessa, Vittorio</searchLink><relatesTo>1</relatesTo><i> vittorio.cortellessa@univaq.it</i><br /><searchLink fieldCode="AR" term="%22Mirandola%2C+Raffaela%22">Mirandola, Raffaela</searchLink><relatesTo>2</relatesTo><i> raffaela.mirandola@polimi.it</i><br /><searchLink fieldCode="AR" term="%22Potena%2C+Pasqualina%22">Potena, Pasqualina</searchLink><relatesTo>3</relatesTo><i> p.potena@uah.es</i> – Name: TitleSource Label: Source Group: Src Data: <searchLink fieldCode="JN" term="%22Science+of+Computer+Programming%22">Science of Computer Programming</searchLink>. Feb2015 Part 4, Vol. 98, p439-463. 25p. – Name: Subject Label: Subjects Group: Su Data: <searchLink fieldCode="DE" term="%22Software+architecture%22">Software architecture</searchLink><br /><searchLink fieldCode="DE" term="%22Reliability+engineering+software%22">Reliability engineering software</searchLink><br /><searchLink fieldCode="DE" term="%22Constraint+programming%22">Constraint programming</searchLink><br /><searchLink fieldCode="DE" term="%22Cost+analysis%22">Cost analysis</searchLink><br /><searchLink fieldCode="DE" term="%22Computational+complexity%22">Computational complexity</searchLink><br /><searchLink fieldCode="DE" term="%22Performance+evaluation%22">Performance evaluation</searchLink> – Name: Abstract Label: Abstract Group: Ab Data: Managing a software architecture after the deployment phase is a very complex task due to frequent changes in the software requirements and environment. The software architecture must evolve in order to tackle such changes. The goal of this paper is to provide support for the decisions that software architects make after deployment. This approach is based on an optimization model whose solution suggests the “best” actions to be taken according to a given change scenario (i.e., a set of new requirements that induce changes in the structural and behavioral aspects of the software architecture). The model aims to minimize the costs while keeping the reliability and the performance of the software architecture within certain thresholds. The approach has been implemented as a framework named SHEPhERd, which is composed of a UML case tool, a model builder and a model solver. We show how SHEPhERd works on a smartphone mobile application example, and we highlight its potential to drive architectural decisions through sensitivity analysis. The achieved results are compared with those obtained by two groups of (human) maintainers composed of experts and non-experts with respect to the system and the execution environment, and we show that SHEPhERd outperforms the human judgment-based approaches. [ABSTRACT FROM AUTHOR] – Name: AbstractSuppliedCopyright Label: Group: Ab Data: <i>Copyright of Science of Computer Programming is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.) |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=99791533 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1016/j.scico.2014.06.001 Languages: – Code: eng Text: English PhysicalDescription: Pagination: PageCount: 25 StartPage: 439 Subjects: – SubjectFull: Software architecture Type: general – SubjectFull: Reliability engineering software Type: general – SubjectFull: Constraint programming Type: general – SubjectFull: Cost analysis Type: general – SubjectFull: Computational complexity Type: general – SubjectFull: Performance evaluation Type: general Titles: – TitleFull: Managing the evolution of a software architecture at minimal cost under performance and reliability constraints. Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Cortellessa, Vittorio – PersonEntity: Name: NameFull: Mirandola, Raffaela – PersonEntity: Name: NameFull: Potena, Pasqualina IsPartOfRelationships: – BibEntity: Dates: – D: 04 M: 02 Text: Feb2015 Part 4 Type: published Y: 2015 Identifiers: – Type: issn-print Value: 01676423 Numbering: – Type: volume Value: 98 Titles: – TitleFull: Science of Computer Programming Type: main |
| ResultId | 1 |