Dynamic decision-making based on NFR for managing software variability and configuration selection

André Almeida, Nelly Bencomo, Thais Batista, Everton Cavalcante, Francisco Dantas

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Due to dynamic variability, identifying the specific conditions under which non-functional requirements (NFRs) are satisfied may be only possible at runtime. Therefore, it is necessary to consider the dynamic treatment of relevant information during the requirements specifications. The associated data can be gathered by monitoring the execution of the application and its underlying environment to support reasoning about how the current application configuration is fulfilling the established requirements. This paper presents a dynamic decision-making infrastructure to support both NFRs representation and monitoring, and to reason about the degree of satisfaction of NFRs during runtime. The infrastructure is composed of: (i) an extended feature model aligned with a domain-specific language for representing NFRs to be monitored at runtime; (ii) a monitoring infrastructure to continuously assess NFRs at runtime; and (iii) a exible decision-making process to select the best available configuration based on the satisfaction degree of the NRFs. The evaluation of the approach has shown that it is able to choose application configurations that well fit user NFRs based on runtime information. The evaluation also revealed that the proposed infrastructure provided consistent indicators regarding the best application configurations that fit user NFRs. Finally, a benefit of our approach is that it allows us to quantify the level of satisfaction with respect to NFRs specification.

Original languageEnglish
Title of host publicationProceedings of the 30th annual ACM Symposium on Applied Computing, SAC '15
Place of PublicationNew York, NY (US)
PublisherACM
Pages1376-1382
Number of pages7
ISBN (Print)978-1-4503-3196-8
DOIs
Publication statusPublished - 13 Apr 2015
Event30th annual ACM Symposium on Applied Computing - Salamanca, Spain
Duration: 13 Apr 201517 Apr 2015

Symposium

Symposium30th annual ACM Symposium on Applied Computing
Abbreviated titleSAC 2015
CountrySpain
CitySalamanca
Period13/04/1517/04/15

Fingerprint

Decision making
Monitoring
Specifications

Bibliographical note

Definitive Version of Record in the ACM Digital Library.

Keywords

  • monitoring
  • non-functional requirements
  • SPLs
  • variability

Cite this

Almeida, A., Bencomo, N., Batista, T., Cavalcante, E., & Dantas, F. (2015). Dynamic decision-making based on NFR for managing software variability and configuration selection. In Proceedings of the 30th annual ACM Symposium on Applied Computing, SAC '15 (pp. 1376-1382). New York, NY (US): ACM. https://doi.org/10.1145/2695664.2695875
Almeida, André ; Bencomo, Nelly ; Batista, Thais ; Cavalcante, Everton ; Dantas, Francisco. / Dynamic decision-making based on NFR for managing software variability and configuration selection. Proceedings of the 30th annual ACM Symposium on Applied Computing, SAC '15. New York, NY (US) : ACM, 2015. pp. 1376-1382
@inproceedings{882f00f4db614e8497e7784787ab7627,
title = "Dynamic decision-making based on NFR for managing software variability and configuration selection",
abstract = "Due to dynamic variability, identifying the specific conditions under which non-functional requirements (NFRs) are satisfied may be only possible at runtime. Therefore, it is necessary to consider the dynamic treatment of relevant information during the requirements specifications. The associated data can be gathered by monitoring the execution of the application and its underlying environment to support reasoning about how the current application configuration is fulfilling the established requirements. This paper presents a dynamic decision-making infrastructure to support both NFRs representation and monitoring, and to reason about the degree of satisfaction of NFRs during runtime. The infrastructure is composed of: (i) an extended feature model aligned with a domain-specific language for representing NFRs to be monitored at runtime; (ii) a monitoring infrastructure to continuously assess NFRs at runtime; and (iii) a exible decision-making process to select the best available configuration based on the satisfaction degree of the NRFs. The evaluation of the approach has shown that it is able to choose application configurations that well fit user NFRs based on runtime information. The evaluation also revealed that the proposed infrastructure provided consistent indicators regarding the best application configurations that fit user NFRs. Finally, a benefit of our approach is that it allows us to quantify the level of satisfaction with respect to NFRs specification.",
keywords = "monitoring, non-functional requirements, SPLs, variability",
author = "Andr{\'e} Almeida and Nelly Bencomo and Thais Batista and Everton Cavalcante and Francisco Dantas",
note = "Definitive Version of Record in the ACM Digital Library.",
year = "2015",
month = "4",
day = "13",
doi = "10.1145/2695664.2695875",
language = "English",
isbn = "978-1-4503-3196-8",
pages = "1376--1382",
booktitle = "Proceedings of the 30th annual ACM Symposium on Applied Computing, SAC '15",
publisher = "ACM",
address = "United States",

}

