Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes

Detalhes bibliográficos
Autor(a) principal: Brito, Patrick Henrique da Silva
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. 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: 15 mai. 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. 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: 15 mai. 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: 15 mai. 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_ 1799138473144221696