IT202100018998A1 - Sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico - Google Patents

Sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico Download PDF

Info

Publication number
IT202100018998A1
IT202100018998A1 IT102021000018998A IT202100018998A IT202100018998A1 IT 202100018998 A1 IT202100018998 A1 IT 202100018998A1 IT 102021000018998 A IT102021000018998 A IT 102021000018998A IT 202100018998 A IT202100018998 A IT 202100018998A IT 202100018998 A1 IT202100018998 A1 IT 202100018998A1
Authority
IT
Italy
Prior art keywords
controller
component
computer
output
value
Prior art date
Application number
IT102021000018998A
Other languages
English (en)
Inventor
Stefano Longari
Alessandro Pozone
Mara Tanelli
Stefano Zanero
Original Assignee
Milano Politecnico
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Milano Politecnico filed Critical Milano Politecnico
Priority to IT102021000018998A priority Critical patent/IT202100018998A1/it
Priority to PCT/IB2022/056539 priority patent/WO2023002321A1/en
Publication of IT202100018998A1 publication Critical patent/IT202100018998A1/it

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B9/00Safety arrangements
    • G05B9/02Safety arrangements electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24081Detect valid sequence of commands

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Steroid Compounds (AREA)
  • Programmable Controllers (AREA)

Description

Titolo: "SISTEMA DI CONTROLLO IN TEMPO-REALE IMPLEMENTATO MEDIANTE COMPUTER PER IL CONTROLLO DI UN SISTEMA O DI UN DISPOSITIVO FISICO".
DESCRIZIONE
La presente invenzione riguarda un sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o di un dispositivo fisico, in particolare per il controllo di un sistema o dispositivo fisico in ambito industriale, in ambito automotive, nella robotica industriale o simili.
I progressi tecnologici degli ultimi decenni ci hanno reso testimoni del passio da un mondo manuale a uno automatico.
Molte delle cose che conosciamo oggi sono state automatizzate e gran parte di questo ? stato possibile grazie allo sviluppo della teoria dei controlli. Oggi ? possibile trovare sistemi di controllo al centro di molte infrastrutture, in impianti manifatturieri o industriali, e in varie forme, dai sistemi di stabilizzazione degli aeromobili al controllo dello slittamento nell'ABS del veicolo.
Questi dispositivi sono oggi chiamati CPS (Cyber-Physical Systems) in quanto hanno l'opportunit? di interagire con un sistema fisico e fornire l'unione tra il mondo digitale e quello tangibile.
Inoltre, gli ultimi anni sono stati caratterizzati dall'ascesa dell'IoT (Internet of Things), che consente di connettere i dispositivi, aumentare la produttivit? e fornire nuove funzionalit? agli utenti finali che una volta erano utopistiche.
Anche nel settore industriale, questa tendenza sta iniziando a prendere posto grazie a iniziative come Industria 4.0 o l'Industrial Internet Consortium (IIC) che mirano a consentire e accelerare l'adozione dell'Industrial Internet of Things (IIoT).
Molti dei dispositivi connessi recentemente sono anche CPS che fanno uso di sistemi di controllo e, mentre tutta questa maggiore connettivit? offre l'opportunit? di sviluppare nuove funzionalit? come il controllo remoto e il monitoraggio, apre potenzialmente anche le porte dei nostri dispositivi a molti agenti dannosi.
Per questo motivo, l'aspetto della sicurezza di questi dispositivi, che ? sempre stato molto importante, deve ora pi? che mai essere preso in considerazione quando si sviluppano dispositivi connessi.
Tutte le segnalazioni di vulnerabilit? della sicurezza hanno creato una nuova consapevolezza che ha portato allo sviluppo e alla proposta di molte soluzioni.
? possibile identificare due approcci principali: un primo approccio mira a migliorare i processi utilizzati nello sviluppo del software al fine di evitare errori banali e creare codice sicuro, mentre un secondo approccio ? quello di trovare modi innovativi, come nuove tecnologie hardware o architetture software, per migliorare la sicurezza dei dispositivi.
Anche se sono state proposte molte soluzioni, il problema ? ancora molto attuale nel caso dei sistemi di controllo poich?, in questo scenario, gli attori principali sono, generalmente, sistemi in tempo-reale con scadenze stringenti. Le soluzioni proposte finora richiedono purtroppo molto tempo e non possono essere applicate nel caso di molti dispositivi critici per la sicurezza.
Lo scopo principale della presente invenzione ? quello di fornire un sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico che impedisca a un agente dannoso di provocare un comportamento scorretto in un CPS (Cyber-Physical Systems).
Un altro obiettivo della presente invenzione ? quello di fornire un sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico che abbia un'architettura generica, che pu? essere utilizzato con la stragrande maggioranza dei sistemi di controllo a circuito chiuso e che ? indipendente dall'algoritmo di controllo e che non influisce sulle prestazioni del controllore.
Un altro oggetto della presente invenzione ? quello di fornire un sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico in grado di funzionare in modo efficiente su CPS (Cyber-Physical Systems) con tempistiche rigorose, come un ABS automotive.
Gli oggetti di cui sopra sono ottenuti dall'attuale sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o di un dispositivo fisico in base alle caratteristiche della rivendicazione 1. Altre caratteristiche e vantaggi della presente invenzione saranno meglio evidenti dalla descrizione di una forma di attuazione preferita, ma non esclusiva, di un sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico, illustrato mediante un esempio indicativo ma non limitante nelle figure allegate, in cui:
la figura 1 mostra uno schema generale del sistema di controllo in temporeale implementato mediante computer in base all'invenzione;
la figura 2 mostra un esempio di comportamento del controllore con impostazioni compromesse confrontato con un comportamento normale. Con particolare riferimento a tali illustrazioni, globalmente indicato con il riferimento 1 ? un sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico, in particolare per il controllo di un sistema o dispositivo fisico in ambiente industriale, in ambiente automotive o simili.
Il sistema di controllo implementato mediante computer 1, facendo uso della teoria dei controlli, consente di progettare un controllo estremamente semplice e veloce che pu? essere eseguito dopo ogni iterazione di un ciclo di controllo. La semplicit? di questo controllo ne consente l?utilizzo per garantire che il controllore si comporti correttamente o per applicare le azioni definite da un criterio di ripristino.
Secondo una forma di attuazione preferita, il sistema di controllo in temporeale implementato mediante computer 1 viene implementato utilizzando TrustZone di ARM per Cortex-M fornendo un doppio vantaggio: da un lato consente di applicare la separazione necessaria dal codice del ciclo di controllo, che ? l'obiettivo dell'agente dannoso e non pu? essere considerato attendibile; dall'altro, permette di estendere qualsiasi algoritmo di controllo gi? esistente con modifiche minime.
Come mostrato nella figura 1, il sistema di controllo in tempo-reale 1 implementato mediante computer comprende almeno un sensore 2 collegato operativamente con un sistema o dispositivo fisico e configurato per la lettura di almeno un valore corrente CV di almeno una variabile di processo di detto sistema o dispositivo fisico.
Secondo una possibile applicazione del sistema di controllo in tempo-reale 1 implementato mediante computer, il sistema o dispositivo fisico controllato ? costituito da un sistema di frenatura antibloccaggio di un veicolo.
Tuttavia, il sistema 1 in base all'invenzione pu? essere utilizzato in ogni possibile applicazione in cui ? necessario controllare un processo di automazione o automatico. Ad esempio, con riferimento all'ambiente industriale il sistema 1 potrebbe essere applicato per il controllo degli attuatori di robot industriali.
Inoltre, il sistema di controllo in tempo-reale 1 implementato mediante computer comprende un controllore 3 collegato operativamente con detto almeno un sensore 2 e configurato per:
- ricezione in ingresso da ciascun sensore 2 di un valore corrente CV della variabile di processo;
- riconoscimento di un errore se il valore corrente CV non corrisponde a un valore desiderato della variabile di processo; e
- calcolo di un valore di output OV che la variabile di processo deve assumere per raggiungere il valore desiderato.
Inoltre, il sistema di controllo in tempo-reale 1 implementato mediante computer comprende almeno un attuatore 4 collegato operativamente al sistema o dispositivo fisico e configurato per applicare il valore di output OV calcolato dal controllore 3 al sistema o dispositivo fisico.
L'obiettivo principale del sistema di controllo in tempo-reale 1 ? quello di implementare un modello software in grado di neutralizzare gli attacchi di un agente dannoso.
Ci sono due tipi principali di attacchi che devono essere considerati:
- Denial of Service (DoS), in cui un controllore ? reso non disponibile; - qualunque tipo di manomissione software che ? in grado di rendere una uscita di un controllore un valore errato, dall'alterazione delle variabili al bypass del codice.
In particolare, al fine di provocare un comportamento scorretto di un controllore, ? possibile agire sui seguenti elementi:
- parametri del controllore;
- valore di input;
- valore di output;
- codice del controllore.
In particolare, i parametri del controllore sono utilizzati dall'algoritmo di controllo per calcolare il valore di output a partire da un valore corrente misurato da un sensore e sono stati identificati dagli ingegneri di controllo in fase di progettazione. Anche un piccolo cambiamento nei parametri del controllore potrebbe far s? che il sistema si comporti in modo molto diverso dal previsto. L'impatto esatto e il numero di parametri dipendono dall'algoritmo di controllo scelto.
Inoltre, modificare un valore di input significa cambiare la percezione che un controllore ha dello stato corrente e cambiare drasticamente l'uscita del dispositivo. Ad esempio, un agente dannoso potrebbe far credere al controllore di aver raggiunto lo stato desiderato quando questo non ? vero. Per quanto riguarda un valore di output, un attacco potrebbe mirare a bypassare completamente un controllore e fornire valori errati direttamente all'attuatore.
Infine, modificando il flusso di esecuzione del firmware ? possibile fornire valori dannosi a un attuatore, provocare eccezioni e potenzialmente anche disabilitare il dispositivo.
Al fine di neutralizzare gli attacchi di un agente malintenzionato, il controllore 3 proposto dal sistema di controllo in tempo-reale 1 implementato mediante computer ha un'architettura software composta da tre componenti software principali 5, 6, 7 e una policy di recupero.
Come schematicamente mostrato in figura 1, il controllore 3 comprende un componente codice controllore 5 contenente il codice dell?algoritmo di controllo e configurato per ricevere in input il valore corrente CV e per calcolare il valore di output OV.
Il codice dell?algoritmo del controllore coincide con la maggior parte del codice di un'implementazione tipica di un controllore.
Il controllore 3 comprende inoltre un componente Controller Data Abstraction Layer (CDAL) 6 collegato operativamente con almeno un sensore 2 e con il componente codice controllore 5.
Il componente CDAL 6 ? configurato per separare il codice dell?algoritmo del controllore del componente codice controllore 5 da almeno un sensore 2.
Inoltre, il controllore 3 comprende un componente validatore di output 7 collegato operativamente con il componente codice controllore 5, con il componente CDAL 6 e con almeno un attuatore 4.
Il componente validatore di output 7 ? configurato per calcolare se il valore di output OV ? un valore valido.
In modo vantaggioso, il controllore 3 comprende un ambiente di esecuzione attendibile (trusted execution environment - TEE) 8 di un processore principale e il componente CDAL 6 e il componente OV (validatore di output) vengono caricati all'interno dell'ambiente di esecuzione attendibile 8 a stato sicuro.
In modo diverso, il componente codice controllore viene caricato all'interno di un ambiente di stato non protetto 9.
Come noto, un trusted execution environment (TEE) ? un'area sicura di un processore principale che garantisce codice e dati caricati all'interno per essere protetti nel rispetto della riservatezza e dell'integrit?.
Pertanto, l'utilizzo di un trusted execution environment (TEE) permette di dividere il codice del controllore 3 in due diversi gruppi, un codice sicuro 8, comprendente il componente Controller Data Abstraction Layer 6 e il componente validatore di output 7, e un codice non sicuro 9, relativo al componente codice controllore 5 contenente il codice dell?algoritmo del controllore.
In particolare, secondo una forma di attuazione preferita del sistema di controllo in tempo-reale 1 implementato mediante computer, l'ambiente di esecuzione attendibile dello stato sicuro 8 ? implementato da una tecnologia ARM TrustZone.
Come noto, ARM TrustZone ? una tecnologia che abilita due diversi domini di sicurezza software con la possibilit? di limitare l'accesso alla memoria e I/O solo al software attendibile.
Secondo una forma di attuazione preferita, il controllore 3 comprende almeno un microcontrollore Cortex-M a bassa potenza e deterministico con tecnologia hardware ARM TrustZone.
Ci? consente di garantire cambi di contesto pi? rapidi tra il codice sicuro 8 e il codice non sicuro 9 senza perdita di determinismo.
In particolare, l'implementazione di Cortex-M ? progettata tenendo conto di sistemi piccoli, efficienti dal punto di vista energetico e in tempo-reale. Tuttavia, non ? escluso l'uso di diversi (o pi? recenti) tipi di microcontrollori e di tecnologie TEE.
Con la tecnologia ARM TrustZone, ? possibile partizionare il sistema e il software in uno stato sicuro e non sicuro. In particolare, ? possibile definire quali indirizzi di memoria sono accessibili sia dal codice sicuro 8 che dal codice non sicuro 9 e a quali si pu? accedere solo dal codice sicuro 8.
Il codice sicuro 8 ? l'unico autorizzato a utilizzare periferiche sicure e ad accedere alla memoria sicura.
Poich? nei microcontrollori l'interazione con le periferiche avviene utilizzando appositi indirizzi di memoria opportunamente mappati, ARM TrustZone permette implicitamente di definire una periferica sicura contrassegnandone l'indirizzo di memoria come sicuro.
Qualsiasi violazione, come il tentativo di accedere alla memoria sicura o l'accesso a una periferica sicura dal codice non sicuro 9, comporter? un'eccezione nello stato sicuro.
Secondo una forma di attuazione preferita, il codice sicuro 8 e il codice non sicuro 9 sono sviluppati come due firmware diversi, quello sicuro viene caricato all'avvio e da l? avvia quello non sicuro.
Lo spostamento tra lo stato sicuro e lo stato non sicuro ? possibile utilizzando istruzioni specifiche del tipo noto.
Il componente validatore di output 7 comprende un modulo di controllo semantico 10 configurato per verificare se il valore di output OV ? un valore valido.
Inoltre, il componente validatore di output 7 comprende un modulo di controllo delle scadenze 11 configurato per rilevare se il controllore 3 ha mancato una scadenza (ad esempio a seguito di un attacco DoS).
Come detto sopra, il componente CDAL 6 ? un modulo software che funziona completamente nello stato sicuro 8 ed ? collegato operativamente con il modulo di controllo semantico 10.
Il componente CDAL 6 ? configurato per l'esecuzione dei seguenti passi:
- per ogni iterazione del loop, leggere il valore corrente CV di ogni sensore 2; e
- verificare se il valore corrente CV ? rilevante sia per il componente codice controllore 5 che per il modulo di controllo semantico 10; - se il valore corrente CV ? rilevante, inviare il valore corrente CV al componente codice controllore 5 e al modulo di controllo semantico 10.
In particolare, i valori correnti rilevanti CV sono definiti per il componente CDAL 6 in fase di progettazione.
Inoltre, il componente CDAL 6 ? configurato per l'esecuzione dei seguenti passi:
- memorizzazione dei parametri del modello MP del controllore 3 calcolati in fase di progettazione che il modulo di controllo semantico 10 pu? utilizzare per verificare se il controllore 3 funziona come previsto; e
- invio dei parametri del modello MP con il relativo valore corrente CV al modulo di controllo semantico 10.
A titolo di esempio, con riferimento alla possibile applicazione del sistema di controllo 1 al controllo dello slittamento nell'ABS del veicolo, i possibili parametri del modello MP comprendono la velocit? longitudinale del veicolo stimata a partire dalla velocit? delle quattro ruote vi(t); i = 1,..., 4, fornita da encoder sulle quattro ruote, e l?accelerazione longitudinale ax(t) del veicolo (t) calcolata da un accelerometro lineare.
Pertanto, ad ogni iterazione del loop, il componente Controller Data Abstraction Layer 6 legge i valori correnti CV di tutti i sensori 2 ed estrapola i valori correnti CV rilevanti sia per il codice dell?algoritmo del controllore del componente codice controllore 5 che per il modulo di controllo semantico 10 del componente validatore di output 7.
Poich? il componente CDAL 6 viene eseguito nel codice sicuro 8, tutta la sua memoria ? protetta, il che significa che il codice dell?algoritmo del controllore non pu? leggere o modificare i suoi valori.
Oltre a questo, tutti i sensori 2 utilizzati dal controllore 3 sono collegati esclusivamente al codice sicuro 8 e mappati alla memoria sicura del controllore.
Fondamentalmente, il componente CDAL 6 prepara le informazioni per Il codice dell?algoritmo del controllore nel componente codice controllore 5, assicurandosi che i parametri utilizzati nel controllo semantico siano corretti e non siano stati manomessi.
Secondo una possibile forma di attuazione, i parametri del modello di controllo MP necessari per il modulo di controllo semantico 10 possono essere spostati direttamente nel componente validatore di output 7 per semplificare l'architettura.
Inoltre, il modulo di controllo scadenze 11 ? configurato per eseguire i seguenti passi:
- se il componente validatore di output 7 non ha ricevuto un valore di uscita OV prima del raggiungimento di una scadenza, generare un segnale di scadenza mancata e applicare una policy di recupero predefinita;
- se, invece, il componente validatore di output 7 ha ricevuto un valore di output OV prima che venga raggiunta una scadenza, il valore ricevuto viene controllato dal modulo di controllo semantico 10.
Secondo una forma di attuazione preferita, il componente validatore di output 7 comprende un timer sicuro.
In particolare, il timer sicuro ? configurato per fornire il timestamp di iterazione del loop al modulo di controllo semantico 10.
Inoltre, il timer sicuro ? collegato operativamente al modulo di controllo scadenze 11 ed ? utilizzato per verificare se il codice del controllore ha mancato una scadenza.
Per il controllo dei valori di uscita OV dal componente codice controllore 5, il modulo di controllo semantico 10 definisce un insieme di valori ammissibili compresi tra un limite superiore UB e un limite inferiore LB che il valore di output dal componente codice controllore 5 pu? assumere. Pertanto, per sapere se il controllo ? passato, il modulo di controllo semantico 10 ? configurato per l'esecuzione dei seguenti passi:
- verificare se il valore di output OV dal componente codice controllore 5 si trova all'interno dei limiti superiore e inferiore definiti UB, LB;
- se il valore di output OV si trova all'interno dei limiti superiore e inferiore definiti UB, LB, validare il valore di output OV e inviare il valore di output validato VOV all'attuatore 4;
- se il valore di output OV si trova al di fuori dei limiti superiore e inferiore definiti UB, LB, applicare un criterio di ripristino predefinito.
Pertanto, se il valore di output OV si trova all'interno del limite superiore del limite inferiore UB e LB definiti, il modulo di controllo semantico 10 sa che il componente codice controllore 5 si sta comportando correttamente e che raggiunger? il suo obiettivo.
Diversamente, se il valore di output OV sconfina oltre il limite superiore UB od oltre il limite inferiore LB, il modulo di controllo semantico 10 sa che il componente codice controllore 5 non funziona come previsto.
Ci? potrebbe essere causato da diversi motivi come, ad esempio, se un agente malintenzionato ? stato in grado di modificare le impostazioni del codice dell?algoritmo del controllore da quelle fornite in fase di progettazione o di fornire un valore dannoso come output.
Ad esempio, in figura 2 ? possibile vedere come si comporta un controllore PID (controllore Proporzionale ? Integrale ? Derivata) quando un parametro Kp viene modificato per provocare un danno.
In particolare, successivamente a 0.05s l'output sconfina nel limite inferiore LB e, da quel momento in poi, viene applicata la policy di recupero.
Secondo una forma di attuazione preferita, il limite superiore UB e il limite inferiore LB sono definiti da una funzione esponenziale e tendono nel tempo a un setpoint S del controllore, riducendo ad ogni iterazione del loop lo spazio dei valori ammissibili.
Grazie a questa propriet?, il controllo eseguito dal modulo di controllo semantico 10 aumenta la sua capacit? di rilevare il comportamento scorretto nel tempo.
La pendenza della curva dei limiti superiore e inferiore UB, LB dipende dalla frequenza naturale e dal fattore di smorzamento della funzione di trasferimento del controllore e il controllore pu? essere regolato in fase di progettazione per ottenere valori pi? elevati di questi parametri al fine di raggiungere tempi di rilevamento pi? rapidi.
I sistemi di controllo che possono essere utilizzati in combinazione con la soluzione proposta devono soddisfare tre requisiti principali per quanto riguarda la loro funzione di trasferimento:
- deve essere asintoticamente stabile;
- non deve avere zeri nell'origine.
Il calcolo vincolato si basa sul tempo di assestamento della funzione di trasferimento.
Il criterio di ripristino applicato dal controllore 3 dipende dallo scenario e rappresenta le azioni che devono essere eseguite quando il modulo di controllo semantico 10 rileva un'anomalia.
Quando ci? accade non c'? modo di sapere se ? stato causato da un agente malevolo o a causa di un malfunzionamento del dispositivo. Tuttavia, il controllore 3 applica valori di output che non erano previsti in fase di progettazione ed ? importante recuperare dal comportamento scorretto. L'azione migliore da intraprendere dipende dallo scenario considerato.
Se, ad esempio, il dispositivo considerato ? un termostato, l'azione migliore potrebbe essere quella di disattivare il controllore e avvisare l'utente che qualcosa non va. In altri scenari possono essere utilizzate soluzioni pi? avanzate come sistemi ridondanti che potrebbero prendere il sopravvento in caso di rilevamento di un comportamento scorretto.
In pratica ? stato riscontrato che l'invenzione descritta raggiunge lo scopo e gli oggetti previsti.
In particolare, il sistema di controllo in tempo-reale implementato mediante computer secondo l?invenzione impedisce a un agente dannoso di provocare un comportamento scorretto in un CPS (Cyber-PhysicalSystems).
Inoltre, il sistema di controllo in tempo-reale implementato mediante computer pu? essere utilizzato con la stragrande maggioranza dei sistemi di controllo a circuito chiuso ed ? indipendente dall'algoritmo di controllo e ci? non influisce sulle prestazioni del controllore.
Inoltre, il sistema di controllo in tempo-reale implementato mediante computer pu? funzionare in modo efficiente su CPS (Cyber-Physical Systems) con scadenze rigorose, come un ABS automotive.
Il sistema di controllo in tempo-reale implementato mediante computer secondo l?invenzione implementa un controllo estremamente veloce che pu? essere eseguito sull'output ad ogni iterazione del ciclo senza provocare un mancato rispetto della scadenza.

