Agentes e Ambientes de Programação para a Web: Uma Visão da Área

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

Download "Agentes e Ambientes de Programação para a Web: Uma Visão da Área"

Transcrição

1 Agentes e Ambientes de Programação para a Web: Uma Visão da Área Marcelo Blois Ribeiro Maurício da Silva Escobar Pontifícia Universidade Católica do Rio Grande do Sul PUCRS Av Ipiranga Porto Alegre - RS blois@pucrs.br snk_pit@yahoo.com.br Resumo. O desenvolvimento de sistemas de informação é uma área com propostas bem evoluídas e que são aplicadas em escala industrial. O desenvolvimento de sistemas multiagentes, entretanto, está ainda incipiente e distante de ser aplicado em escala industrial. Isso se deve principalmente a imaturidade das propostas de desenvolvimento destes tipos de sistemas que possuem características próprias distintas dos sistemas convencionais. Este trabalho apresenta uma visão geral da pesquisa na área e detalha algumas abordagens utilizadas para a especificação e implementação destes sistemas. Introdução A área de Inteligência Artificial vem considerando programas de computadores como entidades distintas e que competem com os seres humanos em certas áreas (Ferber, 1999). Muitos foram as iniciativas ao longo do tempo para aproximar o comportamento de um programa de computador do comportamento de um ser humano. A necessidade de um comportamento mais inteligente por parte de programas de computadores surge da necessidade de aumentar o grau de automação das aplicações, fazendo com que os sistemas decidam o que fazer sem intervenção humana direta baseados em um conjunto de objetivos pré-definidos. Estes sistemas podem ser chamados de agentes. A computação baseada em agentes será a próxima evolução no desenvolvimento de software (Kinny & Georgeff, 1996). Apesar de muitas previsões sobre o futuro da tecnologia de agentes, muitos avanços são necessários para transformar esta tecnologia em um novo paradigma de desenvolvimento de sistemas (Zambonelli et al., 2000). Em especial, faz-se necessária a formalização dos conceitos de agentes e sistemas multiagentes, a criação de metodologias para o desenvolvimento de sistemas inteligentes que utilizem agentes de software como abstração básica e a criação de uma infra-estrutura capaz de abstrair detalhes complexos de implementação destes agentes. A partir destas necessidades, a computação baseada em agentes, historicamente restrita ao ambiente de pesquisa de Inteligência Artificial, passou a influenciar outras áreas da

2 computação, especialmente a área de Engenharia de Software (Kendall et al., 1999; Jennings & Wooldridge, 1999). Este artigo estrutura uma visão geral das pesquisas realizadas em Sistemas Multiagentes do ponto de vista da área de Engenharia de Software na tentativa de gerar metodologias, infraestrutura e aplicações que utilizem de forma produtiva e objetiva agentes de software como abstração básica. A próxima seção apresenta o que é um agente de software e quais são so conceitos relacionados a sua existência. A seção 3 apresenta o que é um sistema multiagentes e quais as dificuldades e benefícios relacionados ao desenvolvimento destes sistemas. A seções 4 e 5 trazem respectivamente as questões relacionadas as metodologias de desenvolvimento de sistemas multiagentes e a infraestrutura necessária a este desenvolvimento. A última seção conclui o artigo apresentando as tendências de uso futuro de sistemas multiagentes. O anexo conta traz o manual do programador de um ambiente de desenvolvimento de sistemas multiagentes para a Web Semântica. Agente de Software O desenvolvimento de agentes inteligentes de software se confunde com a própria busca de tecnologias inteligentes pelos pesquisadores de Inteligência Artificial. A idéia de se criar um software inteligente capaz de pensar de forma similar a um ser humano sempre atraiu inúmeros pesquisadores (Ferber, 1999), mas os resultados das pesquisas nem sempre foram tão atrativos. A analogia com a capacidade dos seres humanos de pensar, norteou a busca por entidades de software capazes de imitar o comportamento humano (Genesereth, 1995). O conceito de agente surgiu na área de Inteligência Artificial Distribuída em 1977, quando Carl Hewitt publicou o seu Modelo de Atores Concorrentes. Neste modelo, Hewitt propôs o conceito de um objeto de execução concorrente, autocontido e interativo, denominado ator. Apesar da importância dos agentes de software, não existe nenhum consenso acerca da sua definição. Muitas definições são usadas na literatura, mas algumas características permanecem entre todas elas. Um agente é uma entidade de software (por exemplo, um programa) que: - É autônomo isto significa que uma vez criado, um agente age de forma autônoma com relação as outras entidades de um sistema. Isto não quer dizer que um agente não se comunique ou coopere com outras entidades, mas que o seu fluxo de execução é independente e, mais importante, que o agente tem autonomia de atuação (onde atuação não quer dizer apenas fluxo de execução independente, mas existência de mecanismos de dedução, associação e indução). - Atua em um ambiente o conceito de ambiente relaciona-se fortemente a existência de vários agentes, mas é fundamental para o entendimento de que o agente tem uma forma de perceber o que está a sua volta no espaço, ou seja, ele possui a capacidade de perceber o ambiente.

