• Nenhum resultado encontrado

6.3 Algoritmo do Jogo de Refinamento

7.1.1 Representando Mudan¸cas em Modelos KMTS

Mudan¸cas estruturais sobre KMTS podem ser produzidas por uma s´erie de mudan¸cas pri- mitivas como remover uma transi¸c˜ao, adicionar um estado ou modificar o valor associado a um literal em um estado.

Defini¸c˜ao 7.1.1 (Mudan¸ca Primitiva). Uma mudan¸ca primitiva x ´e uma opera¸c˜ao es- trutural sobre um KMTS M  pAP, Σ, S, s0, R , R, Lq definida como:

RT(s, a, s1): remove (s, a, s1) de R e de R (seps, a, s1q P R ); RT (s, a, s1): remove (s, a, s1) de R ;

ATps, a, s1q: adiciona a transi¸c˜ao ps, a, s1q em R;

AT ps, a, s1q: adiciona a transi¸c˜ao ps, a, s1q de R em R ;

ALps, lq: associa um literal l para o estado s de um modelo se l R Lpsq; RLps, lq: remove um literal l em um estado s de um modelo se l P Lpsq;

CLps, l, vq: muda a valora¸c˜ao de um literal l para v em um estado s, onde v P tV, F u; CTps, a{b, s1q: transforma a transi¸c˜ao ps, a, s1q em ps, b, s1q;

ASpsq: adiciona o estado s em S.

A aplica¸c˜ao de uma mudan¸ca primitiva x sobre um modelo M ´e representada por xpMq e a aplica¸c˜ao de um conjunto de mudan¸cas primitivas X sobre um modelo M ´e representada por XpMq. Em ambos os casos, um KMTS M1, que representa o modelo M modificado, ´e o resultado desta aplica¸c˜ao. Por exemplo, considere a adi¸c˜ao de uma transi¸c˜ao must ps, a, s1q em um KMTS M. Esta adi¸c˜ao ´e representada pelo conjunto X que ´e composto de duas mudan¸cas primitivas: uma do tipo AT para adicionar a transi¸c˜ao em M ; e outra do tipo AT para transformar a transi¸c˜ao may em uma transi¸c˜ao must. ´E importante executar AT antes de AT , todavia a nota¸c˜ao XpMq abstrai a ordem de execu¸c˜ao das mudan¸cas primitivas (numa implementa¸c˜ao deve-se pensar em uma sequˆencia ordenada de mudan¸cas e n˜ao em um conjunto).

Dadas duas mudan¸cas primitivas p0 e p1 dizemos que p0 e p1 s˜ao consistentes entre

si se uma n˜ao desfaz de alguma forma a modifica¸c˜ao realizada pela outra. Por exemplo p0  RT ps, a, s1q e p1  RTps, a, s1q n˜ao s˜ao consistentes entre si porque p1 remove

a transi¸c˜ao ps, a, s1q adicionada por p0. Como ser´a mostrado posteriormente, o conceito

de consistˆencia entre mudan¸cas primitivas ´e importante para evitar que o algoritmo de reparo entre em loop infinito.

7.1 O PROBLEMA DO REPARO DE REFINAMENTO 95

Defini¸c˜ao 7.1.2 (Consistˆencia entre mudan¸cas primitivas). Seja o KMTS M  pAPM, ΣM,

SM, sM 0, RM, RM, LMq e duas mudan¸cas primitivas p e p1. Dizemos que p e p1 s˜ao consis-

tentes se, e somente se elas n˜ao assumirem simultaneamente os seguintes valores: 1. p = RT(s, a, s1) e p’ = ATps, a, s1q; 2. p = RT (s, a, s1) e p’ = AT ps, a, s1q; 3. p = ATps, a, s1q e p’ = RT(s, a, s1) ou p’ = CTps, a{b, s1q; 4. p = AT ps, a, s1q e p’ = RT (s, a, s1) ou p’ = CTps, a{b, s1q; 5. p = ALps, lq e p’ = RLps, lq; 6. p = RLps, lq e p’ = ALps, lq; 7. p = CLps, l, vq e p’ = CLps, l, v1q tal que v  v1; 8. p = CTps, a{b, s1q e p’ = RT(s, b, s1) ou p’ = RT (s, b, s1).

Ao analisar as mudan¸cas consistentes sobre um modelo KMTS qualquer, verifica- mos que existe um n´umero finito de mudan¸cas consistentes que podem ser aplicadas sobre um modelo (como mostrado na Proposi¸c˜ao 7.1.3). As Proposi¸c˜oes 7.1.1 e 7.1.2 mostram, respectivamente, que a quantidade de mudan¸cas primitivas consistentes que podem ser aplicadas em um estado qualquer em rela¸c˜ao aos literais do modelo e em rela¸c˜ao `as transi¸c˜oes ´e finita. Como resultado destes fatos, conclu´ımos que a quantidade de mudan¸cas primitivas consistentes que podem ser aplicadas sobre um KMTS qualquer ´e finita se considerarmos que um n´umero finito de estados pode ser adicionado ao modelo. Proposi¸c˜ao 7.1.1. Seja um KMTS N  pAPN, ΣN, SN, sN 0, RN, RN, LNq e n P SN. O

n´umero de mudan¸cas primitivas consistentes entre si que podem ser aplicadas em n em rela¸c˜ao aos literais de N ´e finito.

Demonstra¸c˜ao. Seja um literal lP APN. Se lP LNpnq ent˜ao apenas uma mudan¸ca pode

ser realizada sobre l: mudar sua valora¸c˜ao (CLpn, l, vq) ou removˆe-lo pRLpn, lqq. Caso contr´ario, duas mudan¸cas podem ser realizadas: adicionar l (ALpn, lq) e atribuir um valor para l (CLpn, l, vq). Pela Defini¸c˜ao 7.1.2, qualquer outra mudan¸ca que envolva l e n, em qualquer um dos casos, ser´a inconsistente. Assim, o n´umero m´aximo de mudan¸cas que podem ser realizadas em um estado n em rela¸c˜ao aos literais ´e 2 |APN|, caso em que

nenhum literal est´a definido em n.

Proposi¸c˜ao 7.1.2. Seja um KMTS N  pAPN, ΣN, SN, sN 0, RN, RN, LNq e n P SN. O

n´umero de mudan¸cas primitivas consistentes entre si que podem ser aplicadas em n em rela¸c˜ao `as suas transi¸c˜oes de sa´ıda ´e finito.

Demonstra¸c˜ao. Seja um estado n P SN. Como N ´e determin´ıstico, n s´o pode ter, no

m´aximo,|ΣN| transi¸c˜oes de sa´ıda. Se uma transi¸c˜ao t com a a¸c˜ao a j´a existe nas transi¸c˜oes

96 REPARO DE REFINAMENTO

(CLpn, a{b, n1q) e mudar sua modalidade). Existem outras combina¸c˜oes de mudan¸cas que podem ser aplicadas, mas todas tamb´em tˆem tamanho 2 (dois). O pior caso ocorre quando n n˜ao possua nenhuma transi¸c˜ao de sa´ıda e para cada aP ΣN duas a¸c˜oes podem

ser realizadas: adicionar a transi¸c˜ao ATpn, a, n1q e ATpn, a, n1q para transformar a transi¸c˜ao em must. Neste caso, o n´umero m´aximo de mudan¸cas consistentes sobre as transi¸c˜oes de sa´ıda de um estado qualquer ´e dado por 2 |ΣN|.

Proposi¸c˜ao 7.1.3. Seja um modelo N  pAPN, ΣN, SN, sN 0, RN, RN, LNq. O n´umero

de mudan¸cas primitivas consistentes entre si que podem ser aplicadas sobre N ´e finito se um n´umero limitado T de estados for adicionado.

Demonstra¸c˜ao. O n´umero m´aximo de mudan¸cas primitivas que podem ser aplicadas em N ´e o somat´orio do n´umero m´aximo de mudan¸cas primitivas que podem ser aplicadas sobre os literais e sobre as transi¸c˜oes de cada estado. Considerando que T estados foram adicionados a SN (SApsq), temos que o modelo N tem SN T estados e a express˜ao que

representa esta soma ´e (obtida pela soma das express˜oes das Proposi¸c˜oes 7.1.1 e 7.1.2): 2 p|SN| T q  p|APN| |ΣN|q T

Pela Proposi¸c˜ao 7.1.2 a quantidade de mudan¸cas primitivas consistentes que podem ser aplicadas sobre N para que ele seja um refinamento de M ´e finita.