Claims (12)

RIVENDICAZIONI
1) Un sistema di controllo in tempo-reale implementato mediante computer (1) per il controllo di un sistema o dispositivo fisico, comprendente:
- almeno un sensore (2) collegato operativamente a un sistema o dispositivo fisico e configurato per la lettura di almeno un valore corrente (CV) di almeno una variabile di processo di detto sistema o dispositivo fisico;
- un controllore (3) collegato operativamente con detto almeno un sensore (2) e configurato per ricevere in ingresso da detto sensore (2) detto valore corrente (CV) della variabile di processo, riconoscendo un errore se detto valore corrente (CV) non corrisponde a un valore desiderato di detta variabile di processo e per calcolare un valore di output (OV) che detta variabile di processo deve assumere per raggiungere detto valore desiderato;
- almeno un attuatore (4) collegato operativamente a detto sistema o dispositivo fisico e configurato per applicare detto valore di output (OV) calcolato da detto controllore (3) a detto sistema o dispositivo fisico;
caratterizzato dal fatto che detto controllore (3) comprende almeno i seguenti componenti software:
- un componente codice controllore (5) contenente l'algoritmo del codice del controllore e configurato per ricevere in input detto valore corrente (CV) e per calcolare detto valore di output (OV);
- un componente Controller Data Abstraction Layer (6) collegato operativamente con detto almeno un sensore (2) e con detto componente codice controllore (5), in cui detto componente Controller Data Abstraction Layer (6) ? configurato per separare detto codice dell?algoritmo del controllore da detto almeno un sensore (2); e
- un componente validatore di output (7) collegato operativamente con detto componente del codice del controllore (5), con detto componente Controller Data Abstraction Layer (6) e con detto almeno un attuatore (4), in cui detto componente validatore di output (7) ? configurato per calcolare se detto valore di output (OV) ? un valore valido;
e in cui detto componente Controller Data Abstraction Layer (6) e detto componente validatore di output (7) sono caricati all'interno di un ambiente di esecuzione attendibile a stato sicuro (8).
2) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo la rivendicazione 1, caratterizzato dal fatto che detto ambiente di esecuzione attendibile a stato sicuro (8) ? implementato da una tecnologia ARM TrustZone.
3) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo la rivendicazione 2, caratterizzato dal fatto che detto controllore (3) comprende almeno un microcontrollore Cortex-M a bassa potenza e deterministico con tecnologia hardware ARM TrustZone.
4) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo una o pi? delle rivendicazioni precedenti, caratterizzato da detto componente validatore di output (7) comprende un modulo di controllo semantico (10) configurato per verificare se detto valore di output (OV) ? un valore valido.
5) Il sistema di controllo in tempo-reale attuato dal computer (1) secondo una o pi? delle rivendicazioni precedenti, caratterizzato dal fatto che detto componente validatore di output (7) comprende un modulo di controllo scadenze (11) configurato per rilevare se il controllore (3) ha mancato una scadenza.
6) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo una o pi? delle rivendicazioni 4 e 5 , caratterizzato dal fatto che detto componente Controller Data Abstraction Layer (6) ? collegato operativamente a detto modulo di controllo semantico (10) ed ? configurato per l'esecuzione dei seguenti passi:
- per ogni iterazione del loop, leggere detto valore corrente (CV) di detto almeno un sensore (2); e
- verificare se detto valore corrente (CV) ? rilevante sia per detto componente codice controllore (5) che per detto modulo di controllo semantico (10);
- se detto valore corrente (CV) ? rilevante, inviare detto valore corrente (CV) a detto componente codice controllore (5) e a detto modulo di controllo semantico (10).
7) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo la rivendicazione 6, caratterizzato dal fatto che detto componente Controller Data Abstraction Layer (6) ? configurato per l'esecuzione dei seguenti passi:
- Memorizzazione dei parametri del modello (MP) del controllore (3) calcolati in fase di progettazione; e
- invio di tali parametri del modello (MP) con detto valore corrente rilevante (CV) a detto modulo di controllo semantico (10).
8) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo una o pi? delle rivendicazioni precedenti, caratterizzato dal fatto che detto modulo di controllo scadenze (11) ? configurato per l'esecuzione dei seguenti passi:
- se il componente validatore di output (7) non ha ricevuto un valore di output (OV) prima del raggiungimento di una scadenza, generare un segnale di scadenza mancata e applicare una policy di recupero predefinita;
- se, invece, il componente validatore di output (7) ha ricevuto un valore di output (OV) prima che venga raggiunta una scadenza, il valore ricevuto viene controllato da detto modulo di controllo semantico (10).
9) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo una o pi? delle rivendicazioni precedenti, caratterizzato dal fatto che detto componente validatore di output (7) comprende un timer sicuro.
10) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo una o pi? delle rivendicazioni precedenti, caratterizzato dal fatto che detto modulo di controllo semantico (10) definisce un insieme di valori ammissibili compresi tra un limite superiore (UB) e in un limite inferiore (LB) che il valore di output (OV) dal componente codice controllore (5) pu? assumere.
11) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo la rivendicazione 10, caratterizzato dal fatto che il modulo di controllo semantico (10) ? configurato per l'esecuzione dei seguenti passi:
- verificare se detto valore di output (OV) dal componente codice controllore (5) si trova entro i limiti superiore e inferiore definiti (UB, LB);
- se detto valore di output (OV) si trova entro i limiti superiore e inferiore definiti (UB, LB), validare detto valore di output (OV) e inviando il valore di output validato (VOV) ad almeno un attuatore (4);
- se detto valore di output (OV) si trova all'interno dei limiti superiore e inferiore definiti (UB, LB), applicare una politica di ripristino predefinita.
12) Il sistema di controllo in tempo-reale implementato mediante computer (1) secondo uno o pi? delle rivendicazioni precedenti 10 e 11, caratterizzato dal fatto che detti limiti superiori e inferiori (UB, LB) sono definiti da una funzione esponenziale e tendono nel tempo ad un setpoint (S) di detto controllore (3), riducendo ad ogni iterazione di loop lo spazio dei valori ammissibili.
IT102021000018998A 2021-07-19 2021-07-19 Sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico IT202100018998A1 (it)

