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

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

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

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

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

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

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

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00 Conteúdo 1. INTRODUÇÃO...3 1.1 CONVENÇÕES, TERMOS E ABREVIAÇÕES... 3 1.1.1 Identificação dos Requisitos... 3 1.1.2 Prioridades

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

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

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

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: davidmr@ifce.edu.br CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0 SUMÁRIO 1 Conceitos Básicos... 3 1.1 O que é Software?... 3 1.2 Situações Críticas no desenvolvimento

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

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

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado

Leia mais

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce Novo Módulo disponível no TOTVS S1 Varejo: permissão de utilização através de licença específica. Mesmo não adquirindo a licença de uso do módulo ele continuará presente na tela do usuário. 1 Na opção

Leia mais

APOO Análise e Projeto Orientado a Objetos. Requisitos

APOO Análise e Projeto Orientado a Objetos. Requisitos + APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas

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

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

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

SISTEMAS DE INFORMAÇÃO PARA GESTÃO

SISTEMAS DE INFORMAÇÃO PARA GESTÃO 07-05-2013 1 SISTEMAS DE INFORMAÇÃO PARA GESTÃO Aula I Docente: Eng. Hercílio Duarte 07-05-2013 2 Objectivo Sistemas Modelos Dados Vs. Informação Introdução aos sistemas de Informação 07-05-2013 3 Introdução

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

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

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

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

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

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

Pós-Graduação em Gerenciamento de Projetos práticas do PMI Pós-Graduação em Gerenciamento de Projetos práticas do PMI Planejamento do Gerenciamento das Comunicações (10) e das Partes Interessadas (13) PLANEJAMENTO 2 PLANEJAMENTO Sem 1 Sem 2 Sem 3 Sem 4 Sem 5 ABRIL

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

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

Processos de Desenvolvimento de Software

Processos de Desenvolvimento de Software Processos de Desenvolvimento de Software Gerenciamento de Projetos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e

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

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR 6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,

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

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

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

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

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

Utilização de Sistemas Distribuídos em MMOGs (Massive MultiPlayer Online Games) Mauro A. C. Júnior

Utilização de Sistemas Distribuídos em MMOGs (Massive MultiPlayer Online Games) Mauro A. C. Júnior Utilização de Sistemas Distribuídos em MMOGs (Massive MultiPlayer Online Games) Mauro A. C. Júnior Tópicos Abordados Um pouco sobre MMOGs Aplicação e Importância Dificuldades e Soluções Tendência Um pouco

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

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE SUMÁRIO usando o izcode... 1 para gerar software rapidamente... 1 introdução... 2 o que é o izcode?... 2 Como funciona o izcode?... 2 os tipos diferentes

Leia mais

3 Arquitetura do Sistema

3 Arquitetura do Sistema 3 Arquitetura do Sistema Este capítulo irá descrever a arquitetura geral do sistema, justificando as decisões de implementação tomadas. Na primeira seção iremos considerar um conjunto de nós interagindo

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Síntese das discussões do fórum Livro-APF: Julho/2010

Síntese das discussões do fórum Livro-APF: Julho/2010 Síntese das discussões do fórum Livro-APF: Julho/2010 Assunto: Estimativa de Aumento de Produtividade Data: 01/07/2010 Link: http://br.groups.yahoo.com/group/livro-apf/message/2577 Dúvida: Existe alguma

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

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

Orientação à Objetos. Aécio Costa

Orientação à Objetos. Aécio Costa Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES Implementação MPS.BR 26 de maio de 2008 4 horas de duração e-mail: (DEIXAR EM BRANCO) RESULTADO: Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Nota INSTRUÇÕES Para a maioria das questões você tem mais de uma opção e

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

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

Algoritmos e Estruturas de Dados II. Trabalho Prático 2 Algoritmos e Estruturas de Dados II Entrega: 24/09/08 Devolução: 15/10/08 Trabalho individual Prof. Jussara Marques de Almeida Trabalho Prático 2 Você foi contratado pela XOL X Online para desenvolver

Leia mais

Definição do Trabalho da Disciplina. Este documento é muito importante: LEIAM ATÉ O FINAL!

Definição do Trabalho da Disciplina. Este documento é muito importante: LEIAM ATÉ O FINAL! Definição do Trabalho da Disciplina Este documento é muito importante: LEIAM ATÉ O FINAL! O trabalho final da disciplina consiste na implementação de um mecanismo de processamento distribuído de tarefas

Leia mais

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário

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

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

MASTER IN PROJECT MANAGEMENT

MASTER IN PROJECT MANAGEMENT MASTER IN PROJECT MANAGEMENT PROJETOS E COMUNICAÇÃO PROF. RICARDO SCHWACH MBA, PMP, COBIT, ITIL Atividade 1 Que modelos em gestão de projetos estão sendo adotados como referência nas organizações? Como

Leia mais

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1. Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco

Leia mais

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental

Ajuda ao SciEn-Produção 1. 1. O Artigo Científico da Pesquisa Experimental Ajuda ao SciEn-Produção 1 Este texto de ajuda contém três partes: a parte 1 indica em linhas gerais o que deve ser esclarecido em cada uma das seções da estrutura de um artigo cientifico relatando uma

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto Prof. Walter Cunha falecomigo@waltercunha.com http://waltercunha.com PMBoK Organização do Projeto Os projetos e o gerenciamento

Leia mais

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES Trabalho de Graduação Orientando: Vinicius Stein Dani vsdani@inf.ufsm.br Orientadora: Giliane

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

Manual do Ambiente Moodle para Professores

Manual do Ambiente Moodle para Professores UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0