3 - É inteligente a inteligência deve ser entendida neste contexto como a capacidade de atuar segundo objetivos e de acordo com o conhecimento que o agente possui do seu ambiente e das suas ações. - Possui um modelo limitado do mundo um agente possui uma representação do ambiente em que atua. O seu escopo limitado deve-se a complexidade das entidades que atuam no ambiente e aos objetivos específicos de cada agente. Com isso, um agente só possui o modelo do mundo necessário ao desempenho de suas tarefas e ao alcance de seus objetivos. Muitas outras características são citadas, mas não definem distintamente um agente. Por exemplo, a capacidade de atuar em benefício de alguém (pessoa ou outro software) é uma característica apresentada por qualquer software programado para o auxílio das atividades de um determinado ator. Esta característica não traz benefícios para a diferenciação de um agente de outros tipos de softwares. Outra característica associada aos agentes é a capacidade de se reproduzir. Esta característica é interessante na diferenciação de agentes, mas não é uma característica necessária a um agente. Isto quer dizer que mesmo que uma entidade não se reproduza, ela poderá ser considerada um agente. Da mesma forma, a mobilidade pode ser vista como uma capacidade adicional de um agente e não uma condição necessária para a sua existência. Podemos sintetizar as idéias apresentadas em: Um agente é uma entidade de software que, a partir de informações sentidas no ambiente, captadas através da interação direta com outros agentes de software ou humanos, ou geradas a partir dos mecanismos dedutivos internos ao agente, atua em um ambiente buscando o alcance de seus objetivos. A figura 1 apresenta uma visão abstrata de um agente, ou ainda, o comportamento básico do mesmo. Percebe-se a ação de saída gerada pelo agente, visando à interação com o ambiente. Normalmente, o agente não possui o controle total do ambiente em que participa, mas, sim, uma influência. Sendo assim, ações aparentemente idênticas podem apresentar efeitos completamente diferentes. Isto confirma a importância da preparação do agente para possíveis falhas. AGENTE sensor de entrada ação de saída AMBIENTE Figura 1 Um agente atuando no ambiente

4 Dentre as várias classificações de agentes existentes, é interessante mencionar a classificação por natureza de atuação. A classificação por natureza de atuação diz respeito a forma como um agente tende a atuar no ambiente. Os agentes quanto a sua atuação podem ser: reativos ou cognitivos. Agentes reativos são aqueles que reagem de acordo com as informações sentidas no ambiente ou originadas por mecanismos exteriores ao agente. Como exemplo deste tipo de agente, podem ser citados os agentes de monitoramento de tráfego de rede que sinalizam condições anômalas nas taxas de transferência de dados em um segmento de rede. Estes agentes reagem às alterações de tráfego, realizando tarefas de acordo com as informações sentidas para o alcence de seus objetivos. Outro tipo de agente é aquele que decide atuar independentemente das informações externas recebidas, quer do ambiente ou da interação com outras entidades externas. Estes agentes são chamados de cognitivos e constituem agentes de mais difícil definição. Os agentes cognitivos, na verdade, baseiam-se em informações geradas por seus mecanismos internos de pensamento e em informações relacionadas ao seu histórico de atuação para a realização de ações, sem a necessidade de obter informações imediatamente antes da tomada de decisão. É interessante notar que o comportamento de um agente cognitivo pode, em determinadas situações, ser igual ao de um agente reativo. Já o contrário não é verdadeiro, ou seja, um agente reativo nunca executa ações de forma independente das informações sentidas. Para a construção de sistemas complexos é interessante considerar a utilização de vários agentes que desempenham tarefas voltadas à obtenção de seus objetivos e que atuam de acordo com os objetivos globais do sistema. Um sistema que possui vários agentes atuando em um ambiente em busca de seus objetivos é denomidado sistema multiagentes ou SMA. Sistemas Multiagentes Assim como a definição de agentes de software, a definição de sistemas multiagentes também é controversa na literatura (Ferner, 1999; Weiss, 1999; Wooldridge & Jennings, 1994). Alguns autores consideram um sistema multiagentes como uma coleção de agentes que se coordenam através de suas interações. Segundo estes autores, um SMA só existe se existe coordenação entre os agentes que o formam. Para outros autores a definição de SMA deve incorporar um conjunto de agentes que interagem entre si e com objetos em um ambiente, mesmo que não haja protocolos de coordenação explícitos entre eles (Wooldridge & Jennings, 1995). Este trabalho apresenta a seguinte definição de SMA baseada na síntese das definições dos principais autores: Um SMA é um sistema formado por diversos agentes que mantém alguma relação semântica entre as suas ações e que atuam em um ambiente.

5 Nesta definição, o conceito de ambiente fica bastante evidente como sendo uma parte de um SMA. O ambiente delimita o escopo de atuação dos agentes de um SMA, servindo como base de informações para os sensores e para o canal de saída das ações dos agentes. Outra questão que surge desta definição é a relação semântica que deve existir entre as ações dos agentes de um SMA. Esta restrição indica que as ações dos agentes devem estar associadas de alguma forma e que esta associação deve servir aos objetivos individuais dos agentes e ao objetivo de todo o sistema ou sociedade de agentes. Este conceito de SMA muitas vezes é traduzido em termos de organizações de agentes (Klusch, 1999). As organizações de agentes servem para definir papéis que um determinado agente pode desempenhar em uma situação. Assim, o mesmo agente pode desempenhar papéis distintos dependendo da organização de agentes da qual ele faz parte. Para ilustrar o conceito de SMA, considere a construção de um sistema de alocação de salas de reunião de acordo com os requisitos de cada reunião que será realizada. Inicialmente, podemos pensar em um sistema que controle as salas e saiba todas as características de cada sala. Neste sistema atuaria um agente que, ao receber uma requisição de sala, faria o casamento entre os requisitos solicitados e os recursos oferecidos por cada sala, checando antes os horários disponíveis para cada uma delas. Caso houvesse possibilidade de alocação, o agente reservaria a sala para a reunião. Se a sala necessária estivesse ocupada e todos os horários desejados estivessem tomados, o agente avisaria ao usuário que não há como ele agendar a reunião. O mesmo problema poderia ser atacado de outras formas, inclusive sem o emprego de sistemas multiagentes. Uma outra maneira de ver a solução do problema seria considerar que não existe só o agente que tentará casar a requisição com a sala, mas um agente que mediará uma cooperação entre agentes que representam as salas para chegarem a melhor opção. Repare que na primeira opção, toda a lógica de encontrar uma solução que esteja de acordo com as restrições de cada reunião estaria no agente de casamento. Já na segunda opção, os agentes das salas poderiam cooperar para melhor se adequar as várias requisições. A segunda opção utiliza uma abordagem onde a lógica decisória está distribuída e em que cada unidade (agente) deve se preocupar com um problema menor a ser resolvido (particionamento). Embora mais complexa, a segunda opção poderia resolver melhor as solicitações de sala ao longo do tempo, já que cada agente de sala negociaria o seu espaço com os outros agentes, tentando chegar a melhor solução para todo o sistema. Este exemplo de cooperação ilustra como a interação entre agentes pode transformar a busca de objetivos particulares dos agentes na busca do objetivo global do sistema (ou organização). Além disso, as diferentes formas de modelar o mesmo problema indicam que o desenvolvimento de sistemas multiagentes pode ser uma tarefa complexa, sendo difícil decidir que tipo de arquitetura utilizar. Existem momentos em que os Sistemas Multiagentes não são a melhor solução para um problema. Sendo assim, um domínio em que é aplicada esta tecnologia deve possuir as seguintes características (Jennings et al., 1996):

