redes de petri: propriedades e análise

21
1 Redes de Petri: Propriedades e Análise Prof. Dr. Norian Marranghello DCCE/IBILCE/UNESP Agosto de 2005 Introdução: O objetivo desta introdução é apresentar, brevemente, as redes de Petri (RdP), para que se possam estudar, na seqüência, suas propriedades e os métodos de análise correspondentes. Para aqueles que necessitarem de informações mais detalhadas sobre os conceitos básicos destas redes sugere-se a leitura da apostila “Redes de Petri: Conceitos e Aplicações”, disponível no URL: http://www.dcce.ibilce.unesp.br/~norian/cursos/mds/ApostilaRdP-CA.pdf. Redes de Petri constituem um formalismo matemático capaz de representar sistemas digitais em um nível de abstração bastante alto. Seu aspecto estrutural equivale a um grafo direcionado e bipartido composto por três elementos básicos, quais sejam, estados, ações e arcos. Os estados e as ações correspondem aos vértices do grafo, e os arcos às suas arestas. Os sub-conjuntos de estados e de ações são disjuntos, motivo pelo qual se diz que o grafo subjacente é bipartido. Cada um dos elementos do sub-conjunto de arcos, por sua vez, tem por origem um elemento do sub-conjunto de estados e por destino um elemento do sub-conjunto de ações, ou vice-versa. Por esta razão, o grafo é dito direcionado. Os estados de uma RdP representam a parte estática do sistema modelado, isto é, cada um dos possíveis estados elementares pelos quais o sistema pode passar em alguma fase de seu funcionamento. As ações de uma RdP representam a parte dinâmica do sistema modelado, ou seja, cada uma das operações que o sistema pode executar no decorrer de sua existência. Os arcos de uma RdP representam a relação de fluxo entre estados e ações. Cada estado da RdP que serve de condição prévia para a ocorrência de determinada ação deve estar ligada a ela por um arco dirigido do estado para a ação. Cada estado da RdP

Upload: phungdieu

Post on 09-Jan-2017

220 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Redes de Petri: Propriedades e Análise

1

Redes de Petri: Propriedades e Análise

Prof. Dr. Norian Marranghello DCCE/IBILCE/UNESP

Agosto de 2005

Introdução: O objetivo desta introdução é apresentar, brevemente, as redes de Petri

(RdP), para que se possam estudar, na seqüência, suas propriedades e os

métodos de análise correspondentes. Para aqueles que necessitarem de

informações mais detalhadas sobre os conceitos básicos destas redes sugere-se a

leitura da apostila “Redes de Petri: Conceitos e Aplicações”, disponível no URL:

http://www.dcce.ibilce.unesp.br/~norian/cursos/mds/ApostilaRdP-CA.pdf.

Redes de Petri constituem um formalismo matemático capaz de representar

sistemas digitais em um nível de abstração bastante alto. Seu aspecto estrutural

equivale a um grafo direcionado e bipartido composto por três elementos

básicos, quais sejam, estados, ações e arcos. Os estados e as ações

correspondem aos vértices do grafo, e os arcos às suas arestas. Os sub-conjuntos

de estados e de ações são disjuntos, motivo pelo qual se diz que o grafo

subjacente é bipartido. Cada um dos elementos do sub-conjunto de arcos, por

sua vez, tem por origem um elemento do sub-conjunto de estados e por destino

um elemento do sub-conjunto de ações, ou vice-versa. Por esta razão, o grafo é

dito direcionado.

Os estados de uma RdP representam a parte estática do sistema modelado,

isto é, cada um dos possíveis estados elementares pelos quais o sistema pode

passar em alguma fase de seu funcionamento. As ações de uma RdP representam

a parte dinâmica do sistema modelado, ou seja, cada uma das operações que o

sistema pode executar no decorrer de sua existência. Os arcos de uma RdP

representam a relação de fluxo entre estados e ações. Cada estado da RdP que

serve de condição prévia para a ocorrência de determinada ação deve estar

ligada a ela por um arco dirigido do estado para a ação. Cada estado da RdP

Page 2: Redes de Petri: Propriedades e Análise

2

resultante da ocorrência de uma ação é, por sua vez, uma condição decorrente

da operação (ou conjunto de operações) associada à ação e a ela deve estar

ligado por um arco dirigido com origem na ação e destino no estado.

Fora esta visão estrutural, o comportamento de uma RdP pode ser analisado,

para que se possa entender o funcionamento do sistema que se estiver

modelando. Para se identificar quais as condições da RdP estão satisfeitas em

cada instante do seu funcionamento, utilizam-se marcas nos estados

correspondentes. A distribuição das marcas pelos estados da RdP em cada

instante é dita marcação da rede.

Graficamente, representam-se os estados por elipses, as ações por retângulos,

os arcos por setas e as marcas por pontos. As elipses, freqüentemente

degeneram para círculos e os retângulos para quadrados ou para simples traços.

Via de regra estas mudanças não influem no comportamento da rede ou no

