Formalizando o XMLaw Rodrigo Paes

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

Sistema de informação:
Lógica de Predicados e Representação de Conhecimento
Introdução à Linguagem Prolog
Parte 1: Organização de Computadores
gerador de código intermediário
WebDesign Redes de Computadores Aula 05
WebDesign Redes de Computadores Aula 07
3 Paradigmas e Linguagens de Programação
Tridimensionalismo e Aplicação/Interpretação do direito
VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/ Jorge Morais.
Lógica Matemática e Computacional 7 – Introdução à Programação Lógica
Linguagem de Montagem Visão geral.
Eveline Alonso Veloso PUC-MINAS
Prentice Hall Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 8 Defeitos e falhas de software Especificação errada: pode não.
Formalizar semântica da LPO
Linguagens de Programação
PORTAS LÓGICAS Prof. Wanderley.
Metodologias de Controle de Tempo em Transações Assinadas Digitalmente
MLAW: um Middleware para Aplicacao de Leis Rodrigo Paes.
The use of Interaction Laws on Air Traffic Control for Specifying Dependable Interactions Rodrigo Paes
Qualidade nas Leis Rodrigo Paes
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.
Verificando especificação de LEIS Rodrigo Paes. © LES/PUC-Rio Motivação Revisores –The concepts of scenes and XMLaw require more rigorous treatment such.
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)
The use of Interaction Laws on Air Traffic Control for Specifying Dependable Interactions Apt 02 03/04/2007 Domain Analysis Rodrigo Paes
Qualidade nas Leis Rodrigo Paes
Introdução à Programação Lógica
Orientação a Objetos: Encapsulamento e Classificação
SQL 3 Recursão em SQL AULA 7 PGC Sistemas de Banco de Dados
Árvore Binária de Busca
Sistema de dois componentes - condensado
Classificação de dados por Troca: QuickSort
Sistema Progol TÉCNICAS E HEURÍSTICAS. Progol – Tópicos Definição do sistema; Declarações de Modo; Construção da cláusula mais específica; Algoritmo de.
2. A Linguagem Prolog.
Introdução à Modelagem Conceitual 3. Prolog
Luiz A. M. Palazzo Pelotas, maio de 2010
Capítulo 2 Representação de Problemas em Planejamento Clássico
Minimalismo Tecnológico
INF 1771 – Inteligência Artificial
Alocação de Registos (exercício) Compiladores João M. P. Cardoso.
Inteligência Artificial: A Linguagem Prolog (parte 2)
Aula Prática - Prolog Sistemas Inteligentes /~if684
Prolog Programação Lógica Ícaro A. Souza.
RELATÓRIO DO COMITÊ DE ANÁLISE DA FCF-USP 02/05/2012.
Aula Prática - Prolog Sistemas Inteligentes /~if684
Leis como técnica de construção de sistemas críticos Aplicação em sistemas de controle de tráfego aéreo Rodrigo Paes
Determinar o tipo de gramática
Classes de Arquiteturas Tipos de operação Codificação das operações
Conceitos e Linguagens de Programação
mail_de um dos_integrantes do
Linguagens lógicas 2013 – Luiz Mauricio Nascimento Silva
Modelos Matemáticos Usados como tipos em especificações baseadas em modelos Apresentados como teorias ou sistemas formais Uma teoria é definida em termos.
Detalhes sobre o curso
Linguagem Funcional 2 Linguagem Funcional 2 - LF2 Estende LF1 com funções de alta ordem Uma função passa a ser um valor O contexto inclui um único componente:
CSP: Semântica e Refinamento
Redes de Petri Sistema Fila-Máquina Aula 3
1 BCC101 – Matemática Discreta I Introdução. Em Matemática e Computação…  Queremos expressar e resolver problemas  Do que precisamos?  Uma linguagem.
Fazendo a Inconsistência Respeitável Um framework Para o Raciocínio Inconsistente [ Gabbay 91] Dov, Hunter, Making Inconsistency Respectable.
Lógica para Computação
Programação em Lógica Indutiva Jacques Robin DI-UFPE.
Banco de Dados Dedutivos
Programação Lógica com Prolog
UPPAAL Model Checker Overview
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
1 Lógica de Predicados BCC101 Matemática Discreta I.
Transcrição da apresentação:

