Background Image
Table of Contents Table of Contents
Previous Page  72 / 84 Next Page
Information
Show Menu
Previous Page 72 / 84 Next Page
Page Background

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)