significado do objeto gráfico. Contudo, em alguns poucos casos a representação

de ações por retângulos ou por traços podem significar comportamentos

diferentes, em particular, em algumas extensões estocásticas. Os arcos, nestes

casos, também podem ter suas terminações alteradas e, em vez de terminarem

em setas, como é usual, podem terminar em pequenos círculos, representando

uma mudança no seu significado.

As ações de uma RdP são potencialmente paralelas e assíncronas, isto é, uma

vez satisfeitas as condições para a sua ocorrência, elas podem acontecer em

qualquer instante independentemente umas das outras. Para que uma ação

ocorra, todas as suas pré-condições devem estar satisfeitas e todas as suas pós-

condições devem comportar o resultado de sua execução. A conseqüência da

ocorrência de uma ação é a eliminação de um sub-conjunto de marcas existentes

nos seus estados de entrada e a criação de outro sub-conjunto de marcas nos

seus estados de saída.

Note-se que há mais de uma classe de RdP e muitas extensões em cada uma

delas. Para cada extensão de RdP a regra geral de ocorrência de uma ação,

enunciada no parágrafo anterior, pode sofrer algumas adaptações, restringindo-a

ou relaxando-a.

Page 3: Redes de Petri: Propriedades e Análise

3

Esta apostila está dividida em duas partes, quais sejam: uma primeira parte,

na qual se estudam as várias propriedades das RdP, caracterizando-se as diversas

situações pelas quais a rede pode passar; e uma segunda parte, na qual se

estudam os métodos que podem ser utilizados para analisar o comportamento do

modelo.

Propriedades: As propriedades das RdP podem ser divididas em dois grandes grupos, quais

sejam: as propriedades estáticas (ou estruturais) e as propriedades dinâmicas

(ou comportamentais).

As propriedades estáticas das RdP são aquelas que têm a ver com a

estrutura da rede e que não se modificam no transcurso de seu funcionamento.

Elas não dependem do estágio de execução em que a rede se encontra, sendo,

portanto, independentes da marcação da rede.

As propriedades dinâmicas das RdP são aquelas que têm a ver com o seu

comportamento e que se modificam durante o funcionamento. Elas são

essencialmente dependentes do estágio de execução em que a rede se encontra

e são, por conseguinte, dependentes da marcação da rede.

Conservação A propriedade de conservação corresponde ao caso no qual o número total

de marcas na rede não se modifica. Uma ação é dita conservativa se a soma dos

arcos que a liga às suas pré-condições for igual à soma dos arcos que a liga às

suas pós-condições. Desta forma, quando a ação for executada, nenhum recurso

ligado a ela será criado ou eliminado. Se todas as ações de uma RdP forem

conservativas, diz-se que a rede é estritamente conservativa.

A propriedade de conservação estrita é bastante restritiva, contudo, há

casos nos quais é possível se associar a cada arco da rede um peso (um fator

multiplicador) de modo que para esta nova combinação o conjunto de marcas

removido das pré-condições de cada ação passa a ser igual ao conjunto de

marcas gerado após a execução da ação correspondente. O que se passa a

considerar agora é o somatório ponderado dos pesos dos arcos da rede. Se este

somatório for constante, pode-se dizer que a RdP é conservativa em relação a

Page 4: Redes de Petri: Propriedades e Análise

4

esta distribuição de pesos. Note-se que cada um destes pesos deve ser um valor

inteiro e positivo.

Há ainda o caso em que não é possível encontrar um vetor de pesos tal que

torne toda a RdP conservativa. Entretanto, pode-se encontrar um vetor de pesos

que torne parte da rede conservativa. Esta situação pode ser encontrada

tornando todos os elementos do vetor de pesos nulos, exceto aqueles

correspondentes aos estados que se deseja considerar. Neste caso, diz-se que a

rede é parcialmente conservativa, em relação ao vetor de pesos P.

Reiniciabilidade Uma RdP é dita reiniciável se, para qualquer marcação alcançável, for

possível voltar à marcação inicial.

Reversibilidade

Marcação de base (Home-marking; Marquage d’accueil) é uma marcação

Mh, alcançável a partir da marcação inicial M0, tal que para toda a marcação Mi,

também alcançável a partir de M0, haja uma seqüência de disparos que leve de

Mi a Mh.

Uma RdP é dita reversível se, existir uma marcação base, acessível de

qualquer outra marcação do conjunto de alcançabilidade da rede.

Repetitividade

Uma RdP é repetitiva se existir uma seqüência de disparos, associada a

uma dada marcação, na qual todas as ações são executadas um número de vezes

infinito. Se a seqüência existir, mas apenas algumas ações forem disparadas

ilimitadamente, a rede é dita parcialmente repetitiva.

Consistência Uma RdP é consistente se ao disparar uma seqüência de ações a partir de

uma marcação inicial, for possível retornar a esta marcação executando, pelo

menos uma vez, cada uma das ações da rede. É possível mostrar que uma rede é

consistente se, e somente se, existir um vetor δ, não nulo, tal que sua

