Projeto de Domínio baseado em Ontologias na Engenharia de Domínio Multiagente



Documentos relacionados
Uma Ontologia Genérica para a Análise de Domínio e Usuário na Engenharia de Domínio Multiagente

GRAMO: Uma Técnica para a Construção de Modelos de Domínio Reutilizáveis no Desenvolvimento de Sistemas Multiagente

Uma Experiência no Projeto de um Framework Multiagente para a Recuperação e Filtragem de Informação

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

DESENVOLVENDO O SISTEMA

3. Fase de Planejamento dos Ciclos de Construção do Software

UML: Diagrama de Casos de Uso, Diagrama de Classes

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Um Modelo de Domínio e Usuários da Área Turística baseado em Ontologias

ADMINISTRAÇÃO I. Família Pai, mãe, filhos. Criar condições para a perpetuação da espécie

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

2 Engenharia de Software

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

3 Qualidade de Software

Análise e Projeto de Software

Francisca Raquel de Vasconcelos Silveira Gustavo Augusto Lima de Campos Mariela Inés Cortés

Transformação de um Modelo de Empresa em Requisitos de Software

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes

Figura 5 - Workflow para a Fase de Projeto

Qualidade de Software

Processo de Avaliação da Transparência Organizacional

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Modelagem de Processos. Prof.: Fernando Ascani

Uma Abordagem para Tratamento de Regras de Negócio nas Fases Iniciais do Desenvolvimento

ESTUDO DE CASO: LeCS: Ensino a Distância

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

Desenvolvimento estruturado versus orientado a objetos.

Um Processo para a Engenharia de Domínio e de Aplicações Multiagente: As Fases de Projeto de Domínio e de Aplicações

Casos de uso Objetivo:

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Engenharia de Software II

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

REQUISITOS DE SISTEMAS

1 Introdução. Componentes Usuários. Provedor de Serviços. Figura 1.1 Ambiente de oferecimento de serviços

Organização. Trabalho realizado por: André Palma nº Daniel Jesus nº Fábio Bota nº Stephane Fernandes nº 28591

A NECESSIDADE DE UMA NOVA VISÃO DO PROJETO NOS CURSOS DE ENGENHARIA CIVIL, FRENTE À NOVA REALIDADE DO SETOR EM BUSCA DA QUALIDADE

Desenvolvimento de uma Etapa

O Processo de Engenharia de Requisitos

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

A construção de um manual sobre a utilização dos modelos também poderá alavancar o uso das representações. Este conteria a explicação detalhada da

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Combinando MAS-School, ANote e JADE para o Desenvolvimento de Sistemas Multi-agentes

Fundamentos de Banco de Dados e Modelagem de Dados

Unidade II MODELAGEM DE PROCESSOS

UTILIZAÇÃO DE METODOLOGIAS PARA DESENVOLVIMENTO DE AGENTES: UM ESTUDO DE CASO NA MICROECONOMIA

Integrando o Framework I* com a Gerência de Risco

Avaliando modelos arquiteturais através de um checklist baseado em atributos de qualidade

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

VI Congresso Brasileiro de Software: Teoria e Prática

ONTORMAS: Uma ferramenta dirigida por ontologias para a Engenharia de Domínio e de Aplicações Multiagente

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software

Processo de Software - Revisão

Curso Superior de Tecnologia em Banco de Dados e Sistemas para Internet Disciplina: Projeto Integrador III Prof.: Fernando Hadad Zaidan

Todos nossos cursos são preparados por mestres e profissionais reconhecidos no mercado, com larga e comprovada experiência em suas áreas de atuação.

4.1. UML Diagramas de casos de uso

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

ATENAS: Um Sistema Gerenciador de Regras de Negócio

Engenharia de Software

Guia para elaboração do Modelo de Domínio Metodologia Celepar

Framework para jogos de cartas

Desenvolvimento de Jogos: Uma Análise Crítica do Ensino

Modelagem de Sistemas

Banco de Dados Orientado a Objetos

Versão Setembro/2013. Manual de Processos. Módulo Protocolo

Teste de Software: Um Breve Estudo do Importante Processo no Desenvolvimento de Softwares

