--------------------------------------------------------------------------------------------------------------------------------------

Originariamente sviluppato da una squadra internazionale di progettisti, ADA  fu la risposta alle richieste 
emesse dal Dipartimento della Difesa degli Stati Uniti (US DoD), al fine di unificare i linguaggi di pro-
grammazione ed avvantaggiarsi di un software più affidabile, adatto per realizzare applicazioni di control-
lo di processo ad elevate prestazioni, in cui  assumono un ruolo di fondamentale importanza  la modularità 
e la multiprogrammazione in tempo reale.
Questo linguaggio molto potente ed articolato venne sviluppato per la prima volta nel 1979 e prendeva il
nome da Ada Lovelace figlia di Lord Byron, la quale era appassionata della matematica applicata e della 
macchina analitica di cui ne apprezzava soprattutto il fatto di essere programmabile. Tale passione la
portò a scrivere dei saggi sulle possibili applicazioni di questa macchina, e sul modo di programmarla;  così
in omaggio a lei il nome ADA venne dato al linguaggio di programmazione standardizzato dal ministero 
della difesa degli Stati Uniti, ideato per la scrittura di programmi per il controllo in tempo reale di macchine 
e apparati. Successivamente il suo campo di applicazione fu esteso ad altri settori come; sistemi informativi 
utilizzati su larga scala, sistemi distribuiti, applicazioni scientifiche e sistemi di programmazione, inoltre, 
il suo utilizzo fu esteso a tutte le maggiori agenzie di difesa del mondo occidentale, all'intera comunità aerospaziale, 
a settori privati come le Telecomunicazioni, processi di controllo e sistemi di monitoraggio.
Utilizzato per alcuni anni nella sua versione originale, nel 1988 furono introdotte alcune modifiche che 
venivano definite come ANSI /ISO Standard, questo processo di revisione iniziò a ripetersi ogni 5 o 10
anni al fine di stabillire quali standard sarebbero stati abbandonati e quali invece riaffermati.
Per comprendere tale processo, bisognerebbe spiegare che ANSI, come corpo nazionale statunitense
 di standard, aveva proposto sin dall'inizio che ADA diventasse un  ISO  standard;  inoltre,  il   Dipartimento 
della Difesa assumeva il ruolo di agente ANSI nel dirigere il processo di sviluppo nella revisione degli
standard e veniva strutturato in maniera tale che l'Ufficio Programmazione ADA (AJPO) era responsa-
bile di ADA e la Commissione Consultiva che informava l'AJPO prendeva il nome di ADA BOARD.
Questo tentativo di Revisione si concludeva nel gennaio 1988, quando ADA Board veniva chiamata a 
preparare una lettera di raccomandazione, sul processo di standardizzazione più adatto da utilizzare nello
sviluppo di uno Standard modificato, conosciuto nel frattempo come ADA 9X,  e veniva spedita nel 
settembre 1988 a Virginia Castor, direttore dell'AJPO, la quale approvava il pacchetto ADA 9X e dava
il via alla modifica di ADA Standard.

ADA 9X.
Le caratteristiche del programma ADA 9X possono essere ricondotte a tre fasi principali, di cui la prima
fa riferimento ad una delle fasi del ciclo di vita di un sistema informatico dedicato alla modifica del linguaggio
in base alle richieste degli utenti; la seconda riguarda lo sviluppo e la definizione del linguaggio modificato in
base alle esigenze più concrete; la terza comporta l' adeguamento di ADA 83 ad ADA 9X.
Lo sviluppo di richieste rappresenta un processo basato sulle esigenze degli utenti le quali vengono scelte ed 
analizzate al fine di determinare quali fossero le più concrete da rendere esecutive nella progettazione del
software.