6 - Distribuição intrínseca de dados, capacidade de resolução de problemas e responsabilidades; - Autonomia em suas subpartes, conservando a estrutura organizacional; - Complexidade nas interações, exigindo negociação e cooperação; - Diligência, devido à possibilidade de mudanças dinâmicas em tempo real no ambiente. Com base nestas considerações surge as seguinte questões: Como desenvolver sistemas que utilizem agentes como abstração básica garantindo a convergência das ações de cada agente para o objetivo geral do sistema? Como saber se a melhor solução a ser aplicada na solução de um problema é uma solução multiagente? A busca da solução para estas questões é o principal motivador para o surgimento das abordagens de desenvolvimento de sistemas multiagentes. Abordagens de Desenvolvimento de Sistemas Multiagentes Para que os sistemas multiagentes sejam utilizados em escala industrial é necessário que o risco associado a sua produção seja reduzido. (Odell & Bock, 2005) apresenta duas formas de redução do risco na introdução de uma nova tecnologia em escala industrial: 1. Apresentar a nova tecnologia como um incremento ou extensão de métodos confiáveis e bem conhecidos. 2. Prover ferramentas de engenharia que auxiliem a entrega de soluções via métodos já aceitos pela indústria de produção de software. No sentido de auxiliar a produção em larga escala de sistemas multiagentes, muitos pesquisadores buscaram o desenvolvimento de metodologias para a construção destes sistemas. Algumas iniciativas foram iniciadas e posteriormente abandonadas, tornando-se importante historicamente como exemplos de abordagens de desenvolvimento de sistemas multiagentes, como foi o caso de Gaia (Wooldridge et al., 2000). Outras, estão ainda em desenvolvimento, mas não existe um consenso quanto a melhor metodologia para o desenvolvimento de sistemas multiagentes. Uma pergunta surge naturalmente quando se propõem novas metodologias de desenvolvimento de software: por que não podemos usar as metodologias já existentes? No caso do desenvolvimento de sistemas multiagentes, as características instrínsecas aos agentes os tornam distintos, por exemplo, dos objetos presentes no desenvolvimento orientado a objetos. Os agentes possuem simultaneamente autonomia dinâmica (a habilidade de iniciar ações sem invocação externa) e autonomia determinística (a capacidade de recusar ou modificar uma requisição externa) que tornam o comportamento dos agentes difícil de ser descrito pelas técnicas atuais de modelagem de software, como UML. Por exemplo, um diagrama de sequência apresenta a invocação de métodos entre os objetos de uma classe. Se estes objetos fossem agentes, um agente poderia recusar uma mensagem enviada por um outro agente com base na sua deliberação interna. Isso faria com que uma mensagem enviada de uma entidade para outra simplesmente não tivesse efeito, o que não é razoável no caso dos sistemas orientados a objetos.

7 Devido as limitações de UML para modelagem de sistemas multiagentes, (Bauer at al, 2001) apresenta uma proposta para a extensão dos diagramas de UML para a representação de agentes (Agent Unified Modeling Language - AUML). O foco desta extensão está na modelagem no nível da sociedade de agentes, mostrando principalmente o comportamento interativo entre os agentes. Alguns trabalhos estenderam a AUML com outros diagramas, como fez (Parunak & Odell, 2001) para representar as estruturas sociais nas organizações de agentes. Apesar da AUML trazer importantes contribuições em termos de modelagem de SMA, não houve a repercussão esperada pelos autores em torno da proposta. Uma das características que contribuiram para a não adoção da proposta foi a falta de uma metodologia que utilizasse a proposta de forma organizada, mostrando as atividades e os diagramas relacionados a elas que seriam necessários para a construção de um SMA. Muitas metodologias surgiram ao longo do tempo, cada uma focada em diferentes aspectos do desenvolvimento de SMA (Deloach, 2000) (Castro, et al., 2002) (Winikoff & Padghan, 2002). Um ponto comum entre elas é o fato de que são utilizadas para a modelagem e projeto de SMA desde suas primeiras atividades, ou seja, elas presumem que a solução a ser desenvolvida é uma solução SMA (ou pelo menos usam elementos típicos da área de agentes já na especificação de requisitos). A seção 3 apresenta, entretanto, que nem todos os problemas são passíveis de uma solução orientada a agentes. Com base neste raciocínio surgiu o MASUP (Bastos & Ribeiro, 2005). No Multi-agent Systems Unified Process não existe a pretensão de se projetar soluções completamente multiagentes. Parte-se do pressuposto que algumas partes de um sistema serão apropriadas para uma abordagem SMA e que outras partes serão desenvolvidas utilizando-se orientação a objetos. Para tal, o MASUP utiliza a estrutura básica do RUP, derivando o seu fluxo a partir do workflow de requisitos na porção do sistema que parece apropriada para um solução multiagentes. A figura 2 apresenta os modelos presentes no MASUP e os artefatos relacionados a cada modelo. O levantamento de requisitos no MASUP é semelhante ao RUP e gera o modelo de casos de uso, como indicado na figura. A primeira atividade consiste na captura de requisitos por meio de casos de uso. Em seguida, são feitos detalhamentos dos casos de uso, incluindo a elaboração de diagramas de atividades para cada caso de uso. O MASUP encoraja a apresentação dos objetos consumidos e gerados pelas atividades nos diagramas de atividades, já que é com base nestes objetos que é feita a análise de papéis dos agentes caso a solução multiagentes seja apropriada. Na fase de análise é feita uma revisão dos diagramas de atividades gerados no projeto de forma a descobrir quais atividades utilizam uma tomada de decisão que necessita ser codificada diretamente no sistema e que na modelagem original é realizada por algum ator. A figura 3 mostra os diagramas de atividades utilizados para a especificação do caso de uso Aloca Funcionário em uma sistema de alocação de recursos humanos a atividades de um projeto de desenvolvimento de software de acordo com o perfil dos funcionários e das atividades. As atividades selecionar funcionário e confirmar alocação são substituídas na solução SMA pela atividade ativar alocação. Esta substituição deve-se ao fato de que os critérios de tomada de decisão do ator ao selecionar um funcionário para uma determinada

