Reactis viene impiegato nel processo di Model-based Design utilizzando modelli Simulink/Stateflow. Reactis è un’applicazione standalone che legge file in formato .mdl/slx prodotti dall’ambiente The MathWorks®.
Reactis si compone di tre componenti principali:
Tester | Simulator | Validator |
---|---|---|
Permette la generazione automatica di test case da un modello. | Consente di visualizzare l’esecuzione del modello per il debug ed il tracking del coverage. | Permette la verifica automatica dei modelli Simulink per la violazioni dei requisiti user-defined. |
Tester
Reactis Tester offre la generazione automatica di test da modelli Simulink. La suite di test generata fornisce una copertura completa delle diverse metriche utilizzate – inclusa la copertura MC/DC (Modified Condition/Decision Coverage) – minimizzando allo stesso tempo la ridondanza dei test.
Grazie al Reactis Tester sarà possibile massimizzare l’efficacia del test riducendo i tempi di esecuzione del test stesso.
Ogni test case in un ciclo di test, consiste nella sequenza di input al modello e nei relativi output generati dal modello stesso. I dati generati automaticamente possono essere utilizzati per diversi di scopi, tra cui:
-
Conformità all’implementazione. I test possono essere applicati al codice prodotto dal modello per assicurare la conformità con il comportamento del modello stesso.
-
Test e debugging del modello. I test possono essere eseguiti sui modelli stessi per rilevare errori di runtime e per studiare e correggere il comportamento del modello.
-
Regression Testing. I test possono essere eseguiti su nuove versioni di modelli per evidenziare eventuali comportamenti differenti tra le varie versioni.
-
Reverse engineering dei modelli a partire dal codice. I test possono essere generati da modelli derivati dal legacy code per poter verificare la conformità tra modello e codice.
Simulator
Reactis Simulator consente di visualizzare l’esecuzione del modello ed effettuare il debug dei modelli Simulink®. L’interfaccia utente del Simulator è simile a quella dei debugger tradizionali dei linguaggi di programmazione e permette di:
-
Eseguire un blocco, un’istruzione o più istruzioni alla volta.
-
Effettuare una reverse execution.
-
Visualizzare i valori delle variabili, passando il mouse, aprendo uno scope oppure aggiungendo le variabili alla watchlist.
-
Scoprire eventuali parti del modello non esercitate, evidenziandole in rosso.
-
Generare report dettagliati del coverage.
-
Utilizzare Breakpoint.
Validator
Reactis Validator permette di verificare automaticamente se un modello viòla requisiti funzionali definiti dall’utente.
Se il Validator identifica una violazione restituisce un test che riconduce al problema.
Questo test può essere poi eseguito nel Reactis Simulator per capire quale sequenza di eventi ha portato al problema. Il Validator consente di rilevare da subito gli errori di progettazione e le inconsistenze, riducendo gli sforzi richiesti nella revisione del progetto.
C Plugin
Reactis offre inoltre un utile C Plugin, che si integra perfettamente con Reactis per consentire il test e la validazione delle parti di codice C integrato nei modelli (S-Function e chiamate a C da Stateflow).
Automatizzando il test e la validazione del codice C nello stesso ambiente di test di Simulink e Stateflow, il C Plugin per Reactis consente di realizzare analisi più dettagliate dello stesso codice C in maniera ancora più veloce.
.