OpenSource & Avionica - Spazio IT

43
© 2013 Spazio IT - Soluzioni Informatiche s.a.s. 1 Ottobre 2013 Spazio IT – Open Source & AVIONICa SPAZIO IT Open Source & Avionica Maurizio Martignano Spazio IT Soluzioni Informatiche s.a.s Via Manzoni 40 46030 San Giorgio di Mantova, Mantova http://www.spazioit.com

Transcript of OpenSource & Avionica - Spazio IT

Page 1: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

1Ottobre 2013

Spazio IT – Open Source & AVIONICa

SPAZIO IT

Open Source & Avionica

Maurizio Martignano

Spazio IT – Soluzioni Informatiche s.a.s

Via Manzoni 40

46030 San Giorgio di Mantova, Mantova

http://www.spazioit.com

Page 2: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

2

Agenda

Ottobre 2013

Page 3: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

3

Agenda

Chi sono io?

Avionica

Standards (DO-178(B)C)

RTEMS

SonarQube

Licenze (open source) e proprietà intellettuale

Qualificazione e certificazione

Manutenzione e supporto

Sostenibilità economica

Ottobre 2013

Page 4: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

4

Chi sono io?

Ottobre 2013

Page 5: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

5

Chi sono io?

Nome: Maurizio Martignano

Esperienza in avionica:– 1986-1988: software per i radar di aerei militari (FIAR)– 1991-1999: software per l’avionica di volo del contributo europeo

alla Stazione Spaziale Internazionale (Agenzia Spaziale Europea),– 2002-2007: software utilizzato dagli astronauti a bordo della

Stazione Spaziale Internazionale (Agenzia Spaziale Europea)– 2010-2012: sviluppo di una versione «space suitable» di RTEMS

per Galileo– 2012-2013: sviluppo di un SonarQube Ada Plugin per

EUROCOPTER– 2013-2014: utilizzo di SonarQube per attività di IVV sul software

di bordo di veicoli spaziali

Ottobre 2013

Page 6: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

6

Chi sono io?

Esperienza in Open Source– GCC-1750 (1995-2006)

http://www.esa.int/TEC/Software_engineering_and_standardisation/TEC8VAUXBQE_0.html

– OpenACS (2006-Adesso)http://www.openacs.org/

