72

Sintesi - Benvenuti su [email protected]/2926/1/PhDThesis_Fonte.pdf · in questa tesi si utilizza la coppia Flex e Bison, il primo e un analizzatore lessicale

Embed Size (px)

Citation preview

Sintesi

I principali obiettivi di Dawn sono la raccolta di informazioni sulle fasi iniziali del SistemaSolare, ossia sui primi milioni di anni della sua evoluzione e dei processi in atto sui corpi appenaformati, la caratterizzazione dei “mattoni” a partire dai quali si sono formati i pianeti terrestri.

La questione principale alla quale la missione dovra rispondere e quale sia il ruolo della massadi un oggetto stellare e del suo contenuto in volatili nel determinare l’evoluzione successiva.Per raggiungere questo scopo, la missione Dawn andra ad investigare in dettaglio due dei piugrandi protopianeti che sono rimasti quasi intatti dall’epoca della loro formazione, ma che sisono formati in zone diverse del sistema planetario: i candidati ideali sono Vesta e Cerere,protopianeti situati nella vasta zona tra Marte e Giove nella fascia di asteroidi; il loro processodi formazione ha seguito differenti evoluzioni durante i primi milioni di anni di evoluzione delSistema Solare.

Cerere, durante l’aggregazione, ha apparentemente incorporato acqua ghiacciata rallentandola sua evoluzione termica. Vesta e piu piccolo e vicino al Sole. Cerere e molto primitivo e umido,mentre Vesta e evoluto e secco.

Dawn registrera la magnetizzazione, la composizione minerale ed elementare per dedurrel’evoluzione e la storia termica dei due corpi celesti. Il sistema di strumenti presenti su Dawnpermettera di caratterizzare al meglio i due obiettivi della missione; in particolare con il sistemadi telecamere si potra produrre una mappa topografica della superfice dei due protopianeti. Lospettrometro ad immagine e il rivelatore di neutroni e raggi gamma forniranno informazioni sullospettro (tra visibile ed infrarosso) e sulle composizioni della superfice dei due asteroidi. Questeinformazioni potranno essere correlate alla posizione nella mappa topografica, producendo unamappa mineralogica dei due asteroidi.

Lo spettrometro ad immagine (VIR) il quale combina due canali (visibile ed infrarosso) inun unico strumento, inserito nello spacecraft della missione Dawn. Questo prodotto provieneda una rielaborazione (semplificata) di VIRTIS (lo spettrometro della missione Rosetta) e diVIMS (uno strumento della missione Cassini). I canali spettrali di VIR comprendono due sensoribidimensionali (un CCD (Charge Coupled Device) per la parte visibile e una IRFPA (InfraRedFocal Plane Array) per la parte infrarossa) alimentati da una elettronica di base che, oltre allafornitura di potenza, amministra le funzionalita dello strumento.

Nella presente tesi si sono sviluppate delle tecniche per la gestione dello strumento VIR;tale gestione avviene utilizzando dei macrocomandi che configurano lo strumento nei suoi statioperativi. Per la gestione di questo strumento, dopo un iniziale studio delle tematiche dellamissione e della operativita di VIR, si e provveduto alla realizzazione una pipeline di sviluppoper le sequenze operative da far svolgere a VIR durante la missione.

La gestione di VIR avviene mediante una infrastruttura ben consolidata in tutti i progettiNASA che si basa sulla scrittura di sequenze operative in un linguaggio time depending cheva sotto l’acronimo SASF (Spacecraft Activity Sequence File). Per una corretta organizzazionedelle sequenze operative di VIR si e sviluppato un processo semi-automatico, che parte dallostudio delle fattibilita e di possibilita osservative mediante una simulazione delle operativita dellostrumento nelle traiettorie geometriche, fino alla stesura e validazione dei file SASF contenti leoperazioni simulate.

La pipeline di generazione del SASF per le operazioni di VIR si sviluppa utilizzando di-versi tool realizzati nelle strutture dell’IFSI. Questi programmi comprendono un simulatoreVIRS (VIR Simulator), il cui compito e quello di simulare delle funzionalita di VIR durante lapianificazione delle sequenze osservative.

ii

iii

La generazione dello script di operazioni (il SASF) viene effettuata da VIRG (VIR SASFGenerator). Il SASF prodotto prima del processo di integrazione con le sequenze degli altristrumenti, viene validato da VIRV (VIR SASF Validator).

Il processo di validazione della sequenza generata da VIRG, avviene in due stadi differenti:nel primo stadio avviene un controllo lessico-grammaticale del file SASF, mentre nel secondoavviene una trasformazione della sequenza operativa (parsing) in una tabella di dati per unconfronto con le grandezze simulate da VIRS. Durante la fase di parsing, VIRV effettua uncontrollo affinche tutte le flight rules relative allo strumento vengano rispettatte dalla sequenza.Il fallimento di uno dei seguenti controlli viene evidenziato in uscita dall’applicazione.

Il processo di validazione delle sequenze consiste nell’utilizzo di programmi per la costru-zione di analizzatori lessicali, capaci di maneggiare strutture piu o meno complesse. La teoriasull’analisi lessicale si e sviluppata attorno agli anni 60-70 dello scorso secolo, portando al con-solidamento di tecniche di analisi il cui risultato e uno spettro di programmi piuttosto ampio:in questa tesi si utilizza la coppia Flex e Bison, il primo e un analizzatore lessicale (scanner),l’altro un analizzatore sintattico (parser).

Il compito di un analizzatore lessicale e quello di dividere la struttura del file SASF da ana-lizzare in token riconoscendole come appartenenti al linguaggio, mentre l’analizzatore sintatticosi occupa di contestualizzare i token in una struttura sintattica dalla quale ricavare il risultatodi una espressione.

Il lavoro di questi generatori consiste nella trasformazione di un meta-linguaggio in unprogramma c/c++. La generazione vera e propria di un eseguibile, con le funzionalita dianalizzatore lessico-sintattico per la grammatica in esame e eseguita dai compilatori c/c++.

Il parser e lo scanner sono spesso utilizzati per la generazione di compilatori dei vari linguag-gi: nella validazione di sequenze e naturale che questa potenzialita venga preferita alla scritturadi procedure ad hoc per l’analisi del file di sequenza, in quanto si eliminano le problematiche dianalisi sintattico-lessicale gia affrontate in fase di implementazione di questi tool.

Le tecniche descritte per lo sviluppo delle sequenze operative sono state applicate alle pro-cedure per la verifica del funzionamento dello strumento dopo il lancio dello spacecraft che locontiene. Sono state controllate le meccaniche di VIR, comandando il movimento del cover eimpostando le diverse modalita dello scan mirror. Inoltre, sono state eseguite delle procedureper individuare le criticita dello strumento, caratterizzando la produzione dei dati durante leacquisizioni. Un ultimo test ha previsto l’utilizzo del canale ridondato di alimentazione.

Abstract

The main objectives for Dawn are the collection of information on the initial stages of the SolarSystem, ie on the first million years of evolution and the processes on the newly formed bodies,the characterization of the “building blocks” from which they formed the terrestrial planets.

The main issue on which the mission will have to answer is what’s the role of the massof a stellar object in determining the future evolution. To achieve this purpose, the Dawnmission will investigate in detail two of the largest protoplanets that have remained almostintact since their formation, but who were trained in different areas of the planetary system:the ideal candidates are Vesta and Ceres, protoplanets located in the vast area between Marsand Jupiter in the asteroid belt, and their formation process has followed different trends duringthe first few million years of evolution of the Solar System.

Dawn will record the magnetization, the mineral and elemental composition to characterizethe evolution and thermal history of the two celestial bodies. The system of instrument on Dawnwill better characterize the two objectives of the mission, especially with the camera systemthat can produce a topographic map of the two protoplanets surfaces. The spectrometer imageand the detector of neutrons and gamma rays provide information on the spectrum (includingvisible and infrared) and composition of the surface of the two asteroids. This information maybe related to the position in the topographic map, producing a mineralogical map of the twoasteroids.

The spectrometer image (VIR) which combines two channels (visible and infrared) in a singleinstrument, inserted in the spacecraft mission Dawn. This product comes from a reworking(simplified) VIRTIS (the spectrometer of the Rosetta mission) and VIMS (an instrument ofthe Cassini mission). VIR spectral channels include two-dimensional sensor (a CCD (ChargeCoupled Device) for the visible part and a IRFPA (InfraRed Focal Plane Array) for the infrared)operated at a basic electronics, in addition to the supply of power, administrative capabilitiesof the instrument.

In this thesis we have developed techniques for managing the instrument VIR, this mana-gement takes place using macrocomands that configure the instrument in its operational state.For managing the instrument, after an initial study of the themes of the mission and operationof VIR, a development pipeline was implement to write the operation sequences of VIR duringthe mission.

The management of VIR is through a well-established infrastructure in all NASA projectsis based on writing sequential operating time depending on a language that goes by the acro-nym SASF (Spacecraft Activity Sequence File). For proper organization of VIR operationalsequences has developed a semi-automated process that starts from the study of feasibility andthrought a simulation of VIR operation in geometric paths, to product and validate of SASFfile.

The pipeline for SASF generation of VIR operations is developed using various tools in IFSI.These programs include VIRS (VIR Simulator), whose task is to simulate the functionality ofVIR during the planning of sequences observed.

A generating of SASF is done by VIRGO (VIR SASF Generator). The SASF product beforethe process of integration with the sequences of other instruments, is validated by VIRV (VIRValidator SASF).

The validation process of the sequence generated by VIRGO, occurs in two different stages:in the first stage is a check lexicon-grammar of SASF, while the second is a transformation ofthe operational sequence (parsing) in a table of data for a comparison with the sizes simulated

iv

v

by VIRS. During parsing, VIRV performs a control so that all the flight rules relating to theinstrument are rispettatte from the sequence. The failure of one of these controls is highlightedin quit.

The validation process of the sequences is performed by programs for the construction oflexical analyzers, capable of handling more or less complex structures. The theory of lexicalanalysis has been developed around 60-70 years of last century, leading to the consolidation ofanalytical techniques which results in a fairly broad spectrum of programs: in this thesis usesthe pair Flex and Bison, the first is a lexical analyzer (scanner), the other a parser.

The task of a lexical analyzer is to divide the SASF file structure to be analyzed into tokensare recognized as the language, while the parser is concerned to contextualize the tokens in asyntactic structure from which to derive the result of an expression.

The work of these generators is the transformation of a meta-language in a C/C++. The ac-tual generation of an executable, with the features of lexical-syntactic analyzer for the grammartest is performed by compilers C/C++.

The parser and scanner are often used to generate compilers for various languages: validationof sequences is obvious that this potential is preferred to writing ad hoc procedures for theanalysis of other sequence, as it eliminates the problems of lexical-syntactic analysis alreadyaddressed in the implementation phase of these tools.

The techniques described for the development of operational sequences have been applied toprocedures for verifying the operation of the instrument after the launch of the spacecraft thatcontains it. Were checked mechanics of VIR, controls the movement of the cover and settingthe different modes of scan mirror. Furthermore, the procedures were performed to identify thecriticality of the instrument, featuring the production of data during the acquisitions. A finaltest is expected to use the canal redundant power supply.

Capitolo 1

La missione Dawn

Sommario

I principali obiettivi di Dawn sono la raccolta di informazioni sulle fasi iniziali del Sistema

Solare, ovvero sui primi milioni di anni della sua evoluzione e dei processi in atto sui corpi

appena formati, la caratterizzazione dei “mattoni” a partire dai quali si sono formati i

pianeti terrestri. La questione principale alla quale la missione dovra rispondere e quale

sia il ruolo della massa di un oggetto stellare e del suo contenuto in volatili nel determinare

l’evoluzione successiva. Per raggiungere questo scopo, la missione Dawn andra ad investigare

in dettaglio due dei piu grandi protopianeti che sono rimasti quasi intatti dall’epoca della

loro formazione, ma che si sono formati in zone diverse del sistema planetario: i candidati

ideali sono Vesta e Cerere, protopianeti situati nella vasta zona tra Marte e Giove; il loro

processo di formazione ha seguito differenti evoluzioni durante i primi milioni di anni di

evoluzione del Sistema Solare.

Una questione che ha interessato molti studiosi del passato, tra i quali Cartesio, Kant eLaplace, riguarda l’origine del Sistema Solare. La teoria piu accreditata nei secoli scorsi eraquella della “nebulosa primordiale”, cioe di un’immensa nube di gas e polvere in rotazione,dalla quale si sarebbero formati il Sole e i pianeti.

Questo scenario e attualmente considerato il piu plausibile: altre teorie ipotizzano la forma-zione dei pianeti in seguito ad un evento catastrofico, come la collisione tra il Sole e un’altrastella, o una cometa, e il successivo distacco di materiale dal Sole, dal quale si sarebbero poiformati i pianeti; tuttavia la probabilita di un tale scontro e estremamente bassa, data l’enormedistanza tra le stelle nei dintorni del Sole.

Lo scenario della formazione del Sistema Solare, come pure di eventuali altri sistemi plane-tari, puo essere quindi il seguente: una nube fredda molto estesa di gas interstellare, compostadi idrogeno, elio, e una piccola parte di elementi pesanti aggregati in forma di polveri, si contraeper effetto della propria forza gravitazionale.

Il meccanismo di contrazione puo essere spontaneo, oppure stimolato dal passaggio diun’onda d’urto (per esempio dovuta all’esplosione di una supernova) attraverso la nube.

Durante questa contrazione, che dura diversi milioni di anni, la nube comincia a ruotaresempre piu velocemente e assume, a causa della forza centrifuga, la forma appiattita di undisco, con un diametro di circa 10 miliardi di chilometri ed uno spessore di circa 100 milioni dichilometri.

Nel centro della nube si accumula una grande quantita di gas e la contrazione gravitazionalelo riscalda da una temperatura di circa -270 C fino a circa 2000 C: si e formata una protostella.

Il gas che ruota attorno alla protostella forma un disco di accrescimento e vi cade sopralentamente, fino a quando, dopo poche migliaia di anni, si innesca il vento stellare, cioe unflusso di gas dalla protostella verso l’esterno, che trasferisce parte del momento angolare diquest’ultima al gas del disco.

Nel frattempo, il calore e la radiazione sprigionati dalla protostella e il flusso di gas che essaemette vaporizzano i grani di polvere nella nube. La protostella, accrescendo gas, comincia lasua evoluzione in stella.

1

2 LA MISSIONE DAWN

Il disco comincia a raffreddarsi irraggiando energia. A seconda della quantita e della distri-buzione del gas, esso puo essere gravitazionalmente stabile, oppure essere instabile e formareuna o piu protostelle. In questo modo si crea un sistema di stelle doppio o multiplo.

Figura 1.1: La nebulosa Trifid e ad una distanza di circa 9000 anniluce dalla Terra, nella costellazione delSagittario. Il telescopio spaziale Hubble ha mostrato nella nube una regione di polvere e gas,una zona piena di embrioni di stelle. [Fonte: http://hubblesite.org]

Lontano dalla stella, il gas si e raffreddato abbastanza affinche parte del gas si ricondensi inpolvere e ghiaccio; le particelle di polvere si aggregano per collisione fino a formare piccoli pezzidi roccia detti planetesimi.

Dall’unione dei planetesimi si originano i protopianeti; la massima dimensione che essi pos-sono raggiungere dipende dalla loro distanza dalla stella e dalla composizione e densita dellanube primordiale: nelle regioni piu interne essa sara molto minore che in quelle esterne, perchela protostella tende a disgregare e vaporizzare le polveri.

La differenza di dimensioni tra i pianeti tellurici e quelli giganti testimonia la validita diquesto scenario. La formazione dei protopianeti puo richiedere da circa centomila anni ad unaventina di milioni di anni.

A questo punto, la stella comincia ad emettere un forte vento che spazza via il gas residuodel disco. Se un protopianeta e abbastanza massiccio da trattenerne una parte con la propriagravita, si formera un pianeta gassoso, altrimenti verra spogliato del gas e dara origine adun pianeta roccioso; e logico che i pianeti piu vicini alla stella, essendo anche i piu piccoli,appartengano a questa seconda categoria.

L’evoluzione successiva del sistema planetario e regolata dagli impatti tra i corpi che locompongono. Gli impatti di meteoriti e planetesimi sui protopianeti e sui satelliti che vi ruotanoattorno, producono crateri sulla loro superfice, di molti dei quali ancora rimangono le tracce.Quando sono particolarmente violenti, gli impatti possono addirittura deviare i corpi dalla loroorbita originaria. Questa fase e stata attraversata dal nostro Sistema Solare da 4 a 4.5 miliardidi anni fa.

Tale processo formativo si puo osservare nella nebulosa Trifid (vedi figura 1.1), come eviden-ziato dal telescopio Hubble: l’osservazione della nebulosa ha mostrato tracce di polvere e gas, iquali possono essere visti come embrioni di stelle.

Il lavoro di questa tesi si inquadra nello scenario descritto: la missione Dawn, a cui sifa riferimento, e stata organizzata per studiare il comportamento del Sistema Solare ai suoi

1.1. LO SCOPO 3

primordi; i due incontri previsti con Vesta e Cerere aiuteranno a capire meglio il processo didifferenzazione dei pianeti del Sistema Solare.

1.1 Lo scopo

Il 27 Settembre 2007 e stato lanciato con successo lo spacecraft Dawn, il quale attualmente sitrova in viaggio verso la fascia di asteroidi compresa tra Marte e Giove. In questa zona delSistema Solare, Dawn incontrera due asteroidi (o protopianeti) che vanno sotto il nome di Vesta(in onore della dea romana Vesta) e Cerere (in onore della dea romana Cerere, protettrice delgrano e della Sicilia).

Lo scopo della missione e quello di capire, tramite lo studio dei due asteroidi, quali sianostate le condizioni e i processi accaduti nelle primissime epoche del Sistema Solare. Verranno,infatti, studiate le strutture interne, la densita e l’omogeneita dei due protopianeti attraversola misura della loro massa, della forma, del volume e della loro rotazione.

Vesta e Cerere sono protopianeti complementari rimasti intatti dalla loro formazione; cia-scuno di essi ha seguito un differente tragitto evolutivo influenzato dalla diversita dei processiche hanno operato durante i primi milioni di anni di evoluzione del Sistema Solare.

Cerere, durante l’aggregazione, ha apparentemente incorporato acqua ghiacciata rallentandola sua evoluzione termica. Vesta e piu piccolo e vicino al Sole. Cerere e molto primitivo e umido,mentre Vesta e evoluto e secco.

Dawn registrera la magnetizzazione, la composizione minerale ed elementare per dedurrel’evoluzione e la storia termica dei due corpi celesti.

Si avranno, immagini delle superfici dei due oggetti per determinare gli effetti dei bom-bardamenti, della tettonica e della loro possibile storia vulcanica. Lo studio dello spettro diemissione, caratterizzera i materiali presenti.

La questione principale della missione e indirizzata al ruolo della dimensione e dell’acqua neldeterminare l’evoluzione dei pianeti. Cerere e Vesta sono i due corpi piu adatti ad indirizzarequeste questioni, perche sono i protopianeti piu massivi, poi perche sono giovani pianeti la cuievoluzione e stata fermata dalla formazione di Giove.

In piu, questi due protopianeti rappresentano un ponte di collegamento nelle nostre cono-scenze tra i pianeti interni (rocciosi) e quelli piu esterni (gelati) del Sistema Solare.

La precoce fine del processo di aggregazione nella fascia di asteroidi e stata probabilmentedovuta alla formazione di Giove la cui gravitazione e anche causa, tuttora, del disordine deicorpi nella fascia degli asteroidi.

In tabella 1.1 sono elencati i parametri orbitali dei due protopianeti, ricavati dalla loroosservazione da Terra: l’individuazione di Cerere ha portato alla luce le capacita matematichedi Gauss, il quale consegno all’umanita un metodo per individuare il moto di un corpo celestecon solo tre osservazioni.

Asteroide a(AU) e I() ω() Ω() M() D(km)

1 Cerere 2.7678 0.0774 10.581 73.460 80.530 207.082 9134 Vesta 2.3607 0.0904 7.135 149.854 103.962 138.500 501

Tabella 1.1: Elementi orbitali e diametro di Cerere e Vesta: a e il semiasse maggiore, e e l’eccentricita,Ie l’inclinazione, ω e l’argomento del perielio, Ω e la latitudine del nodo ascendente, M el’anomalia media e D e una stima del diametro dell’asteroide. Gli elementi orbitali sonoriferiti alla data giuliana JD 2450800.5 (J2000). Fonte [7].

Tuttavia, un incontro ravvicinato con questi due corpi celesti permettera la loro caratteriz-zazione per quanto riguarda la composizione rocciosa; si potranno inoltre ricavare informazioni

4 LA MISSIONE DAWN

Asteroide Massa (x 1019 kg) Precisione

1 Ceres 94.5 0.6%4 Vesta 26.7 0.7%2 Pallas 21 12%10 Hygiea 9.0 3%704 Interamnia 7.1 12%511 Davida 5.9 10%15 Eunomia 3.3 5%3 Juno 3.0 10%16 Psyche 2.6 13%

Tabella 1.2: Elenco degli asteroidi piu massivi: le masse degli asteroidi sono state calcolate dalleperturbazioni causate da Marte e dagli altri asteroidi. Fonte [4].

sulla gravitazione nelle immediate vicinaze dei i loro centri di massa, informazione attualmentepiuttosto lacunosa.

1.1.1 Vesta

Come evidenziato nell’articolo [4], Vesta e Cerere sono tra i piu massivi corpi nella fascia diasteroidi. In particolare Vesta e il secondo protopianeta piu massivo, con un raggio medio paria 258 km e una massa di 26.7 x 1019 kg.

Grandezza Valore

Raggio medio 258 ± 12 kmMassa (1.38 ± 0.12) × 10−10 masse solariDensita media 3200 ± 5050 kg/m3

Volume (7.2 ± 0.87) × 107 k3m

Tabella 1.3: Dati fisici di Vesta: ottenuti analizzando le immagini di Hubble ad un intervallo di 71 ore aduna scala di 52 km/pixel. Fonte [2] e [10]

Alcune caratteristiche della superfice di Vesta sono state risolte utilizzando il telescopiospaziale Hubble, il quale ha permesso di realizzare un modello tridimensionale della sua superfice(come riportato in figura 1.2(b)).

La caratteristica superficiale piu evidente, come si vede in Figura(1.2(a)), individuata daHubble nel 1996, e un enorme cratere con un diametro pari a 460 km situato vicino al polo suddell’asteroide. Il fondo di questo cratere si trova a circa 12 km sotto il livello zero superficialee il suo bordo si eleva di 4÷12 km sopra il terreno circostante. Un picco centrale si innalza per18 km dal fondo del cratere.

Le dimensioni di Vesta e la sua superfice brillante (magnitudine assoluta di 3.20 ed albedogeometrico 0.4228 ± 0.0531) hanno permesso di studiare il protopianeta anche da Terra: graziealla disponibilita di campioni di roccia sotto forma di meteoriti HED, anche dette acondritibasaltiche per via della loro origine magmatica e per alcune similitudini con i basalti terrestri.

Vesta e l’unico asteroide con aree distinte di luce ed oscurita, come la faccia della Luna.I dati spettroscopici di Vesta indicano la presenza di regioni basaltiche: questo e un indice

1dati provenienti da JPL Small-Body Database http://ssd.jpl.nasa.gov/sbdb.cgi

1.1. LO SCOPO 5

(a) Mappa topografica dell’elevazione. (b) Modello 3-D dell’asteroide.

Figura 1.2: Modello di Vesta sintetizzato dai dati proveinenti dal telescopio spaziale Hubble: nel polosud di Vesta si vede un cratere probabilmente generato da un impatto con un altro corpo delSistema Solare. [Fonte: http://hubblesite.org]

dell’attivita magmatica presente sulla sua superfice, ovvero della presenza di un nucleo internofuso, come la Terra.

E possibile che Vesta sia stato formato da un agglomerato di materiale particellare compostoda frammenti radioattivi (come ad esempio l’isotopo Al36) che si e addensato al centro: questa“granata” radioattiva probabilmente venne da un’esplosione di una supernova vicina, che haprobabilmente dato origine al Sistema Solare.

Questo isotopo caldo ha potuto fondere il centro dell’agglomerato: il materiale piu pesantee denso sprofondo nel centro mentre la pietra rosa piu leggera si stabilı sulla superfice; questae una struttura comune per i pianeti terrestri. Dopo la formazione di Vesta, la pietra fusa fluısulla superfice dell’asteroide.

Questo e accaduto piu di quattro bilioni di anni fa e da allora la superfice e rimasta immutata,ad eccezione di sporadici impatti con dei meteoriti. Uno o piu di questi impatti ha laceratola crosta di Vesta; alcuni di questi pezzi sono caduti sulla Terra come meteoriti, che mostranoun’impronta spettrale simile alla composizione della superfice vestiana.

Si e stimato che nell’impatto sia stato asportato circa l’1% dell’intero volume di Vesta, ge-nerando la famiglia di asteroidi di tipo V. Se questo e vero, allora il fatto che siano sopravvissutial bombardamento fino a oggi frammenti di 10 km appartenenti alle suddette classi indica cheil cratere ha soltanto un miliardo di anni di eta o meno. Inoltre sarebbe il sito d’origine dellemeteoriti HED. Infatti, mettendo insieme tutti gli asteroidi di tipo V conosciuti, si arrivereb-be soltanto a circa il 6% del volume asportato, con il resto presumibilmente ridotto in piccoliframmenti.

Alcuni asteroidi della famiglia, come 9969 Braille, sono diventati asteroidi geosecanti (NEO).Analisi spettroscopiche delle immagini riprese dall’Hubble hanno mostrato che questo cratere epenetrato in profondita in diversi strati distinti della crosta e probabilmente ha raggiunto ancheil mantello, come indica la presenza di olivina nelle caratteristiche spettrali.

Sono presenti sulla superfice del protopianeta anche diversi altri grandi crateri, larghi 150km e profondi 7 km. Una zona scura (con bassa albedo) con un diametro di 200 km e statabattezzata Olbers in onore dello scopritore di Vesta, ma questa non appare nella mappa to-pografica come un cratere di recente formazione, e la sua natura e attualmente sconosciuta.Questa “macchia” serve da punto di riferimento per definire gli 0 di longitudine.

Gli emisferi occidentale e orientale mostrano terreni marcatamente differenti. Dalle prelimi-nari analisi spettrali delle immagini del telescopio Hubble, l’emisfero orientale sembra possedereun’elevata albedo, un terreno di antica regolite con altopiani pesantemente craterizzati, e cra-

6 LA MISSIONE DAWN

teri che raggiungono gli strati plutonici piu profondi della crosta. D’altra parte, grandi regionidell’emisfero occidentale sono ricoperte da scuri elementi geologici che si suppone siano basaltisuperficiali.

1.1.2 Cerere

Cerere e l’asteroide piu grande della fascia di asteroidi tra Marte e Giove. Come si puo notaredalla tabella 1.2, ha una massa stimata di 94.5×1019 kg e un raggio equatoriale di 479.6 km.

Grandezza Valore

Raggio equatoriale 479.6 ± 2.4 kmMassa (4.759 ± 0.023) × 10−10 masse solariDensita media 2100 kg/m3

Volume 4.49 108 k3m

Tabella 1.4: Dati fisici di Cerere. Fonte [2] e [11]

Cerere e l’unico asteroide del Sistema Solare interno ad essere considerato un pianeta nano,alla stregua di Plutone, Makemake ed Eris.

Cerere segue un’orbita compresa tra quelle di Marte e Giove, all’interno della cintura prin-cipale degli asteroidi. Completa una rivoluzione intorno al Sole in 4.6 anni. L’orbita presentaun’inclinazione di 10.581 rispetto al piano dell’eclittica (valore piuttosto moderato se confron-tato con i 7 dell’orbita di Mercurio ed i 17 di quella di Plutone) ed un’eccentricita di 0.0774(confrontabile con quella dell’orbita di Marte, pari a 0.09).

Per lungo tempo si e ritenuto Cerere il prototipo di un’omonima famiglia di asteroidi; taleraggruppamento e oggi in disuso, poiche Cerere, avendo per coincidenza parametri orbitali simili,mancava di correlazione fisica con gli altri membri della famiglia. La maggior parte di questogruppo di asteroidi va ora sotto la denominazione di famiglia Gefion, dal nome dell’asteroidedal numero di identificazione piu basso appartenente alla famiglia, 1272 Gefion.

Figura 1.3: Immagine di Cerere vista dal telescopio spaziale Hubble con una risoluzione spaziale di 18km/pixel, distanza da Cerere 1.64 unita astrnomiche e diametro angolare 0.798. [Fonte:http://hubblesite.org]

1.2. LA STRUMENTAZIONE DI BORDO 7

1.2 La strumentazione di bordo

Lo spacecraft e composto da un trittico di strumenti scientifici: una coppia di due telecamera,uno spettrometro ad immagine ed un rivelatore di neutroni e raggi gamma.

Tale sistema di strumenti permettera di caratterizzare al meglio i due obiettivi della missio-ne; in particolare con il sistema di telecamere si potra produrre una mappa topografica dellasuperfice dei due protopianeti. Lo spettrometro ad immagine e il rivelatore di neutroni e raggigamma forniranno informazioni sullo spettro (tra visibile ed infrarosso) e sulle composizionidella superfice dei due asteroidi. Queste informazioni potranno essere correlate alla posizionenella mappa topografica, producendo una mappa mineralogica dei due asteroidi.

Informazioni di carattere industriale saranno ricavate dalle prestazioni del motore a ionipresente sullo spacecraft della missione; la tecnologia adottata per il motore non e stata infattiutilizzata fino a queste distanze dalla terra.

Se risultera efficiente, tale tecnologia aprira nuovi scenari per i motori montati sugli spacecraftdi missione ed utilizzati nell’esplorazione del Sistema Solare.

Lo spacecraft

La strumentazione scientifica e di controllo della missione e inserita in uno spacecraft assemblatodalla Orbital con supporto della NASA-JPL.

Figura 1.4: Schema dello spacecraft presente nella missione Dawn. Sono riportate le posizioni deglistrumenti e gli assi di coordinate interne. [Fonte: NASA]

Le caratteristiche essenziali dello spacecraft possono essere elencate nella seguente lista:

• Dawn ha un sistema di propulsione a ioni, basato sul design validato durante la missioneDeep Space 1 ;

• il sistema di controllo dell’assetto dello spacecraft e stato usato da Orbview, TOPEXPoseidon ocean topography mission e da Far Ultraviolet Spectroscopic Explorer ;

• i pannelli solari sono capaci di produrre piu di 10 kW alla distanza tra Terra e Sole e piudi 1 kW alla distanza massima dal Sole, ossia quando Dawn orbitera attorno a Cerere;

• il software di volo e di tipo modulare, basato sulle conoscenze acquisite da Orbview;

• il cuore della struttura e in graffite composita ed i pannelli sono di alluminio.

8 LA MISSIONE DAWN

Gli assi di coordinate dello spacecraft sono riportati nella figura 1.4, sono orientati in modotale che la fenditura dello spettrometro ad immagine osservi lungo l’asse z e sia orientata lungol’asse y; l’orientazione dell’asse x e lungo la direttrice che collega la parabola di comunicazionecon il piano del radiatore dello spettrometro ed individuato dagli assi z e y.

Il risultato di questa posizione degli strumenti e tale che saranno minime le loro contamina-zioni (spettrometro e camera) provenienti dagli ioni del motore.

Lo spacecraft di Dawn usera/sta usando la propulsione ad ioni prodotta dal suo motoreper ottenere la velocita necessaria per raggiungere Vesta. Inoltre, i motori verranno utilizzatidurante le manovre di avvicinamento e nella traiettoria ad aspirale nelle vicinanze di Vesta. Ilmotore a ioni verra anche impiegato nelle manovre di avvicinamento a Cerere.

La propulsione ad ioni fa uso efficiente del combustibile a bordo, accelerando lo spacecraftad una velocita dieci volte superiore a quella prodotta dai razzi chimici.

I propulsori ionici utilizzano raggi di ioni per creare una spinta dinamica. Sono diversi imetodi per accelerare gli ioni, ma tutti i progetti sfruttano il rapporto tra carica e massa degliioni. Un rapporto opportuno puo produrre elevate velocita nei gas di scarico con differenze dipotenziale relativamente piccole. Questo implica una riduzione della quantita di massa reattiva(o di carburante) richiesta, ma aumenta la quantita di potenza specifica necessaria in confrontoa quella dei razzi chimici. I propulsori ionici sono dunque in grado di ottenere impulsi specificiestremamente alti. Lo svantaggio della poca spinta e una scarsa accelerazione del veicolo poichela massa delle unita di corrente elettrica e direttamente proporzionale alla quantita di energiafornita. Questo rende i propulsori ionici inadatti al lancio di veicoli in orbita, ma ideali per leapplicazioni della propulsione nello spazio.

Sono stati progettati diversi propulsori ionici e tutti quanti si possono riunire in due catego-rie: elettrostatici o elettromagnetici. La differenza principale e il modo in cui vengono acceleratigli ioni.

(a) Schema interno di un motore a ioni (b) Test di un propulsore ionico

Figura 1.5: Schema interno di un motore ad ioni ed immagine di un test di funzionamento. [Fonte: NASA]

I propulsori ionici a griglia elettrostatica usano cumunemente gas di xeno, che non ha normal-mente carica e viene ionizzato bombardandolo con elettroni provenienti da un catodo rovente.Questo bombardamento crea ioni carichi positivamente a causa della perdita di un elettrone.Tali ioni positivi si diffondono poi attraverso la griglia positiva ed entrano nella zona di diffe-renza di potenziale tra la griglia positiva e quella negativa (anodo e catodo rispettivamente).Questa differenza di potenziale accelera gli ioni a velocita elevata, i quali, attraversando la gri-glia negativa, generano la spinta. Un altro catodo nella parte esterna del motore emette altrielettroni che si combinano con gli ioni per neutralizzarli. Questo per evitare che il raggio ionicoritorni verso il veicolo annullando la spinta.

1.2. LA STRUMENTAZIONE DI BORDO 9

Framing Camera

(a) Framing Camera (b) GRaND

Figura 1.6: Immagine di due strumenti a bordo della missione Dawn. Sono riportati uno schema strutturaledi GRaND (Gamma Ray and Neutron Spectrometer for Dawn) e un’immagine reale dellacamera. [Fonte: NASA]

Dawn ha inserito due telecamere nella sua strumentazione di volo. Sono state sviluppate inGermania dal Max Planck Institut fur Sonnensystemforschung (MPS) a Lindau con l’assistenzadel Institut fur Planetenforschung of the (DLR) di Berlino.

Le due camere sono utilizzate per produrre immagini delle superfici sia di Vesta che di Cerere,ma anche per un supporto alla navigazione dello spacecraft. Il CCD (Charge Coupled Device)ha una risoluzione di 1024×1024 pixel, l’ottica ha un FOV (Field Of View) di circa 5.5×5.5,ed una lunghezza focale di 150 mm. La grandezza di un pixel e di 14 µm in modo tale che lascena venga campionata a 9.3 m/pixel da una distanza di 100 km dall’oggetto osservato.

Il design della framing camera e una serie di heritage di piu strumenti: il rivelatore el’elettronica di lettura sono copie di ROLIS Imager, strumento della missione Rosetta; il filtroottico presente e una copia di quello della Halley Multicolour Camera collocata nella missioneGIOTTO e il software di comando e basato sul sistema operativo sviluppato su OSIRIS, suRosetta e su VMC (Venus Monitoring Camera).

GRaND (Gamma Ray and Neutron Spectrometer for Dawn)

GRaND verra utilizzato per creare una mappa delle abbondanze superficiali delle rocce degliasteroidi, degli elementi radiattivi presenti e di quegli elementi volatili (come H, C, N e O) chesono i costituenti del ghiaccio.

Per rispettare gli obbiettivi della missione, GRaND utilizza l’heritage tecnologico delle mis-sioni Lunar Prospector e 2001 Mars Odyssey, includendo uno scintillatore BGO (Germanatodi Bismuto) per garantire un’alta efficienza nella spettroscopia a raggi gamma, mentre utilizzauno scintillatore al Boro per il rivelamento di neutroni veloci.

GRaND include anche un’array di sedici elementi di CdZnTe (CZT), un rivelatore a se-miconduttore per un’alta risoluzione nella spettroscopia a raggi gamma e un sandwiches dirilevatori al boro-litio per separare i differenti neutroni provenienti dai due asteroidi.

Lo strumento compatto, contiene un totale di 21 sensori, l’elettronica di supporto e un digitalsignal processing.

10 LA MISSIONE DAWN

1.3 La traiettoria

Lo spacecraft di Dawn e stato lanciato il 27 settembre 2007. Nel suo viaggio verso Vesta ha giaeffettuato un primo incontro con Marte, nel febraio 2009. Durante questo periodo di tempo,ha effettuate le prime operazioni di controllo sulla strumentazione di bordo. Nell’approccio aMarte, il team di navigazione ha verificato la capacita di controllo sulla navigazione di Dawn,implementando delle procedure per il puntamento dello spacecraft ; e stato la verificata la rispostadella strumentazione di navigazione ad una richiesta di cambiamento di assetto e valutatol’errore nel puntamento di un oggetto.

Il fly by a Marte ha permesso di finalizzare, inoltre, la pipeline di produzione delle sequenzeosservative degli strumenti scientifici di bordo; sono state implementate anche delle procedureper l’analisi dei dati telemetrici, verificando in questo modo l’effettivo funzionamento dei tooldi generazione dei comandi degli strumenti.

Purtroppo le procedure sviluppate non sono state eseguite sullo strumento in volo, perproblematiche subentrate durante le operazioni, ossia nelle manovre dello spacecraft.

Figura 1.7: La traiettoria dello spacecraft durante la missione Dawn: Dawn e stato lanciato nel Settembredel 2007, ha gia effettuato il primo (ed unico) incontro con un corpo del Sistema Solare, Marte.Il prossimo evento vedra l’avvicinamento a Vesta, previsto per la meta del 2011. [Fonte: NASA]

Le successive operazioni di volo prevedono di utilizzare sequenze per il controllo della na-vigazione. Dawn utilizza un motore ad ioni durante i suoi spostamenti la cui caratteristicasostanziale e quella di un’accelerazione costante di Dawn. Valutare il comportamento del moto-re e uno degli scopi della missione; sono previsti dei test per valorizzare e studiare le grandezzefisiche che entrano in gioco durante le manovre dello spacecraft.

In figura 1.7 e rappresentata la traiettoria di tutta la missione Dawn. La navigazione esuddivisa in tratti sostanziali: il primo tratto di approccio all’orbita di Marte, in cui Dawn haeffettuato le prime operazioni funzionali e di controllo di tutta la strumentazione. Dopo il flyby attorno al Pianeta Rosso e durante la fase di approccio a Vesta, il motore a ioni effettuerauna costante accelerazione dello spacecraft, spingendo la tecnologia a ioni verso una zona ancorainesplorata della navigazione.

1.3. LA TRAIETTORIA 11

Nell’Agosto del 2011 e previsto l’arrivo a Vesta; una volta approdato all’orbita dell’asteroideDawn effettuera le prime osservazioni ravvicinate dell’asteroide, raggiungendo quindi il primoscopo della missione: una mappatura di Vesta.

Il secondo scopo, l’incontro con Cerere, verra raggiunto dopo una crociera di tre anni(previsti) verso il protopianeta.

Capitolo 2

VIR: Visible and InfraRed Spectrometer

Sommario

VIR e lo spettrometro ad immagine che combina due canali (visibile ed infrarosso) in un

unico strumento, inserito nello spacecraft della missione Dawn. Questo prodotto proviene

da una rielaborazione (semplificata) di VIRTIS (lo spettrometro della missione Rosetta) e

di VIMS (uno strumento della missione Cassini). I canali spettrali di VIR comprendono due

sensori bidimensionali (un CCD (Charge Coupled Device) per la parte visibile e una IRFPA

(InfraRed Focal Plane Array) per la parte infrarossa) alimentati da una elettronica di base

che, oltre alla fornitura di potenza, amministra le funzionalita dello strumento. La gestione

di VIR avviene utilizzando dei macrocomandi che configurano lo strumento nei suoi stati

operativi.

Lo spettrometro ad immagine VIR comprende in un unico strumento due diversi canalispettrali: la parte visibile nell’intervallo spettrale 0.25÷1.0 µm e la zona infrarossa nel range0.95÷5.0 µm.

Il campo di vista dello strumento si sviluppa in un quadrato angolare di 64 µrad per lato,difatti lo strumento prevede al suo interno un motore passo-passo che permette di muovereuno specchietto interno (scan mirror) in diverse posizioni: l’escursione massima del motorecomporta 256 posizioni con un angolo per step di 250 µm ; la fenditura di ingresso dei fotoniha una grandezza angolare di 250 µrad x 64 µrad.

I modi operativi per le osservazioni dello strumento prevedono un taglio della finestra massi-ma del campo di vista: la scena osservata dipende, in primo luogo dai passi comandati al motorepasso-passo (256 come limite superiore), ma anche dalla qualita dell’immagine impostata dalmodo operativo. Come si vedra in seguito, i modi operativi sono dieci e si distinguono peril tipo di binning o windowing utilizzato nei pixel : ci sono modi operativi che prevedono undegradamento dell’immagine in quanto accoppiano pixel in un operazione di media del segnale(binning), altri che prevedono un taglio dell’immagine acquisita (windowing). Queste operazio-ni vengono effettuate per avere un minor quantitativo di dati da memorizzare, esaltando dellequalita dell’immagine a scapito di altre.

I due sensori hanno una forma rettangolare di 270x438 pixel per lo IRFPA (InfraRed FocalPlane Array) ed 256x432 pixel per il CCD (Charge Coupled Device): il numero di pixel delCCD corrisponde alla grandezza massima delle immagini spettrali (sia della parte visibile cheper quella infrarossa) che si ottengono dopo l’acquisizione dello strumento (vedi paragrafo 2.2);difatti l’infrarosso per quanto riguarda la grandezza dell’immagine in pixel e adattato al visibile.

La grandezza angolare di un pixel e data dal campionamento della fenditura in 256 parti;poiche la grandezza angolare di questa e di 64 mrad, allora un pixel ha angolarmente 250µrad per lato.

Le principali caratteristiche dei due canali spettrali sono riportate nella tabella 2.1: l’otticadello strumento permette la gestione separata delle immagini provenienti dalla fenditura per idue range spettrali, per cui l’immagine della scena osservata puo essere o solo nell’infrarosso osolo del visibile o in tutto lo spettro osservativo dello strumento.

Questa separazione facilita la calibrazione interna dello strumento: VIR e dotato di duelampade calibrate (una per ogni canale spettrale) il cui utilizzo serve per esaminare il rumore

12

2.1. LA MAIN ELECTRONIC 13

che, per quell’osservazione, lo strumento risente dall’ambiente; rumore di natura strumentaledovuto agli elettroni spuri presenti nell’elettronica dei sensori.

VIR Visible VIR InfraRed

Spectral Range (µm) 0.25÷1.0 0.95÷5.0Spectral Resolution (nm/pix) 100÷380 70÷360Spectral Sampling Interval (nm/pix) ≤2 ≤10Field of View (mrad x mrad) 64 (slit) x 64 (scan)Max Spatial Resolution (µrad) 250 x 250

Telescope Shafer TelescopePupil Diameter (mm) 47.5Imaging F# 5.6 3.2Etendue (m2sr) 3.6x10−11 7.5x10−11

Slit Dimension (mm) 0.038 x 9.53

Spectrometer Offner RelayDetectors Thomson TH7896 CCD CdHgTe

Sensitivity Area Format 508 x 1024 270 x 436Pixel Pitch (µm) 19 38Operating temp. (K) 150 to 190 65 to 90Spectral range (µm) 0.25 to 1.05 0.95 to 5.0Mean Dark Current < 1 el. s−1 <10 fA @ 70K

Radiometric Resolution SNR >100

Radiometric AccuracyAbsolute <20% <20%Relative <1% <1%

Tabella 2.1: Caratteristiche e prestazioni di VIR: sono riportati gli intervalli spettrali dei due canali, lecaratteristiche ottiche dello strumento e la grandezza del pixel dei due sensori. [Fonte: [3],[9], [8]]

In particolare, per utilizzare il canale infrarosso bisogna raffreddare lo IRFPA fino a circa75 K, questo implica una sensibilita alle variazioni delle correnti nell’elettronica.

Lo schema a blocchi dell’elttronica presente in VIR e rappresentato nella figura 2.1 ecomprende: un modulo ottico, un’elettronica di prossimita ed una Main Electronic (ME).

Il primo contiene l’ottica dello strumento con la relativa elettronica dei sensori, il secondomodulo e un’interfaccia che permette le comunicazioni, da parte della ME, con i due sensori e leparti meccaniche di VIR. La ME e il cuore dello strumento, in cui risiede il software di gestioneche garantisce il corretto funzionamento di VIR.

2.1 La Main Electronic

La Main Electronic e costituita da tre blocchi: un Cryo Cooler Controller (CCE), una DigitalProcessing Unit (DPU) ed una Solid State Mass Memory (SSMM), si veda la figura 2.1.

La CCE garantisce il raffreddamento del modulo ottico, ovvero del sensore infrarosso: ilsegnale uscente dall’IRFPA dipende fortemente dalla temperatura a cui opera il sensore, glielettroni prodotti dell’interazione ambientale provocano un aumento del segnale di uscita del

14 VIR: VISIBLE AND INFRARED SPECTROMETER

sensore, causandone la saturazione. Il raffreddamento avviene utilizzando un ciclo di Stirlinginverso: la dispersione del calore verso l’esterno dello strumento e garantita da un radiatore incontatto termico con l’ambiente spaziale.

La MMSS e composta da due moduli di 3 Gibit, ogniuno dei quali e costituito da tre banchidi 1024 pagine da 1 Mibit: si puo impostare per l’utilizzo completo dei banchi, o di una loroparte.

La DPU e il processore che gestisce l’evoluzione dello strumento in ogni sua modalita: per-mette la comunicazione con la Proximity Electronic Module (PEM) per la gestione dei due canalispettrali, camanda la CCE ed amministra la memoria dello strumento.

Optical ModuleMain Electronic

PEM

IR FP

CRYO VIS FPCCE

DPU

SSMM

PWR BUS

1553 I/F

Figura 2.1: Diagramma a blocchi della Main Electronic: questa e composta da una Digital Processing Unit(DPU), da una Solid State Mass Memory (SSMM) e da un Cryo Coolere Controller (CCE).Il Proximity Electronic Module (PEM) contine l’elettronica necessaria alla ME per interagirecon i due detector, con lo scan mirror e con il cover. Le comunicazioni con lo spacecraft sonogarantite dallo standard MIL STD-1553 e vengono amministrate dalla DPU. [Fonte: [3], [9],[8]]

Riassumendo i compiti della ME riguardano la fornitura di potenza ai due piani focali, lagestione delle funzionalita dello strumento come il controllo del cryo-cooler per il raffreddamentoe l’attuazione dei movimenti meccanici del cover e dello shutter.

Inoltre, la ME, attraverso la DPU, garantisce le comunicazioni verso lo spacecraft attraversolo standard MIL STD-1553: tale standard definisce le caratteristiche meccaniche, elettrichee funzionali del bus seriale di comunicazione, e viene usata in molte applicazioni, anche nonmilitari, come protocollo di comunicazione.

L’interfaccia STD-1553 permette allo spacecraft di fornire i comandi allo strumento e diottenerne le risposte, come i dati scientifici prodotti (le immagini spettrali provenienti dai duecanali) e le telemetrie delle operazioni svolte da VIR (quali la temperatura dei piani focali o dialtre parti dello strumento, oppure lo stato di attuazione di un comando).

La ME ha il compito di processare i dati grezzi prodotti, ossia formattarli e/o comprimerliprima che vengano spediti allo spacecraft.

Tali dati vengono impacchettati in streaming di vario tipo a seconda del significato del datoda trasmettere: si possono avere flussi di soli dati scientifici (i valori in Digital Number delleeccitazioni dei pixel dei due piani focali) con annessi le variabili di stato. Oppure stream di datitelemetrici, in cui viene riportato lo stato e i valori delle grandezze di controllo dello strumento.Inoltre, vengono prodotte dalla ME informazioni su eventuali errori verificatisi durante unasequenza di acquisizione.

VIR e dotato di una memoria statica non volatile, il cui compito e la conservazione dei alcuniparametri fondamentali dello strumento; ad esempio, nel processo di calibrazione interna con lelampade, i tempi caratteristici di integrazione del segnale proveniente da queste sollecitazioni

2.1. LA MAIN ELECTRONIC 15

sono salvati nei registri di tale memoria: le operazioni di calibrazione sono state definite in fasedi montaggio dello strumento e rimangono tali per tutta la durata della missione, ragion percuii parametri caratteristici di queste operazioni sono salvate nella memoria statica dei parametri.Tuttavia, tale memoria puo essere aggiornata: l’interfaccia MIL STD-1553 permette di scaricareod impostare questa memoria permanente dello strumento.

La Digital Processing Unit

Il diagramma a blocchi della Digital Processing Unit (DPU) e rappresentato in figura 2.2:tale unita comprende una Central Process Unit (CPU), una Data Acquisition Unit (DAL), uncontroller per le comunicazioni con il bus 1553 e una serie di memorie ausiliari.

La CPU contiene un processore SPARC (Scalable Processor ARChitecture) con architetturaRISC (Reduced Instruction Set Computer) a 32 bit: la filosofia RISC implica il processamentodi istruzioni semplici che hanno lo stesso tempo di esecuzione; in particolare la singola istruzioneviene eseguita in un ciclo di clock del temporizzatore. Tale processore esegue un alto numero dioperazioni al secondo (il temporizzatore delle opeazioni ha una frequenza di 22 MHz) ed e statoappositamente costruito per applicazioni spaziali, provvedendo alla simultanea correzione deglieventuali errori durante il processo delle operazioni; tollera una dose radiativa di 300 krad.

1553 I/F

CONTROLLER

PROM SRAM EEPROMIR

SRAM

VIS

SRAM

OSC.

CPU

IR Data

Channel

VIS Data

Channel

DATA

ACQUISITION

LOGIC

CCE I/F

1553 I/F

Figura 2.2: Diagramma a blocchi della Digital Processing Unit : l’unita si compone di un DAL (DataAcquisition Logic) per la gestione dei piani focali, di un controller per le comunicazioni con lospacecraft e di una Central Process Unit che gestisce le operazioni dello strumento. Le memorieEEPROM ed PROM contengono il software di gestione e di inizializzazione (rispettivamente)di VIR. [Fonte: [3], [9], [8]]

Il DAL e basato su dispositivi FPGA (Field Programmable Gate Array) e gestisce le ac-quisizioni dai due canali spettrali con l’ausilio di due memorie volatili di tipo SRAM (StaticRandom Access Memory) che vengono utilizzate come buffer per i dati. Inoltre, questo modulocomanda le operazioni della CCE.

Le comunicazioni verso la porta 1553 dello spacecraft sono organizzate dal controller : questoriceve i macrocomandi dallo spacecraft sulle operazioni da eseguire, spedisce sul Virtual Recorder(una memoria interna dello spacecraft) le acquisizioni formattate provenienti dal DAL.

Il sistema di calcolo utilizza tre tipi di memorie:

• PROM (Programmable Read Only Memory): contiene il codice per l’inizializzazione deidue canali spettrali e per la gestione del collegamento tra le memorie EEPROM e RAM.

• EEPROM (Electrically Erasable and Programmable Read Only Memory): viene utilizzataper memorizzare il codice applicativo (il software dello strumento, ovvero i macrocomandiper la gestione dello strumento).

16 VIR: VISIBLE AND INFRARED SPECTROMETER

• RAM (Random Access Memory): e una memoria di appoggio per il caricamento delleprocedure contenute nella PROM.

All’accensione dei sensori o dopo un comando di azzeramento, si esegue automaticamente ilcaricamento delle procedure contenute nella PROM in una parte della RAM, e viene attivatala procedura per: eseguire un controllo sullo stato della EEPROM e della RAM, caricare ilsoftware dalla EEPROM alla RAM, attivare i servizi di mantenimento, far entrare lo strumentonello stato di STANDBY.

La memoria a stato solido

La memoria a stato solido di VIR e organizzata (vedi figura 2.3) in due moduli da 3 Gibit l’uno.Ciascun modulo comprende un banco da 1 Gibit, suddiviso in 1024 pagine da 1 Mibit.

Le configurazioni possibili della Mass Memory sono sei e comprendono diversi accoppiamentifra i banchi di memoria.

A_Bank_1

A_Bank_0

A_Bank_2

Module A

B_Bank_0

B_Bank_1

B_Bank_2

Module B

Solid State Mass Memory

Figura 2.3: Organizzazione della memoria a stato solido di VIR: la memoria e composta da due moduli contre banchi; tale suddivisione permette la gestione della ridondanza della memoria, ossia di uncontrollo sugli eventuali errori derivanti dall’interazione della Mass Memory con le radiazionicosmiche. [Fonte: [3], [9], [8]]

La configurazione di base prevede una triplice ridondanza tra i banchi di un modulo: leinformazioni sono immagazzinate in ogni banco di un modulo, ossia per il modulo A nei banchiA Bank 0, A Bank 1 e A Bank 2; l’estrazione del dato prevede una verifica che in tutti e trei banchi ci sia la stessa informazione, nel caso questo non avvenisse viene estratto il dato cheha piu ridondanza nei tre banchi. Tale operazione avviene per tutti e due i moduli; si ottienequindi una memoria da 2 Gibit ridondata tre volte.

Un’altra possibilita prevede la completa non ridondanza: ogni banco di memoria e comple-tamente disaccoppiato dagli altri, non avviene nessuna ridondanza del dato; conseguentementesi ha una memoria da 6 Gibit.

La differenza tra le due configurazioni riguarda la protezione della memoria: nel primo casola protezione e completa, mentre nel secondo non e prevista protezione del dato.1

Un’altra configurazione prevede la protezione di un modulo (sempre con ridondanza tre):in questo caso la memorizzazione avviene in un solo modulo (A oppure B), con l’altro moduloinutilizzato; questa impostazione della memoria prevede 1 Gibit.

L’ultima impostazione riguarda un solo modulo non ridondato, che porta all’utilizzo di unmassimo di 3 Gibit.

1Per protezione si intende la possibilita di correggere eventuali errori nei dati acquisiti derivanti dall’interazionedella memoria con i raggi cosmici.

2.2. IL SISTEMA OTTICO 17

2.2 Il sistema ottico

Il sistema ottico di VIR comprende un telescopio Shafer e uno spettrometro Offner; l’ottica erealizzata esclusivamente da specchi sferici: sia il telescopio che lo spettrometro utilizzano unrelay Offner, realizzato con due specchi sferici e concentrici, fuori asse ottico, i quali produconoun’immagine piatta, reale, non ingrandita e priva di distorsioni. La simmetria del sistema otticocomporta una diminuzione del coma e della distorzione.

Il taglio degli specchi e rettangolare, allo scopo di ridurre il piu possibile massa e volume diogni componente.

Il telescopio Shafer

Il telescopio di tipo Shafer e una rielaborazione dello schema studiato da Burch, il quale, nelloschema originale, aveva previsto due specchi sferici concentrici. Sebbene corretto per aberrazio-ne, coma e astigmatismo, il telescopio Burch presenta, comunque, un campo convesso ed unospecchio secondario piu grande del primario.

Nello schema Shafer (figura 2.4), i due specchi sono invertiti: nello Shafer si adotta untelescopio Burch invertente, in cui M1 e piu grande di M2; l’immagine creata e quindi virtualee si posiziona dietro lo specchio secondaro (M2).

fieldstop M4 M5

M3

M2

image plane

Slit

FOV

M1

Figura 2.4: Schema ottico semplificato del telescopio Shafer. Si individuano due strutture ottiche: la primacomposta da un telescopio Burch invertito (specchi M1 e M2), la seconda da un Offner relay(specchi M4 e M5), raccordati dallo specchio M3. Il field stop garantisce la correzione del comadel telescopio Burch invertito. [Fonte: [1]]

Il telescopio Burch invertente e accoppiato ad un Offner relay, composto da due specchisferici e concentrici fuori asse che forniscono un’immagine piatta, reale, non ingrandita e privadi distorzioni. Il coma optical aberration e eliminato mettendo un field stop su M5 vicino alcentro di curvatura dello specchio primario, rendendo il telescopio monocentrico. Il risultato e untelescopio realizzato da soli specchi sferici che mantiene limitata la diffrazione in un’apprezzabileintervallo spettrale e su tutta la direzione della fenditura, ovvero il piano dell’immagine in figura2.4 che rappresenta il raccordo ottico con lo spettrometro Offner.

Il campo di vista di VIR e realizzato ruotando lo specchio primario M1 attorno ad un asse(convenzionalmente l’asse y dello spacecraft) ortogonale al piano del foglio della figura 2.4 eparallelo alla fenditura di ingresso.

L’asse z dello spacecraft e diretto ortogonalmente al piano della fenditura di ingresso, mentreil verso dell’asse x e tale da puntare sull’antenna dello spacecraft (si veda figura 1.4).

18 VIR: VISIBLE AND INFRARED SPECTROMETER

Lo spettrometro Offner

Lo spettrometro Offner e costituito da due soli elementi ed ha una struttura molto simile aquella del relay descritto nella seconda parte della figura 2.4. L’unica divergenza e imputabilel’utilizzo di un reticolo (M7) al posto dello specchio secondario del relay (M5), si veda figura2.5.

Il reticolo, realizzato dalla Zeiss (vedi figura 2.5(b)), risulta inciso olograficamente su diun supporto convesso, con incisioni di forma rettangolare a passo costante che, oltre ad unamaggiore facilita di realizzazione, garantiscono una riduzione della radiazione fuori campo.

Le incisioni, inoltre, hanno profondita differenti per fornire segnali di diversa ampiezza indiverse lunghezze d’onda. Tale accorgimento serve per cercare di compensare l’andamento dellacurva di emissione dello spettro solare che presenta valori bassi agli estremi ed alti nella zonacentrale. Questo, al fine di rendere piu piatta possibile la risposta dello strumento.

M6

Slit

Grating

M7

FPAs

(a) Schema ottico dello spettrometro Offner (b) Foto del grating

Figura 2.5: Schema ottico semplificato dello spettrometro Offner e foto del grating : la struttura dellospettrometro Offner e simile al relay presente nello Shafer di figura 2.4, l’unica distinzioneriguarda l’utilizzo di un grating diffrattivo (b) al posto dello specchio M5 del telescopio. In(b) si possono osservare le incisioni olografiche del reticolo. [Fonte: [1]]

La radiazione elettromagnetica incidente sul reticolo (M7), quindi, viene scomposta nelle suecomponenti fondamentali e, dopo essere stata rimessa nuovamente sul primario (M6), viene in-viata ai due rivelatori (FPAs in figura 2.5). Il risultato e uno spettro bidimensionale. All’internodi tale spettro ogni colonna e l’immagine della fenditura ad una precisa lunghezza d’onda.

Esaminando una singola riga dello spettro, ogni pixel produce un segnale elettrico propor-zionale all’intensita della radiazione da esso raccolta.

La temperatura di lavoro dell’ottica e compresa tra -10.0C e +20.0C, mentre quella dellascatola dell’elettronica di gestione risulta compresa tra +20C e +50C.

La grandezza dell’immagine

L’immagine spettrale che si ricava in uscita dai due canali dello strumento, o meglio la lorostruttura in pixel, e rappresentata in figura 2.6: a seconda dei modi di acquisizione riportati intabella 2.2 il full frame puo essere suddiviso in strutture di diversa grandezza.

L’unita strutturale piu piccola e rappresentata dal subframe con 64 pixel spaziali e 144pixel spettrali: i modi operativi di acquisizione che riportano tale struttura sono indicati daL SPE L SPA F per il full frame e L SPE H SPA Q per il quater frame.

Le altre modalita operative dei sensori sono un multiplo del subframe: l’acquisizione com-

2.2. IL SISTEMA OTTICO 19

256 S

pat

ial

144 pixel

432 Spectral

432 Spectral

Full Frame Quarter Frame 64 S

patial

64 pixel

Subframe

Figura 2.6: Rappresentazione schematica di un frame: l’immagine spettrale completa presente su di unsensore e data dal full frame, composto da 432×256 pixel ; si puo impostare anche un’acquisi-zione parziale, con 432×64 pixel. Viene indicato anche uno schema che definisce il subframe.[Fonte: [3], [9], [8]]

Acquisizione completaRisoluzione binning pixel subframe

H SPE H SPA F no 432x256 12H SPE L SPA F 4 spaziali 432x64 3L SPE H SPA F 3 spettrali 144x256 4L SPE L SPA F 4 spaziali e 3 spettrali 144x64 1

Acquisizione parzialeRisoluzione binning pixel subframe

H SPE H SPA Q no 432x64 3L SPE H SPA Q 3 spettrali 144x64 1

Tabella 2.2: Grandezza dell’immagine in funzione della risoluzione che si puo impostare durante un’acqui-sizione: le risoluzioni sono schematizzate a senconda del windowing (il quarto o il totale dellafenditura) e riportano il binning della risoluzione. [Fonte: [3], [9], [8]]

pleta dell’intero frame e rappresentata da 12 subframe per un massimo di 432×256 pixel ; lealtre modalita dipendono dal binning utilizzato.

Il binning e un processo durante il quale vengono mediati i segnali provenienti da piu pixel :nel caso di binning, ad esempio del modo operativo H SPE L SPA F, lungo la direzione spazialedel sensore l’immagine e degradata mediando i segnali provenienti da quattro pixel contigui, ilrisultato e un’immagine di 432×64 pixel ossia composta da tre subframe (si veda figura 2.6 etabella 2.2).

La necessita del binning si deve alla possibilita di diminuire il data volume durante le fasidi acquisizioni, in casi in cui la particolarita dell’orbita di acquisizione pone dei vincoli nelleoperazioni. Identica motivazione per il processo di windowing nel passaggio tra l’acquisizionecompleta e parziale.

Nel windowing l’immagine spettrale viene prodotta considerando solo un quarto della di-mensione lineare piu grande della fenditura, difatti il passaggio dal full frame al quarter frameproduce un’immagine di 432×64 pixel. A questo taglio si puo aggingere anche un binning,

20 VIR: VISIBLE AND INFRARED SPECTROMETER

producendo in tal caso la risoluzione L SPE H SPA Q in tabella 2.2.

2.3 Il software di gestione

La gestione dello strumento viene eseguita utilizzando una ventina di macrocomandi, il cuielenco e indicato nella tabella 2.7.

I macrocomandi possono essere equiparati alle macro di un linguaggio assembler2: sonocomposti da sequenze di parole che rappresentano un’azione del processore. Il limitato elencodi macrocomandi, permette la gestione completa delle operazoni di VIR.

Si possono suddividere i macrocomandi in quattro categorie: una prima categoria contienele direttive per la gestione della memoria presente in VIR, una seconda imposta lo strumentoin uno dei modi operativi previsti (si veda il paragrafo 2.4), una terza categoria permette diimpostare i parametri per il funzionamento dello strumento, l’ultimo gruppo di macro gestiscele attuazioni delle meccaniche e tutti quei servizi di carattere generale.

Alcuni macrocomandi eseguono operazioni particolarmente delicate, per questo vengonochiamati comandi critici. Per tali comandi e prevista una procedura di sicurezza: ogni voltache un comando critico deve essere eseguito all’operatore e richiesta una conferma medianteVIR TC CONFIRM. Questo grantisce allo strumento che l’operatore effettivamente deve ese-guire quel comando critico; se tale verifica non viene eseguita entro una trentina di secondidall’invio del comando critico, quest’ultimo viene rifiutato da VIR e non eseguito. Le criti-cita sono presenti per i comandi: VIR TC MM TEST, VIR TC ANNEALING, VIR TC ECA,VIR TC MM CONF.

La gestione della memoria (PROM, EEPROM e RAM in figura 2.2) e lo scopo principaledel primo gruppo dei macrocomadi: tale memoria puo essere letta (VIR TC MEM DUMP),cambiata (VIR TC MEM LOAD), controllata (VIR MEM CHECK), oppure si puo trasferirneil contenuto della EEPROM nella RAM (VIR LOAD EEPROM SW).

I cambiamenti di modo dello strumento vengono gestiti dal secondo gruppo di comandi.Per modo si intende uno stato ben definito dello strumento (si veda il paragrafo 2.4). I modiprincipali ossia quelli che vengono maggiormente eseguiti in un’osservazione di VIR riguardano:

• la calibrazione interna dello strumento, gestita da comando VIR CALIBRATION; taleprocedura usa le lampade interne come stimolo per le sue operazioni;

• le acquisizioni durante le osservazioni scientifiche: sono implementate dal comando VIR SCIENCE;

• il download dei dati prodotti nelle acquisizioni: e comandato da VIR MM DUMP.

La gestione delle meccaniche di VIR sono garantite dai comandi di servizio generale. Ladirettiva VIR TC COVER permette l’apertura e chiusura del meccanismo di protezione ester-no dello strumento, mentre il comando VIR TC SHUTTER consente l’apertura e la chiusuradell’otturatore (shutter). Le lampade interne possono essere accese e spente all’occorrenza dalmacrocomando VIR TC LAMP. La configurazione della memoria di massa di VIR puo essereimpostata da VIR TC MM CONF.

Il processo di calibrazione interna

VIR al suo interno e dotato di due lampade il cui spettro e adattato per i due canali. Questelampade sono utilizzate per il processo di calibrazione interna dello strumento, che avvienesecondo le fasi riportate in tabella 2.3. In tutte e sette le fasi lo strumento esegue cinque

2Un assembler trasforma delle istruzioni mnemoniche in parole macchina (ossia, nel linguaggio del processoredella macchina elettronica).

2.3. IL SOFTWARE DI GESTIONE 21

acquisizioni per ogni canale, per cui si hanno un totale di trentacinque frame3 per canale allafine del processo di calibrazione.

Fase # Cover Shutter L IR L VIS Trep(s) modo

1 chiuso aperto spenta spenta 20 pixel noise2 chiuso aperto spenta spenta 20 Background VIR+IR3 chiuso chiuso spenta spenta 20 Dark VIS+IR4 chiuso aperto accesa spenta 22 IR acquisition5 chiuso aperto spenta accesa 20 VIS acquisition6 chiuso chiuso spenta spenta 20 Dark VIS+IR7 chiuso aperto spenta spenta 20 Background VIS+IR

Tabella 2.3: Fasi della calibrazione interna di VIR: questa operazione puo avvenire con due modalita: laprima chiamata calibrazione completa prevede tutte e sette le fasi in tabella, mentre unaseconda modalita, ridotta, considera solo le fasi 2 e 3, con le due lampade spente (indicatecon L VIS e L IR). [Fonte: [3], [9], [8]]

Nella prima fase si caratterizza il rumore elettronico che i due sensori producono a causa della tempe-ratura a cui lo strumento e sottoposto. Nella seconda e settima fase si esegue una misura della radiazioneambientale con l’otturatore (shutter) aperto. Nella terza e sesta fase si esegue una valorizzazione dellacorrente di buio dei due sensori. Nelle fasi intermedie si accendono in successione le due lampade peravere un riferimento osservativo calibrato. Durante tutto il processo il cover (il meccanismo di protezionedall’esterno) dello strumento e chiuso, per evitare una contaminazione dall’ambiente esterno.

I processi di calibrazione interna dello strumento sono due: una calibrazione completa che rispettail piano riportato in tabella 2.3, ed una calibrazione ridotta in cui si eseguono solo le fasi 2 e 3 dellasequenza di calibrazione, ossia quelle relative alla caratterizzazione della radiazione ambientale e dellacorrente di buio dei sensori.

L’algoritmo per l’acquisizione scientifica

La gestione dello strumento durante le fasi di acquisizione scientifica si sviluppa secondo il seguentealgoritmo:

• impostazione dei parametri osservativi: questi sono caricati nei registri interni di VIR e vengonoutilizzati per le acquisizioni;

• acquisizione delle immagini spettrali: si impostano le operazioni di acquisizione secondo i parametripresenti nei registri interni di VIR

• download dei dati: se la memoria di VIR e occupata da dati, viene scaricata sulla memoria dellospacecraft per la successiva spedizione alla strumentazione a terra.

L’impostazione dei parametri osservativi viene gestita dal comando VIR TC SCIENCE PARAMS,il quale permette di utilizzare quattordici valori, riporati in tabella 2.4.

Questi parametri individuano esattamente come lo strumento deve operare. Il parametro submodeimposta la risoluzione dell’immagine spettrale, i cui valori sono riportati in tabella 2.2. I tempi diesposizione dei due canali spettrali e la frequenza temporale fra un’acquisizione e l’altra non possonoessere scelti in modo scorrelato, in quanto durante l’acquisizione bisogna dar tempo alla Main Electronicdi elaborate il dato acquisisto. Di norma l’intervallo di tempo tra l’integration time piu lungo e lafrequenza temporale dell’acquisizioni e di circa 2 s.

I delay time servono per sincronizzare i due canali spettrali; di norma i tempi di integrazione peri due canali spettrali sono diversi, per centrare temporalmente le loro acquisizioni, in modo che i duecanali osservino la stessa scena, si utilizzano i due shift temporali.

L’utilizzo o meno della scannerizzazione con lo specchietto e garantito dal parametro scan mirroractuation: se attivato lo specchietto esegue uno dei dieci modi precaricati ed impostato dal parametro

3Per frame si intende un’acquisizione, ossia i pixel di dati provenienti da un sensore per un’acquisizione. Siveda figura 2.6.

22 VIR: VISIBLE AND INFRARED SPECTROMETER

Parametro Descrizione

Submode Indica la grandezza del frame dell’acquisizioneRepetition time Imposta la frequenza temporale con cui eseguire

l’acquisizioneDark acquisition period Rappresenta il periodo in frame con cui acquisire una

darkIR integration time Riporta il tempo di integrazione del canale infrarossoIR delay time Indica l’intervallo di tempo dopo il quale si procede

all’acquisizione del canale infrarossaVIS integration time Riporta il tempo di integrazione del canale visibileVIS delay time Indica l’intervallo di tempo dopo il quale si procede

all’acquisizione del canale visibieNumber of frame Rappresenta il numero di acquisizioni per canaleSpectral channel Imposta il numero di canali per l’acquisizioneSpectral range Indica se prendere tutti i subframe o una parteScan mirror actuation Imposta l’utilizzo dello specchietto di scannerizzazioneScan mirror mode Indica, in caso di utilizzo, il numero di passi della

scannerizzazione con lo specchiettoTelemetry science Riporta la possibilita di un’acquisizione con scarico

diretto nella memoria dello spacecraftCompression type In caso di scarico sul Virtual Recorder, imposta il tipo di

compressione.

Tabella 2.4: Elenco dei parametri gestiti da VIR TC SCIENCE PARAMS: questo comando permette diimpostare i tempi di integrazione per i due canali spettrali, la frequenza con cui si acquisi-scono le immagini, il numero di acquisizioni e la possibilita di immagazzinare i dati acquisitidirettamente nel Virtual Recorder. [Fonte: [3], [9], [8]]

scan mirror mode. Questi modi prevedono degli step del motorino di scannerizzazione caratteristici,come la scannerizzazione completa (256 step), ad un quarto (64 step) oppure ad un ottavo (32 step).

Si puo inoltre impostare una scannerizzazione non standard, utilizzando il comando VIR TC SET PARAMS,il quale ha tre parametri di ingresso per la scannerizzazione: l’angolo iniziale, quello finale e il passoangolare della scannerizzazione.

Parametro molto importante e il telemetry science che indica a VIR dove scaricare i dati acquisiti.Si puo prevedere di fare il download dei dati direttamente sulla memoria dello spacecraft, oppure diconservare le informazioni nella mass memory di VIR. Nel primo caso, per dare a VIR il tempo necessarioa processare i dati (compressione e/o impacchettamento delle informazioni) la frequenza temporale concui si acquisiscono i frame non puo essere inferiore a 15 s.

Nel secondo caso per aver accesso ai dati spettrali bisogna effettuare il download della Mass Memorynel Virtula Recorder con il comando VIR MM DUMP; si hanno due possibilita per il download dei dati:VIR puo comprimere i dati nel passaggio fra la Mass Memory e il Virtual Recorder, oppure tale processodi compressione non avviene. La compressione e di tipo lossless, ossia senza perdita di informazione; nonsi entra in merito all’algoritmo di compressione.

2.4 Il diagramma di stato

Si definisce stato (o modo operativo) di VIR, una particolare impostazione dello strumento atta a svolgeredelle operazioni ben definite. In figura 2.7 e rappresentato il diagramma di stato, ossia le possibilivariazioni dei modi durante le operazioni di VIR.

Il diagramma 2.7 identifica undici modi operativi per VIR con diverse transizioni, individuate da

2.4. IL DIAGRAMMA DI STATO 23

SCIENCE

COOLDOWN

SAFE

MMTEST

MMDUMP

ECA

CALIBRATION

STANDBY

INITTEST MAINTENANCE

PROM software

EEPROM software

ANNEALING

VIR_TC_RESET

Figura 2.7: Diagramma di stato di VIR con le possibili transizioni. Nel diagramma sono identificati undicimodi operativi per VIR, le diverse transizioni sono indicate da linee direzionali: si possono averetransizioni bidirezionali come le operazioni che portano lo strumento nello stato di STANDBY,oppure monodirezionali come le transizioni nel modo di SAFE. [Fonte: [3], [9], [8]]

linee direzionali: si possono avere transizioni bidirezionali come le operazioni che portano lo strumentonello stato di STANDBY, oppure monodirezionali come le transizioni nel modo di SAFE.

Le transizioni fra i modi operativi sono gestite ed implementate dai macrocomandi di tabella 2.7: adesempio la fine regolare di un comando per l’acquisizione scientifica (VIR SCIENCE) e uno STANDBY,ma in caso di anomalie imputabili ad errori critici lo strumento e portato nello stato di SAFE.

Possiamo individuare due classi fondamentali per i modi di VIR: i modi di tipo PROM, che racchiu-dono le funzionalita primarie di VIR, come l’inizializzazione dello strumento e il controllo della MainElectronic, e i modi di tipo EEPROM, che includono le operazioni di funzionamento secondario come lacalibrazione interna, il raffreddamento e la verifica della memoria di massa di VIR.

Come individuano i nomi, le funzionalita, ossia gli algoritmi esecutivi dello strumento, sono memo-rizzate nella PROM (funzionalita primarie) e nella EEPROM (funzionalita secondarie), come descrittonel paragrafo 2.1 per il funzionamento della Digital Processing Unit.

Identificazione dei modi operativi

Una caratterizzazione dei modi operativi (o stati) dello strumento e data in tabella 2.5, le transizioni trai modi sono solo quelle in figura 2.7: notare come sia possibile, in generale, transire da uno stato ad unaltro solo attraverso il passaggio per il modo di STANDBY.

Le flight rules di VIR

La gestione dello strumento e effettuata attraverso delle specifiche che si affronteranno nel capitolo 3; lesequenze generate devono rispettare delle regole per il corretto funzionamento dello strumento. In tabella2.6, sono riportate alcune informazioni sulle principali regole per la stesura delle sequenze operative.

Esistono altre regole rispetto a quelle riportate in tabella 2.6 che regolamentano l’assetto che devemantenere lo spacecraft affinche VIR non subisca gravi lesioni, ad esempio il cover deve mantenersi chiusodurante il thrusting di Dawn verso Vesta per evitare la contaminazione ottica dello strumento dovuta aimotori a ioni dello spacecraft.

In questa sede si esamineranno solo le regole riportate in tabella 2.6. La prima regola in tabella,non permette di utilizzare lo strumento durante la fase di raffreddamento del piano focale infrarosso, perevitare i disturbi sul sensore IR dovuti alla temperatura non idonea a cui lo strumento lavorerebbe.

24 VIR: VISIBLE AND INFRARED SPECTROMETER

Modo operativo Descrizione

INITTEST Lo strumento viene acceso ed inizializzato, il software della EE-PROM viene caricato e lo strumento effettua una transizionenello stato di SAFE o di MAINTENANCE

MAINTENANCE In questo stato lo strumento puo accettare i comandi del me-mory services; il software della EEPROM viene caricato e lostrumento e posto nel modo di SAFE.

STANDBY Indica lo stato di attesa dello strumento, e la naturaleconclusione di qualsiesi operazione.

SCIENCE Individua il modo di acquisizione dei canali spettrali del visibilee dell’infrarosso, le informazioni vengono immagazzinate nellamass memory o nel Virtual Recorder.

CALIBRATION Lo strumento esegue la calibrazione interna (completa o ri-dotta), producendo dati immagazzinati nella memoria dimassa.

MMDUMP Le informazioni della memoria di massa (strutturate come FI-FO) vengono scaricate attraverso la porta 1553 nella memoriadello spacecraft.

ANNEALING Lo strumento esegue una decontaminazione (attraverso ilriscaldamento) del canale infrarosso.

SAFE In caso di problemi lo strumento viene posto in questo stato,in cui sono attive solo le operazioni primarie.

COOLDOWN In questo stato la CCE esegue il raffreddamento del pianofocale infrarosso.

MMTEST Lo strumento analizza la memoria di massa e controlla even-tuali difetti, a termine dell’operazione la Mass Memory vienecancellata.

ECA Nell’Emergency Cover Actuator lo strumento ha eseguito laprocedura (critica) di apertura del cover.

Tabella 2.5: Descrizione dei modi operativi di VIR: gli stati dello strumento sono classificabili in PROM(operazioni preliminari) ed in EEPROM (operazioni secondarie). [Fonte: [3], [9], [8]]

Ovviamente, se le operazioni prevedono il solo utilizzo del canale visibile, tale regola viene meno:sicuramente utilizzando il solo visibile la Main Electronic non comanda la CCE, quindi lo strumento nonsi trova nello stato di COOLDOWN e la F-VIRC09 non e applicabile.

La seconda regola in tabella 2.6 garantisce che, durante il modo operativo SCIENCE, lo strumentoabbia il cover aperto; ossia che durante l’attuazione delle operazioni di apertura e chiusura del cover(circa 35 s) lo strumento non venga utilizzato, in modo tale da avere questa parte meccanica in uno statoben definito.

Le ultime due regole in tabella 2.6 regolamentano il flusso dei dati generati durante le acquisizioniscientifiche (stato SCIENCE) e durante la fase di scarico di questi nel Virtual Recorder (modo operativoMMDUMP).

La regola F-VIRC11 garantisce allo strumento il tempo necessario per l’acquisizione scientifica: iparametri che influenzano un’acquisizione sono il tempo di ripetizione con cui lo strumento fotografala scena da osservare, il numero di immagini spettrali da memorizzare e il tempo di stabilizzazione delcanale infrarosso; possiamo scrivere:

Tscience = Trep ×Nframe + TIR stab + Tmargin (2.1)

2.4. IL DIAGRAMMA DI STATO 25

Flight rules Descrizione

F-VIRC09 Non comandare alcun comando durante il periodo, di circadue ore, dopo l’inizio della procedura di raffreddamentodel piano focale infrarosso.

F-VIRC10 Non comandare alcun comando per i trentacinque secon-di successivi dall’inizio della procedura di movimento delcover.

F-VIRC11 Permettere allo strumento di eseguire il comando diacquisizione scientifica.

F-VIRC12 Permettere allo strumento di eseguire lo scarico dei da-ti nella memoria dello spacecraft, nelle due modalita(compressione e non compressione).

Tabella 2.6: Lista di alcune flight rules di VIR: sono elencate le regole di VIR da rispettare durante lamissione Dawn; queste sono regole di tipo software, ossia si riferiscono esclusivamente allagenerazione delle sequenze. Altre regole, non riportate, riguardano l’assetto che VIR deveavere durante le acquisizioni e/o durante la navigazione.

in cui Trep imposta la frequenza temporale con cui prendere le immagini, Nframe e il numero di ac-quisizioni da memorizzare e TIR stab e il tempo di stabilizzazione del sensore infrarosso. Si aggiungeun margine temporale (Tmargin > 5 s) per garantire che l’operazione sia eseguita completamente, e unmargine di sicurezza.

La formula 2.1 e deterministica, questo non accade alla regola successiva, la F-VIRC12, che regola-menta le operazioni durante la fase di download dei dati sul Virtual Recorder. Lo stato di MMDUMP infigura 2.7 ha due modalita di esecuzione: dump non compresso e scarico dei dati lossless (senza perditadi informazioni).

La prima modalita non prevede una compressione dei dati, quindi il tempo necessario per eseguireil loro download sullo spacecraft e determinato, in quanto non dipende dalla qualita del dato. Nellamodalita lossless VIR deve effettuare una compressione dei dati acqusisiti nella Mass Memory ; taleoperazione dipende fortemente dalla qualita del dato da comprimere: il tempo per comprimere (lossless)un segnale con molte fluttuazioni e molto piu lungo di uno con poche variazioni, non potendo valutarela qualita del dato a priori si avra un carattere stocastico nella valutazione del tempo di esecuzione delcomando di dump in fase di compressione.

Formalizzando possiamo scrivere:

Tdump = Nframe ×Ndetector ×Nsubframe × Fcomp × 1s + Tmargin (2.2)

in cui Nframe e il numero delle acquisizione per canale da memorizzare, Ndetector e il numero di canalicon cui si e effettuata l’acquisizione, Nsubframe indica la grandezza dell’immagine spettrale memorizzatacome descritto nella tabella 2.2. Il fattore Fcomp indica la velocita della compressione: dipende dallaprontezza della porta 1553 e dalla qualita della compressione. Da valutazioni sperimentali si evince chelo standard 1553 garantisce un flusso di diciasette pacchetti al secondo, mentre VIR ha una velocita didiciannove pacchetti al secondo durante la fase di dump compresso, quindi il numero di pacchetti chefluiscono verso lo spacecraft deve essere scalato di 19/17.

La qualita della compressione di VIR e stata valutata e si e ricavato un fattore di pari 1.7 unita. Ilfattore Fcomp quindi e 19/(17 × 1.7) per la modalita di compressione, mentre e 1 nella modalita noncompressa.

Il tempo Tmargin in aggiunta e di sessanta secondi in modalita non compressa e di centoventi secondinella fase di compressione.

26 VIR: VISIBLE AND INFRARED SPECTROMETER

Telecomando Descrizione

Memory services

VIR TC MEM LOAD Accetta in ingresso il tipo di memoria e i dati con cui caricarla.VIR TC MEM DUMP Scarica il contenuto della memoria in ingresso, partendo da una

locazione data.VIR MEM CHECK Verifica lo stato della memoria in ingresso, partendo da una

locazione data.VIR LOAD EEPROM SW Carica il software dalla EEPROM alla RAM.

Mode selection

VIR MAINTENANCE Imposta il modo MAINTENANCE.VIR MM TEST(*) Esegue una verifica dello stato della Mass Memory.VIR SAFE Imposta il modo SAFE.VIR SCIENCE Inizia l’acquisizione scientifica con i parametri precedentemente

impostati.VIR MM DUMP Esegue il download dei dati dalla Mass Memory al Virtual

Recorder ; viene impostato anche il tipo di compressione.VIR CALIBRATION Esegue la calibrazione interna (ridotta o completa) dello

strumento.VIR TC STAND BY Imposta il modo di attesa dello strumento.VIR TC COOL DOWN Comanda la CCE per il raffreddamento dei piani focali.VIR TC ANNEALING(*) Imposta il modo ANNEALINGVIR TC ECA(*) Comanda il modo di Emergency Cover Actuator.

Parameters management

VIR TC SCIENCE PARAMS Imposta quattordici parametri per l’acquisizione.VIR TC SET PARAMS Imposta tre parametri dello strumento con altrettanti valori

dati in ingresso.VIR TC DEFAULT PARAMS Gestisce i parametri allocati nella EEPROM: impostando-

ne il valore di default oppure cambiandone tale valore nellaEEPROM.

General services

VIR TC COVER Apre o chiude il cover.VIR TC SU Comanda lo specchietto di scannerizzazione ad una posizione

scelta, valido solo per test.VIR TC SHUTTER Apre o chiude lo shutter, valido solo per test.VIR TC PEM Comanda la PEM, valido solo per test.VIR TC LAMP Accende o spegne le lampade della calibrazione.VIR TC MM CONF(*) Imposta una configurazione per la Mass Memory.VIR TC ERROR LOG Gestisce i messaggi di errore dello strumento.VIR TC CONFIRM Conferma per il comando critico precedentemente impostato.VIR TC TIME UPDATE Fornisce il tempo dello spacecraft.VIR TC RESET Inizializza VIR.

Tabella 2.7: Elenco dei macro-comandi di VIR: le operazioni piu usate durante il processo diacquisizione delle immagini spettrali sono l’impostazione dei parametri osservativi(VIR TC SCIENCE PARAMS), l’esecuzione effettiva dell’acquisizione (VIR SCIENCE) e loscarico dei dati acquisiti (VIR MM DUMP) sulla memoria dello spacecraft.(*) comando critico. [Fonte: [3], [9], [8]]

Capitolo 3

Il SASF (Spacecraft Activity Sequence File)

Sommario

La gestione di VIR avviene mediante un’infrastruttura ben consolidata in tutti i progetti

della NASA che si basa sulla scrittura di sequenze operative in un linguaggio time depending

che va sotto l’acronimo SASF. Per una corretta organizzazione delle sequenze operative di

VIR si e sviluppato un processo semi-automatico, che parte dallo studio delle fattibilita e

di possibilita osservative mediante una simulazione delle operativita dello strumento nelle

traiettorie geometriche, fino alla stesura e validazione dei file SASF contenti le operazioni

simulate.

3.1 Interfaccia fisica e Data Exchange overview

La pianificazione delle operazioni osservative e di gestione dello strumento VIR, avviene mediante l’ausiliodi una interfaccia che la NASA utilizza nelle varie missioni spaziali: il SASF (Spacecraft Activity SequenceFile). Questo e un file di tipo ASCII (American Standard Code for Information Interchange) contenentele sequenze operative per gli strumenti presenti sullo spacecraft della missione.

GRAND

FC

Navigation

VIR

SASF

integratedIntegration

Figura 3.1: Processo di integrazione delle sequenze provenienti dai diversi membri della missione Dawn:tale integrazione prevede un controllo sui tempi di esecuzione delle sequenze, onde evitarepossibili conflitti interni alla sequenza integrata.

Ciascun team della missione provvede allo sviluppo e al controllo della sequenza per lo strumentodi competenza, producendo uno o piu file SASF. Un singolo file SASF contiene piu operazioni per unostesso strumento; in linea di principio si potrebbe fare un unico file di sequenze per tutta la strumen-tazione presente, tuttavia una politica di gestione ottimizzata demanda ai gestori dei singoli strumentila generazione delle sequenze per lo strumento di competenza. I gruppi gestori degli strumenti decidonopoi come organizzare la sequenza osservativa: capita quindi che per una singola missione osservativa cisiano piu file SASF. Tale suddivisione permette un migliore controllo degli errori a scapito, tuttavia,della gestione in fase di integrazione di tutte le sequenze.

Il processo di integrazione (figura 3.1) dei SASF sviluppati dai membri della missione Dawn prevedeun primo controllo della tempistica dei singoli file SASF, caratterizzando i tempi di esecuzione dei comandidei singoli strumenti. Questo processo e utilizzato per individuare eventuali conflitti di esecuzione tra lediverse parti in giuoco. Un secondo controllo durante la fase di integrazione riguarda il Virtual Recorder,la memoria interna dello spacecraft : si verifica che non ci siano conflitti in scrittura su celle di memorianon di competenza e che le sequenze del singolo strumento abbiano il giusto spazio nella memoria perimmagazzinare le informazioni provenienti dalle osservazioni.

27

28 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

Una volta integrata, la macro sequenza viene eseguita sul simulatore hardware dell’intero spacecraftdella missione (chiamato testbed), simulatore che contiene al suo interno tutte le funzionalita (o parte diqueste) della macchina in volo verso Vesta.

La competenza di ogni membro della missione e quella di verificare ed implementare le seguenzeosservative per lo strumento in gestione: per quanto riguarda VIR la pipeline di gestione delle operazionisullo strumento si sviluppa come in figura 3.2.

good?

params file

Results

VIRS

meta−kernel

SPICE

VIRS : VIR Simulator

VIR SASF ValidatorVIRV :

VIR SASF GeneratorVIRG :Delivery

VIRV

VIRG

no yes

sequence table

file.dat

file_validate.sasf

file.sasf

file.seq

file.geo

Figura 3.2: Pipeline di generazione del SASF per le operazioni di VIR; in input ci sono i file di assetto e digeometria della traiettoria osservativa ricavati dal meta-kernel di SPICE, i parametri costantidella strumentazione e dell’asteroide da osservare, la sequenza in forma di tabella. In outputsi hanno la sequenza nello standard SASF e delle tabelle di qualita quantita dei dati prodotti(conservate nel “file.dat”) durante le operazioni.

Una prima fase di simulazione prevede di caratterizzare la geometria osservativa di VIR ed estrarreinformazioni sulla qualita/quantita dei dati prodotti durante le operazioni; le variabili di ingresso inquesta fase sono i parametri geometrici della traiettoria e di assetto dello spacecraft e le informazionirelative alle impostazioni dello strumento: la caratterizzazione geometrica e l’assetto di osservazioneavviene utilizzando i kernel di SPICE (Spaecraft Planet Instrument Camera-matrix Events) messi adisposizione dalla NASA per tutte le missioni spaziali, in particolare si fa riferimento in questa fase aikernel di previsione, ossia che contengono informazioni simulate della traiettoria che poi verra effettuatadurante l’osservazione.

I dati relativi alle operazioni da effettuare durante la missione osservativa da parte di VIR sono con-servati in una tabella (“file.seq” in figura 3.2) che viene passata come variabile di ingresso al simulatore;altre informazioni di ingresso sono le grandezze caratteristiche dell’oggetto da osservare e tutte le costanticaratteristiche di VIR e dello spacecraft come, ad esempio, il fattore di compressione dei dati nella fasedi scarico sul Virtual Recorder oppure a Terra (“params file” in figura 3.2).

La fase successiva alla simulazione e la generazione della sequenza in formato SASF: il “file.seq” vienetrasformato nello standard americano dal programma VIRG. Prima della distribuzione della sequenzagenerata viene effettuato un controllo sistematico sia a livello sintattico, per essere conformi allo standardSASF, sia sul flusso delle operazioni da svolgere ed evidenziare in questo modo eventuali conflitti omancanze durante le operazioni da far svolgere a VIR.

3.1. INTERFACCIA FISICA E DATA EXCHANGE OVERVIEW 29

VIRS: VIR Simulator

Lo scopo di VIRS e la simulazione delle funzionalita di VIR durante la pianificazione delle sequenzeosservative. Il diagramma strutturale puo essere rappresentato, come in figura 3.3, con due identitaprincipali: la parte che gestisce l’osservazione dinamica e un blocco che simula i modi operativi dellostrumento.

Acquistion Modefile.seq

Mass Memory

Virtual Recorder

Ground Station

input

parameters

Observation

DynamicSPICE

meta−kernel

VIRS

files.dat

sequence table

Figura 3.3: Schema strutturale del simulatore delle sequenze osservative di VIR: VIRS puo essere suddi-viso nella parte che gestisce la dinamica osservativa e nella sezione che simula le operativitadello strumento. Sono riportate anche le memorie dello struemnto (la Mass Memory), dellospacecraft (il Virtual Recorder) e la memoria delle stazioni a Terra (indicata con Ground Sta-tion). Il simulatore produce i dati osservativi (il file “file.dat”) e una tabella delle operazioni(sequence table).

Le due strutture interagiscono tra loro, soprattutto per quanto riguarda l’assetto dello spacecraft equindi per valutare il FOV (Field Of View) di VIR. Difatti, dalla struttura che valuta l’osservazionedinamica, viene generata la matrice di assetto dello spacecraft e da qui calcolata la posizione dell’unita discanzione di VIR; il risultato e una proiezione sull’obiettivo osservartivo (un asteroide tra Vesta e Cerere)della fenditura di VIR. Questo calcolo e necessario per fare una statistica sulla copertura dell’oggettoosservato e sulla connessione (quindi la qualita) delle acquisizioni.

Il blocco Acquisition Mode gestisce le grandezze fondamentali per il Data Volume sviluppato dal-l’osservazione, facendo interagire le tre entita caratteristiche che simulano il comportamento della MassMemory di VIR, del Virtual Recorder dello spacecraft e il playback dei dati nelle stazioni a Terra (GroundStation).

I modi operativi gestiti da VIRS sono stati individuati nei seguenti:

• Pushbroom con scarico diretto nel Virtual Recorder dello spacecraft : nella modalita pushbroom lospecchietto di scannerizzazione non viene mosso, ma mantenuto fermo nella posizione centrale delcampo di vista (boresight) dello strumento.

• Uso dello specchietto di scannerizzazione con scarico diretto nel Virtual Recorder dello spacecraft :si puo programmare l’escursione angolare dello specchietto che non necessariamente deve esseredell’intero FOV possibile per VIR (circa 3).

• Stato di attesa: corrisponde allo STANDBY del diagramma di stato di VIR (vedi figura 2.7) incui il simulatore non fa nulla, c’e solo un incremento temporale.

• Scarico dei dati a terra: simula il playback del data volume presente nel Virtual Recorder dellospacecraft.

• Pushbroom con scarico nella Mass Memory di VIR: i dati delle acquisizioni vengono immagazinatinella memoria di VIR, solo successivamente verranno scaricati nel Virtual Recorder mediante unopportuno modo operativo.

30 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

• Uso dello specchietto di scannerizzazione con scarico nella Mass Memory di VIR.

• Scarico dei dati nel Virtual Recoder dello spacecraft : simula il passaggio delle informazioni dallamemoria di VIR a quella dello spacecraft, il flusso dei dati e regolato da una variabile presente nelfile di impostazione in ingresso (“input parameters” in figura 3.3).

• Processo di calibrazione interna: viene riprodotto solo il processo di generazione del data volumedurante la calibrazione interna di VIR con (full calibration) o senza (reduced calibration) lampade.

• Apertura e chiusura dello cover.

• Accensione e spengimento dello strumento.

• Raffreddamento del piano orbitale infrarosso.

Le possibilita di VIRS riguardano la verifica della correttezza e la fattibilita degli scopi scientifici:fondamentale e l’interazione fra gli obbiettivi della missione Dawn (Vesta o Cerere) con VIR per trovare ildwell time (ossia il tempo di stazionamento dell’immagine che viene vista nel FOV di VIR) e la proiezionedel FOV sulla superfice dell’oggetto osservato, per avere un’idea della copertura e della connessione delleimmagini acquisite; da questo punto di vista, un’accurata gestione delle memorie dello strumento e dellospacecraft garantisce una caratterizzazione ottimale di queste grandezze.

\begindataPATH_VALUES = ( ’/spicekernel’ )PATH_SYMBOLS = ( ’KERNELS’ )KERNELS_TO_LOAD = (’$KERNELS/spk/survey/Approach_Survey_090316_i90_b10_r3000.bsp’,’$KERNELS/spk/ceres-2003-2016.bsp’$KERNELS/spk/de421.bsp’,’$KERNELS/spk/vesta-2003-2013.bsp’,’$KERNELS/pck/dawn_ceres_v00.tpc’,’$KERNELS/pck/dawn_vesta_v01.tpc’,’$KERNELS/pck/doppler_freq.tpc’,’$KERNELS/pck/magField_ParkerSpiralSun.tpc’,’$KERNELS/pck/masses3.tpc’,’$KERNELS/pck/pck00008.tpc’,’$KERNELS/fk/dawn_ceres_v00.tf’,’$KERNELS/fk/dawn_v06t.tf’,’$KERNELS/fk/dawn_v06.tf’,’$KERNELS/fk/dawn_vesta_v00.tf’,’$KERNELS/sclk/DAWN_203_SCLKSCET.00009.tsc’,’$KERNELS/lsk/naif0009.tls’)

\begintext

Figura 3.4: Esempio di file metakernel in input a VIRS per il calcolo dell’interazione dinamica tra VIR el’oggetto osservato; i kernel sono di vario tipo: file che caratterizzano la traiettoria (“Approa-ch Survey 090316 i90 b10 r3000.bsp”), o file legati alla gestione del tempo (“naif0009.tls”),oppure file le cui informazioni permettono di gestire i sistemi di riferimento.

Le informazioni necessarie di ingresso al programma VIRS provengono dalla lettura dei kernel disimulazione di SPICE attraverso un file di testo chiamato metakernel (vedi figura 3.4). Le informazioniriportate all’interno dei kernel riguardano la gestione del tempo e la caratterizzazione dei corpi presentinel Sistema Solare, ossia i parametri degli asteroidi (massa, dimensioni, griglia di copertura). Inoltre,nei kernel si possono ricavare i dati relativi alla geometria osservativa e all’assetto dello spacecraft.

Nel file “input parameter” (vedi figura 3.3) vi sono dati relativi all’interfaccia di VIR con lo spacecraft,per la corretta interpretazione dello standard 1553 e per il dimensionamento del Virtual Recorder edinformazioni generali di VIR che cambiano a seconda della strategia osservativa (quali il dimensionamentodella memoria di massa), o il fattore di compressione.

3.1. INTERFACCIA FISICA E DATA EXCHANGE OVERVIEW 31

Per un corretto utilizzo, VIRS ha bisogno della sequenza delle operazioni da svolgere durante lasimulazione osservativa, tali informazioni sono passate in input al simulatore mediante una tabella conle tempistiche di esecuzione, i parametri di impostazione dello strumento simulato.

In uscita, VIRS riporta una tabella riassuntiva delle operazioni svolte che verra usata come inputper la generazione del SASF da parte di VIRG.

Parte fondamentale per esaminare la strategia osservativa e data dai prodotti di VIRS distribuiti indiversi file: vengono infatti restituite informazioni sulla statistica di utilizzo delle memorie, individuandole fasi critiche come la saturazione e la qualita (dati compressi o meno); inoltre, si possono estrarre infor-mazioni realtive alla qualita dell’osservazione come la ricopertura dell’oggetto osservato, la risoluzione,l’angolo di fase e la connessione delle acquisizioni.

L’analisi di queste grandezze permette di valutare come migliorare la strategia osservativa, valoriz-zando le grandezze su cui operare per effettuare tali cambiamenti.

VIRG: VIR SASF Generator

file.sasfsequence table VIRG

Figura 3.5: VIRG VIR SASF Generator : la tabella delle operazioni generata da VIRS viene trasformatanello standard SASF attraverso l’utilizzo di database opportuni.

Il compito di VIRG e quello della generazione del SASF partendo dalla sequence table (vedi figure3.2 e 3.3) contenente i dati delle operazioni osservative da effettuare.

Nell’operazione di trasformazione viene utilizzato un database di comandi in conformita con la tabella2.7 e viene rispettata la sintassi del SASF (vedi paragrafo 3.2).

La necessita di VIRG risiede nella sua possibilita di gestire un enorme quantita di telecomandi daformattare in uno o piu file compatibili con lo standard SASF: in uno scenario lavorativo in cui c’e lanecessita di generare un’enorme quantita di sequenze nello standard SASF e bene avere una proceduraautomatica di generazione, onde evitare possibili ed eventuali problemi di sintassi nella scrittura delSASF.

VIRV: VIR SASF Validator

Il processo di validazione della sequenza generata da VIRG, avviene in due stadi differenti: nel primostadio avviene un controllo lessico-grammaticale del file SASF, mentre nel secondo avviene una trasfor-mazione della sequenza operativa (parsing) in una tabella di dati per un confronto con le grandezzesimulate da VIRS. Durante la fase di parsing, VIRV effettua un controllo affinche tutte le flight rulesrelative allo strumento vengano rispettatte dalla sequenza. Il fallimento di uno dei seguenti controlliviene evidenziato in uscita dall’applicazione, o mediande scrittura in un file report o con una stampa avideo.

Le segnalazioni di eventuali errori sono di due tipi (vedi figura 3.6(a)): errori di sintassi, in cui, adesempio, si e scritto un comando in maniera non conforme allo standard SASF provocando l’interruzzioneprematura della sequenza, oppure sono dei warning che indicano delle operazioni in violazione delle regoledello strumento, come, ad esempio, il non rispetto delle flight rules (vedi paragrafo 2.4). Il primo tipo dierrore provoca un’interruzione delle operazioni di VIRV, in particolare il blocco relativo al parsing nonviene eseguito e quindi non viene generata la tabella dei risultati della validazione. I warning anche sepresenti non interrompono il flusso delle operazioni di VIRV, il quale porta a compimento il suo lavoroproducendo i dati di uscita.

A tutti gli effetti VIRV e un compilatore di file SASF adattato allo strumento VIR; difatti, oltre alcontrollo lessico-grammaticale del linguaggio, provvede alla trasformazione di questo in una tabella che,a differenza di un normale compilatore, non contiene un linguaggio macchina ma dei dati sullo stato diVIR durante le operazioni contenute nel SASF.

In figura 3.6(b) e rappresentato uno schema dei blocchi principali di VIRV: il SASF Process Unit(SPU) e il cuore del compilatore e rappresenta il gestore dell’intera struttura di VIRV, struttura che sicaratterizza nelle funzionalita principali di VIR (meccanismi, parametri dello strumento, modi operativi)e nella simulazione del flusso di dati dalla Mass Memory di VIR al Virtual Recorder dello spacecraft.

32 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

Syntax Check OK?

Parser

Yes

No

Table result, with VIR status

file.sasf

Error

warning

VIRV

(a) Diagramma funzionale

Mode

Virtual Recorder

MassMemory

STD 1553

Mechanics

Parameters

SPU

(b) Diagramma a blocchi

Figura 3.6: Schema di funzionamento del VIR Validator

I dati di uscita sono memorizzati in strutture dinamiche di tipo coda (FIFO: First In First Output),in modo da poter gestire grandi quantita di operazioni, come previsto durante le missioni di VIR a Vestae Cerere. Tali strutture, sono utilizzate come base delle comunicazioni tra i vari blocchi schematizzatiin figura 3.6(b). Alla fine delle operazioni, la struttura dinamica FIFO viene salvata in un file di uscita,come rappresentato in figura 3.6(a) per la visualizzazione grafica.

L’analisi dei grafici e un’ulteriore verifica della correttezza della sequenza operativa presente nel SA-SF: diffatti esaminando graficamente la sequenza vengono esaltate eventuali discrepanze con le operazionipreviste, provvedendo immediatamente alla correzione di eventuali errori.

Di seguito si vedra un esempio completo di funzionamento di VIRV, ma prima esaminiamo in dettagliolo standard SASF.

3.2 Struttura e organizzazione dello standard SASF

Il SASF e un file ASCII composto da tre parti (vedi figura 3.7): una prima parte di intestazione (header),una sezione opzionale (cyclic) ed una parte chiamata body.

Body SASF Cyclic

Header

Sequencing Header RecordSFDU header

(a) Diagramma strutturale

FILE ::= <sfdu header><sequence header>$$EOH[<cyclic definition>]$$EOD<body>$$EOF

(b) Forma di Backus-Naur

Figura 3.7: Rappresentazione schematica di un Spacecraft Activity Sequence File e sua forma di Backus-Naur: il file e caratterizzato da tre strutture fondamentali individuate dalle keyword $$EOH(fine header), $$EOD (fine delle parte cyclic) e $$EOF (fine file).

La parte di header e sempre inclusa nel file in quanto riporta informazioni che lo caratterizzano; visono inserite keyword che verranno utilizzate nella parte cyclic e body ; al suo interno sono riportati deivalori di collegamento tra i diversi stream componenti la sequenza integrata.

La sezioni cyclic e body contengono le sequenze degli strumenti. La parte cyclic differisce dal bodyper il suo utilizzo, infatti al suo interno vengono riportate delle sequenze che saranno utilizzate piu voltenella sezione body ; la sua funzione e simile ad una libreria di procedure.

3.2. STRUTTURA E ORGANIZZAZIONE DELLO STANDARD SASF 33

Il body e il main program del SASF, al suo interno sono riportate le chiamate ai comandi deglistrumenti; tali comandi possono essere semplici (come quelli in tabella 2.7) oppure appartenere ad unastruttura sequenziale complessa, riportata nel cyclic e/o in altri file di ausilio.

I file di ausilio sono dei moduli1 caricati nella memoria dello spacecraft, che contengono al loro internodelle procedure nel formato di Virtual Machine Language(VML2) per la gestione degli strumenti, infattialcune sequenze sono immutabili durante il periodo di attivita dello spacecraft e quindi vengono trattatecome se fossero dei comandi: due esempi sono l’accensione e lo spegnimento degli strumenti. VIR haprocedure VML per la calibrazione interna.

Lo Standard Formatted Data Units (SFDU)

Lo Standard Formatted Data Units riporta al suo interno informazioni di carattere generale che riguarda-no, ad esempio, la creazione e la validita del file oppure chi ha prodotto il SASF; e una parte a caratteregenerale che si trova anche in file ausiliari, che vengono usati nel processo di integrazione delle sequenze.

<sfdu header> ::=CCSD3ZF0000100000001NJPL3KS0L015$$MARK$$;<cr,lf>MISSION_NAME = <mission name>;<cr,lf>SPACECRAFT_NAME = <spacecraft name>;<cr,lf>DATA_SET_ID = SPACECRAFT_ACTIVITY_SEQUENCE;<cr,lf>FILE_NAME = <file name>;<cr,lf>APPLICABLE_START_TIME = <applicable start time>;<cr,lf>APPLICABLE_STOP_TIME = <applicable stop time>;<cr,lf>PRODUCT_CREATION_TIME = <product creation time>;<cr,lf>PRODUCER_ID = <team producer name>;<cr,lf>SEQ_ID = <sequence id>;<cr,lf>HOST_ID = <host workstation id>;<cr,lf>CCSD3RE00000$$MARK$$NJPL3IF0M01300000001;<cr,lf>

Figura 3.8: Forma di Backus-Naur per lo Standard Formatted Data Units: questa parte differisce dalresto del file a causa dei terminatori di riga, che sono nello standard MS-DOS (Microsoft DiskOperating System).

Nella tabella 3.1 vengono riportate le spiegazioni dei campi presenti in figura 3.8; di grande impor-tanza sono le keyword relative all’applicabilita della sequenza (APPLICABLE START TIME e APPLI-CABLE STOP TIME), in quanto vengono utilizzate dall’integratore di sequenze per includere o menoil SASF nel processo di merging delle operazioni fra i diversi strumenti.

I tempi inseriti nei campi appena descritti sono nel formato UTC (Coordinated Universal Time) nellostandard ISOC (ISO Calendar format), ossia come:

<yyyy>-<ddd>T<hh>:<mm>:<ss>:<fff>

<yyyy> ::= anno<ddd> ::= giorno dell’anno ( da 001 a 366 )<hh> ::= ore in un giorno ( da 00 a 23 )<mm> ::= minuti in un’ora ( da 00 a 59 )<ss> ::= secondi in un minuto ( da 00 a 59 )<fff> ::= millisecondi ( da 000 a 999 )

Gli altri indicatori presenti nel SFDU, caratterizzano al meglio il SASF sviluppato, evidenziando adesempio a quale missione fa riferimento, il team che ha prodotto la sequenza e la macchina sulla quale estata scritta.

1Chiamati anche on-board block2Un linguaggio associato alla gestione delle operazioni dello spacecraft

34 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

SFDU Token Name Descrizione

<mission name> E il nome della missione associata con il file<spacecraft name> E il nome dello spacecraft associato con il file<data set id> Questo campo indica il tipo di applicazione del fi-

le, nel caso di sequenze il suo valore e SPACE-CRAFT ACTIVITY SEQUENCE.

<file name> Rappresenta il nome del file<applicable start time> E il tempo in UTC per il quale il file e applicabile<applicable stop time> E il tempo in UTC per il quale il file e applicabile<product creation time> Contiene la data di creazione del file<team producer name> E un identificativo del gruppo che ha prodotto il file<sequence id> E il nome della sequenza caricata corrispondente al

contenuto del file<host workstation id> Rappresenta la workstation in cui e stato prodotto il

file.<cr,lf> Rappresenta il simbolo ASCII per la coppia di carriage-

return, line-feed

Tabella 3.1: Spiegazione dei campi presenti nella rappresentazione in forma di Backus-Naur dello StandardFormatted Data Units.

Il terminatore di riga di questa parte di SASF e nello standard MS-DOS (Microsoft Disk Opera-ting System), a differenza della restante parte del file nella quale non e definita una preferenza per ilterminatore di riga; si puo anche avere un carattere di solo line-feed (macchine linux) oppure di solocarriage-return (macchine mac) per terminare la riga.

Il Sequencing Header Record

Il formato del Sequencing Header Record e rappresentato nella forma di Backus-Naur in figura 3.9, mentrealcune keyword principali presenti in questa parte del SASF sono riportate nella tabella 3.2.

<sequence header> ::=$$<p code><spaces>SPACECRAFT ACTIVITY SEQUENCE FILE<line separator><list of header records><line separator>$$EOH

<list of header records>::=<record> [<list of header records>]

<record> ::=*<keyword><spaces><data>

Figura 3.9: Forma di Backus-Naur per il Sequencing Header Record : il token <spaces> indica una stringadi caratteri ASCII per lo spazio che deve essere introdotta tra la keyword e il dato; il numero diquesti spazi deve essere tale che il <data> inizi nella tredicesima colonna. Il <line separator>indica una stringa di sessanta asterischi.

L’inizio e la fine di questa parte del SASF sono evidenziate dalle parole $$<p code> e $$EOH: laprima e una chiave che indica il nome del progetto a cui fa riferimento il SASF prodotto (il progetto

3.2. STRUTTURA E ORGANIZZAZIONE DELLO STANDARD SASF 35

<keyword> <data>

PROJECT Due o tre lettere alfanumeriche che identifichino il progetto a cuifa riferimento il file

SPACECRAFT Due o tre lettere numeriche che identifichino lo spacecraft dellamissione a cui fa riferimento il file

OPERATOR Il nome completo dell’utente del fileFILE CMPLT Valori booleani (TRUE o FALSE) che indicano se il file contiende

delle richieste corretteDATE Data di generazione del file<generating program> Identificativo del programma che ha generato il file, con versione e

la data di compilazioneBEGIN SCET (Spacecraft Ephemeris Time) corrispondente all’inizio di ese-

cuzione del file; questa data e la stessa riportata in <applicable starttime> che si trova nello SFDU header (Tabella 3.1).

CUTOFF SCET (Spacecraft Ephemeris Time) corrispondente alla fine di ese-cuzione del file; questa data e la stessa riportata in <applicablestop time> che si trova nello SFDU header (Tabella 3.1).

TITLE Una stringa contenente il titolo della sequenzaEPOCHS DEF Indica l’inizio della lista delle epochs presenti nel file<epoch name> Elenco delle epochs presenti nel file, nella forma <epochs name>,

<value>EPOCHS END Indica la fine della lista delle epochs presenti nel file

Tabella 3.2: Principali keyword presenti nello Sequencing Header Record, che caratterizzano le informazionipresenti nel file di sequenze (SASF).

DAWN, ad esempio, viene indicato con DWN); la seconda indica la fine del header (End Of Header). Lelinee di separazione (vedi figura 3.9) sono sessanta asterischi.

Particolarita che individua il Sequencing Header Record e il carattere di inizio riga (l’asterisco):questa parte del SASF e un elenco di record individuati dal carattere asterisco e composti da una keyworde il suo dato; le informazioni relative a queste keyword sono necessarie per il processo di integrazionedelle sequenze. Possiamo individuare due zone nel Sequencing Header Record. La parte iniziale contieneinformazioni di carattere generale, come il titolo delle operazioni da svolgere ed un indicativo dellospacecraft a cui fa riferimento la sequenza.

Le informazioni rilevanti di questa prima parte sono la definizione delle label dei tempi che verrannoutilizzate nella restante parte del file e che sono inserite tra le keyword EPOCH DEF e EPOCHS END.

La seconda zona del Sequencing Header Record riporta un elenco dei file necessari per il processodi integrazione, come ad esempio il file di modello dello spacecraft. Questa parte ha inizio con le parolechiavi:

*Input files used:*File Type Last modified File name

e riporta tre informazioni basilari distribuite su tre colonne: il tipo di file da integrare, la data dell’ultimamodifica e la posizione (path) e il nome del file nella macchina che effettua l’integrazione.

Nel processo di generazione del SASF (vedi figura 3.5), generalmente, non si tiene conto di questaparte del SASF, in quanto la pipeline (descritta nel paragrafo 3.1) non gestisce il processo di mergingdelle sequenze; tuttavia le parole chiavi di cui sopra, devono essere inserite nel Sequencing Header Record.

Il Sequencing Header Record e sensibile alla formattazione per colonne, difatti ogni keyword presentenel record deve essere tal che il numero di carratteri che la compone non deve superare dodici (compresol’asterisco), mentre il dato del record deve partire dal tredicesimo carattere; il nome e la path del file peril processo di integrazione deve iniziare dal trentanovesimo carattere.

36 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

La sezione Cyclic

Il cyclic e una libreria di procedure alla stregua dei VML, tuttavia le procedure scritte in questa sezionenon sono permanenti per l’intera missione dello spacecraft ma sono legate al particolare evento osservativoche si deve implementare.

Le procedure scritte nel cyclic possono essere chiamate all’interno del body come gli on-board block.Sono usate per avere un risparmio nell’utilizzo della memoria dello spacecraft, in quanto sono proceduredefinite una sola volta nel cyclic e che possono essere richiamate in piu occasioni all’interno della sequenzaprincipale.

<cyclic> ::=<list of definitions>$$EOD

<list of definitions> ::=<single definition> [,<list of definitions>]

<sigle definition> ::= CYCLIC_DEF(<user supplied name>, <cyclic code>,AUTHOR, <string>,[DESCRIPTION, <string>,][WORKGROUP, <string>,]STEPS, <list of steps>,end)

<list of steps> ::= <step section> [, <list of steps>]

Figura 3.10: Forma di Backus-Naur della parte cyclic di un SASF:il cyclic e un elenco di definizioni <listof definitions>; nella singola definizione e riportata la <list of steps> la cui forma di Backus-Naur e descritta in figura 3.12. I token <cyclic code> e <user supplied name> individuanounivocamente la sequenza cyclic all’interno della sequenza integrata.

Il diagramma di Backus-Naur e rappresentato in figura 3.10: le sequenze cuclic sono inserite nelSASF tra gli indicativi $$EOH (fine header) e $$EOD (fine delle definitions) e si sviluppano come unelenco di definizioni CYCLIC DEF.

Ciascuna definizione e composta da un codice numerico che la caratterizza all’interno della sequenzaintegrata di figura 3.1, da un nome che viene utilizzato durante la chiamata della sequenza cyclic. Cisono, inoltre, delle informazioni aggiuntive sull’autore della definizione e che descrivono la sequenza.

Il nucleo della definizione e la <list of steps>, il quale e un elenco di <step section> (vedi figura3.12); il <timing relation> per questi step deve riferirsi all’inizio della sequenza cyclic (con il tokenFROM CYCLIC START) oppure all’inizio della request da cui viene chiamata la sequenza cyclic (con iltoken FROM REQUEST START).

La sezione Body

Il body e la sessione SASF piu importante, in quanto riporta la sequenza operativa dello strumento: eorganizzata in blocchi, chiamati request, al cui interno si sviluppano gli step della sequenza operativa(vedi figura 3.11). Ogni step contiene un macrocomando di uno strumento (vedi tabella 2.7 per quantoriguarda VIR).

La distribuzione delle request all’interno del body puo essere casuale, tuttavia in fase di debuggingdella sequenza conviene che la distribuzione delle request sia ordinata temporalmente.

Per questo e per contestualizzare la sequenza legata ad una request all’interno dell’integrazione,e previsto un header, chiamato Sequence Request Keywords (vedi tabella 3.3). In particolare, questoheader e composto da un identificatore (una stringa che individua univocamente la request all’internodella sequenza integrata) e da una lista di attributi (vedi figura 3.11), che caratterizza la request, come iltitolo e la descrizione affinche le operazioni contenute nella request possano essere facilmente individuate.

3.2. STRUTTURA E ORGANIZZAZIONE DELLO STANDARD SASF 37

<body> ::=<list of requests>$$EOF

<list of requests> ::= <request> [<list of requests>]

<request> ::= request(<header section>)<step section>

end;

<header section> ::= <identifier>,<attribute list>

<attribute list> ::= <attribute keyword>,<attribute value>

Figura 3.11: Forma di Backus-Naur della parte body di un SASF: il body si presenta come una lista dichiamate (<list of requests>) al cui interno e sviluppata l’effettiva sequenza operativa dellostrumento (<step section>).

La posizione temporale della request all’interno della sequenza integrata e data dal valore dell’attri-buto START TIME. La necessita di suddividere le sequenze operative in piu request risiede nella miglioregestione delle operazioni da svolgere; difatti, spezzettando la sequenza in blocchi, si puo individuare conminore sforzo la parte di codice che eventualmente contiene un errore.

<attribute keyword> Optionale? <attribute value>

PROCESSOR No Identifica il processore per il quale la request e stataeseguita

START TIME No Indica il tempo principale della requestREQUESTOR No Rappresenta il nome del proprietario della requestKEY No Definisce in quale linea delle attivita la request sara

vistaDESCRIPTION Si Campo libero per la descrizione delle attivita della

requestTITLE Si Indica il titolo della requestGENEALOGY Si Campo liberp per la descrizione delle origini della

requestWORKGROUP Si Indica il nome del gruppo che e proprietario della

requestSTATUS Si Identifica lo stato della funzione request (DELE-

TED, FROZEN, etc.)

Tabella 3.3: Attributi dello Sequence Request Keywords: alcuni attributi sono opzionali per l’esecuzionedella sequenza, ma chiariscono le operazioni presenti nella request, individuando anche la suaorigine.

Questo modo di procedere, implica un’accurata scelta dello START TIME per ogni singola request :difatti bisogna evitare che ci sia una simultanea chiamata di request, oppure che una di queste abbiainizio mentre un altro blocco di comandi sia in esecuzione. La gestione accurata di queste situazioni evitacomplicazioni nel software SASF sviluppato, come conflitti nei comandi dello strumento che possonoessere, per questo, rifiutati durante l’esecuzione della sequenza.

Lo <step section> e organizzato secondo la forma di Backus-Naur in figura 3.12: esistono diversitipi di step, nella figura 3.12 ne sono stati rappresentati quattro (activity, note, command, spawn); ad

38 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

<step section> ::= [<list_of_steps>]

<list_of_steps> ::= <step> [,<list_of_steps>]

<step> ::= <step name>(<common fields>,<step specific fields>)

<step name> ::= activity | note | command | spawn

<common fields> ::= <step_label>, <scheduled time field>

<scheduled time field> ::=SCHEDULED_TIME, \<time offset>\ [,<timing relation>],

<timing relation> := FROM_REQUEST_START | FROM_PREVIOUS_START| FROM_PREVIOUS_END | DEFAULT

Figura 3.12: Forma di Backus-Naur dello step section: i macrocomandi di VIR vengono gestiti dalla diret-tiva command, le operazioni dello spacecraft dalla direttiva activity, le direttive precaricatein una memoria dello spacecraft dallo step spawn. Il note e il comando SASF per i commenti.

altri non si fara nessun riferimento in quando non sono utilizzati per gli strumenti ma sono specifichedirettive per lo spacecraft o del processo di integrazione (si veda [5] in bibliografia per maggiori dettagli).

Un parametro comune agli step e lo <scheduled time field>, il quale indica quando la direttiva stepdeve essere eseguita all’interno di una request.

Nell’attributo <timing relation> si possono avere tre valori, che impostano la gestione dello SCHE-DULED TIME in tre modalita differenti: lo step inizia la sua esecuzione quando trascorre <time offset>dall’inizio della request (si ha l’attributo FROM REQUEST START ), oppure dall’inizio dello step pre-cedente (con il valore FROM PREVIOUS START ), oppure dalla fine dello step precedente impostandola direttiva FROM PREVIOUS END.

Le direttive che interessano la gestione degli strumenti di bordo, quindi di VIR, sono:

note : e una direttiva che serve per comunicare un commento all’integratore di figura 3.1; lo <stepspecific fields> e rappresentato dal token TEXT seguito dalla stringa di commento:

<step specific fields> ::= TEXT, <note string>

<note string> ::= an <string expression>

in cui <string expression> e una stringa di testo racchiusa tra doppi apici.

activity : e uno step che puo gestisce o le chiamate ai on-board block dello spacecraft oppure le attivitada eseguire nel processo di integrazione.

<step specific fields> ::=[REQ_ENGINE_ID, <engine id>,]<type group>(<activity type name>

[,<activity argument list>])

<type group> ::= SEQTRAN_directive, RT_on_board_block

Le direttive di integrazione sono garantite dalla funzione SEQTRAN directive, mentre le chiamatealle procedure nella memoria dello spacecraft sono eseguite da RT on board block ; queste funzio-ni accettano come argomenti in ingresso il tipo di attivita (data da <activity type name>) e iparametri necessari per svolgerla (dati da <activity argument list>).

spawn : questo step permette di chiamare blocchi di sequenza di uno strumento pre-caricati nellamemoria dello spacecraft (gli on-board block relativi allo strumento). Alcune operazioni, come adesempio l’accenzione o lo spengimento di uno strumento, rimangono immutate durante tutta la

3.3. ANALISI LESSICO-GRAMMATICALE 39

missione, sono quindi salvate in moduli che vengono richiamati in blocco quando necessario. Laforma di Backus-Naur e

<step specific fields> ::=[REQ_ENGINE_ID, <engine id>,]RT_on_board_block(<spawned on-board-block name>

[,<spawn argument list>])

La direttiva RT on board block serve per richiamare il blocco di comandi <spawned on-board-blockname> con i relativi parametri <spawn argument list>.

command : Questa e una direttiva SASF legata direttamente al database dei comandi di VIR (si vedatabella 2.7). La forma di Backus-Naur e

<step specific fields> ::=<command stem>(<cmd argument list>)

dove <command stem> e il nome del comando conforme alla tabella 2.7, mentre <cmd argumentslist> sono i parametri necessari al comando per essere eseguito.

Una combinazione delle direttive descritte imposta una sequenza dello strumento: si puo avere unSASF con molti command e pochi spawn e addirittura un solo activity ; capitera inoltre di trovare unaquantita enorme di note, che non solo garantisce chiarezza nel codice, ma permette di seguire in dettagliole operazioni in fase di simulazione della sequenza integrata.

3.3 Analisi lessico-grammaticale

Il processo di validazione delle sequenze consiste nell’utilizzo di programmi per la costruzione di analiz-zatori lessicali, capaci di maneggiare strutture piu o meno complesse. La teoria sull’analisi lessicale si esviluppata attorno agli anni 60-70 dello scorso secolo, portando al consolidamento di tecniche di analisiil cui risultato e uno spettro di programmi piuttosto ampio: qui si utilizza la coppia Flex e Bison, ilprimo e un analizzatore lessicale (scanner), l’altro un analizzatore sintattico (parser).

Tali programmi sono spesso utilizzati per la generazione di compilatori dei vari linguaggi: nellavalidazione di sequenze e naturale che questa potenzialita venga preferita alla scrittura di procedure adhoc per l’analisi del file di sequenza, in quanto si eliminano le problematiche di analisi sintattico-lessicalegia affrontate in fase di implementazione di questi tool.

Il compito di un analizzatore lessicale e quello di dividere la struttura del file da analizzare intoken3 riconoscendole come appartenenti al linguaggio, mentre l’analizzatore sintattico si occupa dicontestualizzare i token in una struttura sintattica dalla quale ricavare il risultato di una espressione.Ad esempio, analiziamo la seguente espressione:

alpha := beta + 30 ;

Lo scanner divide questo flusso di caratteri nei token: ‘alpha’, ‘:=’, ‘beta’ , ‘+’, ‘30’ , ‘;’. Il parserdetermina il valore dell’espressione ‘beta + 30’ ed assegna il risultato alla variabile associata al token‘alpha’.

Per generare i due comportamenti, lo scanner e il parser devono essere istruiti mediante file il cuiformato strutturale e dato dalla figura 3.13. Questi file riportano tre sezioni individuate dalle due coppiedi caratteri %%.

La prima sezione di ciascun file comprende una parte dedicata all’inserimento di codice ‘c’ per ladichiarazione di varibili esterne al file, e le direttive o per l’individuazione dei token nell’analizzatorelessicale o per legare i token individuati alle regole grammaticali nell’analizzatore sintattico.

La seconda parte dei due file contiene le regole di gestione dei token e della grammatica. Infine,le ultime sezioni sono dedicate all’inserimento di funzioni di ausilio all’intero programma; infatti nellacostruzione di un programma di analisi lessico-grammaticale e utile avere delle funzioni che esulano dalriconoscimento lessicale, ma che sono utili per lo svolgimento del programma. Ad esempio, possiamoriportare in queste sezioni delle funzioni per il trattamento dei dati individuati dagli analizzatori.

3Per token si intendono le parole chiave di un linguaggio.

40 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

C and scanner declarations%%Token definitions and actions%%C subroutines (user code)

(a) Scanner

C and parser declarations%%Grammae rules and actions%%C subroutines (user code)

(b) Parser

Figura 3.13: Struttura dei file di ingresso dello scanner e del parser : in ciascuno si individuano tre sezionidistinte. L’integrazione dei due processi (scanning e parsing) porta alla generazione di filecon codice in linguaggio ‘c’, in cui vengono riportate le sei sezioni opportunamente codificate(si veda [6]).

Il binomio Flex-Bison

I due analizzatori lessico-sintattici Flex e Bison sono la versione GNU (GNU is Not Unix ) dei primiprogrammi nati dai laboratori Bell per la generazione e gestione di grammatiche: Lex (Lexical AnalyzerGenerator) e Yacc (Yet Another Compiler-Compiler).

gcc

FLEX

BISON

Compiler

file.l flie.yy.c

file.yfile.tab.c

file.tab.h

Figura 3.14: Utilizzo simultaneo della coppia di analizzatori lessico-sintattici Flex e Bison per lo sviluppo diun compilatore: lavorare con questi analizzatori significa impostare un problema informaticoin ambiente Unix, o Unix-like; per questo motivo la gestione del progetto e stata affrontatacon applicativi GNU (GNU is Not Unix ) dove ‘gcc’ e il GNU project C and C++ compiler.

Il lavoro di questi generatori consiste nella trasformazione di un meta-linguaggio in un programmac/c++. La generazione vera e propria di un eseguibile, con le funzionalita di analizzatore lessico-sintatticoper la grammatica in esame e eseguita dai compilatori c/c++ (in figura 3.14 il compilatore utilizzato egcc (GNU project C and C++ compiler), presente in tutte le distribuzioni Unix-like).

I meta-linguaggi dello scanner e del parser si trovano in due file (‘file.l’ e ‘file.y’ rispettivamente), chevengono esaminati per generare le direttive c/c++, residenti nei file ‘file.yy.c’, ‘file.tab.c’ e ‘file.tab.h’.

Finito il processo di integrazione/compilazione dei file dati dai due analizzatori, si ha un eseguibileper l’analisi lessico-grammaticale del linguaggio per cui e nato: ad esempio, potremmo voler sviluppare unanalizzatore della lingua italiana oppure, nella presente tesi, un validatore delle sequenze il cui linguaggiodi input e lo standard SASF precedentemente descritto (vedi figura 3.6).

Le espressioni regolari di Flex

Il nucleo fondamentale di Flex sono i modelli sintattici, ossia strutture, formanti un meta-linguaggio, cheaiutano a costruire le regole per il riconoscimento delle parole caratteristiche del linguaggio per il qualebisogna implementare uno scanner.

Tali modelli si basano su espressioni regolari che istruiscono Flex sulla formattazione delle parole dariconoscere. L’elenco seguente descrive alcune regole che vengono utilizzate nelle espressioni regolari:

. Indica a Flex di accettare nel modello tutti i carattere ASCII ad eccezione di quello che rappresentauna nuova linea

[ ] Solo i caratteri inseriti tra parentesi quadre vengono accettate da Flex come facenti parte deltoken da individuare. All’interno delle parentesi un carattere di segno meno ‘-’ indica un intervallocontiguo di caratteri nella tabella ASCII: l’espressione [a-c] indica a Flex di riconoscere tutti icaratteri tra ‘a’ e ‘c’ nella tabella ACII.

* Fa riconoscere a Flex zero o piu copie dell’espressione precedente.

+ Fa riconoscere a Flex una o piu copie dell’espressione precedente.

3.3. ANALISI LESSICO-GRAMMATICALE 41

? Fa riconoscere a Flex zero o una copia dell’espressione precedente.

ˆ Individua il primo carattere di una linea, ossia il primo carattere di una espressione regolare

Per dare un’idea di come poter individuare un numero intero con segno all’interno di un flusso di caratteri,possiamo creare il seguente modulo sintattico:

[-+]?[0-9]+

dove la prima espressione [-+] seleziona i caratteri meno o piu nella prima posizione del token, il puntointerogativo indica la non necessita del segno, l’espressione [0-9]+ seleziona almeno un carattere relativoalle cifre numeriche.In questo modo l’analizzatore sintattico puo riconoscere tutti i numeri con o sezasegno da una a piu cifre.

L’inserimento di piu moduli formattati utilizzando le regole precedenti, permette il riconoscimentodelle keyword del linguaggio di cui si vuole fare l’analisi lessicale.

Nel caso del SASF per individure le keyword per il Sequencing Header Record (si veda la tabella 3.2)basta scrivere il modulo:

^[*]([A-Z_]1,10)

in cui vengono accettate tutte le parole con le lettere maiuscole o con underscore fino ad un massimo didieci caratteri.

Il passo successivo al riconoscimento del token e l’esecuzione o meno di una funzionalita: individuatala keyword per il Sequencing Header Record, ad esempio, l’analizzatore sintattico apre una comunicazionecon il parser per verificare che la grammatica per questo token sia stata rispettata.

Le espressioni regolari servono anche per trasformare una stringa in una quantita numerica: nel SASFci si trova spesso a lavorare con tempi nella forma consueta con le ore, minuti e secondi (HH:MM:SS); talefromato non e agevole per i calcoli, si dovrebbero definire nel programma delle regole per le elaborazionidi queste quantita (somme algebriche, confronti) che richiedono molte righe di codice e molto tempo.

Utilizzando le funzionalita di Flex, in fase di riconoscimento le stringhe nel ‘formato tempo’ si pos-sono subito trasformare nell’equivalente di secondi, come si vede in figura 3.15; qui compare la variabileyylval che permette di passare il valore dei secondi dall’analizzatore lessicale a quello sintattico. Ladirettiva return TIME; comunica al parser che la stringa individuata e un token di tipo TIME. L’ana-lizzatore sintattico esaminera infine se il token e nella giusta posizione, ovvero se questa e conforme allagrammatica.

[-+]?([0-9]2,):([0-9]2):([0-9]2)short sign=1;char *str;int hh, mm, ss, days;

str=strdup(yytext);if( !isdigit(yytext[0]) )

if( yytext[0]==’-’ ) sign=-1;str++; //remove the sign

hh=atoi( strtok(str, ":") );mm=atoi( strtok(NULL, ":") );ss=atoi( strtok(NULL, ":") );yylval.num=sign*(hh*3600+mm*60+ss);return TIME;

Figura 3.15: Modulo per la trasformazione di una stringa temporale dal formato HH:MM:SS in secondi:il risultato della trasformazione e passato all’analizzatore sintattico attraverso la direttivareturn( TIME );, il valore e dato dalla variabile interna di Flex ‘yyval’.

42 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

La grammatica di Bison

Lo scopo di un analizzatore sintattico e quello di verificare che lo stream in ingresso rispetti le regoledella grammatica. Come detto, una volta che i token siano stati riconosciuti dallo scanner, devonoessere raggruppati seguendo certe regole: queste regole sono messe nella forma di Backus-Naur, come adesempio in figura 3.11.

Un esempio concreto puo essere quello della somma di due tempi dati in ingresso nel formatoHH:MM:SS: in figura 3.15 si puo vedere la trasformazione della quale si e parlato precedentemente,la grammatica consiste nella caratterizzazione della somma algebrica di tue tempi.

expression :TIME ’+’ TIME

| TIME ’-’ TIME;

(a) Sintassi

<expression> ::=<TIME> + <TIME>

| <TIME> - <TIME>(b) Forma di Backus-Naur

Figura 3.16: Rappresentazione della grammatica di un sommatore di tempi.

In figura 3.16 e rappresentata la forma di Backus-Naur del sommatore con la sua implementazionenel formalismo dell’analizzatore sintattico. La barra verticale indica una scelta fra due possibilita: lasomma e la sottrazione dei tempi.

Lo stream di caratteri in ingresso deve essere tale da rispettare la formulazione della grammatica infigura 3.16. La risposta dell’analizzatore e una segnalazione di errore nel caso in cui tale grammatica nonsia verificata: si pensi all’inserimento di un solo tempo, senza operazine algebrica; questa eventualita nellagrammatica in figura 3.16 non e stata considerata percui non avendo regole in questo senso l’analizzatoreriporta un errore.

Il processo di riconoscimento della grammatica avviene mediante una struttura ad albero, non ne-cessariamente binario. Le estremita dell’albero sono i token identificati dall’analizzatore lessicale, i nodisono le operazioni grammaticali, nell’esempio la somma e la sottrazione.

statement

= expression

TIME + TIME

NAME

Figura 3.17: Esempio di struttura ad albero decisionale. Per riconoscere un costrutto di inizializzazionedi una variabile temporale, ad esempio l’azione DELTA = 01 : 14 : 00 + 00 : 05 : 00,l’analizzatore lessico-grammaticale lo scompone nei suoi token caratteristici: in questo casoexpression e statement.

Nell’esempio di figura 3.17 e rappresentato un’esempio di struttura ad albero decisionale. Sonoriportate due strutture statement e expression: la prima individua una struttura lessicale di assegnazionedi una variabile, la seconda rappresenta l’operazione di somma fra due tempi.

Un esempio di costrutto valido e DELTA = 01 : 14 : 00 + 00 : 05 : 00; l’analizzatore individua itoken ‘DELTA’, ‘=’, ‘01:14:00’, ‘+’ e ‘00:05:00’ e li associa ai costrutti statement e expression. In questafase l’analizzatore sintattico dichiara il costrutto come valido ed esegue il processo associato.

Un esempio di codice nel meta-linguaggio di Bison e dato dal seguente blocco di comandi:

3.4. ESEMPIO DI SEQUENZA NELLO STANDARD SASF 43

statement : NAME ’=’ expression $$ = $3;

expression: TIME $$ = $1;

| expression ’+’ TIME $$ = $1 + $3;

| expression ’-’ TIME $$ = $1 - $3;

;

nel quale, accanto alle definizioni dei costrutti simili a quelli in figura 3.16, sono indicate esplicitamentele azioni da svolgere. Nel caso in esempio, il validatore attivera il costrutto “$$=$1+$3;”: il simbolo$$ rappresenta il valore di uscita del costrutto, i simboli $1 e $3 individuano il valore degli addentidell’espressione.

La forza dell’analizzatore sintattico risiede nella ricorsivita delle regole, la quale permette di definireuna grammatica utilizzando le definizioni di regole precedenti. Nell’esempio precedente viene utilizzatatale proprieta nella definizione della regola grammaticale expression; nella definizione di questa regolasi hanno tre possibilita: la stampa del valore in secondi di TIME con l’azione “$$=$1” e il calcolo dellasomma algebrica dei tempi, con le azioni “$$=$1+$3” e “$$=$1-$3”.

Il costrutto descritto generalizza le funzionalita del sommatore algebrico di tempi, che puo avere piuaddendi. La ricorsivita e una caratteristica essenziale per un analizzatore sintattico la quale permet-te di scrivere strutture grammaticali agevolmente; inoltre, la ricorsivita permette di aggiungere nuovefunzionalita ad una regola grammaticale senza stravolgere le regole precedentemente implementate.

3.4 Esempio di sequenza nello standard SASF

In figura 3.18 e scritto un esempio di sequenza per VIR nello standard SASF. La sequenza inizia con ilcomando di impostazione dei parametri osservarivi (command 1); i quattordici parametri sono descrittiin tabella 2.4, in questo caso si imposta lo strumento per un’osservazione in pushbroom con lo specchiettodi scannerizzazione fermo nella posizione centrale (boresight di VIR); infatti lo scan mirror actuation enello stato di “OFF”. L’osservazione avra 350 frame nei due canali (si ha lo spectral channel con il valore“IR VIS”).

L’operazione osservativa memorizzera i dati prodotti nella Mass Memory di VIR, infatti il telemetryscience ha il valore di “NO VIR TM SCIENCE”. In questo caso l’ultimo parametro deve essere convalore di “NO COMPRESSION”, che rappresenta il valore di default del compression type quando nonsi producono dati direttamente nel Virtual Recorder.

La sequenza prosegue con l’apertura del cover (command 2) e imposta lo strumento nello statoSCIENCE per l’acquisizione dell’immagini spettrali nei due canali. Il tempo necessario per eseguire tuttele 350 acquisizioni per canale e stato stimato in 50 minuti, conformemente con la regola F-VIRC11 e laformula 2.1:

Tscience = Trep ×Nframe + TIR stab + Tmargin = 8× 350 + 30 + 170 = 3000s

Le azioni successive prevedono la transizione nello stato di STANDBY con il command 4 e lachiusura del cover con il comand 5.

I dati prodotti vengono infine scaricati nel Virtual Recorder con il command 6. Il tempo necessarioper il download dei dati e conforme con la regola F-VIRC12 e la formula 2.2 con Fcomp = 1 in quantoVIR MM DUMP e stato impostato con il parametro di “NO COMPRESSION”:

Tdump = Nframe ×Ndetector ×Nsubframe × Fcomp + Tmargin = 350× 2× 12× 1 + 60 = 8460s

Il data volume prodotto da questa sequenza puo essere calcolato nel seguente modo:

Nframe = 350Ndetector = 2

Ntotal subframe = 19×Nsubframe = 19× 12 = 228Npixel = 432× 256 = 110592

Npachetti = Ndetector ×Ntotal subframe ×Nframe

= 2× 228× 350 = 159600Nbit = 16×Npixel ×Nframe ×Ndetector

= 16× 110592× 350× 2 bit ∼ 1.159 Gibit

Il valore di Nsubframe e dato dalla tabella 2.2 per la risoluzione H SPE H SPA F (acquisizionecompleta). L’informazione contenuta in un pixel e di un byte (16 bit).

44 IL SASF (SPACECRAFT ACTIVITY SEQUENCE FILE)

CCSD3ZF0000100000001NJPL3KS0L015$$MARK$$;

MISSION_NAME = DAWN;

SPACECRAFT_NAME = DAWN;

DATA_SET_ID = SPACECRAFT_ACTIVITY_SEQUENCE_DSC;

FILE_NAME = test.r04.sasf;

APPLICABLE_START_TIME = 2007-001T00:00:00.000;

APPLICABLE_STOP_TIME = 2017-001T00:00:00.000;

PRODUCT_CREATION_TIME = 2009-317T15:35:12.000;

PRODUCER_ID = SEQ;

SEQ_ID = test.r04;

HOST_ID = dawndsc2;

CCSD3RE00000$$MARK$$NJPL3IF0M01300000001;

$$DWN SPACECRAFT ACTIVITY SEQUENCE FILE

************************************************************

*PROJECT DWN

*SPACECRAFT 203

*OPERATOR DWNDSC

*FILE_CMPLT TRUE

*DATE Thu Dec 10 15:35:12 2009

*SEQGEN V29.5.2 Thu Nov 29 13:34:23 PST 2007

*BEGIN 2007-001T00:00:00.000

*CUTOFF 2017-001T00:00:00.000

*TITLE VIRV_Test_4_MM_and_VR_dynamics

*EPOCHS_DEF

*TEST_LBL, 2009-348T11:00:00.000

*EPOCHS_END

*Input files used:

*File Type Last modified File name

************************************************************

$$EOH

$$EOD

request(Test_004,START_TIME, TEST_LBL+00:07:00.000,

TITLE, "Test flight rules FVIRC11",

REQUESTOR, "sfonte", PROCESSOR, "GSC1", KEY, "No_Key")

command(1, SCHEDULED_TIME,\00:00:00\,FROM_REQUEST_START,

NTEXT,\"Test_002: Set VIR science parameters"\,

VIR_TC_SCIENCE_PARAMS("H_SPE_H_SPA_F",8,16,5,5,5,5,350,"IR_VIS","ALL_SUBFRAMES",

"OFF",1,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(2, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

NTEXT,\"Test_002: Set VIR science parameters"\,

VIR_TC_COVER("OPENCOVER") ),

command(3, SCHEDULED_TIME,\00:00:35\,FROM_PREVIOUS_START,

NTEXT,\"Test_002: Acquire science data"\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(4, SCHEDULED_TIME,\00:50:00\,FROM_PREVIOUS_START,

NTEXT,\"Test_002: VIR goes on"\,

VIR_TC_STAND_BY() ),

command(5, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

NTEXT,\"Test_002: Set VIR science parameters"\,

VIR_TC_COVER("CLOSECOVER") ),

command(6, SCHEDULED_TIME,\00:00:60\,FROM_PREVIOUS_START,

NTEXT,\"Test_002: VIR goes on"\,

VIR_MM_DUMP("NO_COMPRESSION") ),

command(7, SCHEDULED_TIME,\02:21:00\,FROM_PREVIOUS_START,

NTEXT,\"Test_002: VIR goes on"\,

VIR_TC_STAND_BY() ),

end;

$$EOF

Figura 3.18: Esempio di sequenza nello standard SASF nel quale viene aperto il cover per eseguere un’os-servazione in pushbroom con 350 frame. I dati prodotti sono caricati nella Mass Memory epoi scaricati nel Virtual Recorder per l’analisi a Terra.

Capitolo 4

Descrizione delle operazioni preliminari

Sommario

Le tecniche descritte per lo sviluppo delle sequenze operative sono state applicate alle proce-

dure per la verifica del funzionamento dello strumento dopo il lancio dello spacecraft che lo

contiene. Sono state controllate le meccaniche di VIR, comandando il movimento del cover e

impostando le diverse modalita dello scan mirror. Inoltre, sono state eseguite delle procedure

per individuare le criticita dello strumento, caratterizzando la produzione dei dati durante

le acquisizioni. Un ultimo test ha previsto l’utilizzo del canale ridondato di alimentazione.

Le verifiche funzionali di VIR sono state effettuate appena dopo il lancio dello spacecraft. Questeseguenze hanno riguardato la verifica delle funzionalita meccaniche dello strumento, la caratterizzazionedei suoi modi operativi e un test del canale di alimentazione secondario.

In questo frangente la pipeline di figura 3.2, non e stata del tutto utilizzata, in quanto le necessitadelle operazioni non erano quelle di un’osservazione di un oggetto esteso. Per i test di funzionamento,infatti, viene solo generato il codice SASF per l’utilizzo di VIR.

Tale generazione e avvenuta scrivendo il codice in un editor di testo, rispettando le direttive del stan-dard SASF e le regole riportate in tabella 2.6. Il modus operandi ricalca il lavoro che un programmatorefa durante la stesura di un codice: viene scritto lo script SASF e di seguito corretti gli eventuali errorisintattici e grammaticali utilizzando il compilatore di SASF (VIRV), descritto nel capitolo 3.

ICO Functional

test

Mass Memory

test

Calibrationsequence

Power on Cover moving

Scan Mirror

moving

test

Operative mode

Data production

test

Power off

channel test

RedundantPower off

File_1 File_2

Figura 4.1: Diagramma a blocchi delle procedure di analisi delle funzioni di VIR dopo il lancio dellospacecraft. La verifica si articola in otto test, distribuite in due file SASF: nel primo vengonoverificate le funzionalita primarie e la Mass Memory ; nel secondo file si controlla la meccanicadello strumento e si verifica il canale di alimentazione secondario.

45

46 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

Tuttavia VIRV non e un linker ; nella logica informatica lo sviluppo di appicazioni per un datoprocessore si esegue in due passi: la compilazione ed il linking. Effettivamente, VIRV esegue il processodi compilazione producendo un codice oggetto (la tabella di dati); ma il processo di linking non vieneeseguito, in quanto da VIRV non si pretende la generazione del codice macchina dello spettrometro.

Analizzando il codice oggetto in uscita da VIRV, possiamo avere una simulazione del comportamentodi VIR per la sequenza SASF prodotta.

La seguenza per le verifiche funzionali e articolata secondo lo schema riportato in figura 4.1. Questasequenza e stata impostata suddividendo le operazioni in due file distinti: un primo script e statoimplementato per verificare l’accensione di VIR, l’effettiva operativita della memoria e per avere lagaranzia nel funzionamento del processo di calibrazione interna.

In quest’ultimo passo si utilizzano tutte le funzionalita dello strumento, eseguendo una acquisizionecon un oggetto reale: le lampade interne di VIR.

Durante tale processo si utilizza il canale infrarosso, quindi le operazione devono prevedere un raf-freddamento dello strumento. In questo modo vengono sollecitate tutte le parti di VIR nell’eseguire leloro funziponalita.

Il secondo file verifica che tutte le parti meccaniche di VIR non abbiamo subito danni dall’insersionein orbita di Dawn. Si effettua un controllo dello stato del motore che gestisce il cover, comandando ilsuo movimento. Si e, inoltre, sviluppato uno script per verificare il corretto funzionamento dello scanmirror, impostando diverse modalita esecutive del motore passo-passo dello specchietto.

I diversi modi operativi dello strumento, ossia le differenti risoluzioni delle immagini dello spettro-metro sono analizzate utilizzando le lampade di calibrazione presenti.

Inoltre, la produzione dei dati viene analizzata nelle sue due modalita: acquisizione con archiviazionedei dati nella Mass Memory e acquisizione con scarico diretto nel Virtual Recorder (vedi figura 4.2).Durante queste modalita il carico di lavoro della Main Electronic e diverso: nel primo caso il tempodi elaborazione necessario alla ME e inferiore rispetto alla seconda modalita; si e valutato che alla MEnecessitano non meno di quindici secondi per effettuare la sua elaborazione nel Mode 2 in figura 4.2.Mentre nel Mode 1 i tempi di elaborazione spingono la ME fino a quattro secondi.

Infine, viene spento lo strumento e riacceso con il canale secondario di alimentazione.

package

and/orcompress

package

and/orcompress

PEM Mass Memory VR S/CFPAs

PEM VR S/CFPAs

Mode 2

Mode 1

PEM: Proximity Electronic Module

S/C VR: Spacecraft Virtual Recorder

FPAs: Focal Plane Arraies

Figura 4.2: Schema dei modi di acquisizione di VIR. Nel Mode 1 la Main Electronic acquisisce le infor-mazioni dai due piani focali (FPA) attraverso la PEM e le archivia nella memoria di massadi VIR. Nel Mode 2 le informazioni dai due canali spettrali sono impacchettati e/o compressidirettamente nel Virtual Recorder ; in questo caso la Main Electronic non utilizza la MassMemory e l’impacchettamento e/o la compressione avvengono durante l’aquisizione i dati.

4.1. L’HEADER DELLE SEQUENZE DI ICO (INITIAL CHECKOUT ) 47

4.1 L’header delle sequenze di ICO (Initial CheckOut)

Il file delle sequenze per le operazioni preliminari di VIR e composto dal header riportato in figura 4.3;il nome del file nel quale sono riportate le informazioni sulla sequenza di verifica della memoria di massadi VIR e “vir ico MMtest.r3.sasf”.

CCSD3ZF0000100000001NJPL3KS0L015$$MARK$$;

MISSION_NAME = DAWN;

SPACECRAFT_NAME = DAWN;

DATA_SET_ID = SPACECRAFT_ACTIVITY_SEQUENCE_DSC;

FILE_NAME = vir_ico_MMtest.r3.sasf;

APPLICABLE_START_TIME = 2007-201T16:00:00.000;

APPLICABLE_STOP_TIME = 2007-201T23:55:00.000;

PRODUCT_CREATION_TIME = 2007-123T12:30:00.000;

PRODUCER_ID = VIRTEAM;

SEQ_ID = vir_ico_MMtest.r3;

HOST_ID = dawndsc2;

CCSD3RE00000$$MARK$$NJPL3IF0M01300000001;

$$DWN SPACECRAFT ACTIVITY SEQUENCE FILE

************************************************************

*PROJECT DWN

*SPACECRAFT 203

*OPERATOR DWNDSC

*FILE_CMPLT TRUE

*DATE Thu May 03 12:30:00 2007

*SEQGEN V29.0 Wed Jun 14 07:53:36 PDT 2006

*BEGIN 2007-201T16:00:00.000

*CUTOFF 2007-201T23:55:00.000

*TITLE VIR_ICO_Functional_Test

*EPOCHS_DEF

*VIR_FUNCTIONAL_PWR_ON,2007-201T16:00:00

*VIR_FUNCTIONAL_PWR_OFF,2007-202T00:30:00

*EPOCHS_END

*Input files used:

*File Type Last modified File name

************************************************************

$$EOH

$$EOD

Figura 4.3: Header del file di sequenza che si riferisce ai test funzionali della Mass Memory di VIR: lekeyword importanti per la stesura della sequenza riguardano i tempi caratteristici di accensionee spegnimento di VIR, e il titolo delle operazioni.

Questa parte del file inquadra la sequenza in un contesto nel quale si prevedono piu operazioni peri diversi strumenti di Dawn. I dati importanti per la gestione e/o stesura della sequenza sono inseriti inquesta sezione e riguardano il titolo (VIR ICO Functional Test), il quale riporta una breve descrizionedelle operazioni inserite nel file: in questo caso le verifiche funzionali dello strumento.

I riferimenti temporali delle operazioni sono stati decisi in accordo con tutto il team della missione,per evitare eventuali collisioni fra i comandi della strumentazione di bordo. Tali riferimenti vengonoinseriti tra le epochs keyword e sono:

• “VIR FUNCTIONAL PWR ON” che si riferisce all’accensione dello strumento;

• “VIR FUNCTIONAL PWR OFF” che indica lo spegnimento di VIR.

La sezione successiva all’header riguarda il body, in questo caso non e stato implementato del codicenella sezione dedicata al cyclic in quanto non sono state previste delle chiamate a librerie di procedurenelle sequenze operative.

Parte della sezione body e riportata in figura 4.4 ed inizia con un step activity (activity 1) chepermette all’integratore di sequenze in figura 3.1 di caricare nella sua memoria interna le informazioninecessarie per il processo integratore; tali informazioni sono riportate nel file “vir ico MMtest.rel” resi-dente nel direttorio “d:/fb05” presente nella macchina in cui e residente l’integratore. Il file “.rel” viene

48 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

generato durante una prima scannerizzazione del SASF da parte del programma di integrazione: l’inte-gratore di figura 3.1 esegue una prima lettura dei file in ingresso per individuare i tempi di esecuzionedei vari comandi.

Tali tempi sono riportati in un file con estenzione “.rel” in quanto riguardano tempi relativi ad unriferimento temporale e non assoluti, nel qual caso avrebbe estensione “.abs”; il parametro “RELATV”indica al programma integratore che nel file di sequenza in esame sono riportati intervalli di temporelativi.

request(VIR_ICO_FunctionalTestTurnAndMM,

START_TIME, VIR_FUNCTIONAL_PWR_ON+00:00:00,

REQUESTOR, "Sergio Fonte",

PROCESSOR, "GSC1",

KEY, "No_Key",

TITLE, "VIR Power On and Mass Memory test")

activity(1,

SCHEDULED_TIME,\00:00:00\,FROM_REQUEST_START,

SEQTRAN_directive(VML_START, 2000-001T00:00:00.000,

2050-001T00:00:00.000, "RELATV",

"vir_ico_MMtest",

"vir_ico_MMtest.rel", "d:/fb05")

),

note(1,

SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"VIR_ICO_PowerON_001: Power On the VIR instrument"\

),

spawn(1,

SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

REQ_ENGINE_ID,\ANY_ENGINE\,

RT_on_board_block(vpon_vir_power_on,"VIR_P","SAFE")

),

note(2,

SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"VIR_ICO_mass_memory_test"\

),

command(1,

SCHEDULED_TIME,\00:07:00\,FROM_PREVIOUS_START,

COMMENT,\Step 1: VIR goes on STAND_BY mode\,

VIR_TC_STAND_BY()

),

command(2,

SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Step 2: Start the Mass Memory test\,

VIR_MM_TEST()

),

command(3,

SCHEDULED_TIME,\00:00:01\,FROM_PREVIOUS_START,

COMMENT,\Step 3:

Confirm the previous critical MM test telecommand\,

VIR_TC_CONFIRM(18)

),

end;

Figura 4.4: SASF per l’accensione di VIR durante i test funzionali: la prima parte e adibita all’accensionedello strumento, la seconda riporta la verifica della funzionalita della memoria di massa. Ilraccordo tra le due operazioni e rappresentato da un passaggio di modo: dallo stato di SAFEa quello di STANDBY, secondo quanto riportato dallo schema in figura 2.7.

L’impostazione del’integratore sequenziale si conclude con la note 1 la quale indica la successivachiamata alla procedura di accensione dello strumento. Le note sono utili durante l’esame dei dati inuscita dal processo di integrazione, difatti tale programma genera una serie di file nei quali e riporata unasimulazione temporale della sequenza integrata. Da questa simulazione viene generata una tabella con

4.2. VERIFICA DELLO STATO DELLA MEMORIA DI MASSA 49

l’elenco delle operazioni svolte da tutta la strumentazione di bordo, ad ogni riga della tabella e associataun’operazione (ossia una step section di figura 3.11) e un tempo il quale rappresenta l’inizio dello stepoperativo. Nell’esame di tali dati e utile avere dei commenti che caratterizzano l’evento che si sta peresaminare; tali commenti sono riportati in tabella dalle note presenti nella sequenza.

4.2 Verifica dello stato della memoria di massa

La verifica della Mass Memory si sviluppa come nella sequenza riportata in figura 4.4. La prima operzioneda svolgere dopo le impostazioni per l’integratore sequenziale e l’accensione dello strumento, la quale siesegue nello step indicato con spawn 1.

Questa operazione viene effettuata dal on-board block richiamato dalla direttiva “RT on board block”nel quale si imposta VIR per un’accensione sul canale di alimentazione primario.

La procedura di accensione dello strumento

La direttiva SASF “RT on board block” richiama il on-board block “vpon vir power on” il cui schemaa blocchi e rappresentato nella figura 4.5. La procedura di accensione si sviluppa con due possibiliconfigurazioni dello strumento.

VIR_TC_RESET

VIR_MAINTENANCEVIR_LOAD_EEPROM_SW

VIR_SAFE

Figura 4.5: Diagramma a blocchi della procedura di accensione di VIR. Lo on-board block di accensionedello strumento ha come ingressi il canale di alimentazione (primario o ridondato) e lo statoche VIR deve avere alla fine dell’operazione di accensione. I due canali di alimentazione hannolo stesso diagramma a blocchi.

In primo luogo, la procedura di accensione in figura 4.5 imposta lo spacecraft per la comunicazionecon lo strumento VIR, abilitando l’alimentazione di quest’ultimo. Viene eseguito quindi un reset dellostrumento e direzionata l’alimentazione dallo spacecraft al canale o primario o secondario di alimentazionedello spettrometro ad immagine.

Infatti, per ragioni di ridondanza, VIR e stato realizzato con due canali di alimentazione: questogarantisce una soluzione ad eventuali problemi derivanti da un guasto nell’alimentazione.

Come riportato dal diagramma in figura 2.7, il comando di VIR TC RESET porta lo stato dellostrumento in INITTEST. Questo e un modo di transizione in cui lo strumento carica le informazioninecessarie per il suo utilizzo. Nella scelta indicata dal secondo parametro dello on-board block si puo por-tare lo strumento dallo stato di INITTEST a quello di SAFE o di MAINTENACE: nel primo caso vienecaricato il software presente nella EEPROM e viene impostato lo strumento per eseguire le operazioniprimarie di gestione (con il comando VIR SAFE); mentre la seconda opportunita permette le operazionidi gestione della memoria di VIR, portandolo nello stato di MAINTENANCE.

Nel listato di figura 4.4, lo spettrometro ad immagine viene impostato nello stato di SAFE. Per uscireda questa configurazione operativa a VIR potra essere comandato la sola procedura VIR TC STAND BY,altri macrocomandi saranno riggettati.

50 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

Il test della Mass Memory

La verifica della memoria di massa avviene con lo step command 2 in figura 4.4. Per essere eseguito ilcomando VIR MM TEST lo strumento deve essere nello stato di STANDBY, come si vede dal diagrammadi stato in figura 2.7.

Per questo con lo step command 1 si effettua l’unica transizione di stato possibile per lo strumento,quella da SAFE a STANDBY.

Il comando di verifica della memoria in command 2 e uno dei comandi critici di VIR, come eviden-ziato dalla tabella 2.7. Questa criticita necessita di una conferma che si esplica con il comando allo stepsuccessivo (command 3). Il parametro riportato in questo ultimo comando e l’opcode1 del telecomandoallo step command 2.

L’esecuzione del test della memoria necessita di circa quarantadue minuti, infatti la request successiva,quella che si riferisce alla calibrazione, sara eseguita dopo un ora rispetto all’inizio della request presentein figura 4.4.

Dal codice di figura 4.4 lo SCHEDULED TIME dello step command 3 riporta il valore di unsecondo rispetto al comando precedente (si veda la direttiva FROM PREVIOUS START). Tale valoree corretto, in quanto per essere eseguito il comando di test della memoria necessita della confermaentro trenta secondi dall’invio del comando critico. Tuttavia, per avere un indicazione della durata diVIR MM TEST bisogna riferirsi alla request successiva (vedi figura 4.6), in quanto il command 3 el’ultimo step della sequenza.

Questo modo di procedere e risultato pericoloso: durante la stesura del SASF ci si e accorti comesia necessario individuare non solo l’inizio della direttiva request ma anche la fine. Per questo motivo sie scelto di scrivere, durante la stesura delle sequenze future, una note alla fine della request il cui tempocaratteristico (“SCHEDULED TIME”) e la durata dell’esecuzione del comando precedente. In questomodo sara ben chiara la durata dell’ultimo comando di VIR nella request.

La calibrazione completa

Durante le operazioni funzionali e stata eseguita anche una calibrazione interna dello strumento. Infigura 4.6 tale richiesta ha avuto esecuzione dopo un’ora dall’inizio dei test : lo “START TIME” dellarequest avviene al tempo “VIR FUNCTIONAL PWR ON+01:00:00”, per permettere al comando diverifica della memoria di essere eseguito per intero.

Queste operazioni iniziano con lo step spawn 1 per la chiamata del on-board block di calibrazione“vcfl vir calibration full” presente nella memoria dello spacecraft e finiscono con la note 2 in cui sonoriportati i dati prodotti dalla calibrazione; tale nota pero non riporta il tempo di esecuzione del comandodi calibrazione precedente.

Il tempo di esecuzione della request non e ben individuato nella figura 4.6, in quanto sembrerebbedurare zero secondi. Difatti, la sua valutazione si potrebbe ricavare osservando la richiesta successiva, laquale non e presente in quanto il file di sequenza e arrivato alla fine (si veda la direttiva $$EOF nellafigura 4.6).

Per ricavare la durata di questa procedura bisogna osservare le operazioni successive previste nei testfunzionali e presenti nell’altro SASF.

Questo e un problema la cui importanza si evidenza in fase di debugging del codice delle sequenzeoperative. Per arginare queste problematiche e bene, come detto precedentemente, inserire delle notealla fine della request con indicato il tempo di esecuzione dell’ultimo comando di VIR.

Durante la stesura del codice della sequenza, il tempo di esecuzione del on-board block per la cali-brazione interna e stato calcolato rispettando la flight rule F-VIRC11 con la formula 2.1. In particolare,usando i dati presenti nella tabella 2.3 tale formula si puo adattare scrivendo:

Tcalibration =7∑

k=1

[Trep(k)×Nframe(k) + TIR Stabilization Time(k)] + Tmargin (4.1)

dove k e l’indice che individua lo step (o passo) della calibrazione, Trep(k) e il repetition time al passok con cui si acquisiscono le immagini spettrali, Nframe(k) e il numero di acquisizioni per canale riferitoal passo k della calibrazione. Ogni fase di calibrazione ha bisogno di un tempo per la stabilizzazione delcanale infrarosso, indicato con TIR Stabilization Time e che vale 30 s, necessario affinche si possa utilizzaretale sensore. La variabile Tmargin rappresenta un margine di sicurezza nel calcolo.

1Per opcode si intende il codice esadecimale che individua un macrocomando all’interno del software di bordodi VIR.

4.2. VERIFICA DELLO STATO DELLA MEMORIA DI MASSA 51

request(VIR_ICO_CoolAndFullCalibration,

START_TIME, VIR_FUNCTIONAL_PWR_ON+01:00:00,

REQUESTOR, "Sergio Fonte",

PROCESSOR, "GSC1",

KEY, "No_Key",

TITLE, "Instrument Calibration using internal lamps")

note(1,

SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"VML block vcfl_vir_calibration_full

including cool down, full calibration and dump"\

),

spawn(1,

SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

REQ_ENGINE_ID,\ANY_ENGINE\,

RT_on_board_block(vcfl_vir_calibration_full)

),

note(2,

SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"Number of frame: 70 ;

Number of packets: 15960;

Number of bits: 0.116Gb"\

),

end;

$$EOF

Figura 4.6: SASF per la calibrazione interna durante le operazione dei test funzionali. Questa procedurautilizza lo on-board block che prevede oltre alla calibrazione interna completa anche il comandodi raffreddamento del piano infrarosso.

L’esecuzione dell’intera sequenza e di circa quindici minuti, infatti per ogni fase di calibrazione siproducono cinque acquisizioni (Nframe(k) = 5 ∀ k = 1..7) per canale quindi si ottiene:

Tcalibration = 5× (20s× 6 + 22s + 30s) + 40s = 900s (4.2)

ossia, come detto, quindici secondi. La macro procedura della calibrazione prevede al suo interno anchelo scarico non compresso dei dati sul Virtual Recorder e il raffreddamento del piano focale infrarosso; iltempo di esecuzione per queste operazioni e stato stimato in laboratorio in circa tre ore complessive.

Per valutare il data volume sviluppato dalla calibrazione interna completa possiamo riportare lequantita caratteristicche:

Nframe = 35Ndetector = 2

Ntotal subframe = 19×Nsubframe = 19× 12 = 228Npixel = 432× 256 = 110592

Npachetti = Ndetector ×Ntotal subframe ×Nframe

= 2× 228× 35 = 15960Nbit = 16×Npixel ×Nframe ×Ndetector

= 16× 110592× 35× 2 bit ∼ 0.116 Gibit (4.3)

Questi dati sono stati scritti come commento nella note 2 della request in figura 4.6, per agevolare ildebugging della sequenza in fase di integrazione e per futura memoria.

52 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

4.3 Verifica delle funzionalita meccaniche

Le operazioni successive durante questi test riguardano la meccanica dello strumento. Sono state im-plementate le procedure per verificare che le funzionalita di natura meccanica dello spettrometro nonabbiano subito danni imputabili alle vibrazioni indotte dal lancio dello spacecraft.

Tali operazioni sono state scritte in un nuovo file di sequenza, nel quale la sezione header e sostan-zialmente simile a quanto riportato in figura 4.3, le diversita sono dovute solo al tempo di creazione delfile (vedi il parametro PRODUCT CREATION TIME) che per ovvi motivi non puo essere uguale.

Il file e strutturato in modo da contenere tre request : una prima request contiene le operazioni per itest di funzionamento di VIR, una seconda request verifica che il canale di alimentazione ridondato nonabbia subito danni ed in fine una terza request per lo spegnimento dello strumento.

Il motore del cover

In figura 4.7 e rappresentata una sezione della prima request, la quale comanda il cover per un’aperturaed una successiva sua chiusura. Il tempo necessario per l’esecuzione della direttiva di movimento delcover e di trentacinque secondi sia per l’apertura che per la chiusura. Nel database dei comandi in tabella2.7 esiste un macrocomando che imposta la rottura definitiva del motore che gestisce il cover attraversol’innesco di una carica esplosiva. Come ovvio, tale comando non e stato verificato e si spera che in futuronon si debba usare.

note(1,

SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"VIR_ICO_open_close_cover: Test the Cover’s meccanic"\

),

command(1,

SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

COMMENT,\Open the Cover\,

VIR_TC_COVER("OPENCOVER")

),

command(2,

SCHEDULED_TIME,\00:00:35\,FROM_PREVIOUS_START,

COMMENT,\Close the Cover\,

VIR_TC_COVER("CLOSECOVER")

),

Figura 4.7: Verifica del funzionamento del cover. Il cover e stato comandato per un’apertura ed unasuccessiva chiusura. Il tempo necessario al motore per aprire completamete il cover e di 35 s;durante l’apertura VIR non puo accettare nessun altro comando.

La meccanica dello scan mirror

Le successive operazioni effettuate riguardano il movimento dello specchietto di scannerizzazione. Loscan mirror puo essere impostato in dieci modalita differenti, il software di gestione dello strumentesuddivide questi modi in due sezioni. La prima sezione raggruppa i modi operativi che prevedono unmovimento dello specchietto, nella seconda parte lo specchietto viene posizionato ad un angolo fissorispetto al centro di osservazione (boresight).

Durante un’acquisizione in pushbroom2 si ha la necessita di osservare in posizioni differenti dal nadirpoint3: in questo caso si possono utilizzare le configurazioni ad angolo fisso dello scan mirror.

Le dieci configurazioni sono caratterizzate da tre grandezze: l’angolo iniziale, quello finale e il passodella scannerizzazione. Nelle modalita in cui lo specchio e fisso in una posizione data i parametri cheimpostano l’angolo iniziale e finale coincidono, mentre il passo angolare e nullo.

Le modalita con scan mirror in movimento prevedono di scannerizzare il FOV dello strumento indiverse porzioni: mezza, un quarto, un ottavo e un sedicesimo della scannerizzazione completa.

2L’operazione di pushbroom implica un’osservazione senza utilizzo dello scan mirror ; le diverse immaginivengono acquisite grazie al movimento dello spacecraft.

3L’osservazione a nadir implica acquisire le immagini spettrali lungo la retta che unisce il centro di due corpi:l’osservatore e l’oggetto osservato.

4.3. VERIFICA DELLE FUNZIONALITA MECCANICHE 53

Questo modo di procedere nell’utilizzo dello specchietto di scannerizzazione non e rigido, infatti sipuo utilizzare il comando VIR TC SET PARAMS (vedi la tabella dei macrocomandi 2.7) per impostaredifferenti angoli di scannerizzazione.

note(2,SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"VIR_ICO_scan_mirror_test_001: scan entire VIR FOV"\ ),

command(3,SCHEDULED_TIME,\00:00:35\,FROM_PREVIOUS_START,

COMMENT,\Set VIR science parameters\,

VIR_TC_SCIENCE_PARAMS("L_SPE_L_SPA_F",4,16,5,5,5,5,273,"VIS_ONLY","ALL_SUBFRAMES",

"ON",1,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(4, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

note(3, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"VIR_ICO_scan_mirror_test_002: scan at 5 fixed position"\ ),

command(5, SCHEDULED_TIME,\00:20:00\,FROM_PREVIOUS_START,

COMMENT,\Set VIR science parameters\,

VIR_TC_SCIENCE_PARAMS("L_SPE_L_SPA_F",4,5,5,5,5,5,5,"VIS_ONLY","ALL_SUBFRAMES",

"ON",6,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(6, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(7, SCHEDULED_TIME,\00:02:00\,FROM_PREVIOUS_START,

COMMENT,\Set VIR science parameters\,

VIR_TC_SCIENCE_PARAMS("L_SPE_L_SPA_F",4,5,5,5,5,5,5,"VIS_ONLY","ALL_SUBFRAMES",

"ON",7,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(8, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(9, SCHEDULED_TIME,\00:02:00\,FROM_PREVIOUS_START,

COMMENT,\Set VIR science parameters\,

VIR_TC_SCIENCE_PARAMS("L_SPE_L_SPA_F",4,5,5,5,5,5,5,"VIS_ONLY","ALL_SUBFRAMES",

"ON",8,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(10, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(11, SCHEDULED_TIME,\00:02:00\,FROM_PREVIOUS_START,

COMMENT,\Set VIR science parameters\,

VIR_TC_SCIENCE_PARAMS("L_SPE_L_SPA_F",4,5,5,5,5,5,5,"VIS_ONLY","ALL_SUBFRAMES",

"ON",9,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(12, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(13, SCHEDULED_TIME,\00:02:00\,FROM_PREVIOUS_START,

COMMENT,\Set VIR science parameters\,

VIR_TC_SCIENCE_PARAMS("L_SPE_L_SPA_F",4,5,5,5,5,5,5,"VIS_ONLY","ALL_SUBFRAMES",

"ON",10,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(14, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(15, SCHEDULED_TIME,\00:02:00\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_dump_002: VIR Data dump should be complete\,

VIR_MM_DUMP("NO_COMPRESSION") ),

command(16, SCHEDULED_TIME,\00:07:00\,FROM_PREVIOUS_START,

COMMENT,\VIR goes on STAND_BY mode\,

VIR_TC_STAND_BY() ),

note(4, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"Number of frame: 298; Number of packets: 5662; Number of bits: 0.044Gb"\ ),

Figura 4.8: SASF per la verifica del funzionamento dello scan mirror. Lo specchietto di scannerizzazionee stato comandato per eseguire un’intera scannerizzazione e per mantenere le cinque posizionistandard.

54 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

Nella procedura di figura 4.8 sono stati impostati i parametri per effettuare una scannerizzazionecompleta del FOV di VIR; nel command 3 lo spettrometro e stato configurato con:

• il Submode in bassa qualita sia spettrale che spaziale, per ridurre il data volume di singolaacquisizione al minimo valore;

• il Repetition time di 4 s , il piu basso per la risoluzione impostata;

• il Dark acquisition period pari a 16 per avere qualche acquisizione di dark ;

• i tempi di integrazione e di ritardo per i due canali sono stati impostati a 5 (ossia 0.1s), questo eun valore fittizio in quanto non interessa la qualita delle immagini spettrali;

• il Number of frame e pari a 273, la scannerizzazione dell’intero FOV e di 256 passi per lo scanmirror, i 17 frame in piu sono le acquisizioni di dark ;

• lo Spectral channel e impostato per avere il solo canale visibile;

• lo Spectral range e impostato per ottenere tutti i subframe;

• lo Scan mirror actuation e impostato nello stato “ON”;

• lo Scan mirror mode e impostato con valore 1;

• il Telemetry science non prevede lo scarico sul Virtual Recorder ;

• il Compression type e impostato con un valore fittizio di “NO COMPRESSION”.

Alcuni di questi parametri saranno mantenuti per le successive operazioni; le differenze sarannoimputabili al solo Scan mirror mode che assumera i valori 6, 7, 8, 9 e 10.

Nel caso di scannerizzazione completa (command 3) il valore 1 indica la modalita di scannerizzazionedell’intero FOV, ossia 256 posizioni per lo specchietto.

Il tempo di esecuzione del comando di scienza successivo (command 4) e dato dalla flight rulesF-VIRC11:

Tscience = Trep ×Nframe + TIR stab + Tmargin = 4s× 273 + 30s + 78s = 1200s

il command 5, infatti, riporta un SCHEDULED TIME di venti minuti.Le acquisizioni successive per le differenti posizioni dello specchietto producono 5 frame di acquisi-

zione per il solo canale visibile; questo significa che il tempo di esecuzione per un singolo frame e di dueminuti; utilizzando la F-VIRC11:

Tscience = Trep ×Nframe + TIR stab + Tmargin = 4s× 5 + 30s + 70s = 120s

Il data volume sviluppato dalla sequenza di test dello specchietto di scannerizzazione puo esserevalutato utilizzando le seguenti grandezze:

Nframe = 273 + 5 ∗ 5 = 298Ndetector = 1

Ntotal subframe = 19×Nsubframe = 19× 1 = 19Npixel = 144× 64 = 9216

Npackets = Ndetector ×Ntotal subframe ×Nframe

= 1× 19× 298 = 5662Nbit = 16×Npixel ×Nframe ×Ndetector

= 16× 9216× 298× 1 bit ∼ 0.041 Gibit

dove per la risoluzione adottata il Nsubframe e pari a 1 e il numero di pixel e 9216, si veda la tabella 2.2.Lo scarico dei dati nel Virtual Recorder (command 15) avviene secondo la modalita non compressa,

raggion per cui nella memoria dello spacecraft si avra lo stesso quantitativo di dati della Mass Memorydi VIR.

4.4. VERIFICA DEI MODI OPERATIVI 55

4.4 Verifica dei modi operativi

Le operazioni successive hanno previsto la verifica dei modi operativi, ovvero delle diverse risoluzionidelle immagini spettrali dello strumento. Questo e avvenuto utilizzando la procedura di calibrazioneinterna dello strumento, in quanto la presenza delle lampade interne introduce un oggetto osservativonoto; lo spettro delle lampade infatti e noto, quindi si ha un riscontro sul funzionamento dei due pianifocali.

command(17, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_FullCalibration_002: Perform a full calibration of the VIR\,

VIR_CALIBRATION("H_SPE_H_SPA_F","CLOSECOVERATEND","FULLCALSEQ") ),

command(18, SCHEDULED_TIME,\00:15:00\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_dump_comp: VIR compressed Data dump should be complete\,

VIR_MM_DUMP("LOSSLESS") ),

command(19, SCHEDULED_TIME,\00:11:20\,FROM_PREVIOUS_START,

COMMENT,\VIR goes on STAND_BY mode\,

VIR_TC_STAND_BY() ),

note(5, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"Number of frame: 70; Number of packets: 9389; Number of bits: 0.072Gb"\ ),

note(6, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"VIR_ICO_Operative_mode_test: perform 5 full calibration,

each with a different operative mode"\ ),

command(20, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Mode 1: H_SPE_L_SPA_F\,

VIR_CALIBRATION("H_SPE_L_SPA_F","CLOSECOVERATEND","FULLCALSEQ") ),

command(21, SCHEDULED_TIME,\00:15:00\,FROM_PREVIOUS_START,

COMMENT,\Mode 2: L_SPE_H_SPA_F\,

VIR_CALIBRATION("L_SPE_H_SPA_F","CLOSECOVERATEND","FULLCALSEQ") ),

command(22, SCHEDULED_TIME,\00:15:00\,FROM_PREVIOUS_START,

COMMENT,\Mode 3: L_SPE_L_SPA_F\,

VIR_CALIBRATION("L_SPE_L_SPA_F","CLOSECOVERATEND","FULLCALSEQ") ),

command(23, SCHEDULED_TIME,\00:15:00\,FROM_PREVIOUS_START,

COMMENT,\Mode 4: H_SPE_H_SPA_Q\,

VIR_CALIBRATION("H_SPE_H_SPA_Q","CLOSECOVERATEND","FULLCALSEQ") ),

command(24, SCHEDULED_TIME,\00:15:00\,FROM_PREVIOUS_START,

COMMENT,\Mode 5: L_SPE_H_SPA_Q\,

VIR_CALIBRATION("L_SPE_H_SPA_Q","CLOSECOVERATEND","FULLCALSEQ") ),

command(25, SCHEDULED_TIME,\00:15:00\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_dump_003: VIR compressed Data dump should be complete\,

VIR_MM_DUMP("LOSSLESS") ),

command(26, SCHEDULED_TIME,\00:11:20\,FROM_PREVIOUS_START,

COMMENT,\VIR goes on STAND_BY mode\,

VIR_TC_STAND_BY() ),

note(7, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"Number of frame: 350; Number of packets: 9389; Number of bits: 0.072Gb"\ ),

Figura 4.9: SASF per la verifica del funzionamento dei modi operativi. Sono state programmate diverseprocedure di calibrazione, una per ogni risoluzione in tabella 2.2.

La procedura inizialmente ha previsto una calibrazione completa con la risoluzione massima per leimmagini spettrali (command 17 in figura 4.9).

Il macrocomando di calibrazione ha in ingresso tre parametri:

• la risoluzione dell’immagine spettrale: come riportato in tabella 2.2, l’immagine spettrale puoavere sei tagli a seconda del binning e del windowing eseguiti;

• lo stato del cover alla fine della calibrazione: durante le sette fasi della calibrazione interna il coverdeve essere chiuso; tuttavia alla fine della procedura si puo prevedere di aprirlo;

• il tipo di calibrazione: come descritto nel paragrafo 2.3, la calibrazione interna e di due tipidiscriminati dall’utilizzo delle lampade.

56 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

Nel command 17 si effettua, quindi, una calibrazione completa (si veda il parametro “FULLCALSEQ”)alla massima risoluzione senza binning (“H SPE H SPA F”) e mantenendo il cover chiuso alla fine (siveda il parametro “CLOSECOVERATEND”).

Come visto, il tempo di esecuzione di questa procedura e dato dall’equazione 4.2; mentre il datavolume prodotto nella mass memory e dato dalla 4.4.

Lo step successivo (command 18) garantisce lo scarico della memoria di massa sul Virtual Recorder ;la procedura prevede una compressione dei dati. Possiamo valutare il tempo di esecuzione del comandodi download utilizzando l’equazione 2.2 della regola F-VRC12 della tabella 2.6:

Tdump = Nframe ×Ndetector ×Nsubframe × Fcomp + Tmargin =

= 35× 2× 12× 1917× 1.7

× 1s + 120s ∼ 680s

ossia undici minuti e venti secondi, come riportato nello scheduled time del command 19 in figura 4.9.La sequenza prosegue eseguendo altre calibrazioni con tutti i rimanenti modi operativi (ossia le

differenti risoluzioni delle immagini spettrali). Ogni procedura di calibrazione dura quindici minuti,infatti nell’equazione 4.1 non si fa alcun riferimento al modo operativo impostato per la calibrazione; iltempo di esecuzione di una fase della calibrazione dipende dal suo repetition time.

In tabella 4.1 sono elencati i data volume prodotti da tutte le procedure di calibrazione usate nellasezione di SASF riportata in figura 4.9. I dati prodotti sono archiviati nella memoria di massa dellospettrometro ad immagine. Per avere accesso a tali dati bisogna eseguire lo step command 25 per loscarico delle immagini spettrali sul Virtual Recorder presente nello spacecraft.

Step label Submode Nsubframe Npackets Npixel Nbit(Gibit)

20 H SPE L SPA F 21 3990 192526 0.02921 L SPE H SPA F 28 5320 258046 0.03822 L SPE L SPA F 7 1330 64512 0.01023 H SPE H SPA Q 21 3990 193536 0.02924 L SPE H SPA Q 7 1330 64512 0.010

Totale 774144 123863040 0.116

Tabella 4.1: Data volume prodotto durante il test dei modi operativi. Ogni comando di calibrazioneproduce cinque frame per ogni fase della calibrazione, in questo caso la calibrazione e completa.I dati prodotti dalla procedura di calibrazione sono archiviati nella memoria di massa di VIR,per avere accesso a tali dati bisogna effettura il download della memoria sul Virtual Recorder.

Il tempo di esecuzione in accordo con l’equazione 2.2 della regola F-VRC12 della tabella 2.6 e datodalla relazione:

Tdump = Nframe ×Ndetector ×5∑

k=1

Nsubframe(k)× Fcomp + Tmargin =

= 5× 2× (21 + 28 + 7 + 21 + 7)× 1917× 1.7

× 1s + 120s ∼ 680s

nella quale con Nframe si e indicato il numero di acquisizioni per canale durante una fase di calibrazionedi ogni modo operativo.

Il data volume presente nella memoria dello spacecraft dopo l’operazione di dump4 si valuta conside-rando il quantitativo di dati presenti nella Mass Memory :

Fcompression = 1.7Nframe = 5

4Download e dump indicano la stessa operazione di scarico della Mass Memory nel Virtual Recorder.

4.5. VERIFICA DELLA PRODUZIONE DEI DATI 57

Ndetector = 2Nsubframe = 21 + 28 + 7 + 21 + 7 = 84

Npackets = 19×Ndetector ×Nsubframe ×Nframe/Fcompression

= 19× 2× 84× 5/1.7 ∼ 9389Nbit = Npackets × 1024× 8bit

= 9389× 1024× 8 bit ∼ 0.072 Gibit.

Per pacchetto si intende una quantita di bit di informazione pari a 1024 unita, ogni unita e composta da1 byte5 di informazione. Un pacchetto, inoltre, comprende al suo interno 19 subframe6.

I valori ricavati sono stati scritti, come consueto, nella note 7 del SASF in figura 4.9.

4.5 Verifica della produzione dei dati

La verifica sulla produzione dei dati si suddivide in tre sezioni del SASF riportato nella figura 4.10.La prima parte comprende gli step commnad 27 e commnad 28; la seconda sezione e individuatadagli step commnad 29 e commnad 30, mentre l’ultima parte e formata dagli step commnad 33 ecommnad 34.

La prima procedura riguarda l’utilizzo del modo operativo con risoluzione massima, per verificare laproduzione di dati scientifici in questa modalita avvenga in maniera corretta. La seconda sezione eseguela stessa verifica ma con il windowing.

La terza sezione utilizza il Mode 2 di figura 4.2, per controllare che la velocita massima di processa-mento dell’elettronica di VIR.

Max data acquisition

Per questa procedura il parametri di aquisizione sono riportati nella tabella 4.2. VIR e impostato pereseguire settantatre frame con un repetion time di quattro secondi: questo e il periodo di tempo piubreve con il quale VIR puo lavorare per il modo operativo con fenditura piena.

Il modo operativo 3 dello scan mirror vuol dire che il motorino dello specchietto eseguira sessanta-quattro passi, ossia un quarto dell’escursione completa. Il dark acquisition period di 8 indica che VIRacquisira una dark ogni otto passi della scannerizzazione, ossia in nove posizioni lo scan mirror effettuerauna pausa per permettere l’acquisizione di una dark.

In tale operazione verrano utilizzati tutti e due i piani focali e l’archiviazione delle immagini acquisiteavviene nella memoria di massa di VIR.

Il tempo di esecuzione per effetuare tale operazione e dato dallo scheduled time dello step command29, infatti dalla regola scritta nell’equazione 2.1 si ricava:

Tscience = Trep ×Nframe + TIR stab + Tmargin = 4s× 73 + 30s + 38s = 600s.

Il data volume sviluppato dalla sequenza puo essere valutato utilizzando le seguenti grandezze:

Nframe = 73Ndetector = 2

Ntotal subframe = 19×Nsubframe = 19× 12 = 228Npixel = 432× 256 = 110592

Npackets = Ndetector ×Ntotal subframe ×Nframe

= 2× 228× 73 = 33288Nbit = 16×Npixel ×Nframe ×Ndetector

= 16× 110592× 73× 2 bit ∼ 0.241 Gibit

dove per la risoluzione adottata il Nsubframe usato e pari a 12 il quale produce un numero di pixel paria 110592 per ogni acquisizione, si veda la tabella 2.2.

51 byte = 8 bit.6Per la definizione di subframe si veda il paragrafo 2.2

58 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

command(27, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_Max_data_acquisition: Test of the maximum data production\,

VIR_TC_SCIENCE_PARAMS("H_SPE_H_SPA_F",4,8,5,5,5,5,73,"IR_VIS","ALL_SUBFRAMES",

"ON",3,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(28, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(29, SCHEDULED_TIME,\00:06:00\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_Max_speed: Test of the maximum data production\,

VIR_TC_SCIENCE_PARAMS("H_SPE_H_SPA_Q",2,8,5,5,5,5,37,"IR_VIS","ALL_SUBFRAMES",

"ON",4,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(30, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(31, SCHEDULED_TIME,\00:02:00\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_dump_004: VIR compressed Data dump should be complete\,

VIR_MM_DUMP("LOSSLESS") ),

command(32, SCHEDULED_TIME,\00:23:00\,FROM_PREVIOUS_START,

COMMENT,\VIR goes on STAND_BY mode\,

VIR_TC_STAND_BY() ),

note(8, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"Number of frame: 110; Number of packets: 22063; Number of bits: 0.169Gb"\ ),

command(33, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_Max_processing: Test of the maximum data processing,

the dump is performed while acquiring\,

VIR_TC_SCIENCE_PARAMS("L_SPE_H_SPA_F",15,8,5,5,5,5,18,"IR_VIS","ALL_SUBFRAMES",

"ON",5,"VIR_TM_SCIENCE_PRODUCTION","LOSSLESS") ),

note(9, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"For VIR_ICO_Max_processing the 1553 bus shall be ready to acquire data from VIR"\ ),

command(34, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

note(10, SCHEDULED_TIME,\00:07:00\,FROM_PREVIOUS_START,

TEXT,\"Number of frame: 18; Number of packets: 1610; Number of bits: 0.013Gb"\ ),

note(11, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"VIR_ICO_PowerOff_001: Power Off the VIR instrument"\ ),

spawn(1, SCHEDULED_TIME,\00:06:00\,FROM_PREVIOUS_START,

REQ_ENGINE_ID,\ANY_ENGINE\,

RT_on_board_block(vpof_vir_power_off) ),

end;

Figura 4.10: SASF per la verifiva della produzione dei dati. Sono indicate tre procedure: la prima esaminala produzione dei dati scientifici con la risoluzione massima per l’immagine spettrale; laseconda sezione valuta verifiva il modo windowing ; la terza verifica la procedura di dumpdurante l’acquisizione.

Max data speed

In questa parte, si utilizza un quarto di fenditura, vedi tabella 4.2. VIR e impostato per eseguiretrentasette frame con un repetion time di due secondi: questo e il periodo di tempo piu breve con ilquale VIR puo lavorare per il modo operativo con fenditura ridotta.

Il modo operativo 4 dello scan mirror vuol dire che il motorino dello specchietto eseguira trentaduepassi, ossia un ottavo dell’escursione completa. Il dark acquisition period rimane invariato rispetto alcaso precedente, ma essendo varieto il numero di frame, lo scan mirror effettuera una pausa ogni quattroposizioni per permettere l’acquisizione di una dark.

Il tempo di esecuzione per effetuare tale operazione e dato dallo scheduled time dello step command31, infatti dalla regola scritta nell’equazione 2.1 si ricava:

Tscience = Trep ×Nframe + TIR stab + Tmargin = 2s× 37 + 30s + 16s = 120s.

Il data volume sviluppato dalla sequenza puo essere valutato utilizzando le grandezza in tabella 4.2;

4.5. VERIFICA DELLA PRODUZIONE DEI DATI 59

Valore ValoreParametro Data Acqusition Data Speed

Submode H SPE H SPA F H SPE H SPA QRepetition time 4 2Dark acquisition period 8 8Integration time (IR and VIS) 5 5Number of frame 73 37Spectral channel IR VIS IR VISSpectral range ALL SUBFRAME ALL SUBFRAMEScan mirror actuation ON ONScan mirror mode 3 4Telemetry science NO VIR TM SCIENCE NO VIR TM SCIENCECompression type NO COMPRESSION NO COMPRESSION

Tabella 4.2: Valori dei parametri di acquisizione durante le operazioni del data acquisition e del data speed.Le due procedure si distinguono per il differente windowing e per due diverse scannerizzazionidel FOV.

si ricava:

Nframe = 37Ndetector = 2

Ntotal subframe = 19×Nsubframe = 19× 3 = 57Npixel = 432× 64 = 27648

Npackets = Ndetector ×Ntotal subframe ×Nframe

= 2× 57× 37 = 4218Nbit = 16×Npixel ×Nframe ×Ndetector

= 16× 4218× 37× 2 bit ∼ 0.005 Gibit

I dati raccolti nelle due precedenti operazioni sono stati archiviati nella memoria di massa di VIR, isuccessivi due step command 30 e command 31 garantiscono il dump di queste immagini spettrali.

Il download e di tipo compresso, quindi la valutazione del data volume richiesto sul Virtual Recordere data dalle variabili:

Fcompression = 1.7Nframe(1) = 37Nframe(2) = 73

Ndetector = 2Nsubframe(1) = 12Nsubframe(2) = 3

Npackets = 19×Ndetector ×2∑

k=1

[Nsubframe(k)×Nframe(k)] /Fcompression

= 19× 2× (12× 73 + 3× 37)/1.7 ∼ 22063Nbit = Npackets × 1024× 8bit

= 22063× 1024× 8 bit ∼ 0.169 Gibit.

I valori ricavati sono stati scritti, come consueto, nella note 8 del SASF in figura 4.9.

60 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

Max data processing

L’ultima parte dei test di produzione dei dati scientifici consiste nell’acquisizione e nel contemporaneoscarico dei dati sul Virtual Recorder dello spacecraft ; come evidenziato in figura 4.2 nel Mode 2 la MainElectronic impacchettera e all’occorrenza comprimera i dati durante le operazioni di acquisizione.

Questa procedura imposta i parametri di acquisizione secondo la tabella 4.3.

Parametro Valore

Submode L SPE H SPA FRepetition time 15Dark acquisition period 8Integration time (IR and VIS) 5Number of frame 18Spectral channel IR VISSpectral range ALL SUBFRAMEScan mirror actuation ONScan mirror mode 5Telemetry science VIR TM SCIENCE PRODUCTIONCompression type LOSSLESS

Tabella 4.3: Valori dei parametri di acquisizione durante le operazioni del data processing. La proceduraimposta il binning spettrale e il dump dei dati durante le acquisizioni.

Il valore del repetition time pari a quindici secondi e un limite inferiore per questo parametro in casodi dump durante l’acquisizione. Infatti, la Main Electronic deve avere il tempo per comprimere i datiacquisiti ed impacchettarli nello stream di informazioni da spedire sul bus della porta 1553, nel frattemposi la ME deve prepararsi per il succesivo frame di acquisizione.

I parametri che gestiscono questa condizione sono il telemetry science per il scarico dei dati diretta-mente nel Virtual Recorder e il valore del compression type per impostare il modo di compressione, inquesto caso, lossless.

Il modo dello scan mirror e tale da permettere un sedicesimo di scannerizzazione completa, ossiasedici passi; con i parametri in tabella 4.3 il numero di acquisizioni di dark sono due, la prima e l’ultima7.

Il tempo di esecuzione per effetuare tale operazione e dato dallo scheduled time dello step note 10,infatti dalla regola scritta nell’equazione 2.1 si ricava:

Tscience = Trep ×Nframe + TIR stab + Tmargin = 15s× 18 + 30s + 120s = 420s.

Il download e di tipo compresso, quindi la valutazione del data volume richiesto sul Virtual Recordere data dalle variabili:

Fcompression = 1.7Nframe = 18

Ndetector = 2Nsubframe = 4

Npackets = 19×Ndetector ×Nsubframe ×Nframe/Fcompression

= 19× 2× 4× 18/1.7 ∼ 1610Nbit = Npackets × 1024× 8bit

= 1610× 1024× 8 bit ∼ 0.013 Gibit.

I valori ricavati sono stati scritti, come consueto, nella note 8 del SASF in figura 4.9.

7La prima acquisizione di VIR e sempre una dark

4.6. TEST SUL CANALE RIDONDATO 61

4.6 Test sul canale ridondato

In figura 4.11 e riportata tutta la sequenza per il test del canale ridondanto dell’alimentazione. Nellasezione precedente in figura 4.10 allo step spawn 1 si comanda lo spegnimento di VIR. Questo perpermettere di passare al canale secondario dell’alimentazione.

L’accensione di VIR avviene utilizzando il on-board block “vpon vir power on” nello step spawn 1di figura 4.11 con i parametri “VIR R” e “SAFE”: il primo parametro indica il canale secondario mentreil secondo lo stato di uscita (vedi figura 4.5).

Lo stato in cui VIR deve stare per eseguire un’acquisizione e quello di STANDBY, vedi il grafo infigura 2.7. Quindi, VIR deve effettuare una transizione di stato eseguita con lo step command 1.

In questa procedura non viene usato lo scan mirror, difatti il valore 10 del scan mirror mode indicache l’unita di scannerizzazione sara posizionata al boresight dello strumento, ossia la posizione centraledella scannerizzazione completa del campo di vista di VIR.

request(VIR_ICO_redundant_channel,

START_TIME, VIR_FUNCTIONAL_PWR_ON+08:39:30.000,

REQUESTOR, "Sergio Fonte",

PROCESSOR, "GSC1",

KEY, "No_Key",

TITLE, "Test of the redundant channel")

note(1, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"Power On the VIR strument"\ ),

spawn(1, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

REQ_ENGINE_ID,\ANY_ENGINE\,

RT_on_board_block(vpon_vir_power_on,"VIR_R","SAFE") ),

command(1, SCHEDULED_TIME,\00:07:00\,FROM_PREVIOUS_START,

COMMENT,\VIR goes on STAND_BY mode\,

VIR_TC_STAND_BY() ),

command(2, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Set VIR science parameters\,

VIR_TC_SCIENCE_PARAMS("H_SPE_H_SPA_F",5,5,5,5,5,5,5,"VIS_ONLY","ALL_SUBFRAMES",

"ON",10,"NO_VIR_TM_SCIENCE","NO_COMPRESSION") ),

command(3, SCHEDULED_TIME,\00:00:05\,FROM_PREVIOUS_START,

COMMENT,\Acquire science data and return to STAND BY mode\,

VIR_SCIENCE("NO_SEQUENCE") ),

command(4, SCHEDULED_TIME,\00:01:30\,FROM_PREVIOUS_START,

COMMENT,\VIR_ICO_dump_005: VIR Data dump should be complete\,

VIR_MM_DUMP("NO_COMPRESSION") ),

command(5, SCHEDULED_TIME,\00:02:00\,FROM_PREVIOUS_START,

COMMENT,\VIR goes on STAND_BY mode\,

VIR_TC_STAND_BY() ),

note(2, SCHEDULED_TIME,\00:00:00\,FROM_PREVIOUS_START,

TEXT,\"Number of frame: 5; Number of packets: 1140; Number of bits: 0.009Gb"\ ),

end;

Figura 4.11: SASF per il test del canale secondario dell’alimentazione di VIR. Lo strumento viene accesoutilizzando il on-board block con il parametro VIR R, che indica il canale secondario.

Il tempo di esecuzione per effetuare l’acquisizione allo step command 2 e dato dallo scheduled timedello step command 4, infatti dalla regola scritta nell’equazione 2.1 si ricava:

Tscience = Trep ×Nframe + TIR stab + Tmargin = 5s× 5 + 30s + 35s = 90s.

Il download e di tipo non compresso, quindi la valutazione del data volume richiesto sul VirtualRecorder e data dalle variabili:

Fcompression = 1Nframe = 5

Ndetector = 1

62 DESCRIZIONE DELLE OPERAZIONI PRELIMINARI

Nsubframe = 12Npackets = 19×Ndetector ×Nsubframe ×Nframe/Fcompression

= 19× 1× 12× 5 = 1140Nbit = Npackets × 1024× 8bit

= 1140× 1024× 8 bit ∼ 0.009 Gibit.

I valori ricavati sono stati scritti, come consueto, nella note 2 del SASF in figura 4.11. Il tempo diesecuzione del comando di download e dato dall’equazione 2.2 della regola F-VRC12 della tabella 2.6:

Tdump = Nframe ×Ndetector ×Nsubframe × Fcomp + Tmargin == 5× 1× 12× 1× 1s + 60s = 120s

ossia due minuti come riportato nello scheduled time del command 19 in figura 4.9. Finite le operazioni,VIR viene spento. Il resto delle operazioni sono demandate al team di gestione dello spacecraft, il qualeha scritto le procedure per il downlink dei dati alle stazioni riceventi a Terra.

4.7 Le telemetrie delle operazioni

INITTEST

MAINTENANCE

MMTEST

STANDBY

SCIENCE

CALIBRATION

ANNEALING

SAFE

MMDUMP

COOLDOWN

ECA

2.4

5905

e+08

2.4

591e

+08

2.4

5915

e+08

2.4

592e

+08

2.4

5925

e+08

2.4

593e

+08

2.4

5935

e+08

2.4

594e

+08

time(s)

Mode transition

Figura 4.12: Transizioni di modo dello spettrometro ad immagine durante le ICO. Nelle ordinate sonoriportati gli stati operativi dello strumento, nelle ascisse il tempo in secondi; quest’ultimo erelativo all’orologio interno dello spacecraft.

Le seguenze descritte sono state oggetto dell’Initial CheckOut dello spettrometro ad immagine. Laloro esecuzione ha potuto verificare, in primo luogo, le funzionalita dello strumento. Inoltre, sono stateutili per correggere/validare il processo di produzione delle sequenze nello standard SASF.

Un riscontro con i dati di esecuzione ha permesso un’implementazione piu dettagliata del simulatoreVIRS, inoltre durante la stesura delle sequenze si sono acquisite le tecniche per l’implementazione delvalidatore VIRV.

4.7. LE TELEMETRIE DELLE OPERAZIONI 63

L’uso del validatore di sequenze velocizzera il controllo di queste, e permettera un debugging piudettagliato. L’esecuzione di VIRV sulle sequenze ICO ha permesso una validazione di questo strumentodi verifica. E importante quindi che i risultati della loro esecuzione sullo strumento in volo siano conformia quanto aspettato.

In figura 4.12 sono riportate le transizioni di stato dello strumento durante le operazioni di ICO.Come si puo notare, la prima transizione dello strumento e stata prodotta dall’accensione, dove lo

spettrometro e passato dallo stato di INITEST a quello di SAFE, vedi la prima parte del paragrafo 4.2.Lo strumento ha eseguito il memory test e, passando per lo STANDBY e entrato nello stato di

COOLDOWN, dove effettua il raffreddamento del piano focale infrarosso. Quando il canale infrarossoha raggiunto al sua temperatura di esercizio (circa 75 K) lo strumento esegue una transizione automaticanello stato di STANDBY; subito dopo esegue una calibrazione completa e il relativo dump dei dati. Nelgrafico in figura 4.13 e riportato l’uso delle pagine della Mass Memory. Il primo picco rappresenta il datavolume prodotto dalla procedura di calibrazione: una derivata positiva della curva indica un riempimentodella memoria di massa, mentre una derivata negativa rappresenta il dump dei dati.

0

50

100

150

200

250

300

2.4

5905

e+08

2.4

591e

+08

2.4

5915

e+08

2.4

592e

+08

2.4

5925

e+08

2.4

593e

+08

2.4

5935

e+08

2.4

594e

+08

Pag

es

time(s)

Used pages of Mass Memory

Figura 4.13: Andamento della memoria di massa dello spettrometro. Nella prima parte del grafico lo stru-mento non esegue operazioni di scarico/scarico della memoria, come previsto. L’andamentorispecchia quanto programmato.

Le transizioni dei modi sono conformi con quanto programmato; gli andamenti dei grafici nelle figure4.12 e 4.13 sono sincroni: quando lo strumento riempie la sua memoria e nello stato di CALIBRATIONo di SCIENCE; quando esegue un download della Mass Memory si trova nello stato di DUMP.

Da notare come il test del max data processing non produce alcun picco nella memoria di massa diVIR, l’ultimo comando di scienza nel grafico di figura 4.12 non produce nessun dato nelle pagine dellamemoria di VIR.

Indice

Sintesi ii

Abstract iv

1 La missione Dawn 11.1 Lo scopo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.1 Vesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.1.2 Cerere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2 La strumentazione di bordo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 La traiettoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 VIR: Visible and InfraRed Spectrometer 122.1 La Main Electronic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Il sistema ottico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3 Il software di gestione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.4 Il diagramma di stato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Il SASF (Spacecraft Activity Sequence File) 273.1 Interfaccia fisica e Data Exchange overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Struttura e organizzazione dello standard SASF . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3 Analisi lessico-grammaticale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.4 Esempio di sequenza nello standard SASF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4 Descrizione delle operazioni preliminari 454.1 L’header delle sequenze di ICO (Initial CheckOut) . . . . . . . . . . . . . . . . . . . . . . . . 474.2 Verifica dello stato della memoria di massa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.3 Verifica delle funzionalita meccaniche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.4 Verifica dei modi operativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.5 Verifica della produzione dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.6 Test sul canale ridondato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.7 Le telemetrie delle operazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Indice 64

Elenco delle figure 65

Elenco delle tabelle 66

Bibliografia 67

64

Elenco delle figure

1.1 La nebulosa Trifid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Modello di Vesta sintetizzato dai dati proveinenti da Hubble . . . . . . . . . . . . . . . . . . . 51.3 Immagine di Cerere vista dal telescopio spaziale Hubble . . . . . . . . . . . . . . . . . . . . . 61.4 Schema dello spacecraft presente nella missione Dawn . . . . . . . . . . . . . . . . . . . . . . 71.5 Schema interno di un motore ad ioni ed immagine di un test di funzionamento. . . . . . . . . 81.6 Immagine di due strumenti a bordo della missione Dawn. . . . . . . . . . . . . . . . . . . . . 91.7 La traiettoria dello spacecraft durante la missione Dawn . . . . . . . . . . . . . . . . . . . . . 102.1 Diagramma a blocchi della Main Electronic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2 Diagramma a blocchi della Digital Processing Unit . . . . . . . . . . . . . . . . . . . . . . . . 152.3 Organizzazione della memoria a stato solido di VIR . . . . . . . . . . . . . . . . . . . . . . . 162.4 Schema ottico semplificato del telescopio Shafer . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5 Schema ottico semplificato dello spettrometro Offner e foto del grating . . . . . . . . . . . . . 182.6 Rappresentazione schematica di un frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.7 Diagramma di stato di VIR con le possibili transizioni . . . . . . . . . . . . . . . . . . . . . . 233.1 Processo di integrazione delle sequenze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Pipeline di generazione del SASF per le operazioni di VIR . . . . . . . . . . . . . . . . . . . . 283.3 Schema strutturale del simulatore delle sequenze osservative di VIR . . . . . . . . . . . . . . 293.4 Esempio di file metakernel in input a VIRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.5 VIRG: VIR SASF Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.6 Schema di funzionamento del VIR Validator . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.7 Forma di Backus-Naur di un Spacecraft Activity Sequence File . . . . . . . . . . . . . . . . . 323.8 Forma di Backus-Naur per lo Standard Formatted Data Units . . . . . . . . . . . . . . . . . . 333.9 Forma di Backus-Naur per il Sequencing Header Record . . . . . . . . . . . . . . . . . . . . . 343.10 Forma di Backus-Naur della parte cyclic di un SASF . . . . . . . . . . . . . . . . . . . . . . . 363.11 Forma di Backus-Naur della parte body di un SASF . . . . . . . . . . . . . . . . . . . . . . . 373.12 Forma di Backus-Naur dello step section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.13 Struttura dei file di ingresso dello scanner e del parser . . . . . . . . . . . . . . . . . . . . . . 403.14 Utilizzo simultaneo della coppia di analizzatori lessico-sintattici Flex e Bison per lo sviluppo

di un compilatore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.15 Modulo per la trasformazione di una stringa temporale dal formato HH:MM:SS in secondi . . 413.16 Rappresentazione della grammatica di un sommatore di tempi . . . . . . . . . . . . . . . . . 423.17 Esempio di struttura ad albero decisionale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.18 Esempio di sequenza nello standard SASF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.1 Diagramma a blocchi delle procedure di analisi delle funzioni di VIR . . . . . . . . . . . . . . 454.2 Schema dei modi di acquisizione di VIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.3 Header del file di sequenza per i test funzionali della Mass Memory. . . . . . . . . . . . . . . 474.4 SASF per l’accensione di VIR durante i test funzionali . . . . . . . . . . . . . . . . . . . . . . 484.5 Diagramma a blocchi della procedura di accensione di VIR . . . . . . . . . . . . . . . . . . . 494.6 SASF per la calibrazione interna durante le operazione dei test funzionali. . . . . . . . . . . . 514.7 Verifica del funzionamento del cover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524.8 SASF per la verifica del funzionamento dello scan mirror . . . . . . . . . . . . . . . . . . . . 534.9 SASF per la verifica del funzionamento dei modi operativi . . . . . . . . . . . . . . . . . . . . 554.10 SASF per la verifiva della produzione dei dati. . . . . . . . . . . . . . . . . . . . . . . . . . . 584.11 SASF per il test del canale secondario dell’alimentazione di VIR . . . . . . . . . . . . . . . . 614.12 Transizioni di modo dello spettrometro ad immagine durante le ICO . . . . . . . . . . . . . . 624.13 Andamento della memoria di massa dello spettrometro . . . . . . . . . . . . . . . . . . . . . . 63

65

Elenco delle tabelle

1.1 Elementi orbitali e diametro di Cerere e Vesta . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Elenco degli asteroidi piu massivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Dati fisici di Vesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Dati fisici di Cerere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1 Caratteristiche e prestazioni di VIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Grandezza dell’immagine in funzione della risoluzione . . . . . . . . . . . . . . . . . . . . . . 192.3 Fasi della calibrazione interna di VIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.4 Elenco dei parametri gestiti da VIR TC SCIENCE PARAMS . . . . . . . . . . . . . . . . . . 222.5 Descrizione dei modi operativi di VIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.6 Lista di alcune flight rules di VIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.7 Elenco dei macro-comandi di VIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1 Elenco dei token presenti nello SFDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.2 Principali keyword presenti nello Sequencing Header Record . . . . . . . . . . . . . . . . . . . 353.3 Attributi dello Sequence Request Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.1 Data volume prodotto durante la seconda parte del test sui modi operativi . . . . . . . . . . 564.2 Valori dei parametri di acquisizione durante le operazioni del data acquisition e del data speed. 594.3 Valori dei parametri di acquisizione durante le operazioni del data processing. . . . . . . . . . 60

66

Bibliografia

[1] I. Ficai Veltroni A. Bini. Instrument System Description. Gallileo Avionica S.p.A., 2005. VID-GAF-RP-002.

[2] A. Coradini C.T. Russell. Dawn: A journey in space and time. Planetary and Space Science,52(5-6):465–489, 2004.

[3] I. Ficai Veltroni. VIR-Calibration Data Record. Gallileo Avionica S.p.A., 2005. VID-GAF-RP-007.

[4] S.R. Chesley J. Baer. Astrometric masses of 21 asteroids, and an integrated asteroid ephemeris.Celestial Mechanics and Dynamical Astronomy, 100(1):27–42, 2008.

[5] Adans Ko J. Stipanuk. Spacecraft Activity Sequence File (SASF) Interface. Deep Space MissionSystem (DSMS) Subsystem Software Interface Specification D-10, 2004. Rev. L.

[6] John R. Levine. Flex & bison. O’Reilly Media, United States of America, 1 edition, 2009.

[7] John S. Lewis. Physics and Chemistry of the Solar System. Elsevier- Academic press, United Statesof America, 2 edition, 2004.

[8] M.Benetello. Software Requirements Document. Gallileo Avionica S.p.A., 2005. VID-GAF-RS-002.

[9] M.Benetello. VIR for Dawn Comunication Interface Control Document. Gallileo Avionica S.p.A.,2007. VID-GAF-IC-001.

[10] R.P. Binzel P.C. Thomas. Vesta: Spin pole, size, and shape from hst images. Icarus, 128(1):88–94,1997.

[11] C.Sotin T.B. McCord. Ceres: Evolution and current state. Journal of Geophysical Research,110(6):1–14, 2005.

67