Conceitos Fundamentais de Qualidade de Software

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

MODELAGEM DE SISTEMAS DE INFORMAÇÃO

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Projeto 914 BRA PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 03

3 Estratégia para o enriquecimento de informações

SISTEMAS DE INFORMAÇÃO GERENCIAIS

COMISSÃO DE COORDENAÇÃO DE CURSO INTRA-UNIDADE

Curso Técnico em Informática Organização Curricular. A carga horária total dos módulos é oferecida conforme quadro síntese abaixo:

NORMA TÉCNICA E PROCEDIMENTOS GERAIS PARA ADMINISTRAÇÃO DO BANCO DE DADOS CORPORATIVO

Diagrama de Estrutura Composta

EMENTAS DAS DISCIPLINAS

O Tema Progresso e o Princípio de Gerenciar por Estágios. Palavras Chave: Estágios de Gerenciamento. Progresso. Controle. Projetos. PRINCE2.

3 Gerenciamento de Projetos

UM ESTUDO SOBRE OS FRAMEWORKS JSF E PRIMEFACES NO DESENVOLVIMENTO DE SOFTWARE WEB

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

Ontologias na Computação

ATIVIDADES PRÁTICAS SUPERVISIONADAS

O Processo Unificado

MODELAGEM DO SISTEMA: DIAGRAMA DE ATIVIDADES

Transcrição:

s Projeto de Domínio baseado em Ontologias na Engenharia de Domínio Multiagente Steferson Ferreira, Rosário Girardi e Carla Faria Resumo O projeto de domínio, uma das fases do processo da Engenharia de Domínio, busca a construção de soluções computacionais reutilizáveis de uma família de sistemas. Este artigo apresenta a DDEMAS, uma técnica para o projeto de domínio na Engenharia de Domínio Multiagente. São descritas as fases e produtos da técnica para o projeto arquitetural e de frameworks multiagente. É também apresentada a ONTODD uma ferramenta baseada em ontologias que auxilia a aplicação da DDEMAS. Palavras-chave - Engenharia de Domínio, Frameworks, Ontologias, Projeto de Domínio, Sistemas Multiagente. I. INTRODUÇÃO construção sistemática de software reutilizável é uma Aprática crescente da Engenharia de Software, para a definição de artefatos que possam ser reutilizados em várias situações comuns. O reuso busca o aumento da produtividade, da qualidade e a diminuição de custos e do tempo de desenvolvimento. Juntamente com a reutilização, a prática no desenvolvimento baseado em agentes vem aumentando considerando as vantagens deste paradigma para a resolução de problemas complexos. Na Engenharia de Domínio Multiagente [15], a fase de projeto de domínio busca a construção de frameworks multiagente reutilizáveis no desenvolvimento de aplicações multiagente de uma família de sistemas. Este artigo apresenta a DDEMAS ( Domain Design for Multi-agent Systems ) uma técnica que provê uma abordagem sistemática ao projeto de domínio da Engenharia de Domínio Multiagente e a ONTODD ( Generic Ontology for Domain Design ), uma ferramenta que auxilia a aplicação da DDEMAS. A DDEMAS e a ONTODD são ilustrados através de exemplos de um estudo de caso para a construção de um framework multiagente para a recuperação e filtragem da informação [7]. O artigo está organizado da seguinte forma. Na seção II é apresentada a técnica DDEMAS, detalhando-se cada uma das suas fases e atividades. Na seção III é apresentada a ferramenta ONTODD. Na seção IV são descritos trabalhos relacionados ao Projeto do Domínio e ao Projeto de sistemas multiagente. Por fim, na seção V são apresentadas algumas conclusões sobre este trabalho. II. DDEMAS: UMA TÉCNICA PARA O PROJETO DE DOMÍNIO NA ENGENHARIA DE DOMÍNIO MULTIAGENTE A DDEMAS [25] é uma técnica para a construção de soluções computacionais de uma família de sistemas multiagente. Através da utilização de informações contidas em um modelo de domínio com os requisitos dos sistemas da família e uma coletânea de padrões é construído um framework multiagente através da instanciação da ONTODD, uma ontologia genérica que auxilia a aplicação da técnica (Fig. 1). Coletânea de Padrões Modelo de domínio DDEMAS ONTODD Framework multiagente Fig. 1. Os insumos e os produtos da técnica DDEMAS A tabela I apresenta as fases, tarefas e produtos da técnica DDEMAS, s a seguir. TABELA I FASES, TAREFAS E PRODUTOS DA TÉCNICA DDEMAS Fases Tarefas Produtos Modelo de agentes Mod. de interações Modelagem de agentes, interações e atividades Projeto global Projeto Modelagem de agentes Modelagem de interações e atividades Construção do esboço do framework Seleção de padrão arquitetural Refinamento do framework Detalhamento dos agentes do framework Seleção de padrão de projeto Refinamento dos agentes Mod. de atividades Esboço do modelo arquitetural Modelo arquitetural Mod. de atividades Mod. de projeto A. Modelagem de agentes, interações e atividades Nesta fase são identificados os agentes que irão compor o framework e suas interações com base em informações do modelo de domínio baseado em ontologias [6][18][23][24], obtido na fase de Análise de Domínio e Usuários da Engenharia de Domínio Multiagente através da aplicação da técnica GRAMO [8][12][20]. 1) Modelagem de agentes O objetivo desta tarefa é identificar e especificar os agentes que irão compor o framework em um modelo de agentes (Fig. 2). Tem-se como proposta inicial o mapeamento um papel para um agente. Porém, podem existir situações onde um 7

