Dal modello al sistema

PROGETTAZIONE –

La release 2012b di Matlab presentata da MathWorks contiene significative innovazioni che rendono più veloce ed efficiente il processo di modellazione e simulazione, consentendo di arrivare in tempi sempre più brevi alla prototipazione finale delle applicazioni.

La modellazione in ambiente Matlab è oggetto di continua innovazione come conferma l’ultima release di Matlab in cui sono state introdotte innovazioni che accelerano considerevolmente il processo di modellazione fino alla prototipazione del sistema applicativo.
La nuova funzionalità di Matlab e Simulink sono emblematiche dell’attenzione che i produttori di sistemi di natura Model-Based Design stanno dedicando in questi ultimi anni per consentire di sviluppare sistemi embedded di elevata complessità funzionale in modo rapido ed efficiente. La release 2012b di Matlab che MathWorks ha recentemente presentato contiene significative innovazioni  che migliorano le modalità di utilizzo e quelle di navigazione tali da rendere più veloce ed efficiente il processo di modellazione e di simulazione delle applicazioni, in modo da pervenire in tempi sempre più brevi alla prototipazione finale delle applicazioni. Per quanto concerne Simulink, la sua nuova interfaccia grafica consente la navigazione a schede, l’instradamento intelligente del segnale e una gestione più flessibile delle funzionalità di simulazione. Nell’editor di Simulink sono state introdotte funzionalità quali la navigazione a schede che consente una migliore gestione delle finestre, la barra di Explorer per navigare nella gerarchia dei modelli, l’indirizzamento intelligente del segnale che consente di stabilire il percorso ottimale per le connessioni del segnale e la possibilità di eseguire il debug durante la fase di simulazione consentendo di inserire breakpoint condizionali sui segnali. Un’interessante novità è anche la gestione dei progetti. Con la release R2012b è stato introdotto Simulink Projects per gestire i file di progetto e collegarsi ai software di source control. Altrettanto interessante è la possibilità di eseguire la simulazione del modello su target hardware particolarmente popolari come Arduino, Lego Mindstorms Nxt, BeagleBoard e PandaBoard. Un ulteriore supporto alla modellazione è dato da Stateflow che, con le nuove funzionalità dell’editor è integrato con quello di Simulink. Matlab invece include nel suo desktop una toolstrip che consente di accedere rapidamente alle funzionalità usate di frequente e una gallery delle applicazioni Matlab. Anche la documentazione è stata ripensata relativamente alle funzioni di consultazione, ricerca, filtraggio e organizzazione dei contenuti. La toolstrip di Matlab e la gallery delle applicazioni concorrono a rendere più efficiente il processo di modellazione. La toolstrip mostra le icone delle funzioni Matlab utilizzate più frequentemente, come ad esempio la selezione del tipo migliore di grafico per i dati disponibili. La gallery delle applicazioni propone le applicazioni presenti nella famiglia di prodotti Matlab, in modo da consentire uno sviluppo rapido del codice.

Collaborare nel Model System Design
La complessità delle applicazioni embedded è crescente e il model system design è la risposta che i produttori di sistemi di progettazione stanno dando ai progettisti. Simulink Projects è una di queste risposte che MathWorks ha dato con le innovazioni della nuova release di Simulink.
Simulink Projects è uno strumento interattivo, incluso in Simulink, che consente di gestire i file di progetto e di eseguirne il controllo. La sua peculiarità è comunque nella possibilità consentire la collaborazione tra gruppi di progettazione in modo da trovare tutti i file che appartengono al progetto, di creare collegamenti brevi per accedere a operazioni comuni, di iniziare e di terminare un progetto, di tenere sotto controllo la modifica dei file, di condividere i progetti utilizzando Subversion, uno strumento esterno per il controllo del codice sorgente. Per altri software di controllo del codice sorgente sono disponibili degli Sdk per creare adattatori custom per il codice sorgente, per il controllo della versione, per il Scm (Software configuration management), per il Plm (Product lifecycle management) e per l’Alm (Application lifecycle management).
Simulink Projects Tool apre e carica i progetti sempre tenendo sotto controllo la versione. Grazie agli shortcuts è possibile eseguire il comando di startup o di shutdown. I file eseguibili tramite shortcuts di startup quando si apre un progetto sono i (.m), i (.mat) caricati e i modelli simulink aperti. Gli shortcut vengono utilizzati per configurare l’ambiente relativo allo specifico progetto, per esempio la path, il posizionamento di specifiche cartelle, ecc. Un’altra importante funzionalità è quella della Dependency Analysis che consente di verificare che tutti i file richiesti dal progetto siano effettivamente disponibili. Simulink Projects fondamentalmente aiuta a organizzare il lavoro di progettazione, soprattutto quando questo è complesso e interdisciplinare. La possibilità di condividere i file, e di interagire con controllo del sorgente consente di lavorare in maniera efficiente sia con il gruppo, sia nella gestione della complessità.

Integrazione tra Stateflow e Simulink
Stateflow è un ambiente per la modellazione e la simulazione della logica basato su macchine a stati e diagrammi di flusso. L’integrazione a livello di interfaccia utente con Simulink consente di sfruttare appieno la potenzialità di questo strumento che permette di combinare rappresentazioni grafiche e tabellari, oltre ai diagrammi di transizione di stato, i diagrammi di flusso, le tabelle di transizione di stato e le tabelle della verità. Stateflow consente di modellare il modo in cui il sistema reagisce a eventi, condizioni temporali e segnali di stimolo esterni. Inoltre è possibile progettare logica per applicazioni di supervisione e pianificare e gestire i guasti. Stateflow tramite diagrammi di stato può effettuare controlli statici e dinamici sulla coerenza della progettazione e sulla completezza dei test (copertura del modello) molto prima e meno onerosamente di quanto si possa ottenere con un’implementazione reale del sistema. Dopo aver creato i componenti in Stateflow, è possibile integrarli con altri componenti per creare un algoritmo basato su una macchina a stati, integrando componenti e funzioni Matlab e Simulink, oppure codice C personalizzato, funzioni grafiche e tabelle di verità. La temporizzazione degli eventi oggetto di esecuzione è una delle principali peculiarità di stateflow. Nell'algoritmo è possibile pianificare l'esecuzione di componenti e funzioni usando la logica basata sul tempo e sulle condizioni. I componenti di Stateflow possono essere sviluppati, eseguiti e verificati in modo indipendente, consentendo a più utenti di lavorare contemporaneamente su diverse parti dell'algoritmo.

Pubblica i tuoi commenti