Milan · Brussels · Bucharest · Paris
Caso di studio · SII Group · Bombardier

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.

C++C++ moderno per target deterministici con risorse limitate
Embeddedsoftware aerospaziale realizzato per Bombardier tramite SII Group
Testatotest unitari e di integrazione e code review a ogni modifica
Tracciatorequisiti collegati al codice e ai test
Contesto

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. 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. 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. 3

    Sviluppo guidato dai requisiti

    Ogni funzione implementata a partire da requisiti identificati, con le decisioni di progettazione documentate.

  4. 4

    Test rigorosi

    Test unitari e di integrazione scritti insieme al codice ed eseguiti sistematicamente a ogni modifica.

  5. 5

    Code review sistematica

    Ogni modifica revisionata da un collega secondo le regole di codifica del programma prima di essere accettata.

  6. 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.

01

Dentro i processi del partner

Abbiamo seguito i processi di ingegneria, gli strumenti e le regole di qualità dell’integratore e del cliente.

02

Interfacce chiare

Interfacce software ben definite e deliverable concordati tra i team.

03

Consegne complete

Codice, test e tracciabilità consegnati insieme, pronti per la revisione.

04

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

C++ modernoSottoinsieme C++ orientato all’embedded

Ingegneria

Sviluppo guidato dai requisitiProgettazione deterministicaTarget con risorse limitate

Qualità

Test unitari e di integrazioneCode reviewTracciabilità

Collaborazione

Partner integratore (SII Group)Grande programma di ingegneria

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
← Progetti

Parliamo delle vostre sfide.

Architettura, migrazione, AI o crescita di un team — raccontateci cosa state affrontando. Rispondiamo entro un giorno lavorativo.

Avviate una conversazione