Pontifı́cia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Pós-Graduação em Ciência da Computação
Um Estudo sobre Redes de Petri
Estocásticas Generalizadas
Afonso Henrique Corrêa de Sales
Orientador: Prof. Dr. Paulo Henrique Lemelle Fernandes
Trabalho individual I
Porto Alegre, agosto de 2002
Resumo
Este trabalho visa estudar um formalismo utilizado para avaliação de desempenho de
sistemas: Redes de Petri Estocásticas Generalizadas. O formalismo de Redes de Petri Estocásticas Generalizadas é derivado do formalismo de Redes de Petri Estocásticas que, conseqüentemente, deriva do formalismo de Redes de Petri. Todos os formalismos são definidos
e exemplificados de uma maneira informal a partir de suas primitivas de modelagem. A conclusão tece como trabalhos futuros a formulação de um relatório técnico contendo a definição
formal dos formalismos de Redes de Petri, Redes de Petri Estocásticas e Redes de Petri
Estocásticas Generalizadas de modo a definir-se inequivocamente suas propriedades de modelagem, bem como o estudo do formalismo de Redes de Petri Estocásticas Generalizadas
Superpostas à vista de uma resolução numérica eficiente e uma eventual comparação com o
formalismo de Redes de Autômatos Estocásticos.
Sumário
LISTA DE TABELAS
ii
LISTA DE FIGURAS
iii
LISTA DE SÍMBOLOS E ABREVIATURAS
iv
Capı́tulo 1: Introdução
1
Capı́tulo 2: Redes de Petri
2.1
2.2
Descrição Informal . . . . .
2.1.1 Marcas . . . . . . .
2.1.2 Regras de Execução
2.1.3 Atingibilidade . . . .
2.1.4 Limitação . . . . . .
2.1.5 Segurança . . . . . .
2.1.6 Vivacidade . . . . .
Exemplo de Modelagem . .
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Capı́tulo 3: Redes de Petri Estocásticas
3.1
3.2
Descrição Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Capı́tulo 4: Redes de Petri Estocásticas Generalizadas
4.1
4.2
Descrição Informal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemplo de Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
4
4
5
6
7
7
7
10
11
15
18
18
25
Capı́tulo 5: Conclusão
28
REFERÊNCIAS BIBLIOGRÁFICAS
30
i
Lista de Tabelas
3.1
Marcações da Figura 3.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.1
4.2
4.3
4.4
Switching distribution da GSPN descrita
Marcações da Figura 4.1 . . . . . . . . .
Switching distribution da GSPN descrita
Marcações da Figura 4.6 . . . . . . . . .
20
22
25
26
ii
na Figura
. . . . . .
na Figura
. . . . . .
4.1
. .
4.6
. .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lista de Figuras
2.1
2.2
2.3
2.4
2.5
Exemplo de representação gráfica de uma Rede de Petri . . .
Exemplo de uma Rede de Petri marcada . . . . . . . . . . . .
Disparo da transição t1 de uma Rede de Petri . . . . . . . . .
Árvore de atingibilidade da Figura 2.2 . . . . . . . . . . . . .
Compartilhamento de recursos com exclusão mútua - Rede de
. . . .
. . . .
. . . .
. . . .
Petri .
3.1
3.2
3.3
3.4
3.5
3.6
Exemplo de uma Rede de Petri Temporizada . . . .
Exemplo de uma Rede de Petri Estocástica . . . . .
Árvore de atingibilidade da Figura 3.2 . . . . . . . .
Cadeia de Markov equivalente à Figura 3.2 . . . . .
Compartilhamento de recursos com exclusão mútua Árvore de atingibilidade da Figura 3.5 . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
Petri Estocástica
. . . . . . . . .
4.1
4.2
4.3
4.4
4.5
4.6
Exemplo de uma Rede de Petri Estocástica Generalizada [13] . . . . . . . . .
Árvore de atingibilidade caso a Figura 4.1 fosse uma SPN . . . . . . . . . . .
Árvore de atingibilidade da Figura 4.1 . . . . . . . . . . . . . . . . . . . . . .
Cadeia de Markov da Figura 4.1 compreendendo vanishing e tangible markings
Cadeia de Markov da Figura 4.1 somente com tangible markings . . . . . . .
Compartilhamento de recursos com exclusão mútua - Rede de Petri Estocástica
Generalizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Árvore de atingibilidade da Figura 4.6 . . . . . . . . . . . . . . . . . . . . . .
Cadeia de Markov da Figura 4.6 compreendendo vanishing e tangible markings
Cadeia de Markov da Figura 4.6 somente com tangible markings . . . . . . .
4.7
4.8
4.9
iii
. . . . .
. . . . .
. . . . .
. . . . .
Rede de
. . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
5
6
8
10
11
12
13
15
16
19
22
23
23
24
25
27
27
27
Lista de Sı́mbolos e Abreviaturas
PN
SPN
Petri Nets
Stochastic Petri Nets
2
2
GSPN
SGSPN
Generalized Stochastic Petri Nets
Superposed Generalized Stochastic Petri Nets
2
2
SAN
TPN
Stochastic Automata Networks
Timed Petri Nets
2
10
CTMC
Continuous-Time Markov Chains
11
iv
1
Introdução
Através da evolução tecnológica das últimas décadas, o desenvolvimento de sistemas computacionais distribuı́dos e redes de computadores encontra-se em ascendência. Esta crescente
evolução tem exigido o desenvolvimento de ferramentas que permitem a modelagem e análise
do desempenho e confiabilidade dos mesmos. Contudo, este desenvolvimento tem se tornado
cada vez mais complexo, ressaltando assim a importância da área de avaliação de desempenho
de sistemas computacionais [13].
A avaliação de desempenho de sistemas utiliza técnicas que permitem ao projetista de
sistemas analisar como o sistema em questão se comportará, e se a arquitetura utilizada é a
mais adequada às suas necessidades. As técnicas utilizadas em avaliação de desempenho de
sistemas são divididas em três grupos [23]:
• Monitoração;
• Simulação;
• Métodos analı́ticos.
A monitoração baseia-se na observação direta do funcionamento de sistemas reais, enquanto a simulação consiste em construir um modelo que simule o funcionamento de sistemas. Os métodos analı́ticos consistem na construção de modelos analı́ticos que reduzem o
funcionamento de um sistema real a relações matemáticas. Os métodos analı́ticos possuem
uma vantagem em relação as outras técnicas, pois não há uma preocupação com um conjunto
especı́fico de amostras de funcionamento do sistema para a obtenção das medidas de desempenho.
Por reduzirem o funcionamento do sistema a relações matemáticas, os métodos analı́ticos
descrevem o sistema real como um conjunto de estados e transições estocásticas entre os estados. Um processo estocástico 1 é um processo cuja ocorrência é descrita por uma variável
aleatória. Desta forma, os modelos estocásticos são usados para reduzir um problema complexo em um problema de fácil entendimento. O formalismo de modelagem é uma linguagem
alfanumérica ou gráfica para a especificação de modelos [13]. Um formalismo é responsável
pela ausência de ambigüidade no modelo, sendo composto por um conjunto de primitivas e
um conjunto de regras de utilização.
O formalismo de modelagem tem evoluı́do desde 1890 onde iniciaram-se os estudos sobre
Cadeias de Markov [31]. Jackson iniciou o trabalho sobre o formalismo de Redes de Filas de
1
Processo aleatório.
1
Espera no final da década de 50 [9, 10]. No final dos anos 70, este formalismo teve um grande
avanço devido aos trabalhos realizados por Little [11], Baskett, Chandy, Muntz e Palacios [2],
e Reiser e Lavenberg [25].
Entretanto, o formalismo de Redes de Filas de Espera à forma-produto não provê mecanismos de sincronismo e paralelismo, salvo os estudos feitos em G-Networks [7] e Limited
Capacity QN [3]. Conseqüentemente, tal formalismo não possui a precisão necessária para a
descrição de sistemas complexos.
O formalismo de Redes de Petri (PN) [22, 21, 26] surgiu para suprir tais necessidades. Tal
formalismo define uma técnica de especificação de sistemas que possibilita uma representação
matemática e possui mecanismos de análise que permitem a verificação de propriedades e a
verificação da corretude do sistema especificado [12]. As Redes de Petri podem variar desde
simples temporizações constantes [27, 30] até mecanismos mais sofisticados, tais como:
• Redes de Petri Estocásticas (SPN) [6];
• Redes de Petri Estocásticas Generalizadas (GSPN) [15, 14];
• Redes de Petri Estocásticas Generalizadas Superpostas (SGSPN) [4, 5].
Este trabalho tem o objetivo de estudar: Redes de Petri, Redes de Petri Estocásticas e
Redes de Petri Estocásticas Generalizadas. Tal estudo tem como finalidade a formulação de
um texto introdutório - survey - sobre o tema proposto, onde possa-se identificar as bases
de uma futura prova da equivalência do formalismo de Redes de Petri Estocásticas com o
formalismo de Redes de Autômatos Estocásticos (SAN) [24].
No presente trabalho, faz-se uma descrição do formalismo básico de Redes de Petri no
capı́tulo 2. Apresenta-se no capı́tulo 3, a extensão que introduz o conceito de processos estocásticos, as Redes de Petri Estocásticas. A seguir, no capı́tulo 4, descreve-se a extensão
que introduz o conceito de transições imediatas, as Redes de Petri Estocásticas Generalizadas. Por fim, na conclusão, ressalta-se os assuntos estudados e aponta-se futuros trabalhos
envolvendo Redes de Petri Estocásticas Generalizadas Superpostas.
2
2
Redes de Petri
Uma Rede de Petri é uma abstração de um sistema real. Ela é um modelo formal do fluxo
de dados do sistema modelado em questão. As propriedades, conceitos e técnicas para modelagem de uma Rede de Petri foram desenvolvidas utilizando métodos simples e poderosos
para descrição, análise do fluxo de dados e controle de sistema.
O formalismo de Redes de Petri é utilizado principalmente em sistemas que possam
aprensentar atividades assı́ncronas e concorrentes. Redes de Petri têm sido utilizadas principalmente para a modelagem de sistemas de eventos em que estes possam ocorrer concorrentemente, havendo obstáculos na concorrência, precedência ou freqüência desses eventos
[21].
2.1
Descrição Informal
A estrutura de uma Rede de Petri é um grafo bipartido que compreende um conjunto de
lugares P , um conjunto de transições T , e um conjunto de arcos direcionados A. Os lugares
são representados graficamente por cı́rculos, as transições por barras e os arcos direcionados
por setas. Os arcos direcionados conectam os lugares às transições e as transições aos lugares.
p1
p2
t4
t1
p3
t2
p4
t3
t5
p5
t6
Figura 2.1: Exemplo de representação gráfica de uma Rede de Petri
Tem-se, na Figura 2.1, um exemplo da representação gráfica de uma Rede de Petri que
possui 5 lugares e 6 transições.
3
Um lugar é uma entrada para uma transição se existe um arco direcionado do lugar para
a transição em questão. Analogamente, um lugar é uma saı́da de uma transição se existe um
arco direcionado da transição para o lugar em questão.
2.1.1
Marcas
Uma Rede de Petri pode ser considerada marcada quando ela possuir tokens ou marcas. Tokens encontram-se nos lugares. As transições, quando disparadas, consomem tokens
dos lugares que as alimentam e geram marcas nos lugares por elas alimentadas. Tokens são
sinais em uma Rede de Petri representados graficamente por um ponto preto. A quantidade e
a posição dos tokens em uma Rede de Petri podem variar durante o funcionamento da mesma.
Uma Rede de Petri marcada é definida pelo número mn de tokens contidos em cada lugar
pn da rede [13]. Uma marcação Mi de uma Rede de Petri é definida pelo conjunto de mn dos
lugares da mesma, ou seja, a marcação inicial de uma Rede de Petri é M0 = {m0 , m1 , m2 ,
..., mn }.
Na Figura 2.2, tem-se um exemplo de uma Rede de Petri marcada.
p1
p2
t4
t1
p3
t2
p4
t3
t5
p5
t6
Figura 2.2: Exemplo de uma Rede de Petri marcada
2.1.2
Regras de Execução
Uma Rede de Petri é executada através do disparo de transições. Para ocorrer o disparo
de uma transição, é necessário que esta transição esteja habilitada para isto. Uma transição é
considerada habilitada para disparar quando todos os lugares de entrada dela contiverem pelo
menos um token. Analisando a Figura 2.2, nota-se que a transição t1 possui apenas o lugar
p1 como entrada, e este possui pelo menos um token. Logo, a transição t1 está habilitada e
pode ser disparada.
Quando uma transição é disparada - Figura 2.3 (a) - remove-se um token de cada lugar
de entrada da transição em questão e então coloca-se um token em cada lugar de saı́da da
4
mesma - Figura 2.3 (b).
p1
p2
t4
p1
t1
p3
t2
p4
t3
p2
t4
t5
(a)
p3
t2
p4
p5
t6
t1
t3
t5
p5
t6
(b)
Figura 2.3: Disparo da transição t1 de uma Rede de Petri
Cada disparo de uma transição pode modificar a distribuição dos tokens nos lugares e
conseqüentemente pode produzir uma nova marcação Mj para a Rede de Petri.
Tokens são considerados entidades atômicas (indivisı́veis1 ). Ou seja, o disparo de uma
transição pode desativar outros possı́veis disparos, removendo tokens que poderiam ser consumidos por uma ou outra transição alimentada por um mesmo lugar de entrada. Observando
a Figura 2.3, pode-se notar que após o disparo da transição t1 , os lugares p2 e p3 receberam
um token cada. Por conseguinte, as transições t2 e t3 passaram a estar habilitadas para o
disparo. O disparo da transição t2 coloca um token no lugar p4 e habilita a transição t4 ; o
disparo da transição t3 coloca um token no lugar p5 e também habilita o disparo da transição
t5 . Neste momento, as transições t4 , t5 e t6 estão habilitadas a serem disparadas, porém apenas uma destas três transições pode ser disparada. A seleção do disparo é não determinı́stica
e o disparo de uma transição desativa automaticamente o disparo da outra2 .
2.1.3
Atingibilidade
O resultado do disparo de uma transição de uma marcação Mi pode gerar uma nova
marcação Mj . A marcação Mj é dita imediatamente atingı́vel de Mi se ela pode ser obtida
do disparo de uma transição habilitada em Mi . Uma marcação Mk é dita atingı́vel de Mi
se existir uma seqüência de disparo de transições que levem o estado da Rede de Petri em
questão de Mi para Mk .
O funcionamento de uma Rede de Petri gera uma seqüência M de marcações {M0 , M1 ,
M2 , ...} e uma seqüência T de transições {t1 , t2 , ...}. O disparo de uma transição tk , habilitada em Mi , pode mudar o estado da Rede de Petri de Mi para Mj e assim por diante.
1
A mudança de marcação é um processo discreto e não contı́nuo.
Neste exemplo, o disparo da transição t4 não desativa o disparo da transição t5 , e vice-versa. Porém, o
disparo da transição t6 desativa o disparo das outras duas transições.
2
5
Com isso, pode-se definir o conjunto de atingibilidade de uma Rede de Petri. O termo
atingibilidade também é conhecido como reachability [12]. O conjunto de atingibilidade R
é composto por todas as marcação distintas de M que são atingı́veis a partir de M0 . As
marcações do conjunto M podem ser representadas na forma de uma árvore. A Figura 2.4
mostra a árvore de atingibilidade do exemplo apresentado na Figura 2.2.
M 0 = {1, 0, 0, 0, 0}
t1
M 1 = {0, 1, 1, 0, 0}
t2
t3
M 2 = {0, 0, 1, 1, 0}
t4
M1
M 3 = {0, 1, 0, 0, 1}
t3
t2
M 4 = {0, 0, 0, 1, 1}
t4
M3
t6
M4
t5
M1
t5
M0
M2
Figura 2.4: Árvore de atingibilidade da Figura 2.2
A árvore de atingibilidade é construı́da a partir da marcação inicial M0 da Rede de Petri
em questão. Em seguida, leva-se em conta todas as marcações imediatamente atingı́veis desta
marcação inicial. Somente M1 é imediatamente atingı́vel a partir da marcação inicial. A partir desta nova marcação, repete-se o mesmo procedimento. Logo, M2 e M3 são as marcações
imediatamente atingı́veis a partir de M1 . Considerando M2 como a nova marcação, tem-se
as marcações M1 - obtida anteriormente - e M4 . A marcação M3 também gera as marcações
M1 e M4 . Repetindo o mesmo procedimento para M4 , consegue-se as marcações M0 , M2 e
M3 . Desta forma, obtem-se a árvore de atingibilidade do exemplo em questão.
A construção da árvore a partir da marcação inicial M0 poderia gerar uma árvore de
tamanho infinito. Entretanto, para se represetar a árvore em um tamanho finito, quando
encontra-se um marcação já atingida, não expande-se a marcação em questão, considerandoa como uma marcação duplicada. As marcação duplicadas são representadas pelas folhas 3
da árvore.
2.1.4
Limitação
Um lugar de uma Rede de Petri pode apresentar a propriedade de limitação. O termo
limitação também é conhecido como boundedness [12]. Um lugar pode ser dito como k-limitado
ou simplesmente limitado se o número de tokens do lugar não excede o limite k do mesmo.
3
As folhas da árvore de atingibilidade são marcações as quais não são mais expandidas por já terem sido
obtidas anteriormente.
6
No exemplo apresentado na Figura 2.2, para todos os lugares da Rede de Petri em questão,
o limite k é igual a 1. Pois, nenhum lugar da Rede de Petri deste exemplo contém mais de 1
token.
Uma Rede de Petri também pode ser denominada limitada. Diz-se que uma Rede de Petri
é limitada se o limite de todos os lugares for menor que infinito. Logo, pode-se concluir que
a Rede de Petri da Figura 2.2 é 1-limitada, pois nenhum lugar desta rede acumula mais do
que 1 token em qualquer marcação possı́vel da mesma.
2.1.5
Segurança
Um lugar de uma Rede de Petri pode ser considerado seguro se ele tiver no máximo 1
token, ou seja, um lugar que é 1-limitado é considerado um lugar seguro. O conceito de
segurança é simplesmente uma particularização do conceito de limitação. O termo segurança
também é conhecido como safeness [12].
Esta propriedade é uma das mais importantes para a modelagem de sistemas digitais,
visto que um lugar pode ser modelado como uma porta ou mesmo um flip-flop [12].
Logo, pode-se dizer que uma Rede de Petri é segura se o limite k de todos os lugares da
mesma não exceder 1 token. Como pode-se observar, a Rede de Petri apresentada no exemplo
da Figura 2.2 é uma rede segura, pois ela é uma rede 1-limitada.
2.1.6
Vivacidade
O conceito de vivacidade está definido em função das possibildades de disparo das transições.
O termo vivacidade também é conhecido como liveness [12]. Vivacidade é uma propriedade
fundamental para sistemas do mundo real. Porém, muitas vezes é muito caro observar esta
propriedade em alguns sistemas de grande porte [12].
Uma transição é potencialmente disparável em uma marcação M0 se existe uma marcação
Mi atingı́vel a partir de M0 , ou seja, uma transição é considerada viva se esta não é passı́vel
de um impasse ou deadlock. Impasse em uma Rede de Petri é a impossibilidade do disparo
de qualquer transição da mesma.
2.2
Exemplo de Modelagem
Um exemplo de modelagem de uma Rede de Petri é o caso de compartilhamento de recursos entre componentes do sistema. Na Figura 2.5, tem-se um exemplo de modelagem de
Rede de Petri para o compartilhamento de recursos com exclusão mútua.
A Figura 2.5 apresenta a Rede de Petri que representa o processo de produção em uma
fábrica de água mineral. Supõe-se que esta fábrica possua uma única máquina responsável
pela manufatura da garrafa de água e da tampinha da mesma. Portanto, quando esta máquina
estiver sendo usada para fabricar as garrafas, o processo de manufatura das tampinhas deverá
aguardar para que possa-se utilizar a mesma máquina e vice-versa.
7
p0
t0
p9
p1
p2
t1
t2
p3
p7
p4
t3
t4
p5
p6
t5
p8
Figura 2.5: Compartilhamento de recursos com exclusão mútua - Rede de Petri
Tendo em vista a rede da Figura 2.5, o lugar p0 da rede representa o depósito de matériaprima e o lugar p9 a habilitação do sistema para a manufatura. Os lugares p1 e p2 representam,
respectivamente, os repositórios de matéria-prima para as garrafas e tampinhas. Os lugares
p3 e p4 representam o processo de manufatura das garrafas e o processo de manufatura das
tampinhas respectivamente.
O lugar p7 representa a máquina responsável pela linha de produção da fábrica. Um token
neste lugar representa que a máquina está disponı́vel. Quando não se encontrar um token
neste lugar, significa que a máquina não está disponı́vel, ou seja, um dos dois processos está
utilizando a máquina. Os lugares p5 e p6 são, respectivamente, os depósitos das garrafas e
das tampinhas. Por último, o lugar p8 representa o processo de montagem da garrafa de água
mineral.
A transição t0 representa o inı́cio do processo de manufatura. Neste momento, é feita
a distribuição de matéria-prima para os depósitos p1 e p2 para a manufatura de garrafas
e tampinhas. As transições t1 e t2 representam, respectivamente, o inı́cio dos processos de
manufatura das garrafas e tampinhas. Como o lugar p7 possui apenas um token, apenas uma
das duas transições t1 ou t2 poderá ocorrer. Quando uma dessas transições ocorrer, automaticamente o disparo da outra transição será impossibilitado, pois o token do lugar p7 será
consumido.
A transição t3 representa o término da manufatura de garrafas e, conseqüentemente, a
liberação da máquina. Da mesma forma, a transição t4 libera a máquina e termina com o
8
processo de manufatura de tampinhas. O disparo da transição t3 colocará um token em p5 e
o disparo da transição t4 colocará um token em p6 . Quando uma destas transições ocorrerem,
automaticamente será colocado um token em p7 , liberando a máquina para um novo processo
de manufatura. Quando ambos os lugares p5 e p6 contiverem pelo menos um token, então a
transição t5 é disparada. Quando isso ocorrer, um token é colocado no lugar p8 e outro no
lugar p9 , habilitando o processo de manufatura de outras garrafas e tampinhas, desde que
haja matéria-prima.
Muitas outras áreas de estudo podem ser mencionadas como possı́veis assuntos para a
modelagem de Redes de Petri, incluindo alocação de recursos, sistemas operacionais, redes de
filas, controle de tráfico, entre outros. O formalismo de Redes de Petri é uma ferramenta de
grande facilidade para modelagem de uma vasta variedade de sistemas.
9
3
Redes de Petri Estocásticas
Usando o formalismo de Redes de Petri, é possı́vel descrever somente a estrutura lógica
de sistemas, pois tal formalismo não inclui nenhum conceito de tempo. Entretanto, freqüentemente, o conceito de tempo tem um papel importante na descrição do comportamento de
sistemas.
A introdução do conceito de tempo no formalismo de Redes de Petri permite a descrição
de um comportamento dinâmico de sistemas [13]. Noe e Nutt [20], Merlin e Farber [16] e
Zuberek [32] usaram o conceito de tempo para a modelagem do comportamento de sistemas
computacionais - Redes de Petri Temporizadas (TPN) - associando um tempo fixo no disparo
de transições.
O formalismo de Redes de Petri Temporizadas tem como sua principal caracterı́stica a
associação de um atraso fixo para cada transição do modelo - Figura 3.1.
p1
t 1,ϑ 1
p2
p3
t 2,ϑ 2
p4
t 3,ϑ 3
Figura 3.1: Exemplo de uma Rede de Petri Temporizada
Redes de Petri Temporizadas foram o passo inicial para a criação do formalismo de Redes
de Petri Estocásticas (SPN). A possibilidade de unir a habilidade do formalismo de Redes de
Petri para descrever sincronização e concorrência com um modelo estocástico é o principal
atrativo para obter-se uma avaliação quantitativa de sistemas computacionais complexos.
10
Os primeiros estudos sobre Redes de Petri Estocásticas foram desenvolvidos por Symons
[29], Natkin [19] e Molloy [18]. As Redes de Petri Estocásticas são obtidas através da associação de um tempo distribuı́do exponencialmente com o disparo de cada transição da rede.
3.1
Descrição Informal
O formalismo de Redes de Petri Estocásticas é uma ferramenta para modelagem e avaliação
de desempenho de sistemas envolvendo concorrência, não-determinismo e sincronização [1].
Redes de Petri Estocásticas são definidas assumindo que todas as transições são temporizadas e que o atraso no disparo das transições é associado a uma variável aleatória distribuı́da
exponencialmente.
Dada uma Rede de Petri Estocástica com uma marcação que possua diversas transições
habilitadas a serem disparas, uma das transições ocorre. Quando uma transição de uma Rede
de Petri Estocástica é disparada, assim como no formalismo de Redes de Petri, uma nova
marcação pode ser gerada. Esta nova marcação pode conter transições que já encontravam-se
habilitadas na marcação anterior, mas não foram disparadas. Por causa da propriedade de
ausência de memória 1 da distribuição exponencial, pode-se assumir que a atividade associada
a cada transição é recomeçada para qualquer nova marcação.
A estrutura de uma Rede de Petri Estocástica possui os mesmos elementos contidos na
estrutura da uma Rede de Petri acrescido do conjunto L = {l1 , l2 , ..., lm } de taxas de disparos,
possivelmente dependente de marcação, associadas às transições - Figura 3.2. Segundo Molloy
[18], devido a propriedade de ausência de memória da distribuição exponencial do atraso dos
disparos, o formalismo de Redes de Petri Estocásticas é isomórfico ao formalismo de Cadeias
de Markov de Tempo Contı́nuo (CTMC).
p1
αm1
p3
γ
t3
δ
t4
β
t1
p2
t2
p4
Figura 3.2: Exemplo de uma Rede de Petri Estocástica
É possı́vel mostrar que uma Rede de Petri Estocástica é ergódica se para qualquer marcação
desta rede atingida a partir da marcação inicial, pode-se novamente atingir a marcação ini1
Do inglês memoryless
11
cial. Logo, se uma Rede de Petri Estocástica é ergódica, é possı́vel calcular a distribuição da
probabilidade de solução estacionária das marcações da mesma resolvendo a equação:
πQ = 0
(3.1)
Com a restrição adicional:
X
πi = 1
(3.2)
i
Onde Q é o gerador infinitesimal cujos os elementos são obtidos através das taxas de
disparos correspondentes às transições e π é o vetor de probabilidade de solução estacionária.
Para auxiliar na construção da Cadeia de Markov equivalente à Rede de Petri Estocástica
da Figura 3.2, constrói-se a árvore de atingibilidade da rede em questão. O processo para
a construção da árvore de atingibilidade de uma Rede de Petri Estocástica segue o mesmo
processo da construção da árvore de uma Rede de Petri. A Figura 3.3 representa a árvore de
atingibilidade da Rede de Petri Estocástica da Figura 3.2.
M 0 = {2, 0, 0, 0}
t 1(2)
M 1 = {1, 1, 1, 0}
t3
t2
M 3 = {1, 1, 0, 1}
t4
M1
t 1(1)
M0
M 2 = {0, 2, 2, 0}
t 1(1)
t3
t2
M 4 = {0, 2, 1, 1}
M4
t2
t3
M3
M1
t4
M 5 = {0, 2, 0, 2}
M2
t4
M4
Figura 3.3: Árvore de atingibilidade da Figura 3.2
A partir da árvore de atingibilidade, pode-se construir a Cadeia de Markov. O espaço
de estados da Cadeia de Markov correspondente à árvore de atingibilidade de uma Rede de
Petri Estocástica é equivalente às marcações encontradas na mesma. Ou seja, na Figura 3.3,
a árvore de atingibilidade possui 5 marcações que serão equivalentes aos estados da Cadeia
de Markov - Figura 3.4.
Tendo em vista a Figura 3.4, constata-se que a taxa de transição do estado 0 para o
estado 1 é igual a t1 (2). O valor entre parênteses corresponde ao número de tokens do lugar
p1 na marcação M0 , visto que esta transição é dependente de m1 . Por conseguinte, a taxa de
12
0
t 1(2)
t2
1
t 1(1)
t3
t2 t4
2
3
t4 t2
t3
t 1(1)
4
t3
t4
5
Figura 3.4: Cadeia de Markov equivalente à Figura 3.2
transição do estado 1 para o estado 2 e do estado 3 para o estado 4 é igual a t1 (1), visto que
m1 é igual a 1 em M1 e M3 .
Assumindo que as taxas de transição α = β = γ = δ = 1, pode-se obter o gerador infinitesimal Q a partir da árvore de atingibilidade. O gerador infinitesimal é uma matriz cujos
elementos qij são obtidos através do somatório das taxas de disparo das transições habilitadas
na marcação Mi as quais os disparos geram a marcação Mj . Em (3.3), tem-se a matriz do
gerador infinitesimal da Rede de Petri Estocástica da Figura 3.2.