multiplicação pela matriz de incidência da RdP seja igual a zero, isto é, D•δ=0.

Vivacidade Uma RdP é dita viva se for possível executar todas as suas ações a partir de

qualquer uma das marcações alcançáveis da rede. Esta propriedade é muito

Page 5: Redes de Petri: Propriedades e Análise

5

importante na análise de sistemas digitais, uma vez que, quando verificada,

indica a inexistência de bloqueios no sistema modelado. Porém, a verificação da

vivacidade irrestrita de uma RdP é, freqüentemente, muito cara. Por esta razão

é possível relaxar esta propriedade, adotando-se níveis de vivacidade. Podemos,

então definir cinco níveis de vivacidade, como segue:

- Ação viva no nível 4 (N4) ou, simplesmente, viva: é aquela que pode

ser executada pelo menos uma vez, em pelo menos uma seqüência

de disparos, a partir de cada marcação pertencente ao conjunto de

alcançabilidade ? A(R, M0).

- Ação viva no nível 3 (N3): é aquela que pode ser executada um

número infinito de vezes em alguma seqüência de disparos possível a

partir da marcação inicial ? S(R, M0).

- Ação viva no nível 2 (N2): é aquela que pode ser executada pelo

menos k vezes em alguma seqüência de disparos S(R, M0), para um

dado inteiro k > 1.

- Ação viva no nível 1 (N1): é aquela que pode ser executada pelo

menos uma vez em alguma seqüência de disparos S(R, M0).

- Ação viva no nível 0 (N0), ou rede morta: é aquela que nunca puder

ser executada em qualquer seqüência de disparos S(R, M0); isto é, se

não existir marcação em A(R, M0) que habilite a ação em questão.

Uma RdP é dita viva no nível Ni se todas as suas ações forem vivas em um

nível j ≥ i. Vivacidade no nível 4 é a mais abrangente e corresponde à vivacidade

plena mencionada no início desta seção. Pode-se dizer que a vivacidade em um

determinado nível implica a vivacidade nos níveis menos restritos, sendo o nível

4 o mais restrito e o nível 1 o menos restrito. Com certeza, esta propriedade não

se aplica ao nível zero, pois, se a rede é viva em algum nível diferente de zero

ela não é morta e vice-versa. Pode-se definir vivacidade estrita no nível i se

determinada ação for viva neste nível, mas não em nível superior.

Page 6: Redes de Petri: Propriedades e Análise

6

Limitação Uma RdP é limitada se em cada lugar da rede, o número total de marcas

nunca exceder a um inteiro k. Neste caso a rede é dita k-limitada. Se a rede for

limitada ao inteiro 1, diz-se que a rede é segura.

Uma RdP é estruturalmente limitada se for limitada para qualquer

marcação inicial. Isto significa que deve existir um vetor de inteiros positivos

com dimensão igual à cardinalidade do conjunto de estados da rede de tal sorte

que o produto deste vetor de pesos (P) pela matriz de incidência (D) da rede

seja menor ou igual a zero, isto é, P • D ≤ 0.

Alcançabilidade Uma marcação é dita alcançável em uma RdP se existir uma seqüência

finita de disparos que conduza a ela a partir da marcação inicial. Se todas as

marcações alcançáveis forem decorrentes da inicial, a rede é dita alcançável.

Cobertura Uma RdP é dita coberta se, para toda a marcação M’, alcançável a partir de

Mo, existir outra marcação M”, maior ou igual a M’ e alcançável a partir de M’.

M” é considerada maior ou igual a M’, se o número de marcas em cada lugar de

M” for maior ou igual ao número de marcas do lugar correspondente em M’, para

todos os lugares da rede (M” ≥ M’ → M”(li) ≥ M’(li), ∀ li ∈ L).

Persistência Uma RdP é dita persistente se havendo mais de uma ações habilitadas, em

qualquer das marcações da rede, a ocorrência de uma delas não desabilita a

ocorrência das demais.

Justiça Uma RdP é dita justa se, para quaisquer duas ações, o número de vezes que

uma é executada enquanto a outra não é executada é finito. Esta propriedade

também é conhecida como justiça limitada. Se, por outro lado, uma dada

seqüência de disparos σ for finita ou se cada ação da rede aparecer nesta

seqüência um número infinito de vezes, σ é dita incondicionalmente justa. Uma

RdP é dita incondicionalmente justa se todas as seqüências de disparo originárias

em alguma marcação de A(R, M0) forem incondicionalmente justas.

Page 7: Redes de Petri: Propriedades e Análise

7

Métodos de Análise: Nesta segunda parte da apostila serão vistos métodos formais para a análise das

RdP. Estes métodos podem ser agrupados em duas categorias, quais sejam, a dos

métodos que privilegiam a visão estrutural da rede, envolvendo uma equação

fundamental a ser desenvolvida na seção seguinte, e os métodos que consideram

principalmente a visão comportamental da rede, utilizando o seu grafo de

marcações.

