Redes de Petri – I – TI, Governança & Concursos Públicos
Redes de Petri – I
por Mauricio Antonio Ferste · Abril 23, 2009
Embora de certa forma a rede de Petri implique em um embasamento matemático um pouco mais avançado, já existe a ocorrência de questões envolvendo a abordagem gráfica voltada à redes de petri em alguns concursos.
Até onde foi possível verificar, em minha pesquisa, não encontrei exercícios em concursos envolvendo a parte algébrica de redes de Petri, para quem tem este interesse indico o livro de Janete Cardoso e Robert Valette denominado Redes de Petri, que continua sendo um dos bons trabalhos na área em língua portuguesa. Os exercícios que consegui levantar tratam normalmente de teoria ou de análise de apresentação informal e gráfica.
O que é rede de Petri?
Rede de Petri é
uma Ferramenta gráfica e matemática destinada a aplicações em que as noções de eventos de evoluções simultâneas são importantes, foram criadas a partir tese de doutorado de Carl Adam Petri em 1962. Algumas áreas nas quais encontram-se aplicações típicas das redes de Petri são: automação de escritórios e manofaturas, avaliação de desempenho, banco de dados, sistemas distribuídos, entre várias outras
Principais definições, para entendimento do modelo gráfico de Redes de Petri ordinárias:
Lugar: representado por um círculo, pode ser interpretado como uma condição, um estado parcial, uma espera, um procedimento, um conjunto de recursos, um estoque. Em geral todo lugar tem um predicado associado, por exemplo, máquina livre, peça em espera…
Transição: representada por um retângulo ou uma barra, associada a um evento do sistema, como iniciar operação por exemplo.
Ficha: é o indicador de que alguma condição foi verificada, percorre a rede. Pode representar, por exemplo uma estrutura de dados que se manipula. Em determinado lugar pode representar que certo recurso está sendo utilizado. Por exemplo, pode existir um lugar destinado a estabelecer uma espera para determinado recurso, se neste lugar existirem três fichas, pode significar que as três aguardam algum evento para o uso do recurso.
Arcos: indicam os lugares de entrada e saída de transições.
Por exemplo, temos uma rede que trata de um consumo genérico de recursos mostrata em dois momentos diferentes:
Rede de Petri mostrando processamento
Neste exemplo temos que a transição "iniciar processamento" (a) aguarda um recurso e um processo para iniciar o processamento propriamente dito. Na figura (b), assim que os dois lugares são preenchidos com fichas, "iniciar processamento" é acionado.
Uma variação do exemplo acima pode ser a rede mostrada abaixo, permitindo mais fichas em um mesmo lugar.
Outra visão para a mesma rede de petri
Este exemplo mostra a mesma rede mas com mais fichas aguardando a transição (a), foram consumidos um recurso e um processo, e dois recursos e processos aguardam a liberação de processamento (b). Assim que o processamento terminar, a transição "iniciar processamento" é acionada novamente.
Importante também lembrar que existem inúmeras variações e modelos de rede como rede colorida, predicado-transição, e que certamente seu estudo mais aprofundado exige a leitura de um trabalho mais aprofundado.
Na continuação deste trabalho podemos ver algo mais elaborado como por exemplo a resolução de uma questão proposta no concurso Petrobrás em 2006, que deixo por enquanto anunciada :
Seja a seguinte Rede de Petri especificada para uma máquina que aceita moedas de 5 e 10 centavos para a compra de barras de chocolate com valores de 15 e 20 centavos. Quantas possibilidades de compra de barras de chocolate existem?
Bons estudos e até a continuação.
Mauricio Antonio Ferste
Graduação em Bacharelado em Informática pela Universidade Federal do Paraná (1997) e mestrado em Engenharia Elétrica e Informática Industrial pela Universidade Tecnológica Federal do Paraná (2006). Tem experiência na área de Ciência da Computação, com ênfase em Sistemas de Informação. Atualmente funcionário do SERPRO (www.serpro.gov.br), atua no desenvolvimento de sistemas. Professor atuante na FAMEC (http://www.famec.com.br), no curso de Bacharelado em Sistemas de Informação (Curriculum Lattes: http://lattes.cnpq.br/9368615800123473).