Redes de Petri
1° Exercício




Modele dois processos concorrentes entre si.
Cada processo é cíclico e compostos por
apenas três atividades.
Estes processos compartilham entre si dois
recursos: {printer, scanner}
Um modelo em redes de Petri para este
problema é apresentado no próximo slide.
Redes de Petri
1° Exercício
 Este modelo entra em Deadlock. Onde?
 Apresente sue modelo que evite esta situação.
Proc
1
p0
p3
t0
t3
p.printer.get

printer
p4
p1
p.printer.put
q.scanner.get
p6
q.printer.get
t4
t1
q.scanner.put
p.scanner.get
scanner
p5
p2
p.scanner.put
t2
p7
q.printer.put
t5

Proc
2
Redes de Petri
1° Exercício

Uma solução
Proc
1
p0
p3
t0
t3
p.printer.get

p1
p.scanner.get
t1
p2
p.scanner.put
p.printer.put
printer q.printer.get
p4
p6 q.scanner.get
t4
scanner
p5
p7
t2

Proc
2
t5 q.printer.put
q.scanner.put
Redes de Petri
1° Exercício
Considerando o analizado no modelo anterior, o que você alteraria na
Descrição FSP para evitar o deadlock?
RESOURCE = (get->put->RESOURCE).
P = (printer.get->scanner.get
->copy
->printer.put->scanner.put
->P).
Q = (scanner.get->printer.get
->copy
->scanner.put->printer.put
->Q).
||SYS = (p:P||q:Q
||{p,q}::printer:RESOURCE
||{p,q}::scanner:RESOURCE
).
Redes de Petri
2° Exercício
Traduza a descrição FSP para redes de Petri
MAKE_A = (makeA->ready->used->MAKE_A).
MAKE_B = (makeB->ready->used->MAKE_B).
ASSEMBLE = (ready->assemble->used->ASSEMBLE).
||FACTORY = (MAKE_A || MAKE_B || ASSEMBLE).
Redes de Petri
2° Exercício - Solução
MakeA
MakeB
Assemble
makeA
makeB
ready
ready
ready
assemble
used
used
used
Redes de Petri
2° Exercício - Solução
MakeA
MakeB
makeA
Assemble
makeB
ready
assemble
used
Jantar dos Filósofos
3° Exercício
Cinco filósofos estão sentados em torno
de uma mesa. Cada filósofo passa o tempo
pensando, tendo fome e comendo. No
centro da mesa há um prato de spaghetti.
Cada filósofo precisa de dois garfos para
comer e só podem utilizar os garfos
imediatamente a sua direita e a sua
esquerda.
Um garfo é colocado entre cada par de
filósofo.
•Para facilitar, gere a rede de Petri para
apenas três filósofos.
•Esta rede não deve entrar em bloqueio e
deve possibilitar que todos os filósofos
tenham a oportunidade de comer.
3
2
2
1
3
4
1
4
0
0
começa
pensar
Jantar dos Filósofos
pensando 3° Exercício - Solução
começa ter fome
garfo 2
Filósofo 3
comendo
pensando
com fome
com fome
começa
comer
começa
pensar
comendo
começa ter fome
começa
comer
Filósofo 2
comendo
começa
comer
com fome
garfo 3
garfo 1
começa ter fome
pensando
começa
pensar
Filósofo 1
Download

aulapratica4 - Centro de Informática da UFPE