VisualSTATE è l’ambiente di sviluppo visuale per la generazione automatica di codice C/C++ a partire da modelli di macchine a stati. Supporta la generazione automatica della documentazione di progetto. Dotato di un editor grafico intuitivo, include una serie di tool di verifica e debug: verifica statica della macchina a stati, di un debugger a livello di macchina a stati con possibilità di collegamento al target tramite la tecnologia Reallink. La rappresentazione della macchina a stati è molto simile alla notazione UML per le macchine a stati.
Caratteristiche generali
Navigator
Il Navigator è l’ambiente generale di gestione del progetto. Dal Navigator è possibile lanciare gli altri tool compresi in VisualSTATE e specificare le opzioni e i parametri per il generatore di codice (Coder) e il Verificator. Dopo aver creato un progetto nel Navigator è possibile passare al Designer per progettare le macchine a stati del sistema. Clicca qui per vedere il filmato introduttivo sul Navigator
Designer
Il Designer è un potente strumento per creare le macchine a stati. Tutti gli elementi del sistema sono visibili e accessibili attraverso dei browser. Nella finestra principale è possibile creare un modello inserendo stati, transizioni, eventi, variabili, regioni concorrenti, segnali, parametri secondo la notazione prescritta da UML.
Validator
Consente la validazione del design inviando eventi alla macchina a stati progettata e evidenziando gli effetti di tali stimoli. E’ possibile registrare sequenze di stimoli e successivamente utilizzarli come pattern di ingresso per il sistema visualSTATE.
Analisi Dinamica
Questo tool incluso nel Validator calcola il test-coverage della sistema. Tale test valuta, dato un file di stimoli (ottenibile tramite simulazione, per esempio) quante volte un certo evento si verifica , una certa azione viene intrapresa, certe variabili vengono modificate o transizioni di stato hanno luogo. Mette in evidenza quanta parte della macchina a stati non viene esercitata durante l’esecuzione della simulazione.
Analisi statica
E’ possibile valutare alcuni aspetti del sistema quali ad esempio stabilire quali azioni sono triggerate da un certo evento o quali transizioni di stato possono portare a eseguire una certa azione.RealLinkPermette di comunicare tramite VisualSTATE col vostro target tramite un canale RS-232 oppure ethernet o CAN. In questo modo è possibile monitorare e controllare il comportamento run-time del modello direttamente sul target finale!
Verificator
VisualSTATE impiega una tecnologia per la verifica run-time del modello dell’applicazione. Verifica che l’applicazione sia il 100% consistente a livello logico. Verifica che solo in comportamento esplicitamente definito abbia luogo. Cerca condizioni di dead-end (stati trappola dai quali non si riesce ad uscire). Se una transizione è definita “guarded” allora il Verificator si accerta che tale transizione sia raggiungibile in almeno una delle possibili combinazioni di stato del sistema. Controlla che transizioni triggerate dallo stesso evento non provochino conflitti.
Prototyping
Tramite il prototyper è possibile configurare il proprio ambiente di simulazione personalizzato. E’ possibile disegnare un modello grafico del prodotto, testarne il comportamento in modo interattivo.
Coder
IAR VisualSTATE genera il codice per il target automaticamente. Consente di ottenere così codice 100% consistente col design. VisualSTATE impiega una tecnologia che assicura una esecuzione pienamente deterministica del codice. Sono escluse “race conditions” durante l’esecuzione di processi concorrenti. Il codice generato è ANSI C oppure C++. La dimensione del codice generato, grazie alla tecnologia IAR, in generale richiede meno risorse in termini di memoria della corrispettivo codice scritto a mano. Questo indica che VisualState è ideale per generare codice per target piccoli da 8 oppure 16 bit.DocumenterGrazie a questo tool è possibile creare un report di documentazione relativo al progetto. Tale report include informazioni sul design, la validazione, la simulazione, la verifica , il codice generato e l’implementazione. Tutte le informazioni rilevanti sul progetto sono raccolte dai vari moduli di VisualSTATE e organizzati e strutturati in un documento in formato .RTF (rich text format) oppure HTML. E’ possibile personalizzare il livello di dettaglio del report e le informazioni da includervi.