Uma Abordagem de Simulação e Controle de Tráfego Utilizando Sistemas Multiagente

Tamanho: px
Começar a partir da página:

Download "Uma Abordagem de Simulação e Controle de Tráfego Utilizando Sistemas Multiagente"

Transcrição

1 Uma Abordagem de Simulação e Controle de Tráfego Utilizando Sistemas Multiagente Trabalho curricular apresentado à Universidade Federal de Santa Catarina como requisito para a disciplina: DAS 6607: Inteligência Artificial Aplicada a Sistemas de Controle e Automação Maiara Heil Cancian Ricardo Bedin França Florianópolis, setembro de 2007

2 Resumo Neste trabalho, foi proposto um sistema para simulação e controle de um tráfego urbano, baseado em sistemas multiagente cujos agentes utilizam sistemas especialistas para realizar tarefas inteligentes. O conhecimento necessário para o funcionamento do sistema foi representado numa ontologia, construída com o software Protegé. A plataforma AGLETS foi utilizada a fim de prover o suporte necessário aos sistemas multiagente, assim, pôde-se organizar uma estrutura hierárquica de agentes, onde um agente principal comanda os veículos, também representados por agentes. Uma rede de contrato foi estabelecida para resolver o problema de designação de uma ambulância para atender a um chamado de emergência. As regras utilizadas para reger o movimento dos veículos foram implementadas com o uso de sistemas especialistas, estes criados com o uso do script shell JESS. Palavras Chave: Agentes, sistemas Multiagente, AGLETS, JESS, contole de tráfego. ii

3 Sumário Lista de Figuras v 1 Introdução 1 2 Fundamentação teórica Ontologias Sistemas Especialistas Motor de inferência Modo de raciocínio Estratégia de busca Resolução de conflito Representação de incerteza Sistemas Multiagente Agentes Inteligentes Redes de Contrato Ferramentas utilizadas Protégé AGLETS JESS Descrição do Sistema de Simulação e Controle de Tráfego Funcionalidades do Sistema Representação do Conhecimento Implementação do Sistema 14 iii

4 4.1 O Sistema Multiagente A Rede de Contrato As mensagens trocadas O sistema especialista Execução da aplicação Conclusão 19 Referências 20 iv

5 Lista de Figuras 2.1 Arquitetura de um Sistema Especialista Fluxograma de uma rede de contrato Arquitetura do Protégé A plataforma Tahiti Ontologia para simulação e controle de tráfego Diagrama de classes do sistema Fluxograma da rede de contrato utilizada Screenshot do sistema em funcionamento v

6 Capítulo 1: Introdução A aplicação de tecnologias modernas de computadores para a resolução de problemas com tráfego, tem resultado uma maior mobilidade, segurança e qualidade nas cidades, além do próprio aumento da produtividade. Sobre a aplicação destas tecnologias, denominadas Intelligent Transportation Systems (ITS), é possível dar um salto de qualidade no controle e gerência de trânsito e dos transportes. [10]. No escopo da disciplina DAS Inteligência Artificial Aplicada a Sistemas de Controle e Automação, desejava-se implementar um sistema que fizesse uso dos conceitos vistos durante o curso, tais como a representação do conhecimento por meio de ontologias, a criação de sistemas dotados de inteligência computacional com o uso de sistemas especialistas, e a resolução de problemas por meio de sistemas multiagente. Neste contexto, foi escolhido o tema de simulação e controle de tráfego por ser um domínio onde a aplicação de técnicas de inteligência artificial tem sido bastante estudada Este documento está organizado da seguinte forma: o capítulo 2 apresenta de forma sucinta os conceitos utilizados neste trabalho, bem como as ferramentas utilizadas. O capítulo 3 descreve o sistema que desejava-se implementar, enquanto o capítulo 4 aborda a implementação realizada. As conclusões deste trabalho são apresentadas no capítulo 5. 1

7 Capítulo 2: Fundamentação teórica 2.1: Ontologias Em Inteligência Artificial pode-se assumir uma interpretação para ontologia como sendo um conjunto de entidades com suas relações, restrições, axiomas e vocabulário. Um ontologia define um domínio, ou, mais formalmente, especifica uma conceitualização acerca dele [6]. Segundo Clark [3], uma ontologia é organizada em hierarquias de conceitos (ou taxonomias), pelo fato de não refletirem idealmente nenhum formalismo específico, pode-se considerar um ontologia como a materialização do nível do conhecimento. A utilização de ontologias em substituição á uma abordagem declarativa apresenta muitos benefícios, os mais relevantes podem ser verificados como segue: Reuso de ontologias; Ontologias de Prateleira; Tradução entre linguagens e formalismos de representação do conhecimento; Acesso on-line a servidores de ontologias. 2.2: Sistemas Especialistas Quando é construído um sistema voltado para uma área muito específica, requerendo a experiência de um especialista humano, ele é denominado Sistema Especialista (SE). Este deve ser capaz de emitir uma decisão, apoiado em conhecimento justificado, a partir de uma base de informações, tal qual um especialista de determinada área do conhecimento humano [9]. Para emitir uma decisão sobre um determinado assunto, um especialista o faz a partir de fatos que encontra e de hipóteses que formula, buscando em sua memória um conhecimento prévio armazenado. Com esse processo de raciocínio pode-se não chegar a uma decisão se os fatos de que dispõe forem insuficientes, ou chegar a uma conclusão errada, sendo este erro justificado em função dos fatos que encontrou e do seu conhecimento acumulado previamente em sua memória de trabalho. 2