8 atividade precisam ser formalizados no software. Desta forma, podemos criar uma solução que automaticamente leve em consideração atributos das atividades e dos funcionários para realizar uma alocação que aproveite de forma satisfatória as características dos recursos presentes em uma determinada empresa. Terminados os novos diagramas de atividades, é produzida a especificação dos papéis. Esta fase fornece o conhecimento necessário sobre os papéis usados na execução dos casos de uso especificados para o Sistema Multiagentes. Identifica-se a atribuição para cada papel identificado. As tabelas geradas nesta fase apresentam as atribuições derivadas das atividades do caso de uso que solicitam a participação do papel, o caso de uso e a atividade em questão, e as restrições a serem observadas pelo papel para a sua execução. Figura 2 Modelos do MASUP e seus Artefatos Especificados os papéis, são identificados os agentes. O MASUP define um agente como uma agregação de papéis cujas atribuições são complementares. Por atribuição complementar entende-se que o agente deve mudar seu papel quando assumir outra atribuição requisitada por uma atividade do caso de uso. Os agentes são representados por

9 classes de agentes que especificam as atribuições, comportamento e arquitetura compartilhados por um conjunto deles. As informações necessárias para se definir uma classe de agente são: seu nome, seu número máximo de instâncias na sociedade, seus atributos, as interfaces de interação, seus papéis e suas atribuições. As interfaces de interação fornecem os atos de comunicação que o agente é capaz de reconhecer como válidos para atender a requisição de outro agente. Elas são definidas apenas após a especificação dos cenários de interação nos diagramas de seqüência AUML. A classe de agentes é representada por um retângulo que contém, no mínimo, o nome da classe e o número de instâncias para um determinado tipo de agente no sistema. Especificados os agentes, é definida a sociedade de agentes. Nesta especificação, é necessário definir a relação hierárquica entre os agentes por meio do Diagrama de Classes de Agentes. As relações são identificadas dos Diagramas de Atividades Estendidos AUML, nos pontos em que os papéis são responsáveis por executar conjuntamente uma ou mais atividades, e representam canais de comunicação em que mensagens são trocadas. As relações são representadas por setas que conectam os emissores aos receptores, contendo, opcionalmente, os seus nomes. Elas também contêm, em cada extremidade, a multiplicidade e o papel do agente. Figura 3 Caso de Uso Alocar Funcionário: Diagrama de Atividades UML (esq) e Diagrama de Atividades do MASUP com a Indicação de Papéis (dir) Na Fase de Projeto do MASUP, existem atividades para definir as interações entre os agentes e a interação destes com o ambiente de implementação. As principais atividades do MASUP nesta fase são a especificação dos cenários de interação dos agentes e

10 complementação da especificação das classes de agentes com os atos de comunicação para a implementação das interações modeladas. Após a fase de projeto, a parte SMA do sistema está apta a ser implementada usando alguma linguagem de programação disponível e/ou uma plataforma de desenvolvimento de sistemas multiagentes, que provê a infraestrutura necessária a implementação da sociedade de agentes. Infra-estrutura para o Desenvolvimento de Sistemas Multiagentes O crescente uso de agentes de software para a resolução de problemas distribuídos proporciou um avanço no sentido de oferecer uma infra-estrutura de software que facilite a implementação de sistemas multiagentes. Embora existam iniciativas que procuram oferecer suporte a qualquer tipo de aplicação multiagentes, muitas plataformas criadas concentram-se em tipos específicos de sistemas multiagentes. Além da dimensão de análise das plataformas quanto ao suporte a aplicações genéricas, também pode-se identificar diferenças na forma de implementação dos aspectos mais comuns de agência, como representação de conhecimento, comunicação, capacidade de coordenação, mobilidade, entre outros. Dentre as plataformas disponíveis, algumas merecem maior atenção por terem sido usadas em uma maior número de casos com resultados satisfatórios. Segundo (OpenCybele, 2005), OpenCybele é uma plataforma Open Source para o desenvolvimento de sistemas baseados em agentes. Foi construída pela IAI (Intelligent Automation Incorporated), sendo desenvolvida sobre a plataforma Java 2. OpenCybele é composta por um kernel e por diversos serviços. Os mesmos podem ser refinados de acordo com a necessidade, seja ela de ambiente ou de domínio da aplicação de sistemas baseados em agentes. Estes serviços são acessados por meio de interfaces, conhecidas como AOPIs (Activity Oriented Programming Interfaces). Os serviços disponibilizados pela OpenCybele são: o controle de erros, a gerência de concorrência, o controle de eventos, a gerência de threads, a geração de eventos internos, a comunicação e a gerência de eventos de tempo. A figura 4 exibe a arquitetura de serviços em camadas do OpenCybele.

