MAZIERO, CARLOS ALBERTO_Catalogar

Propaganda
UNIVERSIDADE FEDERAL DE SANTA CATARINA
PROGRAMA DE PÓs-GRADUAçÀo EM ENGENHARIA ELÉTRICA
UM AMBIENTE PARA A ANÁLISE E SIIVIULAÇÃO
DE SISTEMAS MODELADOS POR REDES DE PETRI
_
Dissertação submetida à Universidade Federal. de Santa
-Catarina para a
obtenção do grau de Mestre
Elétrica
.
CARLOS ALBERTO MAZIERO
,
'
Florianópolis,
junho de 1990
em
Engenharia
ii
Un AMBIENTE PARA A ANÁLISE E s1nULAç¡o
DE SISTEMAS MODELADOS POR REDES DE PETRI
CARLOS ALBERTO MAz1ERo
~
Esta dissertaçao foi ju1gada,adequada para
MESTRE EM ENGENHARIA ELÉTRICA
u
ENGENHARIA ELÉTRICA,
Especialidade
DE
CONTROLE
obtenção do titulo de
a
AUTOMAÇÃO INDUSTRIAL,
E
área de' concentração SISTEMAS
aprovada em sua forma final
e
pelo programa de Pós-Graduação.
x
\
‹
,¿(¡r
,
Prof. JEAN
.
ARIE EAEENES, Dr. Ing.
Orientador
_
s Mo EIRA
RMUnEz, Ph. D.
Prof. JZÊE CA
Pós-G
Elétrica
En
enharia
em
duação
Coordenador do Curso de
T
.
BANCA EXAMINADORA
-
â^ awe
Prof. JEAN
\
.
ARIE ¿;šTNES, Dr. Ing.
Presidente
N
f
/¬.
\
Prof. cARLos ALBERTO HEUSER, Dr. Ing.
Â
'
Í
5".
`
Prof. JosE EDq*RD
'
A
,
CURY, Dr. D Eta:
_
.
A
Í
-
\
1
.
Pro
NI'DA
/"V
S
VA FR
,
Dr. Ing.
ii i
Resumo
Este trabalho apresenta o Sistema
ARP
de Análise e Simulação, que integra
diversas ferramentas para validação, verificação, simulação e avaliação de
sistemas
em Redes
modelados
de Petri ordinárias,
desempenho de
com›_~¡.'l`emporização
e
com
com
suas
H
Temporização Extendidas.
2'
A
_
¡.
.
Inicialmente, o
principais extensões,
modelo Rede de Petri (RdP) é formalmente
em particular as temporais. A modelagem em RdP
descrito,
év
estudada a partir
de noções de modularidade e estruturação hierárquica. As principais técnicas de validação,
verificação e avaliação de
desempenho' de sistemas modelados por Redes de Petri são
abordadas.
.V
Apresenta-se a seguir a estrutura geral do Sistema
compõe:
análise via grafo
ARP,
e_.as
ferramentas que o
de acessibilidade, análiseestrutural porinvariantes, verificação
de equivalência de linguagem, simulação e avaliação de desempenho. Para cada
ferramenta são detalhados seus objetivos, métodos, algorítmos empregados e resultados
fornecidos;
c
q
Finalmente, demonstra-se a capacidade do sistema descrito, aplicando suas
ferramentas ao estudo de problemas de interesse real
Distribuídos: são estudadas a proposta
T
em Automação Industrial e Sistemas
FIP ao Padrão Field-Bus, o protocolo
norma MAP e também um caso de otimização de
MMS
Sistemas. Flexíveis de Manufatura.
da
iv
Abstract
In
.
this
composed by
ARP
-work the
Analysis and Simulation System
is
presented.
ARP
is
several tools for validation, verification, simulatíon and performance
evaluation of systems modeled by ordinary, time and extended time Petri Nets.
_
First the Petri
modelling task with
Net model and some extensions are fonnally described. The
Pe-trix
Validation, verification and
discussed.
"
studied using modularity and structuring concepts.
is
perfomance evaluation techniques
for Petri
P
V
_
analysis,
ARP's general
and
structure
structural °analysis
its
component
tools,
algorithms and results are presented.
Finally, system's capability
study of ,Distributed Systems
proposal, the
MAP's
MMS
and
is
such as reachability
by invariants, language equivalence
simulation and performance evaluation, are overviewed. For each
Systems.
Net models are
"
'
_
Secondly, the
graph
Nets
tool,
verification,
the objetives,
'
“
M
demonstrated by apllying the described tools to the
Industrial
Automation problems
like the Field-Bus
FIP
protocol and the optimisation of Flexible Manufacturing
`
A
v
À Lucia, incansável companheira
vi
Agradecimentos
Aos
profs.
»
do LCMI, pelo sempre presente incentivo-e cooperação.
Em particular
ao prof. Jean-Marie Farines, pela orientação, interesse e apoio na realização deste
'
trabalho.
^
~
.
,
Aos demais membros do LCMI, por seu
sobretudo por sua amizade.
espírito
de equipe, companheirismo e
V
A meus pais Dorali e Neiva, a meus irmaos e a todos os amigos que me auxiliaram
durante esta caminhada.
Ao CNPq,
»
Conselho Nacional de Desenvolvimento Científico e Tecnológico, pelo
suporte financeiro que
me foi concedido.
vii
Índice Geral
Resumo
...................................................................................................................................... .. .. iii
Abstract
..................................................................................................................................... .. ._
1.
Introdução
2.
O Modelo Rede de Petri
2.1.1.
'
2.1.2.
2.2.
u
1
.................................................................................................. ..
3
................................................................................... .. ....................................
O Formalismo Rede de Petri
2.1.
Í
.................................................. .. ................................... uz
................................................................................ ..
Extensões ao Modelo de Base
................................................................................ ..
6
..................................... .. ------------------------------------------- --
7
a.
RdP com Arcos Inibidores
_b.
RdP com Temporização
c.
RdPs de Alto Nível
......................................................................................
Modelagem Usando RdP
Técnicas de
2.2.2.
Análise 'do Comportamento
2.2.4.
2.3.
..
.................................................. .. oooooooooooooooooooooooooooooooooooooooooo z.
O Uso da RdP para o Desenvolvimento de Sistemas
.
3
Definição do Modelo de Base
2.2.1.
2.2.3.
iv
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn Q.
................ .. zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
As Propriedades *Básicas da RdP
b.
Análise Estrutural da
c.
Verificaçao
Rede
.............................................. .. ......................
7
11
12
n 13
16
....................................................................... ..
a.
4.
u 16
............................................................................... ..
18
........................................................................ .. .................................. -ó
-19
Avaliação de 'Desempenho
..... .; ............................................................................. ..
20
Implementação do Modelo
....................................................................................
..
21
....................................................................................... ..
22
Uso de Ambientes para RdP
vi11
Conclusão
2.4.
3.
O Ambiente ARP
3.1.
..
22
..
24
.............................................................................. ..
24
.................................................................................. ..
26
......................................................................................................................
.............................................................................................................
Descrição Geral do Sistema
ARP
3.1.1.
Gerenciamento de Interface
3.1_.2.
Estrutura Intermediária de Descrição da
3.2.
Análise via Grafo de Acessibilidade
Rede de Petri
.................................. ..
26
.......................................................................... _.
29
3.2.1.
Construção do Grafo de Acessibilidade
3.2.2.
Enumeraçao em Redes com Temporizaçao
3.2.3.
Resultados Fornecidos pelo Módulo
3.3.
.......................................................... ..
29
....................................................... ..
32
.................................................................... ..
34
........................................................................ ..
35
..................... .. ..................................................................... _.
35
Análise Estrutural de Redes de Petri
Cálculo de Invariantes
3.3.1.
a.
Obtenção da Base de Invariantes
..................................................................... ..
36
b.
Extração dos Invariantes da Base
..................................................................... ..
37
3.3.2.
Exemplo de Utilização do Algoritmo
.................................................................. ..
39
3.3.3.
Resultados Fornecidos pelo Módulo
..................................................................... ._
42
3.4.
Verificação de Equivalência de
Linguagem
............................................................. _.
3.4.1.
O Processo de Verificação de Equivalência
3.4.2.
Resultados Fornecidos pelo Módulo
3.5.
3.5.1..
Simulação de Redes de Petri
Descrição do Simulador
43
....................................................... ..
44
...... .; ............................................................ ..
44
...................................................................................... _.
45
......................................................................................... ..
45
ix
Avaliação de Desempenho
3.6.
em Redes de Petri
Desempenho
3.6.1.
Descrição Geral do Avaliador de
3.6.2.
O Mecanismo de Evolução da Rede
3.6.3.
Disparo de Transições
3.6.4.
Ponderaçäo de Conflitos
Conclusão
3.7.
4.
47
................ .. .................................................. ..
48
................................................. ..
...................................................................................................................... ..
ARP
............................................................ ..
Uso do Ambiente ARP na Verificação do Comportamento:
Aplicação ao Protocolo de Comunicação
MMS
54
Modelagem das Entidades MMS em Redes de Petri
4.1.3
4.1.4.
4.2...
Respondedor do Serviço
c.
Meios de Comunicação
Análise do
........................................ ..
Modelo Global
55
..
56
....................................................................................
..
57
......................................................................................
_.
58
.....................................................................................
_.
60
.............................................................. _.
60
......................................................................... ._
63
.........................................................................................
a.
Validação do Modelo Global Obtido
b.
Verificação do Modelo.Global
Conclusões
'
................................................................. ..
4.1.2
b.
53
53
Descrição da Aplicação
Requisitor do Serviço
52
...................................................... ..
4.1.1.
......................
50
51
......................................................................................
a.
47
................................................. ..
em Instantes Aleatórios
Utilização das Ferramentas do Sistema
4.1.
........................................................ .._.
................................................................................................................
..
64
..
65
Uso do Ambiente ARP na Avaliação de Desempenho:
Aplicação ao Serviço de Troca de Mensagens do
Protocolo de Instrumentação Fabril FIP
.................................................................
x
Descrição da Aplicação
4.2.1.
...........
............................................................................. ..
SDA do FIP
a.
Descrição do Serviço
b.
Definição dos Time-Outs
................................................................... ..
66
................................................................................... ..
69
Modelagem da Fase MA do Serviço
4.2.2.
a.
Árbitro de Barramento
b.
Produtor / Consumidor
c.
Meio de Comunicação
4.2.3
Avaliação de
4.2.4
Conclusões
SDA
.......................................................... ..
70
....................................................................................... ..
71
...................................................................................... ..
71
........................................................................................ ..
72
Desempenho do Serviço
.
................................................................. ..
73
74
.................................... .. .......................................................................
Uso do Ambiente ARP na Análise Estrutural
4.3.
66
de'
Redes de Petri: Aplicação à Otimização de
Sistemas de Manufatura Flexível
.............. .; .............................................................. _.
75
.......................................................................................... ._
76
4.3.1
Descrição da Aplicação
4.3.2.
Modelagem de um SMAP
4.3.3
Análise do Modelo Obtido.
4.4.
5.
................................................................................... .;.
79
Cálculo dos Invariantes
....................................................................................... ..
79
b.
Otimização do Sistema'
....................................................................................... ..
81
................................................................................................................ ..
82
...................................................................................................................... ..
83
Conclusão
ConclusãoePerspectivas
Anexo
76
a.
Conclusões
4.3.4.
...................................................................................... ..
1:
Linguagem de Descrição de Redes de Petri
Bibliografia
~
..
84
...................................................... ..
86
............................................................................................
.............................................................................................................................
..
90
1
1.
Introdução
A necessidade de redução de custos e aumento de confiabilidade impõe como meta
para a indústria sua automação, através da integração das diversas operações do processo
de produção. Esta integração é garantida pela existência de Sistemas Informáticos
Distribuídos que permitem melhoriassubstanciais
em
termos do desempenho global, do
-
compartilhamento dos recursos, da disponibilidade e da confiabilidade dos serviços
fornecidos.
~
_
Além
disso,
a crescente automação dos processos de produçao, baseada no uso de
máquinas com comando numérico, controladores lógicos programáveis, robôs e outros
equipamentos, torna necessário ouso de
uma filosofia de desenvolvimento
adequada,
uma
metodologia que seja capaz de modelar corretamente estes dispositivos e suas interações,
sem dependência das
tecnologias envolvidas. Essa
modelagem costuma
problemas de sincronização, exclusao mútua, disponibilidade
associados a mecanismos automáticos, são freqüentes.
Um
ser complexa, pois
de. recursos
e outros,
`
dos aspectos prioritários no desenvolvimento de software para aplicações
distribuídas e
de automação
industrial
é`
a disponibilidade de ferramentas que permitam
provar as propriedades' dinâmicas das especificações, realizar protótipos, simulações e
avaliar seu
desempenho.
A complexidade de tais aplicações leva à utilização de Técnicas
de Descrição Formal (TDF)_para descrever de forma completa, clara e sem ambigüidades
suas especificações.
A principal motivação para o uso de TDFs consiste- em servir de base na construção
'
de ferramentas que permitam automatizar atividades como a análise do comportamento
lógico e
do desempenho,
a_
verificação das especificações, a implementação destas e a
determinação da conformidade do software resultante
em relaçãoaos requisitos iniciais.
O objetivo central do trabalho desenvolvido no LCMI-DEEL-UFSC é a construção
de
um
tratar
ambiente de análise (de comportamento e desempenho) e simulação que permita
problemas de Automação Industrial ie SistemasDistribuídos.
2
.
Escolheu-se
como
formalismo de base para
pois esta permite descrever
comclareza
ambiente a Rede de Petri (RdP),
tal
as relações' de causalidade encontradas nos
problemas a tratar: seqüência, concorrência, conflitos e sincronização.
Além
restrições
disso, extensoes
sao possíveis neste mecanismo, que permitem introduzir
de tempo e representação de dados [Diaz
86].
O modelo RdP serve de base à construção' de ferramentas automáticas para várias
etapas do desenvolvimento de
um
sistema:
modelagem, validação, verificação de
conformidade, avaliação de desempenho, implementação e
testes.
*
O Sistema ARP, descrito nesta dissertação, é um primeiro passo na construção de
um
ambiente que proporcione ferramentas automáticas para a análise e simulação de
sistemas modelados por Redes de Petri ordinárias,
extendidas.
-
com temporizaçao
`
`
-
Esta dissertaçao está estruturada da seguinte forma: o cap.
também
com temporizaçao
_
Rede de Petri, sua definição formal e suas principais
Petri
e
extensões.
2-
introduz o modelo
O projeto usando Redes de
é estudado, detalhando-se a construção, validação, verificação, avaliação de
desempenho e implementação de sistemas modelados por Redes de Petri.
O
cap.
3'
descreve o sistema
ARP
e as ferramentas que este integra."
Cada
ferramenta tem detalhados seus objetivos, os algoritmos empregados e os resultados
fornecidos. Por fim, o cap. 4 busca exemplificar a utilização de algumas das ferramentas
sistema
ARP,
Distribuídos e
através do estudo de exemplos
Automação Industrial.
rea-is
do
nas áreas de Sistemas Informáticos
3
O Modelo Rede de Petri
2.
Para o desenvolvimento de sistemas complexos torna-se necessário o _uso de
t
Técnicas de Descrição Formal (TDF), para a correta representação de sua especificação.
Uma TDF se caracteriza por seu poder de
forma
clara, correta
de análise, que
expressão, que permite representar de
um sistema,
e sem ambigüidade as especificações de
facilita
e por seu poder
a detecção de erros.
A principal motivação para o uso de TDFs consiste emservir de base na construção
de ferramentas que permitam automatizar atividades como a análise do comportamento
lógico e do desempenho, a verificação das especificações, a implementação destas e a
em
determinação da conforrnidade do software resultante
[Vissers 881.
t
Existe hoje
_
em
relação aos requisitos iniciais
um grande
número de abordagens
diferentes para as
formalismos como Máquina de Estado Finita, Rede de
Álgebras de Processos.,
formalismos híbridos.
(p.ex.
Gramáticas Formais,
Petri,
CCS), Tipo de Dados Abstratos, Lógica Temporal e
i
'
R
A
~
_
.
À
Apresentar-se-á a seguir o formalismo
Rede de
Petri, utilizado
presente trabalho.
2.1.
TDFs, baseadas
como
base do
`
_
O Formalismo Rede de Petri
em
-Proposta
1962 por Karl Petri
em
sua tese de doutorado "Kommunikation mit
Automaten" (comunicação com autômatos), a Rede
permite a modelagem de sistemas dinâmicos
com
'de
Petri
alto grau
(RdP) é
um formalismo
que
de paralelismo. Seu poder de
expressão é suficiente para representar todas as relações de causalidade entre processos,
como
de concorrência, paralelismo, operações seqüenciais, conflitos, não
situações
determinismos e sicronizações.
u
"
ç
“
4
A partir do modelo básico proposto por Petri (normalmente chamado RdP clássica
ou ordinária), muitas extensões são propostas, com a finalidade de aumentar seu poder de
expressao, principalmente
no tocante a temporizaçao e
estruturas de dados.
A importância do uso da RdP como formalismo,
'
reside nas facilidades oferecidas
para a análise do comportamento do sistema modelado e de seu desempenho.
Em particular, o modelo RdP permite automatizar as várias etapas do processo de
desenvolvimento de
análise de
poderão
2.1.1.
um
sistema: especificação, validação, verificação de conformidade,
desempenho e
até
mesmo a
ser facilmente integradas
implementação. As ferramentas assim obtidas
num mesmo ambiente.
_
Definição do -Modelo de Base
A RdP é um modelo do tipo estado-evento, onde cada evento possui pré-condições
a serem observadas para suaocorrência e pós-condiçoes decorrentes desta, que por sua vez
podem ser pré-condições de outros eventos.
V
`
'
A RdP é representada por um grafo com dois tipos de elementos, chamados lugares
e transiçoes, interligados por arcos direcionados ponderados.
Os
lugares representam os
estados locais ou 'condições do sistema, cuja existência é indicada pela presença de
ficha
no respectivo
fichas
lugar.
uma
O estado global do sistema é representado pela distribuição das
na rede, chamada "marcação" [Peterson 81].
Os eventos do sistema são representados por transições.
uma transição,
cujo disparo indica sua ocorrência. Relacionam-se os eventos às condições
através dos arcos que interligam as transições aos lugares.
Na fig.
rede de Petri
A cada evento corresponde
2.1,
que busca modelar
uma operação
com arcos de peso unitário:
,
de usinagem, tem-se
.
um exemplo de
5
Torno
Recebe
P993
t
t
P*
1
.V
_
Peca
Esperando
1-i
E
_
Inicia
L
Livreø
p,
i
~
t3
P2
I
P3. tt
Libera
Pesa
t
Iermna
_
Peca
Pronta
Usinagen
Usinagem;
Iorneando Peca
Fig. 2.1:
Formalmente define-se a RdP
Rede de Petri
clássica
uma
ou ordinária como
:
T
'
:
I:TxP->N
:
Conjunto
finito
de
m lugares
{p1,
p2,...,
Conjunto
finito
de n transições
{t1,
t2,...,
Função de entrada das
transições.
Iij
pm}.
tn}, PIIT
=
{}.
indica o peso do arco
:
Função de saída das
transições. Oij indica
o peso do arco que
transição para o j-ésimo lugar.
M0:P->N
V
que
sai
do
j-
ésimo lugar para a i-ésima transição.
'
O:TxP_->N
RdP=
i
{P,T,I,O,M0} onde:
P
quíntupla
:
sai
da i-ésima
V
V
Marcação (no de fichas) inicial de cada lugar.
.
A dinâmica da RdP é representada pela evolução das fichas, causada pelos disparos
das transições sensibilizadas, que provocam a transferência-das fichas entre os lugares da
rede, alterando sua marcação e o estado do sistema modelado.
Uma
transição
condições forem
ti
está _s§gb¿iLz_aQ pela
satisfeitas:
marcação
M quando todas
'
-
V pj G P M (pj) gl (t¡,pj), ou seja,
2_I
(ti)
.
V
as suas pré-
6
O disparo de
ti
M gera uma nova marcação M':
a partir da marcação
M'(Pj) =
M (Pj) + Ú (Í¡›Pj)'1(Íi›Pj)
Uma _sg;_i‹^¿çi_a
partir
de
"s"
M->
M' ='M
M'
~
de transições
{t]-
Mi se existem marcações Mi, Mi
Mi'> Mi+1'>
O conjunto [M0] de
por:
_¡_
_+
O (t¡)-I(t¡)
t]-+k} é
t]-+1
1,...,M¡ _¡_k
de
uma
de
seqüência
modo que:
A
Íj+k
'[j+1
tj
_
_-
Ii
ou seja,
G P.
VPJ'
disparos a
l
'
S
Mi+1<'> Mi+1<+1 0" Mi'> Mi+1<+1
---'>
a partir da marcação
M0 é definido
inicial
“
V
_
S
'
{M¡/15/M0'>
,[M0]`=
M¡}
Esse conjunto pode ou não ser finito, dependendo da topologia da rede e de M0.
O
grafo de marcações acessíveis
formado pelo conjunto de marcações
representam os disparos de
transição'
G
associado à rede de Petri
acessíveis
que levam de
[M0] e pelo conjunto
2.1.2.
{(Mj,Íi,Mk) /
1 ti
G T/
U
finito é
de arcos que
uma marcação a outra:
fi
U=
com [M0]
-> .Mk,
9
l
j
V Mj,Mk G
_
.
Extensões ao Modelo. de Base
Através de extensões ao modelo de base busca-se aumentar seu poder de expressão,
permitindo que contenha informações não representáveis no modelo ordinário,
como
7
temporizaçoes e manipulaçao de dados, e
representaçao, reagrupando as partes do modelo
a.
também aumentando a
com comportamento
semelhante.
RdP com Arcos Inibidores
Supre' uma deficiência intrínseca ao
modelo RdP, o
"teste
a zero". Possui
especial de arco de entrada de transiçao que só permite seu disparo
lugar associado
.for
um
nula [Peterson 81]. Obtém-se
modelagem, embora se perca
em poder de análise.
Pesa E5Për*a.ndo
kl
U
'
b.
concisao da
O
tšsinagezâ
,
_
Fig. 2.2:
inicia
um tipo
quando a marcaçao do
ganho real na capacidade de
`
Q
Usinamlo
.
šaquina ücurzêda
RdP com arcos inibidores
RdP com Temporização
-~
~
A=introduçäo do tempo no formalismo
sendo mais difundidos os modelos de
No modelo de
fichas
Sifakis,
Sifakis,
RdP pode
ser efetuada de várias formas,
Ramchandani e Merlin [Menasche
a cada lugar é associado
um
821.
'
atraso fixo durante o qual as
recém chegadas são consideradas "não-disponíveis" (não podem
ser consideradas
para o disparo de transições), tornando-se disponíveis após_decorrido o tempo de espera..
No modelo
fixa.
Ao disparar,
certo
uma
de Ramchandani associa-se a cada transição
duração de disparo
a transição retira as fichas dos lugares de entrada, as retém durante
tempo e deposita-as nos lugares de
saída.
“
um
8
Um
modelo mais
geral é proposto por Merlin [Merlin 76],
temporização (RdPT), que associa a cada transição da rede
um
chamado RdP com
intervalo
da forma
seguinte:
[sEFr,sLF1¬1
ez+,o_gsE1=TísLFr <
00'
O valor SEFl` (Static Earliest Firing Time) indica o tempo mínimo durante o qual a
transição deve estar sensibilizada antes de seu disparo. O valor SLFT (Static Latest Firing
Time) indica otempo máximo no qual a transição deve
disparar, se ainda sensibili-zada.
importante observar que o disparo da transiçao tem duraçao zero [Menasche
Formalmente
uma RdPT é um par RdPT= {RdP,D0}
.
RdP :RdP ordinária {P,T,I,O,M0}
DO
`
azar->
V
vztkz
l
q
_
(R+
É
_82].
z»
onde:
_
U o)× (R+ Um)
D0(zk)zz=z{.[sE1='rk,.sLFrk],o_gsEFr¡¿í›sLFfr¡¿}
D0(tk) é o intervalo de disparo
inicial
chamados domínios de disparo.
ou estático de
tk.
Os
.
fig. 2.3`:
P,
-
i
O O
i
t,,[G,41
“
I
`
m m
i t¡[1,51
i'
intervalos são
V
Um exemplo simples de RdPT é dado na
mí
«
~
i
.t,[l,3l
"
i
Y
'
.
_¿_z____ '
Pz5
P,.-
Fig. 2.3:
RdP com tcmporização
t
4
[B,2l
também
9
O
conjunto
uma RdPT
estado S:(M,D) de
D
M
e pelo
dos domínios dinâmicos de disparo [DEF1`j,DLFTj] de cada transição
M, que podem
sensibilizada por
tk é disparável
O novo
diferir
dos domínios estáticos.
em um instante Gk sse:
mk) 5 M
`
é caracterizado por sua marcação
estado
S”,
A partir de S uma transição
~
e DE1='rk
5 ok 5 Min (DL1='rJ-) vtj D
c;
com marcação M'
\
como:
tj
e domínio dinâmico de disparo D' define-se
.
'
i
»
M,=M+O(Ík)-I(Ík)~
Vtj:
se I
(tj)
> M' então
D'(tJ-)
é indefinido
senão
se I
'
~
z
(tj)
~
>
M então
Dn,-› =
senão
(I,-›
'
D'(¢j)
`
DO
= [Max
(0,
DEPTJ- - ok), DL1=TJ- - ok]
Deve~se observar que esta extensão não considera a ocorrência de transições multi-
sensibilizadas
(ti
está multi-sensibilizada se ]MJ- /
Vpk
transição multi-sensibilizada deveria ser considerado
cada nível de sensibilização.
I(t¡,pk)
z 2*
um intervalo
de
Para
uma
'disparo distinto
para
MJ-(pk)).
'
i
Para estudar o sistema sob a ótica de seu desempenho, é importante considerar
também
a probabilidade da ocorrência
decada evento da RdP que o modela, definindo
uma nova extensão: a RdP com Temporização Extendida, ou RdPTE [Roux 85].
10
Na RdPTE,
atribui-se a cada
domínio de disparo de transição da rede
Gk
de densidade de probabilidade, que pondera o instante de disparo
uma função
da transição tk
dentro do intervalo permitido.
Formaliza-se
RpPT
F0
:
:
(x)
F+_, funções de densidade
_>_
F0 é o conjunto
de probabilidade.
G [EFl`j',LFI`j]
0 se x
= o se × ¢ [BFT]-,LFr¡]
inicial
ou
vúj
estático
GT
de funções de densidade de probabilidade de
Como
disparo (F+ é o conjunto de funções não-negativas).
transições,
onde:
Rede de Petri com temporização {P,T,I,O,M0,D0}
T ->
fj
uma RdPTE como um par {RdPT,F0}
o domínio de disparo das
F também 'muda com
o conjunto de funções de densidade de probabilidade
o.
estado da rede, tornando-se dinâmico.
V
A fig. 2.4 exemplifica a RdPTE
estática
da transiçao
tj).
~
a
(fj
a função de densidade de probabilidade
indica'
-
A
_
¡*i
fa
f,
m m
ÍJB.-'ll
“
E
Y
t:[1.3]
'
t¡[1,5]
T
P
Como
l
H*
f
3
Í
'
‹€
Í
P¬.-_
na RdPT, o estado
*
_
Fi'-1
¡
Í
'
'I
i.
H*
.
grazi
Í
Fig. 2.4:
.
-i
i
-
`
'
É
É
É
É
É
I*
Í
I
Ê
i
É
É
E-
RdP com temporização extendida
em uma RdPTE
é caracterizado por sua marcação, por
seus domínios dinâmicos de disparo e pelas funções de densidade de probabilidade
dinâmicas associadas aos mesmos.
A
regra de
mudança de estado
envolye,_¿Í
além da
ll
mudança de marcação e domínios, a
RdPs de Alto
Nível
A RdP ordinária representa satisfatoriamente a evolução
_
sistema modelado,
mas não permite uma
Diversas extensões de
algumas
delas:
Colorida:
da parte de controle do
clara representaçao dos dados sob manipulaçao.
RdPs foram propostas de modo a tornar mais
sistemas complexos, permitindo
RdP
das funções de densidade de
em [Roux 851.
probabilidade, sendo detalhada
c.
reavaliação
também amanipulação de
concisa a descrição de
dados. Abaixo são destacadas
*
'
.
Cada
ficha possui
uma
Os
cor que caracteriza sua identidade.
arcos são
rotulados por expressões definindo o padrão de fichas coloridas a consumir ou produzir
um lugar.
Presta-se
bem
à representação compacta
rede genérica, cada uma identificada por
RdP
.de
várias instâncias de
uma cor [Jensen 85~].
em
uma mesma
A
`
_
I
_
Predicado-Transição: apresenta fichas parametrizadas por n-uplas de constantes ou
variáveis.
Os arcos são rotulados por expressões definindo o padrão de fichas a produzir ou
um predicado indicando as relações entre os valores
consumir. Associa-se a cada transição
dos parâmetros das fichas associadas ao disparo da transição [Courtiat
RdP
Predicado-Ação: permite distinguir claramente a parte "controle" (uma
ordinária) e a parte "dados" *de
rótulo,
87].
da forma "when P(x) do
uma especificação. A cada transição da rede é associado um
x:
=
F(x)",
onde P e F atuam sobre o conjunto
que representam a parte "dados" da especificação.
P for satisfeito
[Courtiat 87].
RdP
X de variáveis
O disparo da transição só ocorre quando
e
_
12
\
RdP Numérica:
semelhante à extensão Predicado-Ação, introduzindo o conceito de fichas
com identidade
(do
mesmo modo que nas RdPs Predicado-Transição)
condição de sensibilização e a de disparo de
uma transição
e a distinção entre a
[Diaz 87].
RdP a Objetos: formada pela estrutura de controle própria à RdP e por uma representação
de dadosna forma de objetos. Sua marcação é
feita através
de fichas com identidade
definida por esses objetos, que são testados, movimentados e alterados pelas transições da
rede. -O uso da noção de objeto para a representação de dados permite estruturar melhor
mapeamento
os dados do sistema e facilita o
direto dos objetos físicos
[camú 901.
manipulados
A
i.
-.
r
L
'
Algumas das extensoes acima têm
um poder
de expressao equivalente ao da
ordinária, beneficiando-se das opções de análise e validação desta,
modelagem bastante
mas *com
As demais possuem
no entanto suas possibilidades de
um poder de
RdP
um poder de
superior, devido à sua concisão [Courtíat 87]. Este é 0 caso das
Coloridas e Predicado-Transiçao.
restringindo-se
'_r":
expressao
RdPs
bem maior,
A
análise.
'
.
'
V
2.2.
O Uso da RdP para o Desenvolvimento de Sistemas
A construção de um sistema através de RdP ou outra TDF'passa por etapas bem
definidas. A partir de sua especificação informal, procede-se à modelagem 'do sistema
usando a TDF escolhida. A especificação formal então obtida pode ser analisada,
buscando-se testar sua correção e sua adequação ã especificação de referência.
As
técnicas de análise empregadas
orientar possíveis' alterações do modelo.
eficiência
O
pode
ser avaliada através
modelo correto e
traduzido para
uma linguagem
devem prover informação¿
Obtendo-se então
um
eficiente
suficiente para
modelo
de técnicas de análise de desempenho.
9
correto, sua
H
V
do sistema pode então ser implementado, ou
executável.
A importância do emprego de uma.'IÍDzlf` reside
13
no fato de a mesma permitir automatizar a maior parte
[Farines 89].
2.2.1.
acima descrito
do' processo
.
Técnicas de Modelagem Usando
RdP
Uma primeira técnica de modelagem é a abordagem por refinamentos sucessivos.
Constrói-se inicialmente um modelo do comportamento geral do sistema, que é aos poucos
detalhado através da explosão de nodos
validados.
em
sub-processos completos já completamente
,
~
A técnica de refinamento é baseada no conceito de nodo de substitução [Huber 89],
que é um lugar ou transição relacionado a um sub-modelo.
O
processo de refinamento força
facilitando a construção e
uma
_
V
›
visão estruturada hierárquica
do sistema,
compreensão do modelo, devido à abstração de detalhes.
Esta técnica permite tanto a construção "top-down", pelo refinamento de nodos
si,
quanto a "bottom-up", pela reutilização de sub-estruturas já definidas.
Uma
característica importante-
U
'
da modelagem por refinamentds é a validação
progressiva do modelo, pois os sub-modelos são validados antes de sua inserção ao
global,
em
modelo
que por sua vez também é validado antes derecebe-los.
Outra técnica de modelagem é a chamada construção modular de sistemas. Neste
caso,
omodelo de cada entidade
das demais entidades.
As
na fig.
2.5:
do sistema é construído e validado independente
interações entre diferentes entidades são representadas por
transições associadas a trocas de
ser observado
distinta
mensagens
(?
para recepção e
!
para envio),
como pode
14
É
9x
Fig. 2.5:
_i__z)
g
?x
Construção modular
É importante observar que uma entidade pode estar internamente dividida em subentidades, cujas interaçoes definem 0
comportamento da entidade.
visão hierárquica estruturada do sistema,
A
interligação entre os diversos
denominada meio de comunicação.
uma
Isto caracteriza
como na modelagem por refinamentos.
módulos é efetuada vía
O
uma
estrutura especial
comportamento do meio é importante para a
determinação docomportamento global do sistema [Souissi
`
89].
Uma primeira forma de interligação é o uso de um lugar compartilhado, ou envio
assíncrono de mensagem, pois utiliza um lugar intermediário para representar a mensagem
`
H
circulante
`
(fig. 2.6).
dm
Fig. 2.6:
É importanteobservar
ih:
ll
'mí
,Ox ll
Troca assíncrona de mensagem
que no caso assíncrono do número de mensagens
pode crescer indefinidamente, tornando-se
utilizar
-.~
um
em trânsito
impecilho ao estudo da rede. Pode-se
um lugar auxiliar para limitar a "n" o número de mensagens em trânsito (fig. 2.7).
15!
no 5%;
ill
llírox
WW
de mensagens
Fig. 2.7: Limitação
em trânsito
Um caso particular da interligação via lugar compartilhado é a troca de mensagem
com reconhecimento, que pode
(fig. 2.8).
ser
decomposta
em duas
trocas de
mensagem
assíncronas
V
»
~
I
ix
X
¡<
.
ES
ea
`
u
)
Ê
:ii
==-ê;
1
`_
.
êêâ
Fig. 2.8:
q
'
?ack
z
B
tank
ack
Z
_
Troca de mensagem com reconhecimento
Outra forma de interligaçaoé a fusao das transiçoes que representam o envio e a
recepçao de
uma mensagem
("rendez-vous").'Este processo caracteriza
um envio
síncrono
de mensagem, no qual somente são liberadasas entidades comunicantes após a troca
efetiva
da mensagem
(fig. 2.9).
-
'F
SUD'
Flg. 2.9:
É
Fusão de transições
16
Uma
visão
mais detalhada sobre interligação de processos via meios de
comunicação pode ser encontrada em
2.2.2.
i
[Souissi 89].
f
_
Análise do Comportamento
É
necessário verificar que 0
do sistema
seja correto,
modelo construído a
partir
da especificação informal
não possuindo erros de modelagem. Para
tal
é necessário que a
RdP apresente um conjunto de boas propriedades: limitação, reiniciação e vivacidade.
'
Da análise destas propriedades
algumas
características
ausência de bloqueios,
O
conclui-se sobre a correção do
modelo e conhece-se
do comportamento do sistema (como "realizabilidade
física",
etc).
estudo do comportamento do sistema e de sua adequação às especificações
desejadas levam à determinação de seu comportamento através da análise estrutural do
modelo (concluindo a respeito de seus invariantes) e/ ou da verificação (equivalência entre
o modelo obtido e um modelo de referência que corresponde às especificações desejadas).
a.
As Propriedades Básicas da RdP
Estas propriedades auxiliam' na determinação e correção do comportamento
dinâmico da rede, ajudando a verificar se está modelando corretamente o sistema desejado
e a detectar eventuais erros ou falhas [Esteban 851.
relevantes sao:
As propriedades
básicas mais
17
Limitação:
Se
Uma RdP é K-limitada para uma dada M0 se:
K= 1, a rede é dita salva ou binária, pois o número de fichas num lugar é 0 ou
(o recurso existe ou não).
Como
1
.
«
as fichas representam recursos disponíveis, a limitação de
que o sistema modelado possui recursos e operações
finitas,
uma
como um
rede indica
sistema real
H
[Esteban
85].
Uma RdP é reiniciável se:
Reiniciação:
S
`
VMkG[M0]}s<> {}/Mk-> M0
Sendo o sistema
reiniciável,
ao estado inicial executando
a partir de qualquer estado acessível pode-se retornar
uma seqüência finita de operações.
r
`‹
Uma RdP
Vivacidade:
é viva se qualquer transição puder ser disparada a
parÍtir
de
qualquer marcação alcançável:
s
'vM<;[M01,vz¡eT,1s>¢¡/M-> M*
Se a rede de Petri é viva então não há bloqueios nem» partes
inativas, pois todas
as
transições pertencem a alguma seqüência de disparo a partir de qualquer estado.
A
partir
vivacidade.
da vivacidade pode-se derivar
Uma transição
Uma
marcação
em
uma
sub-propriedade chamada quase-
é quase-viva se pode ser disparada ao
bloqueio ("de_ad-lock") não
vivacidade é condição- suficiente,
menos umavez a
sensi-biliza
nenhuma
partir
transição.
A
mas não necessária, para a ausência de bloqueios na rede.
18
Um "live-lock" é um ciclo de disparos de transições repetitivo, sem saída, não passando por
As propriedades básicas podem ser estendidas para as rdPT e rdPTE, considerandose estados
ao invés de marcações.
-
Para a determinação das propriedades básicas ê necessário construir o grafo de
estados acessíveis da rede.
rede for limitada, gerando
b.
A vivacidade e a reiniciação somente podem ser .inferidas se a
um grafo finito ("decidabi1ity")
[Brams
'
83].
A
Análise Estrutural da Rede
A estrutura da rede permite inferir parcialmente
básicas.
Sendo
insensível ao estado inicial
a respeito de suas propriedades
da rede, a análise
estrutural permite estudar seu
comportamento dinâmico sem analisar o grafo de estados.
Resultam da análise
estrutural
da rede informações sobre seqüências
funcionamento (conjuntos de transições
com execução
cíclica,
estados) e componentes conservativas (conjuntos de lugares cuja
ê constante para qualquer estado).
Assim,
uma
estrutural
as
soma ponderadade fichas
_
V
conservativa é limitado, enquanto
seqüência cíclica é potencialmente viva.
A
análise
restringe ao estudo das propriedades básicas, pois as seqüências cíclicas e
do sistema modelado.
`
Existem basicamente duas abordagens para a análise estrutural de Redes de
decomposição
da
passando pelos mesmos
componentes conservativas fornecem dados importantes sobre 0 comportamento
específico
p
não se
uma
de
_
um lugar pertencente a uma componente
transição pertencente a
cíclicas
RdP
em
sub-redes e o cálculo de invariantes.
Na
decomposição são destacadas
sub-redes com* características especiais, chamadas Máquinas de .Estado
Grafos de Eventos (GE).
Petri: a
(ME)
e
19
Em uma ME cada transição possui somente um arco de entrada e um de saída, de
peso unitário, caracterizando a conservaçao das fichas circulantes. Em um GE cada lugar
possui somente
um arco de /entrada e um de saída, de peso unitário, indicando ausência de
conflitos e comportamento
'
`
cíclico.
~
-
›
Através do cálculo de invariantes são obtidos os invariantes de lugar (IL) e de
transição (IT) da rede.
Urn IL
indica
um conjunto
de lugares no qual a soma de fichas é
constante para qualquer estado alcançável, indicando a conservação de recursos.
é
Toda ME
um IL, mas o contrário não é sempre verdadeiro.
Um IT indica um funcionamento cíclico da rede: o disparo na ordem adequada das
.
_
transições que o
ciclo.
_
compõem
faz.a rede voltar à marcação de
onde
partiu,
realizandoum
Todo GE é um IT, mas o contrário não é sempre verdadeiro.
Desta forma, ILs e
enquanto ITs e GEs
c.
.
Verificação
A
MEs
'
correspondem às componentes conservativas da rede,
às suas seqüências cíclicas
de funcionamento.
_
verificação
de
um
modelo
em RdP
busca provar que este satisfaz as
especificações de 'referência desejadas para o sistema que modela, pois
modelo
mesmo
correto sob a ótica das propriedades básicas e dos invariantes,
estando o
pode nao
representar exatamente o comportamento desejado do sistema.
'Pode-se verificar
um
modelo de várias formas. Através de simulação pode-se
observar seu comportamento, embora seja
um método
verificar asserções lógicas (axiomas) sobre seu grafo
certas seqüências dq eventos características
Os métodos de
não
exaustivo. Pode-se
também
de estados, provando a validade de
do sistema [Courtiat
verificação mais completos baseiam-se
87].
_
na noção de equivalência
entre o comportamento do modelo e o desejado na especificação do sistema. Neste caso os
eventos do sistema são classificados
em
externos,
quando sua
observada por uma entidade externa ao mesmo, ou internos, caso
ocorrê_n__ci_a__,pode
contrário...
ser
'20
Três classes de equivalência são especialmente importantes: a de linguagem, a
observacional e a forte. Todas se baseiam na comparação do modelo
com
a especificação,
estado a estado, se diferenciando na forma de interpretar os eventos internos [Bougé 88].
É importante
'
observar que, para
uma verificação
completa do modelo (usando-se
equivalência, por exemplo), é necessária a construção de seu grafo de estados, que
portanto deve ser finito e
2.2.3.
A
factível.
Avaliação de Desempenho
Medir o desempenho de
ele é eficiente
um sistema significa extrair parâmetros indicando o quanto
na realização de seu objetivo. Para talo modelo do sistema deve representar
fielmente o comportamento temporal do sistema, pois o conceito de desempenho está
intimamente ligado à noção de tempo.
n
Basicamente dois métodos são definidos para a medida de desempenho de
um
sistema a partir de RdP: por análise ou por simulação.
A -análise pode ser efetuada via RdPs estocásticas, atribuindo-se a cada transição da
rede
um tempo dedisparo
estocástico (probabilidade exponencial decrescente).
normalmente seu grafo de estados
Este método possui
el
trata-se este
Obtém-se
como um processo markoviano [Diaz 861.
uma boa base teórica (processos estocásticos)
e seus resultados
são bastante precisos, mas a possibilidade de emprego somente de atrasos estocásticos é
uma grande limitação à modelagem.
Outra forma de análise é apresentada
`
em
[Roux
851,
sobre o grafo de classes de
estados obtido da rede. Para cada classe de estados é obtido o tempo médio e sua
probabilidade de acesso, sendo descartadas as classes
dado
com
probabilidade inferior a
pm
limite.
Provendo resultados bastante precisos, este método envolve manipulações de
funções de densidade de probabilidade de forma relativamente complexa (somas, produtos
21
e integrações de funções exponenciais e normais), o que aumenta bastante seu custo de
`
implementação.
Na
V
A
V
modelo é executado de forma
avaliação via simulação,~o
sistemas tipo
interesse,
-
GPSS
como em
repetitiva,
[Schreiber 74]. Para cada simulação são extraídos os 'valores de
sendo apresentados ao
como uma média das diversas medições.
final
darede tem pouca
complexidade
depende basicamente de
um
rápido
influência-
mecanismo de
'
na eficiência do método, que
disparo das transições da rede. Este
método é bastante versátil, provendo resultados aproximados mas confiáveis.
2.2.4.
Implementação do Modelo
Duas abordagens são normalmente
modeladas
'propostas para a execução de especificações
em RdPs: a tradução ea interpretação.
~
ç
em transladar a especificação em RdP numa linguagem alvo a
ser posteriormente compilada e executada. Este_pro_cesso torna-se complexo na medida em
AÍ tradução consiste
que cresce o poder de expressão do modelo, como nas RdPs de alto nível [Cantú
A
.interpretação consiste
sensibilizadas, disparar
uma
em
90].
examinar o modelo detectandoí suas transições
delas segundo
uma
estratégia
bem
definida e atualizar a
um mecanismo independente da especificação. Este processo emprega a
especificação validada, o que elimina eventuais erros introduzidos na translação. para um
marcação, usando
código executável.
Além
disso,
sendo o mecanismo de execução independente da
especificação, torna-se bastante útil para prototipagem, evitando recompilações.
Entretanto, o principal problema relacionado à interpretação
velocidade do mecanismo. Técnicas
A
la
mais
eficiente.
como
as apresentadas
em
darede ,é a
baixa
[Cantú 90] perrnitem torná-
22
2.3.
Uso de Ambientes para RdP
Como
_
sistemas reais
normalmente levam a redes complexas, toma-se necessário o
uso de ferramentas de software para construir, validar e implementar o modelo obtido do
sistema [Diaz 87].
Este fato levou à construção de ambientes para a utilização do modelo
RdP no
projeto de sistemas. Tais ambientes auxiliam normalmente na construção e validação do
modelo, e mais recentemente-em sua implementação.
Um dos primeiros ambientes construídos para RdP foi o OGIVE [Pradin 79], no
LAAS-CNRS-France. Tratando redes
ordinárias, permite a representação
modular de
sistemas complexos pela interligação de sub-modelos. Determina as propriedades básicas
da rede,
ou de reduções
através do grafo de estados acessíveis
sucessivas
do modelo.
Determina invariantes de lugar e transição e possui uma versão simples da verificação por
equivalência de linguagem.
»
'
Outro ambiente relevante é o
_
PROTEAN
-[Billington 88],
baseado
em RdPs
numéricas. Permite a composição de redes, .para auxiliar na construçao do modelo. Suas
ferramentas de análise são baseadas sobre o grafo de estados acessíveis, permitindo
observar as propriedades gerais e estudar as seqüênciasde eventos aceitas pela rede.
Diversos outros ambientes existem, alguns deles específicos para detenninadas
aplicações,
estudo
projeto
como
crítico
protocolos de comunicação.
Em [Jensen 86] é realizado um importante
sobre características necessárias a ferramentas de software para o auxílio ao
com RdPs.
V
-
23d
2.4.
conclusão
Neste capítulo,
foi introduzido
formalmente 0 modelo
extensões, tanto a nível de temporização e probabilidade quanto
a_
RdP
e suas principais
nível de manipulação
de
'
dados.
~
Também
avaliação de
foram apresentadas técnicas de modelagem, validação, verificação e
desempenho de modelos obtidos
em RdP. A possibilidade
de automação das
técnicas apresentadas foi destacada através da descrição de ambientes para o projeto
RdP.
com
`
O próximo capítulo é dedicado à descrição do Sistema ARP e das ferramentas que
o compoe.
V
24
3.
O Ambiente ARP
O
LCMI-DEEL-UFSC deu
caracterizado por
de
uma
origem a
interface
um
sistema que reúne dentro do
Osistema construído denomina-se
um projeto homônimo
mesmo
ambiente,
homogênea, várias ferramentas para Redes de
com temporização e com temporização
ordinárias,
'
RdPs no
esforço de automatizar metodologias de validação e verificação de
Petri
extendida.
ARP (Analisador de Redes de Petri), e faz parte
(Ambiente para Redes de
Petri),
que visa a construção de
um
ambiente de auxílio à modelagem, validação, verificação e implementação de sistemas
usando RdPs a Objeto [Farines
3.1.
89].
L
\
Descrição Geral do Sistema
ARP
`
\
'
A
arquitetura do sistema
ARP
pode
ser observada
na
fig. 3.1.
Sua construção
modular permite o desenvolvimento e a rápida inserção de novas ferramentas, pois todo
acesso a dispositivos (vídeo, teclado, arquivos) estão a cargo de interfaces padrão.
25
‹
E=m ficificacao
2!??
edfi- d Petri
.
-
.
em
‹
_
-v
‹
I
_
Editor de RdP
I
.
._
'I
.
.q-_
\
.
Co piladur
Y
rn
X;
s
§_
‹+
5.
=
šf
E
'z
r ,z srli W
_
.
Intermediarla
.
.
_
›
-š
'i
i
i
firralise uiâ Grafog
Uerificacao de
finalise por.
de Plcessilzilidadfi
Equivalência
Prepriêdâdês
basicas
Êutúâatú
reduzida
if
A
vwvmfimwmnmvmir
`
`
lnuâriêmtes:
A
entrada de
uma Rede
linguagem de descrição (anexo
dados
em Pascal.
'Essa
estudo
1),
características
Proa. acessa
`
do Sistema ARP
ARP
de Petri no sistema
que emprega
uma
efetua-se através de
uma
sintaxe semelhante à descrição de
V
.
_
V
(2_.3)
do sistema ARP. Entretanto está
linguagem compatível à usada no sistema
SRPO
[Cantú
901,
em
com
de modularidade que simplificam a descrição de redes complexas. Outro
objetivo da nova linguagem é a integração do
uma linguagem
Tefišès medias
fiêtalhês de
funciúnàâ.
Êeqâ. cicliâàz
Çúnp. conzerv.
linguagem integra a versão atual
uma nova
lleserzpenho
mm~
Fig. 3.1: Arquitetura
V
fiuâliâcao de
.Sirâulacaoš
ARP ao SRPO, que passa pela definição de
de entrada compatível a ambos.
V
A descrição da rede na linguagem de entrada é posteriormente compilada na forma
de
uma
estrutura intermediária que contém a descrição da rede e que servirá
entrada das demais ferramentas.
como
26
A partir
dessa estrutura intermediária e de entradas específicas, cada ferramenta
realiza sua operação e produz
como
saída
um texto contendo os resultados obtidos.
Gerenciamento de Interface
3.1.1.
A interface
permitir
uma
do sistema com
fácil utilização.
Além
o`
usuário está baseada
disso,
em menus
e janelas, visando
pontos do programa.
vários
.
As funções de interface a dispositivos
específicos,
em
são proporcionadas telas de ajuda
(vídeo, teclado)
foram agrupadas
em
proporcionando segurança e rapidez nas alterações
caso*d_e
em módulos
migração para
outros equipamentos;
Os módulos de interface que compõem o ARP são:
-
Janelas: gerenciamento de janelas
movimentação, áreas sobrepostas.
-
na
tela
de
texto:
abertura, encerramento,
V
Texto: construção, visualização, edição e
Â
.
apagamento de textosfarmazenados
em
memória, resultantes dos módulos de análise ou de descrição de redes.
-
Arquivos: leitura e escrita de arquivos e gerenciamento de diretório.
-
Teclado: diversos tipos de menus de escolha e entrada de valores numéricos
crítica,
3.1.2.
observando os intervalos de validade: dos mesmos.
V
Estrutura Intermediária de Descrição da .Rede de Petri:
Asinformações
necessárias para caracterizar as
RdPs
apresentam, após a compilação da rede editada, sob a forma
com
'
utilizadas
deuma
no sistema se
estrutura de dados
denominada "Estrutura Intermediária de Descrição da RdP", que contém os seguintes
dados:
~
27
Topologia e dimensões da rede.
Nome da rede.
..
_
Nome dos nodos da rede (lugares e transições).
Marcaçao
inicial.
Temporização estática de cada transição (SEF'I`,SLFT).
.
Curvas de densidade de probabilidade de cada transição (tipo e coeficientes
associados).
A topologia da rede é descrita através de um conjunto de listas ençadeadas de arcos
que simula a notação matricial
I(t,p) / O(t,p).
São definidas 4
listas
encadeadas de arcos:
.Ç
PRE_TRANS
SUC__LUGAR
SUC_TRANS
PRE_LÚGAR
Nestas
listas,
[i]
[i]
[i]
[i]
:
:
:
:
arcos que precedem a transição
arcos que sucedem o lugar
pi.
arcos que sucedem a transição
arcos que precedem o lugar
ti.
pi.
cada arco corresponde à estrutura mostrada na fig.
f-í..__-_
*I
`l,
'
ti.
--l`=-
3
4
-
Êeso do arco
r=a.ns'ic.=:o associada ao arco
lugar associarlo ao amoo
_
i§¡-.
proxifio
Ê proxieâo
amo
Fig. 3.2:
ar-co
ligado a fiesâa translicêo
ligado ao
sââârâo
Arco de rede de Petri
lugar
3.2:
A seguir
Para a
és
mostrado
RdP da fig, 3.3,
as
um exemplo
figs.
3.4 e 3.5
da estrutura intermediária de descrição da
representam as estruturas de dados que descrevem
sua topologia.
Ô*
I*
tz
P2
o.:|:ä
~
~
Q
P,
R
(:%3
Fig. 3.3:
4t3
Rede de Petri
\
u
â
$`rut:_I.u§e.r
an: uma
u
é
Representação de I
(t,p)
A
o
¡______l
L
ea
rlfliflä
Pr=e_Lfié.§ar
1
~
~
:I
Sucjrans
*Í
aaa:
~
Fig. 3.4:
T
_
gl il il
_._
.__
F'
'
613 F-3
:lb
1-:
__
le)-`
-
_!_
Representação de
-L
*
Í
É
`1 Ê^Ê-flšeš
°ä`*s'í'ê*Ê_`ê
R
'Fig. 3.5:
RdP
O (t,p)
29
Esta estrutura é bastante versátil e compacta, permitindo rápido acesso a todos os
arcos ligados a um nodo, seja lugar ou transição.
'
O armazenamento dos demais dados da rede é simples, sob a forma de vetores de
_
inteiros (para
a marcação de cada lugar e a temporização de cada transição), de reais (para
os coeficientes das curvas de densidade de probabilidade dastransições) ou de strings
(para os
3.2.
nomes dos lugares
e transições).
Análise via Grafo de Acessibilidade
Esta análise busca provaras propriedades básicas da rede, através daenumeração
de todos os estados alcançáveis a partir de seu estado
a
inicial.
Este procedimento dá origem
um grafo de estados acessíveis, sobre o qual são realizadas inferências visando qa detecção
.
‹
das propriedades.
3.2.1.
Construção do Grafo de Acessibilidade
O disparo de todas as transições sensibilizadas da rede em cada estado (a partir do
estado' inicial) vai gerando novos estados até esgotar as possibilidades de disparo de
transições; isto
produz
uma árvore,
cujos
nodos são os estados alcançados, os arcos são os
um estado a outro e a raiz é o estado inicial da rede.
acessíveis em um ramo da árvore encerra ao encontrar um
disparos de transições que levam de
A pesquisa de estados
estado terminal (não sensibiliza
nenhuma
enumerado anteriormente); Agrupando-se
transição) ou
um
estado duplicado
(já
os estados duplicados daárvore obtida forma-se
então o grafo de acessibilidade da rede.
A fig. 3.6 mostra uma RdP e seu grafo de acessibilidade:
30
Q
Px
Mazzøø
_
i
~
mta mf* mt:
~
\
Hi;Q]_1
L
\-
í_._§
{í___
Fig. 3.6:
A topologia
t
e
-e
fi,_=1e1
t,
-_
n,z11a
.-
RdP e grafo de acessibilidade
da rede pode causar o crescimento do número de fichas
tomando o grafo infinito
3.7b):
(fig.
A
F:
.___.._.....'_._.__.
.‹
192
1%8
H
Hi
tm
'U ¬
°
in-‹~
1
É
_
t.
°
{
tg
t
f-
4
.
.
.
(cl
(hi
(al
Fig; 3.7:
Este problema é contornado
Rede
em
finito (figf 3.7c).
c/ crescimento de fichas
[Peterson 81] usando-se
em um lugar.
para simbolizar o crescimento de fichas
Observando o grafo da
E
1
t2
I
'
É
H
`
c
11,
-u|‹--\=
vg ›-
3.7a),
_
.
rede torna-se
e
*l
Pa
P2
-
,
E
um símbolo
especial "W"
Assim, o grafo de acessibilidade da
-
,
fig.
3.7c,
nada
se
pode
concluir a respeito das propriedades
de reiniciação ou vivacidade, devido à não limitação da rede. Por exemplo, as seqüências
de eventos abaixo são possíveis mas não estão representadas:
31
4
V
*2
*1
*3
M0:(1 0 0) -> (10 2) -> (012)-> (0
Í1
Í2
_
Í4
1 0):
bloqueio
Í2
.
Í4
_
M0:(_1
U
00)-> (102)-> (012)->
O bloqueio
(1 0
1)
-> (0
1 1)
-> (100):
M0
e a reiniciação da rede não são indicados no grafo da
proposição para contornar
tal
problema é exposta
noção de limiar de um lugar:
em
[Menasche
fig.
3.7c.
Uma
baseando-se na
821,
'
.
Limiar (p) =
Max (I (t,p)) V t G T
A marcação de lugar só recebe W se tiver crescimento de fichas e for maior que o
`
limiar
de
do
lugar.
Desta forma o grafo de estados acessíveis
melhor 0 comportamento
reflete
uma rede não limitada:
`
'
V
,
_
tl
-
.
_
*3-
t*
Há
›r‹›
ti
'
L
G 1 l
e
Fig. 3.8:
-
tê
1
â
Grafo deiacessibilidade considerando limiar
Deve-se observar que a reiniciação e a vivacidade não são decidíveis
`
.
limitadas.
Porém, o uso do
lirniar
em RdPs
não
permite detalhar melhor a evolução deste tipo de rede e
32
obter informações complementares.
.
Durante a construção do grafo é necessário comparar cada estado gerado com os
demais já enumerados, buscando duplicações. Para tornar mais rápida esta
emprega-se
uma técnica de "Hashing".
'
_
Para cada' estado gerado calcula-se
um
código, função de sua marcação e domínio
de disparos. Estados iguais possuem portanto o
diferentes
possuem
estados alcançados,
em
mesmo
código, enquanto estados
sua maioria códigos diferentes. São mantidas diversas
uma para cada código distinto.
listas
mesmo
código,
comparando somente cada
gerado. Caso não seja encontrado estado igual, inclui-se este na
Esta técnica possibilita
uma redução
significativa
um
3.2.2.
lista
dos
destescom estado
lista.”
1
no numero
/de
necessárias entre estados para a construção do grafo de acessibilidade
ordem de 50 vezes).
de
f
Partindo do código de hashing obtido para o estado gerado, percorre-se a
estados que possuem o
tarefa,
comparações
(em média da
“
A
Enumeração em Redes com Temporização
A enumeração "em RdPT toma-se mais complexa devido à inclusão dos intervalos
de disparo das transições pois, sendo a escala de tempo contínua, podemexistir
instantes de disparo para
uma
transiçao e infinitos estados sucessores,
marcação mas domínios dinâmicos
distintos. Isto
com
infinitos
a
mesma
torna impossível enumerar todos os
estados acessíveis.
'
~
Em [Menasche 85] propoe se um método enumerativo usando classe de estado, que
representa a união de todos os estados alcançáveis pelo disparo de
através da
mesma marcação
uma transição,
descritos
M e domínio dinâmico de disparo D, união dos domínios dos
estados pertencentes à classe.,
'
'
.
33
_
A classe inicial C0 contêm s_omente o estado inicial da rede, com marcação M0 e
domínio
DO composto pelos intervalos estáticos
por M0.
[SEFI`,SLFT] das transições sensibilizadas
_
A
O domínio dinâmico de disparo de uma classe de estados compõe-se de dois tipos
de equaçoes, sendo Gj o instante de disparo de
tj:
DEF1-'j _§_Gj _§_DL17fj
A matriz G indica as
C Qj
-
Qk
Gjk
relações entre os instantes de disparo de transições sensibilizadas
simultaneamente.
_
Na implementação
disparo de
uma
atual do sistema
transição tk
em uma
ARP, a classe de estados
classe
C'(M',D') gerada pelo
C(M,D) é calculada a
seguintes:
partir dashrelações
A
M' =M+()_(tk)-I(tk)
.
Vtj:
se
I (tj)
> M' então
senão
D'(tj) é
indefinido
.
se I
(tj)
>
M então
D'(tj)
= DO (tj)
SCIIHO
r
V
DEFTÍ' = Max (o,DE1='r¡ - Min (DLFr¡ vt¡))
A
DLFr¡'= DLFr¿ - DEF1"k
~
Esta forma de cálculo apresenta a vantagem da rapidez, mas não considera as
.
relações GJ-k entre transições sensibilizadas-em paralelo.
.
.
_
Ê
A simplificação no cálculo do domínio de disparo no sistema ARP visa eliminar an
necessidade de programação linear de números inteiros, que implicaria
num
custo de
34
implementação e execução elevado. Esta simplificação afeta
domínios
dos
comportamento
qualitativo
Espera-se,
A
ao
associados
das
disparo
da rede (limitação, vivacidade, reiniciação).
em *uma próxima versão do ARP,
somente os valores
paralelas,
transições
incluir as relações
cálculo de classes de estados.
3.2.3.
em geral
preservando
o
`
Gjk às equações de
'
~
Resultados Fornecidos pelo Módulo
As propriedades da rede são verificadas inspecionando-se o
grafo de acessibilidade
obtido da rede. São indicadas, 'além das propriedades básicas, as transições que
apresentam multi-sensibilização (no caso de
que levam a "dead-locks",
A
"live-locks"
RdPT e RdPTE)
ou crescimento de
e as sequências de disparos
`
fichas.
limitação da rede é observada pela não existência do valor
marcações.
"W" entre
A rede é reiniciável se o grafo de acessibilidade for fortemente conexo. Cada
transição da rede é viva se aparecer ao
conexa do grafo.
menos uma vez em cada componente fortemente
'
A
.
Cada "dead-lock" corresponde a uma componente fortemente conexa do
somente
um
estado.
Cada
"live-lock"
corresponde a
uma componente
com mais de um estado e que nao -contenha o estado inicial.
Investigadas as propriedades, são apresentadas através do
de
textos.
as
Além do
grafo,
com
fortemente conexa
.
módulo de manipulação
texto das propriedades, são construídos textos para a apresentação
do
grafo de acessibilidade obtido e das marcações ou classes de estados alcançadas.
t
O módulo implementado possui cerca de
de' dados, geração
resultados obtidos.
do grafo de
1300 linhas de código fonte para entrada
acessibilidade, teste das propriedades e escrita dos
Sua capacidade é cerca de 2000 estados (em micros de 640
kbytes).
35
3.3;
Análise Estrutural deRedes de Petri
-
Como
visto
no capítulo
anterior, são possíveis dois tipos
análise estrutural: a decomposição
invariantes, para o
modelo
em
de abordagens para a
sub-redes, para redes binárias, e
geral.
o cálculo de
_
,
A decomposição de uma RdP em sub-redes exige' um grande esforço computacional
no caso de redes complexas, por ser
um
método de busca exaustiva na rede. Possui
também a limitação de só tratar redes com arcos de peso unitário.
O cálculo de invariantes é efetuado através de métodos de álgebra linear aplicados
à matriz de incidência da RdP. Apresenta menor esforço computacional e aceitação de
redes ponderadas, fornecendo
também
escolhido para implementação no
3.3.1.
invariantes
ARP.
que não são
ME nem GE. Por. isso foi
'
-
zV
_
Cálculo de Invariantes
uma RdP pela quádrupla R: (P,T,I,O) com "m" transições,
*
e matrizide incidência C = .O - todo vetor x G Zn > 0 solução de C x “="0 é
Definida a estrutura de
'
,›
›
"n"_lugares
-I,
um 'invariante
a ponderação do lugar pj na formação do
de lugar da RdP, sendo'
'
invariante.
Todo vetor y G Zm > 0 solução de CT * y = O é um invariante de
indica o
número de disparos da transição
transições
xi
não é diretamente
calculável.
tj
_
para formar o
ciclo.
transição,
onde
yj
A seqüência de disparo das
36
a.
Obtenção da Base de Invariantes
O cálculo de invariantes de lugar compõe-se basicamente de duas etapas: cálculo de
uma
C
base linearmente independente do espaço solução de
invariantes a partir
da base
*
x = 0 e extração dos
i'
obtida.
'
Para obter a matriz base de invariantes de lugar (B), dada a matriz de incidência da
rede (C), deve-se construir uma"matriz
C
'
da seguinte forma:
c'=[cT|1]
onde
I
G Znn é a matriz identidade de ordem n. Triangulariza-se C' de modo a apresentar-
se na forma abaixo:
`
X
X
..
X
X
X
X
..
:pl
X
`
›
rank(CT)
xx..xxVxx..x:
C'=
:
:
:
:
:
00..00
:i
:':-B
,ooi..'oVo,
›-í.--í--|
r_
,
'
I1
A partição inferior esquerda é nula. A sub-matriz B é a base de invariantes de lugar.
Para o cálculo da matriz base dos invariantes de transição substitui-se
construção de
C
'.
O
processo acima é conhecido
em
CT
álgebra' linear por
por
da matriz CT.
na
obtenção do
H
"kernel"
C
_
37
b.
Extração dos Invariantes da Base
A base obtida pode conter valores positivos e negativos, mas os invariantes devem
Além
conter unicamente valores positivos, devido a sua própria definição.
combinaçao linear de invariantes também é
um
invariante; deste
modo, deverao
extraídos da base todos-os vetores positivos que representem os invariantes
rede [Colom
891.
disso,
a
ser
mínimos da
_
A extração dos invariantes da base obtida inicia-se por seu escalonamento, obtendo
um pivot positivo isolado em uma coluna para cada linha da matriz:
'
p1x..0.x..0x..0x..x
onde
pi
B=. _0_0..p2.xi..0x,..0qx..
x
oo.. oo.. oo..pq×..
X
G Z0+
invariantes
são os pivots de cada linha e x
mínimos positivos então só pode
G Z são inteiros quaisquer. A obtenção dos
ser efetuada via sobreposições
de linhas (sem
troca de sinal, devido aos pivots isolados), para o cancelamento de valores x eventualmente
negativos.
»
A
'
A seguir,
obtida consiste
“_
V
”
V
a extração propriamente dita dos invariantes mínimos a partir da base
em
efetuar todos os possíveis cancelamentos de elementos negativos da
base através de combinações lineares de suas
invariantes desejados.
Todas
linhas geradas sao incluídas
linhas,
gerando linhas positivas que são os
as possíveis opções de cancelamento são testadas, e as novas
na base.
'
-
Para evitar a explosão combinatória de linhas_definem-se duas heurísticas: o teste
de suporte e o de geradores. Define-se como suporte de
dos índices de suas colunas não nulas; Desta forma,
um vetor "v" (Sup(v))
uma nova
o conjunto
linha deve ser incluída na
base somente quando seu suporte não contiver nenhum suporte de outra linha da base.
38
Evita-se assim a inclusão de invariantes
Define-se
das linhas
não mínimos na base.
como conjunto gerador de uma
da base que a geraram. Deve-se somente combinar linhas cujos
iniciais
conjuntos geradores tenham intersecção nula, evitando que a
mesma combinação de linhas
da base seja efetuada mais de uma vez.
'
›
Estabelece-se então o seguinte algoritmo, partindo da base
'
com pivots positivos:
_
o conjunto de índices
linha»"i" (Ger(i))
Bkj: elemento
1
.
-
B
da linha k e colunaj da matriz
BLk: vetor linha
B G Zqm escalonada
da matriz B
V
Início
_
{
montar conjuntos geradores das linhas
Vi
G
[1..q] 'faça
{ para
Vj
G
Ger(i) := {i}
cada coluna da base
'
_
}
A
[1..m] faça
{ para
vir;
iniciais }
›
,A
cada combinação entre negativo e positivo
[1..q1
,|
Vk G
B¡_¡
< 0 faça
[1..q]
|
Bkj > 0 faça
{ testar
V
v
conjunto de geradores }
se Ger(i)flGer(k)
=
{ }
então
{gerar linha combinação
{ testar
se
conjunto suporte }
v w G [1..q1
{ inserir
ç
-
*
*
X Z:
}.
sup(BLw) ¢ sup(×) emâo
a nova linha na base
q:= q__+1
L.:
vBq.
x
}
V
e
39
Ger(q) := Ger(i)
U Ger(k)
fim se
lim se
fim para
B a linha BL¡
suprimir se
fim para
_
fim para
fim
3.3.2.
Exemplo de Utilização do Algorítmo
Como ilustração do processo de obtenção dos invariantes descrito, será apresentada
a obtenção dos invariantes mínimos de lugar da RdP da fig 3.9.
em
~
I
um
'13
|'I.|
La-
~i¿_-*'~
r-.
matriz de incidência
C
®“ “Q
a
t
_...-9»
~
-F
é a seguinte (os valores nulos são representados por
'
pontos):
wfi
Exemplo de Rede de Petri
Fig. 3.9:
A
U1
lñlr
-
»
z
_
40
P1 P2 P3 P4 P5 P6
tl
c(¢,p)=
12
13
t4
-11
.
1-1.
.
-1
-1
.
1
1,
._-11-1-1
.-1-111
Escalonando-se a matriz transposta aumentada
c'=
C':
-1_1..1..
.-11...1.
z
.i11..t.
"
..,11..
-1.-1..1.
-1.-1..1
Escalonando a matriz base dos invariantes obtida B:
1»
Para cancelar o *negativo
em B14 podem
ser
combinadas as linhas
6
todas possuindo geradores distintos:
I
~
I
(1,2)
`
ou
(1,3)
41
4
=B24"'BL1'B14`BL2
BL5
=1*[1..-1.-1]-.(-1)*[.1.1.1]
=[1 1....1
Sup ‹BL5› =
~
11,21
~
U czzr (BLZ) =
ser (BL5) = ser (BL1)
BL6 '=B34*BL1-B14t*BL3 =
Sup ‹BL6› =
1
_
.
.-11
1
{1,õ,õ}
~
U ser (BL3)
ser (BL6) = ser (BL1)
-Os suportes de
BL5
e
'BI-'6
P ortanto nela inseridos e suP rimido
.
`B=
[1
{1,2}
.
1
1
BL 1
.
1
1
.
.
.
.
1
~1
_
1
.
{1,3}
não contém outros suportes de linha 'da base, sendo
,
1. 1.
_.
=
cu`o
ne 8 ativo foi cancelado:
J
G‹-zf={2}
1
Ger={3}
.
Ger={4}
-.1'
.
.U
.
-1
G¢f={1,2}
Gzr={1,3}
Apróxima coluna a tratar é a 6, devido a B36 e B56:
BL6
=1*BL3-A'(-1_)*BL1=[.1.1
sup (BL6) =
{z,4,5}
ser (BL6)
ser (BL1)
1
BL7
~
=_
1
1 .]
U ser (BL3)
= {2,4}
=1*BL5-(-1)*BL1=`[1 11-1...]
Sup<BL7› = {1,2,õ,4>
ser (BL7) = Gzr(BL"1)
~
1
U ser (BL5)
=
{1,2,3}
Ã
1
~
_
42
BL6 pode
ser incluida à base, pois seu suporte
e seus geradores são distintos.
impedindo sua
inclusão.
O
suporte de
não contém o suporte de outra linha
BL7 contém
BL2
os suportes de
e BL4,
restando mais negativos na base, os invariantes mínimos de
Não
H
lugar da rede da fig. 3.9 são:
3.3.3.
`
Módulo
Resultados Fornecidos pelo
'
Além da apresentação da base de invariantes e dos invariantes mínimos
efetuados testes sobre estes;
O
teste
obtidos, são
de sub-redes indica quais invariantes de lugar são
Máquinas de Estados ou quais invariantes de transição são Grafos de Eventos.
O teste de cobertura indica quais nodos (lugares ou transições) pertenceram a todos
os invariantes e quais não pertenceram a
uma transição
seqüências
cíclicas;
caso não pertencer a
nenhum
Em particular,
em
invariante, ,a transição
todas as suas
não é
viva, e
também não oi é.
sistema
obrigatórios e
invariante obtidos.
pertencente a todos os invariantes da rede está presente
portanto a rede
O
nenhum dos
ARP
permite ao usuário a definição de
um
conjunto de nodos
um de nodos proibidos. O sistema então apresenta como resultado somente
os invariantes que passam pelos nodos obrigatórios e
que não passam
pelos nodos
proibidos indicados, permitindo ao usuário precisar as características dos invariantes que
deseja extrair.
'
'
Deve-se observar que para esta análise não consideram-se as restrições temporais
da rede, mas somente sua topologia. Portanto, alguns invariantes de transição detectados,
43
para RdPTs podem não
existir,
caso as restrições temporais o impeçam.. Os invariantes de
lugar não são afetados pela temporização da rede [Roux 85].
3.4. Verificação
A
de Equivalência de Linguagem
em
verificação de equivalência consiste
especificação do sistema se comporta de
do mesmo [Bolognesi"87b].
modo
provar que o modelo formal da
equivalente à especificação de- referência
Uma das formas de estudar a equivalência entre
pela utilizaçao de sistemas de transiçao (autômatos de estados
Classificam-se os eventos de
um
sistema
quando sua ocorrência é detectável por
uma
como
ambos passa
finitos).
visíveis (observáveis
ou
externos),
entidade externa ao mesmo, ou invisíveis
(não-observâveis ou internos) caso contrário.
V»
A equivalência entre dois sistemas de transição pode ser definida em vários níveis
-
[Bougé
88],
dos quais três são aqui destacados.
de linguagem ou de traços máximos,
O primeiro nível, denominado equivalência
'verifica-se
quando a forma rnínima das linguagens
geradas (seqüências de eventos observáveis) por ambos for igual.
'
i
Por ,outro lado temos as formas de equivalência baseadas no conceito de
bissimulação entre estados. Dois estados bissimilares
outro,
(visíveis
equivalência forte «leva
e
invisíveis),
que a de linguagem.
A
em
um ao
-
conta todos os eventos dos sistemas considerados
enquanto a observacional considera somente
[Bolognesi 87b, Bougé 88].
esta
estar aptos a simular
em termos de seqüências de eventos, levando a estados ainda bissimilares.
A
_
devem
seus'
A equivalência forte é mais restritiva que a
eventos visíveis
observacional, e
`
'
.
V
Num primeiro tempo implementou-se no sistema ARP a verificação de equivalência
de linguagem. As demais classes de equivalência serão objeto de estudos futuros.
44
3.4.1.
O Processo de Verificação de Equivalência
O processo
do autômato
finito
de verificação de equivalência de linguagem
inicia-se
de estados que representa o comportamento do modelo.
obtido a partir da construção de seu grafo de acessibilidade.
no autômato
Indicam-se
como
comportamento que se deseja verificar, e
A
eventos
Em RdP este é
.
aqueles
visíveis
relacionados
ao
em
seu
seguir transforma-se o autômato de estados finito não-determinista
"
número de
próximo passo consiste
em
Os
estados.
operações são bastante conhecidos, podendo ser encontrados
O
a obtenção
invisíveis os demais.
equivalente determinista, e minimiza-se seu
_
com
algoritmos para tais
em [Aho 86].
~
comparar o autômato determinista obtido
(representando o comportamento da implementação do sistema), e
um
autômato
finito
determinista de referência que representa a especificação do comportamento desejado
para o sistema.
'
~
_
Essa comparação
estados descrito
em [Aho
agrupar os estados de
Para
fossem
tal
ér
efetuada através do
86], pois
mesmo
algoritmo de minimização de
o processo de minimização de estados consiste
um autômato em grupos de estados equivalentes (em linguagem).
submetem-se ambos os autômatos simultaneamente ao algorítmo, como se
um autômato
único, obtendo-se então os grupos de estados equivalentes. Se cada
um
grupo de estados equivalentes obtido contiver ao menos
então ambos são equivalentes
'
l
em linguagem.
estado de cada autômato,
'
~
_
Exemplos detalhados do emprego desta técnica podem
também em [Novali 86].
3.4.2.
em
ser observados
no
cap. 4 e
~
Resultados Fornecidos pelo Módulo
A partir da definição, pelo usuário,
fornecidos
como
resultados
o
das transições da rede a considerar visíveis, são
autômato
determinista
mínimo representando Q
45
seqüenciamento entre as transiçoes
possíveis nesse autômato.
visíveis e
também os caminhos
(seqüências de disparo)
V
V
Caso também seja definida a especificação do comportamento desejado, esta é
comparada
como
autômato mínimo obtido do modelo, sendo então apresentados os
grupos de estados equivalentes entre ambos,'e a conclusão sobre sua equivalência ou não.
A verificação de equivalência de linguagem permite a observação de uma abstração
do comportamento do sistema, sendo mais
eficiente
na redução da complexidade do
modelo que as técnicas de redução de RdP usando regras
estruturais, pois as regras
redução de autômatos são mais eficazes e genéricas que as de redução de redes [Dufau
3.5.
simulação de
um
modelo
em RdP
é
uma
comportamento, especialmente quando outras formas
importante forma de verificar seu
(via equivalênc`ia,-mšpor
,
_
são factíveis devido
à'
.V
.
exemplo) não
',¡‹¿`
não-limitação da rede ou tamanho -'excessivo do grafo de
'
acessibilidade.
Í
›
Além disso, por permitir efetuar a evolução passo-a-passo de uma RdP,
torna-se
uma
importante ferramenta para a depuração
Observa-se porém que, sendo
uma
um processo
a simulação
do modelo, permitindo
compreender melhor o comportamento do sistema e suas limitações.
por
84].
Simulação de Redes de Petri
A
.
de
`
V
não-exaustivo, os resultados fornecidos
simulação são dependentes do usuário, que determina o comportamento a
`
estudar e detecta eventuais incorreções.
1
46
3.5.1.
Descrição do Simulador
O ARP possui um simulador que permite efetuar a evolução passo-a-passo de uma
RdP, provendo
No
diversas facilidades
que tornam seu uso simples e eficiente.
.
simulador construído, são apresentadas ao usuário as transições disparáveis no
estado atual (composto por sua marcação e seu domínio de disparos). Este escolhe então
uma para disparar (e define seu instante de disparo, em caso de RdPT).
Com o
como novo
disparo da transição escolhida
estado atual.
um novo
estado é criado, sendo considerado
O estado anterior é então armazenado em uma lista de estados
percorridos, possibilitando futuros retornos.
_
Pode-se alterar a marcação ou o domínio de disparos do estado atual da simulação.
Um histórico de simulaçao registra as alteraçoes efetuadas, transiçoes disparadas e estados
percorridos,
podendo
Além
nome dado
disso,
ser consultado a qualquer instante._
determinados estados de interesse
.
podem
ser
memorizados com
como estado
pelo usuário, podendo ser visualizados ou restaurados
qualquer instante.
i
um
atual a
`
O comandos disponíveis no simulador são:
-
Disparar: apresentam-se as transições_disparáveis, das quais
`
disparo.
-.
.
-
uma
é escolhida para
'
t
p
Retornar: permite retornar a
um estado anterior na lista de estados percorridos, caso
nao esteja vazia.
Editar: permite alterar a marcação ou os intervalos dinâmicos
atual.
'de
disparo do estado
›
-
Visualizar: permite observar estados da lista de estados já percorridos.
-
Memorizar: memorização de estados de
nomes dados pelo usuário.
-
I-Iistóricoíconsulta ao histórico
interesse, para retorno posterior,
'
de simulação.
usando
47
Para melhor acompanhar a simulação, apresenta-se na tela ,do simulador a
marcação do estado atual e
uma
representação resumida da
de estados percorridos,
lista
na qual são indicadas eventuais duplicações de estados ou bloqueios.
Essa representação contém ainda o
em relação
memorizado, ou sua profundidade
nome de cada
ao estado
disparada e o número de transições ainda não disparadas
3.6.
Avaliação de Desempenho
inicial,
estado percorrido,
o
nome
se
de cada transição
em cada estado.
em Redes de Petri
A avaliação de desempenho de um sistema a partir de seu modelo em RdPTE pode
ser analítica
ou baseada numa
estatística obtida
por repetidas simulações aleatórias da
rede.
A
.
Sendo a primeira -forma: bastante complexa para implementação,
o
foi
escolhida para
ARP a segunda forma de avaliação.
3.6.1.
'
Descrição Geral do Avaliador de'Desempenho
Duas opções são
possíveis
no método empregado: uma que
entre estados' e outra entre eventos (disparos de transiçoes).
Na opção
rede.
a estados, o usuário define
privilegia as
medidas
.
um estado inicial e "n" estados
destino para a
A rede evolui a partir do estado inicial até alcançar um dos estados destino, quando é
armazenado
o.
valorobtido para o tempo de acesso àquele destino.
O
estado
inicial
é
restaurado e o processo de evolução repete-se até os valores dos tempos médios de acesso
atingirem a precisão desejada.
Na opção
V
_
a eventos são determinados os eventos (transições)
rede evolui livremente a partir de seu estado
inicial.
A contagem
inicial
e destinos, e a
do tempo
inicia-se
na
48
ocorrência do evento inicial e termina na ocorrência de
armazenado o tempo de acesso obtido àquele
restaurado o estado
inicial
da rede, a
critério
um
destino. Neste
do usuário.
evento destino, quando é
momento pode ou não
O processo
repete-se
ser
como na
'
opção a estados.
`
'
Para contornar situações de bloqueio (”dead-lock”' e
critérios
para o fim de
disparadas
são definidos outros
um ciclo: nenhuma transição sensibilizada ou excesso de transições
em um ciclo.
Usando
"live-lock")
i
J
,
`
i
_
este método
podem
que permitem
ser obtidos diversos parâmetros
avaliar
um estado, atraso médio
entre eventos e probabilidade de acesso a um estado ou entre eventos. É também possível
o desempenho de
um sistema, como
extrair valores relativos aos
nodos da rede, como atraso médio de disparoe número médio
de disparos de cada transição por
Para
bem
definir
o tempo médio de acesso a
ciclo e
marcação média de cada lugar.
f
o comportamento que deseja estudar, o usuário tem acesso às
no
seguintes opçoes de entrada: marcações inicial e destinos, eventos inicial e destinos,
máximo de
disparos, precisão desejada para os resultados e definição
disparo entre transições conflitantes (ponderação de conflitos).
de probabilidade de
`
*
.
Na opção a eventos, ao ser alcançado um evento destino, a marcação inicial da rede
pode ou não ser restaurada para o início de um novo
nao restauração da marcação causa uma evoluçao
Durante a .avaliação são indicados na
acesso e o número de acessos efetuados
dos valores
3.6.2.
finais
a_
ciclo,
livre
também a critério do usuário. A
da rede.
,
tela os valores atuais
cada destino, dando
dos tempos médios de
uma visão da
ao usuário, que pode decidir sobre o término da avaliação.
convergência
'
.
O Mecanismo de Evolução da Rede
O núcleo
do módulo de avaliação de desempenho é o mecanismo de evolução da
rede, que se encarrega da determinação e disparo das transições sensibilizadas, da
49
atualização do estado da rede e da gerência do tempo.
em uma fila
Este mecanismo baseia-se
instantes
V
de transições sensibilizadas, ordenadas por
de disparo crescentes, para que a primeira transição da fila sempre seja a próxima
a disparar. Os instantes de sensibilização e disparo das transições são controlados através
de
um contador de tempo virtual, que é atualizado a cada disparo de transição.
“
Para acelerar a determinação das transições sensibilizadas define-se para cada
transição da rede
um índice de
sensibilização
transição:
_
ÍSENS
Se
ISENS, que é atualizado a cada disparo de
uma
transição
(tj)
tj
=€Í(Íj›Pk)
está sensibilizada
disparo de
uma
marcação M, seu índice de
..
.
j
transição são retiradas fichas
dessensibilizando transições, e colocadas fichas
novas transições.
em uma
M (Pk)
>
'l
$¢nzibi1izaçâq1SENSserâmúo.
No
Vpk / Í (fj›Pk)
em
de
seus lugares de entrada,
seus lugares de saída, sensibilizando
O disparo de uma transição efetua-se através dos "seguintes passos:
para que seja disparada.
-
Retira-se a primeira transição da
-
O contador de tempo virtual ê atualizado com o instante de disparo de td.
-
Cada
lugar deentrada de td
fila (td),
_
tem atualizada sua marcação e os ISENS das transições
que o têm como lugar de entrada. Caso
alguma destas transições
seja
dessensibilizada, é retirada da fila de sensibilizadas.
-
Cada
lugar de saída de td
tem atualizada sua marcação e os ISENS das transições
que o têm como lugar de entrada. Caso alguma transição seja sensibilizada, é
sorteado
um
instante de disparo para a
referente a seu instante de disparo.
mesma
e insere-se-a na
.
_
fila,
na ,posição
50
3.6.3.
Disparo de Transições
O sorteio' do
em Instantes Aleatórios
uma
instante de disparo de
estático de disparo e sua função
transiçao deve considerar seu intervalo
de densidade de probabilidade distribuída sobre esse
intervalo.
.
Para cada função de densidade de probabilidade distinta é construída (por
~
integração)
uma
curva de distribuição acumulada de probabilidade, sempre a partir da
função de densidade de probabilidade normalizada,
definida sobre 0 intervalo
com
área subjacente unitária e
[0,1].
FU)
fit)
.
F
1
fm)
íííšr
---- --r=- zmzz = 1
Í
é.
_
I
zu;
t
.
~
'
_
I
_
tê
Q
_
z
le
.
'W'
1
â
1
Fig. 3.11:
Funções de densid. e
distrib.
de probabilidade
.
1+
1
-
A
r
O sorteio do instante de disparo de uma transição, respeitando seu intervalo
função de densidade de probabilidade, passa pelos seguintes passos:
Sorteio de
V
e sua
`
um valor aleatório real com distribuição uniforme sobre o intervalo [0,1].
Ponderação deste valor através da curva de distribuição acumulada de probabilidade:
51
1
_
----------------------------------- --
Ualor_Surteado
Uniforme
S
'__..._._...____
1+
“Y
Ê
Uaior Sor-temia
Ponderâclo
Fig; 3.12:
-
Ponderação do valor aleatório
Ajuste do valor sorteado e ponderado ao intervalo de disparo estatico da transição:
----------------------------- --
1
'
Ê\
--------------- --_ ----- --
Salar âorteâdu
Ponàeraàõ
Ualnr rea! do disparo
Fig. 3.13: Ajuste
3.6.4.
do valor
--I
SLFT
P
'
`
×
aleatório
Ponderação de Conflitos
Em certas circunstâncias é interessante poder forçar uma transição a disparar mais
freqüentemente que outras
transições
em conflito com ela, fixando probabilidades de disparo entre as
em conflito.
Denomina-se grupo de conflito o conjunto de todas as transições que possuem os
mesmos
lugares de entrada (arcos de
definidos sobre o
mesmo
peso),
mesmo ponto '(SEFTk = SLFTk).
com
intervalos de disparo iguais e
Assim,_ todas as transições de
um
52
mesmo
grupo_de. conflito .são sensibilizadas simultaneamente,
disparo.
de
-
transição de
sensibilizadas),
um grupo de conflito
a próxima a disparar (primeira da
o mecanismo de evolução da rede escolhe aleatoriamente,
uma das transições de
respeitando as probabilidadesfixadas,
na fila com a primeira, e a dispara.
3.7.
seu grupo, que troca de lugar
'
_
ç
ç
Conclusão
Este capítulo apresentou o Sistema
ARP, destacando sua
cëinstmção modular e
1
.
integrada e descrevendo detalhadamente cada
análise e simulação de
_
Redes de
uma
z
das ferramentasque oferece para
`
Petri.
'
'
.
Esse sistema foidesenvolvido para equipamentos compatíveis' IBM-PC, sob sistema
operacional
DOS,
e seu código fonte em_Pascal possui cerca de 11.090 linhas. Devido às
›
limitações do equipamento, são aceitas no
~
instante de
_
Quando uma
fila
com o mesmo
1
ARP redes com até 150 lugares e 150 transições.
O próximo capítulo buscará demonstrar a utilidade do ARP, através da aplicação de
suas ferramentas as estudo de problemas ide
Automaçao Industrial e Sistemas Distribuídos.
53
Utilização das Ferramentas do Sistema
4.
ARP
Neste capítulo serão apresentados alguns exemplos da utilização doambiente
com 0
ARP,
objetivo de verificar as potencialidades de suas ferramentas para análise'
comportamento e do desempenho de sistemas modelados por Redes de
A
do
Petri.
escolha dos exemplos visou a cobertura das várias ferramentas integradas no
ambiente ARP.
Em
cada aplicação pretende-se mostrar a utilização de
uma ou
mais
ferramentas. Desta forma, para cada exemplo é apresentado o problema de análise a ser
resolvido, o estudo realizado
deste.
em termos de modelagem e análise do sistema e os resultados
'
r
_
Os exemplos
escolhidos são ligados a problemas reais dentro das áreas de interesse
do LCMI-EEL: Automação Industrial e Sistemas Informáticos Distribuídos. Entretanto a
aplicaçao das ferramentas
do ambiente
n¿ao se restringe
problemas que possam ser modelados via Redes de
4.1.
Uso do Ambiente
ARP
,
Petri.
na' Verificação
ao-Protocolo de Comunicação
MMS
a estas áreas, abrangendo outros
_
do Comportamento: Aplicação
'
Q exemplo proposto visa apresentar o uso do Ambiente ARP para a verificação do
comportamento da parte do protocolo
que trata da execução ou cancelamento de
um serviço, no caso dos sewiçoslconfirmados.
Do uso da ferramenta de verificação sobre o modelo RdP deste protocolo concluir.
se-á_
a respeito da adequação da especificação da parte analisada do protocolo
relação ao comportamento desejado descrito na
modificações deste.
i
norma [ISO
9506],
MMS em
bem como de eventuais
'
54
4.1.1.
Descrição da Aplicação
A
_
(MMS, [ISO
Especificação de. Mensagens da Manufatura
protocolopara a camada aplicação do padrão
MAP, que
entre equipamentos programáveis heterogêneos
em ambientes industriais.
A
execução de
um
serviço
MMS
baseia-se
conexão entre a entidade que requisita o
A
permite a troca de mensagens
'
no prévio estabelecimento de
mesmo
um
9506]), define
uma
e a que responde
(requisítor)
(respondedor). Neste exemplo estudar-se-á a interação entre estas entidades durante a
um serviço MMS confirmado.
Uma conexão entre dois usuários MMS,
execução de
vista
.
um serviço
tratando
da seguinte forma:
t
xlndicatinn
i
xflsquest
x€x.›nfir‹râ
W
‹
l~l-'Í
.
_
l
“H
L ----------- --¬!---I+-- Çunfir+se‹í_Request_Pl§äI ---rf!--J
I
Requisitar
x`_Confim1
x_`Indication
x__Response
:
:
:
serviço
~~~~~~~~~~~ -- 1 1 u
1......
Respandedor
šeio de corâtznicâcan
Fig. 4.1: Serviço
As primitivas do
L
I
_
L~~<-zeââêâââszâ*.ââââêtâflL¬~
x_Request
¡
_
'
ítplicâcan"
i
_
xšesrsnse
~
llsr¿âri‹.:s_
z
.
_
corifirmadoflipode ser
MMS confirmado
'
MMS confirmado são:
pedido de execução do serviço X.
.
indicação de aceite (x_Con_firm +) ou recusa (x_C0nfirm-) do serviço X.
indicação de
_
um pedido de serviço X.
:aceite (x_Response+) ou recusa (x_Response-) de execução do serviço X.
'
55
As PDUs
("Protocol
Confirmed_Request
:
Confirmed_Response
:
Confirmed_Error
:
Data Units") trocadas entre entidades do protocolo significam:
pedido de serviço confirmado.
indicação de aceite.
indicação de recusa.
O cancelamento de um pedido de serviço confirmado comporta-se do mesmo modo,
Cancel_Confirm+ e Cancel_Confirm-, e das PDUs
através das primitivas Cancel_Request,
Cancel_Request_PD U, Cancel_Response_PDU e Cancel_Error_PDU:
Cancel lnziication Câncelišespúnse
Cancellšê-gfuc-st Ca.ncelConl`irn
-_~h-
|.,¡___.__
-
I'
11111111 111
L"
I
Êêfqâiisitor
Fig. 4.2:
Í
-1
Usuarios
G;-1
1
icacao
-11n----
I-
Cancel_Request_P!*il
Cancel
l-Íespr-nse
-
-¬-- -------------Í
PRU
Cancel__Err~1:‹r_P5U
Meio de comunicacao
1.....
-- 1
Eespanrledcr
Cancelamento de pedido de serviço MMS confirmado
Será aqui estudado o comportamento no caso de pedido de cancelamento por parte
do
requisitor.
Para
tal
será construído
um
modelo do protocolo
em RdP,
a partir dos
modelos das entidades e dos meios de comunicação.
A
descrição do protocolo, incluindo as máquinas de estados das entidades, é
encontrada na norma [ISO 9506].
4.1.2.
Modelagem das Entidades
MMS em Redes de Petri
A construção do modelo de um protocolo de comunicação segue uma metodologia
bem
definida. Seguindo o princípio de estruturação de protocolos
1
em
camadas, definido
56
pelo modelo de referência da ISO, cada camada (N) fornece
(N+ 1)
através de funçoes realizadas
emseu
(N-1) [Courtiat 87].
interior
um
serviço (N) à
camada
usando serviços da camada-inferior
ç
A fig. 4.3 representaa forma geral 'de uma camada (N) de um protocolo:
Servico
Servico (N)
(Lâêââda (ll+l)
fi
(li)
¿
Casada (N)
5
z
zt
`
Entidàäcfi }¿`ÍÍ1
P¡`ʧ°)'°°l°í
tieio
de Comunicacao
'
Fig. 4.3:
*ii
Entida‹leB
¡
Modelo de protocolo em camadas
A partir do modelo em RdP de cada entidade e do meio de comunicação, construirse-á o modelo global do protocolo no caso do serviço MMS confirmado.
a.
Requisitar do Serviço
O
modelo do
norma [ISO
requisitor do- serviço,
9506], é apresentado
indicações de envio
(!)
na
baseado na máquina de estados. indicada na
fig. 4.4.
A cada transição
do modelo são associadas
e recepção (?) de mensagens (primitivas de serviço
sl: ?
x_Request / Conflrmed_Request_PDU
sz: ?
Confirmed_Response_PDU / !x_Confirm +
S3: ?
C0nfim1ed_Error_PDU/ !x_Confirm-
s4: ?
Cancel_Request / Cancel_Request_PDU
ss: ?
Cancel_ErTor_PDU / Cancel_Confirm-
!
!
!
ç
ou PDUs):
só: ?
-!
CanceI_Response_PDU & Confirmed_Enor_PDU /
& x_Conflrm-
Cancel_Confirm +
V
|‹
`
®
1
l
›
523»
Y
'
'I'
«__
5,
--mas
Ú
ll
«-
lƒl
'í
.›
Req_ldle
U3
rn.
*S
v_P_end_Req
*U"'
agf..
ppm»-1
..._
n-'nuns
“JL
U!
___...-._p..
L
11»
Canceljeq
n
mlk.
__|«»-
m
Modelo do requisitor
Fig. 4.4:
Para simplicidade do modelo, os eventos S2 e s3 foram reunidas
em um
unico
evento S23, cuja ocorrência é modelada pelas transições s23A e s23B.
Respondedor do Serviço
b.
O modelo do respondedor é apresentado na fig. 4.5, cujas transições correspondem
aos seguintes eventos:
Íll ?
'
-
Confirmed_Request__PDU /
~
!'x_Indication
?x_Response+ / Confirmed_Response_PDU
t2.
!
ts ?x_Response- / C0nfirmed_Error_PDU
l
!
.t4
?
_Cancel_Request_PDU / Cancel_Indication
!
ts ? Cancel_Resp0nse_- /
_
ÍÕI ?
!
Cancel_Response+
!
Cancel_Error_PDU
& x_Response- /
Cancel_Resp0nse_PD_U
& C0nĒrmed_Enor_PDU
,
?
Í"-®`¬
Uaziu¡
m m
5%
ConfimedRequestPDU i
_
_
?
CancelRequestPDU
i
i
›Q
no veio
'
21
Cancelfie *IU estPI>U no
Fig. 4.6:
No
(Ionfir-:âedY:equestPDU
Í
__
Ê
Cunfi2¬-HedI_%eque5,tPDU
5:;
~
q
q
q z=-
Cance1RequestPI>U
9
sem
Meio no sentido requisitor-respondedor
fluem
sentido respondedor-requisitor
as-
PDUs Confirmed_Response_PDU
Confim1ed_Error_PDU, Cancel_Response_PDU e Cancel_Error_PDU. As duas primeiras
uma
serão consideradas
requisitor e
só,
devido às uniões de eventos s23 e't23, nos modelos do
do respondedor:
'
-
“
Uazioz
~
É
É
m
í-›o¬fi%¬
V
(laafir#.e‹íP1esponsePBU
m
C-ânce1ResponsePDU
è P 3°
.'.-
!Cance1En¬urPi1!J
É
i
V
Em
®
pu
Â
1
? Confir.~‹:ê;BesparzsêPÉ*§.!
i
i
P,*il
xRêspon5ePI2ä
HD ëêlü
P":
'I
m
(La:melF§esponsePIi×U
..;;1|_._.......
Í'
(larzcê-iEx¬r‹›r=PB%1
ysx
.|
_
...._.._..‹...__...¬_
no seis
~‹
É
Cê.ncê1Er=r'-cú*FÊâ§
Fig. 4.7:
..__...-..
.
na saiu
Meio no sentido respondedor-requisitor
60
e
PDUS,
O modelo global é construído por fusão das transições
entre as entidades e os meios de comunicação (a transição plz é duplicada, devido
à existência das transições s23A e s23B).
Requisitor
S1
+
É efetuada a fusão entre as seguintes transições:
Respondedor
_
+
<l11
<l12
+ P11
S23A + P12
52313
+ P12
+
S4
+
<121
+ P31
S5
+ P32
+ P21
¬Só “+P22
4.1.3.
de emissão e recepção das
(122
'
,
Análise do Modelo Global
A análise do modelo global obtido para a parte do protocolo _MMS
serviços confirmados busca'
comportamento com
F-.._xF.
que
trata .dos
comprovar sua correta construção e a equivalênciadet seu
as especificações constantes
na norma, que guiaram a modelagem.
Esta verificação garantiria a correção do modelo' da implementação.
a.
Validação do Modelo Global Obtido
Analisando o modelo obtido através do módulo de análise via construçãoí do grafo
de acessibilidade do
ARP constata-se um bloqueio, observado no grafo de estados obtido:
61
se â
t
te
0
°
5:
ã
ti
A
~
Fig. 4.8:
,-/`
S*
~
-^
V
0
ff
Sê
t,
i
*
_
I
-
52'?
Grafo de estados do modelo global
marcação na qual ocorre o bloqueio é M8: {Req_Idle, Rsp_Idle, ,Vazio2,
CancelRequestPDU}, que pode
ser alcançada pela seqüência
de disparos
{s1, tl, S4, t23,
s23B}. -O pedido de cancelamento Cancel_Request_PDU, não recebido pelo respondedor
(esta situação é geralmente
impede o
requisitor de utilizar o
bloqueando 0 sistema [Pinho
O
denominada "recepção não especificada" [Courtiat
ítem
6.4
Cancel_Request_PDU
da
meio de comunicação para
um novo
V
~
_
norma [ISO
a
pedido de serviço,
'
88].
referente
871),
um pedido
de
um
desconhecido, o respondedor deve enviar
uma
9506]
indica
que
Cancel_Error_PDU ao emissor do pedido de cancelamento.
O
"na
recepção
usuário do serviço
nao é
infomiado sobre o ocorrido". Portanto deveria ser incluído à especificação e ao modelo do
respondedor
.
um novo evento possível t7:
t7: ?
4
CancelRequest_PDU / Cancel_Error_PDU
!
62
Uazio
tv
ã
Ua1io_
Resäonder
l
.
l+
le
‹_l
H
te
I
Ita
1
I
t,
txt
SLMIE
CancelErrorPDU
no-Heio
I
I
flçâlšy
¿
:Í
ÇancelHequestPDU
no nexo
Fig. 4.9: Alteração
Caso o comportamento do
no modelo do respondedor
requisitor
não
seja redefinido, o
mesmo problema
ocorrerá pela recepção não especificada de Cancel_Error_PDU. Segundo o ítem 6.3.11 de
[ISO 9506]:
"se
após o pedido de cancelamento
uma Confirmed_Error_PDU ou uma
Confirmed_Response_PDU for recebida, o cancelamento
uma .Cancel_Error_PDU .deve
requisitor
ser recebida".
é considerado
como tendo falhado
Desta forma, a especificação e o modelo do
devem incluir um novo evento s7:
s7: ?
e
.
Cancel_Error_PDU
Uazxoz
A
~
`````` de
l___% Rê
_
_
'z
1
stsr
lille
5: '51 '52
1%?
Câm:êlErro1¬P§U
no :àeio
`
V
.
P_
Lme
'ss
Fig. 4.10: Alteração
no modelo do
requisitor
Analisando-se o modelo global modificado do protocolo, através do
se
que possui as propriedades
básicas, (limitação, vivacidade
portanto elirninado 0 bloqueio anteriormente observado.
ea
ARP,
observa-
reiniciação) estando
63
b. Verificação
do Modelo Global
A observação das propriedades básicas não implica na correção do comportamento
do modelo frente às especificações de referência. Esta correção pode ser verificada através
do módulo de verificação de equivalência de linguagem do ARP.
'
Para a verificação do_ comportamento do requisitor, são considerados
somente os eventos relacionados às primitivas doserviço que fornece
global modificado.
no modelo
Obtém-se então o autômato de estados que representa seu
comportamento e verifica-se sua equivalência com a
O
(sl a só),
visíveis
especificação.
autômato de estados obtido pelo módulo de verificação de equivalência de
linguagem do ARP' para o requisitor é indicado na
na norma [ISO
fig.
4.11, e coincide
com o apresentado
9506]:
'
5221
to
t
'
fé
'
`
Szsâ
Fig. 4.11:
ç®ë
'
~
sa.-
55
Autômato do requisitor
Parao respondedor (eventos visíveis:
estados,
çi
tl
também coincindindo com o desejado:
a t6), o -ARP obtém o seguinte autômato de
V
(S4
0
ta
F
4
1
ë
<
ts
tas
Fig. 4.12:
Da verificação
ta
_
i
Autômato do respondedor
acima efetuada pode-se Concluir que o modelo global do protocolo
(modificado) executa corretamente o serviço conforme especificado. As modificações
efetuadas no modelo global para sua correção foram baseadas no texto da
9506], o
que indica inconsistências entre seu texto e as máquinas de estados que apresenta,
usadas para a construção dos modelos
4.1.4.
norma [ISO
iniciais
das entidades.
Conclusões
Este exemplo buscou mostrar a utilização de ferramentas do
ARP na verificação de
uma parte do protocolo MMS, que trata dos serviços co_n_firmados.
'Demonstrou-se que a verificação de equivalência de linguagem é
uma
ferramenta
importante, pois permite destacar o comportamento de cada entidade do comportamento
global do
modelo e compará-lo com a especificação. Desta forma garante-se a correção do
modelo da implementação obtido a partir da descrição fornecida na norma.
Do
exemplo pode-se também destacar
uma
metodologia para a abordagem da
verificação de protocolos, que consiste das seguintes etapas:
-
Modelagem de cada entidade
valídando
os
'do
`
protocolo (incluindo os meios de comunicação),
modelos obtidos via grafo de acessibilidade
e
verificando
a
65
conformidade dos grafos de estados gerados para cada entidade com o respectiva
especificação.
-
-
Construção, a partir dos modelos das entidades e do meio, de
protocolo, utilizando por exemplo a fusão de transições
~
um modelo global do
como meio de interação
entre os modelos.
-
Validação do modelo global, detectando comportamentos anômalos, e modificações
nos modelos das entidades, baseadas na análise do modelo global.
-
Verificação do comportamento descrito pelo
protocolo,
do ponto de
serviço (visto
4.2.
vista
A
_
p
modelo global que representa 0
de sua conformidade com a especificação do
mesmo
da camada superior).
`
Uso do Ambiente ARPina Avaliação de Desempenho: Aplicação ao
Serviço de Troca de
Mensagens com Reconhecimento do Protocolo de
Instrumentação Fabril FIP
Este exemplo busca demonstrar a potencialidade da ferramenta de avaliação de
desempenho do ambiente ARP. Para
tal
será
medida a
eficiência
mensagens com reconhecimento do protocolo de instrumentação
do serviço de troca de
fabril
FIP [FIP
87],
em
um meio de comunicação com perdas.
Será estudada a eficiência do serviço provido pelo protocolo para vários_ níveis
diferentes de 'perdas no meio, considerando
entre as diversas estações do sistema.
também
as diferentes disposições relativas
_
66
4.2.1.
Descrição da Aplicação
A comunicação de dados em controle digital de processos, nos níveis inferiores de
_
uma
planta de fabricação, evolui na direção do_ uso de redes locais interconectando os
equipamentos, como sensores, atuadores,
velocidade (Field-Bus).
_
de barramentos
etc, através
seriais
de
alta
V
-
O protocolo FIP (Factory Instrumentation Protocol) é uma das propostas de Field-
bus, hoje sendo analisadas pelos órgaos de normalização internacionais (ISA, IEC), para
poder se tornar um padrão. Ele se baseia na difusão de 'dados entre estações produtoras e
consumidoras
destes, via
rede de comunicação [FIP
E
87].
Existem no FIP três tipos de estações: o árbitro (único), que controla o acesso ao
barramento das demais estações; a produtora, que difunde seus dados a pedido do árbitro
e a consumidora, que recebe os dados difundidos.
Este exemplo visa avaliar
_a
eficiência
“
do serviço
SDA
(troca
de mensagem com
reconhecimento) do FIP considerando o meio de comunicação como tendo perdas
A eficiência será medida em função
do percentual de 'perdas
efetivas de
físicas.
mensagem no
meio e do número máximo de retransmissões permitidas pelo árbitro de barramento.
Serão apresentadas ao
atendidos)
em função
final curvas estimanido as
das perdas
físicas
perdas médias
finais
(pedidos não
edovnúmero de retransmissões. Este estudo
será
realizado para os vários casos correspondentes às diferentes disposições relativas entre as
estações (árbitro, produtor e consumidor).
a.
Descrição do Serviço
No FIP
SDA do FIP
cada estação
«se
comunica com as demais buscandovalores de variáveis
oriundas dos dispositivos monitorados ou controlados. Essa comunicação é coordenada
pelo árbitro de barramento, que possui o seguinte ciclo global de funcionamento (macroeiel9)¡
67
Atualização cíclica (ou periódica) de variáveis.
-
Atualização de variáveis requisitadas, de forma acíclica (ou aperiódica).
-
Troca de mensagens requisitadas.
Cada etapa do macro-ciclo
'
~
possui
uma janela
de tempo respectiva,
com duração
definida na configuraçao do sistema:
‹ä--
Janela cíclica
-% ê-
Janela acíclica -Ê É- Janela de
lj_)!lÍ1_UJll!IšlíLUlliUllLllllll
êerâsâgens
l
Hlllil
E
äêcre ciclo
serviço
SDA
troca cíclica de dados,
(troca de
com um
mensagem com
išiililllllll
ll
i-í-í--F-1
Fig. 4.13: Macro-ciclo
O
'll
-le;
.É
do FIP
reconhecimento)_inicia-(se na janela de
pedido de envio de mensagem pelo produtor da mesma.
Este pedido é armazenado pelo árbitro e atendido posteriormente na janela de mensagens
(fase
MA) pelos seguintes passos:
A
-
_
Envio do quadro ID_MS G pelo
_
árbitro, identificando
o produtor da mensagem.
-
Recepção do ID_MSG pelo produtor e todos os consumidores possíveis.
Envio do quadro RP_MSG_ACK pelo produtor, com a mensagem e seu destino.
Recepção de RP_MSG_ACK pelo
Envio do quadro
árbitro e pelos consumidores.
RP_ACK (reconhecimento) pelo consumidor destino.
Recepção de RP_A CK pelo
árbitro e pelo produtor
Caso o reconhecimento (RP_ACK) não chegue ao
este retransmite o
_
mesmo ID_MSG
da mensagem.
árbitro,
por
um motivo qualquer,
para repetir todas as etapas acima, na tentativa de
68
assegurar a troca de mensagem.
na norma, devendo
_
O
O número máximo de retransmissões nmax não
é fixado
ser escolhido pelo projetista.
comportamento das estações
(árbitro, consurnidor, produtor) é descrito pelos
autômatos de estado apresentados na norma [FIP 87] e na fig 4.14:
2 P.P_âziz
T
i
Arbitro
ea repnuso
.,,¬
.
9
Espera
ID_H5g
`i`.I`0
RP_Hsg_Rcl‹
P.P_ficl:
.
_
tina-out
'
n :: n+1
'
i
Í
ID ässi
Ê
Í
n ) nl”,
'"^
__
'
tuâe-out
Rfínta
c-
vans.
w›_zzz<
il?
ip
Prflcessa
?l§_l%5g
Prmlutor
_ea
`
Espera
'
Wit.
n :I B
,
'_'
RP_li5g_Acl‹
=
á
RU*
?
(emu
rê1:=flu5o
~
Í
ID_ä;-75
Espera
!VRP_ã5§_í¡ck
'
'
EI-`_fick
f
(quadro incnrre to)
er-ro
Produter
,
I
tiáe-out
zmm
s
l
V
Consuiâiéar
? lD_l~*ég
en repouso
_
.
? RP_F5§_§ck
.
_'
43% 'Wi
-Prrocessa
É
l¡!P_Hsg_Ilck
.
l
Fig. 4.14:
considerado somente
Espera
RP_Fl5g_flcl4
tiras-out
Í
Podem ocorrer
=
Cnnsuni Mu
n
Comportamento das estações FIP
três disposições distintas entre as estações
no barramento, caso seja
um produtor e um consumidor, que é o› caso deste exemplo:
69
~
ÉÉ
13*
~
Dispusicao QFC
Disposicao MIP
Dispnsicao PRC
Fig. 4.15 Disposições entre as estações
:
b.
Definição dos Time-Outs
do FIP
'
Abaixo d e f'mem-se os time-outs relevantes a este estudo.
propagação entre as estações
TXY
é o atraso de
X e Y, e Tret o tempo de resposta de cada estação.
Tm: permite ao árbitro a detecção da não recepção de uma resposta:
=>
+ Tret +
Tot >
...q¡||__
11
I
pm 11 'rw
TH
ae
ârzizizz
111 11111111 1
I
1u11 111I11
111111111111
É
'
1
É
I-il
. Hs
:1
_.-|p›
ftä :fl
11:
1»‹-1-›‹›
1::1~1;;1
1:1-'-‹::
D-1
'T5
-rf-O
›_.
O
'¶
¿
Tan*
lr-ec›:-pcào
produtor
pelo
Fig. 4.16: Cálculo
_
I
I
1
_¡_
TÉT
_....._..T.
T 1.
Tot > Tret.+
Í
Tm
¿
lezwio pela
de Tot
1
L
7
t
%r=êcepsào pela
ax*-bi
tm
_
_
t
permlte a estaçao produtora-consumidora a detecção da não recepção deçuma
_
ICSPOSÍEII
-
V
fe:
+TPc =>T'>T
rem* TAP+TPc'TAc
1
70
A
envio pelo
larln tm
r-iír
recepcgâo pelo
fin de T
lconsum dor
TM
-----------------------
--1
Ti
kt
...___
Tm
_-p-
l
envio pelo
Tur
irecepcao pelo
pmdutor
arbxtr-o
p
Í
*_
I
I
Trc
fenuio pelo
produtor
Fig. 4.17: Cálculo de
irecepcgw pelo
consumdor
T1
Para este exemplo, arbitra-se Tret = 15 uS e os seguintes atrasos de propagação,
para cada disposição, obtendo-se os respectivos time-outs (valores
TAC:
ACP! TAC= 2 TPC= 3 TAP:
PAczTAP= 2 TAC= 3 TPC=_
APCITAP=
2
3
5 ->
T0t>
19
em uS):
T1)
V
15
-> T0tv> 25 T1>. 21
5 ->
T0,> 19 r1> 19
Adotar-se-á Totz 30 uS e T1: 25 uS, para satisfazer as condições das três disposições.
4.2.2.
“
que as
Modelagem da Fase MA do
Serviço SDA_
Serão modeladas isoladamente as estaões P artici antes e o meio de comunica ão
interliga. Considerar-se-á
simplificação do
Ao
'final
modelo e da
somente o atendimento a
avaliação.
será construído
um
um pedido
de mensagem, para
-
modelo global para cada disposição entre
estações,
pela interligação de forma adequada entre os modelos das estações e os meios de
comunicação.
`
71
a.
Árbitro de Barramento
O modelo proposto para o árbitro, a ser utilizado neste estudo, inclui o mecanismo
normal de transmissão e recepção de quadros,
um mecanismo
O valor "nmax"
e detecção de recepção não especificada (erro grave).
máximo de
O
retransmissões permitidas.
retransmissões possíveis dentro do
estado
de retransmissão, time-outs
define o
número
o fim das transmissões e
"final" indica
mesmo ID_MSG:
i
'
'P'
E
O
n-4
E
fz
"lI"
›-1.
O
Ú
É
ê
? EP_RCK
'W'
Tefiiãtivií
flfiáx
1
em
.-0
V'-§Il2Sfl'!V
|-¬›-‹
_m
›._.u..r›
Fig. 4.18:
.q
Cl!
Efetuâdâs
n
>Orm;
ê:P_â‹:ê:
V
_
ff
.-
Egg
tl
íëpéfzzzfiziz š?
_
f.|>
b.
*CL
fi
'
_-zw.
:I
2 ›1âr_ëêz__âcx
Eêrêrâësg
ÊEYEÊÊG
Iârz[Ter]
Errsâraue
_;
Efêsiste
ilefl
HÊÉ
.
Modelo do árbitro em RdPT
Produtor / Consumidor
Os modelos do produtor
e do consumidor são apresentados nas
figs.
respectivamente:
Hr
'
sf;r_âê‹â_ecx
..
Tifiê-out [Til
I
~
I
f
.
.__,...@)..,__.
_
fiâëêaso
vi
Prâcessalfi
if_.,=
"”'_1
-
__ _,
Ezyâraâski
u
Fig, 4.19:
Modelo do produtor em RdPT
P»câck
?
EF_âCH
4.19 e 4.20,
Í722
0
‹_
Espemñsg ?RP_HSG_fiCK
?ID MSG
_
*I
Repouso
*I
Pmcessañsg
A
l
Fig. 4.20:
c.
O
ÊRPJCH
el
[T¡¡_l
^
rim-out nz]
Modelo do consumidor em RdPT
Meio de Comunicação
O
meio é 0 responsável pela interação entre
as estações
circulam os quadros que definem o serviço.
Como
do sistema, no qual
,
f
serão respeitados os time-outs definidos para cada estação, e será modelada
somente 0 atendimento a
um
único pedido de mensagem, não há necessidade de
representar 0 controle de fluxo e a detecção de colisão nesta
modelagem dos meios de
comunicação. Somente será modelada a perda de quadro, de interesse para este exemplo:
X
M
11.
Fig. 4.21:
'
“
xiii
Modelo do meio de comunicação
TX representa a transferência de informação,
ser repetido
X.
T, [T_l
e
PX sua perda.
para cada quadro circulante entre as estações.
as estações é efetuado
da seguinte forma:
'
O modelo acima deve
O acoplamento entre o meio e
73
n›
"¬
...J
iãfin
...
>C
rx
x,
UP1
4
1.-....
gi;
Fig. 4.22:
4.2.3.
Avaliação de
*Q
'
xa
n*,1
~
..._
~`›
>€
¡__.....
_
Acoplamento entre estações
Desempenho do
Serviço
Para a consideração dos percentuais de perdas no meio de comunicação, atribuirse-á a cada conflito PX-TX
10%,
Oe2.
uma
probabilidade de disparo (Pf) para PX variando entre 0 e
em relação a TX. O número máximo de retransmissões
(nmax) será considerado entre
n
~
_
Como evento inicial de cada avaliação será definida a transição EnvID do árbitro,
como
destino único a transição
RecAck do produtor, indicando o sucesso da execução do
de avaliação improdutivos (não alcançando este destino) serão considerados
serviço. Ciclos
execuções' fracassadas.
V
médias
As
avaliações serão efetuadas
finais.
A
~
medindo o percentual de
ciclos
improdutivos (perdas
Pmed) para cada combinação Pf versus nmax e para cada
entre estações.
As
e
disposição relativa
'
_
curvas resultantes das avaliações estão apresentadas nos gráficos a seguir (figs
4.23 a 4.26).
O último gráfico (fig 4.26) apresenta uma média dos valores obtidos para cada
disposição entre estações, indicando o
desempenho médio do protocolo. Para cada
avaliação (ponto do gráfico) foram realizados cerca de 1000 ciclos de avaliação.
74
50
Pmed 1
_
_-
Pmed 1
so'
Á
¡°.
Nmax= O //Êfnmaxa
2
Qv
(~
*_
max:
20.
v
10
.
0°
2
s
4
Fig. 4.23: Disposição
Pmzú
S0
'z
\
Nmaxfl
to
'
Pf 1
:Ia
ACP
fo
i
\
\
Nmax= O
N|nax=
l
\\
//
.\
0
4
2
4
Fig. 4.25: Disposição
4.2.4.
_
Pf 1
a
s
-
"J
APC
4
Pmed Z
50
.
*O
Nmaxz
3°
p/í////ƒšušišgí/:1:::::::::Í
..
.2°¬
9/,1z×/zzf/×zz¿
J//////;;;i;;;:í::::£ššší:/il
s
s
2,/
2
10
2
1
Fig. 4.2_4:¿Disposição
2
10
o
M//X.
/f
~
-
p
fz
za
'
^
o
PAC
'‹-
z
,
s
_a
Fig. 4.24: Valores
rf:
fo
Médios
Conclusões
Em todas as curvas obtidas para o exemplo estudado observa-se um percentual de
perdas finais
Pmed maior que
retransmissões. Isto se deve
execução do serviço.
o de perdas
em parte
físicas
Pf,
mesmo
utilizando-se
de
ao grande número de quadros que circulam para a
75
Ao contrário das demais disposições, observa-se uma baixa eficiência do mecanismo
de retransmissão na disposição
disposição
APC
(fig.
4.24),
ACP
(fig. 4.23).
Sua maior eficiência é observada na
que é a menos afetada pelas perdas
físicas
comportamento deve-se aos trajetos a serem realizados pelas diversas
do meio. Esse
PDUS do protocolo.
Um estudo mais profundo sobre 0 desempenho do FIP (e de outras propostas ao
padrão Field-Bus), também utilizando o Sistema
ARP, pode
M
p
O módulo de avaliação de desempenho do ARP mostra-se útil no levantamento de
R
curvas de desempenho, que
podem
complexidade do sistema modelado.
É
ser de difícil obtenção
analítica,
conforme a
'
'
-
i
.
importante a correta fixação dos estados ou eventos que irão delimitar a
avaliação (origem e destinos), que
devem
identificar
completamente o comportamento
estudo. Para a determinação de tais estados ou eventos
pode
serautilizada
.a
em
análise via
"
grafo de acessibilidade ou a simulação.
Uso do Ambiente ARP na Análise Estrutural de Redes de Petri: Aplicação
à Otimização de Sistemas de Manufatura Flexível
Este exemplo visa demonstrar a capacidade do Ambiente
estrutural de
Redes de
Para
Petri.
sistema flexível de manufatura
A
sistema,
será
em
'
[Aguiar 89].
4.3.
encontrado
ser
tal
ARP
para a análise
será estudado o problema de otimização de
um
com seqüências de fabricação pré-determinadas.
otimização consistirá na maximização davelocidade de processamentodo
com minimização do
estoque sob processo.
A análise estrutural de Redes de_Petri
empregada na validação do modelo obtido para o sistema e-na determinação dos
ciclos
de funcionamento do mesmo, informação necessária ao método de otimização
proposto.
V
`
_
76
4.3.1.
Descrição da Aplicação
Um sistema de manufatura flexível
medem
que processam, transportam e
CNC,
'
esteiras, etc.
Em
geral,
(FMS)
consiste
peças de diferentes
de
um
tipos,
conjunto de máquinas
como
'
_
em um FMS
as peças são processadas seguindo
em
determinada. Cada peça tem etapas de processamento
receber distintas peças para processar.
uma
objetivo deste
um FMS
"gargalo" (aquela
que podem
Um FMS é dito de alimentaçao periódica (SMAP)
exemplo é otimizar o comportamento
distribuindo pallets
seqüência pré-
várias máquinas,
quando uma seqüência fixa de peças 0 alimenta, ciclicamente [Cury 901.
O
robôs, máquinas
no mesmo, ,forçando a plena
'
.
em regime permanente
utilização de
de
uma máquina
que limita a velocidade de produção, por ser mais lenta ou mais
O método de otimização aqui descrito é apresentadoicom detalhes em [I-Iillion
atarefada).
i
891.
Satisfazendo-se essa condição obtém-se a
máxima taxa de produtividade do sistema.
Deve-se considerar ainda a redução do número de pallets envolvidos no processo,
minimizando o estoque
4.3.2.
em processamento.
Modelagem de um
O
SMAP
sistema a ser estudado (extraído de [Cury 90]) é formado por 2 máquinas
(m1,m2) que processam 3
tipos
de peças
fabricação (seqüência de máquinas a utilizar,
definem
-'
`
uma tarefa:
(p1,p2',p3).
com
Cada peça
respectivos
e seu processo de
tempos de processamento)
l
`
'
'
_
`
_
P11(m1/3›fHz/5)
Pz¡(H1z/Õ›m1/4)
P32(f_111/7›m2/3)
77
A
seqüência de entrada de peças no sistema é (p1,p2,p3) e a ordem de seu
processamento pelas máquinas é ml: (p1,p2,p3)
e~
m2: (p1,p2,p3).
_
deuma peça pelo circuito dado -na fig. 4.27. O
processamento de uma peça, o respectivo pallet é
Modela-se o processo de fabricação
modelo considera que, ao término do
imediatamente liberado para o processamento de outra peça.
O
›I E
oi:
*I
pa
transições
indica a entradade
O
de fabricação de
Fig. 4.27: Processo
As
n¡
*I
pb
na
uma peça
mi indicam o processamento da peça pela máquina
i;
a transição
E
uma nova peça no sistema; os lugares pa, pb e pc indicam a situação da
peça no sistema:
`
`
pa: peça antes de ser processada.
pb: peça após primeiro processamento.
pc: pallet pronto para
novo processamento (peça pronta).
Para simplificar a representação, cada transição mi do modelo acima abstrai
estmtura como a definida na
vez
fig.
4.28,
em cada máquina, com duraçao T:
que representa o processamento de
ç
uma
uma peça
por
_.Q_. -›
OCUPhDâ
--+|-+
-›
~
=›
[T]
(DI
m.a1
u.n_
HLIURE
Fig. 4.28:
.
Representação interna de uma máquina
Interligando os processos referentes às peças através dos circuitos das máquinas
obtém-se o modelo do sistema acima descrito, na fig. 4.29:
©
rx ua:
I
n n I u vv
1
-¬
i
1 | n
1|
__:
Í
|
zr
o*
'U
sit/
®
n...
__.,
ml
*I
___:
51
O
N o mo d elo da
máquina
mi.
As
f'
lg.
`
42 9, uma
transiçoes
.
E
Í
I
1›3a
Fig. 4.29:
›I4I
3
|
J
__:
o"*”
I
P-
|\_
I
Ô
Í
®
L- ....
‹
O
,--I
`: n
.
.I
*I n
zPz fêl
_
7:-L:Êšãi>
Í
*_
,ãm
FÉ
vu
I,
'O
K
31
.'
_
I'
MI
®
nza
H b
L..
É
51
1
I
I
:Pa
E3
I/
'I
›'
na
_
I
__
¡.._____¬
0
nar,/fiäl
-
11,11
P Zcr
ll
...J
SBO'
m
Ú
n¡a
A
¡.__.-.._-__`
[B]
O
.--\
3
E
›-
ärp,
P,a
¡__
VI
'U
'_
.
3/
N/
I
_-|
í
._
O
~
~
_'
P3b
\"~
._
'>
'V
n¡p3
c›_
:-1
u_u
I
11
._
c|un
¡_-
Modelo global do sistema
"
translçao m-p- indica a peça p- sendo processada pela
11
J
indicam o l ançamento periódico e seqüenciado de peças Os
79
traços contínuos representam os processos de produção de cada peça, e os pontílhados o
seqüenciamento de comando das máquinas ou de alimentação de peças.
Os
lugares mia, mib, mic e
si
indicam ofseqüenciamento de operação das máquinas
e de alimentação de peças.
4.3.3. Análise
›
'
do Modelo Obtido
A análise do modelo visa inicialmente provar suas propriedades básicas a partir da
V
análise estrutural, pois a marcação inicial do
portanto indefinida.
O
mesmo
é o objeto da otimização, estando
'
.
_
processo de otimização proposto a seguir está calcado sobre o estudo-das
máquinas de estados elementares que compõe a estrutura da rede.
Cálculo dos Invariantes
a.
Através do módulo de análise estrutural do
sistema possui somente
um invariante
ARP,
verifica-se
de transiçao, contendo todas' as transiçoes da rede
(portanto a rede é potencialmente viva), e que esse-invariante é
Sao obtidos também 30 invariantes de
Todos
os lugares da rede pertencem a
que o modelo do
um grafo de eventos.
lugar, todos eles 'sendo
máquinas de estados.
algum invariante, indicando a limitação da rede.
'
A lista dos invariantes de lugar obtidos é dada a seguir, classificados de acordo com
_
sua interpretação
física:
Â
Invariantes de
comando das máquinas:
1:
{m2a, mzb, m2c}
2:
{m1a, m'1b, m1c}
Invaríantes das peças:
31
{p1a,p1b,p1¢}
4=
{pza, pzb, Pz¢}
5=
{p3a, pgb, p3¢}
Invariante de alimentação de peças:
'
62 {S_1, S2,
S3}
Invariantes mistos (combinaçqes dos anteriores)
7:
{mla, mlc, lmzb, plb, p2b}
8:
{mla, mlb, m2c,
9:
{mla, mlb, p2c, p3a,
10:
.
121
s3}l
mzb, m2c, plb, p3a, p3c}
{m1a, mzb, p1b, pzb, Pzc, 1238, S3}
13: 'hnlaa
14:
pzc, p3a, p3c}
{mla, mlc, plb, plc, pza, p2b, s2}
11: {rnla,
-
p2a',
‹
mzca
{mla, plb, plc, p3a,
15: {rnlb,
p3a› p3c› S2}
plc:
sz,
s3}
mlc, pla, p3b, p3c, sl}
16:
{mlb, mlc, m2a,:pla,_plc, p3b}
17:
{mlb, m2a, mzc, pla, plc, pza, p2c}
18:
{mlb, mza, pla, plc, pzc, p3a, p3b, s3}
19:
{mlb,_m2c, pla, p2a, pzc, p3c, sl}
pla: p2c›
.
S]_›
~
S3}
212 {II11C,
I1'12fl, I1`12b,
22: {mlc,
mza, plc, p2a, pzb, p3b, s2}
23: {1rilc, rn2b, pla, plb, pzb, p3b, p3c, sl}
24: {mlc, pza, pzb, p3b, p3c, sl, s2}
25:
26:
{m2a, mzb, pzb, pzc, p3a, p3b, s3}
mzca p1c› pzaø S2}
_
81
27: {m2a, plc, p3a, p3b, sz, s3}
232 {IT12b, 11129 P121, P1b, P3C› S1}`
292 {ITl2b, pla,
pzb, p2C,
S1,
S3}
30: {m2c, pza, p3c, sl, s2}
b.
Otimização do Sistema
O processo de otimização empregado neste exemplo é proposto em [Hillion 891, e
baseia-se no estudo das durações (tempos de ciclo) associadas aos circuitos (máquinas de
estados) da rede que
modela o
e das durações das transições que o compõe.
O
circuito
marcação do
sistema. Essas durações são função da
com o máximo-tempo de
'
ciclo é
denominado
"circuito crítico", e
em
corresponder ao da máquina gargalo, para a máxima taxa de produtividade
permanente.
tal
tal
ciclo inferiores
ao da
~
é construído
circuitos obtidos,
um programa linear cujas restrições são formadas a partir dos
e cuja função a minimizar é o número
método ao exemplo
total
de peças
em processamento.
em estudo é obtida a seguinte marcação:
M: {m1a, m2c,p1c,
O número de peças em processamento
ciclo
regime
V
máquina gargalo.
Aplicando-se
deve
O processo de otimização consiste portanto em distribuir fichas nos circuitos
da rede (na mínima quantidade possível) para tomar seus tempos de
Para
circuito
p2b,.p3b, s1}
O tempo
de
de ambas
-as
é o mínimo: 3 (plc, pzb, p3b).
do sistema também corresponde ao mínimo
(14,
tempo de
ciclo
máquinas), e pode ser constatado no grafo de estados acessíveis obtido pelo
essa marcação inicial:
"
.
ARP, para
82
Ex
[31
nipl
“EPE
“ipi
'
3
nãpã
Hxpš
[3_l
äipzml
'
¿
eai-*B
_
iH¡pE [41
«
Ei
i
Fig. 4.30:
adotar
'
“
`
É interessante
c
"°
[61
5
Grafo de estados do sistema
como marcação
inicial
do sistema não a inicialmente obtida,
mas uma de suas sucessoras, por não apresentarem o transitório de inicio de operação.
4.3.4.
Conclusões
ARP na determinação de
circuitos de um Sistema Flexível de Manufatura, como parte de um processo de otimização
Apresenta-'se neste exemplo a utilização do
do funcionamento do mesmo.
acessibilidade,
início
Também
Ambiente
é importante ressaltar a construção do grafo de
na validação da marcaçãoinicíal obtida e na minimização do
de operação do sistema.
Embora
este
exemplo
de
_
esteja voltado a
ressaltar a importância da__análise estutural
bem como
transitório
um
como
assunto bastante específico, deve-se
auxílio à validação
de Redes de
Petri,
como
ciclos
para o estudo de características específicas de seu comportamento,
de funcionamento e componentes conservativas.
83
4.4.
Conclusão
Este capítulo buscou demonstrar a aplicabilidade das ferramentas do Sistema
ARP
ao estudo de problemas de real interesse, nas áreas de Automação Industrial e Sistemas
Informáticos Distribuídos.
O desenvolvimento
~
~
de cada exemplo buscou delinear
de problemas usando Redes de
Petri,
uma
desde a modelagem do objeto de estudo até a
interpretação dos resultados obtidos pelas diversas ferramentas do
Deve-se observar que a utilização do ambiente
citadas, visto
que
_os
modelos
metodologia de estudo
ARP.
ARP não se restringe às áreas acima
em estudo são tratados de forma genérica.
p
A integração existente entre as ferramentas do ambiente ARP permite a utilização
conjunta de várias ferramentas
efetuado
em um mesmo
em todos os exemplos estudados.
problema, de
um modo
simples. Isto foi
84
Conclusão e Perspectivas
5.
Neste trabalho procurou-se conceber e implementar
um ambiente orientado para a
modelagem, análise do comportamento e do desempenho e simulação
de sistemas
'
_
modelados por Redes de
Petri ordinária,
com Temporização
.¬
e
com Temporização
Extendida.
Inicialmente o modelo
Rede de
Petri foi ,formalmente descrito,
bem como
aquelas
extensões a serem utilizadas no ambiente. Discutiu-se a metodologia de concepção de
sistemas utilizando Redes de Petri.
'
Apresentou-se o Ambiente
ARP, destacando para cada ferramenta implementada
seus objetivos, implementações e resultados.
Além
disso,
buscou-se através de exemplos
demonstrar a potencialidade e praticidade de uso de cada ferramenta.
Como
principais perspectivas a curto e
médio prazo para o presente
visando sanar deficiências ou aumentar o poder e flexibilidade do sistema,
indicadas as seguintes:
-
Utilização de
i
-
podem
ser
'
`
.
uma linguagem de descrição
conceito de modularidade na
trabalho,
de Redes de Petri que permita explorar 0
modelagem de
sistemas,
abordado no cap.
2.
Tal
.
linguagem tem
-
Introdução das relações GJ-k entre transições
enumeração de
-
características similares à descrita
classes de estados
tj
em [Cantú 90).
e tk sensibilizadas
em
paralelo,
na
classes
de
de Redes de Petri com Temporização.
Introdução, no módulo de verificação,
equivalência (forte e observacional).
dadeterminação de novas
'
85
ARP como parte de um ambiente
Utilização do
mais complexo, como o descrito
em
em Redes
de
[Farines 891, .que permita tratar problemas mais complexos, descritos
Petri de alto nível
extração de
(RdP a Objeto).
Redesde
Petri ordinárias
A
técnica de projeção [Çantú 90] permite a
da
RdP a Objeto em estudo, que podem então
ser analisadas
no ARP. Outrossim, alguns módulos do
ARP
modelo
como o de verificação de
podem ser empregadas sem
inicial,
modificações
equivalência, e
são independentes do
em outros ambientes.
Migração do sistema' para
um
análise de sistemas complexos.
equipamento mais poderoso, que permitirá
agilizar a
'
86
Anexol: Linguagem de Descrição de Redes de Petri
A
linguagem de descrição usada no
ARP
possui
umasintaxe semelhante à do
Pascal, permitindo a identificação de lugares e transições por
caracteres aceitos são:
nomes' quaisquer. Os
`
V
z$c.za..z0..9_:'.›+-#@^%
A estrutura de uma descrição de rede é a seguinte:
REDE nome__da_rede
;
_
declaração de constantes
'
declaração dos nodos (lugares e transições)
declaraçao da estrutura (arcos)
FIM.
Podem ser definidas constantes da seguinte forma:
CONST
'
Num_Vagas = 7;
-
Num_Envios = 10
;
= 45
;
Time_Out
A declaração NODOS é dividida em duas partes: a declaração de transições e a de
lugares (maximo de 150 nodos de cada tipo). A declaração de lugares faz-se da seguinte
forma (0 valor entre parênteses indica a marcação
Oe
máximo 254):
`
~
inicial
dos lugares declarados, c/ default
87
Robot_Parado,Torno_Operando
:
_
Robot_Ligado,Torno_em_Espera
;
'
:
Pecas_Esperando
-
LUGAR
LUGAR (1)
LUGAR (Num_Vagas)
:
;
;
A declaração de transições é de forma similar. No caso de redes com temporização
segundo o modelo de Merlin, podem ser definidos o
"Static Latest Fire
Time" (SLFT), com default
"Static Earliest Fire
Time" (SEFT) e o
em [0,0]. Também pode ser definida a curva
de densidade de probabilidade associada a esse_interva1o, por default uniformez”
:TRANSICAO;
Robot_Solta_Peca
V
Inicia_Usinagem
:
_
chegada_P¢¢a
~
z
Robot_Pega_Peca
Nos
definidas.
-
TRANSICAO [5,Ti'me_Out]
com média no
;
ser constantes préë
mó_'dulo_'
de avaliação de
-
_
-
_
centro do intervalo e forma definida pela razão k entre o
valor -da curva no centro e nos extremos do intervalo (1
-
podendo
~
Uniforme, por default.
Normal,
;
TRANSICAO [2,8] NORMAL (5)
Ascurvas de densidade de probabilidade (usadas pelo
aceitas sao:
;
TRANSICAO [0,51¡'E>nëoN (10)
intervalos são aceitos inteiros entre 0 e 32000,
desempenho)
-
:
M;
5 k 5 10000).
Exponencial, com. forma definida pela razão k entre o valor da curva no início e no
final
do intervalo (0.0001
5 k 5 10000).
`
'
-
Observa-se que adefinição das curvas não depende de valores absolutos mas
apenas da razão entre os valores máximo e mínimo.
Através da declaração
ESTRUTURA são
aos lugares e vice-versa. Sua forma geral
'
-
descritos os arcos q°ue “ligam as transições
é:-
'
)
88
Transição: (lugares de entrada)
,
de saida)
(lugares
Essa estrutura deve ser repetida para cada transição da rede.
são separados por vírgulas.
;
Os nomes dos
lugares
No caso de arco com peso não unitário temos:
Transicao:
*
,peso
Lugar,
)
,
(
)
;
onde o peso pode ser um valor numérico ou uma constante pré-definida, entre 0 e 254.
O exemplo a seguir (fig.A1.1) ilustra a linguagem. A rede modela um sistema com-
posto de
um torno
e
um robô
que 0 alimenta, carregando e descarregando peças de
um
armazém:
Rraazen
z
I'
..........
Y
‹.
Tome
r
livre
,
.
O
.
Pega
peca
nova
``
``'
.
Carregando
Carrega
tomo
il
[5,15l
Bescarr*-Eça
o
"
Wo
1
ao
[1,i§§l
7
torno
1
1
1-i--i--Â-É'
id
Solta
Ps-ca
mfltfi¡
n...
Usinzmclo
[5,l5l
Bêscarrêâaaàs
[3,5l
A
`
'
+:
kbo
Fig.
A descrição da rede da fig A1.1
livre
All: Rede de
Petri
através da linguagem de descrição de redes acima
apresentada, é indicada na listagem a seguir:
89
Rede Exemplo_da_Linguagem
;
Const
Pecas_Entrada = 2
;
armazem de pecas
}
{
peças na entrada da máquina }
Nodos
{
Armazem
{
:
nodos do robo que alimenta o torno
Lugar (Pecas_Entrada)
;
}
Robo_Livre
:
Lugar (1)
;
Robo_Carregando,
Robo_Descarregando
:
Pega_Peca_Nova
_:
Solta_Peca_Pronta
:
Lugar;
Transicao
[1,10]
Transicao
[3,5]
Transicao
[5,15]-
;
;
Carrega_Torno,
Descarrega__Torno
{
nodos do torno
:
:
Torno__Livre
{
controle do robo
'
:
}
Lugar
V;
;
Lugar (1)
;
*
Pega_Peca_Nova
(Armazem,Robo_Livre), (Robo_Carregando)
Carrega_Torno
(Robo_Carregando,Torno__Livre), (Usinando,Robo_Livre)
Descarrega_Torr_1o
(Usinando,Robo__Livre),
(Robo_Descarregando,Torno_Livre)
Solta_Peca_Pronta
Fim.
(5)
}
Usinando
Estrutura
Normal
;
;
(Robo__Descarregando), (Armazem,Robo_Livre)';
90
Bibliografia
,_
[Agerwala 79] T. Agerwala: "Putting Petri Nets to Work". Computer, dec. 1979 pags 85-94.
IEEE, Inc.
'
p
[Aguiar 89] M.C. Aguiar: "Análise Comparativa de Desempenho da
Dados do ProfiBus
do FIP, Propostas Candidatas ao Padrão FieldBus".
e
EEL-UFSC,
Dissertação de Mestrado,
[Aho
Aho,
73] A.
Hopcroft,
J.
Camada Enlace de
J.
1989.
Ullman: "The Design and Analysis of Computer
Algorithms". Addison-Wesley, 1973.
[Aho
86] A.
Aho, R.
Sethi, J.
Ullman: "Compilers: Principles, Techniques and Tools".
Addison-Wesley, 1986.
[Ayache 85] J.M. Ayache,
_
J.P. Courtiat,
M.Diaz, G.Juanole:
'~'Utilisation
Petri pour la modélisation et la Validation des Protocoles".
Informatiques, vol. 4, n°
[Azema
P.
]
Azema,
Validation and
1,
1985.
J.C. Lloret,
PROLOG
de Réseaux, de
Technique
et
Science
'
'
G. Papapanagiotakis, F. Vernadat: "ESTELLE
Interpreted Petri
Ne_ts".
The Formal Description
Technique Estelle, Results of the ESPRIT/ SEDOS Project. North-Holland, 1989.
[Azema 85] P. Azema, F. Vernadat: "Requirement Analysis
for
Communication
Protocols".
[Berthelot 82] G. Berthelot, R. Terrat: "Petri Nets Theory for the Correctness of Protocols".
IEEE Transactions on Communications, vol. Com-30, n° 12, December
1982.
[Berthomieu 79] B. Berthomieu: "Analyse Structurelle des Réseaux de Petri: Méthodes
0utils".
[Billington
V]
_
Thèse de Doctorat. Université Paul Sabatier de Toulouse, France, 1979.
J.
[Billington 88]
et
Billington: "Protocol
J.
Billington,
Petri Net Tool
Protocols".
for
Engineering and Nets".
G.R. Wheeler, M.C. Wilbur-Ham: "Protean:
A
High-Level
the Specification and Verificáation on Communications
IEEE Transactions of Software Engineering, march
1988, vol.14, n.3.
91
[Bolognesi 87a] T. Bolognesi, E. Brinksma: "Introduction to the
Language LOTOS". Computer Network and ISDN Systems
ISO
Specilication
North-Holland,
14,
~
1987.
1
[Bolognesí 87b] T. Bolognesi, S.A. Smolka: "Fundam_ental Results for the Verification of
Observational Equivalence: a Survey", VII Conference on Protocol Specification,
Testing and Verification, pgs. 165- 179,
may 1987.
~
[Bougé 88] L. Bougé: "Sémantique du Parallélisme: un Tour
u
n°
88-6,
École Normale Supérieure,
[Brauer 86]
-
Théorie
:
1986.
89] J.M.
-
Lectures Notes in
"Uma Abordagem para a Representação, Simulação e Implementação
Objetos'_'.
Dissertação de Mestrado
DEEL-
1990.
Colom, M.
Silva:
"Convex Geometry and «Semi-Flows in
P/T
Nets.
A
Comparative Study of Algorithms for Computation of Minimal P-Semi-Flows". 10th
International Conference
on Application and Theory of
Germany, june 1989.
Petri Nets,
Bonn
-
'
[Courtiat 84] J .P. Courtiat, J .M. Ayache, B. Algayresz "Petri Nets are
Computer Communications Review,
*
Ed.
_~
de Sistemas Baseada na Rede de Petri a
UFSC, março
2)".
Reisig, G. Rozenberg: "Advances in Petri Nets 1986, Part I e II
Proceedings of an Advanced Course", Ed. Springer-Verlag
[Cantú 90] E. Cantú:
V
Pratique (tomes 1 et
.
Computer Science, No.255, Sept
[Colom
et
1983, France.
W. Brauer, W.
LIENS
Paris, France, juil. 1988.
[Brams 83] G.W. Brams: "Réseaux de Petri
Masson
rapport
d'I-Iorizon",
14,
Good
for Protocols".
ng 2, 1984.
[Courtiat 87] J .P. Courtiat: "Contribution à la Description Formèlle de Protocoles". Thèse
A
de Doctorat d”État, Université Paul Sabatier de Toulouse, France, 1987.
[Courvoisier 80]
M. Courvoisier, R.
Valette: "Systèmes de
Description, Analyse et Realisation". Editions
SCM,
Commande
en Temps Réel.
1980. Paris, France.
92
em
[Cury 90] J.E. Cury: "Lançamento e Escalonamento de Tarefas
Sistemas de
Manufatura com Alimentação Periódica". Submetido ao 8° Congresso da Sociedade
Brasileira de Automática,
[Diaz
]
Belém-PA, 1990.
ç
M. Diaz: "Aplying Petri Net Based Models
[Diaz 82]
in the Design of Systems".
M. Diaz: "Modeling and Analysis of Communication and Cooperation Protocols
Using Petri Nets Based Models", Proceedings of IFIP Protocol Specification,
Testing and Verification,
ÁDiaz
86]
M. Diaz:
"Petri
may
Ed. Springer-Verlag,
[Dufau 84]
V
J.
Petri".
_"
Net Based Models in the Specification and Verification of
Protocols", Lecture Notes in
'
1982.
Computer Science
254:
Advance
in Petri Nets, Part
sept. 1986.
I,
'
Dufau: "Un Outil pour la Verification des Protocoles Décrits par Réseaux de
Thèse de Doctorat, Université Paul Sabatier de Toulouse, France, 1984.
[Esteban 85] P. Esteban:"Sur la Recherche d'Algorithmes Simplifiés d'Analyse des Réseaux
'
de Petri". Thèse de Doctorat.
LAAS Toulouse, France,
1985,.
_
g
[Esteban 86] P. Esteban, R. Valette, M.,Courvoisier: "Simplified Algorithms for Petri Nets
Analysis", Proceedings of IECON'86.
y
[Farines 89] J .M. Farines, E. Cantú, H. Garnousset, C.A. Maziero: "ARP:
para o Desenvolvimento de Software
Franco-Brasileiro
[FIP 87] "FIP
-
Aplicações Distribuídas". Seminário
em Sistemas Informáticos Distribuídos,
a Standard Proposal for FieldBús". Club FIP
1987.
[Freedman
em
88] P.
«
uma Ferramenta
Fpolis-SC, 1989.
ENSEM/Nancy,
France,
n'
d
A
.
Freedman, A. Malowany: "The Analysis and Optimization of Repetition
within Robot Workcell Sequencing Problems". 1988
IEEE International Conference
on Robotics and Automatíon,'Philadelphia Pennsylvania - USA.
-.
93
[Freedman
Freedman, A. Malowany:
89] P.
Events". Research
Intelligent
"Petri
Nets and the Modelling of Repetitive
Report TR-CIM-88-5, march
McGill Research Centre
88,
for
Machines, McGill University, Montréal, Québec, Canada.
[Hillion 89] H.P. Hillion, J_.M. Proth: "Performance Evaluation of Job-Shop Systems
Using
Timed Event-Graphs". IEEE Transactions on Automatic Control, vol AC-34, no
1989.
.
[Hopcroft 79]
'
J.
Hopcroft,
J.
Ullman: "Introduction to Automata Theory, Languages and
Computation". Addison-Wesley, 1979.
[Huber 89]
1,
P.
_
Huber, K. Jensen, R. Shapiro: "Hierarchies in Coloured Petri_Nets". 10th
International Conference
Germany, june
on Application and Theory of
Bonn
Petri Nets,
-
1989.
[ISO 9074] "Estelle, a Formal Description Technique Based on an Extended State
Transition Model", ISO-DIS 9074, jun. 1987.
[ISO 8807]
"LOTOS - a Formal
Description Technique Based on the Temporal Ordering of
Observational Behaviour", ISO-DIS 8807, jul. 1987.
[ISO 9506] ISO/DIS Draft International Standard 9506-2, 11/88, Manufacturing Message
Specification
[J ard
]
(MMS).
C. J ard: "Introduction a la Verification des Algorithmes Distribués".
[Jensen 85] K. Jensen: "An Introduction to High Level Petri Nets".
Computer Science Department, Aarhus University, Denmark,
DAIMI
1985.
[Jensen 86] K. Jensen: "Computer Tools for Construction, Modification
`
Petri Nets".
and Analysis of
GMD Advanced Course on Petri Nets, Bad Honnef, sept. 1986.
[Juanole 89] G. Juanole, J.L. Roux: "On the Pertinence of the Extended
Model
PB-197,
for Analyzing
[Lloret 88] J .C. Lloret, P.
Time
Petri Net
Communication Activities". 1989
Azema and F. Vernadat: "Réseaux PrT Labellés:
Structuration
H
Composition", rapport no 88350
LAAS/CNRS, Toulouse, France, nov.
1988.
et
94
[Menasche
82]
M. Menasche: "Analyse des Réseaux de
Petri Temporisés et Aplication
aux
Systèmes Distribués". Thèse de Doctorat. Université Paul Sabatier de Toulouse,
France, 1982.
b
A
[Menasche'83] M. Menasche, B. Berthomieu: "Time Petri Nets for Analyzing and Verifying
Time Dependent Communication
Protocols". Protocol Specification, Testing
Verification IFIP, North-Holland, 1983.
ç
and
V
[Menasche 85] M. Menasche: "Parede: an Automated.Tool for the Analysis of Time(d)
Petri Nets". 1985
`
1
[Merlin 76] P.M. Merlin, D.J. Farber: "Recoverability of Communications Protocols".
IEEE
Trans. on Communications, sept. 1976.
[Novali 86]
J.
Novali: "Modeles d'Observation pour les Architectures Multicouches de
Protocoles de Communication". Thèse de Doctorat, Institut National des Sciences
Apliquées de Toulouse, France, 1986.
_
[Peterson 81] J.L. Peterson: "Petri Net Theory and
Hall Editions, 1981.
[Pinho 88] A.N. Pinho:
(MMS)
tlie
Modelling of Systems". Prentice`
V
"Um Estudo da
I
Especificação de
Mensagem da Manufatura
do Protocolo de Comunicação para Ambientes Industriais MAP".
Dissertação de Mestrado,
EEL-UFSC,
1988.
V
[Pradin 79] B. Chezalviel-Pradin: "Un Outil Graphique Interactif pour la Validation des
Systèmes à Evolution Parallèle Décrits par Réseaux de Petri (Ogive)". Thèse de
Doctorat, Université Paul Sabatier, Toulouse, France, 1979.
[Roux 85]
'
J.L.
Roux: "Modelisation
Petri Temporels".
et
Analyse des Systémes Distribués par
Thèse de Doctorat.
Toulouse, France, 1985.
les
Institut National des Sciences
~
.
Réseaux de
Apliquées de
95
[Roux
87] J.L.
Roux, G. Juanole: "Functional and Performance Analysis Using Extended
Petri Nets", International
Workshop on
Petri Nets
and Performance Models, aug
1987.
~
[Schreiber 74] T.R. Schreiber: "Simulation using GPSS", Ed. Wiley, 1974.
[Sibertin 85] C.Sibertin-Blanc: "High-'level Petri Nets with
_
Data Structures", õth European
Workshop on Applications and Theory of Petri Nets, Helsinki, Finland, jun.
[Souissi 89] Y. Souissi,
G. Memmi: "Composition of Nets via a Communication Mediüm".
10th International Conference on Application and Theory of Petri Nets,
Germany, june 1989.
-
III
in Petri Nets, Part
[Vissers 88] C.A. Vissers:
V
[Wang
"FDTs
Computer Science
Ed. Springer-Verlag, pgs. 191-217, sept.
II,
for Distributed Systems".
Wang,
K Gildea, A. Rubenstein:
MMS".
[Wang 89b]
F.
1.986.
Research into Networks and
Distributed Applications, North-Holland, 1988.
89a] F.
1
_
[Valette 86] R. Valette: "Nets in Production Systems", Lecture Notes in
Advance
-
Escola Brasileiro-Argentina
de Informática, Curitiba-PR, 1988.
.255:
Bonn
`
[Tazza 88] M. Tazza: "Análise Quantitativa de Sistemas".
*
1985.
_
"A Note on" the Confirmed Services in
.
Wang, K. Gildea, A. Rubenstein: "A Coloured
Connection Management Services in
r
MMS".
Petri
Net Model for
Download