Q=



-2
1
0
0
0
0
2
-3
1
1
0
0
0
1
-2
0
1
0
0
1
0
-2
1
0
0
0
1
1
-3
1
0
0
0
0
1
-1








(3.3)
Utilizando o gerador infinitesimal Q obtido em (3.3), pode-se resolver a equação (3.1) e
obter os valores do vetor π:
π=
1
11
2
11
2
11
2
11
2
11
2
11
É possı́vel, a partir do vetor π, obter uma avaliação quantitativa do comportamento da
Rede de Petri Estocástica. A probabilidade de uma condição em especial de uma Rede de
13
Petri Estocástica pode ser calculada pela equação:
P {A} =
X
πi
(3.4)
i∈A
Onde A é o subconjunto de marcações atingı́veis a partir da marcação inicial que satisfaça
a condição requerida.
Também é possı́vel calcular, através da equação (3.5), o número médio de tokens em um
determinado lugar.
E[mi ] =
k
X
[nP {A(i, n)}]
(3.5)
n=1
Onde A(i, n) é o subconjunto de marcações atingı́veis a partir da marcação inicial as quais
o número de tokens do lugar pi é igual a n, e k é o limite máximo de tokens do lugar em
questão. Ou seja, o lugar pi é k-limitado.
Como exemplo, pode-se calcular o número médio de tokens do lugar p1 da Rede de Petri
Estocástica da Figura 3.2. Usando a equação (3.5), tem-se:
6
E[m1 ] = 1 P {A(1, 1)} +2 P {A(1, 2)} = 2π0 + π1 + π3 =
| {z }
| {z }
11
π1 +π3
π0
A taxa média de disparo da transição tj por unidade de tempo é calculada pela equação:
 

