Desdobramento Temporal
5.1 Definições e Algoritmo do Desdobramento Temporal
Para o desenvolvimento do desdobramento temporal serão estabelecidas algumas no-vas definições. Estas terão como base as definições do processo de desdobramento apresentado no capítulo 4, mas adequando-as ao fator tempo que as redes de Petri temporais possuem. A se-guir serão mostradas as definições necessárias para a expansão no processo de desdobramento.
Alguns dos conceitos anteriormente apresentados serão redefinidos para o nosso trabalho.
A inclusão do tempo no algoritmo de desdobramento impõe rever as definições de estado temporal, de transição disparável e dos efeitos do disparo de uma transição.
Definição 5.1 (Classe de estados temporal): Uma classe de estados temporal é uma dupla C = {M, Dtr} onde M é uma marcação e Dtr e o domínio do tempo relativo das transições habilitadas pela marcação M.
Definição 5.2 (Domínio de tempo relativo): Um domínio de tempo relativo Dtr é um conjunto de transições com seus intervalos de tempo relativo. Estas transições estão habilitadas por uma determinada marcação M de uma classe de estados temporal.
Definição 5.3 (Transição disparável): SejaCuma classe de estado temporal e t uma transição.
A transição t é disparável se e somente se:
LIT(t)≤Min(LST(ti)| ∀t,ti∈T et,ti ∈Th(M)).
Definição 5.4 (Disparo de uma transição): O disparo de uma transição disparável t de uma classe de estado temporal Ci = (Mi,Dtri), gera uma nova classe de estado temporal Cj = (Mk,Dtrj), onde:
Mj = Mi\•t, Mk = Mj ∪t•, Dtrj =T h(MK), Dtrj(tj) =
( ǫ(tj) caso 1, ri(tj)−ri(t) caso 2, Nos casos 1 e 2 respectivamente:
1. tjé habilitada emCj; 2. tjé persistente em Cj.
de acordo com a definição 3.6. Denota-se o disparo de uma transição comoCi[tiCj.
Definição 5.5 (Sequência de disparos temporal): Uma sequência de disparos temporalφé um conjunto de transições disparáveis cujos disparos levam de uma classe de estados temporalCk ate uma outra classe de estados temporalCk+n. Isto denotado por:Ck [σi Ck+n.
É também necessário incluir os elementos temporais no comportamento dinâmico da rede e na forma como ele é representado no desdobramento temporal.
Definição 5.6 (Processo): Um processo ς é um conjunto de eventos que representam a exe-cução de uma ou mais ações na rede de Petri ordinária. Esta exeexe-cução trabalha a partir do fechamento transitivo reflexivo. Assim formalmenteς ={e1 e2 . . . en}.
Definição 5.7 (Mapeamento de uma sequência de disparos temporal em um processo): Um processo de ordem parcial é representado por um mapeamentoΠde uma sequência de disparos temporal de uma rede de Petri temporal segura. A funçãoΠ que mapeia cada sequência de disparos temporal (t1, ..., tn) para um processo é definido como segue:
Π(t1,. . .,tn)={e1,. . .,en |ti=h(ei) ei ∈{1,. . ., n}}
Portanto, há uma relação bijetiva Π(φ) = ς entre uma sequência de disparos e um processo.
Utilizando as relações de fluxo descritas na seção 2.1 tem-se que os eventos de um processo têm uma relaçãoei ≺ej se e somente see•i ∩•ej ,0. Assim, o fechamento transitivo reflexivo será chamado de relação causal, tal que ∀ei, ej ∈ ς, ei ej. Com isto, pode-se comprovar a corretude do processo mediante o mapeamento de uma sequência de disparos.
O conjunto de todos os processos obtidos pela imagem do Π de uma sequência de disparos temporal é denotado porζ.
Uma vez que o comportamento de uma rede está ligado às suas restrições temporais, estas afetam diretamente seu comportamento. Assim, um processo é afetado por tais restrições, sobretudo quando for necessário disparar uma ou mais vezes transições que não pertençam ao processo (quando as restrições temporais dessas transições impuserem seu disparo em de-trimento de transições pertencentes ao processo). As duas definições a seguir tratam dessa situação.
Definição 5.8 (Evento de expansão): Seja e um evento eς = {e1 . . .en} um processo, e é um evento de expansão denotadoe se:˙
(i) e<ς;
(ii) h(e) é persistente tal queh(e)∈Dtreh(en)∈Dtre h(e)co h(en);
(iii) I(h(e)) = [0,0] ouh(e) é a unica transição disparável emDtrtal que∀t ∈Dtr, t é recém-habilitada e não disparável eh(e) é disparável ouDtrnão temtrecém-habilitadas.
Este evento ajuda a identificar quando é necessário o disparo de uma transição que não seja parte do processo, ou seja, sua informação temporal obriga que seu disparo ocorra antes dos demais eventos do processo. Por exemplo, sejam duas transições concorrentes t1[2,3] e t2[1,1], tal quet1,t2∈Dtret1∈ς et2<ς. Assim o disparo da transiçãot2é obrigatoria, uma vez que os intervalos temporais det2são menores que os det1.
Portanto, além da relação causal, também será necessário utilizar uma relação entre os eventos e os eventos de expansão. Esta relação determina uma ordem temporal na execução do evento e será denominada de relação de restrição temporal≫. Assim é necessário uma nova definição para um processo no qual um evento de expansão seja executado.
Definição 5.9 (Processo expandido): Um processo expandido ς˙ é um conjunto de eventos e eventos expandidos. Estes eventos possuem uma relação causal ou de restrição temporal entre eles. A relação entre dois eventos no processo expandido pode ser:
38
• ei ej;
• e≫e;˙
• e˙ e;
• e˙i ≫ e˙j.
Da mesma maneira como é validado um processo mediante o mapeamento de uma sequência de disparos, um processo expandido também pode ser validado mediante o mape-amento de uma sequência de disparos. Esta sequência de disparos possui tanto uma relação causal como também uma relação de restrição temporal. Portanto, será denotado-para a rela-ção entre os eventos no processo expandido, onde-representa uma relação de ordem causal ou uma relação de restrição temporal≫.
Da mesma maneira que os processos, o conjunto de todos os processos expandidos obtidos pela imagemΠde uma sequência de disparos é denotado por ˙ζ.
Dadas as definições sobre o comportamento da rede para o processo de desdobramento temporal, pode-se definir as definições específicas para o desdobramento temporal. Estas novas definições tem como base as definições apresentadas no desdobramento.
Definição 5.10 (Rede de ocorrência temporal): Uma rede de ocorrência temporal é uma tupla ONT=(ON,I), onde:
• ON é uma rede de ocorrência como descrito na definição 4.1;
• I: E→(Q+ ×(Q++∪ ∞)) tal queI(e)=[a,b].
Definição 5.11 (Processo de ramificação temporal): Um processo de ramificação temporal de uma rede de Petri temporal é um dupla Preft = (ONT,h), onde ONT é uma rede de ocorrência temporal e h é um homomorfismo h: B∪E → P∪T. A função de mapeamento h deve satisfazer as seguintes propriedades:
(i) h(B) ⊆ Peh(E) ⊆ T (preserva a natureza dos nós).
(ii) Sendo Min(ONT) o conjunto de elementos mínimos de B ∪ E que possuem um pré-conjunto vazio, a restrição dehparaMin(ONT) é uma função bijetora entreMin(ONT) e C0(Preftcomeça pela classe inicial). Assimh{Min(ONT)}=C0.
(iii) ∀e ∈E, a restrição de h para•e é uma função bijetora entre•eeh(•e), e simetricamente parae•eh(e)•(preserva o ambiente das transições).
(iv) ∀e,ep ∈E, se•e=•epeh(e)= h(ep) entãoe=ep(não existe redundância nas transições).
(v) Preft ⊆ ζ.˙
Da mesma maneira como apresentado na definição 4.3, o processo de ramificação tem-poral é infinito, uma vez que este pode dar início a vários processos de ramificação, sendo estes chamados de prefixos temporais. Um processo de ramificação temporalPrefp =(ONTp,hp) de TPNé um prefixo temporal de um processo de ramificação temporalPreft =(ONT,h) seONTp
⊆ ONT.
Os prefixos temporais são formados por configurações temporais, as quais são proces-sos expandidos que satisfazem algumas condições. Utilizando as definições 4.4 e 4.5 serão definidas a configuração temporal e a configuração local temporal.
Definição 5.12 (Configuração temporal): Uma configuração temporal Ct é um conjunto de eventos que satisfazem as seguintes condições:
(i) Ct é um processo expandido ˙ς; (ii) ∀e-ep,ep∈Ct ⇒e∈Ct; (iii) ∀e,ep ∈Ct: ¬(e#ep).
Definição 5.13 (Configuração local temporal): Para cada evento ej ∈ E, a configuração tem-poral [ej]t ={ei|ei-ej} é chamada de configuração local temporal de ej, eheji=[ej]\{ej} que corresponde ao conjunto de predecessores de ej.
Da mesma maneira como uma configuraçãoC pode estar associada a uma marcação Mark(C), como descrito no capítulo 4, a configuração temporal também pode estar associada a uma classe de estado temporal Class(Ct), que corresponde a uma classe alcançável a partir deC0após todos os eventos deCt terem sido disparadas. Desta forma, Class(Ct)= {M, Dtr}, onde:
• M=Mark(C), tal queC⊆Class(Ct)
• Dtr=Π([e]t)
Portanto,Class([e]t)= C.
Igualmente como no processo de desdobramento no caso da classe de estados temporal inicialC0, pode-se assumir que existe um evento inicial e=⊥tal que•⊥= ∅e⊥• =C0e⊥ ∈ Ct, assimClass([⊥]t)=C0. O evento inicial estará contido em todas as configurações temporais do desdobramento temporal.
Como dito anteriormente, o processo de ramificação temporal é infinito, mas é possível truncá-lo em uma subrede chamada de prefixo finito completo temporalPreftp, que possui todas as informações dePreft. A seguir será feita a definição de processo finito completo temporal.
Definição 5.14 (Prefixo finito completo temporal): Um prefixo finito completo temporal PrefFCt =(ONTp,hp) é uma subrede que conserva todas as propriedades da rede de Petri tem-poral. Este prefixo será à rede resultante do processo de desdobramento temporal, denotado por Unft.
Para obter o prefixo finito completo temporal primeiramente será necessário truncá-lo. Para isto será criada uma nova definição evento de corte. Esta definição terá como base a definição 4.6.
Definição 5.15 (Evento de corte temporal): Um evento de corte temporal é um evento que gera uma classe de estados temporal já existenteC, isto é, gera uma marcação já existente com uma mesma informação temporal, ou seja,∀ei,ej ∈E, tal que Class([ei])=Class([ej]).
Uma vez desenvolvidas as novas definições para o processo de desdobramento tempo-ral será criado um novo algoritmo. Este algoritmo tem como base o algoritmo convencional apresentado na secão 4.4.
A Figura 5.1 apresenta o algoritmo da nova abordagem.
A principal diferença está na inserção das transições na lista pe, uma vez que são utilizados os conceitos apresentados na seção anterior. Assim, uma transição será inserida em pese satisfizer uma das seguintes condições:
40
Input: UmaTPN ={PN,I}, sendo queM0={p1, . . . ,pk}
Output: Um prefixo finito completo temporalPrefFCt do desdobramento temporalUnft
1 PrefFCt←novas instâncias dos lugares de M0;
2 pe←transições disparáveis porM0;
3 cut-offt ← ∅;
4 whilepe,∅do
5 escolha um eventoe=(t, X) depetal que [e]t seja mínima respeitando a ordem adequada;
6 if [e]t ∩cut-offt=∅then
7 if e∩PrefFCt =∅then
8 adicioneee novas instâncias dos lugares deh(e)•emPrefFCt;
9 end
10 pe←PE(PrefFCt) {Atualiza as transições disparáveis};
11 if e é um evento de corte temporalthen
12 cut-offt ←cut-offt ∪e;
13 end
14 else
15 pe←pe\{e}
16 end
17 end
Figura 5.1: Algoritmo do desdobramento temporal
(i) té recém habilitada por uma classeCk, é disparável e não foi inserida na lista de transições habilitadas;
(ii) té persistente e recém disparável e não foi inserida na lista de transições habilitadas;
(iii) té persistente eDtr(t)=[0,0];
(iv) té persistente para uma classeCk eCk não tem transições recém-habilitadas disparáveis.
No segundo caso, uma transição persistente para uma classe de estados temporal Ck−1 torna-se disparável para uma classe de estados temporalCk após o disparo de uma outra transi-ção, gerando assim um novo intervalo na qual torna a transição disparável. Este novo intervalo temporal é calculado por meio da técnica do tempo relativo descrita no capítulo 3.
No terceiro caso, o intervalo temporal da transição persistente faz com que ela seja obrigatoriamente disparada para um correto funcionamento da rede, sendo portanto inserida em pe.
No quarto e último caso, uma transição persistente é inserida em pedevido a falta de transições recém-habilitadas disparáveis. Desta forma, para um correto funcionamento da rede, esta transição deverá ser disparada.
No terceiro e quarto caso, estas transições são inseridas empecom o objetivo de garan-tir a corretude das sequências de disparos das transições. Em ambos casos não serão inseridas as transições nem seus pós-conjuntos emPrefFCt, já que estas transições já foram disparadas e inseridas emPrefFCt.
O novo algoritmo também utiliza a ordem adequada descrita em [Esparza et al., 2002]
para a escolha das transições empe.
Após a criação do algoritmo do desdobramento temporal seram feitas as provas, demos-trando a geração do prefixo finito completo temporal pelo uso do algoritmo do desdobramento temporal.
Teorema 5.1 PrefFCt é finito.
Prova. Dado um eventoede PrefFCt, define-se a profundidade dee como o compri-mento da sequência mais longa dos eventose1- e2- . . .-e; a profundidade deeé denotada pord(e). Prova-se os seguintes resultados:
(1) Para cada evento edePrefFCt, d(e)≤ n+1, ondené o número de classes alcançáveis da TPN.
Uma vez que os cortes temporais correspondem a uma classe alcançável, cada sequência de eventose1 - e2 - . . .- en - en+1 de Unft contém dois eventos ei, ej, i - j, tal que Class([ei])=Class([ej]).
Uma vez que [e1] ⊂[ej], tem-se [e1]⊳[ej], portanto [ej] é um evento de corte temporal deUnft. Caso o algoritmo do prefixo finito temporal gerar ej, entãoei foi gerado antes deej e é reconhecido como um evento de corte temporal dePrefFCt também.
(2) Para cada eventoedePrefFCt, os conjuntos•eee•são finitos.
Pela definição do prefixo, existe uma bijeção entree• eh(e)•, ondehdenota uma função de rotulamento dePrefFCt, e similarmente para•ee•h(e). O resultado decorre da finitude deTPN.
(3) Para cadak ≥0,PrefFCt contém apenas um número finito de eventosetal qued(e)≤ k.
Por indução completa em k. O caso base, k = 0, é trivial. Seja Ek o conjunto de eventos de profundidade no máximok. Prova-se que seEk é finito entãoEk+1é finito.
Por (2) e pela hipotese de indução, Ek• é finito. Uma vez que •Ek+1 ⊆ Ek• ∪ Min(PrefFCt), obtém-se pela propriedade (iv) da definição do processo de ramificação temporal queEk+1é finito.
Teorema 5.2 (Unfté completo).
Prova. Dado um prefixo finito completoUnftdo desdobramento temporal que contém todas as classes de estados da rede de Petri temporal original prova-se:
(1) Dado quePrefFCt ⊆ ζ.˙
(2) Dado o disparo de uma transição t no grafo de classes de estados e o disparo do homo-morfismo da transiçãoh(t) na rede desdobrada temporalmente, as classes resultantes de ambos disparos são as mesmas, ou seja,C=C.
A marcação em ambas as classes são as mesmas pelas definições 2.11 e 5.4. Para as restrições temporais utilizando a definição 2.11 prova-se:
Do passo 1:
Paraαi:
αi= Max(0,−γf i,αi− βf) αi= Max(0,−(βf −αi),αi− βf)
42
αi= Max(0, (−βf +αi),αi− βf) αi= Max(0,αi− βf,αi− βf) αi= Max(0,αi− βf)
Para βi:
βi= Min(γi f, βi−αf) βi= Min(βi−αf, βi−αf) βi= Min(βi−αf)
Do passo 2:
Paraαi:
αi= Max(αi,αe−γei) αi= Max(αi,αe−(βe−αi)) αi= Max(αi,αe− βe+αi) αi= Max(αi,αe− βe+αi)
sejaαe 6 βe eαe− βe 6 0 e Max(αi,αe− βe+αi)=αi αi= Max(αi,αi)
αi=αi
Para βi:
βi= Min(βi, βe−γie) βi= Min(βi, βe−(βi−αe)) βi= Min(βi, βe− βi+αe) βi= Min(βi, βe+αe− βi)
Seja∀α, β > 0 e Min(βi, βe+αe− βi)= βi βi= βi
Portanto, os intervalos temporais nas classes de estados são obtidos por αi = Max(0, αi− βf) e βi = Min(βi− αf), sendo estes os mesmos utilizados no cálculo de álgebra intervalar apresentados na definição 3.2 derivada da definição 5.4 do cálculo do disparo na rede desdobrada. Assim, seja a classe de estadosCi e uma classe de estados temporal Ci, tal queCi =Ci, o disparo de uma transiçãot na classe de estadosCigerará uma outra classe de estados Cj. O disparo de h(t) na classe de estados temporal Ci gerará outra classe de estados temporalCj. Portanto,Cj =Cj.
Uma vez que o grafo de classes de estados é a enumeração de todas as classes de es-tados existentes da rede de Petri temporal e estas classes são resultado do disparo ou sequência de disparos das transições/eventos, podemos, a partir de (1), provar que todas as sequências existentes estão emPrefFCt e, de (2), que o disparo tanto no grafo de classes de estados. Por-tanto no processo de desdobramento temporal são geradas as mesmas informações nas classes resultantes. Todas as sequências de disparos e classes de estados do grafo de classes de estados estão contidas emPrefFCt.