séances de travail et consultations
LA QUESTION PROBLÉMATIQUE DE LA RÉTRIBUTION
A análise formal do modelo RPC permite validá-lo em relação a algumas de suas propriedades estruturais e comportamentais. O CPN Tools oferece recursos para realização de análises em redes complexas e pode ser feita, como discutido por (AALST; STAHL, 2011), de diferentes maneiras:
• por validação, utilizando os recursos de simulação do CPN Tools, em que se pode verificar a sua dinâmica de maneira interativa. A imagem à esquerda da Figura 7 mostra um exemplo em que se pode simular e observar a modificação do estado do modelo de um jogo para validar a regra de movimentação do personagem (1‘1) do lugar1 para lugar2, o que pode ser feito antes da concepção definitiva da interface do jogo.
com o espaço de estados ou a geração de relatórios, que podem indicar, por exemplo, a presença de transições mortas.
• por análise de desempenho, utilizando monitores do CPN Tools, que são capazes de rastrear e registrar informações coletadas ao longo da execução de uma simulação.
Para realizar a análise, o projetista deve seguir os passos apresentados nos próximos parágrafos.
Figura 13 – Palheta para o cálculo do Espaço de Estados na ferramenta CPN Tools. A Figura 13 apresenta a palheta que disponibiliza as funcionalidades referentes ao cálculo do espaço de estados. Para que seja iniciado o cálculo do espaço de estados, o projetista deverá clicar no botão indicado pelo número 1, clicar em cima da rede e a ferramenta irá mostrar a mensagem de que o cálculo foi realizado com sucesso (bolha de mensagens verde), como pode ser visto na Figura 14a. Em seguida, o projetista deverá clicar no botão indicado pelo número 2 da Figura 13 e depois sobre a rede, para poder calcular o grafo componentes fortemente conectados (strongly connected componente – SCC ) (mensagem da ferramenta apresentada na Figura 14b). Ao clicar no botão do número 3 da Figura 13, o usuário irá escolher em qual diretório ele deseja salvar o relatório resultante da análise. O relatório gerado tem o formato de texto e pode ser salvo tanto em .txt, .rtf, ou outra extensão de preferência do usuário. No final, a ferramenta irá mostrar a mensagem de confirmação, como visto na Figura 14c.
Caso seja de interesse do projetista, também é possível realizar a análise de forma gráfica. Para tal, é necessário ter concluído os passos descritos no parágrafo anterior. Para uma melhor visualização do grafo, o projetista deve criar uma nova página no CPN Tools, como apresentado na Figura 15a. Nessa nova página, o projetista deve iniciar o grafo do espaço de estados clicando no botão de número 4 da Figura 13 e clicando dentro da nova página (Figura 15b). O passo apresentado na Figura 16a é a criação dos outros nós a partir da funcionalidade do item 5 da da Figura 13. A imagem resultante da geração do grafo é apresentado na Figura 16b.
Para qualquer alteração na rede, deve ser realizada uma nova análise do espaço de estados.
Capítulo 3. Modelagem de Jogos de Concepção Simples com Redes de Petri Coloridas 33
(a) Espaço de estados. (b) Grafo SCC.
(c) Relatório.
Figura 14 – Mensagens do resultado dos cálculos realizados pela ferramenta CPN Tools.
(a) Criação de uma nova página no
CPN Tools
(b) Início da geração do grafo do espaço de estados.
Figura 15 – Passos para a geração do grafo do espaço de estados
(a) Geração do grafo do EE. (b) Grafo do EE gerado. Figura 16 – Passos para a geração do grafo do espaço de estados
A partir do relatório de análise gerado pelo CPN Tools, o projetista pode verificar as propriedades padrões da RPC, tais como se a rede é limitada (bounded), se ela possui marcações mortas (deadlock), se todas as transições são habilitadas a partir de uma marcação qualquer (liveness, deadlock free), se toda marcação é alcançável a partir de qualquer outra marcação (home-marking), e se a partir de qualquer marcação é possível voltar à marcação inicial (rede reversível). Essas propriedades podem ser verificadas a priori em modelos construídos em RPC que foram concebidos para a geração de jogos, de maneira a validar regras para eles estabelecidas antes mesmo da fase de acabamento e execução do jogo. Por exemplo, em um determinado jogo, pode-se querer verificar a inexistência de regiões cujo trânsito seja impedido. Em outro, pode-se querer verificar se é possível haver mais de uma ficha (personagem) em um determinado lugar. Tais verificações podem ser realizadas pela emissão de relatório de análise do CPN Tools.
Para exemplificar, será analisada a existência de um bloqueio (deadlock) usando uma modificação do modelo da Figura 10. Se a transição t1 for removida, os sprites que chegarem no lugar planet1 não podem mais sair de lá, o que caracteriza uma situação de deadlock (essa modificação está ilustrada na Figura 17). Além da exclusão da transição t1, os arcos da transição t10 tiveram as respectivas direções modificadas.
Figura 17 – Rede da Figura 10 sem a transição t1.
O deadlock, bem como outras propriedades, pode ser constatado durante uma simulação, pode ser verificado também por análise do espaço de estados da RPC ou, ainda, através do relatório de análise gerado pelo CPN Tools. Para o exemplo apresentado na Figura 17, gerou-se o relatório de análise (apresentado na Figura 18) a partir da marcação inicial estabelecida no modelo (1‘2 + +1‘1 no lugar planet4 da Figura 10).
Capítulo 3. Modelagem de Jogos de Concepção Simples com Redes de Petri Coloridas 35 O relatório pode conter dados de acordo com a necessidade de análise do projetista. Neste trabalho são utilizadas as opções padrão da ferramenta, porém o projetista pode eliminar qualquer uma delas no momento da geração do relatório. Utilizando a Figura 18 como suporte, pode-se verificar que essas opções fornecem: (1) os dados estatísticos (dados do espaço de estados); (2) as propriedades de limitação; (3) as propriedades da marcação; (4) propriedades de vivacidade (marcação morta e instancias de transições vivas ou mortas); (5) propriedades de justiça de transições (fairness) (KRISTENSEN, 2010). Os itens 4 e 5 só podem ser calculados se o projetista tiver realizado o passo da Figura 14b.
A parte 1 do relatório da Figura 18 mostra que as marcações alcançáveis do grafo do espaço de estados foi gerado completamente (Status: Full). Também é apresentada a quantidade de nós (Nodes: 48 ), arcos (Arcs: 116 ) e o tempo que foi gasto na construção do grafo do espaço de estados (Secs: 0 ).
A parte 2 apresenta a quantidade máxima e mínima de fichas em um lugar (Best Integers Bounds) para qualquer marcação alcançável, bem como a especificação das cores possíveis (Best Upper Multi-set Bounds e Best Lower Multi-set Bounds).
A parte 3 mostra a marcação que é alcançada a partir de todas as outras marcações da rede.
A parte 4 apresenta três características da rede: (i) se há alguma marcação que não possui transições habilitadas (marcação morta); (ii) se há alguma transição que não é habilitada em nenhuma marcação alcançável; (iii) se há alguma transição que pode ser habilitada a partir de qualquer marcação alcançável. Como a marcação 11 é uma marcação morta, então, não existe nenhuma transição que seja habilitada para todas as marcações (live transition instances - none). Da mesma forma, não existe nenhuma transição que não
seja habilitada pelo menos para uma marcação (dead transition instances - none).
A parte 5 trata da propriedades do grafo SCC (fairness). Esta propriedade dá informação sobre a frequência de ocorrência de transições em uma sequência de disparo infinita. Um transição é imparcial se ela pode ser disparada em todas as sequências de disparo infinitas. Na figura, apenas a transição t43 pode disparar nas duas sequências existentes (“t3 – planet4 – t43 – planet3 – t3” e “t5 – planet4 – t43 – planet3 – t10 – planet2 – t5”). Como existe um deadlock, então, não existem fair transition instances nem just transition instances.
Para melhor visualização do relatório apresentado na Figura 18, consultar o Apên- dice A.
Todas estas propriedades que foram apresentadas no relatório da Figura 18 ajudam o projetista a realizar a análise do jogo modelado. Pode-se verificar que qualquer jogador em qualquer estado da rede pode chegar ao estado 11 (Home markings); quando o jogo chega ao estado equivalente ao estado 11, nenhum jogador poderá mais sair do planeta
Figura 18 – Relatório gerado pela ferramenta CPN Tools a partir da rede da Figura 17. (Dead Markings) pois, neste estado não existe nenhuma transição habilitada. Note que o
estado 11 é, ao mesmo tempo, home marking e dead marking.
É importante que o projetista tenha ciência do que será útil para a análise do jogo. Por exemplo, o jogo da rede da Figura 17 pode ter como objetivo chegar ao lugar planet1, independente de sua marcação. Se esse fosse o objetivo do jogo modelado, para o exemplo específico, não importaria se o jogo possui algum tipo de bloqueio naquele determinado
Capítulo 3. Modelagem de Jogos de Concepção Simples com Redes de Petri Coloridas 37 lugar.
A Figura 19 mostra o espaço de estados para a rede da Figura 17, gerado pela fer- ramenta CPN Tools. No espaço de estados apresentado, pode-se verificar a impossibilidade de mudança de estado após o estado de número 11. Essa verificação é feita pela ausência de nós de saída.
Figura 19 – Gráfico do State Space gerado pela ferramenta CPN Tools a partir da rede da Figura 17.