agente pode englobar mais de um papel, ou ainda, da necessidade de atribuir um papel a mais de um agente, de forma a atender requisitos de coesão, desempenho e reusabilidade. Cada agente irá realizar um conjunto de atividades necessárias para o cumprimento de suas responsabilidades. Estas atividades são derivadas diretamente das atividades dos papéis desempenhados pelos agentes. : Nome do Papel: Nome(s) do(s) papel(is) referente(s) Responsabilidades: - Responsabilidade que este agente tem. Atividades: -Atividades realizadas por este agente -Atv 1. -Atv 2. Interações: -Lista das interações necessárias para a realização das atividades. Representação de um agente no modelo de agentes Fig. 2. A identificação das interações entre agentes deve ser executada em paralelo com a identificação dos agentes, pois aspectos como níveis de troca de informações ou utilização de recursos podem influenciar a definição dos agentes. Deve-se fazer uma análise da necessidade de se integrar agentes que possuam responsabilidades afins, atividades próximas ou comunicação em excesso, ou da necessidade de se atribuir atividades de um papel a mais de um agente. 2) Modelagem de interações e atividades Esta tarefa está ligada à tarefa de modelagem de agentes. Junto com a identificação dos agentes é preciso identificar e especificar suas interações em um modelo de interações. O detalhamento de interações (origem, destino e seqüência) nas quais um agente participa é representado no modelo de interações. Deve-se fazer um mapeamento do modelo de interações entre papéis do modelo de domínio ao modelo de interações entre agentes considerando os papéis que cada agente desempenha. A representação gráfica deste modelo segue a representação do diagrama de pacotes da AUML [11]. As atividades dos agentes e suas interações devem ainda ser mostradas em modelos de atividades. As atividades deste modelo são obtidas das listas de atividades dos agentes contidos no modelo de agentes. É construído um modelo de atividades para cada modelo de interações entre agentes. A representação gráfica deste modelo segue o padrão do diagrama de atividades da AUML [11]. B. Projeto global Nesta fase é construído o framework multiagente. Os agentes modelados na fase anterior são integrados para formar uma solução computacional ao problema especificado no modelo de domínio. São representados os agentes, entidades externas, suas interações e comunicações. Estes agentes são organizados de forma que o sistema resolva eficientemente o problema, reutilizando boas soluções de projeto disponíveis em uma coletânea de padrões. 1) Construção do esboço do framework Nesta tarefa é especificado um primeiro esboço do framework representando os agentes que o compõem, as s interações entre eles e as entidades externas à sociedade. O produto desta tarefa é uma primeira versão do modelo arquitetural. Na construção deste esboço devem-se observar os modelos de agentes, de interações e atividades, que ilustram as interações entre os agentes e entidades externas e as atividades destes agentes na busca dos objetivos do sistema especificados no modelo de domínio. Deve-se identificar as comunicações entre os agentes e entidades externas, mostrando-as no esboço. Dos modelos de interações são extraídas as comunicações entre agentes e entidades externas (Fig. 3). Recuperador : Indexador : Usuário Interfaceador : Construtor de Surrogate : Descobridor : Fonte de Informação Fig. 3. Esboço do framework 2) Seleção de padrão arquitetural Deve-se refinar o esboço inicial do framework utilizando boas soluções arquiteturais conhecidas para seu contexto particular de aplicação, considerando aspectos de coordenação e cooperação entre os agentes. Para estes fins é utilizada uma coletânea de padrões arquiteturais para o projeto de sistemas multiagente [9][14][21][22], que fornece soluções para a estruturação do sistema multiagente, enfatizando os aspectos de coordenação e cooperação entre os agentes da sociedade, da seguinte forma: 1. Analisa-se o problema ou subproblema que o framework pretende resolver. 2. Seleciona-se um ou mais padrões adequados ao problema e contexto abordados. 3. Depois de selecionados os padrões volta-se a analisar o esboço do framework, organizá-lo seguindo a solução proposta pelo(s) padrão(ões). É estabelecido então, uma estrutura organizacional para sociedade multiagente, aplicando-se a solução descrita no padrão. 4. Definiem-se os mecanismos de cooperação e coordenação a serem utilizados pelos agentes da sociedade sugeridos pelo padrão selecionado. 3) Refinamento do framework Esta tarefa destina-se a construção do framework definitivo e sua representação na versão definitiva do modelo arquitetural (Fig. 4). Para isso são levados em conta o esboço do framework e a solução sugerida pelo padrão selecionado. As soluções dos padrões escolhidos devem ser aplicadas ao problema, seguindo a forma de aplicação descrita no padrão. C. Projeto Nesta fase é realizado o projeto de cada um dos agentes que compõem o framework. 8

