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