• Nenhum resultado encontrado

Construção do espaço de estados de uma RdP

Existe várias técnicas possíveis para a construção da árvore, em que duas delas é mais usada: árvore de acessibilidade (ou alcançabilidade) e árvore de ocorrências. Nesta dissertação será abordada somente a técnica de árvore de acessibilidade, apresentada nos próximos parágrafos.

Dada uma marcação inicial, a arvore será contruída com base nas sequências de disparo de transições, gerando novas marcações para as transições ativadas. Seguindo o mesmo raciocínio do princípio, a partir de cada nova marcação geram mais marcações até que é encontrado uma marcação igual a que inicialmente tinha ou quando, nenhuma transição esteja habilitada. Uma marcação representa um nó na árvore e cada arco representa um disparo de uma transição que gera novas marcações. Caso a árvore seja infinita (presença de lugares não limitados) é introduzida um símbolo especial 𝜔 que pode ser visto como um conjunto infinito de marcações, sendo assim possível construir uma árvore reduzida (Figura 2.10) [21].

18

Figura 2.10: (a) Rede Petri; (b) árvore de acessibilidade [21].

Na árvore de acessibilidade, o nó com uma entrada 𝜔 representa um conjunto de marcações infinitos quando são considerados todos os valores possíveis de 𝜔. A referência [21] apresenta um algoritmo de como é construído a árvore de acessibilidade que é apresentado seguidamente.

(1) A marcação inicial 𝑀0; cria (𝑀0);

𝑀𝑐𝑜𝑛𝑗 = ∅; ( 𝑀𝑐𝑜𝑛𝑗 é um conjunto de marcações finito) (2) Quando deixa de ser o nó da marcação atual M

repetir enquanto há transição { se ( 𝑀𝑐𝑜𝑛𝑗 = ∅)

então {cria (nova marcação M’) nó(M) →t →nó (M’) 𝑀𝑐𝑜𝑛𝑗 = {M’}

}

se não {repetir para cada 𝑀𝑘 ∈ 𝑀𝑐𝑜𝑛𝑗 se (M’ = 𝑀𝑘)

então nó(M) →t →nó (𝑀𝑘) se (M’ = 𝑀0)

então nó(M) →t →nó (𝑀0) }

19

A ideia básica do algoritmo é, com uma marcação inicial 𝑀0, com uma marcação atual M e com uma transição 𝑡 disparada sobre M. Construi-se a árvore em termos da marcação resultante M’. Se M’ é igual a uma certa marcação na árvore de acessibilidade então desenha se um arco de M para a marcação existente. Se M’ é diferente de qualquer outra marcação existente, então M’ é uma nova marcação e um arco de M para M’ é introduzido na árvore. Quando não há mais nenhuma transição habilitada o procedimento é encerrado.

2.5.1 Geração de espaço de estados da rede IOPT

A rede IOPT tem um papel importante na implementação de sistemas de controladores hardware e de software. Para criar esses controladores, deve-se conhecer a informação sobre um determinado conjunto de propriedades do sistema, que é obtida através do espaço de estados [22]. A classe de rede IOPT utiliza a semântica de execução Maximal-Step para a geração do espaço de estados [22][23]. Para o processamento de modelos de redes de IOPT, as ferramentas de geração do espaço de estados utiliza a estratégia de geração automática de código. Oferece também uma maior velocidade de geração do espaço de estados, melhorando a capacidade de analisar sistemas mais complexos [22].

A semântica de execução de Maximal-Step, significa que todas as transições habilitadas em um instante específico são disparadas numa próxima etapa de evolução. Com isso, garante-se uma operação coerente e determinística, um recurso responsável para geração automática de código de software e síntese de controladores em hardware. A operação determinística também requer a resolução de conflitos entre transições, atingindo-as com atribuição das prioridades das transições e arcos de teste [22].

O estado da rede IOPT é um vetor que inclui a marcação e todos os valores de sinais de saída influenciados pelos eventos de saída, isto porque o sistema memoriza os valores desses sinais [22].

20 2.5.1.1 Grafo do espaço de estados

O grafo do espaço de estados é composto por um conjunto de nós representando todos os estados da rede IOPT alcançáveis e um conjunto de arcos conectando cada nó aos respetivos filhos. Os nós filhos são todos os nós descendentes, originados de um único nó pai através do disparo de uma ou mais transições durante um passo de execução. Nós e arcos, contém anotações, isto é, representam vetores de estados e lista de transições disparadas de nó pai para originar cada nó filho [22].

Nas próximas alíneas são apresentadas definições mais detalhada do espaço de estados de uma rede de IOPT, baseadas em [22].

Definição 5: 𝑃𝑂𝑆 e 𝑂𝐸𝑆 são respetivamente place output signal e output-event signals, tal como:

1) 𝑃𝑂𝑆 é um subconjunto finitos de sinais de saída 𝑂𝑆 (definição 2) 2) 𝑂𝐸𝑆 é um subconjunto finitos de sinais de saída 𝑂𝑆

