Normas em SMA
Viviane Torres da Silva
[email protected]
http://www.ic.uff.br/~viviane.silva/2010.1/isma
Normas

Definição

Formalização

Operacionalização das normas
– Descrição
– Implementação

Conflitos entre normas
Definição
I/VII

Normas restringem o comportamento dos agentes do sistema

Uma norma define uma permissão, obrigação ou proibição
sobre o comportamento de um agente

A norma especifica o quê está sendo regulado, quando esta
regulação ocorre e quem está sofrendo esta regulação.
– O quê: uma ação ou um estado
– Quando: intervalo de tempo onde a norma está válida
– Quem: papel do agente, agente, grupo, todos
Definição

II/VII
Norma x Lei x Códigos sociais
– Uma norma pode ser violada
– Um lei não pode ser violada
– Os códigos sociais são aceitas como princípios gerais pelos membros da
sociedade ou por um grupo de agentes (não reguladas por punições ou
premiações) [4]

Estados de uma norma:
– Ativa: ocorreu algum evento que ativou a norma. Esta norma deve ser
cumprida antes que ela passe para o estado inativo
– Inativa: ocorreu algum evento que desativou a norma. O agente já
cumpriu com a norma ou já violou a norma
– Comprida: o agente cumpriu com a restrição descrita na norma
– Violada: o agente não cumpriu com a restrição descrita na norma
Definição

III/VII
Normas podem estar associadas a ações ou a estados
– Ex: Um professor não pode agredir a um aluno
– Ex: Um aluno não pode repedir de ano

As ações podem ser de interação entre os agentes ou podem ser
ações de execução
– Ex: Agente X é obrigado a enviar a mensagem Y
– Ex: Todas agentes dentro do grupo G não podem executar ação W
– Ex: Papel Z tem permissão para executar método M de objeto O
Definição

IV/VII
Quando uma norma pode ser definida?
– Em tempo de design ou em tempo de execução
– Conflitos entre normas

Por quem uma norma pode ser definida?
– Design: Pelo design da aplicação
– Runtime: Por um agente que tem poder para fazer isso em tempo de
execução

Quem regula o comportamento dos agentes?
– Outros agentes que tem poder para isso
– Sistemas de governança
Definição
V/VII
Tipos de normas: [3]
 Normas MAS: usadas para regular o comportamento dos
agentes

Enforce norms: regulam o comportamento daqueles que fazem
a governança

Reward norms: encorajam os agentes a cumprir com as normas

Legislation norms: descrevem os agentes que podem criar ou
modificar normas
Definição
VI/VII
Tipos de normas: [5]
 Normas que definem o significado de termos abstratos:
– Um pesquisador é uma pessoa que fez doutorado e se dedica a pesquisa

Normas que definem uma ação abstrata em termos de
subações, procedimentos ou protocolos.
– A matrícula de um aluno é realizada quando este é associado a um curso
de um departamento

Normas que definem obrigações, permissões e proibições
Definição
VII/VII
Papéis associados às normas: [3]
 Legislador: aquele que cria ou modifica uma norma

Defensor: aquele responsável por aplicar a punição ou dar o
prêmio

Destinatário: aquele responsável por cumprir com a norma

Beneficiário: aquele cujos objetivos se beneficiam da norma ter
sido atingida
Formalização

Uso de lógica para descrever formalmente normas e verificar
conflitos entre as normas

Lógica deôntica
– Possibilita escrever logicamente permissões e obrigações (1926)

Event Calculus
– Possibilita representar e raciocinar sobre ações e seus efeitos (1986)
Operacionalização das normas

Como que os agentes sabem qual é o conjunto de normas
aplicadas a eles?
– Normas que estão ativas e que precisam ser cumpridas

Como um agente sabe que outros agentes violaram normas?
– Normas aplicadas a outros agentes mas que influenciam o seu
comportamento

Operacionalização de normas:
– Mecanismos de implementação ajudam os agentes do sistema a
conhecer as normas, as violações e as normas que foram cumpridas
– Descrição de normas
– Racionamento em normas (Racionamento....)
Descrição de normas

Quais são os componentes de uma norma?

Como descrever uma norma?

Vários autores usam a linguagem BNF para descrição de
normas
Componentes de uma Norma


I/II
Conceito deôntico: obrigação, permissão ou proibição
Destinatário: quem tem que cumprir com a norma
– Um agente, um papel, um agente desempenhando papel, um grupo de
agentes, todos os agentes

Regulação:
– Ação que está sendo regulada: de interação, interna ao agente e acesso a
recurso
– Estado que deve ser cumprido

Evento de ativação: quando uma norma é ativada
– Evento pode ser uma ação que foi executada, um estado que foi
modificado, um deadline que foi alcançado

Evento de desativação: quando uma norma é desativada
Componentes de uma Norma

II/II
Condição
– condição para execução da norma



Punição
Prêmio
Condição de violação:
– Condição que caracteriza a violação
– Ex: uma obrigação está ativa mas não preciso cumprir com ela no
momento em que ela foi ativada.

Mecanismo de detecção:
– Mecanismo utilizado para detectar a violação

