Spelling suggestions: "subject:"tolerância à falha (computação)"" "subject:"tolerância à falha (omputação)""
51 |
Guarana : uma arquitetura de software para reflexão computacional implementada em Java tmOliva, Alexandre 30 July 1998 (has links)
Orientador: Luiz Eduardo Buzato / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-24T01:35:09Z (GMT). No. of bitstreams: 1
Oliva_Alexandre_M.pdf: 5691615 bytes, checksum: ba99390ac446198a77b12e7206bd3d4d (MD5)
Previous issue date: 1998 / Resumo: Esta dissertação é uma coleção de artigos escritos em inglês, com uma introdução e uma conclusão em português. O primeiro artigo descreve Guaraná, uma arquitetura reflexiva independente de linguagem, cujo protocolo de meta-nível, em tempo de execução, permite um alto grau de reutilização de código de meta-nível. O protocolo foi projetado de forma a prover, de forma segura, flexibilidade e reconfigurabilidade do comportamento de meta-nível de objetos. O segundo artigo descreve nossa implementação dessa arquitetura, através da modificação de uma implementação aberta da Máquina Virtual de Java TM, que mantém a linguagem de programação Java TM inalterada. Com nossa abordagem, aplicações Java TM pré-existentes podem ser tornadas reflexivas, mesmo quando seu código fonte não está disponível. O artigo descreve as alterações que fizemos à máquina virtual, bem como as classes que completam a implementação. Além disso, ele apresenta medidas de degradação de desempenho causadas por nossas alterações. O" terceiro artigo é um tutorial dirigido a programadores J ava TM que pretendam conhecer e utilizar os recursos do Guaraná. Ele cobre desde mecanismos básicos de interceptação até tópicos avançados, expondo alguns detalhes internos da implementação do Guaraná. O quarto e último artigo apresenta MOLDS, uma biblioteca de componentes de meta-nível adequados para a construção de aplicações distribuídas, que pretendemos implementar sobre o Guaraná. Esta biblioteca explorará a capacidade do Guaraná de combinar meta-objetos independentes de modo a definir comportamentos de meta-nível complexos, de maneira transparente, do ponto de vista da aplicação do nível base / Abstract: This dissertation is a collection of papers written in English, with an introduction and a conclusion in Portuguese. The first paper describes Guaraná, a language-independent reftexive architecture, whose run-time meta-leveI protocol permits a high degree of reuse of meta-leveI code. The protocol was designed so as to provide, in a secure manner, ftexibility and reconfigurability of metaleveI behavior of objects. The second paper describes our implementation of this architecture through the modification of a free implementation of the JavaTM Virtual Machine (JVM) Specification, but keeping the Java Programming Language intact. vVith our approach, existing Java applications can be made refiexive, even if their source code is not available. We describe the modifications we have introduced in the JVM, as well as the Java classes that complete the implementation, and measure the impact of the modifications on the performance of applications and the JVM. The third paper is a tutorial directed to Java TM programmers who are willing to know and use the features of Guaraná. It covers the workings of Guaraná, from basic interception mechanisms to advanced topics, exposing some of the internal details of the implementation of Guaraná. The fourth and last paper introduces MOLDS, a library of meta-leveI compo'nents suit able for building distributed applications, that we intend to implement on top of Guaraná. This library will explore Guaraná's features to combine independent meta-objects that implement mechanisms such as replication, persistence, etc, in order to form complex meta-leveI behavior, in a transparent way, from the point of view of the application programmer / Mestrado / Mestre em Ciência da Computação
|
52 |
Consenso FT-CUP em redes desconhecidas: um estudo experimentalCosta, Victor Franco 06 November 2009 (has links)
Submitted by LIVIA FREITAS (livia.freitas@ufba.br) on 2016-01-22T19:54:13Z
No. of bitstreams: 1
dissertacao.pdf: 1513187 bytes, checksum: 42a06a5bef9e5b11ab1253e8a4755c09 (MD5) / Approved for entry into archive by Uillis de Assis Santos (uillis.assis@ufba.br) on 2016-02-15T21:55:36Z (GMT) No. of bitstreams: 1
dissertacao.pdf: 1513187 bytes, checksum: 42a06a5bef9e5b11ab1253e8a4755c09 (MD5) / Made available in DSpace on 2016-02-15T21:55:36Z (GMT). No. of bitstreams: 1
dissertacao.pdf: 1513187 bytes, checksum: 42a06a5bef9e5b11ab1253e8a4755c09 (MD5) / O consenso e um problema fundamental em sistemas distribuídos que pode ser utilizado como diretiva básica para o desenvolvimento de aplicações distribuídas tolerantes a faltas. Informalmente, o consenso tem o objetivo de fazer com que todos os processos corretos do sistema decidam por um valor único proposto pelos mesmos. Redes móveis ad hoc (ou MANET) são redes dinâmicas constituídas por um conjunto de processos ou nos, onde o canal de comunicação existente entre eles é tipicamente sem fio. Exemplos destas redes são as redes de sensores e sistemas cooperativos compostos de robôs móveis. O FT-CUP é uma solução para o consenso tolerante a faltas em redes dinâmicas.
Nestas redes, o conhecimento prévio dos participantes e uma hipótese muito forte a
ser considerada. Por isso, ao contrário do consenso clássico, o FT-CUP não tem esse
conhecimento como requisito. De fato, existem poucos trabalhos de consenso que sejam
adequados ao contexto de redes dinâmicas. Além disso, poucos deles apresentam uma análise do desempenho dos protocolos propostos. Este trabalho tem como principal objetivo complementar os resultados teóricos alcançados ate então para a resolução do FT-CUP e analisar os aspectos práticos da sua realização em redes MANET. Para isso, são propostas implementações para os algoritmos necessários ao FT-CUP e realizadas
simulações em cenários realistas. A partir dos resultados obtidos nos experimentos de simula
coes, chegou-se a um conjunto de parâmetros para os quais e possível a convergência do FT-CUP, definindo-se então as características de uma rede onde o consenso pode ser resolvido de maneira aproximada. Determinou-se também o comportamento do protocolo a partir de diferentes variações de cenários e parâmetros usados nas execuções das
simulações.
|
53 |
Projeto e implementação de um mecanismo de tratamento de exceções coordenadas para arquiteturas de componentes de serviços / Design and implementation of a coordinated exception handling mechanism for service component architectureLeite, Douglas Siqueira 17 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-17T14:44:52Z (GMT). No. of bitstreams: 1
Leite_DouglasSiqueira_M.pdf: 1797650 bytes, checksum: ce96fe468509c785b633e1cde43729dd (MD5)
Previous issue date: 2010 / Resumo: Arquitetura Orientada a Serviços (Service-Oriented Architecture - SOA) _e um modelo arquitetural que visa melhorar a eficiência, agilidade e a produtividade de aplicações empresariais através do uso de serviços e composições de serviços, as quais podem ser executadas tanto de forma síncrona quanto assíncrona. Diferentes tecnologias de software podem ser usadas para implementar SOA, tais como Web services e Arquitetura de Componentes de Serviços (Service Component Architecture - SCA). A primeira _e baseada em padrões XML, ao passo que a segunda provê um modelo de componentes para implementação de serviços e composições de serviços. Em particular, quando composições de serviços assíncronos são executadas, um ou mais erros podem ocorrer concorrentemente nos diferentes serviços, possivelmente ao mesmo tempo, afetando a dependabilidade da composição. Dessa forma, mecanismos de tolerância a falhas são necessários a _m de prevenir que um defeito se manifeste na composição. Neste trabalho, apresentamos o projeto e implementação de um mecanismo de tratamento de exceções coordenadas para arquiteturas orientadas a serviços que permite a criação de composições de serviços assíncronos tolerante a falhas de uma forma flexível. Mais especifiçamente, nossa solução _e baseada em um mecanismo de tratamento de exceções global, definido pelo modelo Guardian, já que este oferece uma solução mais geral e flexível quando comparado com outras abordagens, tais como soluções baseadas em ações atômicas coordenadas. Nosso framework, denominado Guardian-SCA, foi implementado como parte do projeto Apache Tuscany SCA, usando o modelo de extensão do Tuscany e programação orientada a aspectos, aumentando assim a flexibilidade do framework / Abstract: Service-Oriented Architecture (SOA) is an architectural model that aims to enhance the efficiency, agility, and productivity of an enterprise by structuring services in terms of services compositions, which can be executed either synchronously or asynchronously. Different software technologies can be used to implement SOA, such as Web services and Service Component Architecture (SCA). The former is based on XML-based standards, while the latter provides a component model for implementing services and service compositions. In particular, when asynchronous services compositions are executed, one or more errors can occur concurrently, possibly at same time, affecting the composition's dependability. In this way, fault tolerance mechanisms are necessary in order to prevent the services compositions from reaching a failure state. In this work, we present the design and implementation of a coordinated exception handling mechanism, applicable to service-oriented architectures, which allows the creation of fault-tolerant asynchronous service compositions. More specifically, our solution is based on a global exception handling mechanism defined by the Guardian model, since it is more general and flexible when compared to other approaches, like CA Actions-based solutions. Our framework, named Guardian-SCA, was implemented as a part of the Apache Tuscany SCA project, using the Tuscany extension model and aspect-oriented programming with the aim to increase the framework's exibility / Mestrado / Sistemas de Informação / Mestre em Ciência da Computação
|
54 |
Um metodo para modelagem de exceções em desenvolvimento baseado em componentes / A method for modelling exceptions in component-based software developmentBrito, Patrick Henrique da Silva 14 October 2005 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-05T04:18:48Z (GMT). No. of bitstreams: 1
Brito_PatrickHenriquedaSilva_M.pdf: 1701733 bytes, checksum: c2009f5302dc57e1c6d8e2d4a0c95c85 (MD5)
Previous issue date: 2005 / Resumo: Devido a grande popularização do Desenvolvimento Baseado em Componentes (DBC), ele vem sendo empregado inclusive no desenvolvimento de sistemas computacionais críticos. O emprego do DBC na construção de sistemas confiáveis evidencia a necessidade de se desenvolver componentes de software que sejam robustos e que possuam uma garantia maior do seu funcionamento correto. Tratamento de exceções é uma técnica bastante conhecida para a verificação e tratamento de erros em sistemas de software. Por'em, apesar da sua popularidade, o seu projeto e a implementação são constituídos de tarefas muito complexas que não recebem uma atenção adequada dos processos de desenvolvimento existentes. A situação É ainda mais crítica se levarmos em considera¸c¿ao os métodos para DBC. Este trabalho propõe um método para auxiliar a modelagem do comportamento excepcional de sistemas baseados em componentes, chamado MDCE+. Baseado no refinamento da metodologia MDCE, o MDCE+ apresenta dois diferenciais importantes, que reforçam o seu aspecto robusto: (i) o fato dele combinar as abordagens top-down e botton-up para o desenvolvimento de sistemas confiáveis; e (ii) o fato dele ser centrado na arquitetura. O foco na arquitetura de software contribui para uma melhor definição e análise do fluxo de exceções entre os componentes do sistema. Essa maneira estruturada de detectar e tratar exceções no contexto da ocorrência de falhas é particularmente relevante para sistemas que apresentam requisitos de confiabilidade extrema. O método MDCE+ é um método genérico que pode ser aplicada a processos de desenvolvimento modernos. Em particular, nesta dissertação o método MDCE+ foi adaptado ao processo UML Components e a uma metodologia de testes. Como maneira de avaliar esse método, foi desenvolvido um estudo de caso de um sistema financeiro real, com requisitos de tolerância a falhas. Dada a sua importância, o processo de avaliação do método MDCE+ foi dividido em tr¿es etapas: (i) preparação; (ii) execução; e (iii) análise dos resultados. Nesse estudo foi necessário tratar exceções na arquitetura do sistema, com o intuito de aumentar a disponibilidade dos serviços / Abstract: Due to the large adoption of the Component-Based Development (CBD), it has also been employed in the development of critical software systems. The development of dependable systems using the CBD paradigm evidences the necessity of developing software components that are robust and dependable. Exception handling is a well known technique for verify and treat errors in software systems. However, despite its popularity, its design and implementation are constituted of very complex tasks that do not receive the adequate attention from the existing development processes. This is still more critical in the context of CBD processes. This work presents the MDCE+, a method that assists the modeling of the exceptional behavior in component-based software development. Based in the refinement of the MDCE methodology, the MDCE+ presents two important differentials, that strengthen its robustness: (i) it combines the top-down and bottom-up strategies for the development of dependable systems; and (ii) it is centered in the software architecture. As a consequence of the focus given to the software architecture, the exceptions that flow between the system components are better defined and analyzed. This structured way to detect and to treat exceptions in the context of the occurrence of imperfections is particularly needed for developing dependable systems. The MDCE+ is a generic method that can be applied together with modern development processes. In particular, in this master thesis MDCE+ was adapted to the UML Components process and to a software test methodology. In order to evaluate this method, a case study of a real financial system with fault-tolerance requirements was developed. Given its importance, the evaluation process of the MDCE+ method was decomposed in three stages: (i) preparation; (ii) execution; and (iii) results analysis. In order to increase the services availability, in this study it was necessary to deal with exceptions in the software architecture / Mestrado / Engenharia de Software / Mestre em Ciência da Computação
|
55 |
Qualidade de serviço de detectores de defeitos na presença de rajadas de perdas de mensagens / Quality of service of failure detectors in the presence of message loss burstsSotoma, Irineu 29 September 2006 (has links)
Orientador: Edmundo Roberto Mauro Madeira / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-07T10:13:43Z (GMT). No. of bitstreams: 1
Sotoma_Irineu_D.pdf: 1483229 bytes, checksum: 9fd71c5e3e9cefbd8ffefab03b2eb566 (MD5)
Previous issue date: 2006 / Resumo: A Qualidade de Serviço (QoS) de detectores de defeitos determina a rapidez que um detector de defeitos q detecta a quebra de um processo p, e a precisão que q informa essa quebra. Em redes de longa distância e em redes sem fio, a ocorrência de quebras de processo, altas variações de atraso e perdas de pacotes em rajadas são comuns. Nestas condições, uma escolha adequada de parâmetros, por um configurador de detectores de defeitos, para manter o detector de defeitos satisfazendo os requisitos de QoS, é requerida. Por isso, este trabalho propõe um configurador de detector de defeitos que leva em conta a distribuição de probabilidade de comprimento de rajadas de perdas de pacotes de mensagem, através do uso de um modelo de Markov. Os resultados da simulação mostram que os parâmetros fornecidos pelo configurador proposto tendem a levar o detector de defeitos a satisfazer os requisitos de QoS em redes sujeitas a rajadas de perdas. Adicionalmente, a pesquisa mostra que é possível melhorar a precisão do detector de defeitos usando uma combinação de estimadores simples de atrasos de mensagens / Abstract: The quality of service (QoS) of failure detectors determines how fast a failure detector q detects the crash of a process p, and how accurate q informs the p crash. In wide area networks and wireless networks, the occurrence of process crashes, high delay variations and burst losses in message packets are common. In these conditions, an adequate choice in the failure detector parameters, by a failure detector configurator, to keep the failure detector satisfying the QoS requirements, is required. Therefore, this work proposes a failure detector Configurator which takes into account the probability distribution of loss burst lengths of message packets, by using a Markov model. The simulation results show that the parameters provided by the proposed configurator tend to lead the failure detector to satisfy the QoS requirements in networks subject to message loss bursts. Additionally, the work shows that is possible improve the accuracy of the failure detector by using a simple combination of simple message delay estimators / Doutorado / Mestre em Ciência da Computação
|
56 |
Uma arquitetura baseada em politicas para gerencia de falhas em redes opticas / A policy-based architecture for fault management in optical networksCarvalho, Claudio Siqueira de 13 August 2018 (has links)
Orientador: Edmundo Roberto Mauro Madeira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-13T22:59:15Z (GMT). No. of bitstreams: 1
Carvalho_ClaudioSiqueirade_M.pdf: 1911340 bytes, checksum: 98bf30359311a3a79379b1ed1c97441d (MD5)
Previous issue date: 2006 / Mestrado / Mestre em Ciência da Computação
|
57 |
Testes de robustez em web services por meio de injeção de falhas / Robustness testing of web services by means of fault injectionValenti, André Willik, 1986- 19 August 2018 (has links)
Orientador: Eliane Martins / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-19T17:16:29Z (GMT). No. of bitstreams: 1
Valenti_AndreWillik_M.pdf: 2649436 bytes, checksum: c4cfe20cd30b324ee3a2d8058d470b7e (MD5)
Previous issue date: 2011 / Resumo: A crescente adoção de Arquiteturas Orientadas a Serviços e de Web Services pela indústria e pela academia vem criando novos desafios para a garantia de qualidade dos sistemas. Testes de robustez possibilitam verificar o funcionamento de um sistema quando sujeito a condições adversas de operação, como entradas inesperadas ou alta carga de requisições sobre os serviços. A técnica de injeção de falhas pode ser aplicada para induzir tais situações e permitir uma avaliação do sistema nessas condições. No entanto, encontram-se poucas ferramentas adequadas para essa atividade. Nesta dissertação, apresentamos a WSInject, uma ferramenta para injeção de falhas em Web Services, além de um estudo sobre testes de robustez em sistemas baseados nessa tecnologia. A ferramenta possui as vantagens de ser flexível, configurável, extensível e minimamente intrusiva. Este trabalho é parte do projeto RobustWeb da CAPES/Cofecub, registrado sob o número 623/09 / Abstract: The increasing adoption of Service-Oriented Architectures and Web Services, both by industry and academia, has been posing new challenges for quality assurance. Robustness testing allows one to verify the behavior of a system when subject to adverse operating conditions, such as unexpected inputs or high service loads. The fault injection technique may be used to induce such scenarios in order to evaluate system behavior under these conditions. However, few tools are currently available to support this activity. In this work, we present WSInject - a fault injection tool for Web Services - and a study on Web Services robustness testing. WSInject's advantages include being flexible, customizable, extensible and minimally intrusive. This work is registered under number 623/09 as part of RobustWeb project from CAPES/Cofecub / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
58 |
Validação do fluxo excepcional a partir do diagrama de atividades da UML 2.0 / Validation of exceptional flow in UML 2.0 acitivity diagramFerreira, Jeferson, 1973- 18 August 2018 (has links)
Orientador: Eliane Martins / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-18T15:53:22Z (GMT). No. of bitstreams: 1
Ferreira_Jeferson_M.pdf: 10344068 bytes, checksum: f13e5d139255d50754dc668d1bbf3fc6 (MD5)
Previous issue date: 2011 / Resumo: Para a construção de sistemas robustos, devem ser utilizadas técnicas de tolerância a falhas que podem ser implementadas através de mecanismos de tratamento de exceções. Esses mecanismos possibilitam o tratamento de possíveis exceções, ou até mesmo a continuação da execução das funcionalidades do sistema mesmo na presença de uma exceção. O uso dos mecanismos de tratamento de exceções para desenvolver sistemas de software em larga escala, juntamente com o fato de ser implementado por diversas linguagens modernas, confirma a importância desta prática de desenvolvimento. Por outro lado, o uso desses mecanismos tem suas desvantagens, impactando principalmente na complexidade dos sistemas. Um problema que ocorre com muita frequência é efetuar a validação do fluxo excepcional somente na fase de implementação. A detecção de um problema de especificação nesta etapa do processo, pode acarretar em um aumento nos custos e prazos para a entrega do software. Este trabalho apresenta uma abordagem que utiliza as técnicas de análise estática, normalmente empregadas para detectar falhas no código fonte, para antecipar a validação do fluxo excepcional de um componente de software durante o ciclo de desenvolvimento. A solução proposta utiliza as informações do fluxo de controle e fluxo de dados obtidas a partir de um modelo comportamental. O modelo utilizado nesta abordagem é o diagrama de atividades da UML, que passa por uma série de transformações até gerar um grafo de fluxo de controle interprocedimental. Durante este processo são executadas análises de fluxo de dados para inferir com precisão quais são os tipos de exceções podem ser lançadas em dado ponto do modelo. Também faz parte deste trabalho a apresentação de uma ferramenta de apoio para o processo de validação do fluxo excepcional. Esta ferramenta, denominada ADEX (Activity Diagram EXceptional flow analyzer), implementa os algoritmos utilizados para a conversão do diagrama de atividades no grafo de fluxo de controle interprocedimental. A ferramenta também oferece recursos para a visualização do fluxo de controle normal e excepcional do modelo / Abstract: In order to develop robust software, should be used fault tolerant techniques that can be implemented by exception handling mechanisms. These mechanisms allow the handling of possible exceptions or even the continued of execution of the system's functionalities, even in the presence of an exception. The use of exception handling mechanisms to develop large scale software systems together with the fact that several modern programming languages provide these mechanisms, confirm the importance of these mechanisms in practice. On the other hand, the use of these mechanisms has some disadvantages, principally impacting on the complexity of the systems. One problem that occurs very often is performing the validation of the exceptional flow only during the implementation phase. The detection of a specification problem at this stage of the process can lead the increasing of costs and delays to delivery the software. This paper presents an approach that uses static analysis techniques, usually used to detect anomalies in the source code, to antecipate the validation of the exceptional flow of a software component in the development cycle. The proposed solution uses the information of control flow and data flow gathered from a behavioral model. The model used in this approach is the UML activity diagram, which undergoes a series of transformations to generate a interprocedural control flow graph. During this process are performed data flow analysis to inferring precisely what kind of exceptions can be thrown at a specific point of the model. The presentation of a tool to support the validation of the exceptional flow, also is part of this work. This tool, called ADEX (Activity Diagram EXceptional flow analyzer), implements the algorithms used to convert the activity diagram in the interprocedural control flow graph. The tool also provides features for visualization of normal and exceptional control flow of the model / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
59 |
Uma abordagem arquitetural para o desenvolvimento rigoroso de sistemas confiáveis baseados em componentes / A rigorous architectural approach to development component-based software systemsBrito, Patrick Henrique da Silva 16 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-16T14:38:24Z (GMT). No. of bitstreams: 1
Brito_PatrickHenriquedaSilva_D.pdf: 1885619 bytes, checksum: 138c286c6050613085421c02716b1425 (MD5)
Previous issue date: 2009 / Resumo: 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óveis / Abstract: 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 application / Doutorado / Engenharia de Software / Doutor em Ciência da Computação
|
60 |
Um middleware para execução de processos estruturados em grades computacionais / A middleware for execution of structured processes in computer gridsCicerre, Fábio Rodrigo de Lima 12 July 2007 (has links)
Orientadores: Luiz Eduardo Buzato, Edmundo Roberto Mauro Madeira / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-16T20:16:50Z (GMT). No. of bitstreams: 1
Cicerre_FabioRodrigodeLima_D.pdf: 1417286 bytes, checksum: 642d37f1cb522ec4a356bbb4e9b55b96 (MD5)
Previous issue date: 2010 / Resumo: O conceito de grade surgiu com a necessidade crescente de se aproveitar recursos computacionais disponíveis em uma ou mais organizações para resolver problemas que exigem compartilhamento de dados e um grande poder de processamento. Uma grade computacional tem como objetivo principal permitir a execução distribuída e paralela de tarefas em recursos compartilhados. Uma grade é constituída de infra-estrutura física, composta de uma ou mais redes autônomas de computadores, e de um sistema de suporte (middleware), que provê serviços de gerenciamento de informações sobre os recursos da grade, controle de acesso e execução de tarefas sobre esse recursos e mecanismos de comunicação. Atualmente existem diversos sistemas que suportam a execução de tarefas independentes em uma grade computacional, mas poucos consideram a execução de processos de workflow, que permitem a definição de dependência explícita de dados e controle entre tarefas, o que impede um melhor aproveitamento de recursos, escalabilidade, desempenho de execução e recuperação automática de processos com manutenção de consistência. O sistema Xavantes, proposto e descrito nesse trabalho, procura suprir essas deficiências, tendo como principal objetivo suportar a execução distribuída de processos de workflow em máquinas heterogêneas, em uma ou mais organizações autônomas e dinâmicas, provendo um middleware que forneça uma melhor escalabilidade, desempenho e confiabilidade para a execução de aplicações em grades computacionais / Abstract: The grid concept has emerged from the increasing necessity of using available computational resources in one or more organizations in order to solve problems that require data sharing and large processing power. The main goal of a computational grid is to allow the distributed and parallel execution of tasks in shared resources. A grid is composed of a physical infra-structure, with one or more autonomous networks of computers, and a middleware, which provides services of information management about the grid resources, access control and tasks execution in these resources and communication mechanisms. Nowadays, there are some systems that support the execution of independent tasks in a computational grid, but only ones consider the execution of workflow processes, which allow the explicit definition of data and control dependencies among tasks, and this restricts a better use of available resources, scalability, execution performance, and automatic recovery of processes with the correct consistency maintenance. The Xavantes system, proposed and described in this work, is designed to reduce these deficiencies, having as its main goal the supports to the distributed execution of workflows in heterogeneous resources of one or more autonomous and dynamic organizations, providing a middleware that delivers a better scalability, performance and reliability to the application execution in grid computing / Doutorado / Sistemas Distribuídos e Redes de Computadores / Doutor em Ciência da Computação
|
Page generated in 0.2219 seconds