Agentes Inteligentes
Metodologias para
Sistemas de Software
Baseados em Agente
Rosa Candida Pinto
Complexidade do Software
... muitas partes ...
... com muitas interações...
Engenharia de Software
É uma disciplina que se preocupa com os
problemas práticos inerentes ao
desenvolvimento de sistemas de grande porte.
 Seu papel
Fornecer métodos, ferramentas e
procedimentos que facilitem a
manipulação da complexidade do software.
Engenharia de Software
 Ciclo de Vida do Software
Refere-se à progressão dos projetos de
software, ao desenvolvimento e manutenção, e
eventualmente à sua substituição.
 Especificação
 Projeto
 Validação
 Evolução
Engenharia de Requisitos
É o processo de:
 Aquisição  Refinamento
Verificação
das necessidades do cliente

Com o objetivo de obter uma
especificação correta e completa dos requisitos.
 Atividades do Processo
Estudo de viabilidade
Análise de requisitos
Definição de requisitos
Especificação de requisitos
Eng. de Software X Eng. de Requisitos
Objetivos do Sistema
Engenharia de
Requisitos
Documentos de Requisito
Especificação de Software
Metodologia de
Análise e Projeto
Projeto
Engenharia de
Software
Pedaços de Código
Metodologias de Análise e Projeto
 Responsabilidades
Suportar o processo de elicitação dos requisitos
e do sistema
Analisar o ambiente organizacional
Projetar o sistema de informação
 Fases e Modelos
Fase de Requisitos Iniciais e Análise
Fase de Projeto
MAP: Fase de Análise
 Trata com a especificação do sistema
Modela o domínio da aplicação usando noções
abstratas e gera o modelo conceitual - organizacional
Envolve a engenharia de requisito, a modelagem
estratégica e a modelagem empresarial
Modelo Conceitual descreve ...
 O processo organizacional
 As entidades organizacionais
 Relacionamentos entre as entidades organizacionais
MAP: Fase de Projeto
 Trata como o sistema realizará os requisitos
Modela o sistema de informação
 Usando conceitos concretos que descrevem
componentes de software diretamente . . .
 ...
Gerando o modelo de projeto
Modelo de Projeto fornece ...
 Informações detalhadas de com o que o sistema parece . . .
 . . . Sem fornecer instruções de como implementar o
projeto
É similar a um plano de arquitetura: descreve a forma exata
do produto final sem especificação das técnicas e métodos que
devem ser usados para realizar o plano.
Metodologias de Análise e Projeto
 Paradigmas
Orientada a Função : Top-dow [Yord,1992]
Orientada a Dados : Relacional [Cood,1970]
Orientada a Objetos :
Booch/Rambough/ Jacobson [Booc, 1999]
Orientada a Agentes : Shalon [Shoh,1993]
Orientada a Requisitos : Tropos [Mylo,2000]
MAP Orientada a Agente
- MAPOA Cobre as fases iniciais - especificação e projetodo ciclo de vida de uma aplicação baseada em agente.
 Agentes do Ponto de vista da ES
 É o sistema de computador encapsulado que se encontra
situado em algum ambiente e é capaz de ter ações flexíveis
e autônomas naquele ambiente a fim de alcançar seus
objetivos de projeto [Wool,1995].
Esse é o conceito de agente fraco definido em [Wool,1995]
(i.e., tem autonomia, habilidade social, reativos e pró-ativos)
MAP Orientada a Agente
- MAPOA -
 Abordagens da 1a. Geração de MAPOA
Expansão de metodologias existentes
 Metodologia Orientada a Objeto
 Engenharia do Conhecimento
MAPOA: Extensão OO
Vantagens
Há similaridade entre os paradigmas - OO e OA
Linguagens OO são usadas comumente para
implementar sistemas baseados em agentes
Popularidade da metodologia OO
As visões de sistemas em metodologias OO são
úteis na descrição de agentes.
- estática, dinâmica e funcional -
MAPOA: Extensão OO
OA X OO
Comunicam-se por passagem de mensagem
 OO: é só uma invocação de