Planos de reparação:
Mistura a definição da norma com a
governança dela
– Utilizados para reparar o sistema em caso de violações
Exemplo de BNF [8]
I/III
<norm> ::= <norm_name> <deontic_concept> <norm_description>
<norm_description>
| '{(' <action>
| '{(' <action>
| '{(' <action>
::= '{(' <action> ')' <sanction> '}'
<temporal_situation> ')' <sanction> '}'
'IF' <if_condition> ')' <sanction> '}'
<temporal_situation> 'IF' <if_condition>
')' <sanction> '}'
<deontic_concept> ::= 'OBLIGED' | 'FORBIDDEN' | 'PERMISSION'
<action> ::= <non_dialogical_action> | <dialogical_action>
Exemplo de BNF [8]
II/III
<non_dialogical_action> ::= <entity> 'EXECUTE' <exec>
| <agent>':'<role> 'EXECUTE' <exec>
| :<role> 'EXECUTE' <exec>
| 'ALL EXECUTE' <exec>
<dialogical_action> ::= 'UTTER(' <scene> ';' <state> ';'
<illocution> ')'
| 'UTTERED(' <scene> ';' <state> ';' <illocution> ')'
......
Exemplo de BNF [8]
III/III
O juiz tem que verificar o equipamento dos jogadores antes do jogo começar
Punição: O juiz é demitido pelo sindicato dos juízes
Prêmio: A reputação do juiz é aumentada.

checkEquipment OBLIGED
{(referee EXECUTE managingGame:checkEquipment (players)(;;)
BEFORE ( UTTER(game; si; INFORM(S:;SR: referee;R:_;RR:_
[RT:_;CO:gameStart;LA:_;EN:_;ON:_;PR:_;ID:_;RW:_;
IR:_;RB:_]))) )
(PUNISHMENT: refereeSyndicate PUNISHES refereeSyndicate
EXECUTE managingReferees:FireReferee(game,referee)(;;) )
(REWARD: refereeSyndicate REWARDS
::referee.reputation = ::referee.reputation@PRE+1) }
Conflitos entre normas

Duas normas regulam o comportamento do mesmo agente,
falam sobre a mesma ação, no “mesmo” intervalo de tempo

Obrigação e proibição

Proibição e permissão

Obrigação e permissão

Existem várias estratégias para verificação de conflitos e
resolução de conflitos
Conflitos entre normas [9]

Tudo é permitido em qualquer momento até que exista uma
norma que diga o contrário

Exemplo: (proibição x permissão)
– O comprador não pode devolver o produto comprado
– O comprador pode devolver o produto antes de ter utilizado
Proibição
Permissão
comprar
usar
Com conflito
Conflitos entre normas [9]

Exemplo: (obrigação x proibição)
– O vendedor é obrigado a entregar o item ao comprador depois de
receber o dinheiro da venda
– O vendedor é proibido de entregar o item ao comprador antes de receber
o dinheiro da venda
Proibição
Obrigação
Sem conflito
comprar

Exemplo: (obrigação x permissão)
– O vendedor só pode remarcar preço antes da loja abrir
– O vendedor tem que remarcar preço quando for anunciada promoção
Obrigação
Permissão
Com conflito
abrir
promoção
Conflitos entre normas [9]

Utilizando esta abordagem, alguns conflitos só podem ser
verificados em tempo de execução

Ex: Obrigado executar A depois de X
Permitido executar A depois de Y
Permissão
Obrigação
Y
Sem conflito
X
Permissão
Obrigação
X
Y
Com conflito
Normas Organizacionais x Individuais

I
Normas Organizacionais
– Normas definidas pela organização
– Restringem o comportamento dos agentes que desempenham papéis na
organização
– As violações recebem punições aplicadas pela organização

Os agentes têm expectativas sobre o comportamento de outros
agentes. Como definir isso? Como saber quais são os agentes
que melhor atingem estas expectativas?
Normas Organizacionais x Individuais

II
Normas Individuais (ou expectativas)
– Normas definidas por um agente
– As violações não recebem punições vindas da organização
Referencias
1.
2.
3.
4.
5.
6.
7.
Kollingbaum M. (2005). Norm-Governed Practical reasoning Agents. PhD Thesis
Vazquez-Salceda, J., Aldewereld, H., F. Dignum. Implementing Norms in
Multiagent Systems
Lopez-Lopez, F., Luck, M. A model of normative multi-agent systems and
dynamic relationships
Lopez-Lopez, F. Social Powers and Norms: Impact on Agent Behaviour. PhD
thesis. University of Southampton. UK. 2003.
J. Vázquez-Salceda, H. Aldewereld, F. Dignum. "Norms in Multiagent Systems:
from Theory to Practice". International Journal of Computer Systems Science &
Engineering, vol. 20 num. 4, pp. 225-236. CRL publishing, July 2005.
A. García-Camino, J. Rodríguez-Aguilar, C. Sierra and W. Vasconcelos, “NormOriented Programming of Electronic Institutions.” In AAMAS06, ACM Press,
2006, pp. 670-672
A. García-Camino, P. Noriega and J Rodríguez-Aguilar, “Implementing Norms in
Electronic Institutions,” In AAMAS05, ACM Press, 2005, pp. 667-673.
Referencias
Silva, V. “From the Specification to the Implementation of Norms: An Automatic
Approach to Generate Rules from Norms to Govern the Behavior of Agents”,
JAAMAS 2008.
9. Vasconcelos, W., Kollingbaum, M., Norman, T. 2007. Resolving Conflict and
Inconsistency in Norm-Regulated Virtual Organizations. In Proc. AAMAS.
8.
Download

Normas - Instituto de Computação