• Non ci sono risultati.

Automazione Esame in remoto: 15 giugno 2020 Esercizio 1

N/A
N/A
Protected

Academic year: 2021

Condividi "Automazione Esame in remoto: 15 giugno 2020 Esercizio 1"

Copied!
5
0
0

Testo completo

(1)

Automazione

Esame in remoto: 15 giugno 2020

Esercizio 1

Si consideri un sistema di automazione per veicoli a guida autonoma in cui, a livello di coordinamento, `e necessario gestire i seguenti task periodici:

#1 ogni 5 t.u. vengono analizzati i dati provenienti dai RADAR di prossimit`a, impiegando 2 t.u.;

#2 ogni 9 t.u. vengono analizzate i dati del LIDAR per la navigazione, impiegando 3 t.u.;

#3 ogni 15 t.u. vengono analizzati della videocamera per la segnaletica, impiegando 4 t.u.

Si ipotizzi che i task periodici siano indipendenti, dal punto di vista funzionale, l’uno dall’altro. I task devono essere gestiti con una modalit`a di scheduling hard real time. Si chiede di risolvere i seguenti punti.

• Verificare se sussiste la condizione necessaria di schedulabilit`a del problema.

• Verificare tutte le condizioni sufficienti di schedulabilit`a del problema, utilizzando l’algoritmo RMPO.

• Eseguire lo scheduling RMPO.

• Nel caso in cui RMPO non sia in grado di schedulare i task in maniera hard real time, eseguire lo scheduling utilizzando l’algoritmo EDF.

• Sostituendo, al posto del suddetto task periodico hard real time #3, un task aperiodico soft real time caratterizzato da a3 = 5 t.u., d3 = 40 t.u. e C3 = 9 t.u., verificare se `e possibile schedulare tale task entro la deadline assoluta usando RMPO come algoritmo hard real time, con strategia DEFERRING SERVER caratterizzata da TSRV = 15 t.u. e CSRV = 3 t.u.

Esercizio 2

Un pezzo deve subire due diverse lavorazioni L1 e L2 eseguite in sequenza in una FMC (Flexible Manu- facturing Cell) dove ci sono due macchine M1 e M2 attrezzate in modo da potere effettuare entrambe le lavorazioni. Il flusso standard (quello che garantisce la migliore efficienza) prevede che la lavorazione L1

venga effettuata dalla macchina M1 e la lavorazione L2 dalla macchina M2. Tuttavia, in caso di tempo- ranea indisponibilit`a di una delle due macchine (che possono svolgere anche altre attivit`a produttive), la relativa lavorazione viene eseguita dall’altra macchina, se a sua volta disponibile. Nella cella non entra un nuovo pezzo finch´e l’intera lavorazione del precedente pezzo non `e stata completata.

Modellare tale situazione prima con un automa di Mealy (descrivendo il significato degli stati e degli eventi di transizione) e poi con una rete di Petri posti/transizioni a pesi unitari (descrivendo il significato dei posti e delle transizioni, e fornendo anche matrice di incidenza e marcatura iniziale), in modo tale che non si creino situazioni di deadlock permanente e che il sistema si ritrovi ciclicamente nello stesso stato iniziale.

[90 minuti; libri aperti]

(no ricerche in internet, no scambi di informazioni con altri!)

(2)

Soluzione

15 giugno 2020

Esercizio 1

Per verificare la condizione necessaria si calcola il fattore di utilizzazione dei task periodici hard real time:

U = 2 5+3

9+ 4

15 =18 + 15 + 12

45 =45

45 = 1.

Verificata la condizione necessaria, controlliamo se esiste almeno una condizione sufficiente.

Ulsm(RMPO) = n



21/n− 1

= 3



21/3− 1 ' 0.78.

Dato che U > Ulsm, questa condizione sufficiente non `e verificata. Inoltre i 3 task non sono legati tra loro da relazioni armoniche. Non possiamo quindi dire a priori se RMPO `e in grado di schedulare i task. La soluzione dello scheduling RMPO `e riportata in Fig. 1.

Figura 1: Scheduling RMPO.

Da questa si evince che RMPO non `e in grado di schedulare in maniera hard real time i task periodici come richiesto, in quanto la deadline del task #3 viene mancata. La soluzione dello scheduling EDF `e riportata in Fig. 2.

Figura 2: Scheduling EDF.

Per l’ultimo punto, si noti che:

U = 2 5+3

9+ 3

15= 18 + 15 + 9

45 =42

45= 0.9¯3.

