progettazione model-driven di un sistema embedded industriale

Transcript

progettazione model-driven di un sistema embedded industriale
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
tesi di laurea magistrale
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED
INDUSTRIALE
Anno Accademico 2013/2014
relatore
Ch.mo Prof Stefano Russo
correlatore
Ing. Domenico Di Leo
Ing. Bruno Busco
candidato
Francesco Pascale
Matr. M63000092
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Obiettivi
Analizzare le metodologie di progettazione model-driven e i relativi linguaggi
standard per la modellazione
Realizzare con metodologie model-driven il progetto di un sistema embedded
nell’ambito del contesto industriale considerato
Confrontare un approccio di modellazione a oggetti con uno procedurale
Valutare vantaggi e svantaggi dell’applicazione di una metodologia modeldriven in un contesto industriale
Il caso di studio è un sistema software utilizzato a bordo treno per il
monitoraggio del veicolo
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Model-Driven Architecture
Model Driven Architecture (MDA) fornisce un approccio alla modellazione
Model-Driven basata su standard OMG.
Propone un approccio per lo sviluppo di sistemi basato su trasformazioni tra
modelli UML a differenti livelli di astrazione.
Il Platform-Independent Model (PIM) rappresenta il sistema e le sue
funzionalità astraendo da dettagli specifici di una piattaforma tecnologica;
questi sono considerati quando si trasforma il PIM nel Platform-Specific
Model (PSM). Il PSM è poi trasformato in una specifica implementazione.
L’approccio Model-Driven induce progettisti e tester a definire in maniera più
formale modelli adeguati per le varie fasi dello sviluppo, e l’implementazione è
supportata da appositi strumenti.
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
SysML
Systems Modeling Language (SysML) è linguaggio di modellazione.
Costituisce un sottoinsieme UML con delle estensioni
Supporta la specifica, l'analisi, la progettazione, la verifica e la
validazione di sistemi sia hardware sia software
Supporta l’interscambio di modelli e di dati tramite lo standard XML
Metadata Interchange (XMI)
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Caso di studio: Il sistema TOD di AnsaldoBreda
AnsaldoBreda, azienda leader nel settore ferroviario in Italia e nel mondo nella
costruzione di treni per metropolitane e linee ferroviarie ad alta velocità.
Sistema in esame: TOD (Train Operator Display)
Il TOD è l’interfaccia verso il macchinista e il manutentore che permette di
controllare lo stato di marcia in sicurezza del veicolo.
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Ingegnerizzazione model-driven: la metodologia proposta
Attività
Modellazione
procedurale
Modellazione a oggetti
1. Analisi
SysML
SysML/UML
2. Progettazione
3. Generazione del
codice
PIM
UML
PSM
UML
(Profiled)
Rhapsody FunctionalC
C
C (Object-Based)
C++
UML (IBM Rhapsody Testing Profile )
4. Testing
Generazione automatica
dell’implementazione
dell’infrastruttura di test
(IBM TestConductor)
Generazione automatica
dell’infrastruttura di test e
della implementazione
(IBM TestConductor) e dei
Test Case (IBM ATG)
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Strumenti di supporto utilizzati
Eclipse-Papyrus
Modellazione SysML
IBM Rational Rhapsody Developer
Modellazione FunctionalC-UML
Generazione del codice
Generazione casi di test
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Analisi: modellazione SysML
FASE 1a: Analisi e modellazione dei requisiti e delle
relazioni tra di essi (Requirements Diagram RD)
•
I requisiti sono raggruppati secondo un criterio di
coesione interna (requisiti generali, di servizio,
etc).
FASE 1b: Definizione dell’architettura di alto livello
(Block Definition Diagram - BDD).
•
Sono definiti i blocchi del sistema, composto dal
TOD e dai dispositivi con cui interagisce (DBU –
Diagnostic Based Unit, sensori, attuatori).
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Analisi con SysML
FASE 1c: Definizione dell’architettura interna dei
blocchi (Internal Block Diagram - IBD)
• Per ogni blocco sono definiti: i dettagli interni, i
flussi dei dati e dei segnali e le connessioni fra i
Flow Port.
FASE 1d: Allocazione dei Requisiti (allocated
Requirements Diagram)
•
I requisiti sono allocati ai blocchi (in modo da
supportare la loro tracciabilità nonché l’analisi
d’impatto).
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Progettazione procedurale
FASE 2a: Si utilizzano i File Diagram del
profilo FunctionalC del tool IBM
Rhapsody per modellare i moduli
software (file in linguaggio C). le funzioni
e gli attributi offerti, così come le
dipendenze di inclusione tra essi.
FASE 2b: Il comportamento dinamico dei
moduli è definito tramite State Chart.
FASE 3: Il codice è generato
automaticamente ed è possibile animare
il modello durante l’esecuzione con la
possibilità di fare early verification.
FASE 4: Uso di IBM TestConductor per
definire l’infrastruttura di testing.
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Progettazione a oggetti
FASE 2a: Modellazione del class diagram
(UML) con la definizione delle interfacce
offerte e richieste e gli attori esterni al
sistema
FASE 2b: Realizzazione degli State Chart
che descrivono il comportamento
dinamico di ciascuna classe
FASE 3: Il codice è generato
automaticamente ed è possibile animare
il modello durante l’esecuzione con la
possibilità di fare early verification.
FASE 4: Uso di IBM TestConductor per
definire l’infrastruttura di testing.
TestConductor ne genera
l’implementazione e Automatic Test
generator (IBM ATG) i casi di test
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Considerazioni
Supporto per la tracciabilità dei requisiti
Integrazione tra le varie fasi di progettazione
Early Verification (Verifica e Validazione dei modelli)
Codice generato automaticamente potrebbe non rispettare le policy aziendali
Tempo di startup iniziale per l’apprendimento di nuove tecnologie
Sviluppo vincolato al tipo di prodotto utilizzato
Costo elevato delle licenze degli strumenti di supporto commerciali (non open
source)
Scuola Politecnica e delle Scienze di Base
Corso di Laurea Magistrale in Ingegneria Informatica
PROGETTAZIONE MODEL-DRIVEN DI UN SISTEMA EMBEDDED INDUSTRIALE
Grazie per l’attenzione