260 likes | 396 Views
Normas em SMA. Viviane Torres da Silva viviane.silva@ic.uff.br 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.
E N D
Normas em SMA Viviane Torres da Silva viviane.silva@ic.uff.br 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
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: • Utilizados para reparar o sistema em caso de violações Mistura a definição da norma com a governança dela
Exemplo de BNF [8] I/III <norm> ::= <norm_name> <deontic_concept> <norm_description> <norm_description> ::= '{(' <action> ')' <sanction> '}' | '{(' <action> <temporal_situation> ')' <sanction> '}' | '{(' <action> 'IF' <if_condition> ')' <sanction> '}' | '{(' <action> <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 Com conflito Permissão comprar usar
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 • 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 Proibição Obrigação Sem conflito comprar Obrigação Permissão Com conflito promoção abrir
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 Sem conflito Obrigação X Y Permissão Com conflito Obrigação Y X
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 • 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 PowersandNorms: ImpactonAgentBehaviour. PhD thesis. UniversityofSouthampton. UK. 2003. • J. Vázquez-Salceda, H. Aldewereld, F. Dignum. "Norms in Multiagent Systems: fromTheory to Practice". InternationalJournalofComputer 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, “Norm-OrientedProgramming of Electronic Institutions.” In AAMAS06, ACM Press, 2006, pp. 670-672 • A. García-Camino, P. Noriega and J Rodríguez-Aguilar, “ImplementingNorms 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. • Vasconcelos, W., Kollingbaum, M., Norman, T. 2007. Resolving Conflict and Inconsistency in Norm-Regulated Virtual Organizations. In Proc. AAMAS.