Verificando especificação de LEIS Rodrigo Paes. © LES/PUC-Rio Motivação Revisores –The concepts of scenes and XMLaw require more rigorous treatment such.

Slides:



Advertisements
Apresentações semelhantes
Governança de Sistemas Multi-Agentes Abertos com Fidedignidade Proposta de Tese de Doutorado 27/06/2007 Rodrigo Paes Orientador:
Advertisements

Introdução a Algoritmos
Linguagens de Programação para SMA Viviane Torres da Silva
Parte 1: Organização de Computadores
Validação de Requisitos
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
Identificando requisitos
PMBoK.
MLAW: um Middleware para Aplicacao de Leis Rodrigo Paes.
Elizabeth Suescún Monsalve
Uma proposta de implementação do seguinte estudo de caso adaptado, utilizando o XMlaw. Ballroom etiquette: a case study for norm- governed multi-agent.
Engenharia de software para a utilização de leis de interação em sistemas multi-agentes abertos Rodrigo Paes
Inteligência Computacional aplicada à área Financeira na Geração de uma Carteira de Investimentos – utilizando Multiagentes Inteligentes, através do XMLAw.
Projeto de Sistemas de Software
Metodologias Equipe do Curso de ES para SMA {lucena, furtado, choren,
Formalizando o XMLaw Rodrigo Paes
Metodologias Equipe do Curso de ES para SMA
Linguagens de Modelagem
Construção de Sistemas Multi-Agentes Abertos Fidedignos Através da Utilização de Leis de Interação Seminários de Pesquisa 20/04/2007 Rodrigo Paes
Resumo do Estudo de Caso Apt 04 26/06/2007 Fase 3.2: Ilustração da Contribuição Rodrigo Paes
Linguagens de Modelagem (cont.) (IV)
Modelagem Conceitual para Narração de Estórias
Qualidade nas Leis Rodrigo Paes
Orientação a Objetos: Encapsulamento e Classificação
Linguagens de Modelagem para SMA
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
SISTEMA É UMA ENTIDADE QUE MANTEM SUA EXISTÊNCIA ATRAVÉS DA INTERAÇÃO DE SUAS PARTES ( Bertalanffy ) Interação Mútua Diferente duma simples.
Professora: Aline Vasconcelos IF Fluminense
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
CAPÍTULO Equações dinâmicas de um robô
Análise de Desempenho Analíticos Simulação Implementação real
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Modelagem de Interfaces
Desafios do desenvolvimento de software
Projeto de Sistemas de Software
Determinar o tipo de gramática
Sistemas Distribuídos
Tópicos de Sistemas de Informação A
MAS-ML Tool: Um Ambiente de Modelagem de Sistemas Multi-Agentes
Uma introdução ao seu funcionamento
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
GESTÃO DE PROJETOS Aula 5 1.
Professores: Artulanez Juccelino Silas
Abr-17 Projetar Cápsulas Aula de Laboratório Projetar classes.
Detalhes sobre o curso
Alexandre Mota/Augusto Sampaio {acm,
CSP: Semântica e Refinamento
Diagramas de Atividade
Silas Juccelino Artulanez.  O que é?  Notação  Estado  Mudança de estado  Condições e ações  Diagramas subdivididos  Passos na construção  Verificação.
Especificação, Modelação e Projecto de Sistemas Embutidos / 2009.
Inteligência Artificial
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
Avaliação de Desempenho Simulação
Metodologias (Parte II) Viviane Torres da Silva
e o comportamento verbal
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Diagramas de Estado.
Instrumentos de Levantamento de Informação
Modelando Sistemas em UML
Gestão de projetos de Software GTI-16
Uma Interface em Linguagem Natural em Português para Pergunta-Resposta na Web Grupo de Inteligência Computacional Mestrado em Ciência da Computação Aluno:
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
UML Statechart CIn-UFPE.
Gestão de Projetos - aula 5: organização - Profª. Vilma Tupinambá, MsC
Projetar Cápsulas Parte 1. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar cápsulas | 2 Objetivos deste módulo.
Fundamentos de Engenharia de SW Diagramas da UML Usados no Projeto de Software.
Análise e Conceção de Sistemas
18/09/ /12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,
Transcrição da apresentação:

Verificando especificação de LEIS Rodrigo Paes

© LES/PUC-Rio Motivação Revisores –The concepts of scenes and XMLaw require more rigorous treatment such as its underlying programming models, execution models and semantics Formalização iria ter como consequências –Reflexão sobre a semântica dos elementos do XMLaw –Deixar mais claro qual o poder de expressão da linguagem –Realizar verificações nas leis Estruturais Dinâmicas –Permitir comparações mais precisas com os trabalhos relacionados

© LES/PUC-Rio Visão geral Especificação XMLaw (.xml) Verificador de modelos Especificação Prolog (.pl) Perguntas Respostas Modelo

© LES/PUC-Rio Exemplos de perguntas 1.Existe algum estado no protocolo que nunca é alcançado? 2.Existe alguma situação na qual um agente pode adquirir uma obrigação e uma proibição ao mesmo tempo para uma mesma ação, caracterizando assim uma inconsistência? 3.Quem pode criar uma determinada cena? 4.Em quais estados um determinado agente desempenhando um papel pode participar da cena?

© LES/PUC-Rio Exemplos de perguntas 5.Quais os eventos necessários para ativar uma determinada norma? 6.Quais os eventos necessários para completar uma cena com sucesso? 7.Quais os eventos necessários para cumprir uma determinada obrigação?

© LES/PUC-Rio Passos para especificar o modelo XMLaw em prolog Definir a estrutura de especificação das leis Definir a dinâmica de cada um dos elementos –Ex: como especificar a propagação de eventos? –Como disparar transições no protocolo? –Como ativar normas?

© LES/PUC-Rio Estrutura de especificação message( Id da cena, Id do protocolo, Id da mensagem, Performative, Sender ) Exemplo: –message(cena1,protocolo1, m1,cfp,initiator). –message(cena1,protocolo1, m2,refuse,participant). –message(cena1,protocolo1, m3,propose,participant).

© LES/PUC-Rio Transição transition ( Id da cena, Id do protocolo, Id da transição, estado de origem, evento que ativa a transição, estado destino) Exemplo: –transition(cena1,protocolo1, t1, s1, event(m1,message_arrival), s2). –transition(cena1,protocolo1, t2, s2, event(m2,message_arrival), s3).

© LES/PUC-Rio Norma norm( Id da cena, Id da norma, Tipo da norma, acao que a norma representa, a quem a norma é dada, Indicação se é uma ativação ou desativação, evento que ativa ou desativa a norma) Exemplo: –norm(cena1, n1,obligation, acaoX, initiator,ativa,event(t6,transition_activation)).

© LES/PUC-Rio Ainda sobre estrutura Protocolo: estados de sucesso e falhas –estado_inicial(protocolo1, s1). –estado_sucesso(protocolo1, s5). –estado_falha(protocolo1, s8). Cena: cena(Id da cena, time to live). –cena(cena1, 10000). –criar_cena(cena1, initiator). –entrar_cena(cena1, participant, s1).

© LES/PUC-Rio Dinâmica: cadeia de eventos Operador basico: dispara –dispara( Sequencia de Eventos de Entrada, Sequencia de Eventos Resultantes, Estado Inicial, Estado Final )

© LES/PUC-Rio dispara no prolog dispara([Evento1|Sequencia], AcumuladorEventos,ResultadoEventos, EstadoAtual,ProximoEstado) :- interessado(Alguem, Evento1), gera(Alguem,Evento1, EventoX, EstadoAtual, EstadoIntermediario), dispara([EventoX|Sequencia],[Evento1|AcumuladorEventos],ResultadoEventos, EstadoIntermediario,ProximoEstado). Em bom português: A partir do evento 1 algum outro evento é disparado SE Existe alguém interessado no evento 1 AND Esse alguém no estado atual do prototolo, a partir do evento 1 gera um evento X qualquer e se move para um estado, igual ou diferente ao atual.

© LES/PUC-Rio interessado Implementa a idéia do observer no prolog –% Norma –i nteressado(Nid,Evento) :- norm(_,Nid,_,_,_,ativa,Evento). –% Protocolo –interessado(Pid,EventoRecebido) :- protocolo_controle(Pid, EventoRecebido, _,_,_).

© LES/PUC-Rio gera Representa a geração de eventos –% Protocolo –gera(Pid,EventoRecebido, EventoGerado, EstadoAtual, ProximoEstado) :- protocolo(Pid), protocolo_controle(Pid, EventoRecebido, EventoGerado, EstadoAtual, ProximoEstado). –% Norma –gera(Nid,EventoRecebido, EventoGerado, EstadoAtual, EstadoIntermediario) :- norm(_,Nid,_,_,_,ativa, EventoRecebido ), EventoGerado = event(Nid,norm_activation), EstadoAtual = EstadoIntermediario.

© LES/PUC-Rio protocolo_controle Representa quando um protocolo é ativado. Ou seja, quando existe uma transição que a partir de um evento é disparada. protocolo_controle(Pid, EventoRecebido, EventoGerado, EstadoAtual,ProximoEstado) :- transition(_,Pid,Tid,EstadoAtual,EventoRecebido,ProximoEstado), EventoGerado = event(Tid,transition_activation).

© LES/PUC-Rio Finalmente, voltando as perguntas 1.Existe algum estado no protocolo que nunca é alcançado? 2.Existe alguma situação na qual um agente pode adquirir uma obrigação e uma proibição ao mesmo tempo para uma mesma ação, caracterizando assim uma inconsistência? 3.Quem pode criar uma determinada cena? 4.Em quais estados um determinado agente desempenhando um papel pode participar da cena? ok

© LES/PUC-Rio Ainda com as perguntas 5.Quais os eventos necessários para ativar uma determinada norma? 6.Quais os eventos necessários para completar uma cena com sucesso? 7.Quais os eventos necessários para cumprir uma determinada obrigação? ok

© LES/PUC-Rio O que falta? Eliminar alguns bugs Refinar a modelagem prolog Incluir as noções de tempo: CLOCK