Lo sviluppo di software embedded real time si basa su un consolidato insieme di paradigmi, metodologie e tecnologie, evolute nel corso della nostra pluridecennale attività nel settore.
Basandoci sulle solide fondamenta della computer science applicata ai sistemi embedded e real time, le nostre metodologie e tecnologie vengono costantemente aggiornate sulla base dell’evoluzione dei microcontrollori, dei relativi tools, e dei requisiti regulatory.


Paradigmi
Il software viene rappresentato attraverso i seguenti paradigmi, tra loro coesistenti e funzionali allo sviluppo del software stesso in applicazioni embedded real-time.
- Software = strutture dati e algoritmi che operano su di essi, formalizzati tramite pseudolinguaggio.
Rif.: “Algorithms + Data Structures = Programs”, by Niklaus Wirth, Prentice-Hall Series in Automatic Computation.
- Software = processi stutturati e sequenziati. Rif.: “Structured Development for Real-Time Systems”, by Paul T. Ward, Stephen J. Mellor, Prentice-Hall.
- Software = automa a stati finiti.

Processi
Tutti i processi relativi al software sono eseguiti sulla base di procedure interne, che regolamentano:
- Obiettivi
- Input
- Output
- Responsabilità
- Metodologie
Il processo di sviluppo del software è strutturato sulla base
delle seguenti attività, gestite nell’ambito di un modello
iterativo ed incrementale:
- Specifica dei requisti del software
- Progetto architetturale del software
- Progetto di dettaglio del software
- Implementazione delle unità software
- Verifica delle unità software
- Integrazione delle unità software ed integrazione hardware-software
- Verifiche di integrazione
- Verifiche di sistema
Sono inoltre gestiti i seguenti processi relativi al software:
- Gestione dei rischi
- Gestione dei problemi
- Manutenzione
- Validazione e rilascio

Standards
Lo sviluppo e, più in generale, il ciclo di vita del software viene gestito in conformità e con riferimento alle più recenti norme internazionali di riferimento, tra cui:
- IEC 61508-3 – Functional safety of electrical/electronic/programmable electronic
safety-related systems – Part 3: Software
requirements - IEC 62304 – Medical device software – Software
life-cycle processes.

Tools
Nell’ambito dei processi relativi al software, utilizziamo, sulla base di apposite procedure, tools software per supportare le seguenti attività:
- Specifica dei requisti
- Verification/Testing
- Tracciabilità
- Gestione della configurazione e versioning
- Analisi statica e dinamica del codice
- Debug avanzato