Skip to main content
European Commission logo
italiano italiano
CORDIS - Risultati della ricerca dell’UE
CORDIS
CORDIS Web 30th anniversary CORDIS Web 30th anniversary
Contenuto archiviato il 2024-05-27

COrrect development of reAl-time Embedded systems in UML

Article Category

Article available in the following languages:

Migliorare la validazione di software

Per migliorare la qualità dei software e ridurre al tempo stesso i costi di validazione, il progetto OMEGA ha sviluppato un set di strumenti IF per la modellizzazione e la validazione di sistemi eterogenei in tempo reale. IFx è una versione ampliata del toolbox IF, sviluppato nel quadro dello stesso progetto, per la verifica a tempo, la simulazione e l'analisi pianificata dei modelli UML scritti nel profilo OMEGA.

Lo sviluppo basato su modello è un'interessante idea per creare sistemi software integrati in tempo reale. Con questo approccio vengono compilati modelli che rappresentano specifiche di aspetti funzionali, codificati per piattaforme particolari. La sperimentazione necessaria non viene condotta sui veri sistemi, ma su prototipi virtuali (modelli). L'UML (Unified Modeling Language) permette di descrivere i modelli operativi di un sistema a vari livelli di astrazione, corrispondenti a differenti fasi di sviluppo, che includono le descrizioni dell'architettura e del comportamento. Facilità di costruzione, uso generalizzato, migliore osservabilità e controllabilità, possibilità di analisi e prevedibilità sono solo alcuni dei vantaggi di un approccio basato su modello. Ma si tratta di un approccio utile solo se accompagnato da strumenti di validazione delle scelte progettuali. Il progetto OMEGA si è occupato degli strumenti e della metodologia per sviluppare sistemi integrati in tempo reale che usano l'UML. L'eterogeneità dei componenti con differenti velocità di esecuzione, e i modi d'interazione in genere presenti nell'approccio basato su modello sono due dei principali problemi affrontati. Il set di strumenti IF/IFx permette agli utilizzatori di effettuare operazioni simili a quelle offerte dai debugger più moderni. Tra le altre, esecuzione passo a passo, ispezione dello stato del sistema, arresto condizionato, rewind/replay e verifica delle condizioni di coerenza semplice come stalli o blocchi a tempo. Le caratteristiche da validare nel modello vengono espresse con osservatori, una classe speciale di modelli. Sono inoltre muniti di primitive per monitorare e verificare la divergenza dal comportamento nominale. Analogamente, vengono usati vincoli temporali per esprimere i limiti di durata tra eventi dei sistemi e parti del progetto con limiti temporali, o per descrivere un contesto con proprietà temporali specifiche. Il principale componente dell'IFx è il traduttore UML-to-IF, che genera una descrizione IF (Intermediate Format, formato intermedio). Le descrizioni IF sono rappresentazioni intermedie che descrivono specifiche, obiettivi delle prove e criteri di copertura con un linguaggio idoneo a generare un test basato su modello. Il traduttore usa come input un modello UML archiviato in XMI, il formato standard XML, e genera una specifica IF che corrisponde al modello UML, rispettando la semantica Omega. Un front-end UML fornisce inoltre un'interfaccia, appositamente mirata ai modellizzatori UML per gli strumenti di validazione IF, che cela l'IF e i dettagli della traduzione. Lo strumento è stato applicato a tre studi di casi OMEGA e a numerosi altri progetti. L'uso combinato con altri strumenti di validazione e di generazione di codice viene visto come obiettivo di future collaborazioni.

Scopri altri articoli nello stesso settore di applicazione