Priority Applications (2)

Application Number Priority Date Filing Date Title
IT102021000018998A IT202100018998A1 (it) 2021-07-19 2021-07-19 Sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico
PCT/IB2022/056539 WO2023002321A1 (en) 2021-07-19 2022-07-15 Computer-implemented real-time control system for controlling a physical system or device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102021000018998A IT202100018998A1 (it) 2021-07-19 2021-07-19 Sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico

Publications (1)

Publication Number Publication Date
IT202100018998A1 true IT202100018998A1 (it) 2023-01-19

Family

ID=77989941

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102021000018998A IT202100018998A1 (it) 2021-07-19 2021-07-19 Sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico

Country Status (2)

Country Link
IT (1) IT202100018998A1 (it)
WO (1) WO2023002321A1 (it)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160308677A1 (en) * 2015-04-20 2016-10-20 Microsoft Technology Licensing, Llc. Isolation of Trusted Input/Output Devices
US20170177417A1 (en) * 2015-12-22 2017-06-22 Mcafee, Inc. Trusted computing resource meter
US20180114220A1 (en) * 2016-10-24 2018-04-26 Trustonic Limited Establishing cryptographic identity for an electronic device
WO2020142110A1 (en) * 2018-12-31 2020-07-09 Intel Corporation Securing systems employing artificial intelligence

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160308677A1 (en) * 2015-04-20 2016-10-20 Microsoft Technology Licensing, Llc. Isolation of Trusted Input/Output Devices
US20170177417A1 (en) * 2015-12-22 2017-06-22 Mcafee, Inc. Trusted computing resource meter
US20180114220A1 (en) * 2016-10-24 2018-04-26 Trustonic Limited Establishing cryptographic identity for an electronic device
WO2020142110A1 (en) * 2018-12-31 2020-07-09 Intel Corporation Securing systems employing artificial intelligence
US20210319098A1 (en) * 2018-12-31 2021-10-14 Intel Corporation Securing systems employing artificial intelligence

