Made available in DSpace on 2013-08-07T18:42:26Z (GMT). No. of bitstreams: 1
000404266-Texto+Completo-0.pdf: 1735778 bytes, checksum: d2509663d82001555e81c857677ae9f9 (MD5)
Previous issue date: 2008 / Current software systems are complex. This complexity is augmented due to reliability, availability and security needs. Dependable systems are systems that work acording to their specification despite the existence of faults. In order to implement such systems, it is important to use mechanisms that cope with problems that can happen during their execution. Diverse types of defects and non-expected situations can happen in an application executing in a distributed manner. To cope with these situations or defects one should use techniques to avoid or reduce there effects. Fault tolerance is one of such techniques. Its main goal is to offer alternatives to a system to keep working according to its specification despite residual faults in the system. The complexity to achieve dependability is even greater in systems in which several activites can be happening at the same time (parallel systems). Several mechanisms that are used to develop parallel applications are described in the literature. Usually, these mechanisms are called multiparty interactions. These multiparty interactions are composed by several parties (objects or processes) that somehow come together to produce a temporary combined state and execute a joint activity. When the activity is finished they continue their own execution. However, several times the interacton among the participants can lead the systems to a situation in which all the execution has to be redone (the domino effect). To avoid such situation and to help in the handling of concurrent exceptions when several participants are working together it is possible to use, for example, the Dependable Multiparty Interactions (DMIs). This mechanism has been used in the development of several applications in different areas. Nevertheless we noticed that in all applications, DMIs were applied in a ad hoc situation, that is, they were hard coded manually. Such situation can make the development phase quite tiresome and can also be prone to the introduction of faults in the final system. This work presents a proposal of an environment for the development of dependable applications that use the DMI mechanism. This environment uses the Eclipse Plug-in Development Environment (PDE). We include to the Eclipse PDE a new plug-in whose main goal is to automatize the development of applications that use DMIs as the means for fault tolerance. This proposal intends to improve developers productivity, to reduce the number of residual faults in the code, and also to easy the understanding of DMIs components and their inter-relations. / A complexidade de sistemas de software tem aumentado devido aos novos requisitos impostos pelas aplicações modernas, tais como confiabilidade, segurança e disponibilidade. Sistemas confiáveis são sistemas que mantém seu funcionamento de acordo com sua especificação mesmo na presença de situações excepcionais. Na tentativa de implementar sistemas mais robustos e confiáveis, torna-se imprescindível a utilização de mecanismos capazes de lidar com problemas que potencialmente possam afetar seu perfeito funcionamento. Variados tipos de defeitos e situações inesperadas podem ocorrer em aplicações que rodam sobre sistemas distribuídos. Para que seja atingido um grau satisfatório de utilização destes sistemas é extremamente importante que sejam utilizadas técnicas objetivando coibir ou minimizar a existência de falhas. Tolerância a Falhas é uma técnica que tem por objetivo oferecer alternativas que permitam ao sistema manter o funcionamento conforme sua especificação, mesmo na ocorrência de situações indesejadas. A literatura descreve diversos tipos de mecanismos que auxiliam no desenvolvimento de aplicações que possuem diversas atividades acontecendo simultaneamente. Em geral, um mecanismo composto por diversos participantes (objetos ou processos) executando um conjunto de atividades paralelamente é chamado de interação multiparticipante. Em uma interação multiparticipante diversos participantes de alguma maneira "se unem" para produzir um estado combinado, intermediário e temporário e utilizam este estado para executar alguma atividade. Após a atividade executada a interação é desfeita e então cada participante prossegue sua execução. Entretanto, diversas vezes a interação entre os participantes pode levar a situações onde toda a execução tem que ser refeita (efeito dominó). Para evitar este tipo de situação e para auxiliar no tratamento de exceções concorrentes que podem ocorrer nos diversos participantes de uma interação pode-se utilizar, por exemplo, o mecanismo de interações multiparticipantes confiáveis (Dependable Multiparty Interactions - DMIs). Este mecanismo tem sido utilizado para o desenvolvimento de aplicações em diversas áreas. Todavia, percebemos que todos os estudos de casos desenvolvidos utilizando DMIs foram implementados manualmente, ou seja, sem a utilização de nenhuma ferramenta de apoio. Tal situação além de acarretar um elevado tempo de desenvolvimento também facilita à inclusão de falhas no sistema. Nesta dissertação apresentamos uma proposta de desenvolvimento de aplicações confiáveis que utilizam o mecanismo de DMIs. Utilizando o IDE Eclipse desenvolvemos uma feramenta capaz de automatizar o processo de criação de aplicações que utilizam DMIs para tolerar falhas, proporcionando aos desenvolvedores ganho de produtividade, redução da possibilidade de inserção de falhas no código, assim como facilitar a compreensão dos elementos que compõem uma DMI e a maneira como os mesmos estão relacionados.
Identifer | oai:union.ndltd.org:IBICT/urn:repox.ist.utl.pt:RI_PUC_RS:oai:meriva.pucrs.br:10923/1486 |
Date | January 2008 |
Creators | Prevedello, Jeferson Librelotto |
Contributors | Zorzo, Avelino Francisco |
Publisher | Pontifícia Universidade Católica do Rio Grande do Sul, Porto Alegre |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Repositório Institucional da PUC_RS, instname:Pontifícia Universidade Católica do Rio Grande do Sul, instacron:PUC_RS |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0029 seconds