engenharia de software para a utilização de leis de interação em sistemas multi-agentes abertos...
TRANSCRIPT
Engenharia de software para a utilização de leis de interação em sistemas multi-agentes abertos
Rodrigo Paes
© LES/PUC-Rio
Sistemas Abertos
• Incerteza– Agentes podem entrar e sair do sistema a qualquer momento
– Agentes podem fornecer respostas diferentes a uma mesma requisição
– Agentes desenvolvidos por diferentes equipes, diferentes objetivos, provavelmente desconhecidos a priori.
– Comportamento global = emerge da união dos comportamentos dos agentes
• Comportamento emergente & Incerteza → Imprevisibilidade nociva– Imprevisibilidade: tendência de mudanças repentinas sem
nenhuma razão aparente.
– Imprevisibilidade falhas no software• É preciso controlar esta imprevisibilidade
© LES/PUC-Rio
Governança usando Leis
• Objetivos gerais
– Garantir que o comportamento de um SMA aberto exibam as propriedades desejadas
– Aumentar a confiança entre os agentes
• Como isso é alcançado?
– Especificação de leis que ditam o que a sociedade (de agentes) espera de seus membros
© LES/PUC-Rio
Características
• O aspectos internos dos agentes não são acessíveis– Não é possível modificá-los para torna-los compatíveis com as leis do
sistema
• Como projetar mecanismos para que as leis tenham impacto na execução do sistema sem acesso aos agentes?
• Qual o impacto das leis no desenvolvimento dos agentes?
• Os agentes tomam suas decisões baseando-se nas leis que existem?
• Mas afinal, LEIS, Agentes Inteligentes, Sociedade …– Ciências Sociais?– Inteligência Artificial?– Engenharia de Software?
© LES/PUC-Rio
Onde entra a engenharia de software?
© LES/PUC-Rio
O problema – Engenharia de Software
• Com o avanço adoção das abordagens de governança, surge a necessidade de técnicas e ferramentas que tornem o seu uso mais produtivo e controlado.
© LES/PUC-Rio
Agora o título ficou mais claro
• Engenharia de software para a utilização de leis de interação em sistemas multi-agentes abertos
© LES/PUC-Rio
O que tem sido feito no LES?
• XMLaw
• Reputação
• Ontologias
• …
• Grupo: http://wiki.les.inf.puc-rio.br/index.php/E-Governance
• Seminários: http://wiki.les.inf.puc-rio.br/index.php/Sistemas_Multiagentes
XMLaw
(perdão e paciência aos que já viram essa parte zilhões de vezes)
“Um punhado de paciência vale mais do que um barril de talento” – provérbio holandês
© LES/PUC-Rio
A Abordagem de Leis
Agente A
Agente B
Pode / Deve
Não Pode
Leis
interação
Organizaçãopossui
© LES/PUC-Rio
Modelo de Interação
• Interceptar as mensagens
• Aplicar as leis que foram especificadas no XMLaw
• Redirecionar
Mecanismo de Leis
Interceptação
© LES/PUC-Rio
Modelo de Interação
• Interceptar as mensagens
• Aplicar as leis que foram especificadas no XMLaw
• Redirecionar
Mecanismo de Leis
Aplicação das Leis
© LES/PUC-Rio
Modelo de Interação
• Interceptar as mensagens
• Aplicar as leis que foram especificadas no XMLaw
• Redirecionar
Mecanismo de Leis
Redirecionar
© LES/PUC-Rio
O Modelo Conceitual
• Conjunto de conceitos para representar as interações
© LES/PUC-Rio
Exemplo: Protocolo de Interação
• Alternativas de interação que os agentes podem seguir.
• Representando a interação
Quais os serviços que
você oferece?
Compras, horário de cinema e paquera !
Escolho o serviço de compras, quais
as lojas que vendem televisões?
Lojas Americanas e Casa e Vídeo.
requisitarserviços
responderc/ lista
informarseleção e requisitar
lojas
responderc/ lista
© LES/PUC-Rio
Como é especificado?
• Protocolo
• Estado
• Transição
<Protocol> <States> ... </States> <Transitions> ... </Transitions></Protocol>
<State id=“aStateId" type="success" label="A state label"/>
initialsucessfailureexecution
<Transition id="anId" from="anStateId" to="anotherStateId" message-ref="aMessageId"/>
© LES/PUC-Rio
Recapitulando
1. Desenvolver as leis usando o XMLaw
2. Iniciar o mediador
3. Informar ao mediador onde a lei está
4. Iniciar os agentes da aplicação
5. Os agentes vão começar a interagir
6. O mediador vai interceptar as mensagens e verificar se elas estão de acordo com o arquivo XMLaw que ele leu
7. Se estiver tudo ok a mensagem é redirecionada, caso contrário ela pode ser bloqueada
Discussões
© LES/PUC-Rio
Níveis de abstração
• Frank Dignum propôs a seguinte classificação– Substantive norm
– Check norm
– Reaction norm
• Exemplo:– Substantive norm
• “The National Transplant Organization is not allowed to use racial data for allocating organs to patients”.
– Check norm • “The inspecting authority should perform random checks of the compliance
to the previous norm every two months ...”.
– Reaction norm • “If racial data are used in the allocation process, then the hospital has to be
fined accordingly.”
• Para implementar é preciso chegar ao nível de “reaction norm”
© LES/PUC-Rio
Como fazer a verificação da conformidade?
• É preciso perceber quando houve uma violação
– Verificações aleatórias
– Monitoramento constante
– Indiretamente, permitindo que outros agentes denunciem a ocorrência da violação e então verificando se a denúncia procede
© LES/PUC-Rio
Arquitetura dos mediadores/observadores
• Centralizada X Distribuída
• Centralizada
– É possível monitorar propriedades globais
Servidor 1 Servidor 1 Servidor 1
Replicação
Balanceamento de carga
…
© LES/PUC-Rio
Descentralizada
© LES/PUC-Rio
Centralizada X Descentralizada
• Centralizada
– Prós• Propriedades globais
– Contras• Ponto único de falha
• Descentralizada
– Prós• Não existe um ponto único de falha
– Contras• Desempenho devido a sincronização de estado dos mediadores (quando se faz uso de
propriedades globais)
• Exemplo: – D ganha permissão XPTO quando a mensagem m2 for enviada.
– Entretanto o mediador de D não sabe que m2 foi enviada, a não ser que haja uma sincronização, ou seja, o mediador de D tem que ser notificado.
A BD
C
m1
m2
Planos para o semestre
© LES/PUC-Rio
O estado da arte
• As abordagens atuais lidam com o problema sob os seguintes pontos de vista
– Mapeamento de normas abstratas para normas mais concretas
• Frank Dignum
– Implementação de mecanismos de enforcement
• AMELI, LGI
– Formalização
• Esteva et. al
© LES/PUC-Rio
O que falta?
• Técnicas de engenharia para
– Reutilização das leis
– Verificação da qualidade
– Método que guie o desenvolvimento através das várias etapas e ferramentas
• Requisitos (law cases - Maíra)
• Projeto
– Frameworks (guga)
• Implementação
• Testes (trabalho do Luis Fernando)
© LES/PUC-Rio
Plano de trabalho (não apenas para o semestre)
• Formalizar o modelo do XMLAw– Escolher o formalismo
• Quais as opções para especificar tanto a estrutura quanto a dinâmica esperada dos elementos?
• Depois de formalizar, responder formalmente a pergunta:– “Qual a diferença entre o modelo do XMLaw e o modelo do ISLANDER o do LGI?“
• Desenvolver ferramenta de especificação gráfica das leis – trabalho em andamento do Ricardo Gralhoz, mas ajuda é bem vinda
• Integrar a formalização do modelo a ferramenta de especificação gráfica.
• Desenvolver ferramenta de monitoramento das leis (luiz leme).• Voltar a desenvolver o trabalho iniciado em 2006.1 (Qualidade nas
leis)– Aplicar medições no estudo de caso do Banco Central
• Utilizar o trabalho do guga para documentar as técnicas de reúso