La definizione di ingegneria del software embedded è la seguente-
L’ingegneria del software embedded è il processo di controllo di vari dispositivi e macchine che sono diversi dai computer tradizionali, usando l’ingegneria del software. L’integrazione dell’ingegneria del software con dispositivi non-computer porta alla formazione di sistemi embedded. I sistemi embedded sono tipicamente popolari nella scienza medica, nell’elettronica di consumo, nella scienza della produzione, nell’aviazione, nella tecnologia automobilistica. Un tipico sistema embedded richiede una vasta gamma di strumenti di programmazione, microprocessori e sistemi operativi. L’ingegneria del software embedded, eseguita da ingegneri del software embedded, deve essere adattata alle esigenze dell’hardware che deve controllare e su cui deve funzionare.
Ora che abbiamo la risposta a “cos’è l’ingegneria embedded”, cerchiamo di capire quali sono i requisiti dei sistemi embedded, che includono il software per sistemi embedded. I requisiti del software e del sistema operativo di un sistema embedded sono diversi da quelli di un sistema tradizionale basato su computer. Tipicamente i sistemi embedded usano software di base per sistemi embedded come C, C++, ADA, ecc. Alcuni sistemi embedded specializzati possono usare OS come Windows CE, LINUX, TreadX, Nucleus RTOS, OSE, ecc.
L’ingegneria del software embedded differisce dallo sviluppo di applicazioni tradizionali in termini di considerazione aggiuntiva di fattori esterni come la temperatura e altri fattori ambientali che possono influenzare le prestazioni.