13 resultados para SISTEMAS EXPERTOS (COMPUTADORES)
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
Resumo:
Este trabalho define e implementa um sistema de controle de consumo para redes de computadores, objetivando aumentar o tempo de operação da rede em caso de operação com recursos limitados e redução de consumo de energia em situações de fornecimento normal. Na definição do sistema, denominado NetPower, foi estabelecida uma estrutura através da qual um gerente (coordenador) monitora as atividades dos equipamentos vinculados à rede, e determina alterações nos estados de consumo respectivos, de acordo com as necessidades ou atendimento de padrões de otimização. Aos equipamentos podem ser atribuídos diferentes privilégios em uma hierarquia adaptável a diversos ambientes. Um reserva oferece opção às falhas do gerente. A implementação está baseada no protocolo SNMP (Simple Network Management Protocol) para a gerência e são considerados preponderantemente os padrões para controle de consumo dos equipamentos Advanced Power Management, APM, e Advanced Configuration and Power Interface Specification, ACPI. Além da arquitetura do gerente e dos agentes, foi definida também uma MIB (Management Information Base) para controle de consumo. No projeto do sistema, foi privilegiado o objetivo de utilização em qualquer ambiente de rede, sem preferência por equipamentos de algum fabricante específico ou por arquitetura de hardware. Tecnologias de domínio público foram utilizadas, quando possível. No futuro este sistema pode fazer parte da distribuição de sistemas operacionais, incorporando controle de consumo às redes. No texto é feita uma comparação entre os softwares existentes para controle de consumo, são apresentados os recursos de controle de consumo disponíveis nos equipamentos de computação, seguido da descrição do protocolo de gerência utilizado. Em seguida, é apresentada a proposta detalhada do sistema de controle e descrita da implementação do protótipo.
Resumo:
Replicação de objetos é usada para garantir uma maior disponibilidade de recursos em um sistema distribuído. Porém, com a replicação, surgem problemas como o controle da consistência das réplicas e onde estas réplicas devem estar posicionadas. A consistência é garantida por um protocolo de consistência de réplicas. Para facilitar a implementação dos protocolos de controle de réplicas, pode-se utilizar mecanismos de comunicação de grupo como suporte para a replicação. Outro problema importante que surge com a replicação é o posicionamento das réplicas. A carga de processamento em um sistema distribuído muda continuamente e num determinado instante pode ser necessário mudar a distribuição atual das réplicas pela adição de novas réplicas, remoção de réplicas desnecessárias ou pela mudança de posicionamento das réplicas. Um sistema de gerenciamento de réplicas pode realizar esta tarefa. Este trabalho apresenta o sistema RPM – Replica Placement Manager – responsável por fornecer ao serviço de gerenciamento de réplicas uma lista ordenada de nodos potencialmente ideais, num determinado momento do processamento, para receber uma réplica de um objeto. Esta lista é criada pelo RPM, considerando um pequeno conjunto de variáveis estáticas e dinâmicas, facilmente obtidas nos nodos do sistema distribuído.
Resumo:
Baseado na tecnologia de interligação de redes, este trabalho apresenta uma proposta de conexão de dois sistemas com processamento próprio com o intuito de troca de informações, utilizando a pilha de protocolos TCP/IP. Este sistema será empregado em ambientes de controle industrial, permitindo o envio de informações do servidor de dados para o cliente. Os dados são constituídos de leituras feitas em equipamentos de campo, apresentando ao cliente remoto, medições dos mais diversos tipos. Por outro lado, o cliente poderá enviar comandos aos equipamentos de campo visando o telecontrole. Como ponto de partida para a elaboração do trabalho prático, foi utilizado o ambiente de controle do sistema de potência da companhia energética do estado do Rio Grande do Sul (CEEE). Um microcomputador com um browser acessa, através de uma rede local, os equipamentos controlados, que poderão ser qualquer tipo de equipamento de campo empregado em subestações de energia elétrica, como disjuntores, transformadores ou chaves. Para permitir o acesso remoto de tais equipamentos, foi elaborado um servidor de dados constituído de um controlador de rede do tipo Ethernet e um microcontrolador de aplicação específica que se encarrega do processamento da pilha de protocolos. O controlador Ethernet utilizado é um circuito integrado dedicado comercial, que executa o tratamento dos sinais de nível físico e de enlace de dados conforme o padrão IEEE 802.2. O processador TCP/IP, enfoque principal deste trabalho, foi elaborado através da linguagem de programação C, e a seguir traduzido para o Java, que é o ponto de partida para a ferramenta SASHIMI, de geração da descrição em VHDL do microcontrolador de aplicação específica utilizado. O processador TCP/IP encarrega-se da aquisição de dados do equipamento de campo, do processamento da pilha de protocolos TCP/IP, e do gerenciamento do controlador Ethernet. A partir desta descrição VHDL, foi sintetizado o hardware do microcontrolador em um FPGA, que juntamente com o software aplicativo, também fornecido pela ferramenta utilizada, desempenha o papel de processador TCP/IP para o sistema proposto. Neste ambiente, então, o cliente localizado no centro de operação, acessa através de um browser o equipamento de campo, visando obter suas medições, bem como enviar comandos, destacando o aspecto bidirecional para a troca de dados e a facilidade de conexão de dois sistemas heterogêneos. Este sistema pretende apresentar baixo custo de aquisição e de instalação, facilidade de interconexão local ou remota e transparência ao usuário final.
Resumo:
O desenvolvimento de protocolos distribuídos é uma tarefa complexa. Em sistemas tolerantes a falhas, a elaboração de mecanismos para detectar e mascarar defeitos representam grande parte do esforço de desenvolvimento. A técnica de simulação pode auxiliar significativamente nessa tarefa. Entretanto, existe uma carência de ferramentas de simulação para investigação de protocolos distribuídos em cenários com defeitos, particularmente com suporte a experimentos em configurações “típicas” da Internet. O objetivo deste trabalho é investigar o uso do simulador de redes NS (Network Simulator) como ambiente para simulação de sistemas distribuídos, particularmente em cenários sujeitos à ocorrência de defeitos. O NS é um simulador de redes multi-protocolos, que tem código aberto e pode ser estendido. Embora seja uma ferramenta destinada ao estudo de redes de computadores, o ajuste adequado de parâmetros e exploração de características permitiu utilizá-lo para simular defeitos em um sistema distribuído. Para isso, desenvolveu-se dois modelos de sistemas distribuídos que podem ser implementados no NS, dependendo do protocolo de transporte utilizado: um baseado em TCP e o outro baseado em UDP. Também, foram estudadas formas de modelar defeitos através do simulador. Para a simulação de defeito de colapso em um nodo, foi proposta a implementação de um método na classe de cada aplicação na qual se deseja simular defeitos. Para ilustrar como os modelos de sistemas distribuídos e de defeitos propostos podem ser utilizados, foram implementados diversos algoritmos distribuídos em sistemas síncronos e assíncronos. Algoritmos de eleição e o protocolo Primário-Backup são exemplos dessas implementações. A partir desses algoritmos, principalmente do Primário-Backup, no qual a simulação de defeitos foi realizada, foi possível constatar que o NS pode ser uma ferramenta de grande auxílio no desenvolvimento de novas técnicas de Tolerância a Falhas. Portanto, o NS pode ser estendido possibilitando que, com a utilização dos modelos apresentados nesse trabalho, simule-se defeitos em um sistema distribuído.
Resumo:
A importância da validação de Sistemas de Apoio à Dedisão (SAD) cresce na medida em que o uso destes tem crescido a partir da facilidade de acesso das pessoas a computadores cada vez com maior capacidade de processamento e mais baratos. Este trabalho procura estabelecer um procedimento prático para um método de validação de SAD. Para tal, este procedimento foi aplicado na validação de um SAD financeiro na área de avaliação de opções. O método foi desenvolvido em três etapas básicas: validação conceitual, verificação e legitimidade, tendo apoio em uma metodologia desenvolvida por Borenstein e Becker (2001). As conclusões basearam-se em procedimentos qualitativos de validação, utilizando-se de testes de laboratório e de campo. Constatou-se que o método apresentou bons resultados, embora o caráter qualitativo da validação, demonstrando que este tem potencial para ser aplicado a outros sistemas, preenchendo uma lacuna na literatura de SAD.
Resumo:
O gerenciamento de redes exige dos administradores a disponibilidade de uma grande quantidade de informações sobre os seus equipamentos, as tecnologias envolvidas e os problemas associados a elas. Nesse cenário, administradores de redes devem, cada vez mais, aprofundar o seu conhecimento através de constante treinamento, até que estejam aptos a administrar uma rede de maneira mais eficiente e confiável. Alguns estudos têm sido feitos buscando integrar tecnologias de Inteligência Artificial na área de gerenciamento de redes. Abordagens utilizando sistemas multiagentes, agentes de interface e sistemas especialistas já foram utilizadas com o objetivo de facilitar a tarefa de gerenciamento de rede aos olhos do usuário. Os chatterbots representam um grande potencial para a tarefa de treinamento e gerenciamento de redes já que utilizam linguagem natural e são capazes de ser facilmente integrados em ambientes mais complexos. O principal objetivo deste trabalho é investigar o uso de chatterbots como uma ferramenta de gerenciamento utilizada por administradores menos treinados. O trabalho envolveu a adaptação do chatterbot ALICE para permitir o treinamento e a gerência de redes através da inclusão de módulos que permitem a monitoração de equipamentos de uma rede (através do protocolo SNMP) e módulos que permitam consultar e armazenar histórico de informações da mesma. Desta forma, a grande contribuição da arquitetura proposta é a de prover uma comunicação mais efetiva entre o administrador menos experiente e a rede, através do chatterbot assistente, que recebe consultas em linguagem natural, interpreta os dados coletados e expõe os conceitos envolvidos no processo de gerenciamento.
Resumo:
Uma etapa fundamental no desenvolvimento de sistemas tolerantes a falhas é a fase de validação, onde é verificado se o sistema está reagindo de maneira correta à ocorrência de falhas. Uma das técnicas usadas para validar experimentalmente um sistema é injeção de falhas. O recente uso de sistemas largamente distribuídos para execução dos mais diversos tipos de aplicações, faz com que novas técnicas para validação de mecanismos de tolerância a falhas sejam desenvolvidas considerando este novo cenário. Injeção de falhas no sistema de comunicação do nodo é uma técnica tradicional para a validação de aplicações distribuídas, para forçar a ativação dos mecanismos de detecção e recuperação de erros relacionados à troca de mensagens. A condução de experimentos com injetores de comunicação tradicionais é feita pelo uso do injetor em uma máquina do sistema distribuído. Se o cenário desejado é de múltiplas falhas, o injetor deve ser instanciado independentemente nas n máquinas que as falhas serão injetadas. O controle de cada injetor é individual, o que dificulta a realização do experimento. Esta dificuldade aumenta significativamente se o cenário for um sistema distribuído de larga escala. Outro problema a considerar é a ausência de ferramentas apropriadas para a emulação de determinados cenários de falhas. Em aplicações distribuídas de larga escala, um tipo comum de falha é o particionamento de rede. Não há ferramentas que permitam diretamente a validação ou a verificação do processo de defeito de aplicações distribuídas quando ocorre um particionamento de rede Este trabalho apresenta o estudo de uma abordagem para injeção de falhas que permita o teste de atributos de dependabilidade de aplicações distribuídas de pequena e larga escala implementadas em Java. A abordagem considera a não obrigatoriedade da alteração do código da aplicação sob teste; a emulação de um cenário de falhas múltiplas que ocorrem em diferentes nodos, permitindo o controle centralizado do experimento; a validação de aplicações que executem em sistemas distribuídos de larga escala e consideram um modelo de falhas realista deste tipo de ambiente, incluindo particionamentos de rede. A viabilidade da abordagem proposta é mostrada através do desenvolvimento do protótipo chamado FIONA (Fault Injector Oriented to Network Applications), o qual atualmente injeta falhas em aplicações desenvolvidas sob o protocolo UDP.
Resumo:
A maioria dos métodos de síntese e sintonia de controladores, bem como métodos de otimização e análise de processos necessitam de um modelo do processo em estudo. A identificação de processos é portanto uma área de grande importância para a engenharia em geral pois permite a obtenção de modelos empíricos dos processos com que nos deparamos de uma forma simples e rápida. Mesmo não utilizando leis da natureza, os modelos empíricos são úteis pois descrevem o comportamento específico de determinado processo. Com o rápido desenvolvimento dos computadores digitais e sua larga aplicação nos sistemas de controle em geral, a identificação de modelos discretos foi amplamente desenvolvida e empregada, entretanto, modelos discretos não são de fácil interpretação como os modelos contínuos pois a maioria dos sistema com que lidamos são de representação contínua. A identificação de modelos contínuos é portanto útil na medida que gera modelos de compreensão mais simples. A presente dissertação estuda a identificação de modelos lineares contínuos a partir de dados amostrados discretamente. O método estudado é o chamado método dos momentos de Poisson. Este método se baseia em uma transformação linear que quando aplicada a uma equação diferencial ordinária linear a transforma em uma equação algébrica evitando com isso a necessidade do cálculo das derivadas do sinais de entrada e saída Além da análise detalhada desse método, onde demonstramos o efeito de cada parâmetro do método de Poisson sobre o desempenho desse, foi realizado também um estudo dos problemas decorrentes da discretização de sinais contínuos, como por exemplo o efeito aliasing decorrente da utilização de tempos de amostragem muito grandes e de problemas numéricos da identificação de modelos discretos utilizando dados com tempos de amostragem muito pequenos de forma a destacar as vantagens da identificação contínua sobre a identificação discreta Também foi estudado um método para compensar a presença de offsets nos sinais de entrada e saída, método esse inédito quando se trata do método dos momentos de Poisson. Esse trabalho também comprova a equivalência entre o método dos momentos de Poisson e uma metodologia apresentada por Rolf Johansson em um artigo de 1994. Na parte final desse trabalho são apresentados métodos para a compensação de erros de modelagem devido à presença de ruído e distúrbios não medidos nos dados utilizados na identificação. Esses métodos permitem que o método dos momentos de Poisson concorra com os métodos de identificação discretos normalmente empregados como por exemplo ARMAX e Box-Jenkins.
Resumo:
A responsabilização do gestor municipal de saúde pelo planejamento e avaliação do Sistema de Saúde tem aumentado com o processo de municipalização, tornando crescente a necessidade de obtenção de informações adequadas e rapidamente acessíveis ao processo de tomada de decisões gerenciais. Os Sistemas de Informação em Saúde (SIS) são potenciais apoiadores deste processo, mas poucos trabalhos têm verificado sua adequação às necessidades dos gestores municipais, e municípios pequenos podem ter dificuldades adicionais para disponibilizar recursos materiais e humanos necessários a seu aproveitamento adequado. Procurou-se conhecer as necessidades dos 337 municípios gaúchos com menos de 10 mil habitantes em termos de estrutura, utilização dos SIS e necessidades de informações, através de questionário auto-aplicado. Houve um retorno de 127 questionários (37%). A falta de estrutura para a utilização dos SIS não apareceu como problema crítico, sendo que todos os municípios possuíam computador para uso dos SIS (média de três) e 6% não tinham internet. Em 59,1% há análise de dados com geração de indicadores utilizados no planejamento e gerenciamento local, mas 36,2% têm dificuldades na utilização das informações que retornam do nível central por não terem acesso ou por não conseguirem compreendê-las. 4,7% acham que os SIS permitem gerar os indicadores necessários, satisfazendo plenamente suas expectativas, e dos que não utilizam ou utilizam muito pouco os dados dos SIS, 10% referem como causa a falta de computadores, 27,5% o treinamento insuficiente dos profissionais, 27,5% que não há necessidade de criar indicadores, que vêm prontos do nível central, e 25% que os SIS não permitem trabalhar o banco de dados, apenas sua alimentação. Identificou-se dificuldade na compreensão do termo indicadora, e foram citados freqüentemente como importantes para o planejamento local os mesmos utilizados nas pactuações com o Estado. O Estado precisa fornecer às coordenadorias regionais condições para que possam assumir seu papel de apoiadoras técnicas, auxiliando a organização administrativa dos municípios e o processo de planejamento e tomada de decisões, permitindo que eles identifiquem suas demandas e decidam localmente quais as informações relevantes para apoiar suas decisões.
Resumo:
Alta disponibilidade (muitas vezes referenciada como HA, de High Availability) é uma característica de sistemas computacionais que são projetados para evitar ao máximo as interrupções, planejadas ou não, na prestação de serviços. Em alta disponibilidade, o ideal é haver poucas falhas e, mesmo quando estas acontecerem, que o seu tempo médio de reparo (ou MTTR, de Mean Time To Repair) seja tão pequeno quanto possível. Sistemas operacionais têm um papel importante em alta disponibilidade, sendo preferível o uso daqueles que possuam sistemas de arquivos seguros e relativamente independentes de ações por agentes humanos para a recuperação. Uma das abordagens para auxiliar a obter-se uma alta disponibilidade em sistemas de arquivos é a do tipo journaling, ou meta-data logging. Existe uma série de sistemas de arquivos para o sistema operacional Linux baseando-se nela, tais como ext3, JFS, ReiserFS e XFS. Este trabalho tem por objetivo propor uma metodologia de validação experimental para avaliar a eficiência do mecanismo para recuperação de sistemas de arquivos baseados em journaling, na ocorrência de falhas. Para isso, a técnica de validação empregada é a da injeção de falhas e o sistema sob teste é uma implementação do XFS. Foram utilizados os recursos de depuração do sistema operacional Linux (que permitem a utilização de métodos para interceptação e manipulação de chamadas de sistema) para a implementação de um injetor de falhas específico para sistemas de arquivos baseados em journaling, o qual foi chamado de FIJI (Fault Injector for Journaling fIlesystems). Manipular os parâmetros de chamadas de sistema (ou system calls) através do FIJI equivale a alterar as requisições feitas ao sistema operacional. A eficiência do mecanismo de journaling é medida injetando-se falhas e medindose o MTTR e a cobertura de falhas. Basicamente, o que procura-se fazer através do injetor de falhas FIJI é ignorar os logs do journaling e manipular uma quantidade de informações diferente daquela que foi solicitada originalmente.
Resumo:
Este texto apresenta a tese de doutorado em Ciência da Computação na linha de pesquisa de Inteligência Artificial, dentro da área de IAD – Inteligência Artificial Distribuída (mais especificamente os Sistemas Multiagentes – SMA). O trabalho aborda a formação de grupos colaborativos em um ambiente multiagente interativo de aprendizagem na web, através da utilização de técnicas de Inteligência Artificial. O trabalho apresenta a definição e implementação de uma arquitetura de agentes modelados com algoritmos genéticos, integrada a um ambiente colaborativo de aprendizagem, o TelEduc. Inicialmente faz-se um breve estudo sobre as áreas envolvidas na tese: Informática na Educação, Educação a Distância, Inteligência Artificial, Inteligência Artificial Distribuída e Inteligência Artificial Aplicada à Educação. Abordam-se, também, as áreas de pesquisa que abrangem os Sistemas Multiagentes e os Algoritmos Genéticos. Após este estudo, apresenta-se um estudo comparativo entre ambientes de ensino e aprendizagem que utilizam a abordagem de agentes e a arquitetura proposta neste trabalho. Apresenta-se, também, a arquitetura de agentes proposta, integrada ao ambiente TelEduc, descrevendo-se o funcionamento de cada um dos agentes e a plataforma de desenvolvimento. Finalizando o trabalho, apresenta-se o foco principal do mesmo, a formação de grupos colaborativos, através da implementação e validação do agente forma grupo colaborativo. Este agente, implementado através de um algoritmo genético, permite a formação de grupos colaborativos seguindo os critérios estabelecidos pelo professor. A validação do trabalho foi realizada através de um estudo de caso, utilizando o agente implementado na formação de grupos colaborativos em quatro turmas de cursos superiores de Informática, na Região Metropolitana de Porto Alegre, em disciplinas que envolvem o ensino de programação de computadores.
Resumo:
A crescente complexidade dos sistemas tempo-real embarcados demanda novas metodologias e ferramentas para gerenciar os problemas de projeto, análise, integração e validação de sistemas complexos. Este trabalho aborda o tema co-projeto de sistemas tempo-real embarcados, propondo estratégias para a integração das fases iniciais de modelagem de um sistema tempo-real embarcado com as fases subseqüentes do projeto, como a implementação do software e do hardware. É proposto um framework orientado a objetos que permite a criação de modelos orientados a objetos de sistemas tempo-real embarcados, utilizando conceitos temporais similares aos propostos em UML-RT (ou mais especificamente no UML Profile for Schedulability, Performance and Time). É proposta uma estratégia de mapeamento dos requisitos temporais dos diagramas UMLRT para uma interface de programação (API) baseada na “Especificação Tempo-Real para Java” (Real-Time Specification for Java ou RTSJ), a qual pode ser executada tanto em software – em programas RTSJ executando em máquinas virtuais Java (JVM) tempo-real – ou em hardware – em processadores Java Tempo-Real. Para permitir o mapeamento para hardware são propostas extensões tempo-real ao processador Java FemtoJava, desenvolvido no âmbito de dissertações de mestrado e projetos de pesquisa no PPGC, criando-se um novo processador tempo-real denominado de RT-FemtoJava. Dentre as extensões propostas ao processador FemtoJava destaca-se a inclusão de um relógio de tempo-real e o suporte a instruções para alocação e manipulação de objetos. Os conceitos propostos foram validados no âmbito de estudos de caso, sendo os resultados obtidos descritos na presente dissertação.