Intervista con Develer, autori di BeRTOS

BertOS1) Chi siete? Cosa fate? Un fiorino!

Develer, che molti conoscono per l’organizzazione della conferenza Better Software e per il contributo nell’organizzazione della Python Conference italiana, è un’azienda focalizzata nella realizzazione di software custom in campo industriale. In particolare forniamo servizi di:

  • Progettazione e realizzazione di applicazioni in C++ e Python per le principali piattaforme (Windows, Mac OS e Linux) grazie alle librerie QT e ai nostri dieci programmatori certificati da Nokia.
  • Progettazione elettronica e sviluppo di applicazioni embedded basate su Linux e sul sistema operativo real time BeRTOS che Develer stessa ha realizzato e mantiene.
  • Sviluppo di applicazioni web based in Python.

Adottiamo da tempo metodologie agili e forniamo ai nostri clienti una infrastruttura web per il monitoraggio remoto del processo di sviluppo in tempo reale. In particolare, grazie a questi strumenti, il cliente ha la possibilità di interloquire direttamente con il team di sviluppo, di effettuare code review, di tenere sotto controllo i costi di sviluppo e molto altro.

Develer è nata 10 anni fa dalla passione per lo sviluppo software di due giovani programmatori (Simone Zinanni e Bernardo Innocenti) il cui scopo non era solo iniziare un’attività imprenditoriale ma sopratutto offrire servizi allo stato dell’arte della tecnologia.

Oggi l’azienda, anche grazie all’arrivo di un nuovo socio (Giovanni Bajo), è cresciuta fino ad accogliere quasi 30 programmatori che hanno passato una severa selezione all’ingresso e formano un team altamente specializzato e fortemente appassionato per lo sviluppo del software.

2) Come è nata l’idea di BertOS?

L’idea di BeRTOS si è sviluppata nel tempo ed è cresciuta con Develer stessa. Inizialmente BeRTOS era un insieme di librerie sviluppate appositamente per i progetti Develer, quindi estremamente focalizzate e non strutturate. Al crescere del numero di queste librerie, dei porting delle stesse su diverse CPU e dall’introduzione di nuovi moduli e driver grazie ai nuovi progetti dei clienti, abbiamo sentito la necessità di avere qualcosa di più strutturato dedicato allo sviluppo embedded che permettesse economie di scala vantaggiose sia per noi che per il cliente sui tempi di sviluppo e quindi sui costi di realizzazione dei progetti.

Strutturare un sistema operativo embedded necessita, secondo noi, l’introduzione di un “coding style” che permettesse una evoluzione del sistema coerente nel tempo. Questo è proprio quello che abbiamo fatto con BeRTOS, ponendo alla base del codice alcune caratteristiche essenziali in ambito embedded:

  • Semplicità Ogni sviluppo su BeRTOS viene implementato seguendo il principio della semplicità. Questo permette di rendere il sistema molto più modulare (funziona anche senza kernel!) e più scalabile nelle richieste e nelle performance.

  • Code Beauty Ogni sviluppo su BeRTOS segue rigidamente principi di consistenza e leggibilità del codice. Il codice sorgente è interamente commentato per agevolarne la comprensione immediata.

  • Riusabilità Applicare principi di riusabilità al codice di BeRTOS ha permesso di migliorare parametri come lo spazio fisico occupato e abbassare la quantità di risorse necessarie all’uso del sistema.

  • Sicurezza BeRTOS permette una gestione completamente statica dell’allocazione di memoria, rendendo implicitamente più sicuri gli sviluppi e le applicazioni embedded.

Tutto questo ha permesso al sistema d crescere negli anni con i contributi di molti sviluppatori fino ad avere ad oggi 137.343 linee di codice, con una percentuale media di commenti del 33%, ed oltre 100 moduli e drivers già disponibili e pronti per l’uso

Anche le performance di BeRTOS rimangono un punto di riferimento: – 2.2KB di flash occupata con tutti i servizi del kernel attivi – uno stack minimo di 100 bytes su un AVR 8-bit – tempi di Context Switch: 5.9 us su ARM @48MHz

Il sistema è tutt’ora in evoluzione, abbiamo da poco inserito il supporto USB e molte altre novità nella release 2.6.0: http://www.bertos.org/blog/embedded/bertos-26-disponibile

3) Hai delle dritte per chi volesse cominciare ad usare BeRTOS?

Gli utenti che si avvicinano per la prima volta a BeRTOS possono trarre vantaggio dall’uso del pacchetto SDK. Abbiamo sviluppato questo SDK per aiutare chi non ha tempo di configurare da linea di comando un intero ambiente di lavoro. Nel pacchetto sono inclusi, integrati e preconfigurati tutti gli strumenti necessari per iniziare subito a lavorare con BeRTOS (integrazione con IDE, Toolchain, Wizard di progettazione, etc) in un unico eseguibile facile da installare ed usare sotto Windows.

Assolutamente da sfruttare l’opportunità anche perchè, sulla versione Trial gratuita, sono forniti 30 giorni di supporto prioritario per risolvere ogni problematica tecnica con BeRTOS.

Un altro modo di avvicinarsi a BeRTOS in maniera graduale è quello di dotarsi di una scheda Arduino per fare i primi sviluppi dei propri progetti. Dalla versione 2.5 abbiamo incluso la compatibilità con queste board open source proprio per la loro grande diffusione tra gli appassionati di elettronica e per il loro uso tipico nei progetti low-cost.

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

Come accennavo prima* ogni sviluppo su BeRTOS è interamente commentato per agevolarne la comprensione immediata. Questo aiuta molto il programmatore che si trova per la prima volta davanti al codice di BeRTOS, facendo in modo che in ogni momento si possa avere una chiara visione del codice scritto da altri programmatori ed a comprenderne anche le meccaniche operative.

Strumento principe, infine, per ogni principiante è il forum di supporto: forum.bertos.org. Nel forum di BeRTOS sarà possibile ricevere assistenza (area support), far conoscere i propri progetti per ricevere consigli (area projects) o fare richieste riguardanti la roadmap ed i nuovi sviluppi del sistema operativo.

About Antonio Cangiano

Antonio lavora come Software Engineer & Technical Evangelist presso la IBM in Canada. È inoltre il direttore di Stacktrace.it, un internet marketing strategist, imprenditore del web, serial blogger, e autore di un paio di libri in inglese (recentemente Technical Blogging.) Puoi dare un'occhiata ai suoi progetti sulla sua homepage e seguendolo su Twitter.

Policy per i commenti: Apprezzo moltissimo i vostri commenti, critiche incluse. Per evitare spam e troll, e far rimanere il discorso civile, i commenti sono moderati e prontamente approvati poco dopo il loro invio.


Speak Your Mind

*

Time limit is exhausted. Please reload CAPTCHA.