X
X
πi lj
fj =
(3.6)
lk 
Mi ∈Aj
∀tk habilitada em Mi
Como demostração, usando a equação (3.6), pode-se calcular a taxa de disparo da transição
t2 , habilitada somente nas marcações M1 , M2 e M4 :
f 2 = π1
|
l2
l2
l2
1
1
1
7
+ π2
+ π4
= π1 + π2 + π4 =
l1 + l2 + l3
l2 + l3
l2 + l3 + l4
3
2
3
33
{z
} |
{z
} |
{z
}
M1
M2
M4
14
3.2
Exemplo de Modelagem
Um exemplo de modelagem de Rede de Petri Estocástica é dado na Figura 3.5, a qual
representa uma variação do exemplo apresentado na Figura 2.5.
p0
φ
t0
m1
p1
α
p2
p3
γ
β
t1
p7
t2
p4
δ
t3
p5
t4
p6
λ
t5
Figura 3.5: Compartilhamento de recursos com exclusão mútua - Rede de Petri Estocástica
A Rede de Petri Estocástica modelada na Figura 3.5 continua representando o processo
de produção em uma fábrica de água mineral. Porém, taxas de disparos estão associadas às
transições da rede. Para manter-se a relação de ergodicidade da Rede de Petri Estocástica
da Figura 3.5 com a Cadeia de Markov que a representa, os lugares p8 e p9 da Rede de Petri
original (Figura 2.5) foram retirados.
Esta Rede de Petri Estocástica possui 30 marcações, descritas na Tabela 3.1, geradas a
partir do disparo das transições.
A Figura 3.6 representa a árvore de atingibilidade do exemplo em questão.
Neste exemplo, supõe-se que a máquina, responsável pela manufatura da garrafa de água
e pela tampinha da mesma, não suporta a produção sobreposta 2 de mais do que 2 unidades
de cada elemento. Logo, o lugar p0 da rede possui apenas 2 tokens, porém a manufatura das
garrafas e tampinhas depende apenas do estoque de matéria-prima destes elementos, os quais
não estão sendo representados. Os lugares p1 e p2 representam os repositórios de matériaprima já alocada para as garrafas e para as tampinhas respectivamente. Os lugares p3 e p4
representam, respectivamente, o processo de manufatura das garrafas e o processo de manufatura das tampinhas.
2
O produção de garrafas e tampinhas ocorre de modo concorrente. Ou seja, enquanto ocorre a produção
de garrafas, a produção de tampinhas aguarda a liberação da máquina, e vice-versa.
15
m0
2
1
0
1
1
0
0
1
1
0
0
1
1
0
0
M0
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
M11
M12
M13
M14
m1
0
1
2
0
1
1
2
0
1
1
2
0
0
0
1
m2
0
1
2
1
0
2
1
1
0
2
1
0
0
2
1
m3
0
0
0
1
0
1
0
0
0
0
0
0
1
1
0
m4
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
m5
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
m6
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
m7
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
M15
M16
M17
M18
M19
M20
M21
M22
M23
M24
M25
M26
M27
M28
M29
m0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
m1
1
2
0
0
1
2
0
0
1
1
0
1
0
0
0
m2
1
0
0
2
1
0
1
1
0
0
1
0
0
0
0
m3
1
0
0
0
0
0
0
1
0
1
0
0
0
1
0
m4
0
1
0
0
0
0
1
0
1
0
0
0
1
0
0
m5
0
0
1
2
1
0
2
1
1
0
2
1
2
1
2
m6
1
1
1
0
1
2
0
1
1
2
1
2
1
2
2
m7
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
Tabela 3.1: Marcações da Figura 3.5
M0
t 0(2)
M1
t1
t3
M7
t2
M 11
t 0(1)
M 14
t 0(1)
M 19
t 0(1)
M9
M2
t1
M6
t3
t2
M 13
t5
t1
M 14
t4
t3
M 18
M0
M 21
t3
t4
M 27
t4
M 29
M 25
t5
M 11
t5
M7
M 15
t3
t5
M 25
M1
M3
t1
M 28
t3
M 29
t2
M 16
t4
M8
t 0(1)
M 10
t1
M 12
t 0(1)
M 15
t3
M 17
M 20
t2
t5
M 22
M 10
M4
t4
M 19
t1
t2
t2
M6
t4
M9
t1
t 0(1)
t2
M5
M
t 0(1) 5
t4
M 17
t2
t 0(1)
M3
M 23
t4
M 26
t5
t5
t1
t5
M4
M 24
t3
M 26
M8
M 12
t5
M 17
Figura 3.6: Árvore de atingibilidade da Figura 3.5
O lugar p7 representa a máquina responsável pela linha de produção da fábrica. A máquina
suporta apenas uma tarefa por vez, ou seja, um token no lugar p7 indica que a máquina está
disponı́vel. Se este lugar não possuir um token, significa que um dos dois processos de produção
está utilizando a máquina.
Os lugares p5 e p6 são os depósitos das garrafas e das tampinhas respectivamente. Ao
contrário do exemplo modelado na Figura 2.5, este exemplo não possui um lugar representando a junção da garrafa e tampinha de água mineral. Este passo é tratado de forma abstrata
na transição t5 , onde esta ocorre à medida que haja tokens nos lugares p5 e p6 . Conseqüentemente, um token é retirado dos lugares p5 e p6 (depósitos de garrafas e tampinhas) e colocado
no lugar p0 , liberando o processo de manufatura de uma nova garrafa e nova tampinha.
A transição t0 representa o inı́cio do processo de manufatura. Esta transição está associada
16
a uma taxa de disparo dependente da marcação de m1 . Quando a transição t0 é disparada,
um token é removido de p0 e adicionado em p1 e p2 , habilitando o processo de manufatura
das garrafas e tampinhas.
Como as transições t1 e t2 encontram-se em conflito, quando a máquina estiver produzindo
garrafas (lugar p3 ), ela não estará produzindo tampinhas (lugar p4 ), e vice-versa. Quando
uma das transições t3 ou t4 ocorrer, um token será colocado em p7 disponibilizando a máquina
para um novo processo de manufatura. Quando ambos os lugares p5 e p6 contiverem ao menos
um token cada, então a transição t5 é disparada.
Isso caracteriza o fim do processo de manufatura de garrafas e tampinhas, possibilitando
uma possı́vel continuação do processo. Com isso, um token é colocado em p0 permitindo a
produção de uma nova garrafa e tampinha.
O formalismo de Redes de Petri Estocásticas é uma ferramenta muito útil para análise de
sistemas de computadores, visto que permite às atividades de sistemas serem precisamente
descritas através de um gráfico. Este gráfico pode ser convertido para um modelo Markoviano
utilizado para obter-se avaliação quantitativa do sistema em questão.
17
4 Redes de Petri Estocásticas
Generalizadas
Uma caracterı́stica importante do formalismo de Redes de Petri Estocásticas é que ele
pode ser facilmente compreendido por pessoas que não tenham familiaridade com métodos
de modelagem probabilı́stica.
Entretanto, a representação gráfica de sistemas utilizando o formalismo de Redes de Petri
Estocásticas encontra-se limitada à medida que aumenta-se o tamanho e a complexidade do
sistema em questão. Além disso, o número de estados da Cadeia de Markov equivalente à
Rede de Petri cresce muito rapidamente conforme a dimensão do gráfico cresce. Portanto, o
formalismo de Redes de Petri Estocásticas pode ser usado para modelar somente sistemas de
tamanho limitado.
4.1
Descrição Informal
Geralmente, não é desejável associar uma variável aleatória distribuı́da exponencialmente
para cada transição do modelo, conforme descrito no formalismo de Redes de Petri Estocásticas. O formalismo de Redes de Petri Estocásticas Generalizadas (GSPN) associa tempo
somente para alguns eventos que acredita-se ter um grande impacto na avaliação do sistema.
Um tı́pico exemplo disso pode ser o caso em que a seqüência de operações de um sistema
compreende atividades cujas durações diferem bruscamente. Logo, é conveniente que atividades de duração desprezı́vel 1 sejam modeladas somente do ponto de vista lógico, enquanto
que atividades de duração mais longa seriam associadas a uma variável aleatória. Através
desta modelagem, reduz-se o número de estados da Cadeia de Markov equivalente ao modelo,
conseqüentemente reduzindo a complexidade da solução do mesmo. Além disso, a utilidade
de uma estrutura lógica que pode ser usada em conjunto com uma estrutura temporizada
permite a construção de um modelo compacto de sistemas computacionais complexos [13].
O formalismo de Redes de Petri Estocásticas Generalizadas [15] permite duas classes diferentes de transições no modelo: transições imediatas e transições temporizadas. A transição
imediata dispara em tempo zero assim que encontra-se habilitada. A transição temporizada,
assim como no formalismo SPN, dispara após um tempo aleatório, distribuı́do exponencialmente, associado à mesma quando habilitada.
1
Atividades de muito curta duração, ou somente conceitual.
18
As transições temporizadas são representadas graficamente no modelo por barras espessas,
e as transições imediatas por barras finas. Obviamente, as taxas de disparos estão associadas
somente às transições temporizadas, e estas podem ser dependentes da marcação da GSPN.
Na Figura 4.1, tem-se um exemplo de um modelo de Rede de Petri Estocástica Generalizada.
p1
m1 α
t1
p2
p3
t2
t3
p5
t4
p4
p6
β p7
γ
t5
t6
t7
Figura 4.1: Exemplo de uma Rede de Petri Estocástica Generalizada [13]
Como pode ser constatado na Figura 4.1, as transições t1 , t4 e t5 são transições temporizadas, e as transições t2 , t3 , t6 e t7 são transições imediatas. A transição t1 é dependente
da marcação de p1 .
A estrutura de uma Rede de Petri Estocástica Generalizada é a mesma utilizada pela
Rede de Petri Estocástica, porém o conjunto L = {l1 , l2 , ..., lm′ } de taxas de disparo contém
somente m′ elementos, onde m′ é o número de transições temporizadas da Rede de Petri
Estocástica Generalizada. No funcionamento de uma Rede de Petri Estocástica Generalizada,
pode ocorrer que várias transições sejam habilitadas simultaneamente por uma marcação. Se
o conjunto de transições habilitadas H compreender somente transições temporizadas, então
a transição temporizada ti (i ∈ H) dispara com uma probabilidade:
P
li
k∈H lk
,
(4.1)
exatamente como no formalismo de Redes de Petri Estocásticas. Se o conjunto H compreender ambas transições imediatas e temporizadas, então somente as transições imediatadas
serão disparadas. Se o conjunto H compreender zero ou mais transições temporizadas e somente uma única transição imediata, esta transição imediata é que será disparada. Quando
o conjunto H compreender várias transições imediatas, é necessário descrever uma função de
19
densidade de probabilidade que determine qual transição será disparada.
O subconjunto de H compreendendo todas as transições imediatas habilitadas junto com
a distribuição de probabilidade associada as mesmas é chamada de random switch 2 . Esta
distribuição de probabilidade é conhecida como switching distribution 3 . Diferentes marcações
podem gerar um único random switch toda vez que estas marcações habilitarem o mesmo
conjunto de transições imediatas sob as quais uma switching distribution (possivelmente dependente de marcação) pode ser definida [13].
A GSPN descrita na Figura 4.1 possui sete lugares e sete transições. Esta GSPN possui
três transições temporizadas: t1 , t4 e t5 , as quais possuem como taxas de disparo m1 α, β e γ
respectivamente. As transições t2 , t3 , t6 e t7 são transições imediatas, e por definição possuem
taxas de disparo de tempo zero.
As transições t6 e t7 são transições conflitantes. Elas são sempre habilitadas simultaneamente, logo é necessário definir uma switching distribution para cada marcação em que m7
é maior que zero. As transições t2 e t3 também são transições conflitantes, e estas são simultaneamente habilitadas se p3 e p4 contiverem tokens. Por conseguinte, uma switching
distribution deve ser definida para cada marcação em que m2 , m3 e m4 forem maiores que
zero. Como pode ser observado, não mais do que duas transições imediatas podem estar simultaneamente habilitadas. Desta forma, dois random switchs podem ser identificados: para
as transições t2 e t3 , e para as transições t6 e t7 . Assim como na modelagem de Rede de
Petri é necessário especificar-se a marcação inicial como parâmetro de entrada da mesma, em
uma GSPN também é necessário identificar os possı́veis random switch da rede, e definir a
switching distribution da mesma para resolver-se os conflitos das transições. Uma possı́vel
switching distribution para o exemplo da Figura 4.1 é descrito na Tabela 4.1.

 P {t2 } =
