Università degli Studi Guglielmo Marconi

Insegnamento
Ingegneria per l'embedded software
Docente
Prof. Iazeolla Giuseppe
Settore Scientifico Disciplinare
ING-INF/05
CFU
6
Descrizione dell'insegnamento

La presenza di software embedded, inizialmente limitata ai velivoli, si sta facendo sempre più diffusa nei veicoli terrestri e in particolare nelle auto, dove si assiste a una crescita esponenziale, per l’aumentato numero dei servizi, con la necessità di facilitarne le varianti e i sempre più stringenti requisiti di affidabilità e sicurezza. Questo corso affronta l’estesa materia del processo di sviluppo software nei veicoli, con particolare riguardo all’automobile, la materia dei metodi di ingegneria del software necessari per fare del software embedded un prodotto economico e di qualità, ossia corretto, efficiente, riusabile, etc., ma anche esso stesso affidabile, considerato che oggi il 30% dei più severi malfunzionamenti auto provengono da difetti software.

Obiettivi formativi (espressi come risultati di apprendimento attesi)

Al termine di questo corso, lo studente sarà in grado di:

  • comprendere il ruolo del software nell’automobile;
  • conoscere il software di powertrain, chassis e body;
  • apprendere l’architettura logica del sistema;
  • identificare gli elementi basilari del sistema;
  • applicare i processi fondamentali di sviluppo software;
  • valutare i processi di supporto allo sviluppo;
  • discutere di affidabilità, monitoraggio e diagnostica;
  • eseguire analisi e testing per affidabilità del software embedded.
Prerequisiti

Il Corso di Ingegneria per l’embedded software è combinato al corso di Metodi e linguaggi di simulazione che ne è propedeutico, dunque non si può sostenere la prova in itinere di Ingegneria per l’embedded software se non si è superato l’esame di Metodi e linguaggi di simulazione.

Contenuti dell'insegnamento
  • Il ruolo del software nell’automobile
  • Software di powertrain, chassis e body
  • Architettura logica del sistema
  • Elementi basilari del sistema
  • Processi fondamentali di sviluppo software
  • Processi di supporto allo sviluppo
  • Affidabilità, monitoraggio e diagnostica
  • Analisi e testing per affidabilità del software embedded
  • Affidabilità e safety
  • Analisi e testing per safety
Attività didattiche
Didattica Erogativa
L'insegnamento prevede, per ciascun CFU, 5 ore di Didattica Erogativa, costituite da 2,5 videolezioni (tenendo conto delle necessità di riascolto da parte dello studente). Ciascuna videolezione esplicita i propri obiettivi e argomenti, ed è corredata da materiale testuale in pdf.

Didattica Interattiva
L'insegnamento segue quanto previsto dalle Linee Guida di Ateneo sulla Didattica Interattiva e l'interazione didattica, e propone, per ciascun CFU, 1 ora di Didattica Interattiva dedicata alle seguenti attività: lettura area FAQ, partecipazione ad e-tivity strutturata costituita da attività finalizzate alla restituzione di un feedback formativo e interazioni sincrone dedicate a tale restituzione.
Criteri di valutazione
Tutte le prove di verifica e autoverifica intermedie previste dai Corsi ed erogate in modalità distance learning sono da considerarsi altamente consigliate e utili ai fini della preparazione e dello studio individuali. Le prove di verifica e autoverifica intermedie non sono obbligatorie ai fini del sostenimento della prova d´esame, la quale deve essere svolta in presenza dello studente davanti ad apposita Commissione ai sensi dell´art. 11 c.7 lett.e) del DM 270/2004.
Modalità della prova finale
Per accedere alla Prova finale lo studente è chiamato a svolgere durante il percorso di studio della materia due Prove in itinere come sotto descritto:
  • Prova in Itinere 1: relazione sulla lettura di un articolo su sicurezza e affidabilità del software veicolo.
  • Prova in Itinere 2: laboratorio sperimentale di affidabilità del software (vedi dettagli a seguire).

La Prova in Itinere 1 fa riferimento al Testo 1 e alla lettura articolo.
La Prova in Itinere 2 fa riferimento ai Testi 1, 2 e 3 ed è intesa a una verifica della preparazione raggiunta dallo studente sulla parte di programma relativa a testing statistico per l’affidabilità del software.

Prova finale
: sistemi SE veicolo, attributi qualità e stima affidabilità software, testing statistico, modelli statici affidabilità.
Nota bene: la Prova finale fa riferimento al Testo 1 e al Testo 2.

Libri di testo

Oltre alle lezioni realizzate dal Docente ed ai materiali didattici pubblicati in piattaforma, è obbligatorio lo studio dei seguenti testi:

  • J.Schauffele, T. Zurawka, "Automotive Software Engineering", SAE International, Warrendale, Pa, USA (copre punti da 1 a 7 del programma e le Prove Itinere 1, 2 e 3). Da studiare nelle parti che seguono:
    • Cap 1 tutto
    • Cap 2 pp 39-51, e 84-114
    • Cap 3 tutto
    • Cap 4 tutto
    • Cap.5 pp 211-266 e 306-318
  • G. Iazeolla “Affidabilità e Sicurezza del Software”, Franco Angeli, 2013. (copre punti 8, 9, 10 del programma, la Prova Itinere 2 e la Prova Finale)
  • G. Iazeolla PRINCIPI e METODI di SIMULAZIONE DISCRETA, Franco Angeli 2010. Cap. 3 (per la Prova Itinere 2)
Ricevimento studenti

Previo appuntamento (g.iazeolla@unimarconi.it).