1) Detalhamento dos agentes do framework Nesta tarefa é efetuada uma análise do conhecimento e comportamento de cada um dos agentes do framework. O produto desta fase é um modelo de atividades. É construído um modelo de atividades para cada agente, através do refinamento da lista de atividades representada no modelo de agentes e no modelo de atividades produzidos na fase de Modelagem de agentes, interações e atividades. O modelo de atividades deve representar todas as atividades de um agente, independentemente dos objetivos a serem alcançados pelo sistema. A notação gráfica do modelo de atividades é a do diagrama de atividades da AUML [11]. Após criados os modelos de atividades s, deve-se fazer uma breve descrição do funcionamento de cada agente identificado, baseando-se nos comportamentos, atividades e operações, para que posteriormente, na construção dos agentes, estas informações sejam utilizadas. O comportamento requerido dos agentes é analisado segundo os dois tipos básicos de agentes [3]: reativo e deliberativo. De posse das atividades, operações e conhecimento dos agentes, passa-se à construção da arquitetura interna de cada agente. Camada de gerenciamento do usuário Camada de tratamento de informações Camada de busca de informações 11: Usuário Interfaceador : Construtor de Surrogate : 3: 2: Descobridor : 5: 6: 1: Fonte de Informação 10: 7: 4: Recuperador : 9: Indexador : Fig. 4. Modelo arquitetural definitivo 2) Seleção de padrões de projeto Nesta tarefa é realizada uma análise de possíveis padrões de projeto que se aplicam aos comportamentos dos agentes da sociedade. Para isto buscam-se na coletânea, padrões de projeto adequados às tarefas destes agentes [9] [22]. O processo funciona da seguinte forma: 1. Analisa-se o problema ou subproblema que o agente pretende resolver. 2. Seleciona-se um ou mais padrões que combinem com o problema e o contexto tratados, além de analisar as forças destes padrões; 3. Caso não exista nenhum padrão que forneça soluções ao 8: s comportamento do agente, deve-se utilizar os padrões básicos: deliberativos e reativos, especializando-os segundo os comportamentos específicos. 4. Depois de selecionados os padrões, os agentes são estruturados segundo a solução proposta pelo(s) padrão(ões). 3) Refinamento dos agentes Esta tarefa destina-se a criação do modelo de projeto que representa os agentes e suas arquiteturas internas, definidas através da aplicação dos padrões de projeto selecionados na tarefa anterior. A estrutura deve estar baseada em módulos que englobam o comportamento e o conhecimento do agente. É construído um modelo de projeto para cada agente. Na Tabela II temos um exemplo de modelo de projeto, ilustrando o detalhamento de um agente. TABELA II TABELA REPRESENTANDO UMA PARTE DO MODELO PROJETO DETALHADO Descrição detalhada do agente Recuperador Papel: Recuperador Padrão de projeto : Padrão reativo Atividades: receber surrogate da consulta, requisitar índice, receber índices, fazer análise de similaridade, comparar surrogates e enviar resultados. Módulos Conteúdos Sensores Receber surrogate da consulta, receber índices indexados Se receber requisição de surrogate de consulta então Regras requisitar e receber índice; se recebeu índice então realizar comparar surrogates e fazer análise de similaridade... Ação Fazer análise de similaridade, comparar surrogates Comunicação Requisitar índice, enviar resultados III. ONTODD: UMA FERRAMENTA PARA O PROJETO DE DOMÍNIO DA ENGENHARIA DE DOMÍNIO MULTIAGENTE A ferramenta ONTODD [17] é uma meta ontologia que representa o conhecimento da técnica DDEMAS facilitando e auxiliando sua aplicação. A ferramenta foi construída com o Protege [5], um ambiente de edição de bases de conhecimento. Uma ontologia no Protégé consiste de: classes: conceitos no domínio abordado que constituem uma hierarquia taxonômica; slots: que descrevem propriedades de classes e instâncias; facetas: que descrevem propriedades de slots e permitem a especificação de restrições nos valores dos slots. A ontologia está agrupada em 3 classes principais: Conceitos da modelagem, Tarefas da modelagem e Produtos da modelagem. Os conceitos da modelagem refletem os conceitos envolvidos e definidos na aplicação da técnica, agentes, atividades e padrões, entre outros. As classes tarefas da modelagem representam as tarefas definidas pela DDEMAS que devem ser seguidas na construção dos produtos da modelagem (Fig. 5). O processo de construção de frameworks multiagente guiado pela ONTODD é ilustrado na Fig. 1. Através da instanciação de meta-classes da ONTODD, em conjunto com a utilização de coletâneas de padrões para a fase de projeto é construída uma ontologia que modela um framework multiagente. Através da instanciação de meta-classes Produtos da 9

