Campo DC | Valor | Idioma |
dc.creator | Carvalho, Michelle Larissa Luciano | - |
dc.date.accessioned | 2023-03-30T12:03:14Z | - |
dc.date.available | 2023-03-30T12:03:14Z | - |
dc.date.issued | 2020-09-24 | - |
dc.identifier.citation | CARVALHO, Michelle Larissa Luciano. ToffA-DAS: an approach to conduct trade-off analysis for dynamically adaptable software. 2020. 182 f. Tese (Doutorado em Ciência da Computação) Instituto de Computação, Universidade Federal da Bahia, Salvador, BA, 2020. | pt_BR |
dc.identifier.uri | https://repositorio.ufba.br/handle/ri/36787 | - |
dc.description.abstract | The Dynamic Software Product Lines (DSPL) engineering processes aim to design Dynamically
Adaptable Software (DAS) by increasing the flexibility for the generation of
a huge number of configurations. It results in a software configuration space explosion
making the analysis more difficult and complicating the developers work. In this sense,
software engineers need to find a combination of systems features that can simultaneously
satisfy constraints specified in feature and context models, Non-functional Requirements
(NFRs), and stakeholders preferences. It means that they have to measure many configurations
until finding the feasible ones, characterizing the product configuration process
in a complex optimization problem. Most of the existing studies do not focus on the
interactions between contextual information and NFRs when dealing with feature selection
to meet the desired quality objectives in DAS. In addition, such studies do not use
any planning strategy to support the configuration selection process. Based on these research
gaps, we propose an approach that (i) manages the systems features and contexts;
(ii) facilitates the understanding of how DSPL applications can behave from a certain
context change, and (iii) enables to conduct trade-off analysis in order to find valid and
feasible configurations, which meet the constraints and the interactions between contextual
information and NFRs. Aiming to support the context variability modeling of DAS,
we proposed the Extended Context-aware Feature Modeling (eCFM) technique to deal
with constraints among contexts. Next, we defined the DAS Trade-off Analysis (ToffADAS)
approach to deal with the configuration selection process embracing interactions
between contextual information and NFRs. We also proposed a strategy to analyze context
changes in order to define adaptation models for each prioritization of the systems
features, contexts, and NFRs. Finally, we evolved our approach and named it as DAS
Trade-off Analysis PLUS (ToffA-DAS+). ToffA-DAS is based on the integer linear programming
technique, whereas ToffA-DAS+ uses a genetic algorithm. We performed a set
of empirical studies in order to evaluate the proposal for this thesis. First, we conducted
a survey to evaluate eCFM from the viewpoint of expressiveness to model the context
constraints and easiness of use. Indeed, the analysis was focused on the comprehensibility
of contextual variability modeling. Next, we performed a study based on simulations
to gather initial evidence about the feasibility of using ToffA-DAS. It is based on how to conduct trade-off analysis and define adaptation models from feasible configurations
found in the analysis. We also conducted an exploratory study to evaluate how the configurations
obtained by the execution of ToffA-DAS affect the overall satisfaction level
of NFRs. Finally, we evaluated the evolution of our approach in comparison with the
previous release. As a result of the first study, the eCFM was considered a technique with
a great expressiveness to represent adaptation rules among contexts and system features,
besides the easiness of use and organization with the grouping of contexts. Therefore, we argue that the software engineers may take into account the use of eCFM technique to
model DAS. In the second study, ToffA-DAS presented consistent results in accordance
with the real-world scenarios and satisfied the estimated utility values and model constraints.
The third study showed that the set of configurations generated by ToffA-DAS
execution provide high satisfaction levels of NFRs. In the last study, we collected evidence
that ToffA-DAS+ suggests more solutions from then possible valid configurations
of the model. Based on the aforementioned studies, we evidenced that our approach
can be handy when software engineers need assistance in the understanding of how to
design a variety of configurable options for DSPL applications. It is based on the principle
that each configuration option must be feasible to meet certain contextual changes
without losing service quality. With the usage of our approach, software engineers can
exhaustively analyze and simulate a solution before implementing it. | pt_BR |
dc.description.sponsorship | Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES) | pt_BR |
dc.language | eng | pt_BR |
dc.publisher | Universidade Federal da Bahia | pt_BR |
dc.rights | CC0 1.0 Universal | * |
dc.rights.uri | http://creativecommons.org/publicdomain/zero/1.0/ | * |
dc.subject | Software dinamicamente adaptável | pt_BR |
dc.subject | Linhas de Produtos de Software Dinâmico (LPSD) | pt_BR |
dc.subject | Gerenciamento de variabilidade | pt_BR |
dc.subject | Análise de modelo de funcionalidades | pt_BR |
dc.subject | Engenharia de requisitos | pt_BR |
dc.subject | Otimização | pt_BR |
dc.subject | Modelo de adaptação | pt_BR |
dc.subject | Engenharia de software | pt_BR |
dc.subject.other | Dynamically adaptable software | pt_BR |
dc.subject.other | Dynamic Software Product Lines (LPSD) | pt_BR |
dc.subject.other | Variability management | pt_BR |
dc.subject.other | Feature model analysis | pt_BR |
dc.subject.other | Requirement engineering | pt_BR |
dc.subject.other | Optimization | pt_BR |
dc.subject.other | Adaptation model | pt_BR |
dc.subject.other | Software Engineering | pt_BR |
dc.title | ToffA-DAS: an approach to conduct trade-off analysis for dynamically adaptable software | pt_BR |
dc.title.alternative | ToffA-DAS: uma abordagem para conduzir análises de trade-off para software dinamicamente adaptável | pt_BR |
dc.type | Tese | pt_BR |
dc.contributor.referees | Andrade, Rossana Maria de Castro | - |
dc.publisher.program | Programa de Pós-Graduação em Ciência da Computação (PGCOMP) | pt_BR |
dc.publisher.initials | UFBA | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.subject.cnpq | CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | pt_BR |
dc.contributor.advisor1 | Almeida, Eduardo Santana de | - |
dc.contributor.advisor1ID | 0000-0002-9312-6715 | pt_BR |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/8538761803577291 | pt_BR |
dc.contributor.advisor-co1 | Masiero, Paulo Cézar | - |
dc.contributor.advisor-co1Lattes | http://lattes.cnpq.br/8903183021436431 | pt_BR |
dc.contributor.referee1 | Almeida , Eduardo Santana de | - |
dc.contributor.referee1ID | 0000-0002-9312-6715 | pt_BR |
dc.contributor.referee1Lattes | http://lattes.cnpq.br/8538761803577291 | pt_BR |
dc.contributor.referee2 | Masiero, Paulo Cesar | - |
dc.contributor.referee2Lattes | http://lattes.cnpq.br/8903183021436431 | pt_BR |
dc.contributor.referee3 | Melo, Rafael Augusto de | - |
dc.contributor.referee3ID | 0000-0003-4300-0097 | pt_BR |
dc.contributor.referee3Lattes | http://lattes.cnpq.br/4117373032501782 | pt_BR |
dc.contributor.referee4 | Maciel, Rita Suzana Pitangueira | - |
dc.contributor.referee4ID | 0000-0003-3159-6065 | pt_BR |
dc.contributor.referee4Lattes | http://lattes.cnpq.br/0290950513716961 | pt_BR |
dc.contributor.referee5 | Rubira, Cecília Mary Fischer | - |
dc.contributor.referee5ID | 0000-0003-4549-7105 | pt_BR |
dc.contributor.referee5Lattes | http://lattes.cnpq.br/1396497553199632 | pt_BR |
dc.creator.ID | 0000-0003-3796-9723 | pt_BR |
dc.creator.Lattes | http://lattes.cnpq.br/1374389984062396 | pt_BR |
dc.description.resumo | Os processos de engenharia das linhas de produtos de software dinâmico (LPSD) visam
projetar software dinamicamente adaptável (SAD), aumentando a flexibilidade para a
geração de um grande número de configurações. Isso resulta em uma explosão de espaço
de configuração do software, tornando a análise mais difícil e complicando o trabalho do
desenvolvedor. Nesse sentido, os engenheiros de software precisam encontrar uma combinação
de funcionalidades do sistema que possam satisfazer simultaneamente as restrições
especificadas em modelos de funcionalidades e de contexto, requisitos não funcionais
(RNFs) e preferências das partes interessadas. Isso significa que eles têm que medir várias
configurações até encontrar as viáveis, caracterizando o processo de configuração do produto
em um problema de otimização complexo. A maioria dos estudos existentes não
focam nas interações entre as informações contextuais e os RNFs ao lidar com a seleção
de funcionalidades para atender aos objetivos de qualidade desejados. Além disso, tais
estudos não usam nenhuma estratégia de planejamento para apoiar o processo de seleção
de configuração. Com base nessas lacunas de pesquisa, propomos uma abordagem que (i)
gerencia as funcionalidades e contextos do sistema; (ii) facilita a compreensão de como os
produtos de uma LPSD podem se comportar a partir de uma determinada mudança de
contexto, e (iii) permite realizar análise trade-off a fim de encontrar configurações válidas
e viáveis, que atendam as restrições e as interações entre as informações contextuais e
RNFs. Com o objetivo de apoiar a modelagem de variabilidade de contexto, propusemos
a técnica estendida de model game de funcionalidade sensível ao contexto (eCFM)
para lidar com restrições entre contextos. Em seguida, definimos a abordagem Análise
Trade-off para SAD (ToffA-DAS) para lidar com o processo de seleção de configuração
que abrange as interações entre as informações contextuais e os RNFs. Também propusemos
uma estratégia para analisar as mudanças de contexto, a fim de definir modelos de
adaptação para cada priorização das funcionalidades do sistema, contextos e RNFs. Por
fim, evoluímos nossa abordagem e chamamos de ToffA-DAS PLUS (ToffA-DAS+). O ToffA-DAS é baseado na técnica de programação linear inteira, enquanto o ToffA-DAS
+ usa um algoritmo genético. Realizamos um conjunto de estudos empíricos a fim de
avaliar a proposta desta tese. Primeiramente, realizamos uma pesquisa para avaliar o
eCFM do ponto de vista da expressividade para modelar as restrições de contexto e facilidade
de uso. Na verdade, a análise foi focada na compreensibilidade da modelagem de
variabilidade contextual. Em seguida, realizamos um estudo baseado em simulações para
reunir evidências iniciais sobre a viabilidade do uso do ToffA-DAS. Esse estudo é baseado
em como conduzir uma análise de trade-off e definir modelos de adaptação a partir das
configurações viáveis encontradas na análise. Também realizamos um estudo exploratório
para avaliar como as configurações obtidas pela execução do ToffA-DAS afetam o nível
de satisfação geral dos RNFs. Por fim, avaliamos a evolução da nossa abordagem em comparação com a versão anterior. Como resultado do primeiro estudo, o eCFM foi considerado
uma técnica com grande expressividade para representar regras de adaptação
entre contextos e funcionalidades do sistema, além da facilidade de uso e organização com
o agrupamento de contextos. Portanto, concluímos que os engenheiros de software podem
levar em consideração o uso da técnica eCFM para modelar SAD. No segundo estudo,
ToffA-DAS apresentou resultados consistentes de acordo com os cenários do mundo real,
satisfez os valores de utilidade estimados e as restrições do modelo. O terceiro estudo
mostrou que o conjunto de configurações gerado pela execução do ToffA-DAS proporciona
altos níveis de satisfação dos RNFs. No último estudo, coletamos evidências de que
o ToffA-DAS+ sugere mais soluções a partir de possíveis configurações válidas do modelo.
Com base nos estudos mencionados acima, evidenciamos que nossa abordagem pode ser
útil quando os engenheiros de software precisam de ajuda na compreensão de como projetar
uma variedade de opções configuráveis para LPSD. É baseado no princípio de que
cada opção de configuração deve ser viável para atender a certas mudanças contextuais
sem perder a qualidade do serviço. Com o uso de nossa abordagem, os engenheiros de
software podem analisar e simular exaustivamente uma solução antes de implementá-la. | pt_BR |
dc.publisher.department | Instituto de Computação - IC | pt_BR |
dc.contributor.refereesLattes | http://lattes.cnpq.br/9576713124661835 | pt_BR |
dc.contributor.refereesIDs | 0000-0002-0186-2994 | pt_BR |
dc.type.degree | Doutorado | pt_BR |
Aparece nas coleções: | Tese (PGCOMP)
|