Stato incontrollabile (SED)

Uno stato incontrollabile si verifica in un sistema SED a ciclo chiuso (supervisionato) quando una sequenza di eventi (w) disabilita un evento "non controllabile" dal supervisore nello stato corrente.

Il supervisore può abilitare e disabilitare soltanto gli eventi controllabili.

Se un evento non controllabile viene disabilitato, lo stato in cui giunge il sistema è detto stato incontrollabile.

    Un esempio pratico

    Ho due macchine M1 e M2.

    La macchina M1 preleva una merce con l'evento "a", compie una pre-lavorazione con l'evento "b" e deposita la merce lavorata con l'evento "c". E ricomincia daccapo.

    l'automa della macchina M1

    La macchina M2 preleva una merce con l'evento "d" e deposita la merce lavorata con l'evento "e". E ricomincia daccapo.

    l'automa della macchina M2

    Nota. Per ipotesi gli eventi controllabili da un supervisore sono soltanto gli eventi di prelievo ossia "a" e "d". Sono indicati con il simbolo dei due punti in suffisso (di colore blu). Gli altri eventi sono, invece, eventi non controllabili Enc dal supervisore (di colore rosso).

    Le due macchine lavorano contemporaneamente.

    Pertanto, posso costruire la composizione concorrente dei due processi M1 || M3.

    Il risultato finale è l'automa M3.

    la composizione concorrente dei due automi M1 || M2

    Nella composizione concorrente ogni stato xi,j contiene in pedice lo stato della prima e della seconda macchina.

    Nota. Per costruire la composizione concorrente comincio con lo stato iniziale x0,0. Poi analizzo gli eventi attivi nello stato x0 di entrambe le macchine M1 e M2 e li riporto nella composizione concorrente.

    A questo punto voglio applicare una specifica K che imponga alla prima macchina M1 di scaricare le merci in un deposito in grado di contenere una sola merce alla volta.

    La merce scaricata nel deposito dalla macchina M1, è l'input della seconda macchina M2.

    Per applicare la specifica creo un automa S di supervisione con due stati x'0 (deposito vuoto) e x'1 (deposito pieno).

    un esempio di supervisore S

    • Se il deposito è vuoto (stato x'0) è abilitato l'evento di scarico (c) di M1. L'evento di prelivo (d) di M2 è disabilitato.
    • Se il deposito è pieno (stato x'1) è abilitato l'evento di prelievo (d) di M2. L'evento di scarico (c) di M1 è disabilitato.

    Il supervisore lavora su sottoinsieme di eventi E'={c,d}

    L'evento "d" è un evento controllabile (d:). Quindi, non dà problemi.

    Nota. Se l'insieme degli eventi del supervisore è composto soltanto da eventi controllabili, il sistema non può generare stati incontrollabili.

    L'evento "c" è invece un evento non controllabile dal supervisore.

    Quindi, devo assicurarmi che il supervisore non generi uno stato incontrollabile.

    Per farlo, elaboro la composizione concorrente M3||S del sistema M3 con l'automa del supervisore S.

    Il sistema supervisionato S/M3 è composto da due eventi controllabili {a,d} e quattro eventi non controllabili {b,c,e}

    un esempio di stati incontrollabili

    Quindi verifico che ogni evento non controllabile {b,c,e} del sistema S/M3 non venga disabilitato per sbaglio dal supervisore.

    In particolar modo, devo verificare l'evento non controllabile "c" perché è incluso nell'insieme degli eventi del supervisore S. E' l'unico che può dare problemi.

    In effetti, la sequenza di eventi "abcab" disattiva l'evento "c" nello stato x2,0,1 e nello stato x2,1,1.

    Nota. Con la prima sequenza "abc" la macchina M1 deposita una merce nel deposito (x'0→x'1). Con la sequenza successiva "ab" la macchina M1 lavora un'altra merce ma non può depositarla, perché il deposito è già pieno. Nello stato x'1 l'evento c disabilitato. L'evento "c" torna a essere disponibile solo dopo l'evento "d" della macchina M2, il quale non presente nella sequenza "abcab".

    Gli stati x2,0,1 e x2,1,1 sono esempi di stati incontrollabili.

    In sistema supervisionato ben progettato non dovrebbero verificarsi.

    Nota. Anche la sequenza "de" non è possibile nell'automa S/M3 perché l'evento "d" è disabilitato se il deposito è vuoto (x'0). Tuttavia "d" è un evento controllabile "d:". Pertanto, è lecito che il supervisore possa disabilitarlo. Per questa ragione in questo caso non si può parlare di stato non controllabile.

    La presenza degli stati incontrollabili indica che il supervisore non è Enc abilitante, ossia è in grado di disabilitare anche gli stati non controllabili del sistema.

    Pertanto, non posso usare il supervisore S per controllare il sistema M3.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Sistemi a eventi