Normas em SMA
Viviane Torres da Silva
[email protected]
http://www.ic.uff.br/~viviane.silva/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 em um ambiente
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 aceitos como princípios gerais pelos membros da
sociedade ou por um grupo de agentes (não regulados 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 é obrigada a dar 8 horas de aula por semana
– Ex: Um aluno não pode repetir 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: Todos 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

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, ex. polícia
– Sistemas de governança

Conflitos entre normas
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:
– Ex: Um pesquisador é uma pessoa que fez doutorado e se dedica a
pesquisa

Normas que definem uma ação abstrata em termos de
sub-ações, procedimentos ou protocolos
– Ex: 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)
– O que não está permitido está proibido

Event Calculus
– Possibilita representar e raciocinar sobre ações e seus efeitos (1986)
Operacionalização das normas

Como 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
– Raciocínio em normas
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

Outra abordagem é o uso de linguagem de modelagem para
modelar as normas
Descrição das 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, de 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
Descrição das normas
Componentes de uma Norma

II/II
Condição
– condição para execução da norma



Punição e Prêmio
Contexto de execução
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
Descrição das normas
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>
Descrição das normas
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> ')'
......
Descrição das normas
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 = ::[email protected]+1) }
Descrição das normas
NormML – Linguagem de modelagem

Normas na especificação de SMA e políticas de ccontrole de
acesso na especificação de RBAC (Role Based Access
Control) estão relacionadas

Politicas de controle de acesso descrevem permissões para um
usuário desempenhando um papel poder executar uma ação de
acesso a um recurso

Normas regulam o comportamento de uma entidade ao acessa
um recurso, enviar uma mensagem, atingir um estado do
mundo, …
NormML: elementos da norma

Conceito deôntico
– Permitido, proibido, obrigado

Estidades envolvidas
– Agente, organização, papel, agente desempenhando papel

Contexto
– Ambiente, organização

Ações
– Ações de comunicação (envio e recebimento de mensagem) e ações de
não-comunicação (entrar um ambiente, acessar um recurso)

Restrições de ativação
– Execução de uma ação, especificação de um determinado período no
tempo, uma determinada data, cumprimento ou violação de uma norma

Sanções
– Prêmios e punições
NormML Metamodelo
NormML Metamodelo

Conceitos deonticos

Entidades envolvidas
Recursos
Ações
Ativação
NormML Metamodelo

Sanções

Contexto
Exemplo
N1 states a permission
(deontic concept) to the
sellers (involved entities) of
the organization WebStore
(context) to update (action)
the price of the goods
(resource of the action)
before they receive from the
manager the message of
opens for sale (activation
constraint).
Exemplo
Norm N2 applies an
obligation (deontic
concept) to the sellers of
the organization WebStore
(as norm N1) to delete the
good’s advertisement
(action) if the stock of the
good is empty (activation
constraint).
Validação das normas

Verificação de regras de boa formação
– A norm must be defined in the context of an Organization or an
Environment.

Verificação de conflitos
Conflitos entre normas

Duas normas regulam o comportamento do mesmo agente,
falam sobre a mesma ação, no “mesmo” intervalo de tempo,
dentro do mesmo contexto de execução

Proibição e permissão

Obrigação e proibição

Obrigação e (não) 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