11 Figura 4 Arquitetura de Serviços em Camadas do OpenCybele Segundo (MadKit, 2004), o MadKit é uma plataforma multiagentes escalável e modular, escrita na linguagem Java e construída sob o modelo organizacional AGR (Agente/Grupo/Papel). Neste modelo, os agentes são estabelecidos em grupos e representam papéis. A figura 5 ilustra melhor este conceito. O MadKit permite a alta heterogeneidade em arquiteturas de agentes e em linguagens de comunicação, além de diversas customizações. A comunicação da plataforma é baseada em um mecanismo pontoa-ponto, tornando possível o rápido desenvolvimento de aplicações distribuídas utilizando os princípios de um Sistema Multiagentes. Figura 5 Modelo Agente/Grupo/Papel.

12 Os agentes no MadKit podem ser programados em Java, Scheme, Jess ou BeanShell. Outras linguagens de script também podem ser facilmente adicionadas. Somado a isto, um conjunto de ferramentas facilita a inicialização, exibição, desenvolvimento e monitoração dos agentes e suas organizações. Segundo (Jade, 2005), o JADE, Java Agent DEvelopment Framework, é um framework totalmente implementado na linguagem Java, sendo desenvolvido pelo TILAB, um laboratório de pesquisa incorporado pela Telecom Italia Group. Ele simplifica a implementação de Sistemas Multiagentes baseados na arquitetura de comunicação ponto-aponto, por meio de um middleware aderente às especificações da FIPA e de um conjunto de ferramentas que auxiliam nas fases de correção de erros e deployment. O middleware JADE contém um ambiente de execução para os agentes, uma biblioteca de classes e um conjunto de ferramentas gráficas. O JADE utiliza os seguintes princípios: Interoperabilidade: seguindo as especificações da FIPA, os agentes do JADE podem interoperar com outros agentes; Uniformidade e portabilidade: o JADE fornece APIs homogêneas independentes da versão do Java e da rede utilizada; Facilidade de uso: a complexidade do middleware é escondida por um conjunto simples e intuitivo de APIs; Filosofia do pay-as-you-go: os programadores não precisam utilizar todas as funções fornecidas pelo middleware. A figura 6 descreve, de maneira simplificada, a arquitetura JADE. Pode-se notar que sua arquitetura permite a adaptação às restrições de ambientes com recursos limitados, bem como a integração em arquiteturas complexas. Figura 6 Arquitetura do JADE.

13 Estas plataformas constituem uma base sobre a qual é possível a construção mais rápida de SMAs utilizando os serviços providos pelas estruturas de cada proposta. Cada uma destas plataformas utiliza seu modelo proprietário de representação dos agentes e dos serviços providos. Além disso, a integração entre elas e as metodologias de desenvolvimento de SMAs é feita de forma ad-hoc. Uma lacuna também presente é a falta de capacidade de modelar os mecanismos de tomada de decisão dos agentes, que são deixados para implementação de acordo com a necessidade do programador. A estrutura interna dos agentes é simplificada ou sisplesmente inexistente na maioria das propostas investigadas. Buscando reduzir estas lacunas foi proposto o SemantiCore (Blois & Lucena, 2004), que é um framework que visa promover uma camada de abstração sobre plataformas ou serviços de distribuição de computação que facilite a implementação de sistemas multiagentes para execução na Web Semântica. A Web Semântica foi proposta em (Berners-Lee et al., 2001) e visa a extensão da Web convencional com conteúdos que sejam processáveis diretamente por entidades de software. As anotações semânticas associadas ao conteúdo tradicional das páginas Web permitiriam a interpretação da semântica da página por agentes de software que trabalhem com mecanismos de inferência de forma nativa. Os elementos do Semanticore são estruturados em dois grandes modelos: modelo do domínio e modelo do agente. No modelo do domínio encontram-se as estruturas básicas para o funcionamento da sociedade de agentes. Entre estas estruturas, temos o agente de controle do domínio, o agente de controle de serviços e o agente de controle de recursos. O agente de controle de domínio é responsável pela autenticação de agentes nas sociedades existentes e pela descoberta de agentes dentro de uma sociedade. O agente de controle de serviços armazena quais os serviços oferecidos por cada agente da sociedade e pela sociedade como um todo. Quando é necessário descobrir que agente oferece determinado serviço, o agente que demanda o serviço realiza uma requisição ao agente de controle de serviços para que este verifique os candidatos ao atendimento daquela demanda. O agente de controle de recursos é resposável pela oferta de informações (recursos) para os agentes de um determinado domínio. Este agente oferece uma interface uniforme entre recursos presentes nos domínios Web convencionais e recursos presentes nos domínios semânticos estruturados pelo SemantiCore. Um último agente de controle faz a comunicação entre os diferentes domínios semânticos, sendo denominado gerente de comunicação. O modelo do agente estrutura internamente a arquitetura de um agente no SemantiCore. A estrutura interna do agente é organizada em componentes com funções especializadas que implementam o ciclo de vida de execução de um agente. O Componente Sensorial é responsável pela gestão dos sensores cadastrados para um agente e pela ativação destes sensores de acordo com os recursos recebidos no ambiente. Estes recursos são então passados ao Componentes Decisório que possui regras e fatos relacionados ao histórico de recursos recebidos e a programação feita no agente para tomada de decisão. Os recursos recebidos geram novos fatos que podem disparar as regras do mecanismo decisório. Com base nas derivações das regras, algumas ações podem ser disparadas, sendo então transmitidas ao Componente Executor. Este componente possui os planos de ação do agente na forma de uma sequência de tarefas a serem realizadas para o alcance de seus