Equação Fundamental Uma rede de Petri pode ser representada por duas matrizes, uma indicando

os conjuntos de lugares que servem de entrada para cada uma das transições da

rede e outra indicando os conjuntos de lugares que servem de saída para tais

transições.

A primeira delas é a matriz de entrada, também chamada de matriz de

incidência reversa. Esta matriz é descrita por D-[j,i]=#(li,I(tj)), o que significa

que cada elemento da matriz de entrada D- corresponde ao número de arcos que

conectam o lugar li à entrada de cada transição tj.

A segunda matriz é a de saída, que também é chamada de matriz de

incidência direta. Esta matriz é descrita por D+[j,i]=#(li,O(tj)), o que significa

que cada elemento da matriz de entrada D+ corresponde ao número de arcos que

conectam a saída de cada transição tj ao lugar li.

Como exemplo, tome-se a rede da Figura-1. Nessa rede têm-se três lugares

e quatro transições. As matrizes de incidência correspondentes terão, por

conseguinte, quatro linhas (uma para cada transição da rede) e três colunas

(uma para cada lugar).

2 2

l1 l2

l3

t1

t2

t3

t4

Figura-1: Exemplo de rede de Petri para a formação das matrizes de incidência.

Page 8: Redes de Petri: Propriedades e Análise

8

Para a formação da matriz de incidência reversa (matriz de entrada),

verifica-se que a transição t1 tem somente um lugar de entrada, que é o lugar l1.

A transição t2 possui, ligados à sua entrada, os lugares l1 e l3. Os lugares l2 e l3

conectam-se à entrada da transição t3 e, também, à da t4. Note-se ainda, que o

lugar l3 está conectado à entrada de t3 por um arco com peso duplo. Por esta

razão, o elemento D-[3,3] é igual a 2.

Para a formação da matriz de incidência direta (matriz de saída), verifica-

se que a transição t1 tem, como saída, os lugares l1 e l3. Note-se que, neste caso,

o lugar l3 está conectado à entrada de t1 por um arco com peso duplo. Por esta

razão, o elemento D+[1,3] é igual a 2. A transição t2 possui, ligados à sua saída,

os lugares l2 e l3. O lugar l2 conecta-se à entrada da transição t3 e o lugar l1 à da

transição t4.

Pelo que foi discutido, nos dois parágrafos precedentes, as matrizes de

incidência, de entrada e de saída, são dadas, respectivamente, por:

Para que se possa utilizar estas matrizes na análise das RdP, deve-se

empregar ainda um vetor indicando quais as transições deverão disparar. Estes

vetores de disparos, também conhecidos como vetores de Parikh [01], mapeiam

cada transição da rede no número de ocorrências dessas transições em uma

determinada seqüência de disparos. Os vetores de disparos mais simples são

aqueles que representam um único disparo de uma única transição. Eles são

representados por e[j] e têm o valor 1 na j-ésima posição e 0 nas demais. Os

vetores de disparos unitários, para cada uma das transições da Figura-1, são:

l1 l2 l3

1 0 0 t1

1 0 1 t2

0 1 2 t3

0 1 1 t4

l1 L2 l3

1 0 2 t1

0 1 1 t2

0 1 0 t3

1 0 0 t4

D- = D+ =

Page 9: Redes de Petri: Propriedades e Análise

9

j=1 j=2 j=3 j=4

↓ ↓ ↓ ↓ e[1] → t1 → (1, 0, 0, 0)

e[2] → t2 → (0, 1, 0, 0)

e[3] → t3 → (0, 0, 1, 0)

e[4] → t4 → (0, 0, 0, 1)

Se alguma transição for disparada mais de uma vez, sua posição relativa no

vetor de disparos será consignada com o numeral correspondente. Por exemplo,

se a transição t2 disparar três vezes o vetor de disparos representativo desta

condição é e[2] = (0, 3, 0, 0).

Também é possível combinar esses vetores para representar alguma

seqüência (σ) de disparos. Neste caso, o vetor combinado passa a ser notado por

f(σ). Por exemplo, se for necessário representar a seqüência de disparos

correspondente à execução das transições t1, t2 e t4, sendo t2 disparada duas

vezes e as demais uma única vez, o vetor f(σ) = (1, 2, 0, 1) deverá ser usado

para representa-la.

De posse das definições acima, pode-se dizer que uma transição tj está

habilitada em qualquer marcação M, desde que esta marcação seja maior ou

igual ao produto do vetor de disparos da transição em questão pela matriz de

incidência reversa da rede, isto é, M ≥ e[j] • D-. Esta condição de habilitação é

válida para qualquer transição em qualquer marcação e pode ser estendida para

uma seqüência de transições a serem disparadas a partir da marcação M, ou

seja, M ≥ f(σ) • D-. A relação ≥, na condição de habilitação, significa que cada

elemento da marcação M precisa ser, individualmente, maior ou igual ao

elemento correspondente do vetor resultante do produto do vetor de disparos

pela matriz de incidência considerada. A validade desta expressão se deve ao

