• Nenhum resultado encontrado

5.2 An´alise de RPT s via M´etodos Baseados em Ordem Parcial

5.2.2 Unfolding ou Desdobramento

A t´ecnica do unfolding, cujo termo que mais se aproxima em portugues ´e Desdobra- mento, foi originalmente apresentado por K. L. McMillan [McM92] e se constitui em uma das mais bem sucedidas t´ecnicas para detec¸c˜ao de bloqueio. Nessa t´ecnica, uma RP segura ´e transformada em uma rede ac´ıclica por um processo chamado unfolding. O unfolding gera uma rede ac´ıclica finita, tendo exatamente as mesmas marca¸c˜oes alcan¸c´aveis que a rede ori- ginal. A an´alise estrutural na rede desdobrada ´e bem mais f´acil do que da rede original e como a semˆantica usada ´e baseada na rela¸c˜ao de ordem parcial, o problema de explos˜ao do n´umero de estados pode ser evitado por meio de uma busca seletiva. Uma vez gerado o unfolding, aplicam-se diferentes m´etodos de an´alise, tais como, algoritmo branch-and-bound

5.2 An´alise de RPTs via M´etodos Baseados em Ordem Parcial 66 em [McM92, Lil99], transforma¸c˜ao do unfolding em subconjuntos de unfoldings livres de bloqueio [TKK98, LK06], entre outros.

Alguns elementos b´asicos para o entendimento da t´ecnica unfolding [McM92, ES01], s˜ao sumarizados a seguir.

Defini¸c˜ao 5.2 (Rela¸c~ao de Ordem) [TKK98] - Seja N = hP, T, Fi, uma RP ac´ıclica e x1, x2

P ∪ T

• x1 precede x2 (x1¹ x2) se (x1, x2) pertence ao fecho reflexivo-transitivo de F, ou seja,

existe um caminho entre x1 e x2. A rela¸c˜ao de precedˆencia ´e reflexiva, assim, ∀x : x ¹ x.

• x1 e x2s˜ao conflitantes (x1∨ x2) se existe t1,t2∈ T , distintos, tal que •t1∩•t26= /0, t1¹ x1

e t2¹ x2.

• x1 e x2 s˜ao concorrentes (x1k x2) se n˜ao s˜ao precedentes nem conflitantes.

As RP ac´ıclicas s˜ao f´aceis de serem analisadas, pois suas propriedades s˜ao completamente especificadas por rela¸c˜oes de ordem [RK04]. Dessa forma, para an´alise e/ou manipula¸c˜ao de uma RP geral, um primeiro passo ´e transform´a-la numa descri¸c˜ao ac´ıclica equivalente. Essa equivalˆencia entre as redes ´e baseada na seguinte defini¸c˜ao.

Defini¸c˜ao 5.3 (Tra¸co Equivalente) [KKTT98] - As redes N1 e N2 com conjuntos de

transi¸c˜oes T1 e T2, respectivamente, s˜ao tra¸co equivalentes em rela¸c˜ao a uma parte r de

{T1} × {T2} se, e somente se para qualquer seq¨uˆencia s = t1, . . . ,tk, . . ., vi´avel em N1, existe

uma seq¨uˆencia q = τ1, . . . , τk, . . ., vi´avel em N2 e vice-versa.

Defini¸c˜ao 5.4 (Rede de Ocorr^encia) [TKK98] - ´E uma rede ac´ıclica N = hP, T, Fi, na qual todo lugar p ∈ P tem, no m´aximo, uma transi¸c˜ao de entrada, ou seja, |•p| ≤ 1.

Existe na literatura uma variedade de algoritmos para a obten¸c˜ao da rede de ocorrˆencia [McM92, TKK98, LK06, ES01]. Por meio de um exemplo b´asico, os conceitos necess´arios para determinar uma rede de ocorrˆencia, ser˜ao apresentados, como segue.

Exemplo 5.1 Na Figura 22a ´e mostrado uma RP c´ıclica com marca¸c˜ao inicial M0= p1, p2.

• Segundo a Defini¸c˜ao 5.2, tˆem-se as seguintes rela¸c˜oes de ordem para a RP na Fig. 22a: tak tb, tb¹ tc¹ td, p1k p2, p1k p4, ta∨ te

5.2 An´alise de RPTs via M´etodos Baseados em Ordem Parcial 67 • Cada transi¸c˜ao ti(lugar pi), na rede original, tem um conjunto de transi¸c˜oes ti0,ti00,ti000, . . .,