8 Um SE deve, além de inferir decisões, ter capacidade de adquirir novos conhecimentos e, desse modo, melhorar o seu desempenho de raciocínio. A arquitetura dos SEs apresentada na figura 2.1, deriva dos chamados Sistemas de Produção, que é um nome genérico para todos os sistemas baseados em regras de produção. Figura 2.1: Arquitetura de um Sistema Especialista Estas regras de produção são pares de expressões consistindo em uma condição e uma ação [1]. A idéia inicial dos sistemas de produção foi introduzida por Post, em 1936, quando ele propôs os hoje chamados sistemas de Post [8]. Um sistema de Post consiste em um conjunto de regras para a especificação sintática de transformações sobre cadeias de caracteres, e representa um método geral para o processamento de dados. Os sistemas de produção foram redescobertos durante os anos setenta como uma ferramenta para a modelagem da psicologia humana. O formato condição-ação se adapta à modelagem de todos os comportamentos baseados em pares estímuloresposta. Pode-se portanto distinguir três componentes essenciais: uma base de regras, uma memória de trabalho e um motor de inferência. A base de regras em conjunto com a memória de trabalho formam a chamada base de conhecimento do SE. O motor de inferência é o mecanismo responsável por buscar na base de regras os padrões encontrados na memória de trabalho e executar a ação apropriada. Para solucionar problemas, os SEs precisam acessar uma grande base de conhecimento do domínio da aplicação, portanto o sucesso de um SE depende enormemente da forma como o conhecimento é representado e dos mecanismos para a exploração deste conhecimento. 3

9 2.2.1: Motor de inferência Classifica-se um motor de inferência pelas funcionalidades que este deve possuir: modo de raciocínio, estratégia de busca, resolução de conflito e representação de incerteza : Modo de raciocínio Basicamente, existem dois modos de raciocínio aplicáveis a regras de produção: encadeamento progressivo (forward chaining), e encadeamento regressivo (backward chaining). No encadeamento progressivo, também chamado encadeamento dirigido por dados, a parte esquerda da regra é comparada com a descrição da situação atual, contida na memória de trabalho. As regras que satisfazem a esta descrição têm sua parte direita executada, o que, em geral, significa a introdução de novos fatos na memória de trabalho. A diferença, no encadeamento regressivo, conhecido também como encadeamento dirigido por objetivos, o comportamento do sistema é controlado por uma lista de objetivos. Um objetivo pode ser satisfeito diretamente por um elemento da memória de trabalho, ou pela existência de regras que permitem a inferência de tal objetivo, contendo uma descrição deste em suas partes direitas. As regras que satisfazem esta condição têm as instâncias correspondentes às suas partes esquerdas adicionadas à lista de objetivos correntes. Caso uma dessas regras tenha todas as suas condições satisfeitas diretamente pela memória de trabalho, o objetivo em sua parte direita é também adicionado à memória de trabalho. Um objetivo que não possa ser satisfeito diretamente pela memória de trabalho, nem inferido através de uma regra, é abandonado. Quando o objetivo inicial é satisfeito, ou não há mais objetivos, é cessado o processamento : Estratégia de busca Uma vez definido o tipo de encadamento, o motor de inferência necessita ainda de uma estratégia de busca para guiar a pesquisa na memória de trabalho e na base de regras. Este problema é conhecido como busca em espaço de estados. Este tópico é estudado em inteligência artificial, no contexto de solução de problemas. Descrições detalhadas dos algoritmos de busca podem ser encontradas em [2]. 4

10 : Resolução de conflito Após o processo de busca, o motor de inferência dispõe de um conjunto de regras que satisfazem à situação atual do problema, o chamado conjunto de conflito. Se esse conjunto for vazio, a execução é terminada; caso contrário, é necessário escolher as regras que serão executadas, e a ordem. Os métodos de resolução de conflito mais utilizados ordenam as regras de acordo com critérios como prioridades estáticas, complexidade, tempo decorrido desde a obtenção da regra, confiabilidade, grau de importância, e até seleção randômica. A utilização de um critério pode se tornar insuficiente para resolver os conflitos. Portanto, um SE pode combinar mais de um método, e em geral, é desejável que o usuário possa especificar quais métodos deverão ser usados : Representação de incerteza O tratamento de incerteza é uma ativa área de pesquisa em SEs, pois os domínios adequados à implementação de SEs se caracterizam exatamente por não serem modelados por nenhuma teoria geral, o que implica descrições incompletas, inexatas ou incertas. Diversos métodos foram propostos para tratar este problema: método bayesiano, fatores de certeza (conforme o modelo adotado no MYCIN), teoria de Dempster-Shafer, teoria dos conjuntos nebulosos, teoria de probabilidades subjetivas e teoria de possibilidades. Para quantificar de alguma forma a confiança do especialista, estes métodos atribuem aos fatos e regras uma medida numérica. Os métodos utilizados não mantém entre si nenhuma coerência, e cada um adapta-se melhor a determinados tipos de problemas. Também aqui é desejável que o usuário possa ter a escolha do método mais adequado para seu problema, e de limites mínimos para a medida de incerteza, para truncar fatos ou regras que se encontram abaixo do limiar. 2.3: Sistemas Multiagente Um sistema multiagente consiste num certo número de agentes que agem entre si [12]. Aqui, agentes são definidos como entidades que possuem capacidade de ação autônoma, realizando ações sem a necessidade de constante intervenção do usuário, assim, presume-se que a independência dada a cada agente pode tornar-se um com- 5

