• Sonuç bulunamadı

Platyhypnidium lusitanicum (Schimp.) Ochyra & Bednarek-Ochyra

BÖLÜM II MATERYAL VE METOT

Fotoğraf 3.23. Platyhypnidium lusitanicum (Schimp.) Ochyra & Bednarek-Ochyra

Se a transi¸c˜ao que est´a sendo implementada em um BCERP possuir um conflito estru- tural, ou seja, a transi¸c˜ao possuir um ou mais lugares de entrada em comum com outras

Tabela 8.6: An´alise de Disparo: tabela de transi¸c˜ao de estados para a comunica¸c˜ao com os componentes de resolu¸c˜ao de conflito e de processo de disparo

Estado Terminou Terminou Permiss˜ao A¸c˜ao Pr´oximo Atual Resol. Conf. Iter. Disp. Disparo Estado

T1 – N˜ao – – T1

T1 – Sim – – T13

T2 N˜ao – – – T2

T2 Sim – – – T3

T3 – – N˜ao Enviar sincronismo

de tempo T7 T3 – – Sim Ativar/Liberar

processo de disparo T6

T4 N˜ao – – – T4

T4 Sim – – Liberar itera¸c˜ao

de disparo T5 T5 – N˜ao – – T5 T5 – Sim – – T0 T6 – N˜ao – – T6 T6 – Sim – – T11 T15 N˜ao – – – T15

T15 Sim – – Enviar sincronismo

de tempo T16

transi¸c˜oes, ent˜ao o componente de an´alise de disparo ativa o componente de resolu¸c˜ao de conflito para a defini¸c˜ao das transi¸c˜oes que poder˜ao disparar. Na ativa¸c˜ao do componente de resolu¸c˜ao de conflito, o registrador de permiss˜ao de disparo ´e zerado e o estado atual

de processamento deixa de ser T0 e passa a ser T1. Neste instante, este componente ir´a