Leia mais

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Na Figura a seguir apresento um exemplo de uma mini-tabela de roteamento: Tutorial de TCP/IP - Parte 6 - Tabelas de Roteamento Por Júlio Cesar Fabris Battisti Introdução Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Modelo cliente e servidor Slide 2 Nielsen C. Damasceno Modelos Cliente - Servidor A principal diferença entre um sistema centralizado e um sistema distribuído está na comunicação

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Princípios de Análise e Projeto de Sistemas com UML

Princípios de Análise e Projeto de Sistemas com UML Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 9 Modelagem de estados Todos os adultos um dia foram crianças, mas poucos se lembram disso.

Leia mais

CARDS - Jogo Educativo na Internet para Ensino a Distância

CARDS - Jogo Educativo na Internet para Ensino a Distância CARDS - Jogo Educativo na Internet para Ensino a Distância 1 Introdução Bruno Astuto Arouche Nunes Sergio Barbosa Villas-Boas 1 Henrique Falleiros Tendo em vista que o processo de ensino, nos dias de hoje,

Leia mais

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd. Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos

Leia mais

Plano de Gerenciamento do Projeto

Plano de Gerenciamento do Projeto Projeto para Soluções Contábeis 2015 Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK Brendon Genssinger o e Elcimar Silva Higor Muniz Juliermes Henrique 23/11/2015 1 Histórico de alterações

Leia mais

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS Planificação Anual da Disciplina de TIC Módulos 1,2,3-10.ºD CURSO PROFISSIONAL DE TÉCNICO DE APOIO À GESTÃO DESPORTIVA Ano Letivo 2015-2016 Manual adotado:

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN

SISTEMAS OPERACIONAIS. Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN SISTEMAS OPERACIONAIS Apostila 01 Assunto: Tipos de Sistemas Operacionais UNIBAN 2.0 - INTRODUÇÃO Os tipos de sistemas operacionais e sua evolução estão intimamente relacionados com a evolução do hardware

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Modelo para Documento de. Especificação de Requisitos de Software

Modelo para Documento de. Especificação de Requisitos de Software Modelo para Documento de Especificação de Requisitos de Software Prof. Dr. Juliano Lopes de Oliveira (Baseado na norma IEEE Std 830-1993 - Recommended Practice for Software Requirements Specifications)

Leia mais

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR Jeferson J. S. Boesing 1 ; Manassés Ribeiro 2 1.Aluno do Curso

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

4 Estratégias para Implementação de Agentes

4 Estratégias para Implementação de Agentes Estratégias para Implementação de Agentes 40 4 Estratégias para Implementação de Agentes As principais dúvidas do investidor humano nos dias de hoje são: quando comprar ações, quando vendê-las, quanto

Leia mais

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas PIM PROGRAMA DE INTEGRAÇÃO COM O MERCADO GUIA DE CURSO Tecnologia em Sistemas de Informação Tecnologia em Desenvolvimento Web Tecnologia em Análise e Desenvolvimento de Sistemas Tecnologia em Sistemas

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Arquitetura de Informação

Arquitetura de Informação Arquitetura de Informação Ferramentas para Web Design Prof. Ricardo Ferramentas para Web Design 1 Arquitetura de Informação? Ferramentas para Web Design 2 Arquitetura de Informação (AI): É a arte de expressar

Leia mais

1. Apresentação. 1.1. Objetivos

1. Apresentação. 1.1. Objetivos 1.1. Objetivos 1. Apresentação Neste capítulo estão descritos os objetivos gerais do livro, os requisitos desejáveis do estudante para que possa utilizá-lo eficientemente, e os recursos necessários em

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Introdução aos Computadores

Introdução aos Computadores Os Computadores revolucionaram as formas de processamento de Informação pela sua capacidade de tratar grandes quantidades de dados em curto espaço de tempo. Nos anos 60-80 os computadores eram máquinas

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

Pag: 1/20. SGI Manual. Controle de Padrões

Pag: 1/20. SGI Manual. Controle de Padrões Pag: 1/20 SGI Manual Controle de Padrões Pag: 2/20 Sumário 1 Introdução...3 2 Cadastros Básicos...5 2.1 Grandezas...5 2.2 Instrumentos (Classificação de Padrões)...6 3 Padrões...9 3.1 Padrão Interno...9

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

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

SISTEMA INTEGRADO DE GESTÃO ACADÊMICA MINISTÉRIO DA EDUCAÇÃO INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO TRIÂNGULO MINEIRO SISTEMA INTEGRADO DE GESTÃO ACADÊMICA MÓDULO PROTOCOLO MANUAL DO USUÁRIO VERSÃO: SETEMBRO/2010 SUMÁRIO Introdução...

Leia mais

PLANOS DE CONTINGÊNCIAS

PLANOS DE CONTINGÊNCIAS PLANOS DE CONTINGÊNCIAS ARAÚJO GOMES Capitão SC PMSC ARAÚJO GOMES defesacivilgomes@yahoo.com.br PLANO DE CONTINGÊNCIA O planejamento para emergências é complexo por suas características intrínsecas. Como

Leia mais

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0 O que é BABok? O BABok 2.0, Corpo de Conhecimento de Análise de Negócios, é considerado como um Guia Referência de Práticas de Análise de Negócio. Este guia é publicado e mantido pelo IIBA. O guia BABok

Leia mais

INSTRUÇÃO DE TRABALHO PARA INFORMAÇÕES GERENCIAIS

INSTRUÇÃO DE TRABALHO PARA INFORMAÇÕES GERENCIAIS INSTRUÇÃO DE TRABALHO PARA INFORMAÇÕES GERENCIAIS Asia Shipping Transportes Internacionais Ltda. como cópia não controlada P á g i n a 1 7 ÍNDICE NR TÓPICO PÁG. 1 Introdução & Política 2 Objetivo 3 Responsabilidade

Leia mais

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso

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

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais