JSARP – Simulador e Analisador de Redes de Petri

Post on 13-Jan-2016

70 views 5 download

description

JSARP – Simulador e Analisador de Redes de Petri. Felipe Lino Alexandre Sztajnberg felipelino44@gmail.com alexszt@ime.uerj.br DICC / IME / UERJ Rio de Janeiro, RJ, Brasil. Sumário. Motivação Trabalhos relacionados JSARP Trabalhos futuros Conclusão. - PowerPoint PPT Presentation

Transcript of JSARP – Simulador e Analisador de Redes de Petri

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

1

JSARP – Simulador e JSARP – Simulador e Analisador de Redes de Analisador de Redes de

PetriPetri

Felipe Lino Alexandre Felipe Lino Alexandre SztajnbergSztajnberg felipelino44@gmail.com alexszt@ime.uerj.brfelipelino44@gmail.com alexszt@ime.uerj.br

DICC / IME / UERJDICC / IME / UERJ

Rio de Janeiro, RJ, BrasilRio de Janeiro, RJ, Brasil

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

2

SumárioMotivaçãoTrabalhos relacionadosJSARPTrabalhos futurosConclusão

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

3

MotivaçãoMotivaçãoPotencial da modelagem com RdP em sistemas computacionais:

Escalonamento de processos Protocolos de comunicação Sistemas concorrentes

Verificação de propriedades como: deadlock e livelock. Refletem características do sistema modeladoFuncionalidades desejáveis:

“Token Animation Game” Geração da Árvore de Alcançabilidade Editor Gráfico Verificação de Propriedades

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

4

ObjetivoObjetivoDesenvolvimento e implementação de uma ferramenta que reúne funcionalidades desejáveis em ferramentas de RdPIndependente de plataformaResultados gráficosInteração com usuárioExtensível

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

5

Trabalhos RelacionadosTrabalhos RelacionadosAtributos JARP PetriToo

ljPNS JSARP

Composição visual Simulação interativa Simulação automática Geração de árvore alcançabilidade Verificação de propriedades Resultados gráficos Persistir rede

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

6

Ferramenta: ARPFerramenta: ARPDOS 3.0 ou superiorEdição de Redes - textoRdP temporizadasAnálise por Enumeração de Estados – Árvore de AlcançabilidadeCálculo de InvariantesVerificação de EquivalênciaSimulação Avaliação de Desempenho

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

7

Ferramenta: ARPFerramenta: ARP

Edição

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

8

Ferramenta: ARPFerramenta: ARP

Análise

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

9

Ferramenta: ARPFerramenta: ARP

Simulação

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

10

JSARP – Descrição GeralJSARP – Descrição GeralTecnologia Orientada ObjetosJava – MultiplataformaGUI: Swing e API Forms JGoodiesExporta para XML: API XStreamIdiomas: Inglês e PortuguêsComposição VisualVerificação de PropriedadesGera Árvore de AlcançabilidadeSimulação Interativa

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

11

JSARP – Arquitetura JSARP – Arquitetura Programa

Executável

Tratador da Área de Edição

Janela Principal

Tratador da Janela Principal

Análise

Janela de Resultados da

Análise

Representação da Rede de Petri

Simulação

Janela de Simulação

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

12

JSARP – Estrutura do JSARP – Estrutura do CódigoCódigo

As ações que dirigem a simulação são capturadas através da Classe SimulationActionNotifica as ações para a interface gráfica, classe SimulationWindow, e para a classe que representa a rede estendida, PetriNetGraphA simulação é realizada pela classe ImplSimulator, que opera sobre a classe ImplPetriNetBase

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

13

JSARP – Formato JSARP – Formato XMLXML<br.uerj.petrinetanalyzer.gui.objects.PetriNetGraph> <nome>RedeSimples.xml</nome> <listLugar>

<br.uerj.petrinetanalyzer.gui.objects.PlaceGraph> <x>27</x> <y>69</y> <nome>P0</nome> <posicao>0</posicao> <fichas>2</fichas> <identificador>P0</identificador>

</br.uerj.petrinetanalyzer.gui.objects.PlaceGraph> </listLugar> <listTransicao> <br.uerj.petrinetanalyzer.gui.objects.TransitionGraph> <orientation>1</orientation> <x>83</x> <y>69</y> <nome>T0</nome> <posicao>0</posicao> <identificador>T0</identificador> <seft>0.0</seft> <slft>0.0</slft> <curvaDensidade>0</curvaDensidade> </br.uerj.petrinetanalyzer.gui.objects.TransitionGraph> </listTransicao>...

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

14

Formato Formato PNMLPNML<?xml version="1.0" encoding="ISO-8859-1"?><pnml xmlns = ""> <net id = "n1"type = "http://www.irt.rwth-aachen.de/download/netlab/pntd/pnsmNet"> <name><text>Petri net1</text></name> <place id = "p1"> <graphics> <position x = "300" y = "100"/> <dimension x = "40" y = "40"/> </graphics> <initialMarking> <text>1</text> </initialMarking> <capacity> <text>1</text> </capacity> </place> <transition id = "t1"> <graphics> <position x = "300" y = "200"/> <dimension x = "40" y = "40"/> </graphics> </transition>...

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

15

JSARP – Exemplo JSARP – Exemplo P0 – Produtor pronto p/

armazenar

P1 – Consumidor pronto p/ retirar do buffer

P2 – Consumidor pronto p/ consumir

P3 – Limitador do buffer

P4 – Buffer

P5 – Produtor pronto para produzir

T0 – Produzir

T1 – Armazenar no buffer

T2 – Remover do buffer

T3 – Consumir

Produtor e Consumidor com Buffer Limitado

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

16

JSARP – Exemplo JSARP – Exemplo

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

17

JSARP – Exemplo JSARP – Exemplo

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

18

Trabalhos FuturosTrabalhos FuturosRedes de Petri Temporizadas Usar o arcabouço existente para

análise/simulação em RdP temporizadas

Verificações de Propriedades Através da representação matricial Através da árvore de alcançabilidade

Melhorias na Interface Gráfica Permitir edição de rótulos Menu de ajuda

5 / julho / 2007 CSBC / Workshop de Sistemas Operacionais 2007

19

ConclusãoConclusão

Código fonte e documentação disponível http://br.geocities.com/jsarp_project

Ferramenta usada no curso de Sistemas Concorrentes e Distribuídos no PEL (UERJ)