método;
Sempre executa a ação solicitada.
 OA: distingue diferentes tipos de mensagens;
Modela as mensagens com ato-de-fala;
Usa protocolos complexos para negociar;
Pode ou não executar a ação solicitada.
MAPOA: Extensão OO
OA X OO
Estado Mental
 OA: agentes podem ser caracterizados pelo seu estado

mental
OO: não define técnicas para modelagem de como o
agente executa suas inferências, seus processos de
planejamento, etc.
Dimensão Social
 OA: agentes são caracterizados pelas suas dimensões

sociais
OO: não define procedimentos para modelagem desses
relacionamentos sociais entre agentes.
MAPOA: Extensão OO
Soluções Existentes
Metodologia Orientada a Agente Baseada em BDI
- Beliefs, Desires and Intentions [Kinn,1996]
AUML Agente [Odel,2000]
Metodologia Gaia para Análise e Projeto
Orientado a Agente [Wool,2000]
MAPOA: Extensão EC
Vantagens
Fornece as técnicas para modelagem do
conhecimento do agente.
A definição de conhecimento do agente
pode ser considerada como um processo de aquisição
de conhecimento
Popularidade Experiência já adquirida nessa
metodologia
MAPOA: Extensão EC
Vantagens
É possível reusar:
 Ferramentas existentes
 Bibliotecas de Ontologias desenvolvidas;
 Biblioteca de Métodos de Resolução de Problemas
MAPOA: Extensão EC
OA X EC
Aspecto Distribuído
 EC: concebem um sistema baseado em conhecimento

como algo centralizado.
OA: os agentes possuem:
Aspectos sociais ou distribuídos;
Atitudes refletidas e orientadas a objetivos.
MAPOA: Extensão EC
Soluções Existentes
CoMoMAS: CommonKADS para modelagem MAS
MAS-CommonKADS
MAPOA: Extensão EC
Soluções Existentes
CoMoMAS X MAS-CommoKADS
 Construídos sobre técnicas e modelos do CommonKADS
 Estendidos para capturar aspectos relevantes de sistemas
multiagentes
 CoMoMAS: é uma MAP para desenvolvimento de sistemas

multiagentes
MAS-CommonKADS: é um ambiente para suportar o
desenvolvimento de descrições conceituais de sistemas
multiagentes
MAP Orientada a Agente
Um Estudo de Caso
Sistema de Gerenciamento de Tráfego Aéreo
Metodologia: Técnicas de Modelagem de Agentes
para Sistemas de Agentes BDI
MAP Orientada a Agente
Um Estudo de Caso
Metodologia: Técnicas de Modelagem de Agentes
para Sistemas de Agentes BDI
- MOA/BDI -
MOA/BDI: Níveis Principais
 Ponto de Vista Externo
Consiste da decomposição do sistema em agentes e
das definições de suas interações
A decomposição é executada usando dois modelos
de Agentes / de Interações
 Ponto de Vista Interno
Executa a modelagem de cada classe do agente BDI
A modelagem é executada usando três modelos
de Crença / de Objetivo / de Plano
MOA/BDI: Ponto de Vista Externo
Modelos de Execução
 Modelo de Agente
Descreve os relacionamentos hierárquicos
entre as diferentes classes de agentes
Identifica as instâncias do agente que podem existir
no sistema
 Modelo de Interação
Descreve as responsabilidades, serviços e interações
entre agentes e o sistema externo
Inclui a sintaxe e a semântica das mensagens
usadas para a comunicação
MOA/BDI: Ponto de Vista Externo
Processo de Desenvolvimento
1. Identifica os papéis do domínio da aplicação para
encontrar os agentes e organiza-los em classes
hierárquicas
Para cada papel: identifica as responsabilidades junto com os
serviços fornecidos e usados para cumprir-la
2. Identifica as interações necessárias para cada serviço,
o conteúdo de informação e o ato da fala de todas elas
3. Introduz as instâncias dos agentes baseados em
considerações de tempo de vida e multiplicidade.
MOA/BDI: Ponto de Vista Interno
Modelos de Execução
 Modelo de Crença - belief
