3 Domande a: Francesco Sacchi – Embedded Analyst @ BeRTOS

Francesco Sacchi, Embedded Analyst, collabora con Develer s.r.l. per la gestione del reparto R&D embedded: elettronica, firmware, linux embedded, RTOS. Ha una doppia natura di progettista elettronico/sviluppatore firmware. E' maintainer di BeRTOS, sistema operativo real time per applicazioni embedded.

Emanuele: La crisi economica sembra durare a lungo, i segnali di ripresa ci sono, ma procedono con lentezza. Occupandovi voi sia di Software (sviluppo applicativi ad alto livello) che di Hardware (progettazione elettronica) che "sensazioni" avete dal mercato? E come state superando questo periodo di incertezza economica mondiale?

Francesco: Questa nostra peculiarità di essere contemporaneamente in due mercati ha fatto si che risentissimo forse meno di altre aziende della grossa crisi del 2009. La nostra capacità di differenziare ha permesso di assorbire una crisi nel mondo hardware molto netta grazie ai più veloci tempi di ripresi dell'area di sviluppo software.

Con l'approvvigionamento componenti ancora difficoltoso a causa degli elevati tempi di consegna, le aziende che lavorano in campo hardware sono spesso obbligate a "riempire il magazzino" per riuscire a mantenere prezzi bassi. Vengono penalizzate quindi le piccole realtà produttive che improvvisamente si trovano ad essere fuori mercato. Sono evidenti in molti casi problemi di hardware che non si trova e di una filiera che generalmente è rallentata in ogni sua fase con tempi di attesa che arrivano anche ai 6 mesi.

Invece, per quanto riguarda la parte di creazione del software (e del firmware), il mercato ha avuto dei tempi di ripresa molto più veloci che ci hanno permesso di operare comunque a pieno regime.

Come stiamo superando questo periodo di incertezza economica mondiale? Puntando molto sulla qualità del software, l'ottimizzazione del codice e la realizzazione di progetti spesso al confine con la ricerca tecnologica, la crisi non ci ha toccato molto da vicino. Tanto che, in controtendenza rispetto ai molti player del mercato, Develer anche nel biennio 2009-2010 ha manifestato una decisa crescita di fatturato.

Emanuele: Da specialisti di sistemi operativi embedded, che soluzioni proponete e per quali piattaforme? Avete rilasciato del software open source e con che obbiettivi/risultati?

Francesco: Le nostre soluzioni embedded si dividono concettualmente in due categorie tecnologiche caratterizzate da due diversi sistemi operativi:

    - Linux
    - BeRTOS

Soluzioni Linux
In questa fascia rientrano tutti i nostri sviluppi realizzati con alla base Linux. Utilizziamo in questo caso diversi approcci in base alle richieste dei clienti.

Il primo approccio riguarda Linux Embedded, soluzione nella quale abbiamo fortissime competenze interne, e nella quale ci sentiamo di consigliare investimenti da parte delle aziende almeno per due motivi principali:

    - siamo sostenitori dell'open source come modello di business che si è dimostrato molto efficace durante la crisi stessa per tenere anche bassi i costi
    - percepiamo una diffusione di linux in questo mercato molto più interessante rispetto al concorrente WindowsCE

L'altra soluzione di alto livello che proponiamo si basa sul framework Qt di Nokia, opzione in grado di assicurare soluzioni multipiattaforma e GUI altamente interattive, oltre alla totale portabilità delle applicazioni embedded realizzate su desktop. In questo campo Develer è tra i pochissimi consulting partner italiani Nokia ed annovera nel suo staff più di dieci sviluppatori certificati dal programma di training ufficiale.

La terza soluzione tecnologica che proponiamo utilizza il linguaggio Python in ambito embedded. Per quanto questo possa sembrare poco ortodosso, ricordiamo che Python ormai è un linguaggio estremamente diffuso grazie alla velocità con la quale si riescono a realizzare prototipi di applicazioni, anche in ambito embedded. E' talmente diffuso che moltissime aziende di hardware (es National Instruments) consegna ormai i suoi nuovi prodotti insieme alle librerie Python appositamente sviluppate per il controllo da qualsiasi piattaforma.

