Alguns Casos Particulares



next up previous contents
Next: Comandos Up: Especificação do Comportamento Previous: Repetição

Alguns Casos Particulares

Algumas combinações dos operadores não se comportam bem quando efectuadas com as regras acima descritas. Vamos de seguida apresentar esses casos e as soluções propostas.

Dado que os operadores de sequência e de paralelismo síncrono necessitam que as marcações finais das duas expressões envolvidas se verifiquem para a expressão global poder terminar, as expressões

exp1exp2
exp1exp2
nunca terminariam se a definição da repetição fosse a apresentada na fig. 18. Mesmo que e considerassem a segunda condição da rede como marcação final, como a transição nula retira automaticamente o token quando ele lá é colocado, o problema mantém-se. A solução é redefinir, nestes casos, o operador de repetição para passar a ser o apresentado na fig. 19, considerando os operadores de sequência e de paralelismo síncrono a segunda condição como a marcação final dessa rede.

  
Figure 19: Rede para o Operador de Repetição (versão 2)

As expressões dos tipos

g1(v1)+(g2(v2)g3(v3))
g1(v1)+(g2(v2)g3(v3))
apresentam também problemas pois a transição nula inicial dos operadores e impede que g1(v1) possa ocorrer. Este problema pode ser solucionado reescrevendo a rede do modo que está apresentado na fig. 20.

  
Figure 20: Rede para os operadores de Soma e Concorrência

Finalmente existe o caso da expressão

(exp1exp2)
O problema aqui é que quando uma das expressões do operador terminar, deverá terminar a expressão global exp1exp2 para que possa reiniciar-se. O que acontece, no entanto, é que na outra expressão ainda existem tokens que é então necessário retirar. A única forma de o conseguir será incluir tantas transições nulas quantas as necessárias de modo a que, quando uma das expressões terminar, todos os tokens da rede da outra sejam removidos. A determinação dessas transições pode, no entanto, não ser trivial.



next up previous contents
Next: Comandos Up: Especificação do Comportamento Previous: Repetição



Jose Franscisco Creissac Campos
Wed Jan 31 20:30:35 MET 1996