modelagem, são construídos os produtos das diferentes fases (Tabela I) contendo as especificações necessárias para a construção do framework. s Fig. 8. Exemplo de modelo de interações As atividades dos agentes, obtidas das instancias da metaclasse agente, e suas interações são representadas em modelos de atividades (Fig. 9). Fig. 5. Hierarquia de meta-classes da ONTODD A. Modelagem de agentes A tarefa Modelagem de agentes busca a construção do modelo de agentes, uma instância da meta-classe modelo de agentes (Fig. 6). Fig. 9. Exemplo de Modelo de atividades C. Construção do esboço do framework Através desta tarefa, a meta-classe esboço do modelo arquitetural é instanciada (Fig. 10). Os agentes que compõem o esboço são extraídos do modelo de agentes e as comunicações entre agentes e entidades externas são extraídas dos modelos de interações. Fig. 6. Exemplo de modelo de agentes É criada uma instancia da meta-classe modelo de agentes onde cada papel do modelo de papéis é associado a uma instância da meta-classe (Fig. 7). Fig. 7. Exemplo de instância de um agente B. Modelagem de interações e atividades Na tarefa Modelagem de interações e atividades é realizada a instanciação das meta-classes modelo de interações e modelo de atividades. O modelo de interações (Fig. 8) é obtido a partir de um modelo de interações entre papéis e entidades externas do modelo de domínio. Fig. 10. Exemplo de esboço do modelo arquitetural D. Seleção de padrão arquitetural Logo após a construção do esboço, o framework deve ser refinado através da seleção e utilização de padrões arquiteturais. Estes padrões e seus atributos estão representados na ONTODD, como instâncias da meta-classe padrão arquitetural. As características do esboço servem como base para a verificação das instâncias da meta-classe padrão arquitetural (Fig. 11). Fig. 11. Padrões arquiteturais de uma coletânea E. Refinamento do framework O esboço do modelo arquitetural é refinado e organizado seguindo a solução encontrada no(s) padrão(ões) 10

