1 |
Algoritmos distribuidos para localização de falhas e difusão de mensagens em hipercubos defeituososNascimento, Saulo Rodrigues do 25 February 2000 (has links)
Orientador: Marco A. Amaral Henriques / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica e de Computação / Made available in DSpace on 2018-07-26T12:11:01Z (GMT). No. of bitstreams: 1
Nascimento_SauloRodriguesdo_M.pdf: 4340507 bytes, checksum: 0281c864c5f8a0ed138e9d720e7c4154 (MD5)
Previous issue date: 2000 / Resumo: Após investigação das soluções existentes na literatura para o problema da difusão de mensagens em máquinas paralelas tipo hipercubo com falhas de enlace e de nó, este trabalho faz uma análise detalhada das mesmas comparando os fatores que determinam qual é mais adequada para cada tipo de aplicação. Em seguida, efetua-se uma pesquisa sobre os métodos existentes para a detecção e localização de falhas em sistemas multicomputadores. Como resultado, constata-se a ausência de um método específico para hipercubos e propõese um algoritmo distribuído que explora as propriedades desta topologia na detecção e localização de enlaces e nós falhos. Finalmente, é proposto um algoritmo tolerante a falhas para difusão eficiente de mensagens, reunindo e superando as características positivas dos melhores algo ritmos existentes. O algoritmo proposto tolera até n-l falhas, sendo elas de enlaces, nós ou uma combinação de ambas, e realiza todo o processo de difusão em no máximo n+2 etapas, para um hipercubo de dimensão n. Um grande número de testes efetuados em um hipercubo comercial atesta a correção desta solução e a sua posição de vantagem em relação às existentes / Abstract: In this work, it is made a detailed analysis of the solutions found in the literature for the problem of broadcasting in hypercube parallel machines with link and node failures, and all the aspects that determine which one fits better to a specific environment and application are compared. Following that, the existing methods used to detect and locate failures in multicomputer systems - major concern in a broadcasting process - are analyzed as well. Based on this research, it is realized the absence of a specific method for hypercubes and a new and distributed algorithm is proposed to fill in this gap. This algorithm takes advantage of the hypercube topology in order to detect and locate faulty links and nodes efficiently. Finally, it is proposed a new and efficient fault tolerant algorithm for broadcasting in hypercube systems, gathering and surpassing the most positive features of the former solutions. This algorithm treats up to n-l failures (links, nodes or both) and finishes the whole process in no more than n+2 broadcasting steps, for an n-dimensional hypercube. Several tests performed on a commercial version of a hypercube-based machine confirms the correctness of this solution and its higher quality compared to the other ones / Mestrado / Mestre em Engenharia Elétrica
|
2 |
Implementação de duas arquiteturas microcontroladas tolerantes a falhas para controle da temperatura /Botta, Gilson Fernando. January 2002 (has links)
Orientador: Deisy Piedade Munhoz Lopes / Banca: Gerson Antonio Santarine / Banca: Ronaldo Guimaraes Correa / Resumo: Os microcontroladores são empregados com freqüência crescente na automação e controle de processos. É fato, que em certos processos, a falha no sistema de controle é inadmissível. Nestes casos, é necessário o emprego de técnicas de tolerância à falhas. Diante disso, duas arquiteturas com base em microcontroladores, foram projetadas, construídas e submetidas a testes. Tanto a Arquitetura em Anel como a Arquitetura TMR implementadas, podem suportar falhas tanto nos nodos da estrutura, como nos arcos, que representam as ligações entre microcontroladores. Os nodos são controlados por protocolos implementados por programação, sem a necessidade de um circuito votante comum, presente na arquitetura TMR clássica, ou de qualquer outro circuito especial, para o controle da redundância dos circuitos. Os sistemas são modulares e podem operar sem um dos módulos ativado. Isso permite que um determinado módulo seja retirado para manutenção e posteriormente reinstalado, de maneira transparente a aplicação. Foram realizados testes nas arquiteturas desenvolvidas, com injeção de falhas físicas e lógicas. Ambas as arquiteturas responderam conforme o desejado, ou seja, detectaram e toleraram as falhas. As duas arquiteturas agregam características de confiabilidade e disponibilidade a sistemas de controle e apresentam-se como opções promissoras para a gestão de processos em tempo real. / Abstract: The microcontrollers are frequently used in automation and process control. It's a fact that in certain processes the failure in the control system it is inadmissible. In these cases it is necessary to make use of the fault-tolerance techniques. Within this context two fault-tolerant architecture based in microcontrollers were project, built and submitted to extensive tests. The implemented Ring Architecture on the TMR Architecture can endure failure, either in the structure nodes (in the microcontrollers) or in the arches, which represent the connections between the microcontrollers. The nodes are controlled by protocols implemented by a program without the need of a common voting circuit, which is present in the classic TMR Architecture, on any other special circuit to control the redundancy of the circuits. Both system are modules and can operate without one been activated. These allow one module to be removed for maintenance and be reinstalled after words. In tests of physics fault and logic were made in the enveloped architecture and both reacted as expected such as detected and endure fault. Both architecture congregated characteristics of reliability and availability to the control systems. / Mestre
|
3 |
Uma arquitetura de software baseada em padrões de projeto para o desenvolvimento de aplicações concorrentes confiaveisBeder, Delano Medeiros 06 August 2001 (has links)
Orientador : Cecilia Mary Fischer Rubira / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-29T03:01:20Z (GMT). No. of bitstreams: 1
Beder_DelanoMedeiros_D.pdf: 6260164 bytes, checksum: a5ce8b558373ebd1cec526a6993f9999 (MD5)
Previous issue date: 2001 / Resumo: Sistemas computacionais complexos estão sujeitos a diferentes tipos de falhas, e a maneira mais adequada de lidar com tais falhas é aceitar que qualquer sistema pode apresenta-lás e empregar técnicas apropriadas para tolerá-Ias durante a execução do sistema. Desta forma, a abordagem mais apropriada para a construção de sistemas complexos confiáveis consiste na utilização de técnicas de tolerância a falhas que nos permitem definir regiões de confinamento e recuperação de erros. No entanto, técnicas de tolerância a falhas são geralmente utilizadas na fase de implementação do ciclo de desenvolvimento do sistema. Desta forma, não é freqüentemente fácil empregá-las, desde que projetistas necessitam levar em conta muitos detalhes de implementação. Neste contexto, este trabalho faz duas contribuições relevantes. A primeira contribuição é a utilização prática de técnicas recentes de estruturação de sistemas na definição de uma arquitetura de software genérica para introduzir atomicidade, redundância de software, tratamento de exceções e recuperação de erros coordenada no desenvolvimento de sistemas orientados a objetos confiáveis durante o ciclo de desenvolvimento do sistema, iniciando-se na fase de projeto arquitetural passando pelo projeto detalhado e terminando na fase de implementaçãojcodificação do sistema. A segunda contribuição é a definição de um conjunto coeso de padrões de projetos que refinam os elementos arquiteturais da arquitetura de software proposta e provêem uma clara e transparente separação de interesses entre a funcionalidade da aplicação e a funcionalidade relacionada à provisão da confiabilidade do sistema / Abstract: Complex computer systems are prone to errors of many kinds, and the most reasonable way of dealing with them is to accept that any complex system has faults and to employ appropriate features for tolerating them during run time. We claim that the most beneficial way of achieving fault tolerance in complex systems is to use system structuring which has fault tolerance measures associated with it. ln this case, structuring units serve as natural areas of error containment and error recovery. However, these techniques are mainly developed for employment at the implementation phase of the system development. Hence, it is not often easy to apply them correctly, as the designers have to take into account many implementation details. ln this context, this work makes two main contributions. The first contribution is the practical employment of recent system structuring techniques in the definition of a generic software architecture for introducing atomicity, exception handling, and coordinated error recovery into dependable object-oriented systems at the earlier phases of system development. That is, from architectural design, through detailed design to coding. The second contribution is the definition of a set of design patterns which refine the architectural elements of the proposed software architecture and provide a clear and transparent separation of concerns between the application functionality, and the functionality related to providing system dependability / Doutorado / Doutor em Ciência da Computação
|
4 |
Uma arquitetura reflexiva para injetar falhas em aplicações orientadas a objetosRosa, Amanda Cibele Apolinario 09 October 1998 (has links)
Orientador: Eliane Martins / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-24T11:43:47Z (GMT). No. of bitstreams: 1
Rosa_AmandaCibeleApolinario_M.pdf: 3606836 bytes, checksum: 8d71512e46e7927e1bfa6b9564dd7040 (MD5)
Previous issue date: 1998 / Resumo: Injeção de falhas por software é uma técnica que vem sendo muito utilizada para validar as propriedades de segurança de funcionamento (dependability) de sistemas de software. Essa técnica consiste em injetar padrões de erros em um software em execução. Para injetar falhas e monitorizar seus efeitos alguma forma de instrumentação deve ser introduzida na aplicação em teste (aplicação alvo). Essa instrumentação é intrusiva, ou seja, interfere na execução e na estrutura da aplicação alvo. No entanto, um dos objetivos de uma abordagem de instrumentação de software é ser o menos intrusiva possível. Isso requer que a instrumentação seja funcionalmente independente da aplicação alvo. Outras qualidades importantes de uma abordagem de instrumentação são modularidade, a fim de facilitar a incorporação de novas características, reusabilidade, para facilitar a adaptação para sistemas alvos diferentes, e portabilidade, para permitir o uso em plataformas diferentes com mudanças mínimas. Para alcançar esses objetivos é proposto neste trabalho o uso da programação orientada a objetos reflexiva. Reflexão reduz a interferência na aplicação alvo porque provê uma separação clara entre seus aspectos funcionais e não-funcionais, sendo os últimos relacionados aos aspectos de injeção de falhas e monitorização. O projeto de uma arquitetura de injeção de falhas reflexiva, uma ferramenta de injeção reflexiva (FIRE - Fault Injection using a REflective Architecture) e resultados experimentais são apresentados neste trabalho. / Abstract: Software-implemented fault injection is, nowadays, a largely used technique to validate dependability properties of software systems. This technique consists of the injection of error patterns into executing software. To inject faults and monitor their effects some form of instrumentation may be introduced into the system under test (target system). This instrumentation causes some level of intrusiveness, i.e., it imposes some interference upon the target system execution and structure. Therefore, a goal of a software instrumentation approach is to be the least intrusive possible. This requires instrumentation to be functionally independent from the target system. Other important qualities that an instrumentation should present are modularity, in order to allow easy incorporation of new features, reusability, to allow easy adaptation to different target systems, and portability, to allow the use in different hardware/software platforms with minimum changes. To obtain these qualities in this work the use of reflective programming is proposed. Intrusiveness in the target system is reduced, in that it allows a c1ear separation between functional and nonfunctional aspects, the later being related to fault injection and monitoring aspects. The design of a reflective fault injection architecture, a reflective fault injection tool (FIRE Fault Injection using a REflective Architecture) and results of experiments are presented in this work. / Mestrado / Mestre em Ciência da Computação
|
5 |
Instrumentação de FPGAs SRAM para recuperação e prevenção de faltas permanentes visando utilização em aplicações espaciaisMartins, Victor Manuel Gonçalves January 2016 (has links)
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia Elétrica, Florianópolis, 2016. / Made available in DSpace on 2016-09-20T04:48:14Z (GMT). No. of bitstreams: 1
342001.pdf: 9058678 bytes, checksum: e7b5820af980d1932869b7216f587137 (MD5)
Previous issue date: 2016 / Os dispositivos reprogramáveis Field Programmable Gate Arrays (FPGAs),embora construídos para serem robustos, não são eternos, nem completamenteimunes à ocorrência de faltas, sejam elas transitórias oupermanentes. Considerando que o teste após fabricação deteta todas asfaltas devidas ao processo de produção, em condições normais ao níveldo mar, mesmo com as tecnologias nanométricas recentes, a ocorrênciade faltas permanentes numa FPGA durante o seu previsível ciclo devida é praticamente nula. Já em condições hostis, como no espaço ondeo nível de radiação é elevado (ou mesmo ambientes terrestres comocentrais nucleares, centros de investigação de física nuclear, aceleradoresde partículas, etc.), a ocorrência de faltas permanentes numa FPGAnão pode ser desprezada. Para além da radiação, sendo um dispositivoeletrónico, está igualmente sujeito a envelhecimento (aging). O NegativeBias Temperature Instability (NBTI) e o Positive Bias Temperature Instability(PBTI) são dois dos fatores que provocam esse envelhecimento,e que embora não destruam a funcionalidade dos recursos da FPGA,aumentam os seus tempos de propagação. Este envelhecimento podepor isso também originar faltas permanentes a partir de um determinadoponto do ciclo de vida do sistema implementado numa FPGA. Asolução para esses casos é a substituição da FPGA ou até mesmo daplaca que inclui a mesma. Apesar do facto de que em muitas situaçõesa substituição da FPGA ser considerada uma tarefa simples, em tantasoutras, tais como ambientes aeroespaciais onde o acesso é difícil e/ouperigoso para quem tem de realizar a substituição, esta operação poderáser problemática ou impossível de realizar.Neste contexto, esta tese propõe o desenvolvimento de soluções, para queum sistema implementado numa FPGA possa autonomamente recuperarda ocorrência de faltas permanentes (evitando utilizar recursos dodispositivo que sofreram essas mesmas faltas), e ao mesmo tempo,atenuar o ritmo de envelhecimento do dispositivo devido ao NBTI (eeventualmente também ao PBTI). Para isso, este trabalho foca emdois objetivos principais: (1) O desenvolvimento de um mecanismo emhardware, baseado na Reconfiguração Parcial da FPGA, que suportea implementação de estratégias de recuperação e prevenção de faltaspermanentes (minimizando a evolução do envelhecimento causado peloNBTI). (2) Planear e implementar formas de recuperar ou prevenir daocorrência de faltas permanentes (delay faults), recorrendo ao mecanismodesenvolvido.O mecanismo apresentado passa por novo fluxo gerador de bitstreamsparciais, possíveis de realocar em múltiplas partições reconfiguráveis,uma flexibilidade que ultrapassa a proporcionada pelas ferramentas dereconfiguração dinâmica disponibilizadas pelo fabricante. Das estratégiasimplementadas, uma permite um sistema implementado numa FPGArecuperar de uma falta permanente, sem necessidade de excluir todaa partição. Para atenuação do envelhecimento do dispositivo, outraestratégia altera as partições onde os bitstreams se encontram alocados deuma forma cíclica, de forma a que o máximo de recursos dessas partiçõesnão estejam configurados da mesma forma um longo período de tempo.É proposto ainda um novo sensor de performance para FPGA e quepode permitir medir também o envelhecimento em cada partição. Comele é possível a estratégia de alocar módulos (existentes nos bitstreamsgerados), de modo a uniformizar o envelhecimento e a dissipação depotência pelas várias partições, em função do envelhecimento acumulado,da temperatura atual e da potência consumida por cada módulo.<br> / Abstract : FPGA devices although built to be robust, are not everlasting. Theyare not completely invulnerable to the occurrence of faults, whethertemporary or permanent. Whereas the test after manufacturing detectsall faults due to production process, in normal conditions, at sea level,even with the recent nanometric technologies, the manifestation ofpermanent faults in FPGAs during their expected life cycle is consideredto be near zero. However, in hostile conditions, such as in space whereradiation levels are higher (or terrestrial environments such as nuclearpower plants, nuclear physics research centers, particle accelerators, etc.),the rate of permanent faults in an FPGA device can not be neglected.In addition to the radiation, as the FPGA is an electronic device, it isalso susceptible to aging effects. NBTI and PBTI are two of the agingsources and, although they do not damage directly the functionality ofthe FPGA resources, they are responsible for the increase in the device?spropagation times. This aging can therefore also lead to permanentfaults in a certain moment in the life cycle of a system implementedon an FPGA. The solution for such cases is to replace the FPGA oreven the board where it is on. Despite the fact that in many casesreplacing the FPGA can be considered a simple task, in many others,such as in aerospace environments where the access is difficult and /or dangerous for those who have to do the replacement, this operationmay be challenging or even impossible to perform.In this context, this work proposes the development of solutions fora system implemented in an FPGA which can autonomously recoverfrom the manifestation of permanent faults (avoiding use device resourcesthat have suffered these same faults), and at the same timemitigating the rate of aging of the device due to NBTI (and possiblyalso the PBTI). Therefore, this work focuses on two main objectives:(1) The development of a mechanism in hardware, based on the FPGAPartial Reconfiguration mechanism, which supports the implementationof strategies for recovering and prevention of permanent faults(minimizing the evolution of aging caused by NBTI). (2) The planningand implementation of ways to recover or to prevent the occurrence ofpermanent faults (delay faults), using the developed mechanism.The presented mechanism includes a new flow to generate partial bitstreams,which allows to reallocate multiple reconfigurable partitions.This is a feature does not provided by the dynamic reconfiguration toolsdelivered by the manufacturers. The implemented strategies allow asystem implemented in an FPGA to recover from a permanent fault,with no need to exclude the entire partition. For the device aging mitigation,another strategy changes the partitions where the bitstreamsare allocated in a cyclical way, so that the maximum resources of thesepartitions are not configured in the same way for a long period of time.It is further proposed a new performance sensor for FPGA systems,which also may allow the measuting of aging in each partition. Withthis sensor the strategy allows the allocation of modules (existing inthe generated bitstreams) in order to standardize the aging and powerdissipation by the various partitions, as a function of cumulative aging,the current temperature and the power consumed by each module.
|
6 |
Implementação de duas arquiteturas microcontroladas tolerantes a falhas para controle da temperaturaBotta, Gilson Fernando [UNESP] 17 December 2002 (has links) (PDF)
Made available in DSpace on 2014-06-11T19:25:32Z (GMT). No. of bitstreams: 0
Previous issue date: 2002-12-17Bitstream added on 2014-06-13T20:33:14Z : No. of bitstreams: 1
botta_gf_me_rcla.pdf: 3393447 bytes, checksum: 9b6a4f451525cffd55d41d150f94c3ce (MD5) / Os microcontroladores são empregados com freqüência crescente na automação e controle de processos. É fato, que em certos processos, a falha no sistema de controle é inadmissível. Nestes casos, é necessário o emprego de técnicas de tolerância à falhas. Diante disso, duas arquiteturas com base em microcontroladores, foram projetadas, construídas e submetidas a testes. Tanto a Arquitetura em Anel como a Arquitetura TMR implementadas, podem suportar falhas tanto nos nodos da estrutura, como nos arcos, que representam as ligações entre microcontroladores. Os nodos são controlados por protocolos implementados por programação, sem a necessidade de um circuito votante comum, presente na arquitetura TMR clássica, ou de qualquer outro circuito especial, para o controle da redundância dos circuitos. Os sistemas são modulares e podem operar sem um dos módulos ativado. Isso permite que um determinado módulo seja retirado para manutenção e posteriormente reinstalado, de maneira transparente a aplicação. Foram realizados testes nas arquiteturas desenvolvidas, com injeção de falhas físicas e lógicas. Ambas as arquiteturas responderam conforme o desejado, ou seja, detectaram e toleraram as falhas. As duas arquiteturas agregam características de confiabilidade e disponibilidade a sistemas de controle e apresentam-se como opções promissoras para a gestão de processos em tempo real. / The microcontrollers are frequently used in automation and process control. It's a fact that in certain processes the failure in the control system it is inadmissible. In these cases it is necessary to make use of the fault-tolerance techniques. Within this context two fault-tolerant architecture based in microcontrollers were project, built and submitted to extensive tests. The implemented Ring Architecture on the TMR Architecture can endure failure, either in the structure nodes (in the microcontrollers) or in the arches, which represent the connections between the microcontrollers. The nodes are controlled by protocols implemented by a program without the need of a common voting circuit, which is present in the classic TMR Architecture, on any other special circuit to control the redundancy of the circuits. Both system are modules and can operate without one been activated. These allow one module to be removed for maintenance and be reinstalled after words. In tests of physics fault and logic were made in the enveloped architecture and both reacted as expected such as detected and endure fault. Both architecture congregated characteristics of reliability and availability to the control systems.
|
7 |
Disponibilidade em um sistema de arquivos distribuído flexível e adaptávelCarvalho, Lúcio Rodrigo de [UNESP] 04 December 2014 (has links) (PDF)
Made available in DSpace on 2015-09-17T15:24:39Z (GMT). No. of bitstreams: 0
Previous issue date: 2014-12-04. Added 1 bitstream(s) on 2015-09-17T15:47:30Z : No. of bitstreams: 1
000844069.pdf: 3912635 bytes, checksum: ba04b4180d0780ce76331a7b3a9824d2 (MD5) / Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) / Um sistema de arquivos distribuído permite que usuários e aplicações possam armazenar e compartilhar dados, acessando tais recursos remotamente como se fossem locais. As características de um sistema de arquivos distribuído podem ser variadas. Assim, é impossível conceber um sistema abrangendo todas as características desejáveis, tais como: transparência, desempenho, escalabilidade, confiabilidade e disponibilidade, por exemplo. O sistema de arquivos distribuído Flexível e Adaptável (FlexA) incorpora importantes características do NFS, AFS, GFS e Tahoe-LAFS. Este sistema elimina a necessidade de um servidor principal (como o master no GFS ou o Introducer no Tahoe-LAFS). Os arquivos são armazenados em dois grupos de servidores: um grupo de leitura, onde somente dados são armazenados, e um grupo de escrita, onde dados e metadados são armazenados. A disponibilidade é provida por um mecanismo semelhante ao apresentado pelo Tahoe-LAFS. No presente estudo são apresentadas as melhorias alcançadas por meio da disponibilidade do FlexA. Os detalhes sobre as modificações no FlexA, bem como os resultados obtidos indicam que o FlexA é uma importante opção de sistema de arquivos distribuído / A distributed file system allows users and applications to store and share data, accessing such resources remotely as if they were local. The characteristics of a distributed file system can be varied. Thereby, it is impossible to design a system covering all desirable characteristics, such as transparency, performance, scalability, reliability and availability, for example. The Flexible and Adaptable distributed file system (FlexA) incorporate important characteristics of NFS, AFS, GFS and Tahoe-LAFS. It eliminates the need for main server (such as the master in GFS or the introducer in Tahoe-LAFS). File storage is provided by two group of server: a reading group, where only data is found, and a writing group, where data and metadata are stored. Availability is provided in FlexA through a mechanism similar to the one presented by Tahoe-LAFS. In the present study the improvements achieved through the availability and performance of FlexA are presented. Details about the changes in the FlexA as well as the obtained results indicate that the FlexA is an important option for distributed file system / FAPESP: 2012/02926-5
|
8 |
Um metodo de testes para componentes tolerantes a falhasRocha, Camila Ribeiro 23 November 2005 (has links)
Orientador: Eliane Martins / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-07T04:49:59Z (GMT). No. of bitstreams: 1
Rocha_CamilaRibeiro_M.pdf: 20985604 bytes, checksum: 50cbb47532e2d8ee64f537135b9d8b89 (MD5)
Previous issue date: 2005 / Resumo: Componentes de software são cada vez mais utilizados no desenvolvimento de sistemas computacionais, incluindo sistemas críticos, dados os benefícios de redução de custo e tempo de desenvolvimento através da reutilização de código. A garantia da qualidade, porém, continua dependente da realização de testes a cada novo contexto, e é dificultada especialmente pela falta de conhecimento sobre o funcionamento do componente. O método proposto tem como foco principal componentes tolerantes a falhas, e busca facilitar a realização de testes caixa preta que exercitem tanto o comportamento normal quanto o comportamento excepcional do componente. O método é voltado para a construção de componentes testáveis, apresentando diretrizes para inclusão de mecanismos de monitoração e de verificação dos contratos dos componentes, mesmo sem a presença de código fonte, com a utilização de programação orientada a aspectos. Para a geração automática de drivers e stubs, são utilizados modelos comportamentais do componente, no formato do diagrama de atividade da linguagem UML. O método de testes pode ser usado paralelamente ao método de desenvolvimento. No trabalho é apresentado o uso do método em conjunto com o Método para Definição do Comportamento Excepcional (MDCE+), proposto em outra dissertação de mestrado do Instituto de Computação da Unicam / Abstract: Nowadays software components are widely used in software development, including critical systems, because of advantages such as time and cost reduction through code reuse.However, quality assurance, although, is still dependent on test execution at every new utilization context of the component, and usually faces difficulties specially related to lack of knowledge about component details. The test method proposed focuses fault-tolerant components, facilitating black-box testing of both normal and exceptional behavior. Aiming testable components development, the method proposed presents guidelines for inclusion of tracking and contract checking mechanisms, source code independently, using aspect-oriented programming. Drivers and stubs are automatically generated from component behavior models, in UML activity diagram form. The test method can be used together with a development method. In this work, the test method use is presented in parallel to Method for the Definition of Exceptional Behavior, proposed in a Master¿s thesis of the Institute of Computing at Unicam / Mestrado / Mestre em Ciência da Computação
|
9 |
Uma abordagem orientada a objetos para programação distribuida confiavelQuadros, Elbson Moreira 09 June 1997 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-22T09:27:29Z (GMT). No. of bitstreams: 1
Quadros_ElbsonMoreira_M.pdf: 3281148 bytes, checksum: faa27a1326207746a9726049feb65570 (MD5)
Previous issue date: 1997 / Resumo: Este trabalho tem por objetivo aplicar técnicas de orientação a objetos para estruturar aplicações complexas, visando obter uma melhoria da qualidade e confiabilidade dessas aplicações. Várias técnicas orientadas a objetos são exploradas, tais como: abstração de dados, compartilhamento de comportamento (incluindo herança e delegação), classes abstratas, polimorfismo e acoplamento dinâmico. Nós propomos a utilização dessas técnicas na estruturação de aplicações distribuídas, provendo suporte para tolerância a falhas de ambiente através da incorporação disciplinada de redundância, de forma que o impacto dessa redundância na complexidade do sistema possa ser mantido sob controle. Para o entendimento e validação dessas técnicas foi desenvolvido um protótipo de uma aplicação distribuída orientada a objetos: um Controlador de Trens. Além disso, utilizamos duas abordagens promissoras para reutilização de software em grande escala - padrões de projeto e metapadrões - para a construção de um framework orientado a objetos para o subdomínio de controladores de trens / Abstract: The major goal of this work is to apply object-oriented techniques for structuring complex object-oriented applications, and to relate them to the improvement of quality and reliability of large computer applications. We use a collection of object-oriented concepts, features and mechanisms, such as data abstraction, inheritance, delegation, abstract classes, polymorphism and dynamic binding. We propose an approach for the provision of environmental fault tolerance and distribution, based on the incorporation of redundaucy in an incremental way, so that the complexity can be kept under controI. ln addition, we show how such techniques can be used to develop reusable and easier to extend software components. For the understanding and validation of these techniques, we developed a prototype of an object-oriented distributed and dependable railway controller application. Besides, we use design pattems and metapattems - two promising approaches for software reuse - for developing an object-oriented framework for a railway controller subdomain / Mestrado / Mestre em Ciência da Computação
|
10 |
Integração dos mecanismos de recuperação de erros por avanço e por retrocessoBeder, Delano Medeiros 16 May 1997 (has links)
Orientador: Luiz Eduardo Buzato / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-22T20:19:33Z (GMT). No. of bitstreams: 1
Beder_DelanoMedeiros_M.pdf: 2539518 bytes, checksum: f8de2bb8c9b43c6ac841ccd1508e7809 (MD5)
Previous issue date: 1997 / Resumo: Sistemas computacionais têm sido utilizados nas mais variadas aplicações, de eletrodomésticos a satélites e centrais nucleares. Se produtos como televisores, rádios e computadores de uso geral não são confiáveis, então os seus fabricantes serão provavelmente superados pela concorrência e conseqüentemente terão prejuízos. Analogamente, se um banco tem os seus serviços automatizados interrompidos devido a falhas em sistemas computacionais, então perdas financeiras podem ocorrer, com conseqüências desastrosas. Para plantas nucleares, uma falha em sistemas computacionais críticos pode causar a perda de muitas vidas. Portanto, confiabilidade é um requisito importante no desenvolvimento de sistemas computacionais. Em tais cenários, é interessante investigar possíveis alternativas para a integração dos mecanismos de recuperação de estados errôneos por avanço e por retrocesso. É importante que esta integração seja simples, efetiva e não-intrusiva. Nosso trabalho propõe o uso de mecanismos de tratamento de exceções, como encontrado em linguagens de programação orientada a objetos, para integrar estes mecanismos de recuperação de erros. Um ambiente de programação baseado em objetos, ações atômicas e exceções é utilizado para implementar aplicações e validar o modelo proposto. Finalmente, os experimentos realizados fornecem evidências positivas de que o modelo de integração proposto é viável. / Abstract: Computing systems are used in a wide variety of applications, from households appliances to satellites and nuclear plants. If products of daily use like televisions, radios and computers are not reliable, then the competitors will probably throw their manufactures out of the market and, consequently they will be subject to heavy losses. By analogy, if a bank has its automated services interrupted by failure in its computing systems, then financial losses may occur, with desastrous consequences. In the case of nuclear plants, a failure in critical computing systems can cause the loss of many life. Thus, reliability is an important requirement for the development of modern computing systems. In such a scenario, it is interesting to investigate ways of integrating forward and backward error recovery mechanisms. Such integration, to be useful, must be simple, effective and non-intrusive. Our work proposes the use of exception handling mechanisms, as found in object oriented programming languages, to integrate these error recovery mechanisms. A programming environment based on objects, atomic actions and exceptions has been used to implement applications, which test our proposal. Finally, such experiments have provided good evidence in favour our integration proposal. / Mestrado / Mestre em Ciência da Computação
|
Page generated in 0.0827 seconds