You are on page 1of 40
Modelagem de Sistemas Computacionais usando Redes de Petri: aplicagio em projeto, anlise e avaliagao ira da Penha', Henrique Cota de Freitas”, Carlos Augusto Paiva da Silva Martins? Dulcinéia Oli **Instituto de Informatica, '*Programa de Pés-graduago em Engenharia Elétrica '?5Laboratério de Sistemas Digitais e Computacionais Pontificia Universidade Catélica de Minas Gerais, Rua Dom José Gaspar 500 — 30.535-610 — Belo Horizonte ~ MG — Brasil ‘dulcineia@pucng.br, @cota,capom) ¢pucminas.br Abstract. In this tutorial we present the concepts and essential characteristics of the Ordinary Petri Nets, its algebraic and graphical representations, definitions and properties. Moreover, we present some high level Petri Nets, as the Coloured Petri Nets and the Stochastic Petri Nets. Later, we present the modeling of trivial problems using Petri Nets, methods and tools of validation and verification of Petri Nets and the application of Petri Nets in problems related with computational systems modeling. Finally, we present and we analyze the main advantages, disadvantages and challenges of the application of Petri Nets in the computational systems modeling. Resumo. Neste minicurso apresentamos os conceitos e caracteristicas essenciais das Redes de Petri Ordindrias, suas representagaes algébricas gréficas, definigdes e propriedades Além disso, apresentamos algumas Redes de Petri de alto nivel, como as Redes de Petri Coloridas e as Redes de Petri Estocdsticas. Posteriormente, apresentamos a modelagem de problemas triviais usando redes de Petri, métodos e ferramentas de validacdo ¢ verificagao de Redes de Petri e a aplicagdo de Redes de Petri em problemas relacionados com a modelagem de sistemas computacionais. Finalmente, apresentamos e analisamos as principais vantagens, desvantagens e desafios da aplicagao de Redes de Petri na modelagem de sistemas computacionais. 1. Introdusao Em 1962, 0 entio aluno de doutorado Carl Adam Petri defendeu sua tese intitulada Kommunikation mit Automaten (Communication with Automata) [Petri 1962]. Seu objetivo cra desenvolver um modelo em que as méquinas de estado fossem capazes de se comunicar. A earacteristica principal alcangada por este modelo foi a possibilidade de representar a concorréncia. Este modelo recebeu o nome de Redes de Petri em homenagem ao préprio autor € hoje podemos encontrar variagdes do modelo original sendo usados em diversas dreas da cineia para ajudar no estudo do comportamento e desempenho de diferentes sistemas. Podemos encontrar as Redes de Petri (RdP) [Girault 2002] [Desel 2000] [Maciel 1996] [Murata 1989] [Peterson 1981] [Peterson 1977] sendo utilizadas em dreas como economia, biologia, engenharia, computagio, entre outras. As variagdes de RdP tais como Redes de Petri Coloridas, Temporizadas ou Estocisticas sio modelos importantes ¢ que no fazem parte da teoria original. No entanto, so representagdes que ganharam relevancia por serem capazes de modelar sistemas de forma mais simplificada ou intuitiva ou simplesmente porque ainda ndo havia um modelo capaz de representar sistemas que envolviam temporizagdes ou comportamentos probabilisticos (estocasticos). Antes de apresentar os conceitos ¢ elementos que compdem a Rede de Petri é importante responder uma pergunta: Por que precisamos modelar_ um sistema computacional [Jain 1991]? + Torna-se mais ficil 0 entendimento do funcionamento ou comportamento de um sistema computacional existente? © projeto do sistema computacional pode ser verificado e validado através de um modelo antes da construcdo de um protétipo? + A.avaliagdo do funcionamento, comportamento e por conseqiiéncia do seu desempenho em relagdo a um histérico de projeto ou em relacdo a outros modelos de sistema existentes, também em fase de projeto é facilitada? E possivel definir métricas de desempenho através do modelo? Sao varias as respostas para justificar a modelagem de um_ sistema computacional. Podemos afitmar que o uso de um modelo facilita ¢ justifica 0 prosseguimento de novas etapas de projeto ¢ andlise antes da etapa final de avaliagao. Entre estas etapas podemos citar uma diretamente dependente da existéncia fisica do sistema € que muitas vezes s6 deve ser realizada apés uma fase anterior de validagao, antes do protétipo ser construtdo: ‘+ Medigdo: A medigdo depende da existéncia fisica do sistema ou protétipo do sistema. Vocé implementatia seu sistema antes de verificé-lo através de um modelo? E como programar sem projetar 0 algoritmo! Imagine que 0 sistema a ser medido (uma coleta de dados para avaliagdo de resultados) € um aglomerado (cluster) de computadores [Buyya 1999] [Almasi 1994]. Qual o custo financeiro para montar este cluster? Este cluster foi modelado anteriormente? Existe uma verificago/validagdo anterior 4 montagem do protétipo (cluster de servidores)? Existem alguns modelos analiticos ¢ de simulagdo [Bressan 2002] [Jain 19991] para validagdo de um projeto. As Redes de Petri fazem parte destes dois modelos. Podemos representar uma Rede de Petri através de descrigdes matemiéticas e graficas. Podemos também simular uma Rede de Petri através de ferramentas especificas de simulagdo [Drath 2004]. Existe um repositério de informagdes e simuladores de Redes de Petri que pode ser encontrado através da seguinte referencia: [Petri Nets 2004] © principal objetivo deste minicurso ¢ apresentar conceitos, difundir conhecimentos e apresentar métodos e ferramentas para verificagdo/validagdo relativos a aplicago e modelagem de Redes de Petri em sistemas computacionais de forma simples ¢ direta, Alguns modelos do nosso dia-a-dia sGo utilizados para facilitar 0 estudo do processo de modelagem em suas etapas principais. Pretendemos difundir as RaP como uma alternativa e um forte modelo de ajuda no processo de avaliasdo do comportamento e do desempenho de um sistema computacional. 2, Redes de Petri principal objetivo deste tépico é apresentar as principais caracterfsticas das Redes de Petri, Existem conceitos que no serio apresentados, mas que serio facilmente encontrado nas referéncias citadas ao longo do texto, No entanto, procuramos sintetizar um grande volume de informagdes importantes © necessirias para o processo de modelagem de sistemas computacionais enquanto fase de projeto, andlise ou avaliagao, 2.1, Conceitos Basicos Por que as Redes de Petri se tommaram um importante modelo para representar diferentes, sistemas? Uma Rede de Petri possui um conjunto de elementos capaz de deserever as diversas partes de um sistema que estamos habituados a tratar em Ciéncia da ‘Computagdo [Hennessy 2003] [Tanenbaum 2003a, 20036] [Buyya 1999] [Almasi 1994] [Jain 1991], tais como: concorréncia, controle, conflitos, sineronizagoe compartilhamento, por exemplo. Portanto, para tratar concorréncia, controle, conflitos, sincronizagdo ¢ compartithamento nao seria importante um modelo para representar a ocorréncia destas caracteristicas em um sistema? Uma Rede de Petri & composta pelos seguintes elementos: ‘© Lugares ou Places: representam uma condigao, uma atividade ou um recurso. ‘+ Fichas, Marcas ou Tokens: representam o estado de um sistema ‘+ Transigdes: representam um evento. ‘+ Arcos: indicam os lugares de entrada ou saida para as transigdes. Estes elementos podem ser representados graficamente como na figura 1: ot Figura 1. Elementos de uma Rede de Petri Portanto, ainda sem considerarmos a existéncia dos tokens, podemos definir uma Rede de Petri como R= (P, T, AE, AS) onde: {P1, Pay Pa} € um conjunto de places (Ty, Ta, «5 Ta} € um conjunto de transigdes. * PA T= Bos conjuntos Pe T sao disjuntos. + AE: P xT 60 conjunto de arcos de entrada nas transigdes.

You might also like