19
5 / julho / 2007 CSBC / Workshop de Sistemas Operacion ais 2007 1 JSARP – Simulador e JSARP – Simulador e Analisador de Redes de Analisador de Redes de Petri Petri Felipe Lino Felipe Lino Alexandre Sztajnberg Alexandre Sztajnberg [email protected] [email protected] [email protected] [email protected] DICC / IME / UERJ DICC / IME / UERJ Rio de Janeiro, RJ, Brasil Rio de Janeiro, RJ, Brasil

5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

Embed Size (px)

Citation preview

Page 1: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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 [email protected] [email protected]@gmail.com [email protected]

DICC / IME / UERJDICC / IME / UERJRio de Janeiro, RJ, BrasilRio de Janeiro, RJ, Brasil

Page 2: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

2

SumárioMotivaçãoTrabalhos relacionadosJSARPTrabalhos futurosConclusão

Page 3: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

Page 4: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

Page 5: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

Page 6: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

Page 7: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

7

Ferramenta: ARPFerramenta: ARP

Edição

Page 8: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

8

Ferramenta: ARPFerramenta: ARP

Análise

Page 9: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

9

Ferramenta: ARPFerramenta: ARP

Simulação

Page 10: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

Page 11: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

Page 12: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

Page 13: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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>...

Page 14: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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>...

Page 15: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

15

JSARP – Exemplo JSARP – Exemplo P0 – Produtor pronto p/ armazenarP1 – Consumidor pronto p/ retirar

do bufferP2 – Consumidor pronto p/

consumirP3 – Limitador do buffer P4 – BufferP5 – Produtor pronto para produzir

T0 – Produzir T1 – Armazenar no bufferT2 – Remover do bufferT3 – Consumir

Produtor e Consumidor com Buffer Limitado

Page 16: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

16

JSARP – Exemplo JSARP – Exemplo

Page 17: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

17

JSARP – Exemplo JSARP – Exemplo

Page 18: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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 temporizadasVerificaçõ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

Page 19: 5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de Redes de Petri Felipe Lino Alexandre Sztajnberg Felipe

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

19

ConclusãoConclusãoCódigo fonte e documentação disponível http://br.geocities.com/jsarp_projectFerramenta usada no curso de Sistemas Concorrentes e Distribuídos no PEL (UERJ)