11 plicador ao cumprimento harmonioso de tarefas de um sistema como um todo, já que um agente não está necessariamente com uma visão de tarefas globais. Portanto, um sistema multiagente deve possuir meios de fazer com que agentes comuniquemse, negociem e cooperem, num comportamento semelhante ao desejado numa sociedade. A construção de sistemas multiagente pode ser vista em diferentes perspectivas: no nível de agentes individuais, deseja-se criar agentes que sejam independentes e capazes de se comunicarem com outros, enquanto no nível do sistema global a meta é projetar as interações destes agentes de modo que, através da comunicação, soluções satisfatórias para as tarefas designadas possam ser atingidas. Este trabalho está focado, a nível de agentes individuais, na classificação destes, e em um nível mais global, no uso do protocolo de redes de contrato para uma interação desejável entre eles : Agentes Inteligentes Embora seja amplamente aceito que agentes são entidades autônomas e que comunicam-se com outras entidades, tal autonomia pode ser variável, e o comportamento dos agentes também. Uma importante classificação para os agentes diz respeito ao nível de inteligência que estes possuem: Agentes reativos possuem baixo nível de independência, funcionando basicamente por meio de reações aos estímulos do sistema, resultando também numa baixa complexidade. Agentes cognitivos caracterizam-se por serem pró-ativos, dispensando a necessidade de aguardar por estímulos do seu ambiente, assim tendo uma independência maior no processo de tomar decisões. Eles também têm a capacidade de aprender durante seu ciclo de vida, resultando em um aumento de performance ao longo do tempo. Agentes também podem ser classificados quanto à sua mobilidade: agentes móveis têm a capacidade de migrar entre sistemas multiagente, enquanto agentes estacionários permanecem no mesmo sistema durante todo o seu ciclo de vida. Outras classificações, adequadas principalmente a agentes cognitivos, podem ser aplicadas, de acordo com seu comportamento: agentes podem variar em sua benevolência (isto é, o quanto cooperam para melhorar o desempenho global) e veracidade 6

12 - agentes maliciosos podem mandar mensagens falsas deliberadamente de acordo com seus propósitos : Redes de Contrato O protocolo de Redes de Contrato [11] foi desenvolvido para especificar comunicação e controles de alto nível responsáveis pela resolução distribuída de problemas, realizando a distribuição de tarefas após discussões e negociações entre as diversas partes. Basicamente, este protocolo consiste em quatro partes (figura 2.2): Reconhecimento Inicialmente, um agente (dito contratante) se dá conta que precisa de outros agentes para realizar uma tarefa, seja porque não tem a capacidade de cumpri-la isoladamente, seja porque por questões de desempenho ou restrições temporais julga que a tarefa será melhor realizada com ajuda de outros agentes. Anúncio da Tarefa Nesta fase, o agente contratante envia uma mensagem a outros agentes (possíveis contratados) descrevendo a tarefa, comunicando eventuais restrições e outras informações necessárias. Esta comunicação pode ser pontoa-ponto, multicast ou broadcast. Análise Os agentes que desejam candidatar-se ao cumprimento desta tarefa enviam respostas ao contratante, e este analisa quais agentes melhor podem atender às especificações. Emissão do Contrato Por fim, o agente contratante decide quais agentes serão efetivamente contratados e emite-lhes o contrato. De acordo com as necessidades do sistema, agentes podem ser tanto contratantes quanto contratados, e sub-redes de contrato podem ser criadas para a realização de sub-tarefas. 2.4: Ferramentas utilizadas 2.4.1: Protégé O Protégé é uma ferramenta que permite construir ontologias de domínio, personalizar formulários de entrada de dados, inserir e editar dados, possibilitando a criação de bases de conhecimento guiadas por uma ontologia. Sua interface gráfica 7

13 Figura 2.2: Fluxograma de uma rede de contrato provê acesso às barras de menus e ferramentas, além de apresentar áreas de visualização (views) que funcionam como módulos de navegação e edição de classes, atributos, formulários, instâncias e pesquisas na base de conhecimento, propiciando a entrada de dados e a recuperação das informações [7]. Desenvolvido pelo departamento de informática médica da Universidade de Stanford, o projeto original do Protégé era uma ferramenta de aquisição de conhecimento limitada a um sistema especialista para oncologia. Foi modernizado gradativamente para acompanhar a evolução da tecnologia de Sistemas Baseados em Conhecimento, ou seja, servir para aquisição de conhecimento diretamente de especialistas de domínios com menos dependência de engenheiros de conhecimento, permitir diversos formalismos e estratégias de inferência, integrar tarefas (aquisição de ontologias e instâncias, ambiente de teste com inferência) num mesmo ambiente, criar automaticamente formulários para entrada de conhecimento, combinar ontologias e acessá-las via OKBC (Open Knowledge Base Connectivity). O Protégé foi desenvolvido utilizando a linguagem de programação Java e, posteriormente, arquitetura integrável a diversas aplicações, via componentes que podem ser conectados ao sistema. Como conseqüência desta decisão e de sua difusão, elaborados por grupos de pesquisa de usuários, puderam ser adicionados ao sistema, sem necessitar o re-desenvolvimento. A arquitetura do Protégé, vista na figura 2.3 possui uma interface e é definida pelos plug-ins e slots que fazem a interface com a base de conhecimento definidas pelo Protégé, representada pelo núcleo do Protégé que faz o intermédio com a base 8

14 de armazenamento persistente podem ser em formato de banco de dados ou arquivos. A modularização do Protégé está dividida em: Interface com o usuário; Núcleo do Protégé; Armazenamento persistente. Essa arquitetura ajuda no crescimento da ferramenta, pois novos módulos são desenvolvidos preocupando-se somente com o módulo que se deseja, seja uma nova base de dados de armazenamento persistente ou um novo plug-in de interface com os usuários. Figura 2.3: Arquitetura do Protégé 2.4.2: AGLETS A ferramenta AGLETS [4] consiste numa biblioteca Java e uma plataforma, também feita em Java, para agentes móveis, facilitando o desenvolvimento de aplicações baseadas em agentes. Um aglet é um agente Java capaz de mover-se espontaneamente entre servidores. A tecnologia AGLETS foi inicialmente desenvolvida na IBM e atualmente é um projeto open-source, distribuído sob a licença pública da IBM. Na biblioteca de classes oferecida pelo AGLETS, destacam-se as seguintes: 9