14 objetivos. Algumas ações do plano podem gerar novos recursos a serem transmitidos no ambiente. Para isso, este componente aciona o Componente Efetuador que é o responsável pela publicação dos recursos gerados no processamento do agente. Os recursos recebidos e transmitidos ficam armazenados na memória do agente que é controlada pelo Componente Gerenciador de Memória. Com isso, novos processamentos poderão buscar informações relacionadas a processamentos anteriores do mesmo agente. Os elementos básicos do agente, como sensores, regras, fatos, efetuadores, planos de ação e recursos podem ser encapsulados em um objeto denominado Objeto de Conhecimento. Este objeto é gerenciado pelo Componente de Gerência do Conhecimento. Este componente viabiliza a catalogação do conhecimento de cada agente, permitindo o controle de versões e a troca de conhecimento entre agentes de acordo com os objetivos que podem ser atingidos com aquele conhecimento. O SemantiCore possui hotspots associados a diversas características do framework para que seja possível instanciá-lo sobre diversas plataformas. Foram feitas instanciações sobre o FIPAOS e sobre o JADE. Existem hotspots para flexibilizar o mecanismo de envio e recepção de mensagens dos agentes, a codificação dos recursos, a máquina de inferência utilizada para a tomada de decisão, o mecanismo de execução de ações do componente executor, a especificação das ações a serem executadas (podem ser definidas em tempo de execução) e a linguagem de representação dos objetos de conhecimento. Cada instanciação deverá implementar estes hotspots ou utilizar a implementação base provida focada no uso de padrões de Web Semântica nativamente nos agentes, como OWL (Web Ontology Language, 2004), RDF (RDF, 1997), etc. O anexo deste artigo apresenta o manual do programador para o SemantiCore que auxilia na compreensão do uso do ambiente para o desenvolvimento de aplicações baseadas em agentes na Web. Conclusão A utilização em escala industrial de sistemas multiagentes pode revolucionar a maneira como as aplicações são desenvolvidas atualmente. A incorporação de mecanismos de representação de conhecimento no processo de desenvolvimento de software pode facilitar a geração de sistemas multiagentes robustos, onde existe uma garantia em nível de projeto que o sistema atingirá os objetivos para o qual foi proposto. Este cenário somente será possível se as metodologias de desenvolvimento de software incorporarem mecanismos que consigam capturar todas as características destes sistemas e que possuam rastreabilidade entre os artefatos gerados na modelagem e a implementação das estruturas sociais e internas dos agentes. Outra necessidade fundamental é a criação de uma infra-estrutura para implementação destes sistemas que facilite a criação dos elementos básicos de um SMA, provendo abstrações que escondam os detalhes de implementação. Este ferramental permitirá que os programadores concentrem-se em atividades de mais alto nível e que possam atingir novos patamares de codificação de sistemas complexos, abertos e heterogêneos. Este trabalho proporcionou uma visão geral das necessidades da área de Engenharia de Software aplicada a Sistemas Multiagentes contribuindo para um posicionamento crítico

15 com relação as pesquisas realizadas. Espera-se que as novas metodologias possam se tornar estáveis o suficiente para a geração de aplicações mais inteligentes, levando o desenvolvimento de software a novos horizontes em termos de redução de complexidade e possibilidade computacional. Para maiores informações acesse o site Referências BASTOS, R. M.; RIBEIRO, M. B. MASUP: An Agent-Oriented Modeling Process for Information Systems. In: Software Engineering for Multi-Agent Systems III: Research Issues and Practical Applications. Berlin: Springer-Verlag, Bauer, B., Müller, J.P., Odell, J. Agent UML: A Formalism for Specifying Multiagent Interaction. In: Agent-Oriented Software Engineering, Lecture Notes in Computer Science. Berlin: Springer-Verlag pp BERNERS-LEE, T.; HENDLER, J.; LASSILA, O. The semantic web. ScientificAmerican, v.1, n.29, p , BLOIS, M., LUCENA, C. Multi-agent Systems and The Semantic Web-The SemantiCore Agent-based Abstraction Layer. In: ICEIS-International Conference on Enterprise Information Systems. Porto, Portugal, v.4, pp Anais CASTRO, J., KOLP, M., MYLOPOULOS, J. Towards Requirement-Driven Information Systems Engineering: The Tropos Project. Information Systems, n. 27, p , DELOACH, S.A. Multiagent Systems Engineering. International Journal of Software and Knowledge Engineering, v. 11, n. 3, p , FERBER, J. Multi-agent systems: an introduction to distributed artificial intelligence. Oxford: Addison-Wesley, p. GENESERETH, M. R.; SINGH, N.; SYED, M. A distributed and anonymous knowledge sharing approach to software interoperation. International Journal of Cooperative Information Systems, v.4., n.4, p , JADE, Java Agent Development Framework. Desenvolvido por TILAB. Disponível em: < Acesso em: 7 nov JENNINGS, N. et al., Using intelligent agents to manage business processes. In: Practical Applications of Intelligent Agents and Multi-Agent Technology PAAM 96, Lon-don, UK. Anais JENNINGS, N.; WOOLDRIDGE, M. Agent-oriented software engineering. In: EUROPEAN WORKSHOP ON MOMDELLING AUTONOMOUS AGENTS IN A MULTI-AGENT WORLD, 9, 1999, Valência, Espanha. Anais , p KENDALL, E. A.; MALKOUN, A. T., JIANG, C. H. The Application of Object oriented Analysis to Agent Based Systems. In: EUROPEAN WORKSHOP ON MODELLING

