3) Entità comportamentali umane
Definizione 2.2. L'entità comportamento umano è una tupla Env=
Le entità comportamentali umane sono simili alle entità hardware;
Hanno la stessa definizione di stato. È difficile simulare il comportamento umano, soprattutto quando la progettazione di un PLC coinvolge un certo numero di individui. In risposta a queste difficoltà, la modellazione del comportamento umano dovrebbe adottare un processo iterativo: prima si costruisce un modello comportamentale semplice utilizzando la validazione del modello; poi, se non si trova un controesempio, si costruisce e si verifica un modello più complesso finché non si trova un controesempio o più difficile da trovare. Complesso; infine, se non viene trovato alcun controesempio significativo, viene generato un modello di comportamento umano completamente casuale (cioè: il comportamento umano è un grafo completo e tutti i trasferimenti sono veri) per la verifica. Tuttavia, la verifica di un comportamento completamente casuale porterà a un forte aumento dello spazio degli stati, quindi la scelta di un modello di comportamento umano appropriato è un punto difficile nella modellazione. Se l'input umano è relativamente semplice, si può utilizzare la modellazione del comportamento completamente casuale, altrimenti è necessario prendere seriamente in considerazione la costruzione di un modello ragionevole del comportamento umano.
Modelliamo il comportamento dell'ambiente e delle persone del PLC, quindi modelliamo il controllore del PLC. Il controllore del PLC sarà in ciclo quando ruota.
Il PLC legge tutti gli ingressi dalla porta I.
Il PLC calcola tutte le unità logiche.
PLC imposta tutte le porte Q.
L'unità di base del processo PLC è chiamata rete. Tutte le reti vengono eseguite in ordine numerico per l'impostazione in fase di progettazione.
La rete di funzionamento logico di base del controllore PLC comprende: flip-flop S, flip-flop R, flip-flop SR, flip-flop EQ, flip-flop RS, rilevatore del fronte di salita POS, rilevatore del fronte di discesa NEG, ecc. Per modellare la rete di funzionamento logico di base, adottiamo una strategia di mappatura diretta, ovvero il modello di controllore del comportamento della rete PLC è completamente equivalente al comportamento logico della rete. Dove i flip-flop, i flip-flop R, i flip-flop SR, i flip-flop EQ e i flip-flop RS possono essere mappati direttamente al loro comportamento utilizzando espressioni booleane.