fato de que a matriz de incidência reversa indica, em cada uma de suas linhas, a

quantidade de marcas necessárias para o disparo da transição correspondente,

bem como, a localização de cada uma destas marcas. Por exemplo, na segunda

linha da matriz D-, calculada anteriormente, tem-se o vetor (1, 0, 1); isto quer

dizer que para executar a transição t2 são necessárias uma marca no lugar l1 e

Page 10: Redes de Petri: Propriedades e Análise

10

uma marca no lugar l2. Ao se fazer o produto do vetor e[2] pela matriz D-, esta

linha é isolada e pode ser comparada com a marcação desejada para verificar se

tal condição é atendida pela marcação. Por exemplo, analisem-se as condições

de habilitação das transições t1 e t2, na marcação inicial M0 = (1, 0, 0).

Primeiramente, tome-se o caso de t1, quando se deve ter M0 ≥ e[1] • D-. O

produto e[1] • D- é igual ao vetor (1, 0, 0), o qual coincide com M0 e satisfaz à

condição de habilitação de t1. A seguir, veja-se o caso de t2, quando se deve ter

M0 ≥ e[2] • D-. O produto e[2] • D- é igual ao vetor (1, 0, 1), como já havia sido

calculado acima. Ocorre que, embora as duas primeiras posições deste produto

coincidam com M0, sua terceira coluna é maior do que a coluna correspondente

de M0. Portanto, a condição de habilitação de t2 na marcação M0 não é satisfeita,

indicando que t2 não pode disparar na marcação inicial.

Uma vez definida a possibilidade de execução de uma certa transição em

alguma marcação, deseja-se calcular o resultado produzido por esta execução.

Novamente, aqui pode se recorrer às matrizes de incidência. Como já visto, a

matriz de incidência reversa multiplicada pelo vetor de disparos adequado

representa o conjunto de marcas necessário, inclusive com a indicação de sua

distribuição, para a execução de uma transição. Analogamente, pode-se verificar

que a matriz de incidência direta, ou matriz de saída, ao ser multiplicada pelo

mesmo vetor de disparos indica a quantidade e a distribuição das marcas a

serem criadas após a execução da transição considerada. Desta forma, somando-

se estes efeitos chega-se à seguinte expressão, representativa do disparo da

transição tj na marcação M.

δ(M, tj) = M - e[j] • D- + e[j] • D+

δ(M, tj) = M + e[j] (- D- + D+)

δ(M, tj) = M + e[j] • D

Page 11: Redes de Petri: Propriedades e Análise

11

Note-se que a matriz D, obtida pela subtração da matriz de incidência

reversa da matriz de incidência direta, é conhecida como a matriz característica

das RdP. A equação resultante acima é a equação fundamental das RdP.

Invariantes Os invariantes em uma rede de petri representam os componentes

conservativos e repetitivos da rede. Há conjuntos de lugares e de transições da

rede cujo comportamento não se altera durante o seu funcionamento. A

identificação e a interpretação de cada um destes conjuntos é importante, pois,

eles refletem certas propriedades da rede que podem ser de interesse para a

análise do sistema modelado.

Componentes conservativos

Os componentes conservativos da rede são representados em seus

invariantes de lugar, ou seja, são conjuntos de lugares da rede nos quais a soma

das marcas é constante durante todo o seu funcionamento.

Para identificar os componentes conservativos da rede deve-se partir da

equação fundamental das RdP, qual seja:

Mx = M0 + f ° D

Recordando, nesta equação Mx representa a marcação que se deseja

alcançar, M0 representa a marcação inicial da rede, f representa o vetor de

disparos da rede e D representa sua matriz de incidência global.

A situação na qual todos os lugares da rede formam um único componente

conservativo é muito improvável na prática. Por outro lado, encontrar sub-

conjuntos de lugares nos quais o total de marcas não se altere já é bem mais

comum. Para encontrar tais sub-conjuntos deve-se isolar os lugares

correspondentes durante a análise. Matematicamente falando, isto significa

multiplicar a equação característica por um vetor de mascaramento, ao qual

chamar-se-á de vetor de ponderação (VP) e o qual servirá para produzir o

isolamento desejado. Para introduzi-lo na equação característica sem altera-la

deve-se multiplicar todos os seus termos por este vetor, obtendo-se:

Mx ° VP = M0 ° VP + f ° D ° VP

Page 12: Redes de Petri: Propriedades e Análise

12

A solução desta nova equação será obtida ao se igualar a zero seus termos.

Sabemos que, para que a rede tenha componentes conservativos a igualdade Mx

° VP = M0 ° VP deve se verificar. Também se sabe que f não pode ser nulo, já

que é a representação do comportamento dinâmico da rede. Sendo assim, pode-

se encontrar os componentes conservativos (invariantes de lugar) da rede

resolvendo-se a equação:

D ° VP = 0.

Este procedimento é melhor entendido por meio de um exemplo. Imagine-

se a rede da Figura-2. Ela tem cinco lugares e quatro transições, sendo sua

