
Software embedded aerospaziale in C++ per Bombardier
Tramite SII Group abbiamo realizzato software embedded in C++ per Bombardier in ambito aerospaziale — scritto per un comportamento deterministico su hardware con risorse limitate, con test rigorosi, code review e tracciabilità. I dettagli del programma sono soggetti a riservatezza del cliente.
Bombardier è un importante costruttore aerospaziale. Lavorando con SII Group come partner integratore, abbiamo contribuito con software embedded in C++ alle attività di ingegneria aerospaziale di Bombardier.
Il software embedded aerospaziale gira su hardware dedicato con limiti stretti di memoria e tempo di calcolo, e deve comportarsi sempre allo stesso modo. Si sviluppa all’interno di grandi programmi di ingegneria, con un partner integratore, molti team e processi rigorosi.
I dettagli dei programmi, dei sistemi e dell’hardware coinvolti sono soggetti a riservatezza del cliente. Questa pagina descrive il nostro modo di lavorare.
La sfida
- Comportamento deterministico: tempi di esecuzione e uso della memoria prevedibili, senza sorprese a runtime
- Target con risorse limitate, dove ogni allocazione, copia e ciclo conta
- Verifica esigente: ogni requisito implementato, testato e tracciabile
- Lavorare all’interno di un grande programma di ingegneria, tramite un partner integratore e insieme a molti altri team
- Codice che deve restare leggibile e manutenibile per tutta la lunga vita del prodotto
Come lo abbiamo progettato
C++ moderno scritto per target deterministici e con risorse limitate, verificato a ogni passo.
- 1
C++ moderno per l’embedded
Tipizzazione forte, RAII, constexpr e template per intercettare gli errori in compilazione, all’interno di un sottoinsieme disciplinato del linguaggio adatto ai target embedded.
- 2
Codice deterministico e attento alle risorse
Cicli limitati, flusso di controllo prevedibile, nessun costo nascosto e uso attento, prevalentemente statico, di memoria e tempo di calcolo.
- 3
Sviluppo guidato dai requisiti
Ogni funzione implementata a partire da requisiti identificati, con le decisioni di progettazione documentate.
- 4
Test rigorosi
Test unitari e di integrazione scritti insieme al codice ed eseguiti sistematicamente a ogni modifica.
- 5
Code review sistematica
Ogni modifica revisionata da un collega secondo le regole di codifica del programma prima di essere accettata.
- 6
Tracciabilità end-to-end
Collegamenti mantenuti tra requisiti, codice e test: ogni requisito può essere seguito fino alla sua implementazione e verifica.
Lavorare con un partner integratore
Capacità di ingegneria fornita all’interno di un grande programma, tramite SII Group.
Dentro i processi del partner
Abbiamo seguito i processi di ingegneria, gli strumenti e le regole di qualità dell’integratore e del cliente.
Interfacce chiare
Interfacce software ben definite e deliverable concordati tra i team.
Consegne complete
Codice, test e tracciabilità consegnati insieme, pronti per la revisione.
Manutenibilità nel lungo periodo
Codice leggibile e documentato che altri team possono prendere in carico e far evolvere.
Pratiche di ingegneria
- Regole di codificaRegole di codifica C++ coerenti applicate a tutta la base di codice e verificate in revisione.
- Disciplina di verificaNiente è finito finché non è testato, revisionato e tracciato.
- RiservatezzaDettagli del programma e informazioni del cliente gestiti con la massima riservatezza.
Tecnologie e pratiche
Linguaggio
Ingegneria
Qualità
Collaborazione
Risultati
- Software embedded in C++ realizzato per Bombardier in ambito aerospaziale, tramite SII Group
- Codice progettato per un comportamento deterministico su hardware con risorse limitate
- Test, code review e tracciabilità integrati in ogni consegna
- Una collaborazione efficace all’interno di un grande programma di ingegneria con un partner integratore
Parliamo delle vostre sfide.
Architettura, migrazione, AI o crescita di un team — raccontateci cosa state affrontando. Rispondiamo entro un giorno lavorativo.