Verificata la condizione necessaria, controlliamo se esiste almeno una condizione sufficiente.

Ulsm(RMPO) = n

21/n− 1

= 3

21/3− 1 ' 0.78.

Dato che ancora una volta U > Ulsm, questa condizione sufficiente non `e verificata. Inoltre i 3 task non sono legati tra loro da relazioni armoniche e non possiamo di nuovo dire a priori se RMPO `e in grado di schedulare i task. La soluzione dello scheduling RMPO, con sostituzione del task periodico hard real time

#3 con un task aperiodico soft real time da gestire con politica DEFERRING SERVER, `e riportata in Fig. 3.

(3)

Figura 3: Scheduling con un task aperiodico soft real time al posto del task originario #3 e una politica di deferring server.

Esercizio 2

Una soluzione con un automa di Mealy, in cui sono presenti 7 stati e 9 eventi di transizione, `e illustrata nella Fig. 4. Il flusso di sinistra rappresenta l’evoluzione standard (quella efficiente), quello di destra l’eventuale scambio di lavorazioni effettuate sulle macchine.

waitL 2 waitL 1

nodispM1 .AND. nodispM2

L1M1 L1M2

L2M2 L2M1

dispM1

nodispM1

.AND. dispM2

fineL1 fineL1

dispM2

nodispM2 .AND. nodispM1

nodispM2 .AND. dispM1

fineL2 fineL2

dispcell

inpezzo

Figura 4: Automa di Mealy per le due lavorazioni in sequenza effettuate dalle due macchine nella FMC.

Il significato dei 7 stati `e il seguente:

• dispcell= cella disponibile

• waitL1 = pezzo in ingresso alla FMC, in attesa della lavorazione L1

• waitL2 = pezzo in attesa della lavorazione L2

• L1M1 = lavorazione L1 in esecuzione sulla macchina M1

• L1M2 = lavorazione L1 in esecuzione sulla macchina M2

• L2M1 = lavorazione L2 in esecuzione sulla macchina M1

• L2M2 = lavorazione L2 in esecuzione sulla macchina M2

(4)

Il significato dei 9 eventi di transizione `e il seguente:

• inpezzo = ingresso del pezzo nella FMC

• dispM 1= disponibilit`a della macchina M1su richiesta del supervisore

• dispM 2= disponibilit`a della macchina M2su richiesta del supervisore

• nodispM 1.AND. dispM 2 = disponibilit`a della macchina M2 su richiesta del supervisore, a seguito di indisponibilit`a della macchina M1

• nodispM 1.AND. nodispM 2= indisponibilit`a della macchina M2 su richiesta del supervisore, a seguito di indisponibilit`a della macchina M1

• nodispM 2.AND. dispM 1 = disponibilit`a della macchina M1 su richiesta del supervisore, a seguito di indisponibilit`a della macchina M2

• nodispM 2.AND. nodispM 1= indisponibilit`a della macchina M1 su richiesta del supervisore, a seguito di indisponibilit`a della macchina M2

• fineL1= fine della lavorazione L1

• fineL2= fine della lavorazione L2

Si noti che gli eventi ammissibili sono associati solo ad alcuni stati dell’automa. I due eventi di indisponi- bilit`a di entrambe le macchine M1 e M2si potrebbero anche fondere in uno solo, non considerando l’ordine in cui viene richiesta tale disponibilit`a da parte del supervisore. Tuttavia la soluzione fornita `e pi`u robusta, in quanto tale ordine `e diverso in base allo stato in cui si trova l’automa.

p1

t1

t2

p6

nuovo pezzo in ingresso

cella disponibile

pezzo in attesa di L1

macchina M1

disponibile macchina M1

indisponibile p7

t7

t6

lavorazione L1

su macchina M1

t4

pezzo in attesa di L2

t3

p2

p3

p4

p9

macchina M2

indisponibile macchina M2

disponibile p8 t8

t9

lavorazione L2

su macchina M2

t5 p5

lavorazione L1

su macchina M2

p10

lavorazione L2

su macchina M1

p11 t11

t10

t12

t13

Figura 5: Rete di Petri per le due lavorazioni in sequenza effettuate con le due macchine nella FMC.

(5)

Una possibile soluzione con una rete di Petri posti/transizioni a pesi unitari `e riportata in Fig. 5, con 11 posti e 13 transizioni. Il flusso principale `e quello centrale con la sequenza di scatto {t1, t2, t3, t4, t5}. Sia questa che quelle alternative (a destra o a sinistra, con una o entrambe le macchine che possono cambiare lavorazione) rendono la rete reversibile. La transizione e il posto aggiuntivi, mostrati in colore blu con i relativi archi tratteggiati, si riferiscono all’arrivo di nuovi pezzi in ingresso alla cella e sono stati esclusi per garantire appunto tale reversibilit`a.

Il significato degli 11 posti `e il seguente:

