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 = ::referee.reputation@PRE+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.