998 resultados para Sistemas de comunicação móveis - Aplicações
Resumo:
A ciência moderna apresentou significativo avanço a partir do desenvolvimento da análise diferencial. A transformação de equações diferenciais de alta ordem em sistemas de equações algébricas foi possível através do desenvolvimento de métodos numéricos, constituindo este, outro grande avanço. Dentro desses pode-se destacar os métodos de diferenças finitas, dos elementos finitos, dos elementos discretos e mais recentemente, os elementos de contorno. Neste trabalho, faz-se uma contribuição ao desenvolvimento do Método dos Elementos Discretos para aplicações na Mecânica do Contínuo, na Mecânica da Fratura, assim como na determinação do dano em elementos estruturais submetidos a cargas. Neste método, a discretização espacial no modelo se realiza mediante um conjunto de massas ligadas entre se por forças materializadas como um arranjo de barras de treliça com rigidez equivalente ao contínuo que se quer representar, e mediante um esquema de integração explícita, se realiza a integração das equações de movimento no tempo. Verifica-se a validade e a capacidade do método em predizer o efeito de tamanho em elementos de concreto e concreto armado, obtendo-se uma excelente correlação com ensaios encontrados na literatura técnica, além de importantes conclusões a respeito da aplicação de cargas estáticas e dinâmicas, tanto em padrões de fissuração ou ruptura, quanto aos valores limites de resistência dos materiais ou cargas aplicadas, dando-se importância na geração aleatória das propriedades dos materiais mediante o uso do Método de Representação Espectral.
Resumo:
O uso da recuperação de processos para obter sistemas computacionais tolerantes a falhas não é um assunto novo. Entretanto, a discussão de algoritmos para a recuperação em sistemas distribuídos, notadamente aqueles que se enquadram na categoria assíncrona, ainda encontra pontos em aberto. Este é o contexto do presente trabalho. Este trabalho apresenta um novo algoritmo de recuperação por retorno, em sistemas distribuídos. O algoritmo proposto é do tipo coordenado, e seus mecanismos componentes determinam que seja classificado como um algoritmo baseado em índices (index-based coordinated). Desta forma, a tolerância a falhas é obtida através do estabelecimento de linhas de recuperação, o que possibilita um retorno consideravelmente rápido, em caso de falha. Seu desenvolvimento foi feito com o objetivo de minimizar o impacto ao desempenho do sistema, tanto quando este estiver operando livre de falhas como quando ocorrerem as falhas. Além disso, os mecanismos componentes do algoritmo foram escolhidos visando facilitar a futura tarefa de implementação. A satisfação dos objetivos decorre principalmente de uma importante característica assegurada pelos mecanismos propostos no algoritmo: o não bloqueio da aplicação, enquanto é estabelecida uma nova linha de recuperação. Esta característica, associada ao rápido retorno, oferece uma solução promissora, em termos de eficiência, para a recuperação, um vez que o impacto no desempenho tende a ser reduzido, quando o sistema encontra-se operando em ambas condições: livre de erros ou sob falha. Diferentemente da maioria dos algoritmos coordenados encontrados na literatura, o algoritmo proposto neste trabalho trata as mensagens perdidas. A partir da análise das características das aplicações, bem como dos canais de comunicação, quando estes interagem com o algoritmo de recuperação, concluiu-se que os procedimentos usados para recuperação de processos devem prever o tratamento desta categoria de mensagens. Assim, o algoritmo proposto foi incrementado com um mecanismo para tratamento das mensagens que têm o potencial de tornarem-se perdidas, em caso de retorno, ou seja, evita a existência de mensagens perdidas. Uma das decisões tomadas durante o desenvolvimento do algoritmo foi a de permitir um processamento não determinístico. Na realidade, esta escolha visou o aumento do espectro das falhas que poderiam ser tratadas pela recuperação. Tradicionalmente, a recuperação por retorno é empregada para tolerar falhas temporárias. Entretanto, a diversidade de ambiente, freqüente nos SDs, também pode ser usada para tolerar algumas falhas permanentes. Para verificar a correção do algoritmo, decidiu-se empregar um formalismo existente. Assim, a lógica temporal de Lamport (TLA) foi usada na especificação dos mecanismos do algoritmo bem como em sua demonstração de correção. O tratamento referente às mensagens perdidas, atrav´es do uso de mensagens de resposta, associado com o uso de uma lógica temporal, levou à necessidade de rever os critérios de consistência. Esta revisão gerou um conjunto de fórmulas de consistência ajustadas à existência de mensagens de diferentes classes: mensagens da aplicação e mensagens de resposta.
Resumo:
As estratégias de desenvolvimento utilizadas, nas últimas décadas, com o enfoque da Revolução Verde, afetaram de forma significava a capacidade de modificação dos ecossistemas pelo homem. A agricultura, sendo a principal forma de intervenção nos processos naturais, incorporou inovações tecnológicas que possibilitaram o aumento do rendimento de cultivos e criações. Ao mesmo tempo, estas inovações provocaram efeitos negativos, não previstos, no meio ambiente e nas condições sociais dos seres humanos. A emergência da expressão “Desenvolvimento Sustentável” é uma tentativa de conciliar o crescimento econômico, proporcionado pelo progresso técnico, com a justiça social e a preservação dos recursos naturais. Em virtude deste contexto, um novo desafio apresenta-se para os formuladores de políticas públicas e agentes que interferem nos processos de desenvolvimento: avaliar a sustentabilidade, ou seja, quantificar o que é mais ou menos sustentável em sistemas de produção agrícola. Esta investigação representa um esforço para definir uma metodologia capaz de orientar na seleção de indicadores de sustentabilidade, bem como de permitir a obtenção de índices de sustentabilidade em sistemas de produção. O objetivo central é propor uma metodologia que permita avaliar a sustentabilidade em sistemas de produção para facilitar a comunicação entre atores envolvidos em processos de desenvolvimento, no sentido de conduzir as intervenções dos mesmos para contextos de maior sustentabilidade nas dimensões social, econômica e ambiental. Para isto buscou-se uma metodologia com cálculos e operações simples, permitindo a obtenção de informações com recursos locais, sem a necessidade de avançados conhecimentos estatísticos de parte dos usuários, mas adaptadas à complexidade e às particularidades locais dos processos envolvidos nos sistemas de produção da agricultura familiar. Os resultados obtidos, quando comparados com outras metodologias, demonstram a viabilidade do uso do método proposto para a identificação de aspectos que conduzem os sistemas de produção estudados a contextos de maior ou menor sustentabilidade relativa.
Resumo:
A crescente complexidade das aplicações, a contínua evolução tecnológica e o uso cada vez mais disseminado de redes de computadores têm impulsionado os estudos referentes ao desenvolvimento de sistemas distribuídos. Como estes sistemas não podem ser facilmente desenvolvidos com tecnologias de software tradicionais por causa dos limites destas em lidar com aspectos relacionados, por exemplo, à distribuição e interoperabilidade, a tecnologia baseada em agentes parece ser uma resposta promissora para facilitar o desenvolvimento desses sistemas, pois ela foi planejada para suportar estes aspectos, dentre outros. Portanto, é necessário também que a arquitetura dos ambientes de desenvolvimento de software (ADS) evolua para suportar novas metodologias de desenvolvimento que ofereçam o suporte necessário à construção de softwares complexos, podendo também estar integrada a outras tecnologias como a de agentes. Baseada nesse contexto, essa dissertação tem por objetivo apresentar a especificação de uma arquitetura de um ADS distribuído baseada em agentes (DiSEN – Distributed Software Engineering Environment). Esse ambiente deverá fornecer suporte ao desenvolvimento de software distribuído, podendo estar em locais geograficamente distintos e também os desenvolvedores envolvidos poderão estar trabalhando de forma cooperativa. Na arquitetura proposta podem ser identificadas as seguintes camadas: dinâmica, que será responsável pelo gerenciamento da (re)configuração do ambiente em tempo de execução; aplicação, que terá, entre os elementos constituintes, a MDSODI (Metodologia para Desenvolvimento de Software Distribuído), que leva em consideração algumas características identificadas em sistemas distribuídos, já nas fases iniciais do projeto e o repositório para armazenamento dos dados necessários ao ambiente; e, infra-estrutura, que proverá suporte às tarefas de nomeação, persistência e concorrência e incorporará o canal de comunicação. Para validar o ambiente será realizada uma simulação da comunicação que pode ser necessária entre as partes constituintes do DiSEN, por meio da elaboração de diagramas de use case e de seqüência, conforme a notação MDSODI. Assim, as principais contribuições desse trabalho são: (i) especificação da arquitetura de um ADS distribuído que poderá estar distribuído geograficamente; incorporará a MDSODI; proporcionará desenvolvimento distribuído; possuirá atividades executadas por agentes; (ii) os agentes identificados para o DiSEN deverão ser desenvolvidos obedecendo ao padrão FIPA (Foundation for Intelligent Physical Agents); (iii) a identificação de um elemento que irá oferecer apoio ao trabalho cooperativo, permitindo a integração de profissionais, agentes e artefatos.
Resumo:
Este trabalho foi realizado dentro da área de reconhecimento automático de voz (RAV). Atualmente, a maioria dos sistemas de RAV é baseada nos modelos ocultos de Markov (HMMs) [GOM 99] [GOM 99b], quer utilizando-os exclusivamente, quer utilizando-os em conjunto com outras técnicas e constituindo sistemas híbridos. A abordagem estatística dos HMMs tem mostrado ser uma das mais poderosas ferramentas disponíveis para a modelagem acústica e temporal do sinal de voz. A melhora da taxa de reconhecimento exige algoritmos mais complexos [RAV 96]. O aumento do tamanho do vocabulário ou do número de locutores exige um processamento computacional adicional. Certas aplicações, como a verificação de locutor ou o reconhecimento de diálogo podem exigir processamento em tempo real [DOD 85] [MAM 96]. Outras aplicações tais como brinquedos ou máquinas portáveis ainda podem agregar o requisito de portabilidade, e de baixo consumo, além de um sistema fisicamente compacto. Tais necessidades exigem uma solução em hardware. O presente trabalho propõe a implementação de um sistema de RAV utilizando hardware baseado em FPGAs (Field Programmable Gate Arrays) e otimizando os algoritmos que se utilizam no RAV. Foi feito um estudo dos sistemas de RAV e das técnicas que a maioria dos sistemas utiliza em cada etapa que os conforma. Deu-se especial ênfase aos Modelos Ocultos de Markov, seus algoritmos de cálculo de probabilidades, de treinamento e de decodificação de estados, e sua aplicação nos sistemas de RAV. Foi realizado um estudo comparativo dos sistemas em hardware, produzidos por outros centros de pesquisa, identificando algumas das suas características mais relevantes. Foi implementado um modelo de software, descrito neste trabalho, utilizado para validar os algoritmos de RAV e auxiliar na especificação em hardware. Um conjunto de funções digitais implementadas em FPGA, necessárias para o desenvolvimento de sistemas de RAV é descrito. Foram realizadas algumas modificações nos algoritmos de RAV para facilitar a implementação digital dos mesmos. A conexão, entre as funções digitais projetadas, para a implementação de um sistema de reconhecimento de palavras isoladas é aqui apresentado. A implementação em FPGA da etapa de pré-processamento, que inclui a pré-ênfase, janelamento e extração de características, e a implementação da etapa de reconhecimento são apresentadas finalmente neste trabalho.
Resumo:
Para reutilização, manutenção e refatoração, projetistas de sistemas de software, freqüentemente, precisam examinar o código fonte da aplicação para entender os detalhes dos sistemas desenvolvidos. As aplicações orientadas a objetos em geral, tornam-se coleções nebulosas de classes e implementações de métodos. Sem dúvida a habilidade de entender sistemas de software é largamente aumentada visualizando-se esses produtos em níveis mais altos de abstração. Os padrões de projeto demonstram um alto índice de abstração e são considerados uma ferramenta efetiva para o entendimento de sistemas de software orientados a objetos. Aplicações orientadas a objetos visualizadas como um sistema de interação de padrões requerem a descoberta, identificação e classificação de grupos de classes relacionadas. Estas visualizações podem representar qualquer padrão conhecido ou agrupamentos que executam uma tarefa abstrata e necessariamente não são uma solução de padrão conhecida. Os padrões de projeto descrevem, portanto, microarquiteturas que resolvem problemas arquitetônicos em sistemas de software orientados a objetos. É importante identificar estas microarquiteturas durante a fase de manutenção de aplicações orientadas a objetos. Faz-se necessário salientar que estas microarquiteturas aparecem freqüentemente distorcidas na aplicação fonte. O objeto deste trabalho é demonstrar a viabilidade de construir uma ferramenta para descobrir a utilização de padrões de projeto em aplicações Java. Assim, esta tese examina as características de alguns padrões, determinando a natureza do que faz um padrão ser detectável por intermédio de meios automatizados, e propõe algumas regras pelas quais um conjunto de padrões possa ser identificado. As regras são baseadas nos relacionamentos entre classes e objetos mediante observação dos modelos estático e dinâmico. Este trabalho também documenta o desenvolvimento do protótipo da ferramenta de inspeção, que tem por objetivo aplicar os processos de engenharia reversa e reflexão computacional sobre código Java, utilizando as informações adquiridas para detectar padrões de projeto. Finalmente, esta tese demonstra a utilização dessa ferramenta em um exemplo pequeno de aplicação Java e forma a base para trabalhos adicionais que investiguem a existência de diferentes padrões de projeto em sistemas de software construídos em Java.
Resumo:
Este trabalho aborda o tema da geração de sistemas supervisórios a partir de modelos orientados a objetos. A motivação para realização do trabalho surgiu com o estudo de sistemas supervisórios e de ferramentas de suporte à modelagem de sistemas usando orientação a objetos. Notou-se que nos primeiros, apesar de possuírem como principal objetivo a visualização de estados e grandezas físicas relacionadas a componentes de plantas industriais (nível de um tanque, temperatura de um gás, por exemplo), os modelos computacionais utilizados baseiam-se em estruturas de dados não hierárquicas, nas quais variáveis de contexto global e não encapsuladas, as chamadas “tags”, são associadas às grandezas físicas a serem visualizadas. Modelos orientados a objeto, por outro lado, constituem uma excelente proposta para a criação de modelos computacionais nos quais a estrutura e semântica dos elementos de modelagem é bastante próxima a de sistemas físicos reais, facilitando a construção e compreensão dos modelos. Assim sendo, a proposta desenvolvida neste trabalho busca agregar as vantagens do uso de orientação a objetos, com conceitos existentes em sistemas supervisórios, a fim de obter-se ferramentas que melhor auxiliem o desenvolvimento de aplicações complexas. Classes e suas instâncias são usadas para modelagem de componentes da planta industrial a ser analisada. Seus atributos e estados são associados às grandezas físicas a serem visualizadas. Diferentes formas de visualização são associadas às classes, aumentando assim o reuso e facilitando o desenvolvimento de sistemas supervisórios de aplicações complexas. A proposta conceitual desenvolvida foi implementada experimentalmente como uma extensão à ferramenta SIMOO-RT, tendo sido denominada de “Supervisory Designer”. A ferramenta desenvolvida estende o modelo de objetos e classes de SIMOO-RT, permitindo a adição de informações específicas para supervisão – tais como as definições de limites para os atributos. A ferramenta foi validada através do desenvolvimento de estudos de casos de aplicações industriais reais, tendo demonstrado diversas vantagens quando comparada com o uso de ferramentas para construção de sistemas supervisórios disponíveis comercialmente).
Resumo:
O sucesso da Internet como plataforma de distribuição de sistemas de informação encoraja organizações a disponibilizar serviços presentes em seus sistemas legados nesse ambiente. Uma parte desses sistemas foi desenvolvida na fase inicial do desenvolvimento das aplicações cliente/servidor para banco de dados, usando ambientes visuais com interfaces gráficas tipo WIMP, implementadas sob o paradigma procedimental/estruturado, baseado em objetos e eventos. Como conseqüência, produziu-se sistemas legados difíceis de manter, evoluir e adaptar a novas tecnologias e arquiteturas, pois os projetos desenvolvidos não seguiam, na maioria das vezes, os bons preceitos e práticas modernas defendidas na Engenharia de Software. O objetivo deste trabalho é propor uma metodologia para migrar sistemas legados com as características citadas acima para a plataforma Web. O processo de migração proposto destaca duas estratégias: a elaboração de modelos de classes conceituais da aplicação e o tratamento dado à interface do usuário, para serem utilizados na reconstrução de uma nova aplicação. O processo é baseado em técnicas e métodos de engenharia reversa, que visa obter abstrações por meio de análise estática e dinâmica da aplicação. Na análise dinâmica, destaca-se o mecanismo para recuperar aspectos dos requisitos funcionais do sistema legado e representá-los na ferramenta denominada UC/Re (Use Case para Reengenharia). Todos os artefatos gerados durante o processo podem ser armazenados em um repositório, representando os metamodelos construídos na metodologia. Para delimitar e exemplificar o processo, escolheu-se como domínio de linguagem de programação do software legado, o ambiente Delphi (sob a linguagem Object Pascal). É proposto também um ambiente CASE, no qual é descrito o funcionamento de um protótipo que automatiza grande parte das funcionalidades discutidas nas etapas do processo. Algumas ferramentas desenvolvidas por terceiros são empregadas na redocumentação do sistema legado e na elaboração dos modelos UML do novo sistema. Um estudo de caso, apresentando uma funcionalidade específica de um sistema desenvolvido em Delphi, no paradigma procedimental, é usado para demonstrar o protótipo e serve de exemplo para a validação do processo. Como resultado do processo usando o protótipo, obtém-se o modelo de classes conceituais da nova aplicação no formato XMI (formato padrão para exportação de modelos UML), e gabaritos de páginas em HTML, representando os componentes visuais da interface original na plataforma Web.
Resumo:
Este estudo visou a utilização direta da análise modal adjunta em sistemas não-clásicos de natureza concentrada e distribuída, explorando o conceitos de biortogonalidade modal e da resposta impulso evolutiva e estacionária. Discutiu-se a natureza do espectro para diversas classes de sistemas, em particular para sistemas com efeitos giroscópicos e com atrito interno. A teoria foi desenvolvida de maneira paralela para sistemas de primeira ordem e de segunda ordem, porém é apresentada de maneira independente, ou seja, para os sistemas de segunda ordem não é utilizada a formulação de espaço de estado, a qual reduz o sistema para primeira ordem. Assim, as relações de biortogonalidade para sistemas de segunda ordem são apresentadas e utilizadas de maneira direta na expansão modal da resposta dos sistemas. A forma dos modos de vibração em variadas aplicações é determinada de maneira exata com o uso da base dinâmica gerada pela resposta impulso espacial. No cálculo dos autovalores foi introduzida uma aproximação polinomial para a resposta impulso espacial Os coeficientes dessa aproximação foram obtidos por recursão, a partir de uma equação em diferenças associada à equação característica do problema modal. Simulações numéricas foram realizadas para obter a resposta impulso evolutiva, respostas forçadas e modos de vibração de sistemas não-clássicos concentrados, formulados através de modelos ou aproximações, e sistemas distribuídos, formulados através de modelos ou incluindo distúrbios e acoplamento através das condições decontorno. Os resultados deste estudo permitiram concluir, através das simulações numéricas realizadas, a importância da base dinâmica no sentido de simplificar os cálculos para obtenção dos autovalores, dos modos de vibração e, consequentemente, da resposta do sistema, seja concentrado, distribuído com ou sem acoplamento das condições de contorno. A utilização da análise modal adjunta, desde que ocorra uma ordenação adequada dos autovalores e modos, mostrou-se um método eficiente na obtenção direta da resposta de sistemas não-clássicos de segunda ordem, ou seja, sem redução ao espaço de estado.
Resumo:
As tarefas de visão computacional incentivam uma significativa parte da pesquisa em todas as áreas científicas e industriais, entre as quais, cita-se a área voltada para o desenvolvimento de arquiteturas de computadores. A visão computacional é considerada um dos problemas mais desafiadores para a computação de alto desempenho, pois esta requer um grande desempenho, bem como um alto grau de flexibilidade. A flexibilidade é necessária pois a visão computacional abrange aplicações em que há diferentes tarefas a serem realizadas com diferentes necessidades de desempenho. Esta flexibilidade é particularmente importante em sistemas destinados a atuar como ambientes experimentais para novas técnicas de processamento visual ou para a prototipação de novas aplicações. Computação configurável tem demonstrado, por meio de exemplos implementados pela comunidade científica, fornecer uma boa relação entre alto desempenho e flexibilidade necessária para a implementação de diferentes técnicas utilizadas na área de visão computacional. Contudo, poucos esforços de pesquisa têm sido realizados na concepção de sistemas completos visando a solução de um problema de visão computacional, incluindo ambos os requisitos de software e de hardware. O principal objetivo deste trabalho é mostrar que as técnicas e tecnologias disponíveis na área de computação configurável podem ser empregadas para a concepção de um sistema capaz de implementar um grande número de aplicações da área de visão computacional na pesquisa e no ambiente industrial. Entretanto, não é escopo deste trabalho implementar um sistema de computação que seja suficiente para abordar os requerimentos necessários para todas as aplicações em visão computacional, mas os métodos aqui introduzidos podem ser utilizados como uma base geral de implementação de várias tarefas de visão computacional. Este trabalho utiliza ambientes que permitem implementações conjuntas de hardware e software, pois os mesmos facilitam a validação das técnicas aqui apresentadas, por meio da implementação de um estudo de caso, sendo parte deste estudo de caso implementado em software e outra parte em hardware.
Resumo:
Este trabalho realiza um estudo sobre a criação de sistemas tempo-real usando orientação a objetos, com enfoque no mapeamento de especificações para linguagens de programação. O paradigma de orientação a objetos tem sido usado nas diferentes fases relacionadas com o desenvolvimento de sistemas tempo-real, variando desde a modelagem até o ambiente de programação e execução, mas atualmente estas iniciativas ainda focam etapas isoladas do ciclo de desenvolvimento. O objetivo deste trabalho é o de preencher esta lacuna, propondo um mapeamento entre uma metodologia ou ferramenta de análise e projeto de sistemas tempo-real orientados a objetos e uma linguagem ou ambiente de desenvolvimento baseado no paradigma de orientação a objetos que possua suporte para atender às restrições temporais especificadas. O mapeamento proposto foi desenvolvido utilizando estudos de caso clássicos em aplicações tempo-real que foram baseados em dois recentes padrões. O primeiro é o emergente padrão Real-Time UML, que visa realizar a especificação de requisitos temporais utilizando diagramas UML com extensões que os representem. O outro padrão é o Real-Time Specification for Java, que consiste de uma interface de programação (API) para desenvolvimento de aplicações tempo-real com a linguagem Java. O relacionamento entre stereotypes e tags usados para representar restrições temporais em diagramas UML e o código Java correspondente é explicado e um sumário da estratégia de mapeamento é discutido.
Resumo:
Neste trabalho são descritas a arquitetura e as propriedades características do protocolo PROFIBUS, nome dado a um entre os diversos protocolos existentes na área industrial. Utilizando uma versão do protocolo PROFIBUS desenvolvida no Laboratório de Instrumentação Eletro-Eletrônica da Universidade Federal do Rio Grande do Sul foi implementada uma rede composta por uma estação mestre e até 96 estações escravas. A fim de analisar o Tempo de Ciclo de Mensagem e o Tempo de Reação do Sistema foram realizados diversos testes, variando a taxa de comunicação utilizada, o tamanho dos quadros de comunicação e a quantidade de estações escravas que compunham a rede. No final foi feita uma comparação entre os valores práticos obtidos e valores calculados a partir de fórmulas teóricas. Os valores práticos obtidos possibilitam determinar a viabilidade da utilização desta rede em diversas aplicações reais.
Resumo:
Uma aplicação distribuída freqüentemente tem que ser especificada e implementada para executar sobre uma rede de longa distância (wide-área network-WAN), tipicamente a Internet. Neste ambiente, tais aplicações são sujeitas a defeitos do tipo colapso(falha geral num dado nó), teporização (flutuações na latência de comunicação) e omissão (perdas de mensagens). Para evitar que este defeitos gerem comseqüências indesejáveis e irreparáveis na aplicação, explora-se técnicas para tolerá-los. A abstração de detectores de defeitos não confiáveis auxilia a especificação e trato de algoritmos distribuídos utilizados em sistemas tolerantes a falhas, pois permite uma modelagem baseada na noção de estado (suspeito ou não suspeito) dos componentes (objetos, processo ou processadores) da aplicação. Para garantir terminação, os algoritmos de detecção de defeitos costumam utilizar a noção de limites de tempo de espera (timeout). Adicionalmente, para minimizar seu erro (falasas suspeitas) e não comprometer seu desempenho (tempo para detecção de um defeito), alguns detectores de defeitos ajustam dinamicamente o timeout com base em previsões do atraso de comunicação. Esta tese explora o ajuste dinâmico do timeout realizado de acordo com métodos de previsão baseados na teoria de séries temporais. Tais métodos supõem uma amostragem periódica e fornececm estimativas relativamente confiáveis do comportamento futuro da variável aleatória. Neste trabalho é especificado uma interface para transformar uma amostragem aperiódica do atraso de ida e volta de uma mensagem (rtt) numa amostragem periódica, é analisado comportamento de séries reais do rtt e a precisão dee sete preditores distintos (três baseados em séries temporais e quatrro não), e é avaliado a influência destes preditores na qualidade de serviço de um detector de defeitos do estilopull. Uma arquitetura orientada a objetos que possibilita a escolha/troca de algoritmos de previsão e de margem de segurança é também proposta. Como resultado, esta tese mostra: (i) que embora a amostragem do rtt seja aperiódica, pode-se modelá-la como sendo uma série temporal (uma amostragem periódica) aplciando uma interface de transformação; (ii) que a série temporal rtt é não estacionária na maioria dos casos de teste, contradizendo a maioria das hipóteses comumente consideradas em detectores de defeitos; (iii) que dentre sete modelos de predição, o modelo ARIMA (autoregressive integrated moving-average model) é o que oferece a melhor precisão na predição de atrasos de comunicação, em termos do erro quadrático médio: (iv) que o impacto de preditores baseados em séries temporais na qualidade de serviço do detector de defeitos não significativo em relação a modelos bem mais simples, mas varia dependendo da margem de segurança adotada; e (v) que um serviço de detecção de defeitos pode possibilitar a fácil escolha de algoritmos de previsão e de margens de segurança, pois o preditor pode ser modelado como sendo um módulo dissociado do detector.
Resumo:
Este trabalho trata da técnica de validação experimental de protocolos de comunicação confiável, através da injeção de falhas de comunicação. São estudadas inicialmente as técnicas de injeção de falhas, por hardware, software e simulação, e então são aprofundados os conceitos de injeção de falhas de comunicação, modelos de falha e especificação de experimentos de injeção de falhas. Em um segundo momento, são estudadas as formas de implementação de injetores de falhas em software, em suas duas formas mais comuns: no nível da aplicação e no nível do sistema operacional. São comentados os impactos da implementação de injetores no código da aplicação, por processos concorrentes à aplicação, em código utilizado pela aplicação e no meta-nível. Por fim, são estudados também que influências sofre a implementação de um injetor de falhas em um sistema operacional, e mais especificamente a de injetores de falhas de comunicação. O objetivo específico deste trabalho é implementar um injetor de falhas de comunicação bastante abrangente e flexível, situado dentro do núcleo do Sistema Operacional Linux. Para viabilizar esta implementação foi estudada também a arquitetura do Sistema Operacional Linux, sua decomposição em subsistemas e a interação entre estes. Foram estudadas também as várias técnicas de programação e mecanismos que o Sistema Operacional Linux fornece aos seus subsistemas. Estando completas a revisão bibliográfica a respeito de injeção de falhas e o estudo do código do Sistema Operacional Linux, são apresentadas a proposta e a implementação da ferramenta ComFIRM—Communication Fault Injection through Operating System Resource Modification, suas características e sua inserção dentro do núcleo do Sistema Operacional Linux. Finalizando este trabalho, são apresentados uma pequena série de testes de funcionamento e experimentos realizados com a ferramenta ComFIRM, visando demonstrar a correção de seu funcionamento, o cumprimento de seus objetivos e também sua praticidade e flexibilidade de uso. São apresentadas as conclusões deste trabalho, propostas de melhorias à ferramenta apresentada, bem como possibilidades de trabalhos futuros.
Resumo:
O objetivo deste trabalho é propor um modelo de gestão que integre Planejamento Estratégico, Gerenciamento de Processos e Avaliação de Desempenho, visando preencher uma lacuna identificada na gestão empresarial – a falta de integração entre as diretrizes estratégicas e a operação das empresas. Estes módulos são apresentados contemplando uma perspectiva histórica para a contextualização do problema, e suas inter-relações são discutidas. Considerando os indicadores de desempenho como elemento integrador dos outros dois módulos, faz-se a discussão e comparação de diversos modelos que se propõem a atender a necessidade atual de medição do desempenho organizacional. Da interação entre a revisão bibliográfica e aplicações práticas, chega-se ao modelo proposto, apresentando sua estrutura geral e seu procedimento para implantação, denominando-o “MEIO” – Modelo de Estratégia, Indicadores e Operações, com o qual se almeja estar contribuindo para a melhoria potencial da gestão das empresas. Este modelo se caracteriza por sua flexibilidade, permitindo que as empresas construam seu modelo de gestão por partes, começando por qualquer um dos módulos do MEIO, o que é importante dado que elas se encontram em estágios diferentes de desenvolvimento em termos de gestão. Além disso, como característica de sua proposta de integração, o próprio modelo induz a construção das outras partes que porventura não estejam devidamente implantadas ou em uso pela empresa. O modelo é aplicado em três empresas de diferentes segmentos, portes e estágios de maturidade em termos de gestão. Essas aplicações práticas do modelo MEIO, mesmo que parcialmente, mostram resultados quantitativos e qualitativos para as empresas, os quais são analisados e discutidos.