Logo Passei Direto
Buscar
Material

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Conteudista: Prof. Me. Artur Marques
Revisão Textual: Prof.a Dra. Selma Aparecida Cesarin
 
Objetivos da Unidade:
Aprofundar conhecimento sobre Redes de Petri;
Conhecer e aplicar a Técnica de Estelle.
˨ Material Teórico
˨ Material Complementar
˨ Referências
Redes de Petri e Sintaxe de Estelle
Introdução
A Rede de Petri é uma ferramenta de Modelagem Gráfica e Matemática usada para descrever e
estudar Sistemas de Processamento de Informações de vários tipos. 
É originária da dissertação de Carl Adam Petri para a Faculdade de Matemática e Física da
Universidade Técnica de Darmstadt, na Alemanha Ocidental, em 1962. 
Por se tratar de uma ferramenta matemática, pode ser usada para configurar equações
algébricas, equações de estado e outros modelos matemáticos que regem Sistemas. 
Devido à sua natureza, ela também se presta bastante à MODELAGEM de Sistemas Lógicos,
incluindo aqueles que podem ocorrer em Ciência da Computação ou em Sistemas de
Comunicação.
Apenas recordando, uma Rede de Petri é desenhada como um Gráfico bipartido direcionado e
ponderado. 
Quando nos referimos a ela ser um Gráfico bipartido, você deve orientar seu pensamento para
um gráfico com dois conjuntos distintos de nós, de tal forma que não há bordas entre nós do
mesmo conjunto. 
Como vimos, chamamos esses dois conjuntos de lugares e transições. Então, os lugares são
representados como círculos e as transições como barras ou caixas fiando as bordas entre os
nós, definidas como sendo os arcos:
1 / 3
˨ Material Teórico
Figura 1 – Exemplo dos elementos típicos
Seguindo esse raciocínio, uma Rede de Petri tem estados, designados como marcas. 
Cada uma corresponde a uma atribuição de algum inteiro não negativo (k) para cada lugar (p) e
isso corresponde ao lugar que está sendo marcado com tokens (k), que são representados no
Gráfico tipicamente como círculos negros menores dentro de cada lugar. 
Normalmente, não há limite para o número de tokens que podem marcar um determinado lugar.
Figura 2 – Exemplo de Estados e Marcas
Um arco, seja de um lugar para uma transição, seja de uma transição para um lugar, tem algum
peso (k). 
Um arco com peso k é funcionalmente o mesmo que ter (k) arcos de peso 1.
Figura 3 – Exemplo de um Arco
Um lugar com um arco de si mesmo para uma transição é um lugar de entrada, e um lugar com
um arco de uma transição para si mesmo é um local de saída.
Figura 4 – Exemplo de lugar com arco em si mesmo
Vamos, agora, a um pouco de formalismo lógico matemático. Formalmente, uma Rede de Petri é
definida como uma entidade, registro ou tupla, com 5 componentes na forma: PN =
(P,T,F,W,M0).
Onde:
P = {p1...pn} é um conjunto finito de lugares;
T = {t1...tn} é um conjunto finito de transições;
F⊆ (P x T)∪(T x P) é um conjunto finito de arcos; 
W:F → {1,2,3…} é uma função de peso;
Certo!
Imaginamos que você possa não estar familiarizado com esses símbolos para ler essas
sentenças, então, vamos ajudá-lo(a) lembrando-o(a) a partir da leitura e do entendimento das
duas tabelas apresentadas aqui e das definições que você já teve na aula passada. 
É de fundamental importância que você se aproprie desses símbolos lógicos e matemáticos.
Vamos nos familiarizar com a linguagem e com esses operadores. Assim, (∧ (and), ∨ (or), ¬
(not), ⇒ (implies) e ⇔ (if and only if), que descrevem os operadores lógicos (e, ou, não, implica, se
e somente se).
Aqui, vamos completar esses símbolos com duas Tabelas, a saber: 
Tabela 1 – Símbolos matemáticos lógicos
Símbolo Nome do Símbolo Significado/definição Exem
⋅ e e/and x ⋅ y
^
acento
circunflexo/circunflexo
e/and x ^ y
E e comercial e/and x e y
M0:P → {0,1,2…} é alguma marcação inicial;
P∩T = {};
P ⋃ T ≠ {}.
Símbolo Nome do Símbolo Significado/definição Exem
+ mais ou/or x + y
∨ 
acento circunflexo
invertido 
ou/or x ∨ 
| Linha vertical ou/or x | y
x ' citação única não – negação x '
x barra não – negação x 
¬ não não – negação ¬ x
! ponto de exclamação não – negação ! x
⊕ círculo mais/oplus exclusivo ou – xor x ⊕ 
~ til negação ~ x
⇒ implica 
⇔ equivalente se e somente se (i�) 
↔ equivalente se e somente se (i�) 
∀ para todos 
Tabela 2 – Símbolos da Teoria dos Conjuntos (apenas os essenciais para esta Unidade)
Símbolo Nome do Símbolo Significado/definição Exem
∃ existe 
∄ não existe 
∴ portanto 
∵ porque/desde 
Símbolo Nome do Símbolo
Significado/
definição
Exemplo
{} Definir
Uma coleção
de elementos
A =
{3,7,9,14}
 B =
{9,14,28}
| De tal modo que De modo a
A = { x | x
∈ ℝ , x <0
A⋂B Interseção 
Objetos que
pertencem ao
conjunto a ou
conjunto b 
A ⋃ B =
{3,7,9,14,2
Símbolo Nome do Símbolo
Significado/
definição
Exemplo
A⋃B União 
Ambos os
conjuntos têm
os mesmos
membros 
A = {3,9,14
B = {3,9,14
A = B 
A = B Subconjunto 
A é um
subconjunto de
b. O conjunto a
está incluído
no conjunto b. 
{9,14,28} 
{9,14,28}
A⊆B 
Subconjunto
adequado/subconjunto
estrito 
A é um
subconjunto de
b, mas a não é
igual a b. 
{9,14} ⊂
{9,14,28}
A⊄B Não subconjunto 
O conjunto a
não é um
subconjunto
do conjunto b 
{9,66} ⊄
{9,14,28}
A⊇B Superconjunto 
A é um
superconjunto
de b. O
conjunto a
inclui o
conjunto b 
{9,14,28} 
{9,14,28}
Agora que você deu uma parada para refletir e juntar os pontos, como você leria a expressão a
seguir:
F⊆ (P x T)∪(T x P)
Símbolo Nome do Símbolo
Significado/
definição
Exemplo
A⊃B 
Superconjunto
adequado/superconjunto
estrito 
A é um
superconjunto
de b, mas b
não é igual a
supercomputo. 
{9,14,28} 
{9,14} 
A⊅B Não superconjunto 
O conjunto a
não é um
superconjunto
do conjunto b 
{9,14,28} 
{9,66} 
a ∈A 
Elemento de, 
pertence a 
Definir adesão 
A = {3,9,14
3 ∈ A 
x ∉A Não é elemento de 
Sem
associação
definida 
A = {3,9,14
1 ∉ A 
| Barra vertical 
De tal modo
que 
A = {x | 3 <
<14} 
Ø Conjunto vazio Ø = {} A = Ø 
Seria algo como:
F é subconjunto da união dos produtos cartesianos (PxT) e (TxP).
Agora tente os outros, para ir treinando. Mas vamos continuar com as definições necessárias
para as operações com as Redes de Petri.
Uma estrutura da Rede Petri sem marcação inicial pode ser definida como N = (P,T,F,W).
Da mesma forma, dada uma estrutura N sem marcação inicial, uma Rede Petri pode ser definida
como PN = (N,M0).
Dada essa formalização, há uma regra de disparo, que tem três partes:
I. Uma transição (t) é habilitada se cada lugar de entrada (p) de (t) é marcado com
pelo menos w((p,t)) tokens (onde w((p,t)) é o peso do arco de (p) para (t));
II. Uma transição habilitada (t) pode ou não disparar;
III. O disparo de uma transição habilitada (t) remove w((p,t)) tokens de cada lugar de
entrada (p) de (t) e acrescenta w((t,p')) tokens para cada lugar de saída (p') de (t).
Figura 5 – Exemplo dos 3 tipos de disparo
Uma transição não precisa ter entrada e saída. Uma transição sem locais de entrada é referida
como uma transição de origem e uma transição sem locais de saída é chamada de transição
afundada/encalhada/naufragada. Uma transição de fonte está sempre habilitada.
Uma tupla (p,t) é chamada de auto loop se (p) for um local de entrada e um local de saída de (t).
Uma Rede de Petri que não contém auto loops é chamada de pura. 
Uma Rede de Petri cuja todos os arcos têm peso de 1 é chamada de comum.
Existem vários cenários diferentes em que as Redes de Petri são particularmente úteis na
Modelagem.
Figura 6 – Tipos de Transições
Vamos conhecer alguns exemplos destinados a mostrar potenciais aplicações de Redes de Petri
na Modelagem de Sistemas. Eles serão importantes em momento oportuno quando formos
resolver alguns exercícios, certo!?
Máquinas de Estado
Veja este exemplo simples: esta Rede é pura e comum com uma marcação inicial de um token em
um estado de início que representa uma Máquina de Estado.
A Rede representa o estado de uma Máquina de Doces que só aceita moedas, não devolve troco, e
vende doces de 10 e 25 centavos.
Observe que, embora as transições de uma Rede de Petri não sejam determinísticas,
isso não
significa que não se possa modelar máquinas determinísticas.
Figura 7 – Exemplo de uma máquina de estado simples
Quer entender algo mais simples ainda?
Observe a figura a seguir, na qual tratamos das 4 Estações do Ano. Não há outro caminho: temos
de treinar e aprender a enxergar o caminho da Rede e ver de onde partimos. 
Figura 8 – As quatro estações e suas mudanças.
Fonte: Adaptada de TELLES, 2007. p. 18
Conseguiu perceber que os arcos conectam lugares a transições e transições a lugares?
Assim:
“A figura acima mostra um sistema no qual as condições são: é inverno, é verão, é
outono, é primavera, e os eventos são: início da primavera, início do verão, início
do outono, início do inverno. Vê-se que cada condição é representada por um
círculo e cada evento por uma barra. Cada condição que é gerada é marcada com
uma ficha. No caso da figura acima há uma ficha no lugar é primavera, mostrando
que o sistema está atualmente na primavera. Assim, para que o evento início do
outono ocorra é necessário que haja uma ficha no lugar é verão. Desta forma,
quando a transição associada ao evento início do verão disparar, então o lugar é
Neste momento, teremos de nos aprofundar em Redes de Petri e, para tanto, você precisará ler o
Documento de Regras e Manipulações, que proporcionará maior poder de construção e
interpretação das Redes de Petri. Sua leitura é mandatória e fundamental para o seu aprendizado.
Clique no botão para conferir o vídeo indicado.
ACESSE
Características das Redes de Petri
As Redes de Petri podem ser caracterizadas por algumas importantes propriedades estruturais e
comportamentais. Examinar essas propriedades, geralmente, é um passo fundamental na
análise das Redes de Petri. 
- TELLES, 2007, p. 18
Leitura 
Introdução à modelação de Sistemas utilizando Redes de Petri.
primavera perderá uma ficha, que irá para o lugar é verão, habilitando, assim, a
transição início do outono.”
http://gres.uninova.pt/~jpb/textos/pn.pdf
Precisamos conhecer as propriedades mais úteis das Redes de Petri, que são: 
O objetivo do uso de Redes de Petri no estudo dos Sistemas é tirar conclusões importantes sobre
ele sem ir para o tempo e custos ineficazes de tentativa e prototipagem de erros. Para isso, o
primeiro passo é modelar o Sistema. 
Uma vez que um modelo esteja pronto, a próxima tarefa é analisar o modelo para tirar
conclusões sobre as propriedades do modelo e, portanto, sobre o Sistema Real. Então, apenas se
pode responder a perguntas como: quais propriedades são inerentes à estrutura da Rede, o que
esperar e o que não esperar do Sistema durante a operação e se há alguma armadilha no Projeto
do Sistema que deve ser evitada em Fase Operacional.
Existem três abordagens principais para a análise PN:
Acessibilidade:  responde à pergunta se há uma sequência de
disparo para uma marcação dada executável a partir da
marcação inicial alcançável. É fundamental para estudar o
comportamento dinâmico das Redes de Petri;
Delimitamento: descreve quantos tokens um lugar pode conter para um conjunto de
marcas alcançáveis. Se todos os lugares de uma Rede forem delimitados, a Rede está
delimitada. Se estiver limitado em qualquer marca inicial, é chamado de
estruturalmente delimitada;
Avivamento/Vivatividade: descreve a possibilidade de uma transição ser habilitada
e, em seguida, disparar infinitamente com frequência. Se cada transição de uma
Rede estiver viva, a Rede está viva;
Reversibilidade: descreve a possibilidade de uma Rede ser capaz de voltar a um
estado anterior. Se uma Rede de Petri conseguir atingir sua marcação inicial
novamente a partir de qualquer marcação alcançável, a Rede é reversível. 
Abordagem comportamental: que é uma abordagem baseada em árvores;
A seguir, veja um exemplo disso na Rede de Petri:
Abordagem estrutural: que é uma abordagem baseada em matrizes;
Abordagem de Redução ou Refinamento: que é uma abordagem de simplificação
líquida;
Comportamental: essa abordagem trata das propriedades
comportamentais da PN. São aquelas que dependem da
marcação inicial;
Estrutural: essa abordagem trata das propriedades estruturais da Rede de Petri. As
propriedades estruturais são independentes da marcação inicial. Por outro lado, as
propriedades comportamentais são de natureza dinâmica, enquanto as
propriedades estruturais lidam com a estrutura estática da Rede de Petri. Portanto,
as propriedades comportamentais dependem de marcações e simulação de jogo de
token, mas as propriedades estruturais dependem apenas de nós e arcos e não de
tokens de marcas.
Figura 9 – (a) Uma Rede de Petri com marcação inicial; (b)
Uma Rede de Petri após o disparo de (t2)
Fonte: Adaptada de VENKATESWARLU, et al. 2006 p. 40 
Perceba, então, que (a) corresponde m0 e (b) corresponde m1. Isso é conseguido disparando
somente (t2). 
Calma, ela é representada pela seguinte equação de estado:
m1 = m0 + Au0
que, quando aplicada numa matriz, dá-nos a seguinte resolução:
Figura 10 – Resolução da Equação de Estado
Fonte: Adaptada de VENKATESWARLU, et al. 2006 p. 41
Redes de Petri – Workflow
Conforme escritos de Pádua et al. (2004), trata-se de uma Rede de Petri que representa um
Processo de Workflow (Fluxo de Trabalho). 
A workflow-net tem apenas um lugar fonte (source) e uma absorção (sink). Todo nodo é um
caminho do lugar fonte para o lugar absorção. Há seis tipos de processos de negócios
identificados a saber:
“Tarefas são mapeadas em transições e relações causais são representadas no
modelo por lugares.
A transição t1 representa, no modelo, a sincronização de dois subfluxos (AND-
join).
Transições t21 e t22 representam um OR-join: dois subfluxos unidos em um
subfluxo.
- PÁDUA et al., 2004, p. 113-4
A transição t3 representa um AND-split: um subfluxo dividido em dois subfluxos
paralelos.
Transições t41 e t42 representam um OR-split: uma seleção apresentada entre duas
alternativas branches (galhos).
A iteração pode ser representada pela adição de uma transição de feedback (t52).
A conexão de duas transições (t61 e t62) por meio de um lugar intermediário
resulta em duas tarefas sequenciais
A perspectiva do processo é muito importante, uma vez que o núcleo de qualquer
sistema de informação é essencialmente formado por processos. Explica-se que,
na dimensão de fluxo de controle, a construção de blocos AND-split, AND-join, OR-
split e OR-join serve para modelar rotas sequenciais, condicionais, paralelas e
interativas. Uma Rede de Petri pode ser utilizada para especificar claramente os
casos de rotas, assumindo que: 1. Um AND-split corresponde a transições com dois
ou mais lugares de saída; 2. um AND-join corresponde a lugares com múltiplos
arcos de entrada; e 3. OR-split e OR-join correspondem a lugares com múltiplos
arcos de entrada e saída.”
Figura 11 – Representação de blocos AND e OR
Fonte: Adaptada de PÁDUA, SILVA, PORTO, 2004 p. 114 
Utilizando esses componentes, uma Rede de Petri pode ser convertida em um fluxo de trabalho
num processo de negócio bastante claro e conciso. 
Isso favorece sobremaneira a simulação e a validação desse fluxo antes mesmo de se adquirir ou
contratar qualquer ativo ou realizar qualquer investimento. 
Veja o exemplo montado a seguir:
Figura 12 – Exemplo do processo de gerenciar reclamação
modelado em Redes de Petri
Fonte: Adaptada de PÁDUA, SILVA, PORTO, 2004 p. 114 
Para essa abordagem de processos de negócios, Pádua et al. (2004) se valem de 4 construções
básicas:
Sequencial: referenciada quando as tarefas devem ser executadas uma após a outra.
Se duas tarefas precisam ser executadas sequencialmente, elas são
interdependentes, ou seja, a realização da primeira é requerida para que a segunda
possa ocorrer. Em Rede de Petri, modela-se essa forma de rota com o uso de um
lugar para fazer a ligação de duas tarefas;
Paralela: quando mais de uma tarefa pode ser executada ao mesmo tempo ou em
qualquer ordem. A situação com duas tarefas paralelas pode acontecer de três
formas diferentes:
I Ambas podem ser realizadas simultaneamente; II A tarefa 1
pode ser executada primeiro e, em seguida, a tarefa 2; III A tarefa 2 pode ser
executada antes da tarefa 1;
Seletiva: o processo determina a rota para um tipo de caso específico, mas pode
haver diferenças de rotas entre casos individuais. A escolha entre duas alternativas é
não determinística, isto é, não é possível identificar como a escolha entre a tarefa 1 e
Figura 13 – Exemplo de modelo em que cada caso usa uma
ou mais marcas para cada Caso n
Fonte: Adaptada de PÁDUA, SILVA, PORTO, 2004 p. 115 
 
Essa Figura ilustra a existência de cinco casos em progresso
no modelo.
Para assegurar que as propriedades das marcas de
diferentes casos não se confundam, cada transição tem uma
pré-condição de que apenas marcas de um mesmo caso
podem ser consumidas em qualquer disparo. Se a transição
Coletar disparar, sua pré-condição assegura que duas
marcas para o caso 3 (veja a Figura) serão consumidas. A
construção das rotas dos processos é determinada pela
necessidade do negócio. Algumas tarefas podem ser
opcionais, logo, a ordem em que elas são realizadas varia de
um caso para outro.
a 2 é feita, vez que não importa qual tarefa é realizada. Entretanto, em muitos casos,
a seleção é feita de acordo com propriedades específicas do caso;
Repetitiva ou iterativa: execução repetida de uma tarefa particular. É preferível que
uma tarefa ocorra apenas uma vez por caso, porém, na maioria das vezes, é
necessário aplicar essa rota.
Redes de Petri de Alto Nível
Redes de Petri é um modelo formal abstrato para descrever e estudar Sistemas de
Processamento de Informação que se caracterizam como concorrentes, assíncronos,
distribuídos, paralelos, não determinísticos, ou não.
Há várias modalidades e extensões importantes usando a nomenclatura da Rede de Petri para
lidar com Sistemas Cronometrados, ou seja, dependentes do tempo, portanto, cronometrados.
O mecanismo de transição de estado em Redes de Petri é fornecido movendo tokens através da
Rede e, assim, mudando para um novo estado. 
Quando uma transição é habilitada, dizemos que ela pode disparar ou pode ocorrer.
As Redes de Petri não são poderosas o suficiente para lidar com avaliações de desempenho,
determinação de segurança ou propriedades comportamentais em Sistemas nos quais o tempo
aparece como um parâmetro quantificável e contínuo.
Um pesquisador que propôs uma abordagem para esse tema foi Ramchandani. A sua abordagem
para as Redes de Petri associa uma duração finita de disparo a cada transição na Rede. Esse
modelo tem sido usado, principalmente, para avaliação de desempenho. 
As High-Level Petri Nets – Redes de Petri de Alto Nível ou HLPN foram criadas para superar as
limitações mencionadas das Redes originais de Petri. 
Elas são modelos matemáticos que estendem o formalismo original da Rede Petri aos conceitos
de tipos de dados, tempo e hierarquia. 
A HLPN resulta em modelos de processo simples, precisos e escaláveis que são adequados a
descrições formais de todos os tipos de Sistemas discretos. Portanto, essas Redes podem ser
aplicadas a processos reais.
As Redes de Petri de Alto Nível são compostas por quatro tipos diferentes de elementos:
Portanto, semelhantes a uma Rede de Petri Tradicional.
Além disso, as transições também podem representar sub-redes, escondendo, assim,
funcionalidades mais complexas em um Bloco de Construção. 
Diferentemente das Redes Petri, os tokens em Redes de Alto Nível podem transportar
informações complexas sobre os objetos que elas representam.
Figura 14 – Exemplo de uma Rede de Petri de alto nível
Lugares;
Tokens;
Transições;
Arcos.
Fonte: Reprodução
A explicação o exemplo da imagem anterior é que ela mostra um exemplo simples de um HLPN.
Assim: 
“Informações detalhadas do estado são armazenadas em tokens, que são como
objetos ou estruturas encontrados em muitas linguagens de programação.
Tokens são um meio de adicionar dados às Redes de Petri. A estrutura estática de
uma Rede de Petri é um gráfico composto por lugares e transições conectados por
arcos. 
Uma transição controla o movimento de tokens em uma Rede Petri e pode alterar
os dados do token. Cada transição tem uma expressão de guarda, que é uma função
booleana. Se a saída da expressão do guarda for avaliada de forma verdadeira, a
transição será disparada.
Um arco conecta um lugar a uma transição. Pode ser um arco de entrada, que é
direcionado de um lugar para uma transição, ou um arco de saída, que é
direcionado de uma transição para um lugar. Cada arco tem uma expressão de arco.
No caso de um arco de entrada, a expressão arco descreve o conjunto de
tokens necessários para permitir sua transição conectada. Esses tokens serão
removidos de seu lugar conectado após a transição ter ocorrido. No caso de um
arco de saída, a expressão arco descreve um conjunto de tokens depositados em seu
lugar conectado quando a transição ocorre.
Redes de Petri Coloridas
Redes de Petri coloridas são uma Linguagem Gráfica para construir Modelos de Sistemas
concorrentes e analisar suas propriedades. 
Esse tipo de Rede fornece a base da notação gráfica para a modelagem de simultaneidade,
comunicação e sincronização. 
CP-nets, como são conhecidas, é um suplemento às Linguagens e às Metodologias de
modelagem existentes, como a UML que já vimos anteriormente, quando revisamos o Diagrama
de Máquina de Estado e que pode ser usada de maneira integrada com a Rede de Petri. 
Domínios nos quais podemos aplicar as Redes CP – Petri coloridas são: Protocolos de
Comunicação, Redes de Dados, Algoritmos Distribuídos, Sistemas Incorporados, Processos de
Negócios, Fluxos de Trabalho, Sistemas de Manufatura e Sistemas Multiagentes.
Esse modelo Petri colorido é ótimo para modelar e especificar o comportamento de Sistemas
concorrentes e distribuídos. 
Uma simulação interativa fornece uma maneira de percorrer um modelo CP, investigando
diferentes cenários em detalhes e verificando se o modelo funciona conforme o esperado. 
- BOUDKO; LEISTER, 2017, p. 3
Toda a estrutura dinâmica de uma Rede de Petri consiste em tokens armazenados
em lugares. Assim, o estado global de uma Rede de Petri a qualquer momento é
representado pelos tokens e pelos lugares em que estão localizados, coletivamente
chamado de marcação da Rede. As transições representam possíveis mudanças no
estado. Arcos e expressões de arco determinam precisamente sob quais condições
essas alterações podem ocorrer e como ocorrem.”
A simulação automática é semelhante à execução do Programa e o objetivo é executar o modelo
da forma mais rápida e eficiente possível, sem interação humana detalhada e inspeção.
Além disso, as Redes CP incluem um conceito de tempo que permite captar o tempo gasto pelos
eventos no Sistema, e isso significa que podemos aplicá-las à análise de desempenho baseada
em simulação, em que as medidas de desempenho, como atrasos, rendimento e comprimentos
de fila no Sistema, são investigadas. 
Esses modelos são formais e, portanto, podem ser usados para provar propriedades sobre os
Sistemas modelados. Isso é feito, por exemplo, por verificação de modelo com base na
exploração do espaço de estados.
É aqui que queremos chamar sua atenção para um software livre no qual você poderá treinar
Redes de Petri e simular seu funcionamento, corrigindo enganos e ganhando experiência nesse
excelente método de validação formal.
Saiba Mais 
Para entender melhor o uso das Redes de Petri coloridas,
recomendamos que você leia "Árvore de características e Redes de Petri
colorida com expressões de lógica proposicional: propostas de
modelagem de requisitos e fluxo de navegação", que versa sobre
modelagem de requisitos e fluxo de navegação de uma aplicação web.
Então, recomendamos fortemente, para o benefício de seu aprendizado, que dê uma parada,
instale, teste, pegue modelos que já existem em livros e que estão corretos e simule, para você se
apropriar dos mecanismos utilizados para a resolução
das Redes e seu uso.
Como Analistas de Sistemas e/ou Engenheiros de Software e, até mesmo, Cientistas da
Computação, você utilizará muito as Redes de Petri, sendo um dos métodos preponderantes que
você precisa dominar.
Vamos às apresentações:
PETRILab é um software multiplataforma desenvolvido inteiramente em Python. Ele permite a
Modelagem e a Simulação de Redes de Petri Interpretadas para Controle (RPIC), tendo suporte
para todos seus elementos: lugares, transições, arcos ordinários e inibidores, eventos,
condições e ações.
Petrilab – Versão mais recente 
Clique no botão para conferir o vídeo indicado.
ACESSE
Para utilizar o programa, baixe a versão mais recente e extraia no local de preferência e execute o
arquivo petrilab.pyw. 
https://sourceforge.net/projects/petrilab/files/
Figura 15 – Tela de download do Petrilab
Fonte: Reprodução
Baixe o ZIP do Petrilab e a seguir clique na pasta de Docs para aprender sobre o uso do software,
que é bastante intuitivo. Aproveite que está em português, pois fica mais fácil entender a
documentação e executar os treinos.
Petrilab – Documentação 
Clique no botão para conferir o vídeo indicado.
ACESSE
Com uma interface gráfica simples e intuitiva, o usuário consegue modelar e simular passo a
passo sua Rede de Petri de forma rápida e prática, a m de estudá-la e aprimorá-la.
https://sourceforge.net/projects/petrilab/files/docs/
Fundamentos dos Elementos da
Notação de Estelle
ESTELLE significa Extended Finite State Machine Language, ou seja, em Português, Linguagem de
Máquina de Estado Finita Estendida. 
Estelle é uma Técnica de Descrição Formal, definida na ISO – International Organization for
Standardization para a especificação de Sistemas de Processamento de Informações
Simultâneos e Distribuídos. 
Em particular, pode ser usada para descrever os serviços e protocolos das camadas da
arquitetura OSI – Open Systems Interconnection definida pela ISO. Porém, cabe aqui entendermos
de onde ela surgiu e para que serve. 
Estelle surgiu em um momento em que, para obter Redes de Computadores totalmente
interoperáveis, um desafio que deve ser enfrentado diz respeito à produção de especificações
formais inequívocas de quaisquer Protocolos de Comunicação que a Rede emprega. 
Em meados da década de 80 do século XX, Estelle foi proposta como uma Técnica de Descrição
Formal para a especificação de Protocolos de Comunicação. 
Pesquisadores como Paul Amer ajudaram a definir a semântica e a sintaxe formal dessa
Linguagem, em conjunto com outros 2 pesquisadores: Piotr Dembinski e Stanislav Budkowski.
Porém, somente em 1989 Estelle foi aprovada como um Padrão Internacional ISO. 
Com base na comunicação de Máquinas de Estados finitos estendidos, Estelle tem uma
semântica formal, matemática e independente de implementação. 
É uma linguagem expressiva, bem definida e bem estruturada, capaz de especificar Sistemas de
Processamento de Informações simultâneos e distribuídos de maneira completa, consistente,
concisa e inequívoca.
Há pouca necessidade de explorar Linguagens adicionais para especificação formal. Existe um
padrão ISO Internacional com base em mais de 20 anos de estudo. O verdadeiro desafio é tornar
Estelle o mais atraente e amigável possível para os especificadores de Protocolo.
ESTELLE é particularmente adequada para descrever Sistemas distribuídos ou simultâneos e
modela um Sistema como um conjunto hierarquicamente estruturado de módulos que se
comunicam por meio de canais com capacidade bidirecional, anexando seus pontos de
interação.
Figura 16 – Elementos básicos de ESTELLE reunidos
Um autômato ESTELLE descreve o comportamento de cada módulo. 
Vejamos o que a figura anterior denota:
Um módulo (pai/mãe) pode ser estruturado em submódulos (criança) que também
podem ter seus próprios filhos; 
Dois módulos se comunicam através de um canal trocando mensagens
(interações); 
Figura 17 – Exemplo simples de ESTELLE
Nesse exemplo, CONTROLE e MÁQUINA são parâmetros formais que serão substituídos por
nomes reais de Módulos quando o canal for instanciado. 
Interações INICIAR e FINALIZAR a programação são permitidas no canal (que conecta A a B) se
iniciadas pelo Módulo que desempenha o papel de CONTROLE.
Da mesma forma, as interações Máquina Operando e Máquina Parada só são permitidas nesse
Canal se originadas pelo Módulo que desempenha o papel de MÁQUINA. 
Nenhuma dessas interações carrega parâmetros, mas, se necessário, isso é possível. 
Neste simples exemplo, MÁQUINA tem apenas um ponto de interação, B, associado ao canal, no
qual o Módulo MÁQUINA desempenha o papel de Equipamento. 
Uma fila individual para o ponto de interação B foi declarada. É possível omitir a declaração de
Disciplina da fila no cabeçalho do Módulo se uma declaração padrão for colocada no início da
especificação.
A declaração de um canal requer a definição do nome do canal, dois parâmetros
formais identificando cada um dos módulos de comunicação e as interações
(mensagens) permitidas em cada direção.
Indicações para saber mais sobre os assuntos abordados nesta
Unidade:
  Vídeos  
RdP 6 – Exemplos de sistemas e respectivos modelos em
redes de Petri | Redes de Petri 
Redes de Petri que integra o módulo de Automação do Vida Estudantil
Cursos.  A aula irá apresentar: Modelo de um sistema de transporte de
robôs; Modelo de um sistema de batelada cíclico. 
2 / 3
˨ Material Complementar
RdP 6 - Exemplos de sistemas e respectivos modelos em redes de…
https://www.youtube.com/watch?v=2S5r3f0IkSg
Redes Petri 1 (Com Exemplos em Português) 
Introdução às redes de Petri.  Analogia entre GRAFCET e Redes de Petri. 
  Leitura  
Árvore de características e Redes de Petri colorida com
expressões de lógica proposicional: propostas de
Redes Petri 1 ( Com Exemplos Em Português )
https://www.youtube.com/watch?v=7kAOcZsWSf0
modelagem de requisitos e fluxo de navegação.
Clique no botão para conferir o conteúdo.
ACESSE
Utilização da Técnica Estelle para gerar sequências de teste
para protoolos de comunicação. 
O material apresenta uma proposta de utilização de ESTELLE e de
ferramentas de suporte para geração de sequências para o Teste de
Conformidade, a parti de especificações formais de protocolos de
comunicação.
Clique no botão para conferir o conteúdo.
ACESSE
http://%20https//repositorio.ufu.br/bitstream/123456789/12516/1/d.pdf
http://ce-resd.facom.ufms.br/sbrc/1995/p01.pdf
BOUDKO, S.; LEISTER, W. Vias de tratamento como Redes de Petri no gerenciamento do fluxo de
trabalho do paciente. IiWAS-17, Salzburg, Áustria. 2017. Disponível em:
<https://www.researchgate.net/publication/321670892_Treatment_Pathways_as_Petri_Net
s_in_Patient_Workflow_Management/figures?lo=1>. Acesso em: 22/08/2021.
PÁDUA, S. I. D. et al. O potencial das Redes de Petri em modelagem e análise de Processos de
Negócio. 2004. Disponível em:
<https://www.scielo.br/j/gp/a/WMdm3xk56XpWMhmXRddMkQG/?format=pdf&lang=pt>.
Acesso em: 22/08/2021.
TELLES, I. C. F. S. Um modelo em Rede de Petri para o sistema automático de injeção de uma
máquina injetora de plástico. 2007. Disponível em:
<http://www.pee.ufrj.br/index.php/pt/producao-academica/dissertacoes-de-mestrado/2007-
1/2007030901-2007030901/file>. Acesso em: 20/08/2021.
VENKATESWARLU, A. et al. A Study of Petri Nets: Modeling, Analysis and Simulation. Department
of Aerospace Engineering, 2006. Disponível em:
<https://abhishekhalder.bitbucket.io/PetriNetReport.pdf>.
3 / 3
˨ Referências

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina