ADA e VxWorks

Da un punto di vista potrebbe sembrare che informatica e lo spazio non sono tanto compatibili. In realta ogni centro di controllo ha bisogno dei sistemi informatici per la gestione delle telemetrie, per lo sviluppo di database adeguati, per i software di comando, etc.


ESA per la scrittura di gestione software del razzo Ariane 5 ha utilizzato Ada 95.
Nei paesi della NATO per la scrittura di tutto il materiale militare si usa lo stesso linguaggio di programmazione Ada 95.
NASA (USA) per la scrittura del software per i  veicoli spaziali controllati sono ampiamente utilizzati VxWorks / Tornado. 


                                                                                                           

Ada - un linguaggio di programmazione creato nel 1979-1980, nel corso del progetto ,da parte del Ministero della Difesa degli Stati Uniti, di sviluppare un linguaggio di programmazione comune per i sistemi integrati complessi (ad esempio, i sistemi di controllo automatizzato, che opera in tempo reale). Aveva in mente, prima di tutto, il sistema di controllo al bordo degli oggetti militari (navi, aerei, carri armati, missili e così via). Gli sviluppatori non avevano il compito di creare un linguaggio universale, quindi programmando con Ada devi considerare per che cosa stai programmando. Il linguaggio è chiamato in onore di Ada Lovelace (matematica inglese, nota soprattutto per il suo lavoro alla macchina analitica ideata da Charles Babbage)


Un esempio comune della sintassi del linguaggio è costituito dal programma Hello world. Sono possibili abbreviazioni per "Ada.Text_IO.Put_Line", con minori necessità di scrivere codice, tuttavia non sono state utilizzate qui per rendere più comprensibile l'esempio


with Ada.Text_IO;


procedure Hello is

begin

       Ada.Text_IO.Put_Line("Hello, world!");

end Hello;


Qui invece è stato riscritto lo stesso codice, usando però i package nella forma diretta:
.

with Text_IO;

use Text_IO;


procedure Hello is

begin

       Put_Line("Hello, world!");

end Hello;


I fatti successi durante la storia di Ada:


Durante la creazione del linguaggio, il Pentagono pensava che tutti i nuovi software verranno creati solo usando Ada. A causa di questo, Ada era estremamente primitivo a interagire con programmi in altre lingue.

In pratica, si è scoperto che programmare tutto con Ada  - non è reale  (almeno perché vi era la necessità di interagire con lo sviluppo rifinito in altre lingue). Quindi, nelle zone in cui non vi era alcuna richiesta di  "scrivere solo in Ada", sono stati usati altri linguaggi, più adatte ad un ambiente multilingue. Nel 1995 il problema di interazione con altri linguaggi è stato risolto. Ma ormai il tempo è stato perso..


Paradossalmente, la diffusione di Ada è stata impedita dal sostegno finanziario e organizzativo del Pentagono.

I programmi scritti con Ada per i militari,  lavoravano sulla più potente tecnologia informatica, che era disponibile, per cui gli sviluppatori dei compilatori si ocupavano principalmente di passare i test ACVC, e solo dopo - sull'efficacia del compilatore e il codice generato da loro.


Nei primi anni 1980 è successo il boom dei microcomputer, e traduttori per le lingue più comuni (Pascal, C, BASIC) sono stati ottimizzati per i sistemi operativi a basso consumo. Per Ada non c'era lo stimolo in questa modernizzazione e in seguito i Personal Computer sono rimasti senza un compilatore buono di Ada. Naturalmente, l'Ada ha perso questo segmento di mercato. Relativamente è apparso il copmpilatore piu recente GNAT , ad alta qualità e produttivo, ma anche qui il tempo è stato perso.




VxWorks - il sistema operativo in tempo reale, sviluppato da Wind River Systems (USA), si è concentrata sull'uso di computer integrati che  lavorano con i sistemi hard real-time.

VxWorks è un sistema con il software applicativo sigli strumenti di cross-sviluppo. In altre parole, lo sviluppo avviene sul computer di sviluppo, chiamato host, per il seguente utilizzo sulla macchina di destinazione,  target.


Il nome 'VxWorks' si crede sia un gioco di parole con l'acronimo VRTX (Versatile Real-Time Executive) , un sistema operativo real-time sviluppato dalla Ready Systems negli anni ottanta. Al tempo non funzionava molto bene e non poteva essere effettivamente impiegato come un vero sistema operativo. La Wind River acquisì i diritti per rivenderlo con una estensione chiamata VxWorks che lo rendeva usabile e più efficiente. Così, probabilmente VxWorks significa VrtX now WORKS o VrtX that WORKS. Quando la Wind River seppe che la Ready Systems avrebbe annulato il loro contratto, iniziarono a sviluppare il proprio kernel e lo misero al posto del VRTX. Quindi il cuore delle funzionalità di VxWorks è simile a quelle del vecchio VRTX.


VxWorks fornisce i seguenti strumenti di rete :


In VxWorks gli strumenti di rete comprendono anche le funzioni richieste per lo sviluppo per i dispositivi collegati a Internet:

  • IP multicasting del livello 0,1 или 2;
  • CIDR (Classless Inter-Domain Routing);
  • DHCP (Dynamic Host Configuration Protocol) nella configurazione del server, il client e Relay agent;
  • DNS client (Domain Naming System);
  • SNTP (Simple Network Time Protocol).


VxWorks supporta i seguenti protocolli di routing:


  • RIPv1/v2 (Routing Information Protocol)
  • OSPF (Open Shortest Path First) di versione 2.


La fornitura standard del VxWorks comprende il protocol RIP, il protocollo OSPF  è disponibile come prodotto aggiuntivo.

VxWorks supporta il protocollo SNMP (Simple Network Management Protocol) della versione v1, o della versione v2c. Compilatore MIB (Management Information Base) supporta gli oggetti MIB-II e gli espansioni.


Viene usata l'interfaccia STREAMS per il collegamento di protocolli di rete portatili per i sistemi operativi  . Sotto VxWorks può essere installato  qualsiasi protocollo che ha realizzazione STREAMS : come quelli standard (Novell SPX / IPX, Decnet, AppleTalk, SNA, ...), così come specializzati. SO VxWorks supporta le versioni STREAMS di UNIX System V.4.