EMBEDDED
51 • FEBBRAIO • 2014
39
IN TEMPO REALE
VIRTUALE
della catena di fornitura del software embedded embedded ha
voluto approfondire alcuni aspetti salienti attraverso un’intervi-
sta con Marc Serughetti, direttore sviluppo business per l’area
system-level solutions di Synopsys, proposta di seguito.
EMBEDDED:
Oggi, nel processo di sviluppo dei siste-
mi elettronici e embedded, si potrebbe affermare che i
componenti hardware tendano a perdere importanza, in
confronto con il ruolo predominante che stanno assu-
mendo le attività di sviluppo del software. E un prodot-
to, o una applicazione, sempre più diventano il risultato
di un complesso lavoro e di un’interazione reciproca
fra diversi player che operano nella catena di fornitura
del software. Secondo la sua opinione, in questo spazio
quali sono le sfide chiave, tecnologiche e organizzative,
che occorre risolvere? Quali sono, in altre parole, i pro-
blemi critici da affrontare in questa fase di evoluzione
dei sistemi embedded?
SERUGHETTI:
Per prima cosa vorrei chiarire che i compo-
nenti hardware, in verità, non stanno perdendo importanza
per quanto riguarda le funzionalità del dispositivo. Essi stanno
invece attualmente guadagnando rilevanza, proprio per il com-
pito che devono assolvere, e cioè quello di assicurare che il
software sia in grado di fornire le funzionalità e le prestazioni
attese. Ad esempio, in molti dispositivi gli acceleratori hardwa-
re vengono aggiunti per garantire che le performance richieste
vengano raggiunte. E ciò si può sperimentare in diverse aree,
come la sicurezza, la grafica, e gli acceleratori di applicazioni.
L’elemento software fornisce invece quel livello di differen-
ziazione del prodotto che un progettista di dispositivi può
raggiungere lavorando sulla base della componente hardware
di partenza. Il secondo aspetto da considerare, quando si parla
di sviluppo software, riguarda poi i molteplici layer esistenti,
che vanno dal firmware, ai driver, ai sistemi operativi, fino alle
varie applicazioni che girano sul dispositivo in questione. Il pro-
cesso di sviluppo dell’intero stack software richiede di essere
coordinato. E la sfida tecnologica chiave diventa oggi l’abilità di
sviluppare, integrare, e sottoporre a test il software, già in una
fase iniziale del processo, e anche di riuscire a farlo lungo tutte
le fasi della catena di fornitura, in una maniera collaborativa.
EMBEDDED:
In che modo la complessità dell’hardware
e dei SoC (System-on-Chip) – in termini, ad esempio,
di architetture multicore, differenti e molteplici blocchi
di IP da integrare, differenti vendor, driver, interfacce,
standard e quant’altro – può determinare un impatto
sul processo di verifica funzionale e validazione del
software embedded e, di conseguenza, sull’attività di
business delle aziende che realizzano sistemi elettronici
ed embedded nei diversi settori, da quello industriale, a
quello automobilistico, medicale o militare?
SERUGHETTI:
Come ho accennato prima, il contenuto
dello stack software sta crescendo. Allo stesso tempo, la
complessità dell’hardware sta anch’essa aumentando, per
essere in grado di supportare il software in maniera efficiente.
Tuttavia, nella maggior parte dei casi, i programmi e processi
di sviluppo non vengono adattati alle esigenze della crescente
espansione della componente software. Per giunta, le tabelle
di marcia vengono spesso accelerate, nel tentativo di rispon-
dere alla progressiva pressione che viene esercitata sui team
di sviluppo, per rispettare i vincoli di time-to-market. Alla fine,
il risultato è che gli sviluppatori si trovano a dover affrontare
la sfida di gestire un incrementato contenuto del software, e
al contempo di soddisfare i requisiti di una più elevata qualità
dello stesso. Ciò significa non solo la necessità di eseguire
maggiori attività di test, ma anche di effettuare tali collaudi in
minor tempo rispetto a quanto avveniva in precedenza.
EMBEDDED:
Ragionevolmente, quali si possono con-
siderare al momento le soluzioni applicabili per orche-
strare meglio il processo di sviluppo del software all’in-
terno della supply chain di fornitura del codice?
SERUGHETTI:
Una ragionevole iniziativa da considerare per
indirizzare le attuali sfide di sviluppo è in primo luogo creare
le condizioni che consentano al processo di progettazione del
software di partire in una fase più iniziale e anticipata. Poi è
necessario ottimizzare i tempi delle attività di debugging e
analisi del software compiute dagli sviluppatori, accrescendo
la loro produttività. E, infine, occorre utilizzare tool che per-
mettano di portare avanti un processo di sviluppo più collabo-
rativo. Quindi strumenti più facili da condividere e utilizzare in
contesti lavorativi dove esistono team distribuiti, internamente
all’organizzazione o nell’ambito della supply chain.
La prototipazione virtuale e l’utilizzo dei kit VDK (virtual
development kit) di Synopsys permettono di ottenere questi
tre vantaggi. Primo, un prototipo virtuale può essere reso
utilizzabile in una fase precedente rispetto alla effettiva dispo-
nibilità dell’hardware fisico o del test bench, talvolta 12 o 18
mesi prima che l’hardware sia disponibile. Secondo, un siste-
ma di sviluppo VDK migliora la produttività dello sviluppatore
software, attraverso un insieme di strumenti di debugging ed
analisi in grado di fornire una migliore e più rapida compren-
sione del software di sistema e dei suoi possibili problemi di
funzionamento.
Gli utenti aziendali di tecnologie di questo tipo hanno riportato
guadagni variabili, dal 20% al 50%, nella produttività degli svi-
luppatori. Infine, in qualità di sistema di simulazione comple-
tamente software-based, questo tipo di ambiente di sviluppo
può essere condiviso in pochi minuti nell’ambito di team di
lavoro distribuiti a livello globale, e lungo la catena di fornitura
del software, consentendo così di attuare una più rapida ed
efficiente attività di collaborazione.