(lugares p0i, p00i, p000i , . . .) correspondentes, na rede de ocorrˆencia. S˜ao as chamadas ins- tˆancias de ti (pi). A rede original ´e tra¸co equivalente da sua rede de ocorrˆencia, ou

seja, qualquer execu¸c˜ao vi´avel na rede de ocorrˆencia, ´e tamb´em vi´avel na rede original. A Figura 22b mostra a rede de ocorrˆencia correspondente para a RP da Figura 22a.

Figura 22: RP c´ıclica (a) e a rede de ocorrˆencia (b)

Embora a rede de ocorrˆencia possa ser infinita ´e sempre poss´ıvel trunc[a-la numa subrede denominada ”prefixo finito completo”a qual possui todas as informa¸c˜oes a respeito da rede original. Esse prefixo finito completo ´e o chamado unfolding ou rede desdobrada. Para truncar a rede de ocorrˆencia ´e necess´ario a no¸c˜ao de configura¸c˜ao local e marca¸c˜ao b´asica [ES01]

Defini¸c˜ao 5.5 (Configura¸c~ao) [TKK98] - um conjunto de transi¸c˜oes C0⊆ T0 ´e uma confi- gura¸c˜ao na rede de ocorrˆencia se:

• para cada t0∈ C0, a configura¸c˜ao C0 cont´em t0 e todos os seus precedentes; • C0 n˜ao cont´em transi¸c˜oes mutuamente conflitantes;

5.2 An´alise de RPTs via M´etodos Baseados em Ordem Parcial 68 • A configura¸c˜ao m´ınima que cont´em t0 e todos os seus precedentes, ´e chamado configu-

ra¸c˜ao local da transi¸c˜ao t0 e ´e denotado por {¹ t0}.

Cada configura¸c˜ao C0 corresponde a uma marca¸c˜ao que ´e alcan¸c´avel a partir de M0 ap´os

todas as transi¸c˜oes de C0 terem sido disparadas. Essa marca¸c˜ao ´e chamada marca¸c˜ao final e ´e denotada por MF(C

0

). Uma marca¸c˜ao final de uma configura¸c˜ao local de t0 ´e chamada de marca¸c˜ao b´asica de t0 e ´e denotada por MB(t0).

As redes de ocorrˆencia s˜ao truncadas por uma transi¸c˜ao ti0 chamada transi¸c˜ao de corte (cut-off ).

Defini¸c˜ao 5.6 (Transi¸c~ao de Corte) - uma transi¸c˜ao t0 de uma rede de ocorrˆencia ´e uma transi¸c˜ao de corte se existe uma outra transi¸c˜ao t0j tal que:

• MB(t 0 i) = MB(t 0 j) e ]{¹ t 0 i} > ]{¹ t 0 j}, sendo ] a cardinalidade.

A rede resultante da rede de ocorrˆencia, removendo todos os lugares e transi¸c˜oes que sucedem as transi¸c˜oes de corte, ´e o unfolding.

Na rede de ocorrˆencia da RP da Figura 22b, a configura¸c˜ao local {¹ c0} ´e igual a {ta0, tb0, tc0}. A marca¸c˜ao b´asica MB(c

0

) = {p05, p002}.

As redes de ocorrˆencia s˜ao truncadas pela transi¸c˜ao de corte segundo diferentes crit´erios e classes de RP. Para que uma transi¸c˜ao ti0 seja de corte ´e necess´ario que a marca¸c˜ao b´asica de ti0 repita a marca¸c˜ao de alguma outra transi¸c˜ao t0j, j´a gerada pela rede de ocorrˆencia. Na Figura 23 ´e mostrado o unfolding para rede c´ıclica da Figura 22a.

Existem v´arios trabalhos usando unfolding na an´alise de RP via rela¸c˜ao de ordem. Al´em da facilidade de an´alise obtida ao transformar uma RP c´ıclica em uma equivalente ac´ıclica, os m´etodos de rela¸c˜ao de ordem usando unfolding, permitem verificar propriedades das RPs, tais como, seguran¸ca, limita¸c˜ao, persistˆencia, entre outras. Na seq¨uˆencia, s˜ao apresentados alguns teoremas e proposi¸c˜oes resultantes da an´alise de RP usando unfolding.

Teorema 5.2 ([McM92]) Seja N0 o unfolding de N. A marca¸c˜ao M ´e alcan¸c´avel de N se, e somente se, ´e a marca¸c˜ao final MF de alguma C0 finita de N0.

Proposi¸c˜ao 5.3 ([KKTT98]) Uma RP ´e segura, se e somente se, cada lugar p n˜ao tem instˆancias concorrentes no seu unfolding

Documentos relacionados