15 Aglet A classe que origina todos os aglets, já que estes devem estender a classe Aglet. Possui alguns métodos que usualmente são sobrecarregados pelas classes que a estendem, tais como OnCreation(), que é executado quando o aglet é criado, run(), que é chamado quando ele é executado, handlemessage() que é chamado ao receber uma mensagem, e ondisposing() que é chamado quando ele é excluído. AgletContext Esta classe é responsável por guardar as informações sobre o contexto onde os aglets estão inseridos. Quaisquer informações que um aglet deseje disponibilizar são gravadas neste contexto e então acessadas por outros. Message Classe responsável por encapsular os dados de uma mensagem. Um objeto Message possui um tipo particular, descrito com uma String, e pode conter um tipo primitivo ou objeto como argumento a ser enviado. O AGLETS disponibiliza métodos de envio de mensagens ponto-a-ponto, com suporte opcional a respostas, que também podem conter argumentos. AgletProxy Esta classe controla e limita o acesso direto aos aglets. Comumente é utilizada como referência a um aglet no momento de envio de uma mensagem. O AGLETS possui uma plataforma, chamada Tahiti, que possibilita a invocação de aglets, móveis ou não, e a realização de funções de gerenciamento como mobilidade e destruição de aglets. A interface desta plataforma pode ser vista na figura 2.4. Figura 2.4: A plataforma Tahiti 2.4.3: JESS O JESS [5], lançado em 1995, foi desenvolvido por Ernest Friedman-Hill nos Sandia National Labs como parte de um projeto interno de pesquisa. É um script 10

16 shell para construcção de sistemas especialistas baseado em regras inteiramente desenvolvido em Java e possui um ambiente similar ao CLIPS (C Language Integrated Production System), desenvolvido pela NASA. O JESS utiliza o algoritmo RETE na sua máquina de inferência. Este algoritmo é caracterizado por organizar as regras numa árvore, de modo que sejam divididas em padrões, assim, regras semelhantes percorrerão o mesmo ramo da árvore enquanto possuírem cláusulas iguais. Tal organização é mais onerosa em termos de memória, mas proporciona grandes melhorias na velocidade de verificação das regras. O motor de inferência JESS permite tanto o encadeamento regressivo quanto progressivo. A linguagem Jess é uma linguagem de programação de propósito geral e pode acessar diretamente todas as classes e bibliotecas Java. Por esta razão, Jess é muito usado como ambiente de desenvolvimento rápido de aplicações e scripts. Enquanto o código Java tem que ser compilado antes de rodar, uma linha de código do Jess é executada imediatamente após ser digitada. Isto permite que os usuários experimentem as APIs Java interativamente e desenvolvam programas incrementalmente. 11

17 Capítulo 3: Descrição do Sistema de Simulação e Controle de Tráfego 3.1: Funcionalidades do Sistema Sistemas de controle de tráfego possuem complexidade bastante variável, assim, o domínio do problema de implementar tais sistemas pode ser tão vasto quanto necessário. No escopo deste trabalho, desejou-se implementar a simulação do trânsito numa pequena malha rodoviária, com cruzamentos e bifurcações. Os veículos que circulam nesta malha podem ser ambulâncias ou carros de passeio, ambos devendo respeitar as regras tradicionais de circulação numa estrada, e, portanto, necessitando de um comportamento inteligente. Para tornar o comportamento dos veículos mais complexo, também foi implementada uma funcionalidade de chamada de emergência, que é difundida a todas as ambulâncias, e um processo de decisão é utilizado para que a mais próxima vá ao local da emergência. O comportamento desejado para os veículos pode ser visto com as seguintes regras: Não avançar sob sinal vermelho; Não andar na contra-mão; Não andar em círculos nos cruzamentos; Não avançar ao próximo segmento da estrada se este estiver ocupado. Para que o movimento de todos os veículos seja sincronizado, um controle central sobre as ações é necessário. 3.2: Representação do Conhecimento O conhecimento necessário para a elaboração do sistema foi descrito por meio de uma ontologia, vista na figura 3.1. Nela são vistas as entidades que compõem o sistema: 12

18 Veículos São as entidades que circulam pela malha rodoviária. Seus slots denotam o nome que cada veículo tem, assim como o segmento em que se encontram em um dado momento e o tipo de veículo descrito. Segmentos São as partes atômicas da malha rodoviária. Devem possuir ligações com os segmentos vizinhos, assim como uma posição particular na malha e os veículos que os ocupam, se existirem. Os segmentos regidos por semáforos também devem possuir um slot que represente este semáforo. Semáforos Controlam a passagem de carros nos segmentos que os contêm. Gerente Entidade principal, é o ponto central de comunicação entre as outras entidades. Emergência Uma entidade que representa um chamado para que uma ambulância vá a algum local da malha rodoviária o mais rapidamente possível. Figura 3.1: Ontologia para simulação e controle de tráfego 13

19 Capítulo 4: Implementação do Sistema 4.1: O Sistema Multiagente O sistema é composto por uma arquitetura hierárquica de agentes, sendo que cada veículo é um agente e um agente gerente coordena as ações de todos os agentes veículos. Assim, as classes gerente, PasseioAglet e AmbuAglet foram implementadas como extensões da classe Aglet. Além das classes destes três agentes, outras classes auxiliares também foram implementadas. O diagrama de classes completo pode ser visto na figura 4.1. Figura 4.1: Diagrama de classes do sistema A classe gerente é o ponto central do sistema. Ela contém a malha rodoviária e gerencia a alocação de veículos no sistema, além de receber os estímulos do usuário para avançar a simulação do trânsito e mostrar o andamento da simulação ao usuário através de uma interface gráfica. A cada turno, o gerente atualiza as informações a respeito da posição de cada veículo, para que estes recebam a informação correta de quais segmentos vizinhos estão livres. Esta classe também gerencia as chamadas de emergência e os semáforos, que serão vistos posteriormente. Do ponto de vista de agentes, trata-se de um agente reativo, pois as decisões que toma são de acordo com um plano de ações pré-definido. Também pode-se dizer que é um agente estacionário, 14