16 AUTONOMOUS AGENTS IN MULTI-AGENT WORLD, 9, 1999, Valência, Espanha. Anais KINNY, D., GEORGEFF, M. Modelling and design of multi-agent systems. In: INTERNATIONAL WORKSHOP ON AGENT THEORIES, ARCHOTECTURES, AND LANGUAGES (ATAL-96), 3, 1993, Budapest, Hungria. Anais do Intelligent Agents III, 1996, 401p. KLUSCH, M. Intelligent Information Agents: agent based information discovery and management on the Internet. New York: Springer, p. MADKIT, The Project. Desenvolvido por The MadKit Team. Disponível em: < Acesso em: 7 nov ODELL, J.; BOCK, C. Suggested UML Extensions for Agents. Desenvolvido por IntelliCorp, Inc. Disponível em: < >. Acesso em: 07 nov OPENCYBELE Agent Infrastructure. Desenvolvido por Intelligent Automation Incorporated. Disponível em: < Acesso em: 7 nov PARUNAK, H. V. D.; ODELL, J. Representing social structures in UML. In: INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS, 5, 2001, Montreal, Canadá. Anais do International Workshop on Agent-Oriented Software Engineering, 2001, p RESOURCE DESCRIPTION FRAMEWORK (RDF). Coordenação de Eric Miller; Ralph Swick; Dan Brickley. Desenvolvido pela World Wide Web Consortium, Disponível em < Acesso em 7 nov WEB ONTOLOGY LANGUAGE (OWL). Coordenação de Eric Miller; Jim Hendler. Desenvolvido pela World Wide Web Consortium, Disponível em < Acesso em 7 nov WEISS, G. Multiagent systems: a modern approach to distributed artificial intelligence. Massachussests: The MIT Press, p. WINIKOFF, M., PADGHAM, L. Prometheus: A Methodology for Developing Intelligent Agents (2002). In: Third International Workshop on Agent-Oriented Software Engineering AAMAS. Anais WOOLDRIDGE, M.; JENNINGS, N. Agent theories, architectures and languages: a survey. In: EUROPEAN CONFERENCE ON ARTIFICIAL INTELLIGENCE, 11, 1994, Amsterdã, Holanda. Anais do Workshop on Agent Theories, Architectures, and Languages, 1994, p WOOLDRIDGE, M.; JENNINGS, N. Intelligent agents: theory and practice. Knowledge Engineering Review, v.10, n.2, p , WOOLDRIDGE, M.; JENNINGS, N. R.; KINNY, D. The Gaia methodology for agentoriented analysis and design. Journal of Autonomous Agents and Multi-Agent Systems, v.3, n.3, p , 2000.

17 ZAMBONELLI, F. et al. Agent-oriented software engineering for internet applications. In: OMICINI, A. et al. (Ed.) Coordination of internet agents: models, technologies, and applications. Heidelberg, Alemanha: Springer-Verlag, 2000 p

18 Anexo SEMANTICORE MANUAL DO PROGRAMADOR Última atualização: 28 de março de SemantiCore 2006

19 1. Introdução O SemantiCore é um framework para desenvolvimento de aplicações para a Web Semântica desenvolvido na linguagem Java que provê uma camada de abstração sobre os serviços de distribuição oferecendo aos desenvolvedores uma abstração de alto nível. O framework SemantiCore é divido em dois modelos: o modelo de agente e o modelo de domínio. Ambos os modelos dispõem de pontos de flexibilidade (hotspots) permitindo ao desenvolver associar diferentes padrões, protocolos e tecnologias. 2. Usando o SemantiCore Este capítulo descreve os passos necessários para a criação de aplicações que estendem o framework SemantiCore Plataforma O SemantiCore define o domínio (Semantic Domain) onde os agentes atuam. Cada domínio pode ser pensado como um Sistema Multiagentes já que nesta versão o SemantiCore não possui o conceito de sociedade. Cada domínio é conectado a outro através da infra-estrutura da Internet. Um domínio pode ser distribuído através de diferentes plataformas de hardware ou em um mesmo computador. A figura 1 mostra um exemplo da distribuição de um domínio. Figura 1: Distribuição de um domínio Entre os dois domínios representados na figura 1 existe um canal de comunicação. Este canal é gerenciado pelo agente da plataforma chamado CommunicationManager. Todas as informações que são trocadas entre diferentes domínios passam por este agente,

20 que tem a responsabilidade de receber e enviar a informação até o seu destino. Esta informação deve ser uma mensagem padrão da plataforma (Semantic Message). O framework SemantiCore trabalha com dois arquivos de inicialização. Estes arquivos necessitam ser configurados de acordo com as definições do desenvolvedor da aplicação. O primeiro arquivo é o arquivo XML chamado semanticoreconfig.xml. Este arquivo contém a descrição dos Agentes que serão inicializados junto com a plataforma. A figura 2 contém um exemplo de configuração deste arquivo: Figura 2: Exemplo de configuração (a) Cada tag agent indica a inicialização de um agente na plataforma. Esta tag contêm os atributos name, class e um atributo opcional chamado param. O atributo name é o nome que será atribuído ao agente dentro do domínio, e ele deve ser único; o atributo class é a URL da classe Java que implementa o agente; e o atributo param é um conteúdo do tipo String que será passado no construtor do agente, podendo assim ser manipulado pelo usuário na inicialização do agente. Por exemplo, ele pode ser usado para diferenciar o modo de inicialização do agente de acordo com o seu conteúdo. O segundo arquivo de inicialização é o arquivo XML chamado semanticoreinstantiation.xml. Este deve conter a descrição dos hotspots que serão inicializados e usados como mecanismos default dos agentes na plataforma. A figura 3 mostra um exemplo de configuração deste arquivo: Figura 3: Exemplo de configuração (b) A tag decisionengine referencia o mecanismo decisório do agente, e a classe semanticore.agent.decision.hotspots.genericdecisionengine indica a classe Java que implementa este mecanismo. Para configurar um mecanismo diferente, deve ser especificado na tag class uma nova classe que implementa este mecanismo. Esta regra também se aplica para o mecanismo do componente executor, utilizando a tag executionengine.

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

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

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

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

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

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

ENGENHARIA DE SOFTWARE I

ENGENHARIA DE SOFTWARE I ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis

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

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

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1. ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página

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

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

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

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

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

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

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

UML - Unified Modeling Language

UML - Unified Modeling Language UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril

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

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

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

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

3 Trabalhos Relacionados

3 Trabalhos Relacionados 35 3 Trabalhos Relacionados Alguns trabalhos se relacionam com o aqui proposto sob duas visões, uma sobre a visão de implementação e arquitetura, com a utilização de informações de contexto em SMA, outra

