Discuta brevemente sobre conflito e concorrência, e como podemos usar redes de Petri para modelar esses fenômenos.
Passo 1
O enunciado pede uma discussão breve sobre os conceitos de concorrência e conflito em sistemas de eventos discretos e como redes de Petri capturam esses fenômenos. Para isso vamos:
– Definir concorrência e explicar como ela surge em sistemas distribuídos.
– Definir conflito e exemplificar sua origem.
– Apresentar a formalização de uma rede de Petri e mostrar como nela ocorrem concorrência e conflito.
– Definir concorrência e explicar como ela surge em sistemas distribuídos.
– Definir conflito e exemplificar sua origem.
– Apresentar a formalização de uma rede de Petri e mostrar como nela ocorrem concorrência e conflito.
Passo 2
Concorrência é a capacidade de duas ou mais atividades (ou transições) ocorrerem independentemente, sem bloqueio mútuo. Num sistema real, isso aparece quando duas tarefas não compartilham recursos ou dependências. Em redes de Petri, se tivermos duas transições
e
com pre-lugares disjuntos (isto é,
), então
e
podem disparar em qualquer ordem ou até simultaneamente, caracterizando concorrência.
Passo 3
Conflito ocorre quando duas ou mais transições competem pelo mesmo recurso. Em redes de Petri, isso significa que existem transições
e
tais que compartilham pelo menos um lugar de entrada:
Se esse lugar contém apenas um token, ao disparar
consumimos o token e impedimos
até a próxima marcação, gerando uma escolha ou conflito.
Passo 4
Formalmente, uma rede de Petri é a tupla
onde
• é o conjunto de lugares,
• é o conjunto de transições,
• é o fluxo (arcos).
Cada lugar pode conter tokens segundo uma marcação . A disparidade de transições modela concorrência se suas pré-condições não conflitam e conflito se competem por tokens dos mesmos lugares de entrada.
•
•
•
Cada lugar pode conter tokens segundo uma marcação
Passo 5
Para modelar um sistema com ambas as situações:
- Identificamos recursos ou condições como lugares.
- Definimos transições para eventos ou atividades.
- Arcos de lugares a transições representam pré-condições; arcos de transições a lugares, pós-condições.
- Se duas atividades podem ocorrer simultaneamente sem compartilhar pré-lugares, elas são concorrentes.
- Se há escolha de qual atividade usar um recurso único, o conflito aparece naturalmente pelo compartilhamento de pré-lugares e o disparo exclusivo de uma transição.
Resposta
Com redes de Petri podemos representar concorrentemente atividades que não dividem pré-lugares (tokens independentes) e conflitos quando duas transições competem pelos mesmos tokens. A estrutura de lugares, transições e arcos faz emergir automaticamente esses comportamentos, fornecendo um modelo gráfico e matemático para análise de concorrência e escolha.