m3
m3 +m4

P {t3 } =
m4
m3 +m4

 P {t6 } =
m4
m3 +m4

P {t7 } =
m3
m3 +m4


se m3 6= 0 ou m4 6= 0

P {t6 } = P {t7 } = 1/2, se m3 = m4 = 0
Tabela 4.1: Switching distribution da GSPN descrita na Figura 4.1
A partir da marcação inicial descrita na Figura 4.1, uma possı́vel execução do estado da
GSPN pode ser a seguinte: a transição t1 dispara com uma taxa 1/(2α), visto que esta é
dependente da marcação de m1 . Com isso, um dos dois tokens contidos em p1 é movido
2
Momento em que é necessário determinar-se qual transição deve ser disparada.
Termo também conhecido como distribuição de escolha ou agulhamento. O termo não foi traduzido visto
que a tradução poderia não contemplar corretamente o sentido do mesmo.
3
20
para p2 . Instantaneamente, ambas as transições t2 e t3 podem dispar. Como estas duas
transições são conflitantes, o disparo da transição é selecionado de acordo com a switching
distribution definida previamente na Tabela 4.1. Neste caso, ambas as transições possuem a
mesma probabilidade. Assume-se que a transição t2 dispara. Logo, remove-se um token de
p2 e p3 , e adiciona-se um token em p5 . Conseqüentemente, as transições temporizadas t1 e t4
encontram-se habilitadas. A transição t1 dispara com probabilidade:
P {t1 } =
α
,
α+β
(4.2)
enquanto a transição t4 dispara com a probabilidade:
P {t4 } =
β
.
α+β
(4.3)
Se a transição t1 disparar primeiro, um token é movido de p1 para p2 . Desse modo, a
transição imediata t3 é habilitada e disparada instanteneamente, visto que é a única transição
habilitada deste tipo no momento. Um token é removido de p2 e p4 , e coloca-se um token
em p6 . Neste momento, a marcação resultante da GSPN contém um token em p5 e p6 . Esta
marcação habilita as transições t4 e t5 , onde cada uma pode disparar com a probabilidade:
P {t4 } =
β
,
β +γ
P {t5 } =
γ
.
β+γ
(4.4)
Agora, assume-se que t4 dispara primeiro, então um token é movido de p5 para p7 , e um
token é colocado em p1 . As duas transições imediatas t6 e t7 estão simultaneamente habilitadas, e como especificado no switching distribution da Tabela 4.1, cada uma das transições
pode disparar com probabilidade igual a 1/2, de forma que o token de p7 pode mover-se tanto
para p3 quanto para p4 . Neste instante, as transições t1 e t5 encontram-se habilitadas, e a
GSPN segue o seu funcionamento.
O conjunto de atingibilidade de uma GSPN pode ser dividido em dois grupos: tangible
markings 4 e vanishing markings 5 . As tangible markings são marcações que habilitam somente
transições temporizadas. Enquanto as vanishing markings são marcações que habilitam ao
menos uma transição imediata. A Tabela 4.2 descreve os estados que compõem o conjunto de
atingibilidade da rede em questão. O conjunto de atingibilidade da GSPN é um subconjunto
do conjunto de atingibilidade da SPN associada, pois as regras de precedência introduzidas
com o uso de transições imediatas não permitem que alguns estados sejam atingı́veis. As
transições temporizadas t1 , t4 e t5 habilitadas nas vanishing markings, por definição, nunca
ocorrerão, pois as transições imediatas habilitadas com estas transições ocorrerão primeiro.
4
5
Termo também conhecido como marcações atingı́veis.
Termo expresso no sentido de marcações efêmeras.
21
Marcação
m1
m2
m3
m4
m5
m6
m7
M0
M3
M4
M9
M22
M24
M31
M32
2
1
1
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
1
0
2
0
0
1
1
1
0
2
0
0
0
0
0
0
0
0
0
t1
t1
t1
t4
t1
t1
t5
t4
M1
M5
M6
M7
M8
M14
M15
M28
M29
1
0
0
2
2
1
1
0
0
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
1
0
1
0
0
0
1
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
0
0
1
1
1
1
0
0
t1
t3
t2
t1
t1
t1
t1
t3
t2
Tangible Markings
Vanishing Markings
Transições habilitadas
t4
t5
t5
t5
t4
t2
t4
t5
t6
t6
t5
t4
t5
t4
t3
t7
t7
t6 t7
t6 t7
Tabela 4.2: Marcações da Figura 4.1
Assumindo-se que o exemplo descrito na Figura 4.1 representasse uma Rede de Petri
Estocástica, as transições t2 , t3 , t6 e t7 seriam transições temporizadas. O conjunto de atingibilidade para esta rede possuiria 33 estados. A árvore de atingibilidade para a Figura 4.1,
caso esta fosse uma SPN, está representada na Figura 4.2.
M0
t 1(2)
M1
t 1(1)
M5
t3
M3
t 1(1)
M6
t4
t 1(1)
t 1(1)
t6
t6
t6
t7
t 7 t 1(1)
M 27 M 6 M 28
t7
M 30 M 11 M 10
M 18 M 16
t5
t6
t6
t7
M 21 M 4
M 22
t7
t 1(1)
t5
M 14
t 1(1)
M 27 M 8 M 7
t 1(1)
t5
t4
t5
M 31 M 10
t5
M 14
t6
t7
M 23 M 21 M 24 M 3
t 1(1)
t4
M 28 M 7
t3
M 15
t3
t6
M 10
t3
M 20 M 2 M 25
t7
t6
M 10
M0
M 25
M 28
M4
t 1(1)
t7
M 17
M6
t2
M 12
t2
t 1(1)
t3
M 22
M 18
t2
t4
t6
M 11
t6
t6
M 11
t7
M 27 M 29 M 5
t7
M 13
t 1(1)
t7
M 15 M 19 M 1
t7
M 23 M 26 M 2
t6
t5
M8
t 1(1)
t5
M9
t 1(1)
t 1(1)
t3
M 29 M 8
t2
t6
M 16 M 14 M 1 M 17
t7
M7
t 1(1)
t4
M9
M 20
t4
M5
t3
t5
t3
t2
M2
t2
M0
M 19
t 1(1)
t2
M 26 M 24
t2
M 29
t4
M 32 M 11
t4
M 15
Figura 4.2: Árvore de atingibilidade caso a Figura 4.1 fosse uma SPN
Entretanto, o conjunto de atingibilidade da GSPN descrita na Figura 4.1, possui apenas
17 estados. Observe que algumas marcações da árvore de atingibilidade não serão atingı́veis
devido ao uso de transições imediatas e da switching distribution especificada para este exemplo - marcações compreendidas pela área pontilhada da Figura 4.2. A Figura 4.3 representa
a árvore de atingibilidade da Figura 4.1.
Agora que a árvore de atingibilidade está definida, pode-se construir sua Cadeia de Markov
equivalente. Como descrito no capı́tulo anterior, o espaço de estados da Cadeia de Markov
correspondente às marcações da árvore de atingibilidade da rede em questão. Ou seja, na
22
M0
t 1(2)
M1
t2
M3
t 1(1)
t2
M5
M4
t 1(1)
M 28
M 15
t6
M 24
t5
t 1(1)
M7
t3
t4
M 29
t5
M8
t2
M0
t5
t7
M 22
M6
t6
M9
M 14
t6
t 1(1)
M7
t3
t4
t3
M4
t7
M9
M0
t7
M3
M8
t2
M 31
M 32
t5
t4
M 14
M 15
Figura 4.3: Árvore de atingibilidade da Figura 4.1
Figura 4.3, a árvore de atingibilidade possui 17 marcações que serão equivalentes aos 17 estados da Cadeia de Markov - Figura 4.4.
M0
t6
t7
t 1 (2)
t2
M3
t5
t7
M4
t6
t 1 (1)
M7
t3
M1
t 1 (1)
M5
t5
M6
M8
t3 t2
t5
M22
t4
t7
t 1 (1)
M28
M9
M14
M15
t5
t3
t4
t5
t6
t4
M31
M32
M24
t 1 (1)
t2
M29
Figura 4.4: Cadeia de Markov da Figura 4.1 compreendendo vanishing e tangible markings
Os estados pontilhados da Cadeia de Markov da Figura 4.4correspondem às vanishing
markings, enquanto os demais estados correspondem às tangible markings. Como as vanishing markings são marcações que ocorrem em tempo zero, somente as tangible markings são
representadas na Cadeia de Markov - Figura 4.5.
Na Figura 4.5, tem-se apenas as tangible markings da GSPN representando a Cadeia
de Markov equivalente. Na Cadeia de Markov equivalente a GSPN em questão, os arcos
não correspondem simplesmente à taxa de disparo de uma transição. Eles correspondem ao
conjunto de taxas percorridas de um estado ao outro, ou seja, os arcos são rotulados com exatamente uma transição temporizada seguida de uma seqüência finita (possivelmente vazia) de
transições imediatas.
23
M0
t 1 (2), t 2
t 5, t 6
t 5, t 6
t 5, t 7
M3
t 4, t 7
M4
t 5, t 7
t 4, t 6
t 1 (1), t 3
t 1 (1), t 2
M9
t 4, t 7
M22
t 1 (1), t 3
t 1 (2), t 3
t 5, t 6
M24
t 5, t 7
t 1 (1), t 2
M31
t 4, t 6
M32
Figura 4.5: Cadeia de Markov da Figura 4.1 somente com tangible markings
Como pode ser observado na Tabela 4.2, existe 3 possı́veis conflitos entre tangible markings: t1 e t4 , t1 e t5 , e t4 e t5 . A probabilidade de cada transição conflitante disparar está
descrita na equação (4.1). Já nas vanishing markings, dois random switch são identificados:
t2 e t3 , e t6 e t7 .
Note que M1 é a única marcação que possibilita que t2 e t3 encontrem-se em conflito. A
probabilidade de cada uma destas transições conflitantes disparar foi determinada na switching distribution descrita na Tabela 4.1. Neste caso, a probabilidade de ambas as transições
dispararem é igual a 1/2. A definição dos random switch em uma GSPN pode algumas
vezes requerer do desenvolvedor do modelo uma perspicácia e discernimento nas operações do
sistema modelado, pois a definição da switching distribution pode ter um impacto bastante
significativo nos resultados numéricos do modelo.
As marcações M7 , M8 , M14 e M15 são responsáveis por colocarem as transições t6 e t7 em
conflito. Determinou-se dois momentos bem especı́ficos na Tabela 4.1 para solucionar o conflito destas duas transições. Quando não houverem tokens nos lugares p3 e p4 (marcações M14
e M15 ), a probabilidade de ambas as transições dispararem é igual a 1/2. Entretanto, quando
m3 = 0 e m4 = 1 (marcação M7 ), a transição t6 será disparada. Em contra partida, quando
m3 = 1 e m4 = 0 (marcação M8 ), a transição t7 será disparada. Sendo assim, seguindo o
que foi especificado na Tabela 4.1 na modelagem da GSPN em questão, determinou-se que
os lugares p3 e p4 jamais conterão dois tokens. Note que esta limitação não é intrı́nseca da
estrutura e da marcação inicial, mas uma conseqüência das switching distributions definidas
na Tabela 4.1.
Um aspecto crı́tico na modelagem de uma GSPN é a identificação de todos os random
switch do sistema e a definição de uma switching distribution “apropriada” em todas as
marcações.
24
4.2
Exemplo de Modelagem
A Figura 4.6 representa uma variação da Rede de Petri Estocástica representada na Figura
3.5.
p0
φ
t0
m1
p1
p2
t1
p3
γ
t2
p7
p4
δ
t3
p5
t4
p6
t5
Figura 4.6: Compartilhamento de recursos com exclusão mútua - Rede de Petri Estocástica
Generalizada
A Rede de Petri Estocástica modelada na Figura 3.5 possui somente transições temporizadas. Na rede da Figura 4.6, as transições t1 , t2 e t5 passam a ser transições imediatas, ou
seja, disparam em tempo zero assim que encontram-se habilitadas. Esta rede continua representando o processo de produção em uma fábrica de água mineral. A switching distribution
da GSPN modelada como exemplo está definida na Tabela 4.3.

 P {t1 } =

