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 nel settore automotive, dove si assiste a una crescita dei componenti-software 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 nell’automotive, approfondendo i metodi di ingegneria del software necessari per fare del software embedded un prodotto economico e di qualità, ossia corretto, efficiente, riusabile, etc., ma anche affidabile, considerato che oggi, nell’ automotive, il 30% dei più severi malfunzionamenti proviene 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 l’esame 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.
Modalità di verifica dell'apprendimento
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.

Prova in itinere
(o di verifica e autoverifica intermedia):
Può essere di due tipi (a scelta del docente. Sono di pari difficoltà e di pari esonero guadagnato):
  • Prova in itinere di Tipo 1
Relazione sulla lettura di un articolo su sicurezza e affidabilità del software-automotive.
E’ facoltativa ma, per lo studente che la esegue, vale come esonero della parte di programma che riguarda il Libro di Testo n.1.
  • Prova in itinere di Tipo 2
Risposte a quesiti, progetto del testing ststistico di un prodotto software e stima della sua affidabilità.
E’ facoltativa ma, per lo studente che la esegue, vale come esonero della parte di programma che riguarda i Capp. 3, 4, 6, 7 del Libro di Testo n.2 (modelli dinamici di affidabilità, modelli “time between failures”, statistical testing, calcolo parametri modelli dinamici).

Prova d’esame
Per gli studenti che non avesssero espletata la prova in itinere, la prova d’esame copre tutto il programma del corso, dunque:
A) risposte a quanto indicato per prova in itinere (di Tipo 1 oppure di Tipo2 a scelta del docente)  e
B) risposte a quesiti relativi ai Capp. 1, 2, 8, 9, 10 del Libro di Testo n.2 (modelli statici di affidabilità, calcolo affidabilità a componenti multipli, ingegneria dell’affidabilità software, ingegneria della sicurezza software). 
Per gli studenti che invece avessero espletata la prova in itinere, la prova d’esame riguarda soltanto quanto indicato al punto B).

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

 Testo 1

  • J.Schauffele, T. Zurawka, "Automotive Software Engineering", SAE International, Warrendale, Pa, USA (copre i punti da 1 a 7 del programma e la Prove Itinere di Tipo1). 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

Testo 2

  • G. Iazeolla “Affidabilità e Sicurezza del Software”, Franco Angeli, 2013, Capp 1, 2, 3, 4, 6, 7, 8, 9, 10 (copre punti 8, 9, 10 del programma, la Prova Itinere diTipo2 e la Prova Finale).
Ricevimento studenti

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