Leia mais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: SGBD Características do Emprego de Bancos de Dados As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes: Natureza autodescritiva

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart. Versão 1.6 15/08/2013 Visão Resumida Data Criação 15/08/2013 Versão Documento 1.6 Projeto Responsáveis

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

2. Sistemas Multi-Agentes (Multi-Agent System - MAS)

2. Sistemas Multi-Agentes (Multi-Agent System - MAS) AORML uma linguagem para modelagem de uma aplicação Multiagentes: Uma Aplicação no Sistema Expertcop. Hebert de Aquino Nery, Daniel Gonçalves de Oliveira e Vasco Furtado. Universidade de Fortaleza UNIFOR

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

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

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

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

Metodologia de Gerenciamento de Projetos da Justiça Federal

Metodologia de Gerenciamento de Projetos da Justiça Federal Metodologia de Gerenciamento de Projetos da Justiça Federal Histórico de Revisões Data Versão Descrição 30/04/2010 1.0 Versão Inicial 2 Sumário 1. Introdução... 5 2. Público-alvo... 5 3. Conceitos básicos...

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

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 UML 2 Guia Prático Gilleanes T.A. Guedes Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2 Novatec capítulo 1 Introdução à UML A UML (Unified Modeling Language ou Linguagem de Modelagem

Leia mais

2 Engenharia de Software

2 Engenharia de Software 20 2 Engenharia de Software 2.1 Design de Sistemas Orientados a Objetos Os Sistemas Orientados a Objetos não são mais novidade hoje em dia já estando há muitos anos no mercado. A orientação a objetos permite

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

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

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no 1.1 RATIONAL UNIFIED PROCESS (RUP) O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no processo que atende pelo nome de Processo Unificado (ou UP do inglês Unified

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

Fase 1: Engenharia de Produto

Fase 1: Engenharia de Produto Fase 1: Engenharia de Produto Disciplina: Análise de Requisitos DURAÇÃO: 44 h O objetivo principal da disciplina é realizar uma análise das necessidades e produzir um escopo do produto. Representará os

Leia mais

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)

Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo

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

4 Plano de Recuperação

4 Plano de Recuperação 4 Plano de Recuperação Como pode ser observado na Seção 3.2, um projeto de um middleware para TVD deve considerar o fato que ele será embarcado em plataformas diversas e, portanto, que fará uso de diversas

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Governança de TI. ITIL v.2&3. parte 1

Governança de TI. ITIL v.2&3. parte 1 Governança de TI ITIL v.2&3 parte 1 Prof. Luís Fernando Garcia LUIS@GARCIA.PRO.BR ITIL 1 1 ITIL Gerenciamento de Serviços 2 2 Gerenciamento de Serviços Gerenciamento de Serviços 3 3 Gerenciamento de Serviços

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Profª Dra. Ana Paula Gonçalves Serra Engenharia de O Processo Uma Visão Genérica Capítulo 2 (até item 2.2. inclusive) Engenharia de - Roger Pressman 6ª edição McGrawHill Capítulo

Leia mais

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

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA INTRODUÇÃO O projeto de um banco de dados é realizado sob um processo sistemático denominado metodologia de projeto. O processo do

Leia mais

Capítulo 9. Gerenciamento de rede

Capítulo 9. Gerenciamento de rede 1 Capítulo 9 Gerenciamento de rede 2 Redes de computadores I Prof.: Leandro Soares de Sousa E-mail: leandro.uff.puro@gmail.com Site: http://www.ic.uff.br/~lsousa Não deixem a matéria acumular!!! Datas

Leia mais

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado

5.1 Exemplos de uso Mediante a instanciação de componentes específicos, o OiL pode ser configurado 5 Avaliação Decidimos avaliar a arquitetura de componentes para o OiL proposta neste trabalho em duas dimensões diferentes. Na primeira, demonstramos a capacidade de configuração do middleware com alguns

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

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

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

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

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial 1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão

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

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

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

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

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Universidade Federal do Espírito Santo Inteligência Artificial Agenda Semântica Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo Vitória 2007/02 Agenda Semântica

Leia mais

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

Universidade Paulista

Universidade Paulista Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen

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

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

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

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

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

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling DIMENSIONANDO PROJETOS DE WEB-ENABLING Uma aplicação da Análise de Pontos de Função Dimensionando projetos de Web- Enabling Índice INTRODUÇÃO...3 FRONTEIRA DA APLICAÇÃO E TIPO DE CONTAGEM...3 ESCOPO DA

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

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

Manual dos Serviços de Interoperabilidade

Manual dos Serviços de Interoperabilidade MINISTÉRIO DO PLANEJAMENTO, ORÇAMENTO E GESTÃO Secretaria de Logística e Tecnologia da Informação Manual dos Serviços de Interoperabilidade Sumário Lista de Figuras...3 Lista de Tabelas...4 Introdução...5

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

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com

Modelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert: BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma

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

Projeto de Sistemas I

Projeto de Sistemas I Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o

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

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto

Introdução a computação móvel. Middlewares para Rede de Sensores sem Fio. Uma avaliação na ótica de Adaptação ao Contexto Introdução a computação móvel Monografia: Middlewares para Rede de Sensores sem Fio Uma avaliação na ótica de Adaptação ao Contexto Adriano Branco Agenda Objetivo do trabalho O que é uma WSN Middlewares

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

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

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

Regulamento do Grupo de Coordenação da Transição da Administração da IANA. V.10 (27 de agosto de 2014)

Regulamento do Grupo de Coordenação da Transição da Administração da IANA. V.10 (27 de agosto de 2014) Regulamento do Grupo de Coordenação da Transição da Administração da IANA V.10 (27 de agosto de 2014) O Grupo de Coordenação da Transição da Administração da IANA (ICG) deve ter um resultado prático: uma

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

Extração de Requisitos

Extração de Requisitos Extração de Requisitos Extração de requisitos é o processo de transformação das idéias que estão na mente dos usuários (a entrada) em um documento formal (saída). Pode se entender também como o processo

Leia mais