20 pois não houve a necessidade de implementação de agentes móveis. A classe PasseioAglet representa o agente de um veículo de passeio. Um veículo de passeio é utilizado apenas para simulação do sistema e assim sua inteligência é restrita ao cumprimento das regras necessárias do trânsito, com o uso de um sistema especialista que será descrito a posteriori. Assim, objetos desta classe são agentes reativos que interagem com o gerente somente o necessário para que possam mover-se corretamente ao longo das estradas. A classe AmbuAglet representa o agente de uma ambulância. Seu comportamento é semelhante ao de um carro de passeio, porém, no surgimento de uma chamada de emergência, é necessária uma comunicação adicional com o gerente a fim de decidir qual ambulância deve atender à emergência. Outras classes auxiliares são utilizadas, porém sem ter as características que denotam agentes: Objetos da classe segmento representam estradas no sistema. Quando o gerente é iniciado, ele instancia diversos objetos desta classe para formar a malha rodoviária. A classe semaforo descreve uma estrutura de dados para representar um semáforo, aqui implementado como um elemento passivo e controlado pelo gerente. Quando um sinal verde passa a vermelho, são necessários quatro turnos de espera para que um sinal se torne verde, para que não ocorram colisões A classe emergencia encapsula os dados necessários para descrever um chamado de emergência a ser atendido por uma ambulância. A classe procura é utilizada para pesquisar o caminho mais curto entre dois pontos, através de um algoritmo de busca em grafos : A Rede de Contrato Neste sistema, pode ser vista uma rede de contrato no processo de escolha de uma ambulância para atender a uma emergência. A figura 4.2 descreve esta rede nos moldes do que foi visto no capítulo 2 assim que o usuário aciona o botão de emergência, um chamado é criado em um lugar aleatório do mapa. Então o gerente envia uma mensagem de emergência a todas as ambulâncias, com a posição da emergência, e 15

21 Figura 4.2: Fluxograma da rede de contrato utilizada cada ambulância calcula o trajeto mais curto até o local da emergência, retornando ao gerente a distância percorrida neste caminho. A ambulância que estiver mais próxima do local da emergência é então escolhida e desloca-se para este local, enviando uma mensagem assim que lá chegar, confirmando o atendimento da chamada : As mensagens trocadas Dada a relativa simplicidade da comunicação entre os agentes, não foi necessária a adoção de um protocolo elaborado para a troca de mensagens. Assim, com os mecanismos já disponíveis na plataforma AGLETS para envio e resposta de mensagens, foram criados os seguintes tipos de mensagens: cadastro Diretiva enviada por um veículo solicitando sua inclusão na malha rodoviária. Recebe como resposta uma assertiva que confirma ou nega a inclusão. anda Diretiva enviada pelo gerente a todos os veículos, para que movam-se ou comuniquem que não puderam se mover. andei Assertiva enviada por um veículo ao gerente, comunicando que movimentou-se e enviando sua nova posição. nada Assertiva enviada por um veículo ao gerente quando não pôde andar. emergencia Diretiva enviada pelo gerente a todas as ambulâncias, juntamente com o local da emergência. Recebe como resposta a distância de cada ambulância em relação ao local. escolhido Diretiva enviada pelo gerente à ambulância escolhida para atender uma emergência, solicitando que esta se desloque ao local determinado. 16

22 atendi Assertiva enviada por uma ambulância ao gerente, comunicando o atendimento de uma emergência : O sistema especialista Sempre que solicitados, os veículos devem decidir para onde moverem-se. Esta decisão é tomada por um sistema especialista implementado com o JESS, recebendo como entradas os segmentos vizinhos livres, o antepenúltimo segmento atingido, e, caso existam, o estado do semáforo do segmento em que o veículo se encontra e o caminho que este deve seguir para atender uma emergência. Basicamente, o sistema verifica as seguintes regras: Primeiramente, verificar se está num sinal vermelho, neste caso, remover da memória de trabalho todos os movimentos possíveis. Em seguida, verificar se alguma das opções conduz a um caminho em círculo dentro de um cruzamento, isto é, verificar se é possível retornar ao antepenúltimo segmento visitado. Em caso afirmativo, esta opção deve ser removida. Após a aplicação das duas regras anteriores, um caminho livre é aprovado caso ele seja obrigatório, e na ausência de caminhos obrigatórios, todos os caminhos livres são aprovados e um é escolhido aleatoriamente : Execução da aplicação A aplicação é executada instanciando-se, a partir do ambiente Tahiti, o agente gerente. Então as estradas podem ser povoadas com agentes de veículos, e, assim que uma ambulância for incluída, pode-se fazer chamadas de emergência. A interface gráfica da aplicação pode ser vista na figura

23 Figura 4.3: Screenshot do sistema em funcionamento 18

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

3 Multi-Agent System for Stock Exchange Simulation

3 Multi-Agent System for Stock Exchange Simulation Multi-Agent System for Stock Exchange Simulation 29 3 Multi-Agent System for Stock Exchange Simulation A participação na competição Agent Reputation Trust (ART) Testbed [10] motivou o estudo do domínio

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

Leia mais

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Continuando as aulas sobre os fundamentos

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Pós-Graduação em Engenharia Elétrica Inteligência Artificial

Pós-Graduação em Engenharia Elétrica Inteligência Artificial Pós-Graduação em Engenharia Elétrica Inteligência Artificial João Marques Salomão Rodrigo Varejão Andreão Inteligência Artificial Definição (Fonte: AAAI ): "the scientific understanding of the mechanisms

Leia mais

Desenvolvimento de um Simulador de Gerenciamento de Memória

Desenvolvimento de um Simulador de Gerenciamento de Memória Desenvolvimento de um Simulador de Gerenciamento de Memória Ricardo Mendes do Nascimento. Ciência da Computação Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Santo Ângelo RS Brasil

Leia mais

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N Technologies. Todos os Direitos

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

Uma Experiência com Agentes Inteligentes e Jogos de Cartas

Uma Experiência com Agentes Inteligentes e Jogos de Cartas 1 Uma Experiência com Agentes Inteligentes e Jogos de Cartas Anita Maria da R. Fernandes Daniel de Oliveira Helton Machado Kraus Universidade do Vale do Itajaí Universidade do Vale do Itajaí Universidade

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso

Se observarmos nos diferentes livros. Planejamento de Testes a partir de Casos de Uso Planejamento de Testes a partir de Casos de Uso Arilo Cláudio Dias Neto ariloclaudio@gmail.com É Bacharel em Ciência da Computação formado na Universidade Federal do Amazonas, Mestre em Engenharia de Sistemas

Leia mais

Sistema BuildParty para montagem e gerenciamento de eventos. Plano de Testes. Versão <1.1> DeltaInfo. Soluções para web Soluções para o mundo

Sistema BuildParty para montagem e gerenciamento de eventos. Plano de Testes. Versão <1.1> DeltaInfo. Soluções para web Soluções para o mundo Sistema BuildParty para montagem e gerenciamento de eventos Plano de Testes Versão DeltaInfo Soluções para web Soluções para o mundo DeltaInfo 2 Histórico de Revisões Data Versão Descrição Autores

Leia mais

SABiO: Systematic Approach for Building Ontologies

SABiO: Systematic Approach for Building Ontologies SABiO: Systematic Approach for Building Ontologies Ricardo de Almeida Falbo Engenharia de Ontologias Departamento de Informática Universidade Federal do Espírito Santo Agenda Preocupações Principais do

Leia mais

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Codificar Sistemas Tecnológicos

Codificar Sistemas Tecnológicos Codificar Sistemas Tecnológicos Especificação dos Requisitos do Software Sistema de gestão para a Empresa Cliente SlimSys Autor: Equipe Codificar Belo Horizonte MG Especificação dos Requisitos do Software

Leia mais

Modelagem de Conhecimento integrando Regras de Produção e Ontologias

Modelagem de Conhecimento integrando Regras de Produção e Ontologias Modelagem de Conhecimento integrando Regras de Produção e Ontologias 1. Introdução Tiago Cordeiro, Vládia Pinheiro e Vasco Furtado UNIFOR Universidade de Fortaleza O conhecimento das organizações precisa

Leia mais

Uso de taxonomias na gestão de conteúdo de portais corporativos.

Uso de taxonomias na gestão de conteúdo de portais corporativos. Gestão de Conteúdo web através de ontologias: conceitos e aplicações Fernando Silva Parreiras Contextualização O que? Uso de taxonomias na gestão de conteúdo de portais corporativos. Quem? Gerentes, consultores

Leia mais

Universidade Federal do Vale do São Francisco Inteligência Artificial

Universidade Federal do Vale do São Francisco Inteligência Artificial Universidade Federal do Vale do São Francisco Inteligência Artificial Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br Página: www.univasf.edu.br/~marcelo.linder Ementa Introdução

Leia mais

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente 1. Quais os componentes de um sistema cliente-servidor? Clientes e servidores 2. Na visão do hardware, defina o que é cliente e o que é servidor: Clientes. Qualquer computador conectado ao sistema via

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi Metodologias de Desenvolvimento de Sistemas Analise de Sistemas I UNIPAC Rodrigo Videschi Histórico Uso de Metodologias Histórico Uso de Metodologias Era da Pré-Metodologia 1960-1970 Era da Metodologia

Leia mais

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica

3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica 3 Modelo de Controle de Acesso no Projeto de Aplicações na Web Semântica Este trabalho tem o objetivo de integrar o controle de acesso no projeto de aplicações na web semântica. Uma arquitetura de software

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10)

Questionário. A ferramenta auxilia na alocação de Não (0) x x x. Satisfatório (5) complexidade de um caso de uso? de uso (72) Sim (10) Questionário Nível Avaliado Gerador de plano de teste Gerador de dados Função/característica do produto Gestão dos dados do plano de teste (51) Perguntas Pontuação Selenium BadBoy Canoo A ferramenta auilia

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Processos I: Threads, virtualização e comunicação via protocolos Prof. MSc. Hugo Souza Nesta primeira parte sobre os Processos Distribuídos iremos abordar: Processos e a comunicação

Leia mais

Bem-vindo à apresentação do SAP Business One.

Bem-vindo à apresentação do SAP Business One. Bem-vindo à apresentação do SAP Business One. Neste tópico, responderemos à pergunta: O que é o Business One? Definiremos o SAP Business One e discutiremos as opções e as plataformas disponíveis para executar

Leia mais

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Programa do Módulo 2. Processo Unificado: Visão Geral

Programa do Módulo 2. Processo Unificado: Visão Geral 9.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) O Processo Unificado (RUP) Processo Unificado: Visão Geral 9.2 Encaixa-se na definição geral de processo:

Leia mais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds

Leia mais

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f

Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre. Introdução à Representação e Processamento de Ontologias: Framework O3f Tecnologia para Sistemas Inteligentes Apontamentos para as aulas sobre Introdução à Representação e Processamento de Ontologias: Framework O3f Luís Miguel Botelho Departamento de Ciências e Tecnologias

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

MANUAL DO SISTEMA SIGPLAN - ELABORAÇÃO DA FASE QUALITATIVA DO PPA 2008-2011

MANUAL DO SISTEMA SIGPLAN - ELABORAÇÃO DA FASE QUALITATIVA DO PPA 2008-2011 MANUAL DO SISTEMA SIGPLAN - ELABORAÇÃO DA FASE QUALITATIVA DO PPA 2008-2011 O trabalho faz a diferença. Manaus, maio de 2007. Manual de Operação do Sistema de Informações Gerenciais e de Planejamento -

Leia mais

usabilidade assume uma importância ímpar na economia da Internet

usabilidade assume uma importância ímpar na economia da Internet WEB Usabilidade WEB usabilidade assume uma importância ímpar na economia da Internet no design de produtos e de software tradicionais, usuários pagam antes e experimentam a usabilidade depois na WEB experimentam

Leia mais

Módulo 4. Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios

Módulo 4. Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios Módulo 4 Visão geral dos controles do COBIT aplicáveis para implantação da Sarbanes, o papel de TI, a importância dos softwares e exercícios Estruturas e Metodologias de controle adotadas na Sarbanes COBIT

Leia mais

Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF

Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação UFJF 1. Identificação de um problema a ser implementado 2. Análise

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Instalação do IBM SPSS Modeler Server Adapter

Instalação do IBM SPSS Modeler Server Adapter Instalação do IBM SPSS Modeler Server Adapter Índice Instalação do IBM SPSS Modeler Server Adapter............... 1 Sobre a Instalação do IBM SPSS Modeler Server Adapter................ 1 Requisitos de

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 4 Estilos Arquitetônicos Estilos Arquiteturais Dataflow

Leia mais

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Professora conteudista: Cida Atum Sumário Administração de Banco de Dados Unidade I 1 INTRODUÇÃO A BANCO DE DADOS...1 1.1 Histórico...1 1.2 Definições...2 1.3 Importância

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

Leia mais

Documento de Requisitos Sistema WEB GEDAI

Documento de Requisitos Sistema WEB GEDAI Universidade Federal de São Carlos Centro de Ciências Exatas e de Tecnologia Departamento de Computação GEDAI-Grupo de Estudo e Desenvolvimento em Automação Industrial Documento de Requisitos Sistema WEB

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

Projeto de Arquitetura

Projeto de Arquitetura Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

Instituto de Ciências Matemáticas e de Computação. MANUAL DE USO Sistema de Reserva de Salas INTRANET - ICMC-USP

Instituto de Ciências Matemáticas e de Computação. MANUAL DE USO Sistema de Reserva de Salas INTRANET - ICMC-USP Instituto de Ciências Matemáticas e de Computação ISSN - 0103-2569 MANUAL DE USO Sistema de Reserva de Salas INTRANET - ICMC-USP André Pimenta Freire Renata Pontin de M. Fortes N 0 213 RELATÓRIOS TÉCNICOS

Leia mais

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Ciências da Computação e Estatística Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP André

Leia mais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

Sistema Operacional. Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais Sistema Operacional Processo e Threads Introdução a Processos Todos os computadores modernos são capazes de fazer várias coisas ao mesmo tempo. Enquanto executa um programa do usuário, um computador pode

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro Introdução Sistemas Operacionais 1 Sistema Operacional: Um conjunto de programas, executado pelo computador como os outros programas. Função: Controlar o funcionamento do computador, disponibilizando seus

Leia mais

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

PMAT. Sistema de Análise e Acompanhamento de Operações. Manual. Desenvolvido pelo BNDES AS/DEGEP

PMAT. Sistema de Análise e Acompanhamento de Operações. Manual. Desenvolvido pelo BNDES AS/DEGEP PMAT Sistema de Análise e Acompanhamento de Operações Manual 1 Índice 1. O que é o Sistema de Análise e Acompanhamento de Operações PMAT... 3 2. Acessando o sistema pela primeira vez Download... 3 3. Fluxogramas

Leia mais

SOA Introdução. SOA Visão Departamental das Organizações

SOA Introdução. SOA Visão Departamental das Organizações 1 Introdução A Organização é a forma pela qual nós coordenamos nossos recursos de todos os tipos para realizar o trabalho que nos propusemos a fazer. A estrutura de nossas organizações manteve-se basicamente

Leia mais

CURSO DE SISTEMAS DE INFORMAÇÃO

CURSO DE SISTEMAS DE INFORMAÇÃO 1 CURSO DE SISTEMAS DE INFORMAÇÃO EMENTÁRIO DAS DISCIPLINAS 2011.1 BRUSQUE (SC) 2015 2 SUMÁRIO 1ª FASE... 4 01 ARQUITETURA DE COMPUTADORES... 4 02 FILOSOFIA... 4 03 FUNDAMENTOS MATEMÁTICOS PARA COMPUTAÇÃO...

Leia mais

1.1. Aplicações de TVD dinâmicas

1.1. Aplicações de TVD dinâmicas 1 Introdução Uma aplicação de TV Digital (TVD) comumente é composta por um vídeo principal associado a outros objetos (aplicações, imagens, vídeos, textos etc.), que são transmitidos em conjunto possibilitando

Leia mais

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena Tópicos Motivação e Objetivos LP e SOA Processo ADESE

Leia mais

The Architecture of a Mobile Emergency Plan Deployment System

The Architecture of a Mobile Emergency Plan Deployment System The Architecture of a Mobile Emergency Plan Deployment System Fábio Meira de O. Dias, Marcelo Tílio M. Carvalho TecGraf PUC-Rio Tópicos Introdução Planos de emergência Linguagem de definição de planos

Leia mais

Eduardo Bezerra. Editora Campus/Elsevier