matriz característica dada por:

e seu vetor de ponderação por: VP = [I1 I2 I3 I4 I5].

O produto destes dois arranjos resulta no seguinte sistema de equações:

l1

l5 l4

l3 l2

t1

t4

t3 t2

Figura-2: Exemplo de componentes conservativos.

D =

-1 1 1 0 0 0 –1 0 1 0 0 0 –1 0 1 1 0 0 –1 -1

Page 13: Redes de Petri: Propriedades e Análise

13

I1 = I2 + I3

I2 = I4

I3 = I5

I1 = I4 + I5

Este sistema tem inúmeras soluções possíveis, dependendo dos valores

iniciais utilizados. Como VP é um vetor de ponderação, utilizam-se os valores

zero e um, resultando nos seguintes componentes conservativos.

Para I2 = 0 e I3 = 1, VP = [1 0 1 0 1], indicando que I’ = {I1 I3 I5} é um

invariante de lugar da rede da Figura-2.

Invertendo os valores, isto é, para I2 = 1 e I3 = 0, VP = [1 1 0 1 0], indicando

que I” = {I1 I2 I4} é outro invariante de lugar da rede da Figura-2.

Componentes repetitivos

Os componentes repetitivos são representados em seus invariantes de

transição, isto é, são conjuntos de transições da rede que ao serem disparadas

em determinada seqüência retornam à marcação de partida.

Para identificar os componentes repetitivos de uma rede de Petri utiliza-

se um procedimento análogo ao usado para identificar os componentes

conservativos, ou seja, lança-se mão de um vetor de pesos associado à matriz

característica da rede de petri considerada e se obtém os invariantes de

transição pela solução do sistema de equações resultante desta associação.

Como a dedução foi apresentada na seção anterior, passa-se aqui diretamente a

um exemplo de aplicação.

Considere-se a rede apresentada na Figura-3, a qual contém sete lugares

e seis transições. Sua matriz característica é dada por:

e seu vetor de ponderação por: VP = [I1 I2 I3 I4 I5 I6].

-1 1 0 -1 0 0 0

0 -1 1 1 0 0 0

1 0 –1 0 0 0 0

0 0 0 –1 -1 1 0

0 0 0 1 0 –1 1

0 0 0 0 1 0 –1

D =

Page 14: Redes de Petri: Propriedades e Análise

14

O produto destes dois arranjos resulta no seguinte sistema de equações:

I1 = I2 = I3

I4 = I5 = I6

Este sistema também tem inúmeras soluções possíveis, dependendo dos

valores iniciais utilizados, como no exemplo anterior. Portanto, seguindo o

mesmo procedimento da seção anterior, aqui serão utilizados novamente os

valores zero e um, por ser VP um vetor de ponderação, resultando nos seguintes

componentes conservativos.

Para I1 = 1 e I4 = 0, VP = [1 1 1 0 0 0], indicando que I’ = {t1 t2 t3} é um

invariante de transição da rede da Figura-3.

Invertendo os valores, isto é, para I1 = 0 e I4 = 1, VP = [0 0 0 1 1 1],

indicando que I” = {t4 t5 t6} é outro invariante de transição da rede da Figura-3.

Redução Freqüentemente, a complexidade para analisar sistemas de interesse

prático é alta, dificultando a interpretação do modelo correspondente. Visando

a minimização desta complexidade, amiúde lança-se mão de técnicas que

permite a redução do modelo em estudo, para um mais simples. Todavia, esta

redução deve preservar as características do modelo original, para que a análise

do modelo reduzido possa ser utilizada na inferência das propriedades do modelo

original do sistema. Isto significa que, para se verificar um conjunto de

propriedades de uma rede de petri complexa, pode-se transforma-la em outra

l3 l2 l1

l7 l6 l5

l4

t6 t4

t1 t3

t5

t2

Figura-3: Exemplo de componentes repetitivos.

Page 15: Redes de Petri: Propriedades e Análise

15

de menor complexidade, na qual a determinação das propriedades de interesse é

mais fácil. Contanto que as transformações utilizadas sejam adequadas, é

possível garantir que a rede original tem as mesmas propriedades verificadas

para a rede reduzida.

Por outro lado, pode-se usar técnicas de redução para transformar um

modelo abstrato de sistema em outro mais refinado, de forma hierárquica, para

realizar a síntese do sistema desejado.

Técnicas

Há um sem número de técnicas para a transformação de modelos em

seus correspondentes reduzidos, preservando as propriedades de interesse. Aqui

se apresentam apenas as mais simples, as quais, de acordo com Murata [02],

preservam as propriedades de vivacidade, segurança e limitação. Sendo assim, a

rede resultante da transformação só será viva, segura ou limitada se a rede

original for, respectivamente, viva, segura ou limitada.

As técnicas de redução aqui apresentadas são seis, quais sejam:

• fusão de lugares em série (Figura-4a);

• fusão de transições em paralelo (Figura-4b);

• fusão de transições em série (Figura-4c);

