Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes
Autor(a) principal: | |
---|---|
Data de Publicação: | 2009 |
Tipo de documento: | Tese |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
Texto Completo: | https://hdl.handle.net/20.500.12733/1612895 |
Resumo: | Orientador: Cecília Mary Fischer Rubira |
id |
UNICAMP-30_23cd9c26c5d13d02e9be5edace48a28e |
---|---|
oai_identifier_str |
oai::774049 |
network_acronym_str |
UNICAMP-30 |
network_name_str |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
repository_id_str |
|
spelling |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentesA rigorous architectural approach to development component-based software systemsTratamento de exceções (Computação)Arquitetura de softwareTolerância à falha (Computação)Engenharia de softwareSoftware - DesenvolvimentoException handlingSoftware architectureFault-tolerant computingSoftware engineeringSoftware developmentOrientador: Cecília Mary Fischer RubiraTese (doutorado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: A incorporação de tolerância a falhas em sistemas de software normalmente acarreta em um aumento da complexidade, o que consequentemente torna a sua análise mais difícil. Além disso, o uso de mecanismos de tratamento de exceções de uma maneira não-sistemática pode acarretar na adição de novas falhas ao sistema. Esta tese apresenta uma abordagem rigorosa e centrada na arquitetura para o desenvolvimento de sistemas de software tolerantes a falhas. Dependendo do modelo de falhas e da disponibilidade de recursos, abstrações arquiteturais diferentes podem ser utilizadas para representar explicitamente questões relacionadas a tolerância a falhas, tais como detecção e tratamento de erros e tratamento de falhas. Essas abstrações arquiteturais e os seus respectivos detalhamentos internos podem ser instanciados em componentes e conectores concretos durante o projeto de arquiteturas de software tolerantes a falhas. De forma complementar, a solução proposta também define atividades que combinam o uso e métodos formais e casos de teste baseados em modelos para sistematizar a verificação e validação do comportamento do sistema relativo à programação e tratamento de erros e tratamento de falhas no nível arquitetural. A verificação e validação de software ocorrem em duas fases complementares do processo de desenvolvimento do software, ambas baseadas em cenários arquiteturais que descrevem a programação e tratamento de erros envolvendo elementos arquiteturais (componentes e conectores). Primeiramente, utilizando a ferramenta de verificação de modelos ProB, que combina o uso de teoria de conjuntos matemáticos (B-Method) com álgebra de processos (CSP), a arquitetura de software é verificada formalmente com o intuito de antecipar a identificação de falhas relacionadas ao projeto do sistema. Segundo, casos de teste são gerados a partir da arquitetura de software utilizando uma abordagem baseada em modelos. O objetivo dos casos de teste gerados é verificar a consistência entre os modelos arquiteturais já verificados formalmente e a implementação do sistema. Finalmente, para auxiliar as atividades de verificação, a solução proposta também contempla a definição de regras de transformação automática de diagramas UML para especificação formal em B-Method e CSP. A diferença semântica existe entre a especificação semi-formal da UML e a especificação formal em B-Method e CSP é compensada utilizando-se estereótipos e "tags" nos modelos UML. A aplicabilidade prática da solução proposta foi avaliada no contexto de três estudos de caso: (i) uma aplicação com requisitos críticos de tempo real e confiabilidade; (ii) uma aplicação bancária real com requisitos críticos de confiabilidade e disponibilidades; e (iii) uma aplicação para dispositivos móveisAbstract: The incorporation of fault tolerance into systems normally increases their complexity, which consequently makes their analysis more difficult. Moreover, the use of exception handling mechanisms to develop robust software systems in a non-systematic manner can be a source of many design faults. This thesis presents a rigorous and architecture-centric development approach for developing fault-tolerant software systems. Depending on the fault model and the resources available, different architectural abstractions can be employed for representing issues that are related to fault tolerance, such as error detection, and error and fault handling. These architectural abstractions and their internal views can be instantiated into concrete components and connectors for designing fault-tolerant software architectures. In a complementary way, the proposed rigorous solution also defines activities which use formal methods and model-based test cases do systematize the verification and validation of the system's behaviour related to error propagation and handling at the architecture level. The verification and validation occur in two complementary phases of the software development, both of them based on architectural scenarios describing error propagation and handling involving architectural elements (components and connectors). First, using the ProB model checker, which combines the use of set-theory (B-Method) and process algebra (CSP), the software architecture is formally verified in order to anticipate the identification of faults related to the system's model. Second, model-based test cases are generated in order to assess the consistency between the verified software architecture and the implementation of the software system. Finally, the proposed solution also defines rules for model transformation from UML diagrams to formal specification in B-Method and CSP. To overcome the gap between the semi-formal specification of UML and the formal models, the UML diagrams are complemented with predefined stereotypes and tags. The feasibility of our approach was evaluated in the context of three case studies: (i) a critical real-time application; (ii) a real banking system; and (iii) a mobile applicationDoutoradoEngenharia de SoftwareDoutor em Ciência da Computação[s.n.]Rubira, Cecília Mary Fischer, 1964-Gimenes, Itana Maria de SouzaMartins, ElianeAnido, Ricardo de OliveiraWeber, Taisy SilvaUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASBrito, Patrick Henrique da Silva2009info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdf121 p. : il.https://hdl.handle.net/20.500.12733/1612895BRITO, Patrick Henrique da Silva. Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes. 2009. 121 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1612895. Acesso em: 3 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/774049porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2017-02-18T05:59:10Zoai::774049Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2017-02-18T05:59:10Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false |
dc.title.none.fl_str_mv |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes A rigorous architectural approach to development component-based software systems |
title |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes |
spellingShingle |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes Brito, Patrick Henrique da Silva Tratamento de exceções (Computação) Arquitetura de software Tolerância à falha (Computação) Engenharia de software Software - Desenvolvimento Exception handling Software architecture Fault-tolerant computing Software engineering Software development |
title_short |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes |
title_full |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes |
title_fullStr |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes |
title_full_unstemmed |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes |
title_sort |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes |
author |
Brito, Patrick Henrique da Silva |
author_facet |
Brito, Patrick Henrique da Silva |
author_role |
author |
dc.contributor.none.fl_str_mv |
Rubira, Cecília Mary Fischer, 1964- Gimenes, Itana Maria de Souza Martins, Eliane Anido, Ricardo de Oliveira Weber, Taisy Silva Universidade Estadual de Campinas (UNICAMP). Instituto de Computação Programa de Pós-Graduação em Ciência da Computação UNIVERSIDADE ESTADUAL DE CAMPINAS |
dc.contributor.author.fl_str_mv |
Brito, Patrick Henrique da Silva |
dc.subject.por.fl_str_mv |
Tratamento de exceções (Computação) Arquitetura de software Tolerância à falha (Computação) Engenharia de software Software - Desenvolvimento Exception handling Software architecture Fault-tolerant computing Software engineering Software development |
topic |
Tratamento de exceções (Computação) Arquitetura de software Tolerância à falha (Computação) Engenharia de software Software - Desenvolvimento Exception handling Software architecture Fault-tolerant computing Software engineering Software development |
description |
Orientador: Cecília Mary Fischer Rubira |
publishDate |
2009 |
dc.date.none.fl_str_mv |
2009 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/20.500.12733/1612895 BRITO, Patrick Henrique da Silva. Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes. 2009. 121 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1612895. Acesso em: 3 set. 2024. |
url |
https://hdl.handle.net/20.500.12733/1612895 |
identifier_str_mv |
BRITO, Patrick Henrique da Silva. Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes. 2009. 121 p. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1612895. Acesso em: 3 set. 2024. |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
https://repositorio.unicamp.br/acervo/detalhe/774049 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf 121 p. : il. |
dc.publisher.none.fl_str_mv |
[s.n.] |
publisher.none.fl_str_mv |
[s.n.] |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) instname:Universidade Estadual de Campinas (UNICAMP) instacron:UNICAMP |
instname_str |
Universidade Estadual de Campinas (UNICAMP) |
instacron_str |
UNICAMP |
institution |
UNICAMP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
collection |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP) |
repository.mail.fl_str_mv |
sbubd@unicamp.br |
_version_ |
1809189037960855552 |