Also Published As

Publication number Publication date
WO2023002321A1 (en) 2023-01-26

Similar Documents

Publication Publication Date Title
US10127161B2 (en) Method for the coexistence of software having different safety levels in a multicore processor system
US8701187B2 (en) Runtime integrity chain verification
US10809944B1 (en) Memory device resilient to cyber-attacks and malfunction
JP7047969B2 (ja) 障害保護のための並列実行および関連プロセスの比較のためのシステムおよび方法
BRPI0720666A2 (pt) Detecção automática de vulnerabilidade e resposta
WO2015047295A1 (en) Application control flow models
Chekole et al. Enforcing memory safety in cyber-physical systems
US9235456B2 (en) Configuration technique for an electronic control unit with intercommunicating applications
Chekole et al. SCOPE: secure compiling of PLCs in cyber-physical systems
Chekole et al. Enforcing full-stack memory-safety in cyber-physical systems
JP6955858B2 (ja) 制御装置
EP3665607B1 (en) A method for providing restricted access to hardware component interfaces of a network device
IT202100018998A1 (it) Sistema di controllo in tempo-reale implementato mediante computer per il controllo di un sistema o dispositivo fisico
JP5975923B2 (ja) 車両用制御装置
Wang et al. Leader‐following consensus control of second‐order nonlinear multi‐agent systems with applications to slew rate control
KR20230017832A (ko) Tag 체킹 장치 및 방법
CN115461742A (zh) 用于安全地启动容器实例的方法和装置
Farrall et al. Hardware and software support for mixed-criticality multicore systems
CN114462041A (zh) 基于双体系架构的动态可信访问控制方法及系统
CN108369558B (zh) 用于运行微控制器的方法
Longari et al. CyFence: Securing Cyber-physical Controllers Via Trusted Execution Environment
JP2016177717A (ja) メモリ制御装置及びメモリ制御方法
US20120265904A1 (en) Processor system
JP4340669B2 (ja) 入出力制御装置,入出力制御方法,プロセス制御装置及びプロセス制御方法
Yu et al. Towards an architecture-centric approach dedicated to model-based virtual integration for embedded software systems