• fusão de lugares em paralelo (Figura-4d);

• eliminação de lugares em malha fechada (Figura-4e); e

• eliminação de transições em malha fechada (Figura-4f).

Um dos principais pontos fracos das RdP é o problema com sua

complexidade. Por isto, o desenvolvimento de métodos e técnicas que

possibilitem a redução hierarquizada destas redes, preservando suas

propriedades e, conseqüentemente, facilitando sua análise, é de suma

importância. Alguns pesquisadores que desenvolveram trabalhos pioneiros sobre

o assunto são: Murata et. al. [03], [04] e [05], Berthelot et. al. [06], Chu [07],

Kwong [08], e Valette [09].

Page 16: Redes de Petri: Propriedades e Análise

16

Análise

Os métodos de redução não permitem, por si só, a análise das

propriedades da rede. Eles são transformações aplicadas a determinada rede

para simplifica-la. A análise, propriamente dita, é efetuada sobre a rede

reduzida utilizando-se as demais técnicas disponíveis, tais como, a análise de

invariantes, a análise estrutural e análise por enumeração de estados.

Grafo de Ocorrências O grafo de ocorrências de uma RdP é um grafo direcionado e rotulado.

Cada um de seus vértices representa uma marcação alcançável da rede e cada

uma de suas arestas representa a execução de uma ação. O grafo de ocorrências

é então dado pelo par GO = (V, A), no qual, V é o conjunto de todos os vértices,

distintos, e rotulados com a indicação da marcação correspondente e A é o

conjunto de todas as arestas rotuladas com o nome da ação correspondente, que

identifica a transição entre duas marcações alcançáveis da rede.

O termo “grafo de ocorrências” pode ser utilizado de maneira genérica,

como explicado no parágrafo anterior. Ele também pode ser chamado de árvore,

ou grafo, de cobertura. Para o caso de redes limitadas, também se usam os

Figura-4: Principais técnicas de redução de redes de Petri.

Page 17: Redes de Petri: Propriedades e Análise

17

termos “árvore de alcançabilidade” ou, menos freqüentemente, “árvore de

acessibilidade”.

Na próxima seção apresenta-se o algoritmo de geração do grafo de

ocorrências derivado de Peterson [10], o qual tem sua terminação garantida,

segundo esse autor.

Algoritmo de construção

Para a geração do grafo de ocorrências define-se uma variável ω, que

representa um número qualquer de marcas e, em relação a uma variável “a”

qualquer, apresenta as seguintes propriedades:

ü ω + a = ω

ü ω - a = ω

ü a < ω

Os vértices do grafo de ocorrências podem ser de quatro tipos, quais

sejam: fronteira, interiores, terminais e duplicatas. Os vértices de fronteira são

aqueles que ainda não foram processados. Os vértices interiores são aqueles já

processados e que produziram algum sucessor. Os vértices terminais são aqueles

já processados e que não possuem qualquer sucessor. Os vértices duplicatas são

aqueles iguais a algum outro nó (interior ou terminal), os quais, por terem

sucessores idênticos, não precisam ser analisados. No começo, a marcação inicial

é o vértice de onde partem todos os outros e é definido como um vértice de

fronteira.

Etapas :

(1) Seja χ um vértice de fronteira.

(2) Se há outro vértice γ na árvore, que não seja vértice

fronteira e que tenha a mesma marcação associada (Mχ=Mγ), então o

vértice χ é definido como uma duplicata.

(3) Se nenhuma transição estiver habilitada na marcação Mχ,

então χ é definido como um vértice terminal.

Page 18: Redes de Petri: Propriedades e Análise

18

(4) Para todas as transições tj ∈ T, habilitadas em Mχ, criar um

novo vértice ξ no grafo. A marcação Mξ associada a este novo vértice é,

para cada lugar li, definida por:

(a) se Mχ(li)=ω, então Mξ(li)=ω;

(b) se existe um vértice γ no percurso do vértice inicial ao

vértice χ tal que Mγ < δ(Mχ, tj) e Mγ(li) < δ(Mχ, tj)/li, então Mξ(li)= ω;

(c) em qualquer outro caso Mξ(li) < δ(Mχ, tj)/li.

(5) Insere-se uma aresta rotulada com tj, direcionada do vértice

χ ao vértice ξ.

(6) Redefine-se o vértice χ como interior e o vértice ξ como

fronteira.

Havendo vértices de fronteira volta-se ao passo (2). Quando não houver

mais vértices de fronteira o algoritmo termina.

Análise por enumeração de marcações

A análise por enumeração de marcações, também dita por enumeração

de estados, é talvez a técnica mais empregada para a análise de RdP. Ela se

fundamenta na construção do espaço de estados resultante da execução

exaustiva da rede, isto é, do seu grafo de ocorrências. Uma vez construído o

grafo é possível determinar certas propriedades da RdP considerada, levando-se

em conta a marcação inicial utilizada para a geração do espaço de estados.

Esta análise requer a inspeção, por varredura, do grafo de ocorrências.