Descreve:
 O conjunto de crenças do agente sobre o ambiente
 O estado interno do agente
 As ações que o agente pode executar
Consiste em um ou mais estado de crença que pode
ser definido e usado para especificar o estado
inicial do agente
MOA/BDI: Ponto de Vista Interno
Modelos de Execução
 Modelo de Objetivo - goal
Descreve os:
 Objetivos e ...
 ... Eventos que o agente pode responder e adotar
Consiste em:
 Um conjunto de objetivos que especificam as metas e
o domínio de eventos
 Um ou mais estados de objetivos usados para
especificar o estado mental inicial do agente
MOA/BDI: Ponto de Vista Interno
Modelos de Execução
 Modelo de Plano - plan
Descreve os planos usados para que os agentes
alcancem os seus objetivos
Consiste em um conjunto de planos que descrevem:
 As
propriedades e as estruturas de controle de planos
individuais
MOA/BDI: Ponto de Vista Interno
Processo de Desenvolvimento
1. Analisa os diferentes planos para encontrar os
objetivos do agente seguindo os passos:
Para cada objetivo, analisa os diferentes contextos nos quais
o objetivo tem que ser encontrado;
Para cada um desses contextos, decompõe os objetivos em
atividades representados por subobjetivos e ações;
Para cada objetivo, analisar em que ordem e sobre que
condições essas atividades e ações necessitam ser executadas,
como falhas devem ser conduzidas e gerar um plano para
encontrar o objetivo.
MOA/BDI: Ponto de Vista Interno
Processo de Desenvolvimento
2. Constrói as crenças do sistema, seguindo os passos:
Analisa os vários contextos e condições que controlam a
execução das atividades e das ações;
Analisa os dados de entradas e saídas requeridos por cada
sub-objetivo no plano e assegura-se que essa informação seja
disponível tanto como crença ou como saída de sub-objetivos
anteriores no plano.
MAP Orientada a Agente
Um Estudo de Caso
Sistema de Gerenciamento de Tráfego Aéreo
Sistema de Gerenciamento de Tráfego Aéreo
Estrutura do Sistema GTA
 Responsabilidade
Auxiliar o controlador de fluxo de tráfego aéreo a:
 Determinar a seqüência de aterrissagem de uma
aeronave num aeroporto com múltiplas pistas;
 Manter a segurança e outras restrições;
 Minimizar atrasos e congestionamentos.
Sistema de Gerenciamento de Tráfego Aéreo
Estrutura do Sistema GTA
 Agentes
Permanentes:
 Coordenador
 Sequenciador
 Modelador do tempo - windmodel.
Variáveis
 Aeronaves onde cada uma delas:
1. Está associada a um vôo particular e
2. Só existe durante o tempo que está sob controle do
controlador de fluxo.
Estrutura do Sistema GTA
Responsabilidades dos Agentes Permanentes
 Coordenador
Criar e remover os agentes aeronave
Distribuir os planos de vôo iniciais das aeronaves
 Sequenciador

Determinar o tempo de aterrissagem
 Interage com os agentes aeronaves e o controlador
de vôo para executar essa tarefa.
Modelador do Tempo - windmodel.
Manter um modelo 4-dimensional das condições de clima
passada, presente e futura no espaço aéreo controlado
Estrutura do Sistema GTA
Agentes Variáveis Aeronaves
 Consistes de três componentes ativos
Preditor
Monitor
Planejador
 Agregados num agente concreto simples
Tempo de vida são comuns
Interações close
Estrutura do Sistema GTA
Responsabilidades dos Preditor
Executar vários serviços entre eles há o principal que:
 Computa o tempo esperado de chegada - TC
 Especifica as escalas - waypoints - no plano de vôo
incluindo o pondo final de aterrissagem
Entradas para execução do serviço principal
 Plano de vôo: pode ser modificado durante o vôo
 Profile de performance da aeronave, a qual é determinada
pelo tipo da aeronave e
pelas condições climáticas
para determinar os últimos usa o agente windmodel
Estrutura do Sistema GTA
Responsabilidades dos Preditor
A computação do tempo de chegada produz:
 Tempos estimados e envelopes de performance os quais ...
 ... São anteriores e posteriores aqueles que a aeronave pode
chegar ao ponto de escala enquanto ...
 ... Permanece dentro do seu perfil de operação permitido.
Fornece as informações encontradas ao
Monitor e o Planejador
Estrutura do Sistema GTA
Responsabilidades dos Monitor
Recebe uma informação tri-dimensional derivada dos
dados do radar e da comparação do TC atual com aquele
predito.
Se ocorre desvios significativos ele analisa a razão para a
ocorrência e notifica o Preditor e o Planejador.
Causas de desvio do vôo:
 Não seguir o plano de vôo : detectado pelo radar
 Não voou na altitude planejada : detectado pelo radar
 Não manteve a velocidade planejada : análise global
 Informações imprecisas do tempo : análise global
Estrutura do Sistema GTA
Responsabilidades dos Monitor
Análise Global:
 Comparar o comportamento de várias aeronaves
 O Monitor pede ao Windmodel para executar a análise global
Estrutura do Sistema GTA
Responsabilidades do Planejador
É solicitado pelo Sequenciador para construir um conjunto
de
planos que permitirão a aeronave aterrizar no horário.
Chamado quando o Sequenciador atribui, ou revisa, a
indicação de tempo de pouso da aeronave
Plano é :
 A Trajetória futura
 A Velocidade aérea e
 O Profile de altitude da aeronave
Estrutura do Sistema GTA
Responsabilidades dos Planejador
O Planejador usa diferentes estratégias, algoritmos e
heurísticas para produzir essas planos.
A escolha do melhor plano depende do estágio do vôo.
O Planejador envia o conjunto de planos para o
controlador de vôo o qual adota um de sua escolha
O Planejador responde as divergências detectadas pelo
Monitor determinando se a aeronave pode ainda alcançar
o seu tempo de aterrissagem ou não.
 Se sim os planos atuais são modificados como requeridos
 Se não, o Planejador notifica o Sequenciador o qual
computa um novo tempo de aterrissagem e repete o ciclo.
Aplicando a Técnica de Modelagem ao GTA
Diagrama de Classes e Instâncias
A
Profile
Dados do Tempo
Preditor
A
A
A
Plano de Vôo
Planejador
A
A
Dados Radar
Monitor
A
A
Aeronave Genérica
S
Modelo Tempo
B737
B747
Windmodel
B737
B747



