Direzione Gestione Sportiva -
Elettronica
Model-Based-Design in F1
Team-development e generazione codice in
ambienti con un breve time-to-market
Riccardo Lodini
Indice
• Ferrari GES “Scuderia”
• La storia dell’elettronica in
F1
• Principali controlli SW
utilizzati in vettura
• Breve Time-To-Market
• Model Based Desing
• Team Collaboration
Direzione Gestione Sportiva -
Elettronica
Direzione Gestione Sportiva -
Elettronica
Ferrari GES “Scuderia”
Ferrari prende parte
al GP di Monaco il 21
Maggio del 1950, con
la 125 F1 guidata da
Alberto Ascari.
Ascari terminerà il
GP al secondo posto.
A tutt’oggi Ferrari
partecipa al
campionato di F1
(stagione 2016)
Direzione Gestione Sportiva -
Elettronica
La storia dell’elettronica in F1
1976 prime
applicazioni:
- Accensione
Capacitiva
- Iniezione Meccanica
- Strumentazione
Meccanica
1985
- Accensione
Elettronica
- Iniezione
Elettronica
1989
- Controllo Cambio e
Frizione
Direzione Gestione Sportiva -
Elettronica
1994- Divieto di ogni “driver’s aid”
Successivamente ulteriori restrizioni sono state applicate negli anni :- NO TRACTION CONTROL- No multidownshift, no launch control- No telemetria bidirezionali- No sospensioni attive, no ABS- No brake balance automatico- No electronic power steering- Single ECU per controllo veicolo
1993
- Traction Control
- Drive by Wire
- Sospsensioni
attive
La storia dell’elettronica in F1
ICE/ERS control software
Direzione Gestione Sportiva -
Elettronica
Principali controlli SW utilizzati in
vettura
Direzione Gestione Sportiva -
Elettronica
Chassis control software
Principali controlli SW utilizzati in
vettura
Direzione Gestione Sportiva -
Elettronica
The race starts at two o’clock
• Non c’è alcuna possibilità di ritardare la
partenza di una gara: il countdown è
impossibile da fermare.
• Il SW deve essere completato entro determinate
dead-line a regolamento
• Ci sono «time-gates» fissati per commit, debug
e validazioni
Direzione Gestione Sportiva -
Elettronica
Breve Time-To-Market
Direzione Gestione Sportiva -
Elettronica
Breve Time-To-Market
Direzione Gestione Sportiva -
Elettronica
Model Based Design e Team Collaboration
La drastica riduzione dei test in pista, unita
alla necessità di uno sviluppo rapido ha permesso
l’introduzione del MDB in tutti i suoi aspetti
che vanno dal «rapid prototyping» alla «code
generation», dalla «Team-collaboration» fino
all’utilizzo degli strumenti per la verifica e
validazione.
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Analisi del
controlloAnalisi del
controllo
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Analisi del
controllo
• Analisi dei requisiti richiesti dalla pista e/o
dai control engineer
• Analisi della legalità delle richieste
• Impatto a livello dei vari applicativi
coinvolti
• Determinazione delle fasi di debug e delle
rispettive necessità dei test bench
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Implementazione
del modello
Implementazione del
modello
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Implementazione del
modello
• Prima implementazione del layout di controllo
• Definizione delle variabili osservabili
(Telemetry purpose)
• Definizione dei parametri configurabili
(programmabili dall’utente)
• Definizione del Test Harness e preparazione
dell’ambiente di sviluppo
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Simulazione
della strategia
Simulazione della
strategia
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Simulazione della
strategia
• Preparazione degli stimoli del “Draft Model”
direttamente dalla telemetria
• Pre-Calibrazione dei parametri di
configurazione in ottica del successivo debug
• Simulazione in ambiente Matlab, Simulink e
Stateflow del Test Harness precedentemente
configurato
• Analisi dei risultati e reiterazione del
processo mediante valutazione dei requisiti
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Generazione
codice
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Generazione
codice
• Sistema automatico per la gestione del Build
• Gestione di una «build factory» interna per
l’equivalenza della generazione di codice
all’interno del team
• Analisi combinata (code review) di alcune parti
di codice generato
• Gestione del processo di build e
personalizzazione del post processing
• Preparazione dei file a2l e finalizzazione
automatica degli update per i tool di
programmazione delle ECUs
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Debug on TargetDebug on Target
Direzione Gestione Sportiva -
Elettronica
Model Based Design
• Simulatori ad-hoc a stimolo controllato
• Play- back di telemetria
• Test pattern specifici in open loop
• Simulatori HIL completi con modellistica
aggiornata dagli enti aziendali (Motore,
Veicolo, Cambio e Aerodinamica)
• Gestione automatica delle prove
Debug on Target
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Validation &
Verification
Validation &
Verification
Direzione Gestione Sportiva -
Elettronica
Model Based Design
Validation &
Verification
• Introduzione della tracciatura dei requisiti
all’interno del modello
• Pesante utilizzo di regole di coding (Model
Advisor) per la gestione delle procedure
interne
• Riduzione della fase di debug e dei tempi di
compilazione delle releases
• Interfacciamento con i tool di pianificazione
aziendale per la tracciatura delle features
(previsione di performance)
• Automazione del processo di test e debug in
coda alle emissioni dei binari
Direzione Gestione Sportiva -
Elettronica
Team Collaboration
Team Collaboration
Direzione Gestione Sportiva -
Elettronica
• Rapida risposta ai problemi pista
• Modularizzazione delle funzioni SW
• Introduzione dei Collaboration Tools
• Necessità di automatizzare le fasi procedurali
per la «messa in pista»
• Utilizzo del Model Advisor
Team Collaboration
• Gestione delle differenze con
il Repository direttamente da
Simulink Project.
• Controllo diretto delle
differenze da Simulink Report
Generator
Direzione Gestione Sportiva -
Elettronica
• Project Management
• Gestione delle differenti
interfacce
• Assemblaggio automatico
dei modelli finali
La sempre più completa integrazione di Matlab e Simulink
con i VCS e la sempre più crescente potenzialità dello
scripting Matlab ci ha permesso di aumentare
l’efficienza di gestione dell’intero progetto sorgente,
e della sua configurazione, direttamente dall’ambiente
di sviluppo Mathworks.
Team Collaboration
• Build History
• Notifiche di
rilascio
automatiche
• Statistiche
personalizzate
intime al codice
prodotto
Direzione Gestione Sportiva -
Elettronica
• Gestione dinamica delle
note al codice
• Tracciatura delle
anomalie
• Creazione automatica dei
documenti di rilascio
Introduzione diretta all’interno di Matlab, Simulink e
Stateflow dei link (e relativa getione automatica) dei
tool di collaborazione utilizzati dal nostro team di
sviluppo.
Direzione Gestione Sportiva -
Elettronica
Sfide Future
• Introduzione completa della Continuous
Integration
• Automatizzazione dei regression test
• Integrazione del Big Data mining nel processo
di prima validazione del SW
Grazie!
Direzione Gestione Sportiva -
Elettronica
Direzione Gestione Sportiva -
Elettronica
Flusso di processo per la generazione
codice
Direzione Gestione Sportiva -
Elettronica
Per ogni stagione
• Circa 300 versioni di codice embedded• Più di 1000 richieste di modifiche SW• Un paio di bachi “triviali”• Una decina di bachi concettuali (spec misunderstanding)
Un po’ di numeri