SOFTWARE
approfondimenti
Automazione e Strumentazione
■
Giugno 2015
57
modulo facilitano il debug, il collaudo dell’unità
e l’interazione dell’utente a tutti i livelli del pro-
getto. Tutte queste funzionalità e tante altre con-
tribuiscono all’efficacia dell’utilizzo di LabView.
Parallelo, non sequenziale
Una delle più importanti caratteristiche, che dif-
ferenzia LabView dagli altri strumenti software, è
che
il flusso di dati è intrinsecamente parallelo
.
I linguaggi di programmazione tradizionali sono
sequenziali, modellati sulla modalità di funzio-
namento dei computer, come le macchine di Von
Neumann. I linguaggi sequenziali sono semplice-
mente inadatti per le macchine parallele. Quando
un settore si muove verso le macchine multicore o
gli FPGA, questo è uno dei principali ostacoli. Già
nel 1977, John Backus aveva fatto notare i limiti
dell’architettura di Von Neumann, non soltanto
per le problematiche legate ai dati, ma anche per
i colli di bottiglia concettuali. Trentacinque anni
dopo, i linguaggi sequenziali tradizionali basati su
testo continuano a perpetuare questo collo di bot-
tiglia. Il
linguaggio a flusso di dati
di LabView
supera queste problematiche, dimostrandosi così
ideale per affrontare le sfide di progettazione,
che pongono oggi i sistemi cyber-fisici e, ultima-
mente, l’Internet delle Cose. Questo approccio
grafico è ancora in fase di evoluzione con nume-
rosi settori di ricerca attivi, dedicati alla visualiz-
zazione del software e alle funzionalità dell’har-
dware sottostante.
Temporizzazione e configurazione
Un settore di ricerca in continuo sviluppo riguarda
la
temporizzazione
. La maggior parte delle appli-
cazioni software viene ottimizzata per prestazioni
generali, piuttosto che per un’accurata temporiz-
zazione. I sistemi cyber-fisici, tuttavia, dipendono
strettamente da un’accurata temporizzazione.
LabView è in grado di rappresentare visivamente
la temporizzazione richiesta mediante un Timed
Loop e produrre prestazioni di esecuzione real-
time. Anche se i progettisti possono visualizzare
nel dettaglio l’esecuzione run-time, utilizzando
il Real-Time Trace Viewer, non hanno modo di
prevedere in anticipo e nel dettaglio le prestazioni
riguardanti la temporizzazione, in quanto parte del
processo di progettazione.
Dal momento che è necessario specificare sol-
tanto l’esatta temporizzazione dei sensori e degli
attuatori, è il compilatore a dover programmare
l’altro software per l’adeguamento all’I/O. I pro-
gressi nella rappresentazione possono rendere più
semplice la definizione esatta della temporizza-
zione dell’I/O, senza vincolare troppo la tempo-
rizzazione del restante software. Oggi è possibile
realizzare
sistemi cyber-fisici distribuiti
, sincro-
nizzati in modo accurato, ma in futuro sarà tutto
molto più semplice, grazie ad una rappresenta-
zione software del tempo più chiara e a miglio-
ramenti nell’hardware per la comunicazione iso-
crona. Un altro settore di ricerca si occupa della
configurazione delle
risorse
hardware e dei
software
distribuiti.
Attualmente, LabView
mostra queste informa-
zioni organizzandole
in un grafico ad albero,
attraverso la finestra
di progetto. Poiché un
grafico ad albero non
può mostrare le connes-
sioni tra gli elementi, i
progettisti devono usare
l’immaginazione per
visualizzarle.
La finestra di progetto
di LabView necessita
di una rappresenta-
zione diagrammatica
per mostrare la confi-
gurazione dei componenti hardware, le intercon-
nessioni, i sensori, gli attuatori ed eventualmente
anche una rappresentazione della macchina fisica.
Sarà possibile trasformare con facilità una visua-
lizzazione fisica foto-realistica del sistema in
visualizzazioni logiche a più livelli di astrazione.
La rappresentazione logica è in grado di mostrare
il software distribuito
su ciascun componente
programmabile.
La temporizzazione e
la configurazione sono
soltanto due dei settori
di ricerca che stiamo
seguendo attivamente
per ampliare le fun-
zionalità della nostra
piattaforma. Il
White-
board
è un indicatore
che consente di stimare
quanto lavoro resta da
fare. Se si è costretti a disegnare su una lavagna
bianca per spiegare il proprio progetto, si è anche
consapevoli che con strumenti migliori c’è più
possibilità di catturare quell’immagine.
La progettazione di sistemi basata su piattaforma
produce
sistemi flessibili e scalabili
con ren-
dimenti superiori e costi complessivi inferiori
rispetto ai metodi tradizionali. La continua evolu-
zione dell’approccio grafico implica, inoltre, che
tanti saranno ancora i progressi a livello di presta-
zioni e produttività.
■
Figura 2 - I diagrammi
grafici di flusso fungono sia
da visualizzazione, che da
implementazione.
Figura 3 - Un grafico ad albero non
aiuta i progettisti a visualizzare le
connessioni tra gli elementi