Formalizando o XMLaw 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 Ferramenta escolhida Prolog –acrónimo do francês Programmation en Logique –baseado num subconjunto do cálculo de predicados de primeira ordem, o que é definido por cláusulas de Horn Exemplos –João é pai de Antônio. father(João", Antônio"). –X é avô de Z, SE X é pai de Y e Y é pai de Z grandFather(GrandFather, Person) :- father(Father, Person), father(GrandFather, Father).

© LES/PUC-Rio Exemplos de perguntas Fatos –father(João", Antônio"). –father(Renato", João"). Regra –grandFather(GrandFather, Person) :- father(Father, Person), father(GrandFather, Father). Perguntas –João é pai de Vitor? father(João, Vitor). –De quem Renato é pai? father(Renato, X). –Renato é avô de Antônio? grandfather(Renato, Antonio ). Uma teoria é uma coleção de fatos e regras.

© LES/PUC-Rio Objetivo Especificar uma teoria para o modelo conceitual do XMLaw usando prolog O que já foi feito? –Especificação parcial da lógica do protocolo

© LES/PUC-Rio Exemplo Protocolo + Norma No prolog: transition(t1, s1, m1, s2). transition(t2, s2, m2, s3). transition(t3, s2, m3, s4). transition(t4, s4, m4, s5). transition(t5, s1, m5, s5). transition(t6, s3, m6, s4). norm(n1,initiator,ativa,ref(t6)). norm(n1,initiator,ativa,ref(t3)). norm(n1,initiator,desativa,ref(t4)). s1 s2 s3 s4 s5 m1 m2 m3 m4 m5 m6 t1 t2 t3 t4 t6 t5 n1

© LES/PUC-Rio Exemplo (1) % % move/2 % move(EstadoOrigem,EstadoDestino,[]) :- EstadoOrigem=EstadoDestino. move(EstadoOrigem,EstadoDestino,[Tid|Resto]) :- transition(Tid,EstadoOrigem,_,AlgumEstado), move(AlgumEstado,EstadoDestino,Resto). Exemplo de pergunta: Quais os caminhos entre s1 e s4 ? –move(s1,s4,Caminho).

© LES/PUC-Rio Exemplo (2) % % messages_not_declared/2 % % Verifica se existem mensagens que estão sendo utilizadas pelas transições mas que não foram declaradas. % messages_not_declared(MessageId,TransitionId) :-transition(TransitionId,_,MessageId,_), \+( message_ref(MessageId) ). Exemplo de pergunta –Existe alguma mensagem utilizada por qualquer transicao que não foi declarada? messages_not_declared(MessageId, TransitionId), transition(TransitionId,_,_,_).

© LES/PUC-Rio Exemplo (3) % % Verifica quais as sequencias de eventos necessários para ativar uma determinada transição. % % Lógica: Existe uma Evento que ativa a transição determinada? Se existe, qual o estado que a transiçao se origina? Existe uma outra transicao que leve a este estado? Se existe, quais os eventos que levam a esta transicao (Note aqui a recursão) ? % eventos(Tid,[Eid]) :- transition(Tid,s1,Eid,_). eventos(Tid,[Eid|Resto]) :-transition(Tid,Estado,Eid,_), transition(Outra,_,_,Estado), eventos(Outra,Resto). Exemplo de pergunta –Quais as sequências de eventos que ativam t4 eventos(t4,Eventos).

© LES/PUC-Rio Exemplo (4) % % Como uma norma poderia ser ativada? % como_ativar_norma(Nid,Resultado) :- norm(Nid,_,ativa,ref(Tid)), eventos(Tid,Resultado). Exemplo de pergunta –Como a norma n1 poderia ser ativada? como_ativar_norma(n1,Resultado).

© LES/PUC-Rio O que falta? Modelar a dinâmica 1.Modelo de eventos do XMLaw 2.Cenas 3.Clocks 4.Actions 5.Constraints 6.…

Obrigado Rodrigo Paes