A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Finite State Process 1° Exercício – Controle de Estacionamento (carpark)- Um controlador é necessários para carpark, que só permite a entrada de carros.

Apresentações semelhantes


Apresentação em tema: "Finite State Process 1° Exercício – Controle de Estacionamento (carpark)- Um controlador é necessários para carpark, que só permite a entrada de carros."— Transcrição da apresentação:

1 Finite State Process 1° Exercício – Controle de Estacionamento (carpark)- Um controlador é necessários para carpark, que só permite a entrada de carros quando o estacionamento (carpark) não está cheio e não permite a saída de carros quando o estacionamento está vazio. A chegada (Arrivals) e saídas (Departures) são modeladas po processos distintos.

2 Finite State Process 1° Exercício – Controle de Estacionamento (carpark)-  Eventos ou ações de interesse? arrive e depart  Identifique os processos. arrivals, departures e carpark control  Defina cada processo e interações (estrutura). ARRIVALS CARPARK CONTROL DEPARTURES arrive depart CARPARK

3 Finite State Process 1° Exercício – Controle de Estacionamento - CARPARKCONTROL(N=4) = SPACES[N], SPACES[i:0..N] = (when(i>0) arrive->SPACES[i-1] |when(i SPACES[i+1] ). ARRIVALS = (arrive->ARRIVALS). DEPARTURES = (depart->DEPARTURES). ||CARPARK = (ARRIVALS||CARPARKCONTROL(4)||DEPARTURES). Analise o LTS associado a cada processo e ao processo global.

4 Finite State Process 2° Exercício – Uso de Recursos por Dois Usuários -  A composição paralela de processos que interagem entre si pode levar a deadlock.  Problema: dois usuários (p e q) usam concorrentemente dois recursos do sistema (scanner e printer). printer: RESOURCE get put SYS scanner: RESOURCE get put p:P printer scanner q:Q printer scanner

5 Finite State Process 2° Exercício – Uso de Recursos por Dois Usuários - 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 ). Há Deadlock ? Qual é o trace para Deadlock ?

6 Finite State Process 2° Exercício – Uso de Recursos por Dois Usuários - RESOURCE = (get -> put -> RESOURCE). P = (printer.get -> scanner.get -> copy -> printer.put -> scanner.put -> P). Q = (printer.get -> scanner.get -> copy -> printer.put -> scanner.put -> Q). ||SYS = (p:P || q:Q || {p,q}::printer:RESOURCE || {p,q}::scanner:RESOURCE ).  Solicitação de recursos numa mesma ordem.

7 deadlock analysis - avoidance  acquire resources in the same order?  Timeout: P = (printer.get-> GETSCANNER), GETSCANNER = (scanner.get->copy->printer.put - >scanner.put->P |timeout -> printer.put->P ). Q = (scanner.get-> GETPRINTER), GETPRINTER = (printer.get->copy->printer.put - >scanner.put->Q |timeout -> scanner.put->Q ). Deadlock? Progress?


Carregar ppt "Finite State Process 1° Exercício – Controle de Estacionamento (carpark)- Um controlador é necessários para carpark, que só permite a entrada de carros."

Apresentações semelhantes


Anúncios Google