Sistemi, scienza e ingegneria dei
Con il termine sistema si intende qualsiasi oggetto di studio che, pur essendo costituito da diversi elementi reciprocamente interconnessi e interagenti tra loro o con l’ambiente esterno, reagisce o evolve come un tutto con proprie leggi generali.
La scienza e l’ingegneria dei sistemi si sono affermate, a partire dagli anni Cinquanta, con la proposta di un approccio unificante nello sviluppo della conoscenza (scienza), e nella messa a punto di metodologie di progetto e intervento sui fenomeni complessi naturali o artificiali (ingegneria).
Già dai primi decenni del Novecento alcuni sviluppi delle scienze hanno condotto in modo naturale alla nascita e all’affermarsi dell’approccio sistemistico. Gli elementi più significativi sono: la forte spinta verso la formulazione di teorie unitarie, in linea con le nuove teorie di James K. Maxwell e Albert Einstein; la messa a punto di nuovi metodi matematici di analisi qualitativa delle equazioni differenziali, sotto la spinta degli studi di fine Ottocento del matematico francese Henri Poincaré; l’introduzione di approcci sintetici di descrizione di fenomeni complessi; la teoria statistica di Ludwig Boltzmann; la nascita della teoria dell’informazione, nel quadro delle teorie di Claude E. Shannon e Norbert Wiener, orientata alla separazione del contenuto di informazione dal supporto fisico; la separazione tra hardware e software e la nascita della cibernetica.
Tutto questo genera una forte spinta alla ricerca di metodi di indagine unificati da impiegare in diversi contesti. Il modello matematico è il naturale candidato. Le sue radici sono infatti consolidate e alcuni dei concetti, che ritroviamo poi a fondamento dei metodi della teoria dei sistemi, risalgono a padri del pensiero scientifico moderno come Galileo Galilei e René Descartes.
Galilei nel Dialogo sopra i due massimi sistemi del mondo ci indica con chiarezza come procedere: «Il libro della Natura è scritto in lingua matematica, e i caratteri sono triangoli, cerchi ed altre figure geometriche senza i quali mezzi è un aggirarsi vanamente per un oscuro labirinto». E ancora: «Quando il filosofo geometra vuol riconoscere in concreto gli effetti dimostrati in astratto, bisogna che difalchi gli impedimenti della materia; che se ciò saprà fare, io vi assicuro che le cose si riscontreranno non meno aggiustatamente che i computi aritmetici». Descrizione matematica e verifica sperimentale, dunque, la cui interazione è descritta con ancora maggior dettaglio nel Discours de la méthode di René Descartes; un’attenta rilettura mostra infatti come il grande filosofo e matematico francese indichi precise regole da seguire nella costruzione di un modello: (a) «Non accettare mai nulla per vero senza conoscerlo con evidenza come tale: non comprendere cioè nei giudizi nulla che non si presenti alla ragione tanto chiaramente e distintamente da non lasciare alcun dubbio» (qualità delle osservazioni); (b) «Dividi ogni problema preso in esame in tante parti quanto più possibile per risolverlo più agevolmente» (scomposizione in sotto-problemi); (c) «Conduci ordinatamente i tuoi pensieri cominciando dalle cose semplici e più facili a conoscersi, per salire a poco a poco sino alla conoscenza più complessa» (approccio induttivo); (d) «Fai enumerazioni tanto perfette di tutti i casi e rassegne tanto complete, da essere sicuro di non omettere nulla» (continuo raffinamento del modello).
Punto di partenza della nostra riflessione è il concetto di modello matematico inteso come metafora che impiega il linguaggio della matematica, ovvero come insieme di variabili associate a grandezze caratterizzanti il fenomeno e relazioni tra di esse. Il concetto di sistema può essere considerato, in prima approssimazione, l’estensione di quello di modello matematico. Se, infatti, è vero che fenomeni diversi possono essere descritti impiegando lo stesso modello, è altresì vero che uno stesso fenomeno può essere rappresentato da diversi modelli, eventualmente non matematici.
L’equivalente di un dato fenomeno non è dunque un singolo modello ma piuttosto la classe di equivalenza dei possibili modelli. Ciò che essi hanno in comune, da un punto di vista astratto, sono gli andamenti delle variabili associati ai possibili comportamenti. Sono proprio queste entità che vengono scelte per definire il sistema astratto, in particolare con riferimento a fenomeni caratterizzati dagli aspetti di complessità che la parola sistema esprime.
Una complessità associata non necessariamente alla numerosità delle parti, o all’unità nel funzionamento, ma anche a una terza caratteristica, meno apparente, connessa all’ultimo degli aspetti citati: il fatto che un sistema ‘funzioni’. Ciò lo mette in relazione con l’ambiente e rappresenta di per sé un elemento di complessità. Un sistema astratto associato a un dato sistema fisico è dunque la classe di equivalenza delle rappresentazioni dei suoi possibili comportamenti. Passiamo ora a dare la definizione formale di sistema dinamico astratto.
Sia T, l’insieme dei tempi, un sottoinsieme ordinato di ℝ o ℤ e si definisca
[1] T(t0) = {t ∈ T : t ≥ t0}
Siano, inoltre, W l’insieme dei valori delle variabili e ∑(t0) un sottoinsieme delle funzioni del tempo definite dall’istante t0 in poi:
[2] ∑(t0) ⊂ WT(t0)
con
WT(t0) = {w0(∙): T(t0) → W}
Un sistema dinamico astratto è una terna
[3] S = {T, W, ∑}
dove
[4] ∑ = {∑(t0), t0∈T tale che w0∈∑(t0) ⇒
⇒ w0∣T(t1)∈∑(t1) per ogni t1∈T(t0)}.
Un sistema dinamico è dunque un insieme di elementi ∑(t0) che dipendono dal tempo t0 e rappresentano ciascuno un insieme di funzioni (indicate con il simbolo w0), che descrivono i possibili comportamenti da t0 in poi; se w0∈∑(t0) viene inoltre richiesto che, come funzione da t1 in poi (w0∣T(t1)), essa sia un possibile comportamento a t1 (cioè deve appartenere a ∑(t1)). Tale proprietà è nota come chiusura rispetto al troncamento (CRT).
Se T⊂ℝ il sistema è a tempo continuo; se T⊂ℤ il sistema è a tempo discreto.
Le proprietà degli insiemi dei comportamenti sono le proprietà del sistema stesso. Per esempio, S={T,W,∑} è stazionario se Δt∑(t0) =∑(t0) per ogni (t, t0) ∈T×T, dove Δt denota l’operatore di traslazione
[5] (Δt f )(t′) = f (t′+ t).
In questo caso il sistema è descritto dalla sola terna {T,W,∑(t0)} poiché i comportamenti possibili sono ottenuti per traslazione a partire da quelli a t0. Un sistema è dunque stazionario se i comportamenti possibili non dipendono dall’istante iniziale. Un sistema è inoltre detto lineare se W è uno spazio lineare su ℝ e per ogni t0, ∑(t0) è un sottospazio lineare di WT(t0) . Allora, per ogni w1,w2 ∈ ∑(t0) si ha
[6] αw1 + βw2 ∈ ∑(t0) per ogni α, β ∈ ℝ.
La definizione di sistema dinamico qui fornita consiste nella enumerazione di tutti i possibili comportamenti ai diversi istanti di tempo. Come l’intuizione suggerisce, dovrebbe essere possibile associare a ogni comportamento ammissibile a un dato istante t0 il valore di un parametro che ne specifichi l’occorrenza; inoltre si dovrebbe poter definire un’evoluzione tra i valori dei parametri associati al troncamento di ciascun comportamento in modo che il loro valore al tempo t0 non solo sia specifico del comportamento a quell’istante di tempo, ma mantenga in sé le informazioni sulla storia passata. Un tale parametro viene denominato stato del sistema e il suo significato è proprio quello che gli corrisponde nel linguaggio comune: il valore dello stato a un certo istante di tempo ha in sé quelle informazioni sul passato necessarie a caratterizzare i comportamenti futuri. L’introduzione dello stato conduce, in un certo senso, a una semplificazione in quanto ci dà una descrizione sintetica del sistema, indicata come rappresentazione con lo stato di un sistema dinamico.
Un’ulteriore semplificazione segue dal fatto che nella maggioranza dei casi di interesse pratico la caratterizzazione dei comportamenti possibili conduce direttamente a una rappresentazione implicita con lo stato.
Si tratta di una descrizione che individua le regole di costruzione delle evoluzioni nel tempo associate ai comportamenti. I semplici esempi che seguono mettono in luce questo aspetto.
Una descrizione semplificata del fenomeno può essere ottenuta assumendo che il numero di persone abili al lavoro sia collegato all’età attraverso prefissate percentuali.
Per descrivere come varia il numero complessivo di individui abili al lavoro in un determinato territorio sarà allora sufficiente descrivere la dinamica delle classi di età coinvolte. Ciò non è tuttavia possibile, in quanto l’evoluzione nel tempo di ogni classe di età non è indipendente da quella delle classi inferiori; è dunque necessario ricostruire la dinamica dell’intera popolazione suddivisa in classi di età fino a comprendere l’età lavorativa massima. Assumendo che l’ampiezza della classe di età coincida con l’intervallo di evoluzione temporale scelto (per es. un anno) lo stato al tempo t0 è quel vettore le cui componenti forniscono il numero di individui nelle diverse classi di età, fino a quella massima. Indicata con N l’età lavorativa massima e con xi(t) (i=0,...,N) il numero di individui che compiono l’età i+1 nell’anno t, il vettore x(t)=(x0(t),...,xN(t)) rappresenta quindi lo stato. Per descrivere la sua evoluzione nel tempo si possono impiegare le seguenti equazioni:
[7] xi+1(t + 1) = βixi(t), i = 0, ..., N − 1
x0(t + 1) = α0x0(t) + ... + αN−1xN−1(t)
con αi coefficienti di fertilità e βi coefficienti di sopravvivenza dedotti dalle statistiche. Indicando con γi la frazione di individui di età i che lavorano e con m e M l’età lavorativa minima e massima rispettivamente, si ha
[8] y(t) = M∑i=mγim xim(t) + ... + γiM xiM(t).
L’evoluzione di due popolazioni animali, una composta da prede per la quale si assume disponibilità illimitata di cibo e l’altra da predatori, che si nutrono di sole prede, può essere descritta da due equazioni differenziali. Se si indica con x1(t) la densità delle prede e con x2(t) quella di predatori si ha
[9] ∙x1(t) = ax1(t) − bx1(t)x2(t)
∙x2(t) = − cx2(t) + dx1(t)x2(t).
La prima equazione indica che la variazione della densità di prede avviene secondo il proprio tasso di crescita a ed è limitata dalla probabilità bx1x2 di incontrare il predatore e di essere eliminato. La seconda esprime la variazione della densità di predatori determinata dal proprio tasso di estinzione c e dalla probabilità dx1x2 di incontrare la preda e riuscire a catturarla. Il vettore (x1(t),x2(t)) rappresenta esso stesso, in questo contesto, il vettore di stato. Si noti che tale vettore avrebbe allo stesso modo rappresentato lo stato nella descrizione dell’evoluzione nel tempo di una sola delle due specie.
La definizione data, sebbene di ampia generalità e adatta alla trattazione di problemi di analisi in diversi settori disciplinari, non è adeguata nel caso in cui la descrizione del fenomeno è impiegata con finalità di intervento. In questo caso è opportuno tenere conto del fatto che le evoluzioni del sistema possono avvenire in risposta a sollecitazioni dall’esterno. Questo conduce a distinguere l’insieme delle variabili di un sistema dinamico astratto in cause ed effetti ovvero in ingressi e uscite (orientamento del sistema), nonché ad assumere che le uscite dipendano dagli ingressi passati e presenti ma non dagli ingressi futuri (causalità). Tale duplice assunzione ha in realtà caratterizzato l’evoluzione della teoria sin dalle prime fasi e rappresenta un elemento distintivo rispetto all’approccio indagativo cui si ispira la fisica matematica.
Se da un lato infatti la distinzione delle variabili in cause ed effetti mal si presta alla descrizione di alcuni casi di interesse fisico, dall’altro essa è necessaria se ci si pone dal punto di vista delle scienze dell’ingegneria, orientate a descrivere processi o fenomeni con il fine di modificarne il comportamento in funzione di obiettivi di utilità. In termini formali, un sistema astratto ∑ si dice orientato quando W=U×Y, dove U indica l’insieme dei valori delle grandezze di ingresso e Y l’insieme dei valori delle grandezze di uscita. L’orientamento in un sistema astratto corrisponde quindi alla suddivisione delle variabili in causa ed effetti e naturalmente suggerisce l’immagine di un sistema dinamico come una scatola nera, che rappresenta le modalità secondo le quali le variabili di uscita sono influenzate da quelle di ingresso. Si può dunque immaginare che i comportamenti possibili corrispondono a esperimenti condotti in diversi istanti t0.
Con queste precisazioni si definisce sistema dinamico astratto orientato una terna S={T,U× X,∑} con
[10] ∑ = {∑(t0) ⊂ UT(t0) × YT(t0) tale che t0 ∈ T
e CRT sia soddisfatta}
dove la chiusura rispetto al troncamento (CRT) richiede che per ogni t0∈T e per ogni t1 ≥ t0
[11] (u0, y0) ∈ ∑(t0) ⇒ (u0∣T(t1), y0∣T(t1)) ∈ ∑(t1).
∑ è dunque un insieme di relazioni ∑(t0) dagli insiemi UT(t0) agli insiemi YT(t0) (t0∈T), ovvero per ogni t0∈T a una funzione di ingresso u0 possono corrispondere più funzioni di uscita y0.
Il concetto di variabile di stato (con il suo significato di sintesi della storia passata) consente nel caso dei sistemi orientati, in cui un possibile comportamento a t0 è pensato come il risultato di un esperimento in cui u0 è fissato esternamente, di individuare una proprietà specifica dello stato. Infatti, l’insieme degli stati a t0 costituisce una parametrizzazione dell’insieme ∑(t0) e cioè delle possibili coppie ingresso-uscita. Poiché ∑(t0) è una relazione, fissare u0 non è sufficiente a individuare y0: lo stato x0 è precisamente ciò che bisogna specificare perché (x0,u0)→y0. Alla definizione formale di stato e rappresentazione con lo stato si giunge impiegando lo strumento tecnico della parametrizzazione di una relazione algebrica e la definizione di causalità di una funzione. Gli argomenti che seguono hanno lo scopo di guidare in una comprensione intuitiva.
Ciascuna relazione ∑(t0)⊂UT(t0)×YT(t0) (t0∈T) può essere rappresentata come una funzione g: Xt0×UT(t0)→YT(t0), dove Xt0 è un opportuno insieme di parametri. A ciascuna coppia (x0∈Xt0,u0∈UT(t0)) corrisponde quindi un’unica funzione di uscita. La definizione stessa di sistema dinamico orientato richiede che i parametri Xt0, ai diversi istanti, siano tra loro collegati: se a t0 alla coppia (x0∈Xt0,u0∈UT(t0)) corrisponde y0∈YT(t0), al generico istante t1≥t0 la coppia (u0,y0)∣T(t1) appartiene a ∑(t1) e sarà quindi corrispondente a uno o più valori del parametro in Xt1. Se si ammette che {Xt0,t0∈T} siano sottoinsiemi di un unico insieme X e si ricorda il significato che si vuole attribuire allo stato (contenere tutte le informazioni sul passato necessarie a caratterizzare, assieme agli ingressi, il futuro), sembra naturale assumere che tra i valori a t1, cui corrisponde (u0,y0)T(t1), ce ne sia uno legato a x0 e u0 da un legame funzionale del tipo
[12] x1 = x(t1) = φ(t1, t0, x0, u0)
Assumendo che la dipendenza da u0 sia strettamente causale, solo il suo valore sull’intervallo (t0,t1) risulta significativo.
Le considerazioni precedenti lasciano intendere la possibilità di definire un’evoluzione nello spazio X per collegare i valori dei parametri nei diversi istanti di tempo.
Siano dunque X lo spazio dei parametri, U l’insieme dei valori di u,U⊂UT lo spazio delle funzioni d’ingresso e
[13] (T × T )* = {(t, t0) : t ≥ t0, t, t0 ∈ T }.
La funzione di transizione dello stato
[14] φ: (T × T )* × X × U → X
x(t) = φ(t, t0, x0, u)
soddisfa allora le seguenti proprietà: (a) consistenza
[15] φ(t, t, x, u) = x
per ogni t ∈ T, u ∈ U; (b) causalità
[16] u∣[t0, t)=u′∣[t0, t) ⇒ φ(t, t0, x0, u)=φ(t, t0, x0, u′)
per ogni (t, t0)∈(T × T )*, x0∈X (c) separazione
[17] t > t1 > t0 ⇒
⇒ φ(t, t0, x0, u) = φ(t, t1, φ(t1, t0 x0, u), u)
per ogni (t, t0)∈(T × T )*, x0 ∈ X, u ∈ U.
Il significato delle prime due è evidente, mentre la separazione esprime la conseguenza sull’evoluzione dello stato della chiusura rispetto al troncamento. Lo stato a t è determinato da x0 e u[t0,t) ma anche dallo stato raggiunto a t1 (a partire da x0 e u[t0,t1)) e u[t1,t), proprio perché x(t1) riassume la storia passata.
E dunque possibile rendere consistente la scelta delle parametrizzazioni ai diversi istanti di tempo. Ciò posto, è naturale chiedersi come lo stato intervenga nel calcolo dell’uscita. Ricordando che solo la restrizione di u0 su [t0,t1) è significativa per l’ipotesi di causalità e assunto t=t0 si ha
[18] y(t) = η(t, x(t), u(t))
che mette in evidenza come l’uscita al tempo t dipenda dai valori dell’ingresso e dello stato in quello stesso istante.
Le considerazioni svolte ci hanno condotto in modo informale ad associare a un sistema dinamico astratto orientato una rappresentazione con lo stato, cioè una terna (X,φ,η), dove X è lo spazio di stato, φ la funzione di transizione dello stato, η la trasformazione di uscita.
Si tratta di una descrizione alternativa a quella, qui fornita, in termini dei possibili comportamenti nei diversi istanti di tempo ma che può essere assunta, come spesso accade, alla base della teoria. È infatti possibile dimostrare che in condizioni di grande generalità sussiste una diretta corrispondenza tra le due definizioni.
Assumendo come punto di partenza le rappresentazioni con lo stato, i sistemi vengono classificati riferendosi alle proprietà dello spazio di stato e delle funzioni φ e η: sistemi a tempo discreto o a tempo continuo in relazione alle caratteristiche dell’insieme del tempo, ℝ o ℤ; a dimensione finita o infinita in relazione alla dimensione dello spazio di stato (ciò usualmente corrisponde alla distinzione tra parametri concentrati e distribuiti nella teoria delle equazioni differenziali); stazionari quando non c’è una dipendenza esplicita di φ da t0 e di η da t (ciò corrisponde alla invarianza rispetto al tempo del comportamento ingresso-uscita); a memoria finita o infinita, in relazione a eventuali limitazioni nella dipendenza di φ dall’ampiezza dell’intervallo temporale tra t e t0; deterministici e stocastici, a seconda delle proprietà degli insiemi delle variabili in connessione con il livello di conoscenza dei loro valori. Ulteriori criteri di classificazione riguardano l’impiego combinato di insiemi eterogenei di variabili, che combinano elementi continui e discreti nel tempo, valori analogici e digitali o comportamenti descritti da relazioni matematiche congiuntamente a regole logiche.
Come messo in luce in precedenza, nella pratica la caratterizzazione dei comportamenti possibili avviene mediante un processo di costruzione del modello che conduce spesso a una rappresentazione implicita, in cui – restando nel contesto dei sistemi che ammettono ben definite descrizioni matematiche – l’evoluzione si presenta come un insieme di equazioni differenziali o alle differenze. Si tratta di una proprietà generale delle rappresentazioni a tempo discreto: una rappresentazione cosiddetta implicita può infatti sempre essere ottenuta dalla equazione [15]. Ponendo infatti t=t+1 e t0=t, si ha
[19] x(t+1)=f (t, x(t), u(t)), x(t0)=x0
y(t)=η(t, x(t), u(t)).
Questa rappresentazione consente di caratterizzare passo dopo passo le evoluzioni di x(t) e y(t) a partire dai valori dello stato e dell’ingresso. La rappresentazione (X,f,η) è detta implicita ed f è detta la sua funzione generatrice.
Nel caso di tempo continuo l’esistenza di rappresentazioni implicite è condizionata da opportune ipotesi. Come suggerisce l’intuizione, essa dovrà fornire una descrizione del comportamento del sistema in tempo reale, e quindi secondo relazioni causali e differenziali: non si potrà allora prescindere dalla derivabilità delle funzioni di transizione dello stato e di trasformazione in uscita. Tali assunzioni, note come condizioni di regolarità, consentono di ottenere una rappresentazione del tipo
[20] ∙x(t)=~f (t, x(t), u(t))
x(t0)=x0 y(t)=~η(t, x(t), u(t))
dove ∙x(t) indica la derivata rispetto al tempo di x(t). Essa rende possibile generare le evoluzioni di x(t) e y(t) a partire dai valori dello stato e dell’ingresso nei diversi istanti di tempo.
Molteplici sono i risultati che fanno parte del corpo di metodi della teoria dei sistemi e le interazioni con altre materie e settori disciplinari.
Una prima riflessione riguarda la modellistica e l’identificazione nel nuovo contesto delle rappresentazioni ingresso-stato-uscita. L’approccio sistemistico in tale ambito indirizza la procedura di costruzione del modello e aiuta a definirne il significato e i limiti. La modellistica, infatti, non riguarda un dato fenomeno nel suo complesso ma solo alcune grandezze di cui si vuole rappresentare il comportamento.
Questo aspetto che può apparire evidente è spesso trascurato: è usuale parlare di modellistica di una rete di trasmissione dati, di un sistema spaziale, di un sistema robotico, mentre un modello non può che rappresentare solo alcune delle grandezze coinvolte.
Tali grandezze, che definiscono le uscite, rappresentano il punto di partenza nella costruzione di un modello. L’individuazione delle grandezze esterne (gli ingressi dai quali dipendono le uscite), delle variabili di stato e delle relazioni tra l’insieme delle variabili in gioco porta alla costruzione del modello e ne fissa il significato e le potenzialità d’impiego. Nel caso in cui non si abbia conoscenza dei fenomeni o dei componenti del sistema, la procedura appena delineata non potrà essere seguita. L’approccio sistemistico, con la formalizzazione del concetto di stato, ha contribuito alla messa a punto di nuovi metodi di costruzione dei modelli a partire dalla situazione meno favorevole (detta a scatola nera) in cui sono disponibili solo le misure delle interazioni con l’esterno (gli ingressi e le uscite). Si favorisce in tal modo lo sviluppo della teoria dell’identificazione: dall’identificabilità di un modello all’individuazione dei parametri una volta fissata una classe di modelli. Non deve inoltre essere dimenticato l’impulso dato alla messa a punto di nuovi paradigmi, come quello delle reti neurali. Basti pensare al processo di costruzione del modello realizzato imponendo a una rete neurale prefissate coppie ingresso-uscita che si corrispondono (e che risultano per es. da misure sul sistema da modellare). La capacità della rete di far corrispondere, a un insieme assegnato di imposizioni, valori dei propri parametri interni in grado di riprodurre quel collegamento caratterizza le potenzialità modellistiche della rete.
Un secondo tipo di problemi riguarda il passaggio da una rappresentazione all’altra e in particolare da quella implicita (differenziale o alle differenze) a quella esplicita (l’insieme dei comportamenti).
Da un lato il problema è puramente matematico: calcolo delle soluzioni e studio delle caratteristiche per fissate classi di rappresentazioni. Dall’altro si tratta di realizzare il passaggio dalla descrizione esplicita a quella implicita. Come lascia intendere il nome assunto dalla funzione che descrive l’evoluzione dello stato nel caso di una rappresentazione implicita (funzione generatrice), quest’ultima genera – passo dopo passo o per variazioni – le evoluzioni dello stato e dell’uscita conseguenti alle variazioni dell’ingresso. I possibili comportamenti vengono quindi generati in dipendenza dello stato e dell’ingresso, in tempo reale, in parallelo all’evoluzione stessa del fenomeno. Questo aspetto rende conto della possibilità di impiego di tali modelli nella realizzazione di emulatori e simulatori in tempo reale dell’oggetto di studio.
Un terzo tipo di problemi ha poi contribuito allo sviluppo dell’analisi qualitativa dei sistemi: si tratta di quei metodi di studio delle proprietà delle soluzioni che non richiedono la loro esplicita determinazione. Tra queste vanno citate la stabilità, interna ed esterna, e proprietà dello stato quali la raggiungibilità e l’osservabilità. Queste ultime hanno un particolare interesse poiché, come più volte richiamato, nella rappresentazione ingresso-stato-uscita le variabili di stato sono quelle che esprimono nel modo più completo le condizioni del sistema.
È possibile raggiungere a partire da uno stato iniziale dato un altro stato? Esiste cioè un ingresso che consenta di passare da un dato stato all’altro? Quali stati sono raggiungibili a partire da un determinato stato? È chiaro che una risposta a queste domande comporta il possesso di importanti informazioni sulla potenzialità dei canali d’ingresso e sulle possibilità di influenzare l’evoluzione dello stato e quindi l’uscita del sistema. Significa in altre parole avere informazioni su quello che si può fare intervenendo dall’esterno sul sistema.
La proprietà duale di quella appena descritta si riferisce al comportamento stato-uscita: è possibile ricostruire il comportamento delle evoluzioni nello stato osservando (misurando) l’uscita? Si noti che si tratta di ricostruire le evoluzioni di un numero di variabili molto maggiore di quelle osservate. Si tratta di un’altra proprietà di grande interesse in quanto connessa alla possibilità di estrarre informazioni da un dato insieme di misure, in particolare nell’ingegneria dei sistemi dove l’intervento su un dato sistema avviene sulla base della misura delle uscite.
Numerosi sono i contributi che la pur giovane scienza dei sistemi ha dato allo sviluppo delle conoscenze dei fenomeni complessi naturali e artificiali in diversi settori: dalla fisica alla biologia, dalla finanza all’economia, dall’ingegneria alle scienze sociali, fino ai più recenti campi delle scienze dei materiali e della genomica. Se la teoria dei sistemi rappresenta il ramo più formalizzato in cui gli aspetti di base vengono indagati impiegando il linguaggio della matematica, a partire dai metodi più consolidati della modellistica e dell’identificazione sono nati e si sono sviluppati approcci alternativi alla descrizione dei fenomeni ispirati a nuove analogie e talvolta stimolati dalle nuove tecnologie. Oltre alle già citate reti neurali, ci limitiamo a ricordare le e i sistemi a eventi discreti, le basi di dati relazionali e i metodi di rappresentazione della conoscenza.
Ma lo sviluppo della scienza dei sistemi, che si misura in termini di nuovi metodi per analizzare e comprendere i fenomeni complessi, è anche stimolato dai problemi e dalle continue sfide che la tecnologia pone all’ingegneria dei sistemi. L’ingegneria dei sistemi costituisce il ramo applicativo e multi-settoriale della scienza dei sistemi. Le sue applicazioni non si limitano a quelle tradizionali dell’ingegneria ma essa propone, proprio come la scienza dei sistemi, un approccio unificato al progetto dell’intervento sui sistemi complessi. Tale approccio (che nella scienza dei sistemi è insito nella definizione stessa di sistema) è in questo caso quello proposto dal paradigma a fondamento della teoria del controllo. Quest’ultima, come avveniva per la teoria dei sistemi, rappresenta nell’ingegneria dei sistemi l’ambito in cui avviene l’elaborazione dei concetti di base nel linguaggio della matematica.
Due elementi caratteristici di un sistema complesso che assumeremo come punto di partenza della nostra riflessione sono la coesistenza di componenti hardware e software (queste ultime destinate all’elaborazione dell’informazione) e la presenza di flussi di informazione in direzione opposta a quella delle influenze fisiche tra i componenti (feedback). Per comprendere questi aspetti valgono le seguenti considerazioni elementari. L’intuizione suggerisce che il progetto di un intervento su un sistema richieda la capacità di poter valutare, o almeno prevedere, gli effetti che avrà l’intervento stesso. Questa valutazione dipende dalla conoscenza del fenomeno (dall’eventuale disponibilità di un modello), che nella migliore delle condizioni è solo parziale. In questo contesto la teoria del controllo ci dice che non è necessario prevedere l’effetto che avrà l’intervento: informazioni parziali possono essere sufficienti se gli obiettivi sono ammissibili (raggiungibilità) e se si dispone di sufficiente informazione in condizioni di funzionamento (ovvero in tempo reale) sugli effetti stessi (osservabilità). In altre parole non bisogna prevedere gli effetti, basta poterli misurare. La teoria del controllo indica poi come a partire dalle misure degli effetti e dagli scostamenti rispetto agli obiettivi sia possibile mettere a punto strategie di intervento caso per caso adeguate. Ecco dunque il paradigma del controllo: anche in condizioni di informazioni parziali è possibile raggiungere gli obiettivi, ma risulta necessario un feedback di informazione. La conoscenza in tempo reale della distanza dagli obiettivi può consentire di ottenere soluzioni soddisfacenti: la presenza di componenti software è una diretta conseguenza della presenza di feedback e delle procedure di acquisizione e di elaborazione delle informazioni necessarie alla loro realizzazione (senza tenere conto del fatto che il sistema stesso è il più delle volte un aggregato di componenti di diversa natura). Si pensi ai sistemi robotici, alle reti di distribuzione dell’energia o di dati, ai sistemi di navigazione aerea e spaziale o ai più recenti sistemi automatici per la produzione e gestione di beni e servizi in settori quali l’impiantistica industriale, lo sfruttamento sostenibile di risorse ambientali, l’analisi di dati e il controllo di sistemi biomedici.
Poiché l’ingegneria dei sistemi è un intreccio di metodologie e tecnologie per l’intervento su sistemi complessi già operanti o per la realizzazione di sistemi complessi attraverso un approccio fondato sull’adozione di modelli dei relativi processi di informazione e di controllo e sull’impiego delle tecnologie relative, si deduce che le competenze specifiche che la caratterizzano sono quelle che intervengono nel sottosistema costituito dal software e dai dispositivi di interfaccia con i componenti hardware. È quindi chiaro che le metodologie e le tecnologie proprie dell’ingegneria dei sistemi sono quelle dell’automatica, dalla teoria e tecnica del controllo all’automazione, dalla misura e filtraggio alla strumentazione automatica.
Tecnologie direttamente connesse e che devono fare parte del bagaglio culturale dell’ingegnere dei sistemi sono quelle dell’informatica, delle telecomunicazioni e dell’elettronica, quelle cioè che intervengono nella realizzazione della catena di misura, elaborazione e restituzione sino all’interfaccia con l’esercizio dell’intervento. Non meno importanti sono infine le tecnologie specifiche del settore cui attiene l’applicazione, che non sono però di diretta competenza dell’ingegneria dei sistemi. L’unitarietà del sapere sistemistico riguarda dunque sia la descrizione dei sistemi (modellistica) che le strutture grazie alle quali si può intervenire (controllo).
Per concludere, può essere utile esaminare come i concetti messi in luce trovino riscontro nel delineare quelle che potremmo definire le direttrici di una procedura da seguire nella concezione e progetto di un intervento su un sistema, procedura che implicitamente chiarisce l’approccio e definisce il metodo.
In primo luogo, a partire dagli obiettivi e avendo individuato i possibili canali di intervento, valutare l’ammissibilità della procedura stessa attraverso uno studio modellistico di massima in collaborazione con esperti del settore applicativo; determinare poi eventuali vincoli imposti dalle tecnologie di misura ed esercizio dell’intervento per arrivare a individuare specifiche che definiscano i limiti entro i quali gli obiettivi possono essere raggiunti (studio di fattibilità: approccio sistemistico, modellistica, tecnologie del settore applicativo). Quindi, effettuare un’indagine sull’architettura del sistema complessivo che impieghi uno studio delle potenzialità di intervento congiuntamente a una valutazione delle misure che possono essere acquisite (un ruolo centrale qui è svolto dalle incertezze sui modelli) nonché una scomposizione in sotto-problemi, una loro formulazione e una definizione delle specifiche (fattibilità: controlli automatici, strumentazione per l’automazione). Inoltre, progettare dei sottosistemi sino allo sviluppo delle procedure diacquisizione delle misure e di calcolo dell’intervento (concezione di un prototipo per la simulazione: controlli automatici, misure). Infine, selezionare un ambiente e costruire un modello di simulazione, implementare l’architettura di intervento e le procedure relative, verificare mediante simulazioni (verifica del prototipo software: modellistica e simulazione, ingegneria del software). Solo a questo punto si può passare alla fase di realizzazione o in caso contrario ripercorrere dal principio i passaggi analitici sopra elencati.
Brockett 1970: Brockett, Roger W., Finite dimensional linear systems, New York, Wiley, 1970.
Forrester 1973: Forrester, Jay W., World dynamics, 2. ed., Cambridge (Mass.), Wright-Allen, 1973.
Kalman 1969: Kalman, Rudolf E. - Falb, Peter - Arbib, Michael A., Topics in mathematical system theory, New York, McGraw-Hill, 1969.
Khalil 1996: Khalil, Hassan K., Nonlinear systems, 2. ed.,Upper Saddle River, Prentice-Hall, 1996.
Isidori 2000: Isidori, Alberto, Nonlinear control systems: anintroduction, 3. ed., Berlin-New York, Springer, 2000.
Luenberger 1979: Luenberger, David G., Introduction todynamic systems: theory, models, and applications, New York, Wiley, 1979.
Luenberger 2006: Luenberger, David G., Information science, Princeton-Oxford, Princeton University Press, 2006.
Ruberti, Isidori 1979: Ruberti, Antonio - Isidori, Alberto, Teoria dei sistemi, Torino, Boringhieri, 1979.
Wiggings 1990: Wiggings, Stephen, Introduction to applied nonlinear dynamical systems and chaos, New York, Springer, 1990.
Willems 1991: Willems, Jan C., Paradigms and puzzles in the theory of dynamical systems, “IEEE transactions on automatic control”, 36, 1991, pp. 259-294.
Wonham 1979: Wonham, W. Murray, Linear multivariable control: a geometric approach, 2. ed., New York, Springer, 1979.
Zadeh, Desoer 1963: Zadeh, Lotfi A. - Desoer Charles A., Linear system theory, New York, McGraw-Hill, 1963.