S
A320
Coordenador
A320
Coordenador
Diagrama de Classes de Crença Predicados Derivados e Funções
Classe
Predicado
Função
Envelope
Time gen-time {static}
Time-list toas
Time-list e-toas
Time-list l-toas
Integer segment
Waypoint next
Boolean deviated = false
gen-time (Envelope, Time)
toas (Envelope, Time-list)
e-toas (Envelope, Time-list)
l-toas (Envelope, Time-list)
segment (Envelope, Integer)
next (Envelope, Waypoint)
deviated(Envelope)
Time gen-time (Envelope)
Time-list toas (Envelope)
Time-list e-toas (Envelope)
Time-list l-toas (Envelope)
Integer segment (Envelope)
Waypoint next (Envelope)
Boolean devialed (Envelope)
on-time (Loen, Time) {eval}
Time eta (Wayponit) {eval}
on-time (Envelope, Loen, Time)
Time eta (Envelop, Wayponit)
envelope (Flightplan, Envelope)
flightplan (Envelope, Flightplan)
Envelope envelope (Flightplan)
Flightplan flightplan (Envelop)
Name flight {static}
Name profile-name {static}
Boolean verified
Integer priority = 2
Altitude cruise-alt
Loen origin
Waypoint-list path
Time lta
flight (Flightplan, Name)
profile-name (Flightplan, Name)
verified (Flightplan)
priority (Flightplan, Integer)
cruise-alt (Flightplan,Alttidude)
origin (Flightplan, Loen)
path (Flightplan, Waypoint-list)
lta (Flightplan, Timr)
Name flight (Flightplan)
Name profile-name (Flightplan)
Boolean verified (Flightplan)
Integer priority(Flightplan)
Altitude cruise-alt (Flightplan)
Loen origin (Flightplan)
Waypoint-list path (Flightplan)
on-path (Loen) {eval}
on-path (Flight, Loen)
envelope
{inverse = flightplan
Flight Plan
Aplicando a Técnica de Modelagem ao GTA
Gráfico de Planos
Plan Name
Plan Graph
activation event [ activatrion condition ] / activation action
Plan Body
activy formula
evento/ action
event [ condition ] / action
evento/ [ condition ]

[ condition ] / action

any [ abort condition ] /abort action
fail / fail action
Documentatiosn
pass / pass action

Metodologias para Sistemas de
Software Baseados em Agente
MSS - Baseadas em Agentes
MSS - Baseados em Agente
Conclusões
Várias metodologias vem surgindo normalmente
extensões de modelos já existentes – OO e EC
Várias características não estão sendo tratadas
nessas metodologias – Ex.: projeto de agentes móveis e
de interface do usuário
Pode-se concluir que a área encontra-se aberta o
suficiente para vários pesquisadores encontrem
soluções para os problemas não resolvidos.
MSS - Baseados em Agente
Bibliografias
[Booc-1999] Booch, G., Rumbaugh and Jacobson, I. The Unified Modeling Language User
Guide Ed. Addison-Wesley - 1999.
[Buss-1999] Busetta, Paolo, Rönnquist, Ralph, Hodgson, Andrew and Lucas , Andrew.
JAKE Intelligent Agents – Components for Intelligent Agents in Java.AgentLink Newsletter.
[Cood-1970] Cood, E. F. A relational Model of Data for Large Shared Data Banks.
Communication of the ACM, 13 (06) June 1970.
[Gene-1994] Genesereth, M. R. e Ketchpel, S.P. Softwares Agents. Communications od the
ACM, 37(7):48-53, 1994.
[Kinn-1996] Kinny, D., Georgeff, M. and Rao, A. A Methodology and Modelling
Technique for Systems of BDI Agents, in W. Van Der Velde and J. Perram, editors.,
Agents Breaking Away: Proceedings of the Seventh European Workshop on Modelling
Autonomous Agents in a Multi-Agent World MAAMAW’96, (LNAI Volume 1038).
Springer-Verlag: Heidelberg, Germany, 1996.
MSS - Baseados em Agente
Bibliografias
[Mylo-2000] Mylopoulos, J. e Castro J. Tropos: A Framework for Requirements-Driven
Software Development. Brinkkemper, J. and Solvberg, A. (eds.), Information Systems
Engineering: State of the Art and Research Themes, Springer-Verlag, June 2000, pp. 262273.
[Odel-2000] Odell, J., Parunak, H. and Bauer, B. Representing Agents in UML,
Proceedings of the AAAI Agents 2000 Conference, (paper submitted), Barcelona, Spain,
June 3-7, 2000.
[Somm-1996] Sommerville, I., Software Engineering – Addison-Wesley – England, 1996.
[Shoh-1993] Shoham, Y. Agent-Oriented Program .Artificial Intelligence, 60(1):51-92,
1993.
MSS - Baseados em Agente
Bibliografias
[Wool-2001] Wooldridge M. and Ciancarini , P. Agent-Oriented Software
Engineering: The State of the Art In P. Ciancarini and M. Wooldridge, editors, AgentOriented Software Engineering. Springer-Verlag Lecture Notes in AI Volume 1957,
January 2001.
[Wool-2000] Wooldridge, M., Jennings, N. and Kinny D. The Gaia Methodology for
Agent-Oriented Analyis and Design, Journal of Autonomous Agents and Multi-Agent
Systems, (to appear) 2000.
[Wool-1995] Wooldrige, M. and Jennings, N. R. Intelligent Agents: Theory and Practice,
Knowledge Engineering Review 10 (2) (1995) 115-152.
[Your-1992] Yourdon, E. Análise Estrutrada Moderna – Ed. Campos - 1992
Download

Projeto de Sistemas baseados em Agentes