EMBEDDED
56 • maggio • 2015
software
|
CODE REUSE
72
nell’area della co-verifica hardware/software.
I progetti embedded sono sviluppati per svariate
applicazioni: tra le principali, in prima posizione
ci sono i controlli industriali (33% dei rispondenti),
seguiti dall’elettronica di consumo (24%) e dalle
comunicazioni/reti (22%). Ci sono poi le applica-
zioni automotive e medicali (18% dei rispondenti),
e quelle militari e aerospaziali (17%). Per il 12%
dei rispondenti, le applicazioni sviluppate sono di
tipo IoT (Internet of Things).
Riutilizzo del software, trend consolidato
Sembra che il riutilizzo del codice sia una prassi
con radici molto solide nelle varie organizzazioni,
e non risenta di sostanziali cambiamenti, almeno
in questi ultimi cinque anni (2010-2014). In effetti,
quando nel sondaggio viene chiesto agli ingegneri
se il loro attuale progetto embedded preveda il riu-
so di codice da un progetto precedente, la risposte
è affermativa per la maggior parte di loro (86%),
e tale trend si conferma per l’intero quinquennio.
Sempre per la maggior parte degli intervistati
(78%), si tratta del riutilizzo di codice sviluppato
in-house. Un’altra fetta di utenti (23%) rispon-
de che il codice riusato è di natura open source e
shareware, mentre solo una minima percentuale
(13%) dice che il software riutilizzato è rappre-
sentato da codice precedentemente acquistato.
Quest’ultima componente sta in effetti registran-
do un trend discendente rispetto a qualche anno fa
(17% nel 2010, 15% nel 2011, 14% nel 2012, 15%
nel 2013). Infine, solo per il 14% dei rispondenti il
software sviluppato nei vari progetti embedded e
del tutto nuovo, e privo di codice riutilizzato.
Nella maggioranza dei casi (57%), gli attuali pro-
getti embedded rappresentano un aggiornamento
o miglioramento di un’applicazione precedente
o di un progetto esistente, mentre in una buona
percentuale (43%) sono frutto di attività di design
completamente nuove e iniziate da zero. A livel-
lo di sistemi operativi, è da rilevare la tendenza
verso un uso sempre maggiore dei prodotti open
source (29% nel 2010, 36% nel 2014).
Da evidenziare è poi il trend, lento ma stabile, ver-
so l’allungamento dei cicli di sviluppo dei progetti
(12,6 mesi in media nel 2014, contro i 12,2 mesi del
2010). Rispettare le scadenze di consegna diventa
sempre più difficile, e di conseguenza il completa-
mento dei progetti in orario rispetto al programma
risulta via via meno frequente: nel 2010 i progetti
sono ’on schedule’ per il 40% dei rispondenti; nel
2014 lo sono solo per il 37%.
Un punto interessante, soprattutto nell’ottica dei
requisiti di riusabilità e portabilità del codice, ri-
guarda il quesito su quale sarà lo strumento di
programmazione che gli ingegneri probabilmente
adotteranno nel prossimo progetto embedded. An-
che nel 2014, il 55% risponde che sarà il linguag-
gio C, confermando il trend del 2013 (55%) , ma re-
gistrando una certa contrazione rispetto agli anni
precedenti (56% nel 2010, 58% nel 2011, 60% nel
2012). Solo il 23% dice che sarà C++, mentre sol-
tanto il 3% risponde che userà il linguaggio Java.
Alla domanda su quali saranno le sfide tecnologi-
che più ardue da affrontare per il prossimo anno,
la maggioranza (26%) risponde la difficoltà di in-
tegrare nuova tecnologia o strumenti. Subito dopo
(19%) ci sono gli inconvenienti causati dal fatto di
dover gestire codice complesso e di grandi dimen-
sioni. Rispettare, nella consegna dei progetti, le
tempistiche programmate si riconferma il proble-
ma chiave. Nel consumo di tempo, considerando
l’intero processo di design dei sistemi embedded,
subito dopo la fase di sviluppo dettagliato del
progetto (29%), le attività di testing e debugging
(21%) risultano le più dispendiose in termini di
tempo utilizzato. Uno scenario complessivo dove,
dunque, i metodi di riuso del codice possono intro-
durre importanti elementi di miglioramento.
Fig. 2 – I linguaggi di programmazione più usati
(Fonte: UBM Tech)