selecionado(s). A definição do modelo arquitetural definitivo pode ser observada na Fig. 12. s MaSE [10], MADS [19], porém poucas abordam a construção de produtos reutilizáveis. As técnicas para o projeto do domínio como as metodologias ODM [2] e FODA [4], não estão direcionadas a abordagem multiagente. Este trabalho é parte do projeto de pesquisa MaAE ( Multi- Agent Application Engineering ) [12][15][16] que busca o desenvolvimento de um ambiente para a Engenharia de Domínio Multiagente composto de um conjunto de ferramentas e uma biblioteca de abstrações de software de alto nível reutilizáveis no desenvolvimento de aplicações baseadas em agentes: modelos de domínio, modelos de usuários, padrões de projeto global e, linguagens específicas de domínio, frameworks multiagente e agentes de software. Fig. 12. Exemplo de modelo arquitetural final Esta tarefa destina-se a construção do modelo arquitetural definitivo, que representa o framework final, através da instanciação da meta-classe modelo arquitetural. F. Detalhamento dos agentes do framework Através desta tarefa é criado o modelo de atividades (Fig. 13). Primeiramente são construídos modelos de atividades s dos agentes, através do refinamento das atividades dos agentes representados nos modelos de atividades. Fig. 14. Exemplo de modelo arquitetural Fig. 13. Exemplo de modelo de atividades G. Seleção de padrão de projeto Com os modelos de atividades s construídos e descrição do conhecimento e comportamento dos agentes, são analisadas as instâncias dos padrões de projeto de acordo com os comportamentos dos agentes, centrando-se nos slots que descrevem o contexto e problema tratados. H. Refinamento dos agentes Nesta tarefa é construído o modelo arquitetural (Fig. 14) mostrando os agentes e sua arquitetura, descrevendo seus módulos internos e funcionamento. Cada modelo contém a descrição do agente, o padrão seguido e os módulos internos dos agentes com suas operações e conhecimento. Aplicando o padrão selecionado, o agente é estruturado em módulos, que foram instanciados da meta-classe Módulo. Cada módulo possui atividades, operações e conhecimento representados em instâncias das meta-classes Comportamento e Conhecimento. IV. TRABALHOS RELACIONADOS Existem várias técnicas e metodologias para o desenvolvimento de aplicações multiagente como a GAIA [1], V. CONCLUSÃO Este trabalho apresentou DDEMAS, uma técnica para o Projeto de Domínio na Engenharia de Domínio Multiagente e a ONTODD, uma ferramenta que auxilia a aplicação da técnica. A ONTODD é uma meta ontologia que representa o conhecimento acerca do desenvolvimento de framework multiagente segundo a DDEMAS. A DDEMAS e a ONTODD estão sendo avaliadas e refinadas através da sua aplicação na construção de frameworks para a recuperação e filtragem da informação [25]. Também estão sendo estendidas suas aplicações na resolução de problemas específicos, como a recuperação e filtragem de informação jurídica [7]. O objetivo final é a elaboração de uma metodologia para a Engenharia de Domínio Multiagente, com o desenvolvimento de técnicas para as fases de Análise de Domínio e Usuários, Projeto e Implementação de Domínio, através da integração da DDEMAS com a GRAMO, uma técnica baseada em ontologias para a construção de modelos de domínio e usuários na Análise de Domínio e Usuários [8] [20], que gera os modelos de domínio e usuários utilizados na DDEMAS. VI. REFERÊNCIAS Periódicos: [1] M. Wooldridge, N. R. Jennings, and D. Kinny, The GAIA methodology for agent-oriented analysis and design, Journal of Autonomous Agents and Multi-Agent Systems v. 3 n. 3, pp. 285-312, 2000. [2] S. Shlaer, and S. Mellor, An Object-Oriented Approach to Domain Analysis, ACM SIGSOFT Software Engineering Notes, v.14 n.5, p.66-77, July 1989. 11