P {t2 } =

 P {t1 } =

P {t5 } =
m1
m1 +m2
m2
m1 +m2

P {t1 } =





P {t2 } =





P {t5 } =
m1
m5 +m6

m5
m5 +m6

 P {t2 } =
m1
m5 +m6
m6
m5 +m6
P {t5 } =
m2
m5 +m6
m5 +m6
m5 +m6
m2
m5 +m6
Tabela 4.3: Switching distribution da GSPN descrita na Figura 4.6
25
Esta Rede de Petri Estocástica Generalizada possui 24 marcações, descritas na Tabela
4.4, geradas a partir do funcionamento da mesma.
Tangible Markings
Vanishing Markings
Marcação
m0
m1
m2
m3
m4
m5
m6
m7
M0
M3
M4
M5
M6
M11
M12
M13
M14
M15
M16
M21
M24
2
1
1
0
0
1
1
0
0
0
0
0
0
0
0
1
1
2
0
0
0
1
1
2
0
1
0
1
0
2
1
0
0
2
1
1
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
2
0
0
0
0
0
0
0
1
0
0
1
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
t0
t0
t0
t3
t4
t0
t0
t3
t4
t3
t4
t4
t3
M1
M7
M8
M9
M10
M17
M18
M19
M20
M25
M26
1
1
1
0
0
1
0
0
0
0
0
1
0
1
1
2
0
0
1
2
0
1
1
1
0
2
1
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
2
1
0
2
1
0
0
1
0
1
1
0
1
2
1
2
1
1
1
1
1
1
1
1
1
1
1
t0
t0
t0
t1
t1
t0
t2
t1
t1
t2
t1
Transições habilitadas
t3
t4
t4
t3
t1 t2
t2
t1
t2
t2
t5
t2 t5
t5
t5
Tabela 4.4: Marcações da Figura 4.6
A transição temporizada t0 habilitada nas vanishing markings, por definição, nunca ocorrerá, pois somente as transições imediatas habilitadas com esta transição poderão ocorrer. A
Figura 4.7 representa a árvore de atingibilidade do exemplo em questão.
As marcações compreendidas pela área pontilhada na árvore de atingibilidade não são
atingidas pelo funcionamento da rede. A Cadeia de Markov equivalente a esta GSPN está
descrito na Figura 4.8.
Os estados pontilhados da Cadeia de Markov correspondem às vanishing markings, enquanto os demais estados correspondem às tangible markings. Somente as tangible markings
são representadas na Cadeia de Markov, visto que as vanishing markings ocorrem em tempo
zero - Figura 4.9.
Com isso, a Cadeia de Markov equivalente encontra-se somente com 13 estados, ao
contrário da SPN equivalente da mesma que possui 30 estados.
Por utilizar transições imediatas, o formalismo de Redes de Petri Estocásticas Generalizadas minimiza o espaço de estados da Cadeia de Markov equivalente a rede. Tal caracterı́stica
é dependente da forma como a mesma foi modelada, de forma que somente os eventos que
tenham alguma relevância na avaliação do sistema tenham um tempo de retardo associado
às transições.
26
M0
t 0(2)
M1
t1
t3
M7
t2
t 0(1)
M 14
M 11
t 0(1)
M 19
M 17
t 0(1)
M2
t1
M6
M9
t1
t2
M 13
t5
M 14
t4
M 18
t2
t4
M 25
t2
M 27
t4
M 29
M 25
t5
M1
M 26
M 12
M 15
t3
M 17
t1
M 24
t5
t3
M4
t5
M 26
M8
t5
M 29
M 11
t1
M 20
M 23
t4
M 28
t3
t 0(1)
t4
M3
t1
M7
t5
t5
t4
M8
t 0(1)
M 16
t2
t5
M 22
t3
M4
M 10
t2
M 15
t3
M 19
t1
M 21
M 10
t1
t3
M0
M6
t4
t3
M9
t 0(1)
t2
M5
M
t 0(1) 5
t4
t2
t 0(1)
M3
M 12
t5
M 17
Figura 4.7: Árvore de atingibilidade da Figura 4.6
M0
t5
t 0 (2)
t1
t3
M3
t 0 (1)
t2
M7
t2
M1
M5 t
4
t3
t3
M11
t2
M14
t4
M19
t1
t2
M13
M25
M21
t2
M10
t1
t3
M16
t3
t4
M8
t4
M9
t 0 (1)
t5
t1
M6
M17
t4
M4
t 0 (1)
t5
M12
t 0 (1)
t5
M15
t4
M18
M20
t1
M24
t3
M26
Figura 4.8: Cadeia de Markov da Figura 4.6 compreendendo vanishing e tangible markings
t 0 (2),t 1
t 0 (2),t 2
M0
t 0 (1)
M5
t 3, t 2
M3
t 3, (t 5 t 1 )
t 4, t 5
t 3, t 5
t 3, t 2
t 4,(t 5 t 1 )
M14
t 0 (1)
t 4, (t 5 t 2 )
t 4, t 1
M4
t 0 (1)
t 3, (t 5 t 2 )
M11
M12
t 0 (1)
M15
t 4, t 1
t 3, t 1
M13
M6
t 4, t 2
t 3, t 2
M21
t 4, (t 5 t 2 )
t 3, (t 5 t 1 )
M24
t 4, t 1
M16
Figura 4.9: Cadeia de Markov da Figura 4.6 somente com tangible markings
27
5
Conclusão
O formalismo de Redes de Petri Estocásticas Generalizadas é uma generalização do formalismo de Redes de Petri Estocásticas, pois ele permite que as transições sejam representadas
com duas semânticas diferentes: imediatas ou temporizadas. Um tempo de disparo aleatório
distribuı́do exponencialmente é associado às transições temporizadas, enquanto as transições
imediatas disparam em tempo zero. Uma GSPN possui dois tipos de marcações: tangible markings, habilitam somente transições temporizadas, e vanishing markings, habilitam
pelo menos uma transição imediata. As vanishing markings podem habilitar um conjunto
de transições imediatas sobre as quais uma switching distribution é definida para descrever
probabilisticamente a seleção da transição a ser disparada. Conjuntos de transições imediatas
habilitadas simultaneamente junto com seus respectivos switching distributions formam os
random switchs.
O formalismo de Redes de Petri Estocásticas Generalizadas é uma ferramenta para uma
descrição precisa de atividades de sistemas. De fato, a representação das atividades do sistema
modelados em uma GSPN é feita de forma direta. Durante a etapa inicial de análise de uma
GSPN (construção do conjunto de atingibilidade) pode-se usar algumas das caracterı́sticas de
Redes de Petri para testar-se a correção do sistema modelado. Por exemplo, a detecção de
deadlocks no sistema.
Uma caracterı́stica distinta do formalismo de GSPN em relação ao formalismo de Redes
de Petri é o isomorfismo com Cadeias de Markov, que permite a avaliação quantitativa do
desempenho de sistemas. Logo, o mapeamento de uma GSPN para um modelo Markoviano equivalente é feito de forma transparente, superando a dificuldade da construção direta
(definição dos estados) da Cadeia de Markov.
Uma descrição detalhada de um sistema pode causar um aumento muito rápido no número
de estados do modelo Markoviano equivalente, visto que a complexidade e o tamanho do sistema modelado também podem crescer. O uso do formalismo de Redes de Petri Estocásticas
Generalizadas reduz o espaço de estados da Cadeia de Markov. Porém, o problema do aumento do tamanho e da complexidade dos sistemas não é solucionado, ele apenas resolve do
ponto de vista da modelagem de sistemas. Existem outros formalismos que têm em vista a
superação de tal dificuldade, tais como: SAN [24], PEPA [8], Balls & Buckets [28] e Decision
Diagrams [17].
Como trabalhos futuros, tem-se o intuito de formular um relatório técnico contendo a
definição formal dos formalismos de Redes de Petri, Redes de Petri Estocásticas e Redes de
Petri Estocásticas Generalizadas de modo a definir inequivocamente suas propriedades de mo28
delagem. Também tem-se como objetivo estudar o formalismo de Redes de Petri Estocásticas
Generalizadas Superpostas à vista de uma resolução numérica eficiente e uma eventual comparação com o formalismo de Redes de Autômatos Estocásticos.
29
Referências Bibliográficas
[1] G. Balbo, S. C. Bruell, and M. Sereno. Arrival theorems for product-form stochastic petri
nets. In Proceedings of the 1994 conference on Measurement and modeling of computer
systems, pages 87–97, Nashville, Tennessee, United States, 1994. ACM Press.
[2] F. Baskett, K. Chandy, R. Muntz, and F. Palacios. Open, closed, and mixed networks
of queues with different classes of customers. Journal of the ACM, 22(2):248–260, 1975.
[3] Y. Dallery. Approximate analysis of general open queueing networks with restricted
capacity. Technical report, Grenoble, 1998.
[4] S. Donatelli. Superposed stochastic automata: a class of stochastic petri nets with
parallel solution and distributed state space. Performance Evaluation, 18:21–36, 1993.
[5] S. Donatelli. Superposed generalized stochastic petri nets: definition and efficient solution. In Proceedings of the 15th International Conference on Applications and Theory of
Petri Nets, pages 258–277, Springer-Verlag, Berlin Heidelberg, 1994. R. Valette.
[6] G. Florin and S. Natkin. Les réseaux de petri stochastiques. Tecniques et Sciences
Informatiques, 4(1):143–160, 1985.
[7] E. Gelenbe and H. Shachnai. On g-networks and resource allocation in multimedia systems. In IEEE Research in Data Engineering, pages 104–110, Orlando, Florida, February
1998.
[8] S. Gilmore and J. Hillston. The pepa workbench: A tool to support a process algebrabased approach to performance modelling. In Computer Performance Evaluation, pages
353–368, 1994.
[9] J. R. Jackson. Networks of waiting lines. Operations Research, 5:518–521, 1957.
[10] J. R. Jackson. Jobshop-like queueing systems. Management Science, 10:131–142, 1963.
[11] J. D. C. Little. A proof of the queueing formula l = λw. Operating Research, 9:383–387,
1961.
[12] P. R. M. Maciel, R. D. Lins, and P. R. F. Cunha. Introdução às Redes de Petri e
Aplicações. 10a Escola de Computação, 1996.
[13] M. Ajmone Marsan, G. Balbo, and G. Conte. Performance Models of Multiprocessor
systems. The MIT Press, 1986.
30
[14] M. Ajmone Marsan, G. Balbo, G. Conte, S. Donatelli, and G. Franceschinis. Modelling
with Generalized Stochastic Petri Nets. John Wiley and Sons, 1995.
[15] M. Ajmone Marsan, G. Conte, and G. Balbo. A class of generalized stochastic petri
nets for the performance evaluation of multiprocessor systems. ACM Transactions on
Computer Systems, 2(2):93–122, 1984.
[16] P. M. Merlin and D. J. Farber. Recoverability of communication protocols - implications
of a theorical study. IEEE Transactions on Communications, 24(9):1036–1043, 1976.
[17] A. S. Miner, G. Ciardo, and S. Donatelli. Using the exact state space of a markov
model to compute approximate stationary measures. In Proceedings of the International
Conference on Measurements and Modeling of Computer Systems, pages 207–216, Santa
Clara, California, United States, June 2000. ACM Press.
[18] M. K. Molloy. On the Integration of Delay and Throughput Measures in Distributed
Processing Models. PhD thesis, University of California, Los Angeles, 1981.
[19] S. Natkin. Réseaux de Petri Stochastiques. PhD thesis, CNAM, Paris, 1980.
[20] J. D. Noe and G. J. Nutt. Macro e-nets representation of parallel systems. IEEE
Transactions on Computers, C-22(8):718–727, 1973.
[21] J. L. Peterson. Petri nets. ACM Computing Surveys, 9(3):223–252, 1977.
[22] C. A. Petri. Kommunikation mit Automaten. PhD thesis, Institut für instrumentelle
Mathematik, Bonn, 1962.
[23] M. Pidd. Computer simulations and management science. John Wiley and Sons, 1992.
[24] B. Plateau. De l´Evaluation du Parallélisme et de la Synchronisation. PhD thesis,
Paris-Sud, Orsay, 1984.
[25] M. Reiser and S. S. Lavenberg. Mean-value analysis of closed multichain queueing networks. Journal of the ACM, 27(2):313–322, 1980.
[26] W. Reisig. Petri nets: an introduction. Springer-Verlag, Berlin, 1985.
[27] G. Richter. Clocks and their use for time modelling. In Information Systems: Theoretical
and Formal Aspects, pages 49–66, North Holland, Amsterdam, 1985.
[28] W. J. Stewart. Introduction to the numerical solution of Markov chains. Princeton
University Press, 1994.
[29] F. J. W. Symons. Modelling and Analysis of Communication Protocols Using Numerical
Petri Nets. PhD thesis, University of Essex, 1978.
[30] M. Tazza. Análise Quantitativa de Sistemas. Escola Brasileira-Argentina de Informática,
1988.
[31] K. S. Trivedi. Probability & statistics with reliability, queuing, and computer science
applications. Englewood Cliffs: Prentice-Hall, 1982.
[32] W. M. Zuberek. Timed petri nets and preliminary performance evaluation. In Proceedings
of the 7th Annual Symposium on Computer Architecture, La Baule, France, 1980.
31
Download

Um Estudo sobre Redes de Petri Estocásticas Generalizadas