– ]project-open[ (2009-Adesso)http://www.project-open.org/en/list_partnershttp://sourceforge.net/projects/project-open/files/project-open/V4.0/

– Oracle ADF (2011-Adesso)http://www.spazioit.com/pages_it/sol_inf_it/oracle_adf_it/

Ottobre 2013

Page 7: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

7

Chi sono io?

Pubblicazioni sull’argomento:

– Martignano, Gaisler, Nettleton, “GNU Based Compilation Systems for Spacecraft Microprocessors”, Data Systems in Aerospace 1997, SEVILLA, Spain, May 1997.

– Martignano, “GNU Based Compilation Systems for Spacecraft Microprocessors”, Preparing for the Future Vol. 7 No. 3, September 1997.

– Blondin, Martignano, “GNU Based Compilation Systems for Space Applications”, Data Systems in Aerospace 1998, Athens, Greece.

Ottobre 2013

Page 8: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

8

Avionica

Ottobre 2013

Page 9: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

9

Avionica

Avionics are the electronic systems used on aircraft, artificial satellites, and spacecraft.

Avionics are the electronic systems used on aircraft, artificial satellites, and spacecraft as well as their (ground) control center.

Ottobre 2013

Page 10: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

10

Software «Avionico»

Il software avionico può essere suddiviso in tre categorie:

– «Flight» Software (software di «volo»)

– «Ground» Software (software «di terra» – al centro di controllo)

– Software Development Environment (ambiente di sviluppo del software)

Ottobre 2013

Page 11: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

11

Standards – DO-178(B)C

Ottobre 2013

Page 12: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

12

DO-178(B)C DALs

Software Considerations in Airborne Systems and Equipment Certification

– 5 Software Levels or Design Assurance Levels

– A: Catastrophic – Failure may cause a crash. Error or loss of critical function required to safely fly and land aircraft.

– B: Hazardous – Failure has a large negative impact on safety or performance, or reduces the ability of the crew to operate the aircraft due to physical distress or a higher workload, or causes serious or fatal injuries among the passengers. (Safety-significant)

– C: Major – Failure is significant, but has a lesser impact than a Hazardous failure (for example, leads to passenger discomfort rather than injuries) or significantly increases crew workload (safety related)

Ottobre 2013

Page 13: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

13

DO-178(B)C DALs

– D: Minor – Failure is noticeable, but has a lesser impact than a Major failure (for example, causing passenger inconvenience or a routine flight plan change)

– E: No Effect – Failure has no impact on safety, aircraft operation, or crew workload.

Ottobre 2013

Page 14: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

14

DO-178(B)C DALs (la teoria)

Lo standard prevede diverse attività, diversi tipi di verifica, validazione, qualificazione, ecc… che devono essere eseguite sul software (codice) in base al livello di criticalità.

E il software open source? Il software open source si può usare a patto (A,B,C):

– che si abbia a disposizione il codice sorgente (ok -)

– che tutte le attività di verifica, validazione, qualificazione, ecc… previste dallo standard vengano svolte anche su questo software (difficilissimo, )

Ottobre 2013

Page 15: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

15

DO-178(B)C DALs (la pratica)

Difficoltà:– Licenze (open source) e proprietà intellettuale

– Qualificazione e certificazione

– Manutenzione e supporto

– Sostenibilità economica

Come si è cercato/si cerca di risolvere questi problemi– Letteratura (google)

– Caso: RTEMS

– Caso: SonarQube

OpenDO– http://www.open-do.org (AdaCore)

Ottobre 2013

Page 16: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

16

RTEMS

Ottobre 2013

Real

Time

Executivefor

Missile, Military,

Multiprocessors

Systems

Page 17: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

17

RTEMS – le origini

Ottobre 2013

Page 18: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

18

RTEMS - oggi

http://www.rtems.com The Real-Time Executive for Multiprocessor Systems or RTEMS is a

open source fully featured Real Time Operating System or RTOS that supports a variety of open standard application programming interfaces (API) and interface standards such as POSIX and BSD sockets. It is used in space flight, medical, networking and many more embedded devices across a wide range of processor architectures including ARM, PowerPC, Intel, Blackfin, MIPS, Microblaze and more. […] We strive to provide regular, high quality releases, which we want to work well on a wide range of embedded targets using cross development from a variety of hosts including GNU/Linux, Mingw, MS-Windows, FreeBSD, Cygwin, and Solaris.

Copyright (C) OAR Corporation7047 Old Madison Pike, Suite 320; Huntsville, AL 35806, USA

Ottobre 2013

Page 19: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

19

RTEMS - licenza

GPL (rilassata)

As a special exception, including RTEMS header files in a file, instantiating RTEMS generics or templates, or linking other files with RTEMS objects to produce an executable application, does not by itself cause the resulting executable application to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Public License.

Ottobre 2013

Page 20: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

20

RTEMS – ESA / EDISOFT

http://rtemscentre.edisoft.pt/

Iniziativa:

– far crescere il know-how in Europa su RTEMS

– prendere una versione stabile di RTEMS (4.8.0)

– eliminare tutto quello che non serve in una tipica missione spaziale (satellite on-board platform)

– qualificare e certificare il software a livello DO-178C DAL B

– rendere disponibile il risultato

– garantirne il supporto

Ottobre 2013

Page 21: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

21

RTEMS – Spazio IT - IVV

Spazio IT, nel contesto del RTEMS Centre, ha svolto un lavoro di IVV (Indipendent Validation and Verification) sul software prodotto da EDISOFT, in particolare ha:

– svolto un ruolo di «temporary project management»

– fornito assistenza durante la rimozione del codice «superfluo»

– verificato concretamente, da un punto di vista prettamente ingegneristico la qualità del codice ottenuto

– misurato con precisione i risultati ottenuti

Ottobre 2013

Page 22: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

22

RTEMS – Spazio IT - IVV

Ottobre 2013

Page 23: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

23

RTEMS – Spazio IT - IVV

Ottobre 2013

Tailored RTEMS RTEMS 4.8.0

Page 24: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

24

Spazio IT – RTEMS - Demo

Ottobre 2013

Page 25: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

25

Spazio IT – RTEMS - Demo

Ottobre 2013

Objects

.o, .so / .objCompiler

gcc / cl

Sources

.c, .cpp, .h

Archiver

ar / lib

Libraries

.a, .sa / .lib, .dll

Linker

ld / link

C RTS

crtX.o / msvcrtX.lib

(dll)

Executables

a.out / .exe

Page 26: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

26

SonarQube

Ottobre 2013

Page 27: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

27

SonarQube - EUROCOPTER

Nell’estate, inizio autunno 2012 EUROCOPTER (http://www.eurocopter.com) stava ricercando una piattaforma per la qualità del codice per il software degli elicotteri Tiger e NH90.

Inizialmente erano state esaminate solo due diverse soluzioni:

– una soluzione proposta dal leader di fatto (azienda tedesca): soluzione molto potente ma chiusa (non open source) e molto costosa

– una soluzione proposta dall’Università Tecnica di Monaco: soluzione open source ma molto limitata

Ottobre 2013

Page 28: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

28

SonarQube - EUROCOPTER

Spazio IT propose a EUROCOPTER una soluzione basata sulla piattaforma open source SonarQube (http://www.sonarqube.org/).

La soluzione proposta da Spazio IT venne preferita alle altre due alternative iniziali.

Ottobre 2013

Page 29: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

29

SonarQube – Spazio IT

Il software di EUROCOPTER è scritto in Ada

Per SonarQube esisteva già un plugin Ada (un software di collegamento che permette a SonarQube di lavorare su codice in Ada), ma questo plugin non funzionava correttamente ed era stato dismesso.

Spazio IT ha preso il plugin originale, lo ha fatto funzionare e lo ha arricchito con nuove funzionalità.

Il plugin permette l’analisi statica, l’analisi dinamica, l’individuazione di porzioni di codice duplicato e si interfaccia con la tools chain di GNAT (AdaCore: http://www.adacore.com), quella di Atego(http://www.atego.com) e con Understand(http://www.scitools.com).

http://www.spazioit.com/pages_it/sol_inf_it/code_quality_it/descrive parzialmente il lavoro svolto (che continuerà anche nel 2014 -stili e regole).

Ottobre 2013

Page 30: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

30

SonarQube – Spazio IT

Ma… Ma per motivi contrattuali e di «IP» a Spazio IT non è stato permesso di restituire il lavoro svolto alla comunità open source.

Al momento è in atto una «discussione», un «confronto» fra Spazio IT, EUROCOPTER e AdaCore su questo nodo, al fine di individuare un’architettura, una soluzione che permetta di restituire parte del lavoro svolto alla comunità, garantendo comunque l’IP dei clienti.

Ottobre 2013

Page 31: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

31

Spazio IT – SonarQube - Demo

Ottobre 2013

Page 32: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

32

Licenze e IP

Ottobre 2013

Page 33: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

33

Licenze e IP

Se si vuole adottare, promuovere il software open source nel settore avionico è necessario che la licenza open source non operi nessuna costrizione, nessuna imposizione sul software sviluppato a partire da, composto di, che utilizza porzioni di (ecc…) software open source.

Ottobre 2013

Page 34: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

34

Qualificazione e Certificazione

Ottobre 2013

Page 35: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

35

Qualificazione e certificazione

Qualificazione: verificare e validare la «qualità» di qualcosa, di un componente, di un pacchetto software, ecc…

Certificazione: attestare in maniera formale e riconosciuta che un qualcosa, un pacchetto software, ha raggiunto un certo livello di qualità.

– P.es. Agenzia X certifica che Prodotto Software Y è stato qualificato DAL B in base allo standard DO-178(B)C.

Ottobre 2013

Page 36: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

36

Qualificazione e certificazione

La qualificazione e certificazione sono attività molto costose, chi le fa?

La comunità open source? No!

Chi allora?

- chi utilizza il software open source;

- un gruppo, un’alleanza di utenti;

- una ditta specializzata, pagata comunque da un utente o da un gruppo di utenti.(p.es. Spazio IT è in grado di verificare la «MISRA Compliance» per software scritto in C/C++).

Ottobre 2013

Page 37: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

37

Manutenzione e Supporto

Ottobre 2013

Page 38: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

38

Manutenzione e Supporto

I sistemi avionici hanno un «operational lifetime» che generalmente varia dai 3/5 ai 15/20 anni a cui si deve aggiungere un tempo di sviluppo iniziale che varia anche esso tra i 3/5 e i 10 anni.

Quale comunità open source è così longeva?

Ottobre 2013

Page 39: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

39

Manutenzione e Supporto

Chi può offrire supporto e manutenzione per un lungo periodo? Ancora una volta:

- chi utilizza il software open source;

- un gruppo, un’alleanza di utenti;

- una ditta specializzata, pagata comunque da un utente o da un gruppo di utenti.

Nota Bene: nel software avionico le versioni «LTS» sono quelle qualificate e certificate e non corrispondono certo alle «mille» versioni che si trovano normalmente in un software open source.

Ottobre 2013

Page 40: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

40

Sostenibilità Economica

Ottobre 2013

Page 41: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

41

Sostenibilità Economica

Il modello open source classico di molti OSS che distingue tra

– «Community Edition» (free)

– «Enterprise Edition» (a pagamento)

e si appoggia sul concetto di supporto a pagamentonon è molto applicabile al software avionico, dato ilnumero esiguo di (potenziali) clienti e il fatto che tali clientihanno esigenze diverse.

Il modello che spesso viene adottato è:

– 1 «Community Edition»

– N «Enterprise Editions» (una per cliente)

Ottobre 2013

Page 42: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

42

Sostenibilità Economica

Quando si è parlato di qualificazione e di manutenzione si sono identificate tre diverse identità:

- chi utilizza il software open source;

- un gruppo, un’alleanza di utenti;

- una ditta specializzata, pagata comunque da un utente o da un gruppo di utenti.

Di queste sono sempre le prime due ad avere la forza economica maggiore.

Da qui il concetto di «sponsorizzazione», p.es.:

– DOD OAR

– ESA RTEMS Centre

Ottobre 2013

Page 43: OpenSource & Avionica - Spazio IT

© 2013 Spazio IT - Soluzioni Informatiche s.a.s.

43

Grazie per l’attenzione!

Ottobre 2013