Sendo assim, considerem-se alguns exemplos:

- Se ao inspecionar o grafo de ocorrências for constatado que todos

os vértices do grafo contendo determinado lugar contiverem uma

ou nenhuma marca na posição correspondente ao lugar

considerado, pode-se inferir que este lugar é seguro. Mais ainda, se

continuando a inspeção se verificar que esta situação se repete

para todos os lugares da rede, pode-se concluir que ela é segura.

- Se ao inspecionar o grafo de ocorrências for constatado que

determinada transição nunca é utilizada, pode-se concluir que ela

Page 19: Redes de Petri: Propriedades e Análise

19

está morta. Se todas as transições poderem ser executadas pelo

menos uma vez, em pelo menos uma seqüência de disparos, a partir

de cada marcação pode-se concluir que a rede é viva, nível 4. Os

demais tipos de vivacidade podem ser deduzidos percorrendo-se o

grafo de ocorrência em busca das situações específicas, conforme

definidas na parte relativa às propriedades das RdP, neste texto.

- Se ao inspecionar o grafo de ocorrências nunca se encontrar o

símbolo ω, em qualquer lugar da rede, pode-se dizer que a rede é

limitada. Para determinar o grau de limitação, deve-se identificar o

lugar com o maior número de marcas no grafo de ocorrência. A

ocorrência do símbolo ω em algum lugar da rede indica que ela não

é limitada.

Apesar da conveniência na utilização da análise por enumeração de

marcações, há propriedades que não podem ser determinadas a partir desta

análise, por exemplo, nem sempre é possível determinar a alcançabilidade de

determinada marcação My, a partir de uma marcação Mx, após uma certa

seqüência de disparos se esta seqüência contiver o símbolo ? . No caso de redes

limitadas, todavia, esta definição é possível pela simples inspeção do grafo de

ocorrências. A vivacidade de redes ilimitadas constitui outro exemplo que nem

sempre é determinável.

Considerações Finais: Esta apostila mostrou, resumidamente, as principais propriedades das redes

de petri e as técnicas de análise para sua identificação. Como visto, nenhuma

das técnicas de análise existentes permite a verificação de todas as

propriedades. Por conseguinte, a escolha da técnica de análise deve levar em

consideração as propriedades que se precisam analisar. Além disto, há um custo

computacional associado a cada uma destas técnicas, o qual também deve ser

levado em consideração para esta escolha. Via de regra, a técnica mais utilizada

é a de análise do grafo de ocorrências, possivelmente, devido à facilidade de sua

implementação e o grau de completude das análises possíveis. A técnica menos

utilizada é, por outro lado, a de análise dos invariantes, não tanto por

Page 20: Redes de Petri: Propriedades e Análise

20

insuficiência nas propriedades observáveis, mas principalmente pelo alto custo

computacional envolvido em sua implementação.

Para concluir, vale ressaltar que este texto foi escrito para servir como guia

de estudos aos alunos da disciplina de técnicas de simulação do

DCCE/IBILCE/UNESP. Não se pretende tê-lo como um texto completo e exaustivo

para o estudo das propriedades e dos métodos de análise de redes de Petri.

Recomenda-se, isto sim fortemente, o aprofundamento dos estudos nos textos

referenciados ao final desta resenha.

Page 21: Redes de Petri: Propriedades e Análise

21

Referências Bibliográficas: [01] R.J.Parikh, On Context-free Languages, Journal of the Association for

Computing Machinery, 13(4)570-581, October, 1966.

[02] T.Murata, Petri Nets: Properties, Analysis and Applications, Proceedings of

the IEEE, 77(4)541-580, April de 1989.

[03] T.Murata and J.Y.Koh, Reduction and expansion of live and safe marked

graphs, IEEE Transactions on Circuits and Systems, 27(1)68-70, January 1980.

[04] R.Johnsonbaugh and T.Murata, Additional methods for reduction and

expansion of marked graphs, IEEE Transactions on Circuits and Systems,

28(10)1009-1014, October 1981.

[05] I.Suzuki and T.Murata, A method for stepwise refinements and abstractions

of Petri nets, Journal of Computer and Systems Sciences, 27(1)51-76, August

1983.

[06] G.Berthelot, G.Roucairol, and R.Valk, Reduction of nets and parallel

programs, Lecture Notes in Computer Science, vol.84, pp.277-290, 1980.

[07] T.A.Chu, A method of abstraction of Petri nets, Proceedings of the

International Workshop on Petri Nets and Performance Models, pp.164-173,

Madisson, WI – U.S.A., August 1987.

[08] Y.S.Kwong, On reduction of asynchronous systems, Theoretical Computer

Science, vol.5, pp.25-50, 1977.

[09] R.Valette, Analysis of Petri nets by stepwise refinements, Journal of

Computer and Systems Sciences, 18(1)35-46, August 1979.

[10] J.L.Peterson, Petri Net Theory and the Modeling of Systems, Prentice Hall,

Inc., 190 págs., junho de 1981 (ISBN: 0136619835).