executar o algoritmo distribu´ıdo comentado na se¸c˜ao 8.2 e apresentado na tabela 8.7. Inicialmente, verifica-se a possibilidade interna de disparo da transi¸c˜ao (Pos. Disp.), que ocorre quando as marcas armazenadas s˜ao maiores ou iguais `as quantidades ne-

cess´arias para o disparo e quando o n´umero pseudo-aleat´orio armazenado ´e menor ou igual

ao conte´udo do registrador de probabilidade, caso tenha sido definida uma transi¸c˜ao com

probabilidade de disparo. Se, internamente, a transi¸c˜ao puder disparar, ent˜ao o compo- nente de resolu¸c˜ao de conflito ir´a enviar pacotes que informam aos outros blocos BCERPs

em conflito a possibilidade de disparo. A carga ´util dos pacotes enviados deve conter o

n´umero pseudo-aleat´orio armazenado. Se, internamente, n˜ao existir a possibilidade de

disparo, o componente de resolu¸c˜ao de conflito enviar´a pacotes indicando a impossibi- lidade de disparo. Ap´os o envio desses pacotes, o componente de resolu¸c˜ao de conflito espera o recebimento dos pacotes de dados provenientes dos outros blocos BCERPs que tamb´em est˜ao em conflito. A quantidade de blocos BCERPs em conflito ´e definida no processo de configura¸c˜ao e armazenada nos registradores Comun e Sincro. Desta forma, a resolu¸c˜ao de conflito s´o ir´a para a pr´oxima etapa ap´os o recebimento de todos os pa- cotes, ou seja, quando o registrador Comun for zerado pelo componente de decodifica¸c˜ao

Tabela 8.7: Resolu¸c˜ao de Conflito: tabela de transi¸c˜ao de estados

Estado Pos. Comun Sincro Num comp Pac. A¸c˜ao Pr´ox. Atual Disp. = 0 = 0 = Num arm Env. Estado

T1 – – – – – Verificar Pos. Disp. T15

T15 Sim – – – – – T12

T15 N˜ao – – – – Enviar pacote com

n´umero (pos. disp.) T6

T2 – – – – N˜ao – T2

T2 – – – – Sim – T3

T3 – N˜ao – – – – T3

T3 – Sim – – – Atualizar Comun Comparar Num comp e

Num arm T13 T13 – – – N˜ao – Num com <= Num arm

Enviar pacote de

sincronismo de conflito T4 T13 – – – Sim – Desativar resol. conf. T0

T4 – – – – N˜ao – T4

T4 – – – – Sim – T5

T5 – – N˜ao – – – T5

T5 – – Sim – – Atualizar Sincro T12

T6 – – – – N˜ao – T6

T6 – – – – Sim – T7

T7 – N˜ao – – – – T7

T7 – Sim – – – Atualizar Comun Comparar Num comp e

Num arm T14 T14 – – – N˜ao – Num com <= Num arm

Enviar pacote de

sincronismo de conflito T8 T14 – – – Sim – Num com <= Num arm

Enviar subtra¸c˜oes

Permiss˜ao Disp. <= 1 T10

T8 – – – – N˜ao – T8

T8 – – – – Sim – T9

T9 – – N˜ao – – – T9

T9 – – Sim – – Atualizar Sincro T1

T10 – – – – N˜ao – T10

T10 – – – – Sim – T11

T11 – – N˜ao – – – T11

T11 – – Sim – – Atualizar Sincro T12 T12 – – – – – Enviar pacote de

imposs. disparo T2

de pacotes. Nesta pr´oxima etapa, o registrador Comun ´e novamente carregado com o

valor inicialmente configurado e o n´umero pseudo-aleat´orio armazenado (Numero arm) ´e

comparado com o n´umero dispon´ıvel no registrador Numero comp. Vale ressaltar, que o

decodificador de pacotes ao receber pacotes com n´umeros pseudo-aleat´orios de outros blo-

cos BCERPs compara o n´umero enviado com o armazenado no registrador Numero comp

e o armazena se for menor do que o atualmente dispon´ıvel. Se, internamente, a transi¸c˜ao puder disparar e se Numero arm for igual a Numero comp, ent˜ao o bloco BCERP ganhou

a disputa e a transi¸c˜ao poder´a ser disparada, para tanto, no registrador de permiss˜ao de disparo ser´a armazenado o n´ıvel l´ogico alto. No t´ermino da execu¸c˜ao do componente de resolu¸c˜ao de conflito, a an´alise de disparo ir´a verificar o valor armazenado neste registra- dor e definir se a transi¸c˜ao ir´a disparar. Se, internamente, a transi¸c˜ao n˜ao puder disparar e se Numero arm for igual a Numero comp, ent˜ao n˜ao h´a mais transi¸c˜oes entre os blocos BCERPs que possam disparar, e assim encerra-se o processo de resolu¸c˜ao de disparo e o

estado atual passa a ser T0.

No entanto, se o Numero arm for diferente de Numero comp, outro bloco BCERP ganhou a disputa no disparo da transi¸c˜ao e ent˜ao envia-se pacotes de dados de sincronismo

de conflito e armazena-se novamente o conte´udo de Numero arm em Numero comp. Ap´os

est´a etapa, o componente de resolu¸c˜ao de conflito espera o recebimento de pacotes de todos os outros blocos BCERPs em conflito (Sincro igual a zero). O bloco BCERP que venceu a disputa para o disparo da transi¸c˜ao, ao inv´es de enviar pacotes de sincronismo de conflito, enviar´a pacotes de dados para a subtra¸c˜ao das marcas em todos os outros blocos BCERPs em conflito. Quando Sincro for igual a zero, ent˜ao o estado do componente de

resolu¸c˜ao de conflito ir´a novamente para T1 e o processo recome¸ca.

Benzer Belgeler