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.