Eduardo Bezerra. Editora Campus/Elsevier Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Conteúdo Definição Questionamentos Típicos Visão Geral Ciclo de Vida dos Requisitos Síntese dos Objetivos Gerência de Mudança Identificação de Requisitos Classificação de Requisitos

Leia mais

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial

DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.

Leia mais

Introdução ao Tableau Server 7.0

Introdução ao Tableau Server 7.0 Introdução ao Tableau Server 7.0 Bem-vindo ao Tableau Server; Este guia orientará você pelas etapas básicas de instalação e configuração do Tableau Server. Em seguida, usará alguns dados de exemplo para

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

Leia mais

Tabela de roteamento

Tabela de roteamento Existem duas atividades que são básicas a um roteador. São elas: A determinação das melhores rotas Determinar a melhor rota é definir por qual enlace uma determinada mensagem deve ser enviada para chegar

Leia mais

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo

EXEMPLO: Processo para atualização da hora Processo para monitoramento da necessidade de proteção de tela. Figura 4-1 - Exemplo 4 PROCESSOS Os primeiros sistemas operacionais permitiam que apenas um processo fosse executado por vez. Dessa maneira, este processo tinha todo o sistema computacional a sua disposição. Os atuais sistemas

Leia mais

Introdução a Informática. Prof.: Roberto Franciscatto

Introdução a Informática. Prof.: Roberto Franciscatto Introdução a Informática Prof.: Roberto Franciscatto APRESENTAÇÃO Os computadores chegaram aos diversos níveis das organizações Nestes contexto: Que linguagem entendem? Que produtos podem usar? Dúvidas

Leia mais

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Introdução ao OpenUP (Open Unified Process)

Introdução ao OpenUP (Open Unified Process) Introdução ao OpenUP (Open Unified Process) Diferentes projetos têm diferentes necessidades de processos. Fatores típicos ditam as necessidades de um processo mais formal ou ágil, como o tamanho da equipe

Leia mais

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS

PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS PROPOSTA DE SOFTWARE DE INSTALAÇÃO PARA UM AMBIENTE INTEGRADO DE GERÊNCIA DE PROJETOS E DE PROCESSOS DE NEGÓCIOS Élysson Mendes Rezende Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica

Leia mais

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre Banco de Dados CursoTécnico em Informática Modalidade Integrado Instituto Federal do Sul de Minas, câmpus PousoAlegre Professora Michelle Nery Conteúdo Programático Introdução O que é Banco de Dados O

Leia mais

MANUAL DO USUÁRIO Gerente de projeto

MANUAL DO USUÁRIO Gerente de projeto MANUAL DO USUÁRIO Gerente de projeto Conteúdos 1. O gerente de projeto... 3 2. Painel de início... 4 3. Parâmetros gerais do projeto... 5 4. Designar usuários a projetos e tarefas... 6 5. Orçamento...

Leia mais

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; 1 ARQUITETURA E DESIGN DE SOFTWARE O que é Arquitetura? do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade; do dicionário: Arte de projetar e construir prédios,

Leia mais

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA

MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA Através dos elementos que fazem parte do projeto do sistema é que podemos determinar quais as partes do sistema que serão atribuídas às quais tipos

Leia mais

5 motivos para gerenciar sua frota na nuvem

5 motivos para gerenciar sua frota na nuvem 5 motivos para gerenciar sua frota na nuvem 2 ÍNDICE >> Introdução... 3 >> O que é software na nuvem... 6 >> Vantagens do software na nuvem... 8 >> Conclusão... 13 >> Sobre a Frota Control... 15 3 Introdução

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA JNC MOBILE 2.0. Anderson Buon Berto Gilberto Torrezan Filho. Florianópolis - SC 2005/1

UNIVERSIDADE FEDERAL DE SANTA CATARINA JNC MOBILE 2.0. Anderson Buon Berto Gilberto Torrezan Filho. Florianópolis - SC 2005/1 UNIVERSIDADE FEDERAL DE SANTA CATARINA JNC MOBILE 2.0 Anderson Buon Berto Gilberto Torrezan Filho Florianópolis - SC 2005/1 1 Sumário 1 Introdução 3 2 Denição do Problema 3 3 Trabalhos Correlatos 4 4 Solução

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

DIGIMAN. WTB Tecnologia 2009. www.wtb.com.br

DIGIMAN. WTB Tecnologia 2009. www.wtb.com.br DIGIMAN MANDADO JUDICIAL ELETRÔNICO Arquitetura WTB Tecnologia 2009 www.wtb.com.br Arquitetura de Software O sistema DIGIMAN é implementado em três camadas (apresentação, regras de negócio e armazém de

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Requisitos de Software Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com http://www.edilms.eti.br Requisito O que é um REQUISITO? Em software: É a CARACTERIZAÇÃO do que o

Leia mais

Sistema de Memorandos On-Line. (Projeto Arquitetural)

Sistema de Memorandos On-Line. (Projeto Arquitetural) Universidade Federal de Campina Grande Pb Departamento de Sistemas e Computação Disciplina: Projeto em Computação I 2111185 Professora: Francilene Procópio Garcia, P.Sc Alunos: Arnaldo de Sena Santos;

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Projeto de Sistemas de Tempo Real

Projeto de Sistemas de Tempo Real Projeto de Sistemas de Tempo Real Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama kiev@cin.ufpe.br Slides elaborados pelo professor Marcio Cornélio O autor

Leia mais

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 POR

MANUAL E DICAS ASSISTENTE VIRTUAL (AV) ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 POR MANUAL E DICAS DO ASSISTENTE VIRTUAL (AV) POR ADS DIGITAL (WWW.ADSDIGITAL.COM.BR) VERSÃO DO ASSISTENTE VIRTUAL: 1.3.1 ÍNDICE Introdução...3 Requisitos e Restrições do Assistente...3 Diferenças da Versão

Leia mais