Videocorso Ada CGFA
Il linguaggio dei sistemi dove un errore non è ammesso: aerei, treni, satelliti. Con GNAT e un'introduzione a SPARK
- Partenza: Da zero
- 14 ore con gli esercizi
- 10 lezioni in 3 livelli
- 2 lezioni gratis
A chi serve
Studenti di informatica e ingegneria, programmatori che vogliono scrivere software più sicuro, chi lavora o vuole lavorare in avionica, ferrovie, spazio, difesa e sistemi embedded
Cosa serve per iniziare
- Un computer Windows, Mac o Linux
- Nessuna esperienza di programmazione
- Voglia di scrivere programmi precisi: in Ada il compilatore è severo, ma è dalla tua parte
Cosa installare
A cosa ti serve
- Aeronautica e avionica: software di bordo e controllo del volo
- Ferrovie e metropolitane: segnalamento e sicurezza della circolazione
- Spazio e difesa: satelliti, razzi, radar, sistemi militari
- Sistemi embedded e industria: controllo di macchine, dispositivi medici, energia
- Ruoli di analista e sviluppatore di software critico, verifica e certificazione (aziende dei settori aerospazio e trasporti)
Programma del corso
10 lezioni in 3 livelli. Ogni lezione: video, spiegazione, codice da copiare o provare, esercizio con soluzione e quiz.
Base
Il primo programma, i tipi forti, le decisioni, i cicli e le procedure
Intermedio
Pacchetti, dati strutturati, eccezioni e contratti
Avanzato
Tipi privati, generici, concorrenza e sistemi critici con cenni di SPARK
Progetto finale: Monitor della temperatura di una cella frigorifera
Un programma che elabora una giornata di letture di temperatura di una cella frigorifera di un negozio alimentare, valuta lo stato di ogni lettura (normale, attenzione, allarme) e conta gli allarmi. È una simulazione al computer: non collegarla a impianti reali.
I passi
- Definisci un tipo enumerativo Stato (Normale, Attenzione, Allarme) e un sottotipo Temperatura con intervallo da -40.0 a 40.0 gradi.
- Scrivi una function Valuta che riceve una Temperatura e restituisce lo Stato (sopra 5 gradi attenzione, sopra 8 allarme).
- Metti la function in un pacchetto Cella, con specifica e corpo in file separati.
- Usa un array di letture e un ciclo for sul suo 'Range per valutarle tutte; conta gli allarmi.
- Aggiungi un contratto: Pre sulle letture (nell'intervallo) e Post sul risultato; compila con -gnata.
- Gestisci con un'eccezione le letture non valide e mostra un messaggio chiaro.
- Estensione: simula il sensore con un task e conserva l'ultima lettura in un oggetto protetto.
Esame e attestato
Alla fine del corso fai l'esame: 15 domande, serve il 75% di risposte giuste. Superato l'esame ottieni l'attestato stampabile con nome, ore, punteggio e un codice di controllo che chiunque può verificare.
Glossario di Ada
- Ada
- Linguaggio nato per il software affidabile e critico, con tipi forti, concorrenza e contratti.
- GNAT
- Il compilatore Ada libero, parte della collezione GCC.
- Alire
- Gestore di pacchetti e progetti Ada: crea, compila e installa strumenti e librerie.
- Tipo forte
- Tipo che il compilatore non mescola con altri senza conversioni esplicite.
- Sottotipo
- Tipo ottenuto limitando un altro tipo a un intervallo di valori, come 18 .. 30.
- Pacchetto
- Unità di codice con una specifica (.ads) visibile e un corpo (.adb) con l'implementazione.
- Eccezione
- Evento d'errore che interrompe il flusso normale e passa il controllo a un gestore.
- Contratto
- Insieme di precondizione (Pre) e postcondizione (Post) che descrivono cosa serve e cosa garantisce un sottoprogramma.
- Tipo privato
- Tipo i cui dettagli interni sono nascosti a chi usa il pacchetto.
- Generico
- Modello di sottoprogramma o pacchetto con parametri formali, riempiti quando si crea un'istanza.
- Task
- Attività che gira in parallelo con altre nello stesso programma.
- SPARK
- Sottoinsieme di Ada con strumenti di verifica formale che dimostrano matematicamente l'assenza di certi errori.
Le prime 2 lezioni sono gratis
Per il corso completo, scuole e aziende: chiedi le condizioni.