Managing the evolution of a software architecture at minimal cost under performance and reliability constraints.

Saved in:
Bibliographic Details
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