GLI ASPETTI DI UN NUOVO LINGUAGGIO: ADA 95
L'esigenza di un linguaggio moderno che potesse soddisfare le continue richieste provenienti dalla comunità
degli utenti e la volontà di adattare ADA  a nuove aree di applicazione, indirizzavano i progettisti a sviluppare 
un software più organizzato in grado di supportare i fabbisogni dell'ingegneria .
Molti degli aspetti che vengono evidenziati in ADA 95, erano già presenti nella versione ADA 83 che risultava
essere gia un buon linguaggio; ciò nonostante la dinamica evolutiva del tempo e della tecnologia rendono ne-
cessari continui adattamenti del programma allo scopo uniformare le richeste innovative provenienti da diverse
direzioni quali ; la capacità di autoregolazione dei sistemi esistenti , incrementi nella capacità  hardware  per 
soddisfare  le richieste di mercato aggiuntive.
Le innovazioni in ADA 95 contribuiscono a rendere il linguaggio più aperto e flessibile, di conseguenza è possibile
includere i benefici della programmazione ad oggetto senza ricorrere all'ausilio di linguaggi SmallTalk, C  e  C++.

ADA SOSTITUISCE I SISTEMI CAD NEL SETTORE INDUSTRIALE  HVAC 
CON LO SVILUPPO DI UN SUPER CAD 

La necessità di sviluppare software per ingegneria e quella di avvalersi di un sistema più veloce nel rendere esecutivi
e dinamici i progetti, nasce nel settore industriale HVAC (impianti di riscaldamento ed aria condizionata) dove 
Byron Informatic (società di sviluppo del software adatto per il controllo  di impianti da riscaldamento ed aria 
condizionata) sta usando il linguaggio ADA per sviluppare un sistema di SUPER-CAD chiamato Sistema
d'Ingegneria Integrato che sotto alcuni aspetti si rivela molto più potente di un regolare sistema CAD poichè, 
tutte le informazioni .circa gli oggetti sono immagazinate in un unico database, dando  la possibilità all'utente di
manipolare, da qualunque file di disegno gli oggetti precedentemente archiviati con una certa celerità.
In tale contesto il Sistema d'Ingegneria Integrato risulta utile nel rendere i progetti di riscaldamenti, ventilatori ed 
aria condizionata più efficaci poichè da la possibilità di effettuare calcoli complessi sui disegni e  sviluppare
schemi, modelli e piante in 3D.
Il sistema CAD normale, invece, non prevede un unico database nel quale archiviare gli oggetti, ma utilizza 
differenti file di disegno, dove ciascuno di essi contiene gli elementi adoperati in un unico file di disegno, cosi 
ogni oggetto puo' essere richiamato soltanto nel disegno  in cui è stato creato .

ADA: i vantaggi nelle applicazioni.
Convinti dei benefici del linguaggio nelle applicazioni, Byron Informatic si avvia a predisporre nuovi sviluppi
su ADA intravedento la possibilità di utilizzare ADA 9X; il motivo di tale scelta deriva dai notevoli vantaggi 
incontrati ; primo perchè ADA è uno Standard che consente facili posizioni in ogni tipo di sistema; secondo
è dotato di un'elevata capacità a supportare vasti programmi sviluppati da più programmatori; terzo, è sicuro
poichè consente modifiche sul pacchetto con altri moduli di programma.
Riguardo al futuro è possibile che le applicazioni vengano portate su altre stazioni di lavoro per farne uso sui
prossimi Personal Computer Solari.

ADA COME FUTURO VEICOLO SPAZIALE.
Il progetto è stato sviluppato da ESA (European Space Agency) in collaborazione con ALCATEL-SEL (D)
un ricevitore GPS usato per applicazioni nello spazio.
Lo scopo di questo progetto è quello di procurarsi un'attrezzatura che sarebbe stata usata  dai laboratori GPS per
applicazioni ad elevata capacità di sviluppo come l'attivita di rientro di veicoli dallo spazio ed altre funzioni introdotte
a tal fine. Una richiesta particolare è quella secondo cui il ricevitore software debba essere programmato nel 
linguaggio ADA  per un suo affidabile e  regolare sviluppo, in tal senso ha significato parlare di ADA 
come interfaccia con ambienti di sviluppo avanzati.

