7 resultados para Interface de comunicação
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
Desenvolvimento e implementação de uma interface de comunicação para controlador robótico industrial
Resumo:
O presente trabalho trata do desenvolvimento de um sistema para comunicação bidirecional entre um robô ABB IRB 1400, originalmente desprovido de uma interface de comunicação de dados, e um microcomputador PC padrão. Para a implementação utilizou-se a porta paralela do PC e uma Placa E/S Digital para sinais discretos disponível no controlador do robô. Devido à diferença de caracterìsticas elétricas entre as interfaces utilizadas, foi necessáio projetar um dispositivo que permitisse o ajuste dos niveis de tensão entre os sinais. Osistema foi elaborado visando sua utilização por programas desenvolvidos pelos usuários em ambiente Windows, sendo disponibilizadas rotinas para envio e recebimento de dados através de um protocolo próprio. Na plataforma PC as rotinas estão encapsuladas em um arquivo compilado no formato DDL (Dynamic Link Library). No controlador do robô as rotinas foram criadas em linguagem ABB RAPID. O programa desenvolvido pelo usuário é responsável por todo o processamento das informações, que são então enviadas através do sistema de comunicação a um outro programa específico sendo executado no controlador do robô, o qual interpreta os dados e ativa as tarefas correspondentes. Os resultados obtidos foram satisfatórios, sendo a velocidade de transmissão limitada pela velocidade da Placa E/S do robô. Utilizando-se uma placa ABB DSQC 223, atingiram taxas de transmissão da ordem de 12,5 bytes/s para envio e 6,1 bytes/s para o recbimento de informaçãoes a partir do PC. O sistema demonstrou ser uma alternativa viável para o controle do robô através de um microcomputador PC, apresentando boa confiabilidade, baixo custo e faciliadade de implementação.
Resumo:
A simulação paralela de eventos é uma área da computação que congrega grande volume de pesquisas, pela importância em facilitar o estudo de novas soluções nas mais diferentes áreas da ciência e tecnologia, sem a necessidade da construção de onerosos protótipos. Diversos protocolos de simulação paralela podem ser encontrados, divididos em dois grandes grupos de acordo com o algoritmo empregado para a execução em ordem dos eventos: os conservadores e os otimistas; contudo, ambos os grupos utilizam trocas de mensagens para a sincronização e comunicação. Neste trabalho, foi desenvolvido um novo protocolo de simulação paralela, fazendo uso de memória compartilhada, o qual foi implementado e testado sobre um ambiente de estações de trabalho, realizando, assim, simulação paralela com uso de memória compartilhada distribuída. O protocolo foi desenvolvido tendo como base de funcionamento os protocolos conservadores; utilizou diversas características dos mesmos, mas introduziu várias mudanças em seu funcionamento. Sua execução assemelha-se às dos protocolos de execução síncrona, utilizando conceitos como o lookahead e janelas de tempo para execução de eventos. A principal mudança que o novo protocolo sofreu foi proporcionada pelo acesso remoto à memória de um LP por outro, produzindo diversas outras nas funções relativas à sincronização dos processos, como o avanço local da simulação e o agendamento de novos eventos oriundos de outro LP. Um ganho adicional obtido foi a fácil resolução do deadlock, um dos grandes problemas dos protocolos conservadores de simulação paralela. A construção de uma interface de comunicação eficiente com uso de memória compartilhada é o principal enfoque do protocolo, sendo, ao final da execução de uma simulação, disponibilizado o tempo de simulação e o tempo de processamento ocioso (quantia utilizada em comunicação e sincronização). Além de uma implementação facilitada, propiciada pelo uso de memória compartilhada ao invés de trocas de mensagens, o protocolo oferece a possibilidade de melhor ocupar o tempo ocioso dos processadores, originado por esperas cada vez que um LP chega a uma barreira de sincronização. Em nenhum momento as modificações efetuadas infringiram o princípio operacional dos protocolos conservadores, que é não possibilitar a ocorrência de erros de causalidade local. O novo protocolo de simulação foi implementado e testado sobre um ambiente multicomputador de memória distribuída, e seus resultados foram comparados com dois outros simuladores, os quais adotaram as mesmas estratégias, com idênticas ferramentas e testados em um mesmo ambiente de execução. Um simulador implementado não utilizou paralelismo, tendo seus resultados sido utilizados como base para medir o speedup e a eficiência do novo protocolo. O outro simulador implementado utilizou um protocolo conservador tradicional, descrito na literatura, realizando as funções de comunicação e sincronização através de trocas de mensagens; serviu para uma comparação direta do desempenho do novo protocolo proposto, cujos resultados foram comparados e analisados.
Resumo:
Mecanismos de comunicação entre processos são fundamentais no desenvolvimento de sistemas distribuídos, já que constituem o único meio de compartilhar dados entre processos que não dispõem de memória comum. Um dos principais mecanismos de comunicação utilizados é a troca de mensagens entre os processos componentes do sistema. Existem muitas aplicações que são compostas por um conjunto de processos que cooperam para realizar uma determinada tarefa e que são mais facilmente construídas se o sistema operacional oferecer a possibilidade de se enviar uma mensagem a diversos destinos. Neste caso são necessários mecanismos que permitam a difusão confiável de uma mensagem para um grupo de processos em uma única operação. Tendo em vista esta necessidade, diversos protocolos têm sido apresentados na literatura para permitir a comunicação entre um grupo de processos com diferentes graus de complexidade e de desempenho. Este trabalho apresenta um ambiente para desenvolvimento e utilização de protocolos de comunicação em grupo, denominado FlexGroup. O ambiente divide os protocolos em suas características fundamentais, permitindo que estas características possam ser desenvolvidas separadamente como subprotocolos. Os subprotocolo são interligados através de uma interface comum e gerenciados pelo núcleo do ambiente. A comunicação entre as diversas máquinas da rede é gerenciada pelo FlexGroup, permitindo que o desenvolvedor de um novo subprotocolo possa somente se focar nas características específicas do seu protocolo. Esta modularidade permite, ainda, que apenas as partes de interesse de um novo protocolo precisem ser implementadas, além de também viabilizar a criação de um protocolo baseado nos já existentes no ambiente. Além disso, o ambiente permite que as aplicações de comunicação em grupo possam definir, através de uma biblioteca, o conjunto de subprotocolos que desejam utilizar, em tempo de execução, sem necessidade de conhecer a implementação interna dos subprotocolos.. Da mesma forma, alguém que se proponha a realizar comparações com os protocolos existentes, pode utilizar os diversos subprotocolos e as aplicações existentes, bastando alterar os protocolos utilizados em tempo de execução e avaliando somente as características que deseje analisar.
Resumo:
Existe uma certa gama de aplicações que não pode ser implementada através do modelo convencional de transações, são aplicações que tem um tempo de duração mais longo do que aquelas convencionalmente modeladas. Em uma transação Atômica, ou todo o trabalho é realizado por completo ou nada é feito, mas, quando se trata de atividades de longa duração, isto pode significar a perda de trabalho executado durante horas ou, até mesmo, dias. Pelo mesmo motivo, transações longas não devem executar isoladamente, porque isto impede que outras transações tenham acesso aos dados sendo manipulados. No âmbito do projeto TRANSCOOP, vêm sendo realizados vários estudos sobre modelos de transações não convencionais. Dentre eles, encontra-se o Modelo de Contratos, que prevê um mecanismo de controle seguro para gerenciar aplicações distribuídas que apresentam atividades de longa duração. Para experimentar e avaliar as idéias inseridas neste modelo está sendo desenvolvido um protótipo. Este sistema é provido de uma interface gráfica interativa, baseada em Manipulação Direta, e suporta a definição de transações longas de banco de dados de acordo com o Modelo de Contratos. O objetivo deste trabalho é descrever a arquitetura de um protótipo para o Modelo de Contratos, definindo a função de cada um de seus módulos, mais especificamente o módulo Interface, e a comunicação entre eles. Para a definição de uma interface adequada foram considerados aspectos de outras áreas da ciência, pois a área de interfaces homemmáquina é multidisciplinar.
Resumo:
Alta disponibilidade é uma das propriedades mais desejáveis em sistemas computacionais, principalmente em aplicações comerciais que, tipicamente, envolvem acesso a banco de dados e usam transações. Essas aplicações compreendem sistemas bancários e de comércio eletrônico, onde a indisponibilidade de um serviço pode representar substanciais perdas financeiras. Alta disponibilidade pode ser alcançada através de replicação. Se uma das réplicas não está operacional, outra possibilita que determinado serviço seja oferecido. No entanto, réplicas requerem protocolos que assegurem consistência de estado. Comunicação de grupo é uma abstração que tem sido aplicada com eficiência a sistemas distribuídos para implementar protocolos de replicação. Sua aplicação a sistemas práticos com transações e com banco de dados não é comum. Tipicamente, sistemas transacionais usam soluções ad hoc e sincronizam réplicas com protocolos centralizados, que são bloqueantes e, por isso, não asseguram alta disponibilidade. A tecnologia baseada em componentes Enterprise JavaBeans (EJB) é um exemplo de sistema prático que integra distribuição, transações e bancos de dados. Em uma aplicação EJB, o desenvolvedor codifica o serviço funcional que é dependente da aplicação, e os serviços não–funcionais são inseridos automaticamente. A especificação EJB descreve serviços não–funcionais de segurança, de transações e de persistência para bancos de dados, mas não descreve serviços que garantam alta disponibilidade. Neste trabalho, alta disponibilidade é oferecida como uma nova propriedade através da adição de serviços não–funcionais na tecnologia EJB usando abstrações de comunicação de grupo. Os serviços para alta disponibilidade são oferecidos através da arquitetura HA (highly-available architecture) que possui múltiplas camadas. Esses serviços incluem replicação, chaveamento de servidor, gerenciamento de membros do grupo e detecção de membros falhos do grupo. A arquitetura HA baseia-se nos serviços já descritos pela especificação EJB e preserva os serviços EJB existentes. O protocolo de replicação corresponde a uma subcamada, invisível para o usuário final. O serviço EJB é executado por membros em um grupo de réplicas, permitindo a existência de múltiplos bancos de dados idênticos. Conflitos de acesso aos múltiplos bancos de dados são tratados estabelecendo–se uma ordem total para aplicação das atualizações das transações. Esse grupo é modelado como um único componente e gerenciado por um sistema de comunicação de grupo. A combinação de conceitos de bancos de dados com comunicação de grupo demonstra uma interessante solução para aplicações com requisitos de alta disponibilidade, como as aplicações EJB. Os serviços adicionais da arquitetura HA foram implementados em protótipo. A validação através de um protótipo possibilita que experimentos sejam realizados dentro de um ambiente controlado, usando diferentes cargas de trabalho sintéticas. O protótipo combina dois sistemas de código aberto. Essa característica permitiu acesso à implementação e não somente à interface dos componentes dos sistemas em questão. Um dos sistemas implementa a especificação EJB e outro implementa o sistema de comunicação de grupos. Os resultados dos testes realizados com o protótipo mostraram a eficiência da solução proposta. A degradação de desempenho pelo uso de réplicas e da comunicação de grupo é mantida em valores adequados.
Resumo:
A popularização da Internet e o crescimento da educação à distância tornaram possível a criação de softwares e cursos à distância, disponíveis na WWW. Atualmente, a Inteligência Artificial (IA) vem sendo utilizada para aumentar a capacidade de ambientes de educação à distância, diminuindo a desistência pela falta de estímulos externos e de interação entre colegas e professores. Este trabalho encontra-se inserido no ambiente colaborativo suportado por computador, definido no projeto “Uma Proposta de Modelo Computacional de Aprendizagem à Distância Baseada na Concepção Sócio-Interacionista de Vygotsky” chamado MACES (Multiagent Architecture for an Collaborative Educational System). Sua principal proposta, como parte do projeto do grupo, é desenvolver e implementar a interface animada do personagem para os agentes pedagógicos animados Colaborativo e Mediador que operam no ambiente de aprendizado colaborativo proposto pelo grupo. O personagem desenvolvido chama-se PAT (Pedagogical and Affective Tutor). A interface do personagem foi desenvolvida em Java, JavaScript e usa o Microsoft Agent para a movimentação. O Resin 2.1.6 (semelhante ao Tomcat que também foi usado de teste) é o compilador de servlet usado na execução de Java Servlet’s e tecnologias jsp – que monta páginas HTML dinamicamente. Esta montagem é feita no servidor e enviada para o browser do usuário. Para definir a aparência do personagem foram feitas entrevistas com pedagogas, psicólogas, psicopedagogas e idéias tiradas de entrevistas informais com profissionais que trabalham com desenho industrial, propaganda, cartoon e desenho animado. A PAT faz parte da interface do MACES e promove a comunicação entre esse ambiente e o usuário. Portanto, acredita-se que a PAT e os recursos da Inteligência artificial poderão aumentar a capacidade de ambientes de educação à distância, tornando-os mais agradáveis, assim como diminuir a desistência pela falta de estímulos externos e de interação com colegas e professores.
Resumo:
Esta pesquisa tem como objetivo principal propor uma metodologia que agilize a construção de uma ferramenta no campo da Documentação. Trata-se da geração de uma base de dados terminológica com sustentação na terminologia utilizada pelo especialista em sua área de domínio. Ela se apóia nos pressupostos teóricos da Teoria da Enunciação, da Teoria Comunicativa da Terminologia e da Socioterminologia. Com esse referencial acredita-se ser possível assegurar a efetiva comunicação entre os Sistemas de Recuperação de Informação e os usuários, sendo o bibliotecário o mediador do processo comunicativo que tem origem no autor do texto indexado. Buscou-se o suporte da Terminografia e da Lingüística de Corpus pela possibilidade de coletar, tratar e armazenar um grande volume de informações de uma determinada área do saber.