• p1 = cella disponibile

• p2 = pezzo in attesa della lavorazione L1

• p3 = lavorazione L1 in esecuzione sulla macchina M1

• p4 = pezzo in attesa della lavorazione L1

• p5 = lavorazione L2 in esecuzione sulla macchina M2

• p6 = macchina M1disponibile

• p7 = macchina M1indisponibile (perch´e impegnata in altra attivit`a, diversa da L1 o L2)

• p8 = macchina M2disponibile

• p9 = macchina M2indisponibile (perch´e impegnata in altra attivit`a, diversa da L1 o L2)

• p10= lavorazione L1 in esecuzione sulla macchina M2

• p11= lavorazione L2 in esecuzione sulla macchina M1

Il significato delle 13 transizioni `e il seguente:

• t1 = ingresso del pezzo nella FMC

• t2 = inizio della lavorazione L1 sulla macchina M1

• t3 = fine della lavorazione L1sulla macchina M1

• t4 = inizio della lavorazione L2 sulla macchina M2

• t5 = fine della lavorazione L2sulla macchina M2

• t6 = macchina M1diventa indisponibile (perch´e richiesta da altra attivit`a, diversa da L1 o L2)

• t7 = macchina M1diventa disponibile

• t8 = macchina M2diventa indisponibile (perch´e richiesta da altra attivit`a, diversa da L1 o L2)

• t9 = macchina M2diventa disponibile

• t10= inizio della lavorazione L1 sulla macchina M2

• t11= fine della lavorazione L1 sulla macchina M2

• t12= inizio della lavorazione L2 sulla macchina M1

• t13= fine della lavorazione L2 sulla macchina M1

Si noti la presenza di archi al termine di ogni lavorazione che rendono di nuovo disponibile la La matrice di incidenza C (di dimensione 11 × 13) e la marcatura iniziale x0 sono date da

C =

−1 0 0 0 1 0 0 0 0 0 0 0 1

1 −1 0 0 0 0 0 0 0 −1 0 0 0

0 1 −1 0 0 0 0 0 0 0 0 0 0

0 0 1 −1 0 0 0 0 0 0 1 −1 0

0 0 0 1 −1 0 0 0 0 0 0 0 0

0 −1 1 0 0 −1 1 0 0 0 0 −1 1

0 0 0 0 0 1 −1 0 0 −1 0 0 0

0 0 0 −1 1 0 0 −1 1 −1 1 0 0

0 0 0 0 0 0 0 1 −1 0 0 −1 0

0 0 0 0 0 0 0 0 0 1 −1 0 0

0 0 0 0 0 0 0 0 0 0 0 1 −1

, x0=

 1 0 0 0 0 1 0 1 0 0 0

 .

∗ ∗ ∗ ∗ ∗

Riferimenti

Documenti correlati

La disciplina in esame è, infatti, regolata in modo che gli effetti determinati dalla non operatività di una società influiscano, dal punto di vista della base

Un qualsiasi insieme di task periodici è schedulabile tramite un algoritmo EDF se e solo se ha un fattore di utilizzazione U " 1. Proprietà dell’algoritmo EDF.. RMPO vs EDF..

(periodici ed aperiodici) e SERVIRE AL MEGLIO (BEST EFFORT) i task SOFT REAL TIME. Esistono due metodologie di scheduling per task MISTI SOFT e HARD REAL TIME:. 1.  ALGORITMI

Come descritto nella stessa figura, la rete modellizza la lavorazione di pezzi con una macchina (parte sinistra) e la successiva pulizia della stessa tramite un robot (parte

Se per lo scheduling hard real time si utilizza EDF e per lo scheduling soft real time si adotta una politica DEFERRING SERVER (avente T srv = 10 t.u. e C srv = 1 t.u.), i

Mostrare il risultato dello scheduling usando RMPO come algoritmo di task scheduling hard real time e un servizio in background con scheduling di tipo FIFO per i task soft real

Utilizzando l’algoritmo di scheduling scelto nel punto precedente, verificare se il task ape- riodico riesce ad essere eseguito in maniera hard real time utilizzando uno scheduling

• Nel caso in cui RMPO non sia in grado di schedulare i task in maniera hard real time, eseguire lo scheduling utilizzando l’algoritmo EDF..