3. Analisi e miglioramento del modello PLC
La sezione precedente ha introdotto il sistema di modellazione del PLC. Secondo questa strategia, possiamo astrarre il sistema PLC in un modello formale per la verifica del modello. Pertanto, la credibilità di questo modello determinerà direttamente i risultati del model checking. Se il modello non copre completamente il sistema originale (lo chiamiamo più piccolo del sistema originale), può far sì che alcuni errori non vengano rilevati; se il sistema reale può coprire completamente il modello, ma contiene molti stati che il sistema originale non ha (lo chiamiamo più piccolo del sistema originale), il sistema originale è grande), il che può introdurre alcuni errori che non esistono nel sistema reale. Questo è chiamato pseudo-errore. Quindi ci sono due strategie di modellazione necessarie.
In primo luogo, per trovare tutti gli errori nel sistema, dobbiamo costruire un modello abbastanza grande da coprire tutti gli stati del sistema originale; in secondo luogo, il modello deve essere il più vicino possibile al sistema reale. In questo modo non solo si riduce lo spazio degli stati, ma si migliora anche l'efficienza. Sulla base di questi requisiti, analizzeremo il modello a intervalli di tempo. Proposizione 1 Se il modello a intervalli di tempo è conforme alle proprietà, lo è anche il modello del sistema PLC reale. La correttezza della Proposizione 1 può essere dedotta dalla relazione tra i due modelli. Ciò significa che tutto ciò che accade al modello reale è contenuto nel modello a intervalli di tempo, il modello a intervalli di tempo è più grande del modello reale. Se non si riesce a trovare un controesempio utilizzando il modello a intervalli di tempo, si può dimostrare la correttezza del modello PLC reale; d'altra parte, se troviamo un controesempio, non possiamo determinare se il sistema PLC reale presenta errori. In altre parole, il contrario della Proposizione 1 è falso. È quindi necessario un intervento manuale per analizzare il controesempio e determinare se si tratta di un errore spurio. La strategia di modellazione a intervalli di tempo può ottenere un modello PLC sintetico e molti studi basati su NuSMV utilizzano strategie simili al modello a intervalli di tempo per modellare i sistemi PLC. Tuttavia, il "modello a intervalli di tempo" si discosta notevolmente dal modello reale e deve essere migliorato. Questa deviazione è dovuta al fatto che il "modello a intervalli di tempo" non riflette le caratteristiche di scansione ad alta velocità del PLC e le caratteristiche di scansione a bassa velocità delle entità concorrenti.
PLC ad alta velocità, ma il modello a intervalli di tempo ignora le caratteristiche di alta velocità del PLC, per cui i cambiamenti nell'ambiente esterno potrebbero non essere scansionati.In risposta ai problemi di cui sopra, considerando la scansione esterna ad alta velocità e la concurrency a bassa velocità
Le proprietà fisiche e le strategie di modellazione degli intervalli di tempo saranno migliorate con l'aggiunta di un meccanismo di attesa della notifica. In base al modello a intervalli, ogni entità di stato concorrente deve essere bloccata e attendere da qualche parte dopo il completamento del trasferimento. Solo quando il controllore del PLC ha eseguito una scansione completa almeno una volta, il meccanismo di attesa della notifica invierà un messaggio all'entità concorrente per rimuovere il blocco e continuare a lavorare. A questo punto il trasferimento è completato. La Figura 2 illustra il processo di migrazione delle entità concorrenti attraverso il meccanismo di attesa senza tempo:
Questo meccanismo garantisce che il controllore del PLC analizzi almeno una volta ogni cambiamento di stato delle entità concorrenti. Proposizione 2 Dopo l'aggiunta del meccanismo di attesa della notifica, il modello diventa un sottoinsieme del modello a intervalli di tempo. Allo stesso tempo, il modello può anche includere tutte le situazioni del modello reale. In altre parole, se un modello aggiunge un meccanismo di attesa di notifica conforme agli attributi, anche il modello reale del sistema PLC è conforme.
L'utilizzo della Proposizione 1 per dimostrare la Proposizione 2 è simile. Attraverso la Proposizione 2, possiamo vedere che il modello di meccanismo ha ancora buone proprietà dopo l'aggiunta dell'attesa di notifica. Come già detto, i modelli di sistemi astratti hanno due requisiti: primo, che il sistema reale sia completamente incluso e secondo, che il modello sia il più vicino possibile al sistema reale. La prima proposizione consiste nel dimostrare che il modello dell'intervallo di tempo include il sistema reale. Se si utilizzano strumenti di model checking per dimostrare che il modello astratto soddisfa determinate proprietà, allora anche le proprietà reali del sistema lo soddisfano. Ma questo modello non è esattamente uguale al modello reale, dovrebbe essere molto più grande del modello reale.
Rispetto ai modelli a intervalli di tempo, questo modello riduce ulteriormente la distanza tra i sistemi reali, riducendo notevolmente la possibilità di rilevare errori spuri. Uno strumento di model checking fornirà un controesempio che viola la proprietà del sistema; è facile determinare manualmente se un controesempio in un sistema reale è vero o meno. Se l'errore nel sistema originale esiste davvero, allora troviamo un controesempio. In caso contrario, l'errore è dovuto al fatto che il modello astratto è più grande del sistema reale, il che rappresenta un errore spurio. Pertanto, sebbene questo modello di intervallo di tempo non sia completamente equivalente al sistema originale, attraverso questo modello possiamo giudicare se un sistema soddisfa una certa proprietà e, in caso affermativo, possiamo trovare un controesempio specifico (sono ancora necessari ulteriori controlli per determinare se si tratta di uno pseudo-errore). Il modello non è equivalente al sistema originale soprattutto perché ci sono molti fattori difficili da modellare nel sistema reale, alcuni dei quali possono portare a errori. Se tutti i fattori venissero modellati, si finirebbe per costruire un modello enorme, impossibile da controllare o semplicemente da implementare. Il modello a intervalli di tempo astrae i fattori chiave dal sistema reale e li modella, riducendo notevolmente lo spazio degli stati e la complessità temporale.
Allo stesso tempo, attraverso il meccanismo di attesa della notifica,
Il modello diventa più vicino al sistema reale, il che non solo riduce la complessità temporale, ma riduce anche gli pseudo-errori menzionati in precedenza.