Ubiratam Carvalho de Paula Junior Rafaelli de Carvalho Coutinho
|
|
- Jerónimo Carreira
- 4 Há anos
- Visualizações:
Transcrição
1 Universidade Federal Fluminense Pólo Universitário de Rio das Ostras Faculdade Federal de Rio das Ostras Bacharelado em Ciência da Computação Ubiratam Carvalho de Paula Junior Rafaelli de Carvalho Coutinho Um Ambiente Interativo para a Visualização de Topologias de Redes Rio das Ostras-RJ 2009
2 ii UBIRATAM CARVALHO DE PAULA JUNIOR RAFAELLI DE CARVALHO COUTINHO UM AMBIENTE INTERATIVO PARA A VISUALIZAÇÃO DE TOPOLOGIAS DE REDES MÓVEIS Monografia apresentada ao Curso de Bacharelado em Ciência da Computação da Faculdade Federal de Rio das Ostras da Universidade Federal Fluminense, como requisito parcial para obtenção do Grau de Bacharel. Área de Concentração: Redes e Algoritmos Distribuídos. Orientador: Prof. Dr. CARLOS BAZILIO MARTINS Rio das Ostras-RJ 2009
3 iii UBIRATAM CARVALHO DE PAULA JUNIOR RAFAELLI DE CARVALHO COUTINHO UM AMBIENTE INTERATIVO PARA A VISUALIZAÇÃO DE TOPOLOGIAS DE REDES MÓVEIS Monografia apresentada ao Curso de Bacharelado em Ciência da Computação da Faculdade Federal de Rio das Ostras da Universidade Federal Fluminense, como requisito parcial para obtenção do Grau de Bacharel. Área de Concentração: Redes e Algoritmos Distribuídos. Aprovada em MÊS de BANCA EXAMINADORA Prof. Dr. CARLOS BAZILIO MARTINS - Orientador UFF Prof. NOME DO PROFESSOR INSTITUIÇÃO Prof. NOME DO PROFESSOR INSTITUIÇÃO Prof. NOME DO PROFESSOR INSTITUIÇÃO Rio das Ostras-RJ 2009
4 Espaço reservado para a dedicatória. iv
5 Agradecimentos v
6 Lista de Figuras 2.1 Arquitetura incrementada Diagrama ilustrando o modelo de referência de visualização da informação O simulador da ferramenta UPPAAL Janela do NAM (Network Animator) Interface gráfica do SPIN, o jspin B.1 Janela principal do TopVis B.2 Clique com o botão direito fora do grafo B.3 Clique com o botão direito em um nó B.4 Clique com o botão direito em uma aresta B.5 Uso da ação Everyone para envio em Broadcast a partir do nó B.6 Uso da ação Neighbours para envio aos vizinhos do nó B.7 Janela principal mais janela auxiliar da simulação vi
7 Lista de Tabelas vii
8 Sumário Agradecimentos Lista de Figuras Lista de Tabelas Resumo Abstract v vi vii x xi 1 Introdução Objetivo Motivação Organização Descrição do Ambiente Objetivo Principal prefuse LEP Características Implementação Detalhes da Implementação Problemas Encontrados Testes Realizados Trabalhos Relacionados UPPAAL ns jspin Trabalhos Futuros 12 6 Conclusão 13 viii
9 A Gramática em BNF de LEP 14 ix B Manual 18 B.1 Instalação B.2 Visão geral do TopVis B.3 Utilizando o TopVis B.3.1 Gerando a visualização da topologia B.3.2 Envios de mensagens em broadcast e para nós vizinhos B.3.3 Simulando uma especificação LEP Referências Bibliográficas 22
10 Resumo O processo usual de verificação formal de algoritmos distribuídos e protocolos, através de verificação de modelos [5], demanda normalmente um grande esforço por parte dos projetistas destes protocolos. Algumas justificativas para este esforço são: a complexidade inerente destes protocolos e algoritmos, a escassez de ferramentas de propósito específico e a pouca afinidade dos projetistas de protocolos com ferramentas de verificação formal. Com isso, a validação destes algoritmos usualmente é feita utilizando ferramentas de simulação, as quais são mais simples de se manusear, mas que não garantem formalmente os resultados obtidos. De forma a atenuar esta dificuldade no manuseio dessas ferramentas formais, neste projeto foi projetado um ambiente visual interativo, chamado TopVis, que servirá como interface para a arquitetura proposta em [1, 2], a qual permite a especificação e verificação formal de protocolos e algoritmos distribuídos. Este ambiente utiliza LEP como entrada, uma linguagem para especificação de protocolos similar a SDL [14], mas com construções com maior poder de expressão. A saída inicial será a visualização gráfica da topologia descrita na especificação LEP. Na especificação são utilizados recursos gráficos de forma a tornar mais amigável o processo de especificação e verificação formal e, também, os resultados obtidos. A dificuldade da primeira parte reside, não apenas na representação gráfica das topologias de rede, como também na dinâmica destas. A segunda parte apresenta como desafio retornar os resultados de uma verificação de forma tão abstrata quanto a linguagem de especificação das consultas para a verificação. O estágio atual da ferramenta permite a visualização da topologia e a simulação das ações presentes na especificação em LEP. Entretanto, uma vez que sejam feitas adequações nas partes intermediárias da arquitetura alvo [1], etapa que não estava no escopo deste trabalho, o resultado da verificação no nível do ambiente será facilmente recuperado, gerando as modificações necessárias na visualização da topologia. Além da importância deste ambiente para a manipulação da arquitetura de verificação formal, sua utilização também parece interessante em cursos voltados para a área de algoritmos distribuídos. Isto é justificado pois, além de servir como interface para a arquitetura citada, também possui uma ferramenta de simulação, a qual executa as ações presentes na especificação LEP ilustrando trocas de mensagens na visualização da topologia. Palavras-chave: Linguagem de especificação, Verificação Formal, Protocolos de Rede, LEP. x
11 Abstract The usual process of formal verification of distributed algorithms and protocols, through model checking [5], usually demand a great effort by the designers of these protocols. Some reasons for this effort are: the inherent complexity of these protocols and algorithms, the lack of tools for specific purpose and little affinity for designers of protocols with tools for formal verification. Therefore, the validation of these algorithms is usually done using simulation tools, which are easier to handle, but not formally guarantee the results. In order to alleviate this difficulty in handling these formal tools, in this project was designed a visual interactive environment, called TopVis to serve as an interface to the architecture proposed in [1, 2], which allows the formal specification and verification protocols and distributed algorithms. This environment uses LEP as input, a language for specifying protocols similar to SDL [14], but with a greater power of expression. The initial output will be viewing of the topology described in the specification LEP. The specification using graphical features are used in order to make the process more friendly for formal specification and verification, and also the results. In the specification, the difficulty lies not only on the graphical representation of the network topologies, but also on the dynamics of these. In the verification, the challenge is to return the results of the verification so abstract as the language for specification of queries for verification. The current stage of the tool allows the visualization of the topology and simulation of actions in the specification in LEP. However, once adjustments are made in parts of the intermediate target architecture [1], stage that wasn t in the scope of this work, the result of verification in the environment will be easily recovered, generating the necessary changes in the topology display. In addition to the importance of an environment for the manipulation of formal verification of architecture, its use seems also interesting in courses towards the area of distributed algorithms. This is justified because, besides serving as an interface to the architecture above, it also has a tool for simulation, which executes the actions specified in the LEP illustrating exchanges of messages in the visualization of topology. Keywords: Specification language, formal verification, network protocol, LEP. xi
12 Capítulo 1 Introdução 1.1 Objetivo 1.2 Motivação 1.3 Organização
13 Capítulo 2 Descrição do Ambiente 2.1 Objetivo Principal O objetivo principal do ambiente TopVis é prover uma ambiente interativo para a arquitetura de especificação e verificação formal de protocolos proposta em [1]. Esta arquitetura, agora incrementada com o ambiente, é ilustrada na figura 2.1. Figura 2.1: Arquitetura incrementada A figura 2.1 descreve o processo de verificação proposto em [1]. Inicialmente, é inserida no ambiente uma especificação em LEP (seção 2.3) que contém a descrição da topologia de rede para qual o protocolo é projetado, a especificação do protocolo e a especificação das propriedades a serem verificadas. O módulo LEP2CI, traduz esta especificação para um código intermediário. O código intermediário obtido é passado para algum dos módulos de conversão de forma que a associada ferramenta de verificação possa ser utilizada com o modelo convertido. Tem-se então o processo de verificação de modelos tradicional.
14 3 O resultado desta verificação é passado a outro módulo, que fará a interpretação do mesmo, gerando o código intermediário respectivo. Este, por sua vez, é processado para que a resposta seja dada em termos de LEP. Finalmente, a partir desta resposta em LEP, uma visualização é gerada no ambiente TopVis. O TopVis, além de ser uma interface projetada para o processo de especificação e verificação formal de protocolos, também possui uma ferramenta de simulação da especificação. Está ferramenta não verifica as propriedades, apenas realiza as ações de uma possível linha de execução da especificação. Estas ações são ilustradas na visualização da topologia. No ambiente TopVis, a biblioteca prefuse (seção 2.2) é usada para gerar, tanto a visualização gráfica da topologia utilizada, quanto o resultado da simulação da especificação em LEP. 2.2 prefuse O prefuse [7] é uma biblioteca para construção de aplicações de visualização de informação interativa. Ela foi escrita na linguagem Java, usando a biblioteca gráfica Java 2D, e é facilmente integrado em aplicações Java Swing ou em applets web. Está licenciado sob os termos de uma licença BSD, e pode ser livremente utilizado tanto para propósitos comerciais como não-comerciais. O prefuse tem a intenção de simplificar os processos de representação e manipulação eficiente de dados, mapeando dados para representações visuais (por exemplo, através da posição espacial, tamanho, forma, cor, etc), e permitindo a manipulação direta dos dados visualizados. O seu design se baseia no modelo de referência de visualização da informação, um padrão de arquitetura de software que divide a visualização do processo em uma série de passos discretos, a partir da aquisição de dados e da modelagem para a codificação visual de dados para a apresentação de displays interativos. Este processo é ilustrado na figura 2.2. Figura 2.2: Diagrama ilustrando o modelo de referência de visualização da informação Na figura 2.2, dados fontes são mapeados em tabelas de dados. Estas tabelas de dados são então utilizadas para construir uma abstração visual de dados, modelando propriedades visuais como posição, cor e geometria. A abstração visual é então usada para criar visualizações interativas, com a interação do usuário potencialmente afetando em mudanças em qualquer nível da estrutura. Por exemplo, um arquivo xml contendo as informações de um grafo pode ser utilizado para preencher as tabelas de dados. Como se trata de um grafo, são preenchidas duas tabelas. A primeira é referente ao nós do grafo, onde cada linha representa um nó, e cada coluna representa as informações do nó, como nome e tipo. A segunda tabela é referente às arestas do grafo, onde cada linha representa uma aresta, e cada coluna contém, além dos identificadores dos nós que a compõem, informações como tipo
15 4 e nome. Tendo estas tabelas preenchidas, é criada uma abstração visual para o grafo. Nesta abstração visual são definidos a geometria e as cores dos nós e arestas, além de como estes componentes irão se comportrar. Após criada a abstração visual, são definidos mecanismos de interação. Estes mecanismos podem ser ações de movimentação do grafo e de zoom. 2.3 LEP LEP (Linguagem de Especificação de Protocolos) [1, 2] é uma linguagem de domínio específico para especificação de protocolos e algoritmos distribuídos. Ela é similar a SDL [14], mas com construções, chamadas pronomes, as quais possuem maior poder de expressão. Pronomes podem ser vistos como uma forma geral e uniforme de referenciarmos um conjunto de elementos (nós de uma rede), tornando a especificação mais compacta, legível e precisa. Um exemplo de pronome chama-se everyone, o qual pode ser utilizado para o envio de uma mensagem broadcast. Uma especificação em LEP pode ser dividida em três partes: a primeira trata da definição da topologia sobre a qual a especificação será baseada; a segunda refere-se à especificação da interação dos elementos da rede, ou seja, a essência do protocolo, e; a terceira refere-se à linguagem de especificação de propriedades a serem verificadas. Na parte referente à topologia, podemos especificar tanto topologias para redes móveis ad hoc quanto para redes estruturadas. As topologias inicialmente previstas em LEP são: Star (topologia em estrela), Ring (topologia em anel), Sequence (topologia em seqüência), Complete (topologia totalmente conectada), Arbitrary (topologia gerada aleatoriamente). Além destas, neste trabalho também foram adicionadas as topologias Mobile (topologia estruturada para estações base e móveis), Bus (topologia em barramento), Tree (topologia em árvore) e Mesh (topologia para redes em malha). Cada tipo de topologia possui parâmetros específicos. Código 1 : Exemplo de especificação LEP 01 topology is star(commander:1; soldier: 6); 02 module Commander 03 init-> everyone!agree; 04 this?yes(any(3)) -> everyone!consensus; 05 this?no -> everyone!cancel; 06 endmodule 07 module Soldier 08 this?agree -> sender!yes; 09 this?agree -> sender!no; 10 this?consensus -> 11 this?cancel -> 12 endmodule No código 1 é mostrado um exemplo de especificação LEP sem a terceira parte, a qual se refere à especificação de propriedades a serem verificadas formalmente.
16 5 Neste código, a linha 1 (referente a primeira parte de LEP) indica a topologia estrela, onde o nó central é denominado commander e os demais denominados soldier, totalizando 7 (sete) elementos. Na linha 2, começa o primeiro módulo, nomeado commander, o qual possui como ação inicial o envio da mensagem agree em broadcast (linha 3). Depois, o nó que executa este módulo fica esperando o recebimento de mensagens. Caso receba 3 (três) mensagens yes, ele enviará novamente em broadcast a mensagem consensus (linha 4). Caso receba mensagens no, ele enviará em broadcast a mensagem cancel (linha 4). O segundo módulo, nomeado soldier, começa na linha 7, e todos os nós que o executam (6 (seis) neste exemplo), ao receberem a mensagem agree, enviam, não-deterministicamente, mensagens yes ou no ao remetente (linhas 8 e 9). Se estes receberem mensagens cancel ou consensus não executam ação alguma (linhas 10 e 11). O módulo termina na linha 12. Para que a ferramenta de simulação do TopVis fosse capaz de simular este código, foram discutidos e resolvidos alguns problemas conceituais sobre a funcionalidade deste protocolo, os quais são abordados na seção 3.2. Neste exemplo de código, é possível observar algumas características de LEP. Primeira, na especificação, a descrição geral do comportamento de um nó é feita independentemente de sua quantidade na topologia. Segunda, pode-se ter especificações incompletas, como mostrado nas linhas 10 e 11 do código 1. Terceira, o uso do pronome any para análise de histórico das mensagens recebidas, assim, a pré-condição só será satisfeita quando o nó receber a quantidade de mensagens indicada no parâmetro do pronome any. 2.4 Características O ambiente proposto, TopVis, foi implementado na linguagem Java e utiliza a biblioteca prefuse. Sua entrada é uma especificação escrita em LEP. Este ambiente consiste de uma janela principal que possui uma área para a visualização da topologia e do resultado da simulação (e futuramente o da verificação) e 3 (três) áreas para entrada da especificação LEP (uma para cada parte). No ambiente é possível gerar a visualização da topologia e executar a simulação descritas na especificação LEP. Entretanto, para executar a simulação é necessário antes ter sido gerada a visualização da topologia. Também existe a opção de realizar ações de envios em broadcast e para os nós vizinhos utilizando o menu actions. As topologias, tanto as previstas em LEP quanto as que foram disponibilizadas, foram criadas modularmente, permitindo sua reutilização para criação de possíveis novas topologias. Por exemplo, ao ser disponibilizada a topologia mobile, foram utilizadas as topologias já existentes (previstas em LEP) Ring, para as torres (estações base), e Star para os celulares (estações móveis). O TopVis, além de exibir a visualização da topologia, permite que esta seja modificada pelo usuário da seguinte forma: inserindo novos nós (componentes da rede), arestas (ligação entre componentes da rede), nós filhos, reconectando nós existentes, removendo ou renomeando nós e alterando a cor das arestas. Neste ambiente também é possível realizar operações de zoom e pan, as quais são operações
17 6 padrão de manipulação deste tipo de estrutura, como descrito em [8]. As topologias aceitas pelo ambiente utilizam um modelo de mobilidade (layout de apresentação definido na biblioteca prefuse) que se baseia na simulação física de forças de interação. Neste modelo, os nós se repelem, as arestas funcionam como molas e o arraste de nós simula a resistência do ar. De forma a tornar mais realística a visualização das topologias, é proposto como trabalho futuro a implementação de novos modelos mobilidade [4], os quais poderão ser disponibilizados como extensões da biblioteca.
18 Capítulo 3 Implementação 3.1 Detalhes da Implementação 3.2 Problemas Encontrados 3.3 Testes Realizados
19 Capítulo 4 Trabalhos Relacionados Existem diversas ferramentas de visualização de topologias para redes, tanto redes móveis quanto estruturadas [15, 6]. Entretanto, a maioria destas está voltada apenas para ambientes de simulação. Como o processo de verificação formal de modelos demanda apenas uma quantidade representativa de informação para validação de propriedades [1], serão discutidos os ambientes de visualização voltados para a verificação formal (UPPAAL e jspin) e apenas um ambiente de simulação (ns-2 ). 4.1 UPPAAL A ferramenta UPPAAL [3] é um verificador formal para sistemas de tempo-real, o qual pode ser utilizado para criação de modelos como rede de autômatos temporizados. Esta ferramenta possui 3 (três) partes principais: uma linguagem de descrição, um simulador e um verificador de modelo. Figura 4.1: O simulador da ferramenta UPPAAL. A linguagem de descrição é uma linguagem não-determinística de comando guardado com variáveis de relógio de valor real e tipo simples de dados. Esta serve como linguagem modelo ou projeto para descrever o comportamento do sistema de rede de autômatos estendido com relógio e variáveis de dados. Basicamente, consiste em um autômato finito temporizado. O simulador é uma ferramenta de validação,
20 9 a qual permite a examinação de execuções possivelmente dinâmicas de um sistema durante os estágios iniciais do projeto (ou modelagem). O verificador de modelos é utilizado para verificar propriedades invariantes explorando o espaço de estados possíveis. O TopVis é similar a esta ferramenta em 2 (dois) aspectos principais. Primeiro, utilizam uma linguagem para descrever o comportamento dos componentes da rede. UPPAAL utiliza autômatos finitos temporizados, enquanto que o TopVis utiliza LEP, a qual possui nível de abstração maior, o que simplifica o processo de simulação e, futuramente, de verificação. Segundo, ambos possuem ferramenta de simulação. Entretanto, TopVis e UPPAAL se diferem também em 2 (dois) aspectos. Primeiro, a topologia da rede representada por um grafo é gerada a partir de um código LEP no TopVis. Já na ferramenta UPPAAL, é necessário construir um autômato finito correspondente à topologia desejada. Segundo, o TopVis não possui verificador de modelos. Este servirá com interface gráfica (frontend) para a arquitetura de verificação formal citada em [1]. Já a ferramenta UPPAAL possui um verificador de modelos próprio. 4.2 ns-2 O ns-2 [11] (Network Simulator) é uma simulador baseado em eventos discretos direcionado para a pesquisa de redes de computadores. É orientado a objetos e escrito em C++ com um interpretador OTcl [12] (extensão orientada a objetos do Tcl - Tool Command Language) como frontend. Fornece suporte para simulação de TCP, roteamento e protocolos multicast sobre redes wired e wireless (local e satélite). Implementa filas de roteamento e abordagens para QoS. Possui uma ferramenta de animação, o NAM [10] (Network Animator), uma ferramenta de plotagem, o xgraph, e utiliza arquivo de trace, onde são armazenados resultados de cada evento da simulação. Figura 4.2: Janela do NAM (Network Animator). O processo de simulação é composto por 3 (três) partes. A primeira compreende a elaboração de um arquivo script em OTcl, no qual contém a criação do simulador, a abertura de arquivos de trace, a definição da topologia da rede, a geração do tráfego da rede, a programação dos escalonadores e timers, e o fechamento da simulação e animação. A segunda parte consiste na execução desse script, o que gera os arquivos de trace. E a terceira é a parte após a conclusão da simulação, em que se pode imprimir estatísticas, visualizar eventos utilizando o NAM e analisar arquivos de trace.
21 10 O TopVis é similar a este simulador em 3 (três) aspectos. Primeiro, ambos utilizam uma linguagem de entrada para definir os componentes da simulação. No caso de ns-2, um script em OTcl é utilizado para, dentre outras configurações do simulador (citadas acima), definir a topologia da rede. Segundo, possuem animação da simulação. O ns-2 utiliza o NAM, e o TopVis a própria visualização da topologia, que utiliza a biblioteca prefuse [7]. Terceiro, utilizam arquivo de trace, onde é armazenado as informações e etapas da simulação. Entretando, o ns-2 se difere do TopVis em 1 (um) aspecto principal. Como o ns-2 é um simulador de redes, este possui propriedades e configuração mais específicas para simular uma rede de comunicação real, como largura de banda dos enlaces e filas de roteamentos. Já o TopVis, utiliza a visualização do grafo apenas para ilustrar a topologia utilizada e envio/recebimento de mensagens, sem considerar características específicas dos nós, enlaces e roteadores. Além disso, este último servira como interface para uma arquitetura de especificação e verificação formal. 4.3 jspin O SPIN [9] é uma ferramenta para análise de consistência de sistemas concorrentes (em particular protocolos de comunicação de dados) que são especificados usando a linguagem Promela [13] (Process Meta Language). Ou seja, não há visualização gráfica da topologia de entrada. A sua saída, no caso de erro, são contra-exemplos apresentados como diagramas de sequência de mensagens (MSC - Message Sequence Charts). Entretanto, a quantidade de informação pouco abstrata presente nos contra-exemplos (por consequência da linguagem de entrada Promela) dificulta o entendimento destes. Figura 4.3: Interface gráfica do SPIN, o jspin. O jspin é uma interface gráfica de usuário para o verificador de modelo SPIN. Este foi escrito na linguagem de programação Java para permitir a portabilidade. A interface do usuário de jspin é simples, consistindo de uma única janela com menus, uma barra de ferramentas e três áreas de texto ajustáveis. O TopVis é similar a esta ferramenta em 2 (dois) aspectos principais. Primeiro, ambos utilizam uma linguagem para definir a topologia e código a ser simulado. No entanto, no TopVis é possível
22 11 gerar a visualização da topologia a partir da linguagem, no caso, LEP. Segundo, possuem ferramenta de simulação. Entretanto, o TopVis difere do jspin, pois não possui verificador de modelo. Inclusive, o objetivo deste ambiente é ser um interface para a arquitetura de especificação e verificação proposta em [1], onde, no baixo-nível, é possivel usar o SPIN como ferramenta de verificação.
23 Capítulo 5 Trabalhos Futuros Como trabalhos futuros, têm-se: adequação dos módulos intermediários da arquitetura incrementada (figura 2.1), adição da opção de simulação guiada, melhorar o desempenho da simulação e implementar novos modelos de mobilidade. Para que a arquitetura incrementada (figura 2.1) funcione integralmente, são necessárias adequações em seus módulos intermediários. Estes módulos são responsáveis pela tradução de LEP para CI (código intermediário), e de CI para a linguagem de entrada do verificador (por exemplo, Promela [13] para o SPIN [9]). Uma vez que estas adequações sejam realizadas, o resultado do verificador será facilmente recuperado ao nível do ambiente TopVis. Lembrando que este resultado será um contra-exemplo, caso a propriedade a ser verificada seja falsa, ou apenas uma mensagem de que a propriedade é verdadeira. Atualmente, a simulação realizada no TopVis é feita sem nenhuma interação com o usuário. Isto é, quando a simulação é iniciada, este não pode controlar a ordem com que as ações são simuladas, nem mesmo escolher a ação a ser simulada quando existe um não-determinismo (por exemplo, quando o recebimento de uma mesma mensagem gera duas ou mais ações possíveis), que é feita de forma aleatória. Para aumentar esta interatividade, será disponibilizada a opção de simulação guiada. Esta, basicamente, consiste em, a cada etapa da simulação, mostrar que ações podem ser realizadas. Assim, o usuário pode decidir a ordem de execução das ações, bem como escolher a ação desejada quando existir nãodeterminismo. Possibilitando a observação de casos específicos de interesse do mesmo. O ambiente TopVis utiliza threads para realizar a simulação da especificação em LEP. É criada uma thread para cada nó da topologia definida. Com isso, cada thread executa as ações do módulo do nó que esta representa. Assim, os envios/recebimentos de mensagens são refletidos com troca de mensagens entre as threads. No caso, estas trocas de mensagens são feitas através de variáveis compartilhadas, e assim, fazendo-se necessário o uso de exclusão mútua. Então, como um outro trabalho futuro, será realizado um estudo sobre possíveis otimizações nesta ferramenta de simulação. No TopVis, a visualização da topologia utiliza o modelo de mobilidade padrão do prefuse (conforme mencionado na seção 2.4). A fim de tornar mais realística esta visualização, como trabalho futuro, é proposto a implementação de novos modelos de mobilidade, os quais serão disponibilizados como extensões da biblioteca.
24 Capítulo 6 Conclusão
25 Apêndice A Gramática em BNF de LEP Definição de lista de elementos LIST(X) ::= X, LIST(X) X Espec ::= <Top> { <Mod> } + { <Prop> } Especificação da topologia Top ::= topology is <Topologia> ; Topologia ::= <TopSimples> <TopDuplo> <TopVariavel> TopSimples ::= <TipoTopSimples> ( <Id> : <Num> ) TipoTopSimples ::= ring sequence arbitrary bus mesh TopDuplo ::= <TipoTopDuplo> ( <Id> : <Num> ; <Id> : <Num> ) 14
26 15 TipoTopDuplo ::= star tree TopVariavel ::= mobile ( <ParamTopVar> ) ParamTopVar::= <Id> : <Num> ; <ParamTopVar> <Id> : <Num> Especificação dos módulos Mod ::= module <Id> [<Locals>] { <Trans> } + endmodule Locals ::= { <Tipo> LIST(<Id>) } Tipo ::= int bool <Id> <Tipo> # <Tipo> seq: <Tipo> set: <Tipo> ( <Tipo> ) Trans ::= <Pre-Cond> -> { <Acao> } Pre-Cond ::= <Recebimento> <Bool-Expr> init true default Recebimento ::= <Ident>? <Id> ( { LIST(<Id>) } ) Ident ::= <Id> [ [ (<Id> <Num>) ] ] [ # <Num>] [. (<ComandosSet> <ComandosSeq>)] <PronomeColetivo> [. (<ComandosSet> <ComandosSeq>)] <Pronome> [ ( (<Num> <Id> <Pronome>) ) ]
27 16 ComandosSet ::= add ( <Ident> ) remove ( <Ident> ) contains ( <Ident> ) clean empty size ComandosSeq ::= next previous first last range ( <Ident>, <Ident> ) <ComandosSet> Pronome ::= this any anyother sender none <PronomeColetivo> PronomeColetivo ::= everyone neighbours Acao ::= <Atrib> <Envio> ; <If> <While> <Executa> <Termina> <Trans> <Ident> ;
28 17 Atrib ::= <Ident> = <Expr> ; <Ident> = <Executa> ; Envio ::= <Ident>! <Id> [ ( LIST(<Expr>) ) ] If ::= if <Bool-Expr> then { <Acao> } [ else { <Acao> } ] endif While ::= while <Bool-Expr> do { <Acao> } endwhile Executa ::= start <Ident> ; Termina ::= stop [ <Pronome> ] ; Expr ::= <Bool-Expr> <Int-Expr> { LIST(<Expr>) } <Ident> Bool-Expr ::= ( <Comp-Expr> <Oper-Bool> <Bool-Expr> ) <Comp-Expr> Comp-Expr ::= ( not <Bool-Expr> ) ( <Int-Expr> <Oper-Comp> <Int-Expr> ) ( <Ident> ) ( <Ident>. <Ident> ) Oper-Bool ::= and or Int-Expr ::= ( <Id> <Num> ) <Oper-Int> <Int-Expr> ( <Id> <Num> ) Oper-Int ::= + - * / Oper-Comp ::= == <> > < >= <= Id ::= { <Idm>, <IdM> } + Idm ::= { a,.., z } IdM ::= { A,.., Z } Num ::= { 0,.., 9 } + Especificação das propriedades Prop ::= <Quantif> <Prop> <Sub-Formula> [<Oper-Prop> <Prop>] ( <Prop> ) Sub-Formula ::= <Bool-Expr> <Recebimento> <Envio> <Id> $ <Ident> $ Quantif ::= eventually always Oper-Prop ::= implies strong until weak until
29 Apêndice B Manual Neste apêndice será explicado como o ambiente TopVis é instalado e utilizado com todas ou apenas uma parte de suas funcionalidades. B.1 Instalação Os passos para realizar a instalação do TopVis são: Windows (qualquer versão) 1. Faça o download do TopVis no site: 2. Execute o arquivo para realizar a extração. Selecione a pasta desejada para a qual serão extraídos os arquivos e pastas necessários. 3. Clique no arquivo TopVis.jar. Linux (qualquer distribuição) 1. Faça o download do TopVis no site: 2. Faça a extração do arquivo para uma pasta desejada. 3. Execute o arquivo TopVis.jar como aplicativo Java. Ou então, no terminal, na pasta onde foram extraídos os arquivos, execute o comando: java - jar TopVis.jar. B.2 Visão geral do TopVis O ambiente TopVis consiste de uma janela principal, como mostra a figura B.1. Esta janela possui: uma área para visualização da topologia (1), 3 (três) áreas de texto para entrada da especificação em LEP (2) e um combobox para as topologias recentemente usadas (3). Além de botões para: gerar a visualização da topologia (4), verificar a corretude da sintaxe (5), iniciar a simulação (6), e futuramente verificar a propriedade (7). 18
30 19 Figura B.1: Janela principal do TopVis A janela do TopVis também possui, além dos menus tradicionais (File, Edit e About) (8), o menu Actions (9). Este último realiza ações de envio de mensagens em broadcast ou para os vizinhos neighbours simuladas na vizualização da topologia. B.3 Utilizando o TopVis O TopVis pode ser utilizado de 3 (três) formar: apenas para gerar a visualização da topologia, para demonstrar envios de mensagens em broadcast e para nós vizinhos, e para simular uma especificação em LEP. Futuramente, o TopVis também poderá ser utilizado com interface para a arquitetura de especificação e verificação formal proposta em [1]. B.3.1 Gerando a visualização da topologia Para gerar a visualização da topologia, é preciso escrever a parte da especificação LEP, a qual trata da definição da topologia sobre a qual a especificação será baseada, na área de texto Topology. Após isto, basta clicar o botão de play. Se a sintaxe estiver correta (conforme a gramática da linguagem), a visualização será gerada. Caso contrário, uma mensagem de erro será exibida. É possível interagir com a visualização gerada de 3 (três) formas: Clicando com o botão direito do mouse em cima de um nó (central ou periférico, para o exemplo ilustrado) tem-se as opções de remoção do nó, inserção de um nó filho, renomeação, inserção de aresta, e reconexão a outro nó, conforme mostrado na figura B.3. Clicando com o botão direito fora do grafo tem-se a opção de inserção de um novo nó, conforme mostrado na figura B.2.
31 Clicando com o botão direito em qualquer aresta tem-se a opção mudar sua cor, conforme mostrado na figura B Figura B.2: Clique com o botão direito fora do grafo Figura B.3: Clique com o botão direito em um nó Figura B.4: Clique com o botão direito em uma aresta B.3.2 Envios de mensagens em broadcast e para nós vizinhos Uma vez que a visualização da topologia foi gerada, é possível realizar envios de mensagens em broadcast (figura B.5) e para os nós vizinhos (figura B.6). Para isto, é necessário usar as opções Broadcast e Neighbours do menu actions. Tendo sido escolhida uma das duas opções, uma janela será exibida para a entrada do nó do grafo que iniciará o envio. B.3.3 Simulando uma especificação LEP Para realizar uma simulação de uma especificação em LEP, é necessário que toda a especificação esteja escrita ou carregada de um arquivo nas áreas de texto do ambiente. Feito isto, a visualização da topologia deve ser gerada para, então, iniciar a simulação da especificação (clicando no botão Load Simulation). Uma nova janela é exibida (ver figura B.7), contendo as etapas da simulação, mostrando a mensagem e a
32 21 Figura B.5: Broadcast a partir do nó 0 Uso da ação Everyone para envio em Figura B.6: Uso da ação Neighbours para envio aos vizinhos do nó 14 linha da especificação em questão. A visualização da simulação inicia-se com o botão Start, e cada passo é avançado com o botão Next. Por fim, esta é encerrada com o botão End, fechando esta janela auxiliar. A fim de facilitar a escrita da especificação, o usuário pode utilizar o botão Check Sintax para verificar a corretude da sintaxe antes de iniciar a simulação. Este recurso pode ser utilizado sem que a visualização da topologia seja gerada. Figura B.7: Janela principal mais janela auxiliar da simulação
33 Referências Bibliográficas [1] C. Bazilio. Análise formal de protocolos e algoritimos distribuídos : uma abordagem baseada em linguagem; orientador: Edward hermann haeusler, Tese (Doutorado em Informática) - Pontifícia Universidade Católica do Rio de Janeiro, Rio de Janeiro, [2] C. Bazilio, E. H. Haeusler, and M. Endler. Language-oriented formal analysis: a case study on protocols and distributed systems. Electr. Notes Theor. Comput. Sci., 184: , [3] J. Bengtsson, K. G. Larsen, F. Larsson, P. Pettersson, and W. Yi. UPPAAL - a tool suite for automatic verification of real-time systems. In Hybrid Systems, páginas , [4] T. Camp, J. Boleng, and V. Davies. A survey of mobility models for ad hoc network research. Wireless Communications & Mobile Computing (WCMC): Special issue on Mobile Ad Hoc Networking: Research, Trends and Applications, 2(5): , [5] E. M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, [6] K. Fall. Network emulation in the VINT/NS simulator. In Proceedings of the fourth IEEE Symposium on Computers and Communications, [7] J. Heer, S. K. Card, and J. A. Landay. prefuse: a toolkit for interactive information visualization. In CHI 05: Proceedings of the SIGCHI conference on Human factors in computing systems, páginas , New York, NY, USA, ACM. [8] I. Herman, G. Melançon, and M. S. Marshall. Graph visualization and navigation in information visualization: A survey. IEEE Transactions on Visualization and Computer Graphics, 6(1):24 43, [9] G. J. Holzmann. The model checker spin. IEEE Trans. Softw. Eng., 23(5): , [10] NAM. Network animator. [Online], Disponível: [Acessado em ]. [11] ns-2. The network simulator - ns-2. [Online], Disponível: [Acessado em ]. [12] OTcl. Object tool command language. [Online], Disponível: [Acessado em ]. [13] C. Weise. An incremental formal semantics for promela, [14] Z.100. Specification and description language, Z.100 ITU-T Recommendation - Status: in force (08/02). [15] X. Zeng, R. Bagrodia, and M. Gerla. Glomosim: A library for parallel simulation of large-scale wireless networks. In Workshop on Parallel and Distributed Simulation, páginas ,
Ubiratam Carvalho de Paula Junior Rafaelli de Carvalho Coutinho
Universidade Federal Fluminense Pólo Universitário de Rio das Ostras Faculdade Federal de Rio das Ostras Bacharelado em Ciência da Computação Ubiratam Carvalho de Paula Junior Rafaelli de Carvalho Coutinho
Leia maisIntrodução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Leia mais5 Discussão sobre Otimização dos Modelos
5 Discussão sobre Otimização dos Modelos Um dos problemas enfrentados pela verificação de modelos é a explosão de estados. Na literatura encontramos diversas técnicas como avaliação parcial, abstração
Leia maisDepartamento de Engenharia Elétrica e de Computação EESC-USP. Guia de Projetos VHDL utilizando o QUARTUIS II. Profa. Luiza Maria Romeiro Codá
Departamento de Engenharia Elétrica e de Computação EESC-USP Guia de Projetos VHDL utilizando o QUARTUIS II Profa. Luiza Maria Romeiro Codá 1. Criando um novo projeto: 1.1 Iniciando o Quartus II, criando
Leia maisManual de instalação, configuração e utilização do Enviador XML
Manual de instalação, configuração e utilização do Enviador XML 1 Manual de instalação, configuração e utilização do Enviador XML 1. Conceitos e termos importantes XML Empresarial: é um sistema web (roda
Leia maisProjeto de Compiladores
Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira 12 e 13 de fevereiro de 2007 Questionário 1. Em quais linguagens de programação você já programou? 2. O que você sabe sobre compiladores?
Leia maisII Workshop do Grupo de Pesquisa em Prototipagem Rápida de Soluções para Comunicação (GppCom)
II Workshop do Grupo de Pesquisa em Prototipagem Rápida de Soluções para Comunicação (GppCom) Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Comunicação (DCO) Network Simulator
Leia maisLinguagens de Programação. Trabalhos. Carlos Bazilio
Linguagens de Programação Trabalhos Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Exercício 1 Para a linguagem escolhida, faça uma apresentação sucinta (vídeo-aula) contendo:
Leia maisFERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS
FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS Acadêmico: Roger Anderson Schmidt Orientador : Marcel Hugo Supervisor : Ricardo de Freitas Becker Empresa
Leia maisPasso-a-passo para desenvolver um Programa usando a Linguagem Python
Cursos: Engenharia de Produção / Tecnólogo em Gestão da Qualidade Disciplina: Informática Professora: Flávia Pereira de Carvalho Passo-a-passo para desenvolver um Programa usando a Linguagem Python 1)
Leia maisUm Algoritmo de Diagnóstico Distribuído para Redes de Topologia Dinâmica
Um Algoritmo de Diagnóstico Distribuído para Redes de Topologia Dinâmica Leandro Pacheco de Sousa 1 Instituto de Informática Universidade Federal do Paraná (UFPR) Curitiba PR Brasil leandrops@inf.ufpr.br
Leia maisPrimeiro Trabalho de Sistemas Digitais
Primeiro Trabalho de Sistemas Digitais 1 Introdução O objetivo deste trabalho é criar um divisor de frequência simples em linguagem VHDL comportamental e simular o projeto no software ISE. 2 Planejamento
Leia maisManual de Compilação/Execução da Aplicação SmartHome
Manual de Compilação/Execução da Aplicação SmartHome 1. Pré-Requisitos de Instalação 2. Passos para Executar a Aplicação 3. Instruções de Uso das Funcionalidades 4. Observações 1. Pré-Requisitos de Instalação
Leia maisUniversidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Lógica Programável INE 5348 Aula 1-P Formas de implementação
Leia maisCiclo de vida: fases x atividades
Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação
Leia maisIntrodução ao IDE Netbeans (Programação Java)
Universidade Federal do ABC Disciplina: Processamento da Informação (BC-05045) Assunto: Introdução ao IDE Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas
Leia maisAmbiente Virtual de Aprendizagem (AVA)
Ambiente Virtual de Aprendizagem (AVA) Ultimamente o ensino a distância tem ganhado grande destaque em todo pais, por proporcionar capacitação a pessoas que não tem acesso ao ensino presencial. Esta proposta
Leia maisDISTRIBUINDO SUA APLICAÇÃO
DISTRIBUINDO SUA APLICAÇÃO Depois de pronta sua aplicação precisa ser distribuida para todos que querem ou precisam usá-la. Para usar a sua aplicação, o único requisito para o computador do cliente é que
Leia mais3 Processo de Teste. 3.1.Visão Geral do Processo
3 Processo de Teste Nesse capítulo será apresentado um processo de teste que foi desenvolvido para que diminua o retrabalho e o esforço gasto no processo de teste tradicional. Inicialmente é mostrada uma
Leia maisFerramenta: Spider-CoCoMo
Ferramenta: Spider-CoCoMo Manual do Usuário Versão da Ferramenta: 1.0 www.spider.ufpa.br Histórico de Revisões Data Versão Descrição Autor 05/11/2010 0.1 Elaboração do Kleverton Oliveira documento 05/02/2011
Leia maisLABORATÓRIO PROMELA XSPIN. André Chaves Mendes Fabrício Jorge Lopes Ribeiro Raphael Melo Guedes Profº: Aloysio de Castro Pinto Pedroza
LABORATÓRIO PROMELA XSPIN André Chaves Mendes Fabrício Jorge Lopes Ribeiro Raphael Melo Guedes Profº: Aloysio de Castro Pinto Pedroza INDICE Laboratório 1 Instalação Xspin Obtenção dos arquivos Verificação
Leia maisLinguagens de Programação. Trabalhos. Carlos Bazilio
Linguagens de Programação Trabalhos Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Exercício 1 Para a linguagem escolhida, faça uma apresentação sucinta contendo: Histórico Principais
Leia maisOpen Day Bibliotecas ElipseX
Open Day Bibliotecas ElipseX Sumário 1 Introdução... 3 1.1 Pré-Requisitos... 3 1.2 Objetivos... 3 2 Bibliotecas ElipseX... 4 3 Aplicação... 5 3.1 Exercícios... 5 4 XControl... 7 4.1 Exercícios... 8 5 XObject...
Leia maisLaboratório 1-05/07/2018
Universidade Federal do ABC Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas Curso de Engenharia de Informação. ESTI020-18 - Teoria de Filas e Análise de Desempenho 2 o Quadrimestre de 2018
Leia maisINTRODUÇÃO AO SIMUL8
INTRODUÇÃO AO SIMUL8 Prof. Dr. Rui Carlos Botter SOFTWARE PARA SIMULAÇÃO DISCRETA Março de 2015 Procure em todos os programas o SIMUL e abra o software A versão estudantil é mais restrita, mas permitirá
Leia maisSOLIDWORKS FloXpress, um dos produtos SOLIDWORKS Express que fazem parte de todas as versões do SOLIDWORKS.
SOLIDWORKS FloXpress, um dos produtos SOLIDWORKS Express que fazem parte de todas as versões do SOLIDWORKS. A ideia principal do FloXpress é calcular a dinâmica dos fluidos que passam através dos modelos
Leia maisIntrodução VHDL Parte 4 - Testbench
Introdução VHDL Parte 4 - Testbench Prof. Mário Luiz Rodrigues mario.luiz@ifmg.edu.br Prof. Otávio Gomes otavio.gomes@ifmg.edu.br 1 library IEEE; use IEEE.std_logic_1164.all; entity portae is port( a:
Leia maisMetamodelos para Banco de Dados. Carlos Julian Menezes Araújo Prof. Dr. Robson do Nascimento Fidalgo
Metamodelos para Banco de Dados Carlos Julian Menezes Araújo cjma@cin.ufpe.br Prof. Dr. Robson do Nascimento Fidalgo 1 Agenda Metadados MDA MOF Metamodelos CWM Pacote Relacional Referências 2 Metadados
Leia maisIntrodução à Simulação em VHDL. Ney Laert Vilar Calazans
Introdução à Simulação em VHDL Ney Laert Vilar Calazans 06/março/2010 Descrição Completa do Somador library IEEE; use IEEE.Std_Logic_1164.all; entity halfadd is port (A, B: in std_logic; Sum, Carry: out
Leia maisDESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS
DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS Aluno: Marcos Paulo Moraes Orientador: André Silva Pimentel Introdução A nanotecnologia está associada a diversas áreas de pesquisa
Leia maisLaboratório 01 NetBeans
Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof. Renato Pimentel Atividade individual. Laboratório 01 NetBeans 1 Introdução Os
Leia maisTUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER utilizando o Eclipse Galileo Modelling Tools
TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER utilizando o Eclipse Galileo Modelling Tools Desenvolvido por: Manuele Ferreira e Daniela Claro Requisitos do ambiente Seguem abaixo os requisitos do ambiente.
Leia maisVIVADO TUTORIAL 101: CADEADO DIGITAL
VIVADO TUTORIAL 101: CADEADO DIGITAL VERSÃO 1.0 - SISTEMAS DIGITAIS - Este tutorial inclui notas adicionais na margem esquerda da página (do tipo G(X.X)). Estas notas referram-se ao(s) passo(s) X.X do
Leia maisInformática I. Aula 9. Aula 9-17/05/2006 1
Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-17/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisRoteiro. Introdução. Introdução. Introdução. Introdução 21/11/2009. MANET Simulation Studies: The Current State and New Simulation Tools
MANET Simulation Studies: The Current State and New Simulation Tools Apresentação do Artigo de: Stuart Kurkowski Tracy Camp Michael Colagrosso Roteiro Simulação com credibilidade Análise dos artigos (Papers
Leia maisTutorial Moodle. Acesso. Página Inicial Preencher perfil. Enviar Mensagem. Recursos. Atividades. Moodle
Tutorial MOODLE Tutorial Moodle Página Inicial Preencher perfil Enviar Mensagem Acesso Moodle Recursos Atividades Moodle Moodle é um sistema de administração de atividades educacionais destinado à criação
Leia maisCurso online de Fundamentos em Android. Plano de Estudo
Curso online de Fundamentos em Android Plano de Estudo Descrição do programa A Certificação Android ensina como usar as ferramentas necessárias para projetar e implantar aplicativos Android para dispositivos
Leia maisFigura 16 Niagara - Visão de grupos de notas.
Conclusão 6 Conclusão 6.1 Trabalhos Relacionados Dentre as funcionalidades fornecidas pela interface gerada pelo framework, em destaque está a possibilidade do zoom livre. Disponibilizar esta funcionalidade
Leia maisManual do Aplicativo de Configuração
Manual do Aplicativo de Configuração INTRODUÇÃO Este manual visa explicar a utilização do software embarcado do equipamento Primme Super Fácil Ponto. De fácil utilização e com suporte a todos os navegadores
Leia maisTUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER 3.0 utilizando o Eclipse Galileo Modelling Tools
TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER 3.0 utilizando o Eclipse Galileo Modelling Tools Desenvolvido por: Manuele Ferreira, Fabrício Alves e Daniela Claro Requisitos do ambiente Seguem abaixo os
Leia maisDavi Romero de Vasconcelos. Análise de Estratégias Utilizando Verificação Formal de Modelos. Dissertação de Mestrado
Davi Romero de Vasconcelos Análise de Estratégias Utilizando Verificação Formal de Modelos Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa
Leia mais2 Trabalhos Relacionados
2 Trabalhos Relacionados Neste capítulo serão apresentados alguns simuladores de redes que estão relacionados com o tema deste trabalho. Alguns dos simuladores de redes existentes foram estendidos para
Leia maisCard Tree Reader. Um Sistema para a visualização de árvores de cartões.
Card Tree Reader Um Sistema para a visualização de árvores de cartões. 1. Introdução Card Tree Reader é um sistema escrito em linguagem JAVA que tem por objetivo fornecer uma ferramenta para a visualização
Leia maisUTFPR CURITIBA DAELT
INTRODUÇÃO AO LTSPICE Principais funções do LTSpice IV UTFPR CURITIBA DAELT OBJETIVO Apresentar uma introdução sobre as principais funções do LTSpice. Criando um novo projeto Sempre que o programa é aberto,
Leia maisInstrução de Trabalho: Instalar Client
Instrução de Trabalho Instrução de Trabalho: Instalar Client 1. Objetivos Estabelecer procedimento para a atividade Instalar client. 2. Definições 3. Aplicação Aplicável á todos os envolvidos na Implantação
Leia maisLaboratório 1 Topologias de Rede / Utilizando o Packet Tracer
Rede de Computadores Laboratório 1 Topologias de Rede / Utilizando o Packet Tracer Objetivo Demonstrar o funcionamento da ferramenta Packet Tracer para simulações de rede e utilizá-la para descrever o
Leia maisIntrodução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s
Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas
Leia mais3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks
48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o
Leia maisManual de Geração de Arquivos para o SIB versão 3.0
Manual de Geração de Arquivos para o SIB versão 3.0 Para a versão 3.0 do Sistema de Informações de Beneficiários (SIB), o sistema K2 conta com uma série de ferramentas para possibilitar um envio mais simples
Leia maisMANUAL DE INSTALAÇÃO DO MULTISIM 14.0
MANUAL DE INSTALAÇÃO DO MULTISIM 14.0 PSI 3212 LABORATÓRIO DE CIRCUITOS ELÉTRICOS AUTOR : LUCAS DE ANDRADE BOTH DATA : 11/04/2017 MANUAL DE INSTALAÇÃO DO MULTISIM 14.0 Este manual tem como objetivo mostrar
Leia maisLógica Reconfigurável
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA MESTRADO EM SISTEMAS DE ENERGIA Lógica Reconfigurável - amauriassef@utfpr.edu.br
Leia maisAlgoritmos Distribuídos para Roteamento em Redes Ad Hoc
Algoritmos Distribuídos para Roteamento em Redes Ad Hoc Tiago Rodrigues Chaves Orientador: Ricardo Augusto Rabelo de Oliveira Programa de Pós-Graduação em Ciência da Computação PPGCC/UFOP 26 de julho de
Leia maisAula Prática de Redes Industriais Wireshark
Aula Prática de Redes Industriais Wireshark O entendimento de protocolos de redes pode ser bastante aprofundado através da observação de protocolos funcionando e da manipulação de protocolos - observando
Leia maisInformática I. Aula Aula 18-29/10/2007 1
Informática I Aula 18 http://www.ic.uff.br/~bianca/informatica1/ Aula 18-29/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript
Leia maisESPECIFICAÇÃO DE SOFTWARE
ESPECIFICAÇÃO DE SOFTWARE Integrantes do grupo: Joel Edu Sánchez Castro Fernando Hattori Miguel Angel Galarreta Valverde Felipe Martins dos Santos 1 SUMÁRIO DESCRIÇÃO...3 REQUISITOS...3 REQUISITOS FUNCIONAIS
Leia maisPROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Leia maisLABORATÓRIO VIRTUAL EM SISTEMAS DE CONTROLE
LABORATÓRIO VIRTUAL EM SISTEMAS DE CONTROLE Ana Cláudia Gomes 1, Agostinho Linhares Souza Folho 1, Luiz Affonso Guedes 1 Universidade Federal do Pará 1 Campus Universitário do Guamá {acgomes, affonso}@ufpa.br
Leia maisManual de Versão Sistema Condomínio21
Manual de Versão Sistema Condomínio21 Belo Horizonte, 2016. Group Software. Todos os direitos reservados. Sumário 1. Parâmetro para determinar a inicialização automática do Condomínio21 Relatórios... 3
Leia maisPOO Documentation. Release 1.0. Felipe Dau e Francisco Pereira Junior
POO Documentation Release 1.0 Felipe Dau e Francisco Pereira Junior August 13, 2015 Contents 1 Instalação do Java 1 1.1 Download................................................. 1 1.2 Instalação.................................................
Leia maisAo ser aberto, o Expression Blend 3 + SketchFlow disponibiliza três opções:
Introdução O SketchFlow é um dos produtos da família Expression, que permite que qualquer pessoa possa demonstrar rapidamente ideias, fluxos de aplicativos e layouts na tela utilizando componentes desenhados
Leia maisTUTORIAL DE UTILIZAÇÃO DO OWL-S COMPOSER W. Trabalho de Conclusão de Curso Aluno: Adriano Novais Queiroz Orientadora: Prof.ª Daniela Barreiro Claro
TUTORIAL DE UTILIZAÇÃO DO OWL-S COMPOSER W Trabalho de Conclusão de Curso Aluno: Adriano Novais Queiroz Orientadora: Prof.ª Daniela Barreiro Claro INTRODUÇÃO E OBJETIVO A funcionalidade de um determinado
Leia maisIntrodução a UML (Unified Modeling Language)
Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário
Leia maisMarcos Borges Pessoa. Geração e execução automática de scripts de teste para aplicações web a partir de casos de uso direcionados por comportamento
Marcos Borges Pessoa Geração e execução automática de scripts de teste para aplicações web a partir de casos de uso direcionados por comportamento Dissertação de mestrado Dissertação apresentada como requisito
Leia maisO site para acesso ao portal do aluno é: HTTPS://meu.ifmg.edu.br/corpore.net/login.aspx
Projeto: IFMG Instituto Federal Minas Gerais 1. Roteiro: Login no Portal do Aluno O site para acesso ao portal do aluno é: HTTPS://meu.ifmg.edu.br/corpore.net/login.aspx No campo usuário e senha devem
Leia maisÍNDICE. Redes de Computadores - 1º Período de Cap 12 - Fls. 1
ÍNDICE 12. Sistemas Operacionais de Redes 2 12.1. Conceito 2 12.2. Redirecionador 3 12.3. Arquiteturas 3 12.4. Par a Par 4 12.5. Cliente-Servidor 4 12.6. Os Sistemas Operacionais de Redes e as Arquiteturas
Leia maisLaboratório de Eletrônica Digital Tutorial Quartus II (Procedimentos para Criação e Simulação de Projetos Digitais)
Universidade Federal do Pará Instituto de Tecnologia Faculdade de Engenharia Elétrica Laboratório de Eletrônica Digital Tutorial Quartus II (Procedimentos para Criação e Simulação de Projetos Digitais)
Leia maisDESENVOLVIMENTO DE UM SISTEMA DE INFORMAÇÃO GEOGRÁFICA PARA GERAÇÃO DE MAPAS PLUVIOMÉTRICOS
DESENVOLVIMENTO DE UM SISTEMA DE INFORMAÇÃO GEOGRÁFICA PARA GERAÇÃO DE MAPAS PLUVIOMÉTRICOS Osvaldo Cesar Pinheiro de Almeida 1, Roger Cristhian Gomes 2 1 FATEC, Botucatu, SP, Brasil. E-mail cesar@fatecbt.edu.br
Leia maisFigura 1 - Uma possível forma de acesso à informação compartilhada.
14 1 Introdução Uma das técnicas de simulação numérica largamente utilizada para calcular esforços e o comportamento de estruturas em engenharia, mediante a utilização de computadores, é a Análise de Elementos
Leia maisEstatística e Modelos Probabilísticos - COE241
Estatística e Modelos Probabilísticos - COE241 Aula passada Função Distribuição Condicional Calculando Probabilidades condicionando Esperança Condicional Aula de hoje Análise de Comandos de Programação
Leia maisManual de Instalação e Utilização Módulo de emissão de Notas Fiscais Eletrônicas Sysfar
Manual de Instalação e Utilização Módulo de emissão de Notas Fiscais Eletrônicas Sysfar 1. Pré-requisitos É importante ressaltar que para emissão das notas fiscais eletrônicas, é necessário que o estabelecimento
Leia maisAPLICAÇÃO DA TÉCNICA DE SATISFAÇÃO DE RESTRIÇÕES DISTRIBUÍDAS NO SINCRONISMO DE SEMÁFOROS DE UMA MALHA VIÁRIA
APLICAÇÃO DA TÉCNICA DE SATISFAÇÃO DE RESTRIÇÕES DISTRIBUÍDAS NO SINCRONISMO DE SEMÁFOROS DE UMA MALHA VIÁRIA Orientando: Mauricio Bruns Orientador: Jomi Fred Hübner Roteiro da Apresentação: Introdução
Leia maisObedecendo essa estrutura definida para a linguagem, podemos dividir a sua definição em duas partes: os elementos da linguagem e as suas regras.
3 Metamodelo Um modelo é uma representação abstrata de um sistema e um metamodelo é uma descrição abstrata de um modelo. Ele consiste em um conjunto de conceitos e relacionamentos dentro de um determinado
Leia maisMODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS
MODELAGEM DE TRANSISTORES E DE CIRCUITOS ANALÓGICOS CMOS USANDO VERILOG-AMS I. Autor: Prof. Oscar da Costa Gouveia Filho Departamento de Engenharia Elétrica Universidade Federal do Paraná II. Resumo: Verilog-AMS
Leia maisSankhya Web Connection. Versão: 02 Criado em: 28/03/2017
0 de 14 Em alguns navegadores de internet, vem se tornando complicado o uso de plugins (um plugin ou módulo de extensão é um programa de computador usado para adicionar funções a outros programas maiores,
Leia maisInformática I. Aula 9. Aula 9-27/09/2006 1
Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-27/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia maisIDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias
1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo
Leia maisNIVELAMENTO DE INFORMÁTICA. Professor: Cleber Semensate
NIVELAMENTO DE INFORMÁTICA Professor: Cleber Semensate 1 Cronograma: Revisão da Aula Anterior Animação entre slides Transição entre slides SmartArt Exercício de Fixação 2 Revisão MICROSOFT POWER POINT
Leia maisWEB VIEWER - Versão 3.3.1
WEB VIEWER - Versão 3.3.1 MANUAL DO USUÁRIO Elaborado por: Gustavo B. Teló em 13/08/12. 1. WEB VIEW O web view é um software que permite que o clientes da Unimed Grande Florianópolis possam visualizar
Leia maisVisões Arquiteturais. Visões Arquiteturais
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Leia maisManual do InCD Reader
Manual do InCD Reader Nero AG Informações sobre direitos autorais e marcas registradas O manual e todo o seu conteúdo é protegido por leis de direitos autorais e são de propriedade da Nero AG. Todos os
Leia maisMigração Elipse SCADA x Elipse E3
Migração Elipse SCADA x Elipse E3 Sumário Objetivos... 2 Por que migrar?... 2 Motivo 1 - Armazenamento... 2 Motivo 2 Consultas a dados históricos usando linguagem SQL... 3 Motivo 3 Relatórios baseados
Leia maisAlgoritmos Distribuídos. AD Algoritmos Básicos 1
Algoritmos Distribuídos Algoritmos Básicos Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro Este material está baseado no capítulo 4 do livro An Introduction to Distributed
Leia mais2 Metodologias para Projetos de Aplicações Hipermidia
2 Metodologias para Projetos de Aplicações Hipermidia O processo de desenvolvimento de aplicações é o objeto de diversas pesquisas, principalmente no caso das aplicações voltadas para a Internet, que diferem
Leia mais6.1. Teste Baseado em Gramática e Outras Abordagens de Teste
6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam
Leia maisLSCAD André Luiz junho ModelSim-Altera 6.6d
LSCAD André Luiz junho 2011 ModelSim-Altera 6.6d Motivação Diretório Criação de Projetos Compilação Simulação Roteiro Motivação Ferramenta independete Maior acurácia Ferramenta robusta First Look Diretório
Leia maisLaboratório Virtual para o Ensino de Redes de Computadores no Moodle
Laboratório Virtual para o Ensino de Redes de Computadores no Moodle Karl H. A. Ferreira 1, Rommel W. de Lima 1, Marcos Vinicius de A. Lima 1, José Osvaldo M. Chaves 1 1 Programa de Pós-Graduação em Ciência
Leia mais5 Arquitetura de implementação
Arquitetura de implementação 103 5 Arquitetura de implementação 5.1 Visão geral Nossa arquitetura é caracterizada pela construção de um ambiente para execução de aplicações hipermídia definidas segundo
Leia mais3 Sistema Operacional Scriptável
3 Sistema Operacional Scriptável Sistema operacional scriptável é a nossa proposta de modelo de projeto de sistema operacional com o objetivo de aumentar a sua flexibilidade e facilidade de desenvolvimento,
Leia maisMecanismos de Interrupção e de Exceção, Barramento, Redes e Sistemas Distribuídos. Sistemas Operacionais, Sistemas
Arquitetura de Computadores, Arquitetura de Computadores Organização de Computadores, Conjunto de Instruções, Sistemas Operacionais, Sistemas Operacionais, Sistemas Mecanismos de Interrupção e de Exceção,
Leia maisImplementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW.
Universidade Federal de Uberlândia - UFU Faculdade de Computação Bacharelado em Sistemas de Informação Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW. William Johnson
Leia maisTrabalho Prático 2015 Simulador de Circuitos Opção 1 Versão /11/2013
Trabalho Prático 2015 Simulador de Circuitos Opção 1 Versão 1.0 12/11/2013 SSC0300 Linguagem de Programação e Aplicações Engenharia Elétrica - Eletrônica 2º Semestre de 2015 Prof: Daniel Rodrigo Ferraz
Leia maisÁrvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo
PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó
Leia maisEspecificação dos Requisitos do Software UFPI Maps 1.0. Autores:4A Team Alceu Medeiros Antonio Lima AntonioHelves Fernando Assunção
UFPI Maps 1.0 Autores:4A Team Alceu Medeiros Antonio Lima AntonioHelves Fernando Assunção Teresina PI Julho de 2013 1 UFPI Maps 1.0 Sumário 1. Introdução... 3 1.1. Objetivo deste documento... 3 1.2. Escopo
Leia maisMGASet - Uma Ferramenta para Apoiar o Teste e
MGASet - Uma Ferramenta para Apoiar o Teste e Validação de Especificações Baseadas em Máquinas de Estado Finito 1 Marco Arthur Pereira Candolo Adenilso da Silva Simão José Carlos Maldonado mapc, adenilso,
Leia maisCampeonato de Gamão. 1. Regras. 2. Servidor
Campeonato de Gamão 1. Regras O campeonato de gamão será disputado de acordo com as regras tradicionais do jogo, facilmente encontradas na Internet. As duas cores tradicionais das pedras do jogo serão
Leia maisINTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia
INTRODUÇÃO AO USO DO DEV C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia Tela inicial do Editor de programas do DEV C++ Dicas
Leia maisCom esse novo menu será possível suportar o novo padrão de aplicações desenvolvidas em HTML5 através do Framework HTML.
Menu HTML Objetivo O menu HTML tem como principal objetivo atender os requisitos de evolução tecnológica dos softwares da linha Datasul em alternativa ao Flex, sobretudo a redução da dependência de complementos
Leia maisR Commander Facilitando o aprendizado da Estatística. George Amarante Melo Jony Arrais Pinto Junior
R Commander Facilitando o aprendizado da Estatística George Amarante Melo Jony Arrais Pinto Junior Sumário 1 Introdução 2 2 Instalação e abertura do R Commander 3 2.1 Instalação....................................
Leia maisDesenvolvendo aplicações Java
José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Desenvolvendo aplicações Java Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO JAVA... 1 1.1 A PLATAFORMA
Leia mais