40. SBAI - Simpósio Brasileiro de Automação Inteligente, São Paulo, Sp, 08-10de Setembrodê 1999
Utilizando redes de Petri multiplexadas na síntese de supervisores de
sistemas a eventos discretos
E.M.M. Costa
A.M.N.Lima
[email protected]
[email protected]
Laboratório de Instrumentação Eletr ônica
Departamento de Engenharia Elétrica
Universidade Federal da Paraíba 58109 -970 Campina Grande. PB. Brasil. Caixa Postal 10.053
Fax: ++55-83-3101015
Resumo - Entre os paradigmas usados na modelagem e síntese
de Sistemas a Eventos Discretos. as Redes de Petri tomaram-se
de grande utilidade . A lógica temporal. por sua vez. tornou-se
usual pela sua grande abrangência. substituindo as linguagens
formais na especificação de comportamentos. Sendo assim. apresentamos aqui. as Redes de Petri Multiplexadas. introduzindoas na modelagem. análise e síntese de SEDs, juntamente com a
C'IL na especificação de comportamentos. para resolver o problema de controle supervisório.
na fase de síntese do supervisor (Barroso 1996, Sreenivas and
Krogh 1992, Sreenivas 1997). Assim, apresentamos aqui uma
nova classe de RP, denominada de Rede de Petri Multiplexada
(RPM) (Costa 1998), a qual pode compactar várias transições
em uma única. com uma função associada, onde os arcos são
independentes, definindo uma multiplexação sobre os mesmo
em seu disparo. Logo , nossa motivação para seu uso. são as
vantagens dela ter as mesmas características (expressividade),
das RP LugarfTransição (LzTr), podendo ser usada nos mesmos
desígnios ; dar-nos uma visão do sistema tendo uma transição
como uma central comandando suas partes ; compactar em fórmulas lógicas as funções de uma RP com Função de Habilitação de Transições (RPFHT). nas subfunções; modelagem direta com as partes de SEDs, que apresentam compartilhamento;
compactar várias transições em uma única, sem perda de informação, facilitando a visualização. e manter a abordagem de Barroso (Barroso 1996). na síntese de supervisores (modificação
mínima nos algoritmos de síntese: AMArA e ACGS. onde. só
há mudanças de transições t por subfunções 7). Também, as
linguagens de RP são válidas para a RPM. podendo usar tanto
as linguagens formais (Hopcroft and Ullman 1979), como a
lógica temporal (LT) (Emerson and Halpern 1986. Abadi and
Manna 1987. Fix and Grumberg 1996. Galton 1987. Grumberg
and Long 1994. Iwanska 1996. Heljanko May, 1997, Knight
and Passino 1990. McMillan 1992. Nicola and Vaandrager 1995,
Ostroff 1989, Racloz and Buchs 1997. Sakalauskaité 1996.
Uchihira and Honiden 1990) na especificação de comportamentos. No caso da LT, especificamente a CTL, não há modificação
no algoritmo APLT. desenvolvido por Costa (Costa 1997).
Keywor ds : Redes de Petri, Controle Supervisório, Lógica Temporal. Sistemas a Eventos Discretos
1 INTRODUÇÃO
Dentre os paradigmas utilizados para a primeira fase da resolução do problema de controle na Teoria de Controle Supervisório (TCS) (Ramadge and Wonham 1982. Wonham 1987.
Ramadge 1989. Ramadge and Wonham 1989. Kumar et ai.
1992). a modelagem. temos as Redes de Petri (RP) (Reisig 1985.
Murata 1989. Reisig 1992). Estas são ferramentas matemáticas
e gráficas que apresentam muitas vantagens em modelagem e
síntese de supervisores de Sistemas a Eventos Discretos (SED)
(Zhou and DiCesare 1993. DiCesare et ai. 1993. Evans 1993,
Freedman 1991. Holloway et alo 1997. Jensen and Rozenberg
1991. Kumar and Holloway 1996. Proth and Xie 1996. Peterson
1981. Desrochers and Al-Jaar 1995. Zhou and DiCesare 1993.
Giua and DiCesare 1994. Balemi et alo 1992). desde que.
seu desenvolvimento teórico se modelou às necessidades básicas como temporização (Cofrancesco et ai. 1991. Baccelli et
ai. 1992. Cohen et ai. 1995. Gaubert et ai. 1995. Gaubert and
Mairesse 1997. Felder et ai. 1995. Nicol and Mao 1991. Cofer
and Garg 1995. Figueiredo 1994). controle de evolução dinâmica
(Krogh 1987. Papelisand Casavant 1992). linguagens (Jantzen
1987, Lilius June , 1993. Lilius September, 1994) e compactação
de subsistemas semelhantes (Jensen 1992. Lilius 1995). Elas já
foram utilizadas tanto na primeira fase da resolução do problema
de controle supervisório (PCS), quanto nas outras duas: pela
característica de definição de uma linguagem associada, para
a especificação de comportamentos (Costa 1997. Uchihira and
Honiden 1990, Jantzen 1987). e peJas características de controle.
Assim, dividimos o artigo como se segue: na seção 2. apresentamos as noções de RP LzTr, RPFHT e CTL; na seção 3 introduzimos o conceito de RPM e suas linguagens; na seção 4 apresentamos o uso das RPM na TCS e os algoritmos de modelagem
. e síntese; na seção 5 exemplificamos seu uso e. concluímos este
trabalho na seção 6.
2 PRELIMINARES
Definição 1 Uma rede de Petri é uma sextupla
RP=(P.T, A,K,W ,Mo) onde:
P={PltP2•...'Pm} é um
533
40. SBAI - Simpósio Brasileirode Automação Inteligente, São Paulo, SP, 08-10 de Setembrode 1999
conjunto finito de lugares; T={t 1,t2,"" t n} é um conjunto finito
de transições; A Ç(P x T)U(T x pré um conjunto de arcos;
K:P -+ NU{oo} é a função de capacidade; W:A -+ N+ é a
. função de ponderação; Mo :P -+ N é a função de marcação
inicial, que satisfaz Vp E P:Mo(p) 5: X(p).
que), F (eventualmente), A (necessariamente), E (possívelmente) e G (sempre). As regras básicas de construção são:
i) uma proposição atômicapEProp é uma fórmula; ii), se],
g são fórmulas, também são [U g,f /\ g, »], X g. Ff abrevia trueUf; Gf abrevia -.F-./; I V 9 abrevia -.(-.1/\ -.g);
I:::> 9 abrevia -'1 V 9 e I<=? 9 abrevia (f :::> g) /\ (9 :::> f).
Estrutura de RP, Erp=(P,T,A,K,W) é uma rede sem marcação
inicial . As regras de disparo de transições para sua evolução
dinâmica são:
2. Semântica: X I é lido como I é verdadeiro no próximo estado, [U 9 é lido como I é verdadeiro até que 9
seja verdadeiro, AI é lido como I é necessariamente verdadeira e AOI é lido como necessariamente I é sempre
verdadeira (ver (Racloz and Buchs 1997, McMillan 1992,
Costa 1997)).
Definição 2 A variação da marcação da rede de Petri segue as
seguintes regras de disparo das transições:
1. Uma transição t é dita estar habilitada (pronta para disparar)
em uma marcação M se e s6 se Vp E P que é entrada de
t:W(p,t) 5: M(P) e Vp E P que é saída de t:M(p) 5:
K(P)-W(t,p);
2. Uma transição habilitada pode ou não disparar;
3. O disparo de uma transição t E T, habilitada na marcação M , é instantânea e resulta em uma nova marcação M' da rede dada pela equação M'(P)=M(P)W(p,t)+W(t,p),'v'p E P;
4. A ocorrência do disparo de t , que modifica a marcação
M da rede para uma nova marcação M', é denotada por
M[t)M' .
Definição 3 Uma rede de Petri com Função de Habilitação de
Transição, é uma qu ádrupla RPFHT=(Erp,I,Mo,ip) em que
é a função que etiE rp é uma estrutura de RP; l:T -+
é um alfabeto; Mo é a marcação
queta as transições, onde
...,t/>m}:R(Erp.Mo) -+{O,l} é a função de hainicial e
bilitação das transições, que mapeia o conjunto de marcações
alcançáveis em ou 1;
3
REDES DE PETRI MULTIPLEXADAS
Definição 6 Uma Rede de Petri Multiplexada, é uma quintupla RPM=(Erp,RA,RT,Mo,iI!)onde: E rp é uma estrué a função que etiqueta os artura de RP; RA:A -+
é um alfabeto; RT : T -+
é a função
cos, onde
que etiqueta as transições; Mo é a marcação inicial e
iI!={1/Jv...,'l/Jd:R(Erp, Mo, RA, RT) -+{O,l} é a função de habilitação das transições para o conjunto de arcos da rede.
As funções 'l/Jk, são funções referentes às transições t», compostas por subfunções TI(M(Pj),Wiai), formadas por if... then
(:::}), dependentes da marcação do lugar Pj, que
o arco
ai (arco entre uma transição e um lugar), e ui; é o peso deste
arco. Os índices i, i. k e L são as cardinalidades de A, P, T e T
respectivamente, onde 1 depende de T entre os lugares e os arcos a que estas subfunções se ligam. Então, 'l/Jk é definida por
'ljJk(TI(M(Pj),Wiai))=V TI(lv.f(Pj),Wiai).
I
a
Com a introdução das funções de multiplexagem , habilitação
de uma transição para um conjunto de arcos que a ela se liga é
dada por:
°
Sua regra de disparos de transições é:
Definição 7 A ma rcação de uma Rede de Petri Multiplexada,
varia de acordo com a seguinte regra de disparos de transições:
Definição 4 O estado, ou marcação, de uma RPFHT varia de
acordo com a seguinte regra de disparo das transições:
1. Uma transição tk é dita estar habilitada (para disparar)
na marcação M, para um arco ai, se e somente se:
VPj E P que é entrada de tk:W(Pj, tk) 5: M(pj),
VPj E P que é saída de tk:M(Pj) 5: K(pj)-W(tk,Pj) e
'l/J k (TI (M (Pj ),Wiai) )=1
1. Uma transição tj é dita habilitada (para disparar) em M se
e s6 se Vp E P que é entrada de tj :W(p, tj) 5: M(P); Vp E
P que é saída de tj:M(p) 5: K(P)-W(P, tj) ; t/>j=l;
2. Uma transição tk habilitada, pode ou não disparar;
2. Uma transição habilitada pode ou não disparar;
3. O disparo de uma transição tk E T, habilitada na marcação
M, é instantânea e resulta em uma nova marcação M' , dada
pela equação M'(pj)=M(pj)-W(Pj,tk)+W(tk,pj),'v'Pj E
P;
3. O disparo de uma transição tj E T , habilitada na marcação
M , é instantânea e resulta em uma nova marcação M' dada
pela equação M'(P)=M(P) -W(p,tj)+W(tj,p),Vp E P;
4. A ocorrência do disparo de tj, que modifica a marcação
M da rede para uma nova marcação M', é denotado por
M[t)M'.
4. A ocorrência do disparo de tk, que modifica a marcação
M da rede para uma nova marcação M', é denotada por
M[tk)M'.
Definição 5 Computation Tree Logic - CTL
Observamos que, nesta nova classe de RP, a marcação da rede
varia com a função da transição que define quais arcos devem
.ser acionados, de um conjunto de lugares para outro. Assim,
esta rede difere das demais, por que, quando uma transição dispara, não depende de todo o conjunto de lugares de entrada e de
1. Sintaxe: Fórmulas CTL são construídas a partir de um conjunto de proposições atômicas Prop={Pl ,...}, conectivos
l6gicos V, /\, -. e operadores temporais X (próximo), U (até
534
40. SBAI - Simpósio Brasileirode Automação Inteligente, São Paulo, SP, 08-10 de Setembrode-1999
·'
ts, onde ts desabilita os arcos a6 e as, procedendo ao que faz a
função tps da RPFHT.
(a)
3.1
RPM
Uma RPM tem uma linguagem associada representada por seqüências de disparos das transições, associando as palavras com
as subfunções dadas em suas transições, juntamente com transições (caso sempre 7/J=I). definindo um caminho que nos leva
de uma marcação para outra, denotada por M[S>M' , onde S
é uma palavra, pertencente ao conjunto de transições t E T e
de subfunções T E 7/J. formada de acordo com as regras 'da teoria de linguagens formais. Na figura 2 temos uma RPM e sua
linguagem.
.
'
,.,
11,1
(ç)
lJ
4 TCS E ALGORITMOS
A idéia apresentada por Barroso (Barroso 1996). é sintetizar um
supervisor para um SED modelado por uma RP LzTr, onde, com
a análise da árvore de alcançabilidade da mesma, gerada pelo
AMArA, e com a especificação de comportamento, determinamos funções de habilitação de transições, pelo ACaS , para
criar a RPFHTsupervisora que tem a mesma estrutura da RP
que modela o SED. Assim, usando o mesmo procedimento, e
uma RPM como modelo do sistema, criamos outra RPM que
irá supervisioná-lo. Logo, modelamos o SED e, a partir deste,
geramos a árvore de alcançabilidade, definimos a 'tarefa a ser
executada em CTL, como feito em Costa (Costa 1997), e sintetizamos o supervisor, resolvendo o PCS. Logo, os algoritmos de
modelagem e síntese por RPM, são: .
Figure 1: Exemplo 1
P,
saída da transição e toda transição tem uma função lógica associada. Se esta não aparece, a mesma tem valor sempre verdadeiro
(7/J=I), e está sempre habilitada para todos os seus arcos. Com
este valor, o lugar que recebe um arco tem capacidade infinita,
se não for declarado. De outra forma, a função capacidade normalmente é definida na própria função 7/J. Todas as propriedades
das RP Ltrr são válidas para as RPMs, só que em relação às subfunções T que compõem as funções 7/J. Também, vemos que a
RPM pode incluir uma função de habilitação de transição como
umaRPFHT.
Algoritmo 1 Algoritmopara Modelagemde SEDs
1. Para cada parte (máquinas, esteiras, buffers, lugares de armazenamento de recursos, lugares de entrada de material
para processamento, lugares de saída do produto final, etc.)
do SED, crie um lugar;
2. Para cada evento, crie uma subfunção T, da seguinte forma :
a) Coloque as condições que levam o evento a acontecer;
Na figura I(a), temos uma RPM, com suas equivalentes RPFHT
(fig. 1(b» e RP Lffr (fig. 1(c». Na RP Lffr. temos
capacidade em alguns lugares, o que impede das transições
h e ts dispararem, quando esta marcação é alcançada. Na
RPFHT, as funções ligadas a estas transições são definidas por
tpl=[M(Pd<4] e tps=[M(P4)<5], e garantem suas desabilita ções, eliminando a função de capacidade. Na RPM, temos uma
compactação das transições da rede . As funções definidas para
suas transições são dadas por
7/Js={(M(P4)=4 V M(ps)=O)
=}
b) Determine quais as subfunções que irão formar as multitransições associadas ;
c) Coloque os arcos que ligam o evento às partes do sistema no acontecimento do mesmo, com as respectivas multitransições e una os lugares com a transição t
pelos respectivos arcos;
d) Una as subfunções T com funções lógicas OR (V) e faça
a função 7/Jk' referente a cada multitransição;
3. Coloque a marcação inicial para o sistema.
tS:-.(a6 1\ as)} e,
7/J2={(M(pI)=3 =} -.t2) V (M(ps)=O
=}
Linguagens de RPMs
t2:-.aS)} .
Algoritmo 2 Algoritmoda Arvore de Alcançabilidade
Vemos que as funções das transições t2 e ts (7/J-i e 7/Js respectivamente), são constituídas por subfunções T, formadas por
=}, que dependem das marcações em alguns lugares, e dos arcos ligados a estas transições. Então , as funções eliminam a
função de capacidade e compactam a rede. Assim, na marcação
Mo = [2000]T, as transições habilitadas são tI e t2. e t2 vale
só para o arco' a4, o que equivale a transição tI da RPFHT, e
na marcação M = [OOI4]T, as transições habilitadas são tz e
. Passo 1) Rotule a marcação inicial Mo de raiz e sinalize-a com
f1ova;
Passo 2) Enquanto houver marcações nova, faça:
1. Escolha uma nova marcação M ;
535
40. SBAI - SimpósioBrasileiro de Automação Inteligente, São Paulo, Sp, 08-10de Setembro de 1999
2. Se M for idêntica a outra marcação no caminho da raiz até
M, sinalize-a com antiga e vá para uma outra marcação;
O passo 5 se processa da seguinte forma:
3. Se nenhuma transição que tenha uma função 'I/J que esteja
com todos os valores de suas subfunções 7 falsos em M, '
sinalize-a como bloqueada;
Algoritmo 4 Passo 5 do ACGS
• Dados o gerador trim e o gerador H (especificação), faça:
4. Enquanto existirem transições com funções respectivas 'I/J e
subfunções 7 verdadeiras em M, para cada transição habilitada, faça o seguinte:
I. Adicione à lista-bloc os estados que não satisfazem
L: (H (x)) n s, ç L: (x);
2. Para cada estado xi, na lista-bloc, adicione à lista-bloc :
i) Obtenha a marcação M' que resulta do disparo da transição t com um valor verdadeiro em uma das subfunções 7 de 'I/J em M ;
a) os estados zq : (30'u E L:u)Xi=Ç(lTu,Xj);
b) os estados Xk : (30'c E L: c) Xi=Ç (O'c,Xk)/\Xk
ii) Se no caminho da raiz até M' existir uma marcação Mil
tal que M'(p)
M"(P) para cada lugar p M' :f=
Mil , então substitua M' (P) por w para cada p tal que
e
1L:(Xk)l=l;
rt X m /\
.
3. Encontre a componente acessível do gerador resultante.
M'(P»M"(P);
ili) Introduza M' como um nó, desenhe um arco com rótulo t (caso sua função associada 'I/J sempre tiver valor
padrão 1), ou 7 (caso a transição t tenha uma função 'I/J
composta por subfunções 7), de M para M' e etiquete
M' com nova;
.
Temos que, neste algoritmo falamos de transições, e não de subfunções. Porém, da mesma maneira que dizemos que uma transição está habilitada, é para um determinado conjunto de subfunções 7 que a compõe, o mesmo deve ser visto considerandose as funções 'I/J das transições.
Neste algoritmo usamos t quando sua função associada é sempre 'I/J=1 (não há etiquetamento da função na transição). Caso
contrário, colocamos a subfunção que muda a marcação.
5
Algoritmo 3 Algoritmo para a Construção da Suprema Linguagem Controlável
1. Criar uma lista dinâmica, lista-bloc, e incluir na mesma os'
estados ou marcações bloqueadas, incluindo as marcações
do tipo não-permitida, onde M:M[tj>O é uma marcação
bloqueada e M :M(Pi)=W é uma marcação não-permitida;
20 Adicionar à lista-bloc os estados, não marcados, cuja única
transição habilitada, se disparada, leva o sistema a um estado bloqueado, ou seja, M:M[tj>M', tj é única transição habilitada em M,M rt Qm e M' Elista-bloc ;
3. Criar uma lista, lista-perigo, com os estados antecessores
dos elementos (estados) da lista-bloc, juntamente com o
evento que os liga, desde que o antecessor não esteja na
lista-bloco Esses eventos deverão estar sempre desabilitados quando o sistema se encontrar nesses estados, ou .
seja, 3{3 E L: cJl(tj)={3 e M[tj>M', eM rtlista-bloc e
M' Elista-bloc;
EXEMPLO DE APLICAÇÃO
Seja o sistema de manufatura, visto na figura 3(a), o qual é um
ambiente em que temos um braço robótico central (megatran- .
sição t) programado para estar levando itens de um lugar para
outro, usando recursos do sistema (lugar P7) , executando tarefas. Pelo algoritmo 1, modelamos o sistema por uma RPM (fig.
3(b». Podemos ver como a RPM nos dá a forma de ver o sistema igual ao ambiente real, resolvendo a primeira fase do PCS.
·Vemos no modelo, que o sistema tem seis usuários e oito recursos disponíveis, onde os usuários compartilham estes recursos
(que são indistinguíveis), e estes são limitados a um máximo de
cinco por usuário. Então, as fichas do lugar P1 são as peças que
serão processadas pelas outras estações (lugares ]J2,P3,P4,P5 e
P6), e o lugar P7 contém as ferramentas para processar os itens
(fichas em P1). Temos que, para o fim do processamento de uma
peça, o SED está com cinco ferramentas em uso. Após o término deste, todas elas são devolvidas. Também vemos que mais
de uma peça pode ser processada em paralelo. Mas, para o estado inicial do sistema, M o=[6000008]T , temos um bloqueio se
seguirmos a seqüência 7172717271717373727371, onde seu estado será M'=[l203000]T, e neste a função
'Ij; =
(«M(P1)
«M(P3)
«M(P4)
«M(ps)
4. Adicionar à lista-perigo os estados nos quais exista pelo
menos uma transição habilitada, etiquetada por um evento
não controlável, cujo disparo da transição leve o sistema para uma marcação na lista-bloc, ou seja 30: E
L:u,l(tj)=O: e M[tj>M',M' Elista-bloc;
1/\ M(P7) 1) => t : a1/\ a12/\ a3)V
1/\ MCP7} 2) => t : a2/\ 2a12/\ as)V
1) => t : a4 /\ all /\ a7)V
1/\ M(P7) 3) => t : a6 /\ 3a12 /\ a9)V
1) => t : as /\ 5all /\ alO)}
da transição t é falsa para todas as subfunções que a compõe (71,
respectivamente).
... , 7S,
5. Dada a especificação desejada para o sistema, encontre a
suprema linguagem controlávet- SupC(L);
o algoritmo 2 nos dá a árvore de alcançabilidade deste modelo
que tem 162 marcações distintas alcançáveis. Nosso interesse,
é a marcação M=[0000068]T, isto é, todos os usuários completaram a tarefa . Logo, damos como especificação de comportamento: todas as peças devem ser processadas, até no máximo, duas em paralelo . Em CTL , temos Al71/\ G/(71U7'i) /\
X(-"T1 UA /75).
6. Adicionar à lista-perigo os estados e seus respectivos eventos de saída a serem desabilitados para que a linguagem
executada, desde que estes estados não estejam ainda na
lista-perigo, ou seja, 3{3 E I: cJl(t j )={3 e M[tj>M', e
M rtlista-perigo e M' rt G(Sup C(L)) .
536
40. SBAI - Simpósio Brasileirode Automação Inteligente, São Paulo, Sp, 08-10 de Setembrode'1999
A execução do ACGS (algoritmo 3), dá-nos a lista-perigo vista
O . O
na figura 4. Nela, temos todos os estados que não podem
ser alcançados, os quais levam o sistema a bloqueio. Pela especificação de comportamento dada, vemos que a mesma não
se encontra na lista-perigo, o que quer dizer que temos uma
seqüência aceitável que não leva o sistema a bloqueio se a
subfunção TI for modificada, de tal forma que a RPM siga
sempre uma das seqüências: (TITIT2T2TSTST4TST4TS)* ou
0""""
,,2
MlquW I
g
R
8
==
'O
lUqoW'
(a)
D
Bnço-
(TITIT2T2TST4TSTST4TS)* '
Logo, ficamos com uma nova RPM, igual na estrutura, mas que
tem só a subfunção TI diferente no valor de teste sobre o lugar
P7, dada pOfTl=(M(pl)
=> t :al A a12 A as.
Esta, impede que o sistema pare de operar, fazendo a tarefa
como requerido. Com isto, vemos que a RPM pode ser usada na mesma abordagem de Barroso (Barroso 1996) utilizando
como especificação de comportamentos, a CTL, como em Costa
(Costa 1997). Vemos também, que a estrutura para análise visual não aparenta simplicidade, pois que a rede trabalha como se
estivéssemos numa central de comandos, nos comunicando com
cada parte do sistema, onde mandamos e recebemos mensagens.
6
CONCLUSÃO
(b)
Figure 3: Sistema de manufatura com um braço robótico e modeloemRPM
Introduzimos aqui o uso da RPM na resolução do PCS, onde
encontramos, como em todos os métodos, vantagens como: a
mesma expressividade, das RP Llfr, a visualização do sistema
como um sistema centralizado enviando comandos às partes do
sistema, a compactação em fórmulas lógicas das funções de
habilitação de .transições das RPFHT, modelagem direta com
as partes de' SEDs que apresentam compartilhamento, a compactação de transições sem perdas de informação, facilitando a
visualização, e abordagem igual a de Barroso (Barroso 1996) , na
síntese de supervisores, desde que os algoritmos de sín tese não
têm grandes diferenças, além de podermos usar tanto as linguagens formais como a CTL na especificação de comportamentos
e, desvantagens, as quais são em termos de análise de evolução
dinâmica, pois há a necessidade da avaliação das funções das
transições', como as RP de alto nível. Logo, temos que o uso da
RPM é também um paradigma válido para a TCS.
Eventos a
dtsabiliUt
"1
u'::.f<'
Mmtaç6es
plp2D3p4pSp6p1
Eventos.
dcs:1bili1U
2 4 0 0 0 0 4
23 10 0 02
2301003
1400014
I 3 1 O O I 2
1 3 O I O I 3
11110 2 2
1 1 02023
11
MIlC3Ç6cs
pl p2p3p4pSp6p7
2 310002
23 0 1 0 0 3
I 3 I OO I 2
1 3 O1 O I 3
0310022
0301023
O I I I O3 2
0 10 20 33
I I I I O 2 2
110 20 23
l
I
I
't1
1:'1
Figure 4: Lista das marcações e eventos a serem desabilitados
Isaac New ton Institute (Cambridge UniversityPress l. GunawarEd.).
dena
Costa, E. M. M. (1997). Contribuiçãoao uso da lógica temporal na especifica ção de comportamentos de sistemas a eventos discretos.
Master's tbesis. Universidade Federal da Paraíba · Campus II Campina Grande, Paraíba, BR.
REFERÊNCIAS BIBLIOGRÁFICAS
Abadí, M. and Z . Manna (1987). Temporal logic programming. Proceedings 1987 Symposium on Logic Programming pp. 4-1 6.
Costa, E. M. M. (1998). Sintese de Supervisores para Sistemas a Even-
Baccelli, F., G. Coben and B. Gaujal (1992). Recursive equations and
basic properties of timed petri nets. Discrete Event Dynamical
Systems: Theory and Applications pp. 415-439.
tos Discretos: Uma Abordagem via Redes de Petri Multiplexadas.
Relatório de Projeto e Pesquisa. UniversidadeFederal da Paraíba,
COPELE, Campina Grande, PB, Brasil.
Balerni, S., Kozák, P. and R.Smedinga, Eds.) (1992). Discrete Event
.
Systems: Modeling and Control. Birkhãuser - Proceedings of a
Joint WorksbopHeld in Prage.
Desrocbers, A. A. and R. Y. Al-laar (1995). Applications of Petri Nets
in Manufacturing Systems: Modeling, Control, and Performance
Anaiysis. IEEE Press.
Barroso, G. C. (1996). Uma Nova Abordagem para a Síntese de Supervisoresde Sistemas a Eventos Discretos. PhD thesís. Universidade
Federal da Paraíba - Campus n. Campina Grande, Paraíba - BR.
DiCesare, F., G. Harbalakis, l. M. Protb, M. Silva and F. B. Vernadat
(1993) . Practice of Petri Nets in Manufacturing, Cbapman and
Hall .
Cofer, D. D. and V. K. Garg (1995). Supervisory control of real time
discrete-event systems sing lattice tbeory. IEEE Transactions 011
Automatic Contro141(2), 199-209.
Emerson, E. A. and J. Y. Halpem (1986). "sometimes" and "not never"
revisited: on brancbing versus linear time temporallogic. Journal
oftheACM33(1),151-178.
Cofrancesco, P., A. Cristoforetti and R. Scattolini (1991). Petri nets
based approacbto softwaredevelopment for real-timecontrol. IEE
Proceedings-D Control The01Y and Applications 138(5), 474478.
.
Evans, J. B. (1993). The Devnet: a Petri Netfor Discrete Event Simulation . Springer-Verlag.
Felder, M., A. Gargantini and A. Morzenti (1995). A tbeory of implementationand refinementin timed petri nets.Tecbnicalreporto PoIitecnico di Milano.
Coben, G., S. Gaubert and J. P. Quadrat (1995). AIgebraic system
analysis of timed petri nets. In : Idempotency - Collection of the
537
40. SBAI - Simpósio Brasileirode Automação Inteligente, São Paulo, Sp,08-10 de Setembrode 1999
Figueiredo, J. C. A. (1994) . Redes de Petri com Temporização Nebulosa. PhD thesis. Universidade Federal da Paraíba - Campus II.
Campina Grande, Paraíba - BR.
. Fix, L. and O. Grumberg (1996). Verification of temporal properties.
Ioumal ofLogic anti Computation 6(3), 343- 361.
Murata, T. (1989) . Petri nets: Properties, analysis and applications. Proceedings ofthe IEEE 77(4), 541-580.
Nicol, D. M. and W. Mao (1991). Automated parallelization of timed
petrí-net simulations. In: Proceedingsofthe 1991 WinterSimulation Conference.
Freedman, P. (1991). Time, petri nets, and robotics.IEEE Transactions
on Automatic ControI7(4), 417-433.
Nicola, R. De and F. Vaandrager (1995). Three logics for branching
bisimulation. Joumal ofthe ACM 42(2),458-487.
Galton, A. (1987). Temporal Logics anti their Applications. Academic
Press.
Ostroff, J. S. (1989) . Temporal Logic for Real-Time Systems. Research
Studies Press Lld.
Gaubert, S. and J. Mairesse (1997) . Modeling and analysis of timed
petri nets using heaps of pieces. To appear on the IEEE Transactions on Automatic Control.
Papelis, A. and T. L. Casavant (1992) . Specification and analysis ofparallelldistributedsoftware and systems by petri nets with transition
enabling functions. IEEE Transactions on Software Engineering
.
Gaubert, S., J. P. Quadrat and G. Cohen (1995) . Asymptotic throughput
of continuous timed petri nets. In: Proc. Of the 34th Conference
on Decision and Control, New Orleans.
Giua, A. and F. DiCesare (1994) . Blocking and controllability of petri
nets in supervisorycontroI.IEEE Transactionson Automatic ControI39(4), 818-823.
Grumberg, O. and D. E. Long (1994 ). Model checking and modular
verification. ACM Transactions on Programming Languages anti
Systems 16(3), 843-871.
Heljanko, K. (May, 1997) . Model checking the branching time temporal
logic ctl. TechnicalReport 45. Helsinki University of Technology
- Otaniemi, Finland.
18(3),252-261.
Peterson, J. L. (1981). PetriNet Theory anti Modeling ofSystems. Prentice Hall.
Proth, J-M and X. Xie (1996). Petri Nets: A Toolfor Design and Management ofManufacturingSystems. John Wiley e Sons Ltd.
RacIoz, P. and D. Buchs (1997) . Symbolic proof of ctl formulae over
petri nets. Technical reporto C.U.I. University of Geneva.
Ramadge, P. J. G. (1989). Some tractable supervisory control problems for discreteevent systems modeled by büchi automata. IEEE
Transactions on Automatic CdntroI34(l), 10-19.
Ramadge, P. J. G. and W. M. Wonham (1982). Supervision of discrete
event processes. Procedings of21st Conference on Decision anti
Control pp. 1228-1229.
Holloway, L. E., B. H. Krogh and A. Giua (1997). A survey of petri
net methods for controlled discrete event systems. Discrete Event
Systems: Theory and Applications pp. 131-190.
Ramadge, P. J. G. and W. M. Wonham (1989). The control of discrete
event systems. Proceedings ofthe IEEE 77(1 ),81-98.
Hopcroft, J. E. and J. D. Ullman (1979 ). Introductionto Automata Theory, Languages and Computation. Addison-Wesley, USA.
Reisig, W. (1985) . Petri Nets: an Introduction. Springer-Verlag Berlin
Heidelberg.
Iwanska, L. (1996) . Natural (language) temporal logic: Reasoning
about absolute and relative time. Intema tional Journal of Expert
Reisig, W. (1992). A Primer in Petri Net Design. Springer-Verlag.
Sakalauskaité, J. (1996) . Nonclasual resolution system for branching
temporal logic. Technical reportoInstitute of Matematics and Informatic. Lithuania.
Systems 9(1) , 113-149.
Jantzen, M. (1987). Language theory of petri nets, central models and
their properties. In: Advances in Petri Nets, Lectures Notes in
ComputerSciences. pp. 397-412.
Sreenivas, R. S. (1997). On the existence of supervisory policies that
enforces liveness in discrete-event dynarnic systems modeled by
controlled petri nets, IEEE Transactions on Automatic ControI
Jensen, K. (1992) . Coloured Petri Nets - Basic Concepts, Analysis
Methods and Practical Use. VoI. 1 : Basic Concepts, SpringerVerlag.
42(7), 928-945.
Sreenivas, S. R. and B. H. Krogh (1992). On petri net models of infinite state supervisors. IEEE Transactions on Automatic Control
Jensen, K. and G. Rozenberg (1991) . High Levei Petri Nets Theory and
Applications. Springer Verlag.
37(2),818-823.
. Knight, J. F. and K. M. Passino (1990). Decidability for a temporallogic
used in discrete-event system analysis. IntemationaI JoumaI of
ControI52(6), 1489-1506.
Uchihira, N. and S. Honiden (1990) . Verificationand synthesis of concurrent programs using petri nets and temporal logic. Technical
reporto Institute for New Generation Computer Technology.
Krogh, B. H. (1987) . Controlled petri nets and maximally permissive
feedback logic. In: 25th AnnuaI Allerton Conference. University
oflllinois Urbana, USA. pp. 317-326.
Wonham,P.J. G. Ramadge E W. M. (1987) . Modular feedback logic for
discrete event systems. SIAM JoumaI ofControl and Optimization
Kumar, R. and L. E. Holloway (1996). Supervisory control of deterministic petri nels with regular specification languages. IEEE Transactions on Automatic ControI41(2), 245-249.
Zhou, MC. and F. DiCesare (1993). Petri Net Synthesis for Discrete
Event ControlofManufacturing Systems. Kluwer Academic PubIishers.
25(5), 1202-1218.
Kumar, R., V. Garg and S. I. Marcus (1992). On supervisory control
of sequential behaviors, IEEE Transactionson Automatic ControI
37(12), 1978-1985.
Lilius, J. (1995). On The Structure of High-Level Nets. PhD thesis.
Helsinki University of Technology - Otanierni, Finland.
Lilius, J. (June, 1993). A sheaf semantics for petri nets. Technical Report 23. Helsinki University ofTechnology - Otaniemi, Finland.
Lilius, J. (September, 1994). On the folding of algebraic nets, Technical
Report 30. Helsinki University ofTechnology - Otaniemi, Finland.
McMillan, K. L. (1992). Symbolic Model Checking: An Approach to
the State Explosion Problem. PhD thesis. Carnegie Mellon University.
538
Download

Utilizando redes de Petri multiplexadas na síntese de supervisores