• Nenhum resultado encontrado

METODOLOGIA DE MODELAGEM REDES DE PETRI

No documento PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ (páginas 105-110)

MACIEL, et al (1996) e TANEMBAUM (2003), explanam que as Redes de Petri fo- ram criadas inicialmente por Carl Adam Petri em 1962. Estas podem ser vistas como uma fer-

ramenta para a modelagem e uma técnica de especificação formal de sistemas concorrentes e sincronização em sistemas distribuídos, contendo atividades paralelas, concorrentes, assíncro- nas e não-determinísticas. Esta ferramenta tem uma abordagem visual auxiliando na modela- gem do comportamento de sistemas. As propriedades teóricas de redes de Petri estão sendo muito estudadas e se mostrando abrangentes e aplicáveis em várias áreas como ciência da computação, engenharias eletrônica e química, administração de empresas, amplamente ex- plorada na ciência da computação e na engenharia eletrônica, e no projeto de softwa- re/hardware, diagnóstico de falhas entre outros.

A especificação de Redes de Petri incide em três tipos de componentes: lugares (círcu- los), transições (retângulos) e arcos (setas), apresentados na Fig. 37. Os lugares são os estados possíveis de um sistema; as Transições são eventos ou ações que podem causar mudanças de estado e os arcos conectam lugares com transições (e vice-versa).

Figura 37 - Rede de Petri – Conceitos. Fonte: MACIEL, et al, 1996.

As mudanças de estado são apresentadas quando os tokens (pontos negros) se movi- mentam, isso quando é desfechada uma transição que só é habilitada quando existem tokens suficientes nos lugares de entrada. O disparo de uma transição representa a ocorrência de um evento ou de uma ação tomada. O evento é sensível a condições de entrada, demonstrado pela disponibilidade de tokens disponíveis.

Uma rede de Petri incide em posições, transições e arcos direcionados. Os Arcos inter- ligam posições e transições, não podendo conectar posições e posições ou transições e transi- ções. As posições de entrada de uma transição são aquelas as quais um arco se destina. As po- sições de saída são aquelas das quais um arco se origina. As Posições podem conter qualquer número de tokens. As Transições podem ser desfechadas, isto é, executadas: quando uma transição é disparada, ela consome um token de cada uma das suas posições de entrada, e pro- duz um token em cada uma das suas posições de saída. Após o disparo os tokens são transfe- ridos dos lugares de entrada para os lugares de saída. Uma transição é habilitada quando ela pode ser disparada, isto é, quando existem tokens em cada posição de entrada. A execução de uma rede de Petri é não-determinística. Isso significa que múltiplas transições podem ser ha- bilitadas ao mesmo tempo (cada uma pode ser disparada) e que não é obrigatória a execução

de nenhuma transição em determinado momento.

Figura 38 – Ex.: Um garçom atende clientes em um restaurante. Fonte: MACIEL, et al, 1996.

Observando o mundo real, se percebe que os eventos acontecem simultaneamente. Pa- ra formar um estado global, um sistema pode ter diversos estados locais. Existe a necessidade de modelar a concorrência e sincronização (CARDOSO, et al., 1997).

Por esses fatores principalmente, é que se torna interessante a utilização das Redes de Petri numa modelagem sistêmica complexa. Os estados podem ser considerados como hólons. Por tanto, vários estados formam um estado global, assim como vários subsistemas formam um sistema.

Figura 39 – Exemplo de redes com Eventos não determinísticos. Escolha entre e1, e2 ou e3, e4. Fonte: CARDOSO, Janette et al, 1997.

Um sistema produtor-consumidor (Fig. 40), consistindo de um produtor, dois consu- midores e um buffer de armazenamento, sendo um problema computacional comum com as seguintes condições: a capacidade máxima do buffer de armazenamento é de cinco itens; em cada produção o produtor manda três itens; o buffer pode ser acessado por um consumidor de cada vez; quando acessa o buffer cada consumidor remove dois itens.

Figura 40 – Exemplo usando Produtor-Consumidor. Fonte: MACIEL, et al, 1996.

Observando a rede do exemplo na Fig. 40, se nota que cada lugar tem uma capacidade e cada arco tem um peso, desta forma é que múltiplos tokens estejam em um lugar demons- trando que as redes de Petri podem responder a modelagem de comportamentos complexos (MACIEL, et al, 1996).

3.15.1 Definição formal

Uma rede de Petri (S, T, F, M0, W, K) é dada por LINDEMANN (1998):

•••• S, um conjunto de posições.

•••• T, um conjunto de transições.

•••• F, um conjunto de arcos ou de relações de fluxo. É sujeito a restrição de que nenhum arco conecta duas posições ou transições, ou mais formalmente:

.

Figura 41 - Rede de Petri de exemplo. Fonte: LINDEMANN, 1998.

Segundo Lindermann (1998), quando em um grafo existem estados demais para pro- blemas práticos é usada a lógica linear temporal com o método de Tableau, para provar que tais estados não podem ser alcançados. Essa lógica usa a técnica de semi-decisão para encon- trar se realmente um estado pode ser alcançado.

Há redes de Petri nas quais as posições são restringidas em um número máximo de to- kens e as suas situações alcançáveis. Essa limitação é uma propriedade inerente (1-limitada ela é segura) e se limitada não estruturadamente é k-limitada, se não existe estado alcançável no qual alguma posição contém mais que k tokens. Apesar de a segurança precisar de uma re- de limitada, quando se deseja grande complexidade, as redes de Petri podem ser definidas sem limitações como uma propriedade estrutural (MURATA, 1989; GIRAULT e VALK, 2002).

“Limitações de certas posições em uma rede inerentemente limitada podem ser fei- tas em uma rede inerentemente não-limitada ao utilizar uma modificação de posição, no qual uma nova posição (chamada contra-posição) é criada, e todas as transições que levam x tokens na posição original levam x tokens para a contra-posição. O nú- mero de tokens em M0 agora deve satisfazer a equação place + counter − place =

boundedness. Assim, aplicar uma modificação de posição para todas as posições em

uma rede limitada, e restringindo o estado inicial M0 para satisfazer a equação aci- ma, uma rede limitada pode facilmente ser transformada em uma rede não-limitada.” (MURATA, 1989; GIRAULT e VALK, 2002)

Observando os comentários acima, conclui-se que qualquer análise usada em uma rede não-limitada pode ser utilizada em redes limitadas. Já que uma rede limitada pode ser feita não-limitada Mas uma análise de uma rede não-limitada não pode ser usada em uma rede li- mitada.

3.15.2 Os tipos principais de redes de Petri

Os principais tipos de Redes de Petri seguem abaixo (MURATA, 1989):

Máquina de estado - pode existir concorrência, mas pode haver conflito (por

exemplo. Matematicamente: .

Grafo marcado - não pode existir conflito, mas pode haver concorrência.

Matematicamente:

Livre escolha - pode haver ou concorrência ou conflito. Matematicamente:

Livre escolha extendida - pode ser transformada em uma Livre Escolha.

Escolha assimétrica - concorrência e conflito (em outros termos, confusão).

Matematicamente:

Em Rede de Petri é admitido a confusão, ambigüidade ou desordem.

As Redes de Petri são aplicadas em desenvolvimento de software, análise de dados, programação concorrente, diagnose (GIRAULT e VALK, 2002).

No documento PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ (páginas 105-110)