LA PROGRAMMAZIONE STRUTTURATA ALLA BASE DI ADA
Molto spesso  la programmazione dei calcolatori viene fatta cercando di ottenere nel minor tempo possibile un 
programma funzionante, senza preaoccuparsi troppo della qualita' del prodotto ; tutto ciò comporta uno sviluppo 
di  programmi difficili da capire e da modificare persino da parte di chi li ha scitti ; in tal modo la  programmazione 
offre un metodo di lavoro che si prefigge di evitare  che questo accada , infatti l'insieme di criteri e di regole utilizzate
per poter  scrivere un programma organizzato affinchè sia facile capire , correggere ,  modificare il funzionamento 
di una parte di esso senza doverlo rivedere completamente , ed infine di adattarlo per eventuali collegamenti ad altri
 programmi . 
I principali metodi per ottenere un programma strutturato sono due : la scomposizione modulare e l'utilizzo di strutture 
di controllo che consentono di definire un flusso di esecuzione ben organizzato ,cosi ADA  ,come tutti gli altri linguaggi 
di programmazione strutturata ,permette la scomposizione modulare che consiste nella suddivisione dei programmi 
in moduli , cioè in parti più piccole che anno un punto di inizio e un punto di fine ben precisi, che ricevono parametri 
d'ingresso e forniscono risultati di uscita ben definiti svolgendo cosi una funzione ben specifica . Infatti ogni modulo 
è visto dall'esterno come una parte di programma che, se attivata in modo corretto ,  è in grado di fornire un particolare
servizio. 

UN ESEMPIO DI RECORD IN ADA 95 
In ADA 95 i tipi di record possono essere estesi su derivazione , sono  inoltre segnati ed etichettati.
Come risulta implicito dal nome un tipo etichettato ha una etichetta associata, tale  parola è familiare gia dal 
Pascal dove è usata per individuare quella che in ADA è conosciuta come una descriminante; infatti,
in ADA 95 dopo l'etichetta vi  è una descriminante che identifica il tipo di record. 

un esempio molto semplice suppone che vogliamo manipolare vari tipi di oggetti geometrici che formano una 
specie di gerarchia . Tutti gli oggetti avranno una posizione data dalle loro coordinate X ed Y in modo che
 possiamo dichiarare l'origine della gerarchia come

                 type object is tagged
                         record 
                                x_Coord : float ;
                                y_Coord : float ;
                         end record ;

 UN ESEMPIO DI  SOTTOPROGRAMMI IN ADA
Un sottoprogramma può essere espresso sia da  una procedura che da una funzione.
I suoi parametri possono essere espressi in  tre modi: " in ", "in out ",  or  " out "; se uno di tali modi 
non viene specificato verrà considerato automaticamente " in " .

Questo Esempio di dichiarazione di sottoprogramma.fa riferimento ad un semplice scambio di valori 
associati alle variabili A e B , cosi all'interno della procedura SWAP i valori delle variabili  A e B 
vengono scambiati e restituiti al programma chiamante 

restituisce al programma chiamante i valori A e B 

 procedure SWAP  (A, B: in out INTEGER) is
 
       TEMP: INTEGER;
 
      begin 

           TEMP := A;

           A         :=B;

           B         := TEMP;

end  SWAP;

ALLA RICERCA DI UN COMPILATORE ADA PER WINDOWS 95
Navigando su INTERNET tra gli svariati compilatori  ADA presenti su piu siti 
siamo riusciti a trovare un interessante prodotto adatto per Windows 95 dedicato 
ha chi a sempre desiderato di poter programmare in questo linguaggio e nessuno gli ha mai
dato una mano ....
Ada Core Technologies (ACT), azienda privata , fondata in agosto '94 dai principali autori
del compilatore ADA 95,  esige supporti di elevata qualità riferiti ad utenti militari, industriali e 
commerciali del compilatore GNAT, primo compilatore ufficiale di ADA 95 di cui ACT ne amplia lo
sviluppo in tutte le aree del software.
La versine 0.97 GNAT IDE  per GNAT - Ada 95 è un ambiente di sviluppo molto semplice da
adoperare e da installare che consente all'utente di scrivere i programmi in una finestra sovrapposta 
al compilatore  e di eseguire velocemente l' esecuzione dei codici di programma mediante l'opzione 
RUN. Gli eventuali messaggi di errore che verranno riscontrati all'interno del programma saranno 
resi visibili all'utente nella parte bassa del compilatore. 
Ulteriori informazioni su GNAT sono disponibili all'indirizzo internet : HTTP://WWW.GNAT.COM.