Anche in questo caso l'introduzione di Python in ambito embedded è consigliabile per ogni azienda lavori in situazioni in cui il "rapid prototiping" sia un punto essenziale dei progetti anche a scapito delle prestazioni (in molti casi inferiori ad un applicazione C++).

Caso perfetto per l'uso del Python sono i collaudi dei sistemi, in cui si creano test, collegamenti e interazioni tra hardware e software in modo molto rapido e funzionale.

Soluzioni BeRTOS
Il nostro approccio di lavoro si basa su un assunto molto semplice. La portabilità in questo mercato deve essere sempre garantita, ogni soluzione software deve essere facilmente portabile da un hardware ad un altro con il minimo dispendio di energie. Prediligiamo quindi tutte quelle scelte che permettono di riusare quello che abbiamo già sviluppato, permettendo di contenere i costi di sviluppo per il cliente e migliorare la stabilità di ogni software realizzato.

La passione nel fare software in modo riusabile ci ha portato a far nascere BeRTOS. Un vero e proprio sistema operativo real time, corredato di driver, librerie e moduli riutilizzabili su diversi tipologie di hardware.

Verrebbe da chiedersi perchè realizzare un altro Kernel real time vista la quantità di soluzioni disponibili. Il motivo è anzitutto storico, essendo un sistema operativo da circa sette anni, quando BeRTOS è nato non esistevano tutte le attuali soluzioni solo-kernel.

Altro motivo è strettamente tecnologico, ricordo che BeRTOS non è solo un kernel real time, ma un vero e proprio sistema dotato di moduli, driver e librerie, un vero e proprio framework di sviluppo.

Inoltre non è detto che nei progetti real time si debba sempre e comunque utilizzare un kernel, in alcuni casi BeRTOS è stato utilizzato nei nostri progetti addirittura senza kernel in modo da ottimizzare al massimo le risorse dell'hardware del cliente, cosa impossibile in molte delle attuali soluzioni kernel-based.

Mi chiedi se abbiamo rilasciato del software open source e con che obbiettivi/risultati. Si in tutte le diverse opzioni di cui sopra, contribuendo a progetti già esistenti (PyQt, GCC, Linux, SVN e molto altro) e realizzando e rilasciando BeRTOS stesso come progetto open source sotto una licenza che ne permette l'uso anche in progetti closed o commerciali.

Nel caso di BeRTOS, unico progetto in cui possiamo darvi direttamente dei dati di qualche tipo, il primo anno di vita dopo il restyle e la messa online del nuovo sito è stato positivo.

Abbiamo avuto un drastico aumento delle visite, superando le 40 mila visite (da 90 diversi paesi) a inizio dicembre e i download del sistema operativo sono passati dai 100/mese di settembre 2009 ai circa 1500 di questo dicembre 2010.

Emanuele: Continuando sull'open source, sicuramente Arduino è stato il precursore dell'hardware open source. Cosa ne pensate di questo allargamento dell'open anche all'hardware?

Francesco: Ancora nel mondo dell'hardware open source non si riescono ad avere facilmente alcuni dei benefici che sono storicamente legati al mondo del software come l'aggiunta di feature e miglioramenti da parte della community, proprio perchè il modello open source è nato tagliato sul mondo software. Per adesso ci si limita allo sfruttamento della piattaforma per abbassare i costi dei progetti e per allargare la base di utenza.

Vediamo comunque come valore positivo l'entrata dell'open source anche nel mondo dell'hardware. Non a caso BeRTOS stesso supporta da tempo la piattaforma Arduino in diverse versioni.

Includere Arduino in BeRTOS SDK permette agli sviluppatori di uscire dai limiti intrinsechi della piattaforma e dei tool nativi di Arduino (ad esempio i processi ed il multitask si possono realizzare ma in maniera poco efficente) e permette di avere a disposizione uno strumento con cui portare i propri sviluppi anche su hardware custom con pochissime modifiche grazie all'astrazione propria di BeRTOS.

Scarica subito una copia gratis
Tags:

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend