Uma infraestrutura autoadaptativa baseada em linhas de produtos de software para composições de serviços tolerantes a falhas
Orientador: Cecília Mary Fischer Rubira === Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação === Made available in DSpace on 2018-08-24T09:31:42Z (GMT). No. of bitstreams: 1 NascimentoeSilva_AmandaSavio_D.pdf: 8931458 bytes, checksum: 448739042e9597c70abf120976d316b8 (MD...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | Multilíngua |
Published: |
[s.n.]
2013
|
Subjects: | |
Online Access: | NASCIMENTO E SILVA, Amanda Sávio. Uma infraestrutura autoadaptativa baseada em linhas de produtos de software para composições de serviços tolerantes a falhas. 2013. 158 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/275600>. Acesso em: 24 ago. 2018. http://repositorio.unicamp.br/jspui/handle/REPOSIP/275600 |
Summary: | Orientador: Cecília Mary Fischer Rubira === Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação === Made available in DSpace on 2018-08-24T09:31:42Z (GMT). No. of bitstreams: 1
NascimentoeSilva_AmandaSavio_D.pdf: 8931458 bytes, checksum: 448739042e9597c70abf120976d316b8 (MD5)
Previous issue date: 2013 === Resumo: A confiabilidade é um requisito de qualidade indispensável a muitos sistemas orientados a serviços, cada vez mais disseminados em várias atividades humanas. Composições confiáveis de serviços são formadas por um conjunto de serviços com diversidade de projetos, isto é, um conjunto de serviços funcionalmente equivalentes, ou serviços alternativos, usados para implementar técnicas de tolerância a falhas. Uma determinada técnica, como por exemplo, Recovery Blocks ou N-version Programming, pode ser mais adequada para um contexto específico de execução do que outra, dependendo dos requisitos exigidos pela aplicação, como por exemplo, desempenho. Sistemas orientados a serviços são usualmente implantados num ambiente altamente dinâmico, em que são comuns alterações nos requisitos dos clientes e flutuações na qualidade de serviços. Portanto, uma composição de serviços confiável deveria poder modificar seu próprio comportamento dinamicamente em resposta a essas mudanças. Entretanto, as soluções existentes, que usam diversidade de projetos para implementar composições confiáveis, apresentam algumas limitações: (i) não apóiam a seleção de serviços alternativos adequados que garantam que a composição realmente tolere falhas de software; (ii) em geral implementam uma única técnica de tolerância a falhas, não apoiando os requisitos diversos de clientes; e (iii) não apoiam um mecanismo autoadaptativo capaz de mudar a estratégia de tolerância a falhas em tempo de execução. Nessa tese, é apresentada uma solução baseada em linhas de produtos de software, que explora a variabilidade de software existente nas técnicas de tolerância a falhas e nas mudanças ocorridas no ambiente de execução, para a implementação de composições de serviços tolerantes a falhas e autoadaptativas. A solução encompassa: (a) um conjunto de diretrizes para investigar até que ponto serviços alternativos são realmente diversos entre si para tolerar falhas de software; (b) uma família de técnicas de tolerância a falhas para construir composições confíaveis que permite a escolha de uma técnica mais adequada para o contexto; e (c) uma infraestrutura autoadaptiva que apoia a instanciação de técnicas diferentes de tolerância a falhas como resposta a mudanças ocorridas no contexto, baseando-se no gerenciamento dinâmico de variabilidades de software. Resultados de estudos empíricos sugerem que a solução é eficiente para apoiar composições de serviços tolerantes a falhas e autoadaptativas. Direções para trabalhos futuros são apresentadas === Abstract: Nowadays, society is dependent on systems based on Service-Oriented Architecture (SOA) for its basic day-to-day functioning. As a consequence, these systems should be reliable. Fault-tolerant service compositions encompass a set of services, each with equivalent functionality yet different designs, called alternate services, that are used to implement fault tolerance techniques. A particular technique, for example, Recovery Blocks or N-version Programming, might be more suitable in a context than in another one, depending on non-functional requirements of an application, for example, performance or reliability. SOA-based applications often rely in an environment that is highly dynamic and several decisions should be postponed until runtime, where we have different stakeholders with conflicting requirements, and fluctuations in the quality of services (QoS) are recurrent. Therefore, a fault-tolerant service composition should adapt itself to meet the dynamically and widely changing context. Nevertheless, the existing diversity-based solutions for fault-tolerant service compositions present some drawbacks: (i) they do not support the selection of alternate services that in fact efficient to support a reliable service composition; (ii) they usually support only one fault tolerance technique, thus not being able to face various clients' requirements; (iii) they do not support an adaptive fault tolerance mechanism able to instantiate different fault tolerance strategies at runtime to cope with dynamic changes in the context. In this thesis, we present a solution based on software product line, which explores the variability among various software fault tolerance techniques and changes in the execution environment, to implement fault-tolerant and self-adaptive service compositions. The proposed solution encompasses: (a) a set of directives to investigate to what extent alternate services are able to tolerate software faults; (b) a family of software fault tolerance techniques to support reliable service compositions, such as the most suitable technique can be chosen according to the context; (c) a self-adaptive infrastructure to instantiate at runtime appropriate fault tolerance techniques in response to changes in the context, through dynamic management of software variability. Results from empirical studies suggest that the proposed solution is efficient to support fault-tolerant and self-adaptive service compositions. Directions for future work are also presented === Doutorado === Ciência da Computação === Doutora em Ciência da Computação |
---|