5 / julho / 2007CSBC / Workshop de Sistemas Operacionais 20071 JSARP – Simulador e Analisador de...

Preview:

Citation preview

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 / UERJRio 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/ 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

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

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)

Recommended