Livros: [3] S. Russell and P. Norvig, Artificial intelligence: A Modern Approach. Prentice Hall International, Inc., 1995. Relatórios Técnicos: [4] S. Cohen, K. Kang, J. Hess, W. Novak and S. Peterson, Feature Oriented Domain Analysis (FODA) Feasibility Study, Technical Report, Pittsburgh, Pa.: Software Engineering Institute, Carnegie Mellon University, (CMU/SEI-90-TR-21), 1990. [5] Protégé Project. (2003) http://protege.stanford.edu. Acesso em: 05 de abril de 2004. Artigos publicados em Anais: [6] A. Lindoso, I. Serra, e R. Girardi, ONTOINFOJUS: Um Modelo de Domínio baseado em Ontologias para o Acesso à Informação na Área Jurídica, Anais do V Encontro de Informática do Tocantins (ENCOINFO 2003), Palmas, Tocantins, Brasil, Ed. ULBRA, pp. 251-260. 2003. [7] A. Lindoso, I. Ribeiro e R. Girardi, Uma Experiência no Projeto de um Framework para a recuperação e filtragem da Informação na Engenharia de Domínio Multiagente, artigo submetido. [8] C. Faria, R. Girardi e I. Serra, Modelagem de Domínio e Usuários baseada em Ontologias na Engenharia de Domínio Multiagente, artigo submetido. [9] I. Ribeiro e R. Girardi, Padrões Arquiteturais e de Projeto para a Modelagem de Usuários baseada em s, Anais da 3rd Latin American Conference on Pattern Languages of Programming (SugarLoafPlop 2003), Porto de Galinhas, Brasil. [10] J. Dileo, T. Jacobs, and S. Deloach, Integrating Ontologies into Multiagent Systems Engineering, Proceedings of the 4nd International Bi-Conference Workshop on Agent Oriented Information Systems (AOIS 2002), Bologna, Italy. [11] J. Odell, H. V. D. Parunak and B. Bauer, Extending UML for agents, Proceedings of the 2nd International Bi-Conference Workshop on Agent-Oriented Information Systems at the 17th National conference on Artificial Intelligence (AOIS Worshop at AAAI 2000), Austin, USA, Gerd Wagner, Yves Lesperance, and Eric Yu eds, pp. 3-17. [12] R. Girardi, and C. Faria, A Generic Ontology for the Specification of Domain Models, Proceedings of the 1st International Workshop on Component Engineering Methodology (WCEM 2003) at Second International Conference on Generative Programming and Component Engineering, Efurt, Germany, Ed. Sven Overhage and Klaus Turowski, pp. 41-50. 2003. [13] R. Girardi, Engenharia de Software baseada em s, Anais do IV Congresso Brasileiro de Ciência da Computação, Itajaí, Santa Catarina, Brasil. (A ser publicado) [14] R. Girardi, I Ribeiro and G. Bezerra, Towards a System of Patterns for the Design of Agent-Based Systems, Proceedings of the 2 nd Nordic Conference on Pattern Languages of Programs (VikingPLoP 2003), Bergen, Norway. [15] R. Girardi, Multi-Agent Domain Engineering, Proceedings of the 3 rd Ibero-American Symposium on Software Engineering and Knowledge Engineering (JIISIC 2003) at Scientific Cooperation, Valdívia, Chile, Universidad Nacional de Jujuy, pp. 15-10. [16] R. Girardi, Reuse in Agent-based Application Development, Proceedings of the 1 st International Workshop on Software Engineering for Large-Scale Multi-Agent Systems (SELMAS 2002) at ICSE 2002, Orlando, Florida, United States. [17] S. Ferreira e R. Girardi, Especificação de uma Ontologia Genérica para o Projeto de Domínio de Aplicações Multiagente, Anais da Chilean Computing Week 2003 (CCW 2003), Chillán, Chile. Dissertações e Monografias: [18] A. Lindoso, Desenvolvimento de um Modelo de Domínio baseado em Ontologias para o Acesso à Informação Jurídica, Monografia de Graduação, Departamento de Informática, Universidade Federal do Maranhão UFMA, 2003. [19] A. Sodré, MADS: Uma Metodologia baseada em s para o Desenvolvimento de Software, Dissertação (Mestrado em Engenharia de Eletricidade) Área de Ciência da Computação, Departamento de Engenharia Elétrica, Universidade Federal do Maranhão UFMA, 2001. [20] C. Faria, Uma Técnica para a Aquisição e Construção de Modelos de Domínio e Usuários baseados em Ontologias para a Engenharia de s Domínio Multiagente, Dissertação (Mestrado em Engenharia de Eletricidade) Área de Ciência da Computação, Departamento de Engenharia Elétrica, Universidade Federal do Maranhão UFMA, 2004. [21] G. B. Silva Junior, Padrões Arquiteturais para o Desenvolvimento de Aplicações Multiagente, Dissertação (Mestrado em Engenharia de Eletricidade) Área de Ciência da Computação, Departamento de Engenharia Elétrica, Universidade Federal do Maranhão UFMA, 2003. [22] I. Ribeiro, Um Sistema de Padrões baseados em s para a Modelagem de Usuários e Adaptação de Sistemas, Dissertação (Mestrado em Engenharia de Eletricidade) Área de Ciência da Computação, Departamento de Engenharia Elétrica, Universidade Federal do Maranhão UFMA, 2004. [23] J. Fernandes, Desenvolvimento de um Modelo de Domínio e Usuários baseado em Ontologias para a Área da Pecuária, Monografia de Especialização, CEAPS, Departamento de Informática, Universidade Federal do Maranhão - UFMA, 2004. [24] N. Cerveira, Desenvolvimento de um Modelo de Domínio baseado em Ontologias para a Área Turística, Monografia de Especialização, CEAPS, Departamento de Informática, Universidade Federal do Maranhão - UFMA, 2003. [25] S. Ferreira, Uma técnica e uma ferramenta para o projeto de domínio global e de sistemas multiagente, Dissertação (Mestrado em Engenharia de Eletricidade) Área de Ciência da Computação, Departamento de Engenharia Elétrica, Universidade Federal do Maranhão UFMA, 2004. VII. BIOGRAFIAS Steferson Lima Costa Ferreira Mestre em Ciência da Computação, Universidade Federal do Maranhão, UFMA, Brasil, 2004. Graduado em Ciência da Computação na Universidade Federal do Maranhão, UFMA, Brasil, 2001. Atua como Analista de Sistemas na Secretaria da Fazenda do Estado do Maranhão. Possui publicações em anais de eventos nacionais relacionados com suas atividades de pesquisa. Profª Rosário Girardi (http://maae.deinf.ufma.br/rgirardi.html) Doutor em Informática, Universidade de Genebra, Suíça, 1996. Mestre em Ciência da Computação, UFRGS, Brasil, 1991. Engenheiro de Sistemas em Computação, UdelaR, Uruguai, 1982. Professor Adjunto da Universidade Federal do Maranhão. Atua como docente, pesquisador e orientador no Curso de Pós-graduação em Engenharia Elétrica e no Curso de Graduação em Ciência da Computação. Suas áreas de especialização e pesquisa são Engenharia de Software e Engenharia de Conhecimento. Coordena projetos de pesquisa na área de desenvolvimento de sistemas multiagente, com apoio do CNPq. Carla Gomes de Faria Mestre em Ciência da Computação, Universidade Federal do Maranhão, UFMA, Brasil, 2004. Especialista em Análise e Projeto de Sistemas, Universidade Federal do Maranhão, UFMA, Brasil, 2002. Graduada em Processamento de Dados, Centro Universitário do Maranhão, UNICEUMA, Brasil, 2000. Atua como Assistente de Pesquisa em projeto de desenvolvimento de sistemas multiagente, com apoio do CNPq. Possui publicações em anais de eventos nacionais e internacionais relacionados com suas atividades de pesquisa. 12