3) 𝑃𝑂𝑆 ∩ 𝑂𝐸𝑆 = ∅

Definição 6: Um vetor de estados da rede IOPT é um tuplo 𝑆𝑆𝑉 = (𝑀, 𝑂𝐸𝑆𝑣) onde: 1) 𝑀 é um vector de marcação de lugar (𝑀 da definição 4).

2) 𝑂𝐸𝑆𝑣 é um vetor de valores 𝑂𝐸𝑆

Definição 7: 𝑇𝑆 é um conjunto de transições tal com 𝑇𝑆 ⊆ 𝑇 (definição 4).

Definição 8: dado uma rede IOPT (definição 4), o grafo do espaço de estados de uma

rede IOPT é definido por um tuplo 𝑆𝑆 = (𝑠𝑁, 𝑠𝐴, 𝑛𝑠𝑣, 𝑎𝑡) satisfazendo os seguintes requisitos:

1) 𝑠𝑁 é um conjunto finitos de nós chamados estados.

2) 𝑠𝐴 é um conjunto finitos de arcos conectado nós, que satisfaz a seguinte condição 𝑠𝐴 ⊆ 𝑠𝑁 × 𝑠𝑁.

3) 𝑛𝑠𝑣 é um estado de sistema de função parcial aplicando anotações de vector de estados para nós 𝑛𝑠𝑣: 𝑛𝑁 → 𝑆𝑆𝑉.

4) 𝑎𝑡 é um conjunto de função parcial de transição aplicando anotações de conjuntos de transições para arcos 𝑎𝑡: 𝐴 → 𝑇𝑆.

Na Figura 2.11 encontra-se representado um modelo de rede Petri não-autónoma, com três sinais de entrada IS1, IS2 e IS3 e todas as transições possuem expressões

21

de guard que condicionam o disparo de transição de acordo com o estado do respetivo sinal de entrada.

Figura 2.11: Modelo de rede IOPT [22].

O grafo do espaço de estados representado na Figura 2.12 do modelo de rede de IOPT (Figura 2.11) foi criado utilizando a semântica de Maximal-Step, o que cria uma complexidade do espaço de estados devido a aumento do número de arcos.

Figura 2.12: Gráfico do espaço de estados de rede IOPT [22].

A semântica maximal-step ainda é derivado das seguintes regras [22]:

Teorema 1: Dado um nó do espaço de estados, onde um subconjunto de N transições habilitadas 𝑇𝑆 sem nenhum conflito, o número C de nós filhos será dado por 𝐶 = 2𝑁

22

Corolário 1: Dado um nó do espaço de estados, onde o subconjunto de N transições habilitadas TS são habilitados, se o número de nós filho C for menor que 2𝑁− 1 então

o subconjunto de transição TS tem conflitos.

Documentos relacionados