Almeida, A, Bencomo, N, Batista, T, Cavalcante, E & Dantas, F 2015, Dynamic decision-making based on NFR for managing software variability and configuration selection. in Proceedings of the 30th annual ACM Symposium on Applied Computing, SAC '15. ACM, New York, NY (US), pp. 1376-1382, 30th annual ACM Symposium on Applied Computing, Salamanca, Spain, 13/04/15. https://doi.org/10.1145/2695664.2695875

Dynamic decision-making based on NFR for managing software variability and configuration selection. / Almeida, André; Bencomo, Nelly; Batista, Thais; Cavalcante, Everton; Dantas, Francisco.

Proceedings of the 30th annual ACM Symposium on Applied Computing, SAC '15. New York, NY (US) : ACM, 2015. p. 1376-1382.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Dynamic decision-making based on NFR for managing software variability and configuration selection

AU - Almeida, André

AU - Bencomo, Nelly

AU - Batista, Thais

AU - Cavalcante, Everton

AU - Dantas, Francisco

N1 - Definitive Version of Record in the ACM Digital Library.

PY - 2015/4/13

Y1 - 2015/4/13

N2 - Due to dynamic variability, identifying the specific conditions under which non-functional requirements (NFRs) are satisfied may be only possible at runtime. Therefore, it is necessary to consider the dynamic treatment of relevant information during the requirements specifications. The associated data can be gathered by monitoring the execution of the application and its underlying environment to support reasoning about how the current application configuration is fulfilling the established requirements. This paper presents a dynamic decision-making infrastructure to support both NFRs representation and monitoring, and to reason about the degree of satisfaction of NFRs during runtime. The infrastructure is composed of: (i) an extended feature model aligned with a domain-specific language for representing NFRs to be monitored at runtime; (ii) a monitoring infrastructure to continuously assess NFRs at runtime; and (iii) a exible decision-making process to select the best available configuration based on the satisfaction degree of the NRFs. The evaluation of the approach has shown that it is able to choose application configurations that well fit user NFRs based on runtime information. The evaluation also revealed that the proposed infrastructure provided consistent indicators regarding the best application configurations that fit user NFRs. Finally, a benefit of our approach is that it allows us to quantify the level of satisfaction with respect to NFRs specification.

AB - Due to dynamic variability, identifying the specific conditions under which non-functional requirements (NFRs) are satisfied may be only possible at runtime. Therefore, it is necessary to consider the dynamic treatment of relevant information during the requirements specifications. The associated data can be gathered by monitoring the execution of the application and its underlying environment to support reasoning about how the current application configuration is fulfilling the established requirements. This paper presents a dynamic decision-making infrastructure to support both NFRs representation and monitoring, and to reason about the degree of satisfaction of NFRs during runtime. The infrastructure is composed of: (i) an extended feature model aligned with a domain-specific language for representing NFRs to be monitored at runtime; (ii) a monitoring infrastructure to continuously assess NFRs at runtime; and (iii) a exible decision-making process to select the best available configuration based on the satisfaction degree of the NRFs. The evaluation of the approach has shown that it is able to choose application configurations that well fit user NFRs based on runtime information. The evaluation also revealed that the proposed infrastructure provided consistent indicators regarding the best application configurations that fit user NFRs. Finally, a benefit of our approach is that it allows us to quantify the level of satisfaction with respect to NFRs specification.

KW - monitoring

KW - non-functional requirements

KW - SPLs

KW - variability

UR - http://www.scopus.com/inward/record.url?scp=84955491879&partnerID=8YFLogxK

U2 - 10.1145/2695664.2695875

DO - 10.1145/2695664.2695875

M3 - Conference contribution

AN - SCOPUS:84955491879

SN - 978-1-4503-3196-8

SP - 1376

EP - 1382

BT - Proceedings of the 30th annual ACM Symposium on Applied Computing, SAC '15

PB - ACM

CY - New York, NY (US)

ER -

Almeida A, Bencomo N, Batista T, Cavalcante E, Dantas F. Dynamic decision-making based on NFR for managing software variability and configuration selection. In Proceedings of the 30th annual ACM Symposium on Applied Computing, SAC '15. New York, NY (US): ACM. 2015. p. 1376-1382 https://doi.org/10.1145/2695664.2695875