Universita’


L’architettura di CostGlue



Scaricare 0.54 Mb.
Pagina6/38
29.03.2019
Dimensione del file0.54 Mb.
1   2   3   4   5   6   7   8   9   ...   38

1.5 L’architettura di CostGlue


L'architettura software di CostGlue è modulare, così da rendere possibile l'inclusione di futuri contributi da parte di altre comunità di ricerca.

CostGlue è composto da tre blocchi. Una descrizione della sua architettura può essere vista nella figura n. 1.

Il nucleo del progetto è un'applicazione Python chiamata CoreGlue, che fornisce la connessione a un database HDF5, una semplice linea di comando, un’interfaccia basata su HTML, funzioni di base per importare, filtrare e esportare. Inoltre CoreGlue controlla e esegue altre parti dell'applicazione. Funzioni specifiche, come la conversione da specifici formati e il calcolo, sono implementate in un insieme di moduli auto descrittivi che si possono caricare separatamente. È prevista inoltre la creazione di un’interfaccia grafica realizzata con l'ausilio di un browser web, permettendo un accesso user friendly e efficiente all’applicazione. CostGlue sarà realizzato come software libero.

Tra i vari simulatori che utilizzano un formato di output predefinito, il più usato risulta essere il simulatore di rete ns-2. Tra i generici tool utilizzati per le computazioni matematiche usate per eseguire simulazioni, Matlab sembra essere usato da molti. Nell'ambito dei tool usati per l'elaborazione e la grafica di dati, c’è addirittura una varietà ancora maggiore. Queste osservazioni mostrano come un formato tabulare ASCII è in generale di uso comune. Perciò un requisito che l’archivio e convertitore di CoreGlue deve avere è quello di leggere e scrivere dati in formato tabulare ASCII.

Ma la varietà di tool usati rende necessario un modo generale di leggere e scrivere molti formati: è per questo che viene considerata l'architettura modulare di CostGlue una caratteristica necessaria per il progetto affinché sia di massima utilità.





Figura1.1: Architettura software di CostGlue
Un altro punto interessante è che i simulatori e gli analizzatori di dati hanno molto in comune, e un tool utile per uno scopo può essere utile anche per l'altro. Comunque, i tool per catturare dati hanno di solito formati output differenti rispetto ai simulatori e un convertitore di dati è davvero fondamentale.

Questa è la ragione per cui il prototipo di CostGlue include l’abilità di leggere dati da ns-2 e da Tcpdump, immagazzinarli in un formato comune e convertirli in entrambi i formati. Questa abilità renderà più facile usare i molteplici tool disponibili che sono in grado di analizzare e tracciare un grafico dei dati ottenuto da ns-2 o da Tcpdump.



CoreGlue può cercare la disponibilità di moduli e interrogarli uno alla volta per conoscere le loro singole capacità; questo può essere usato per esempio per costruire un menu per una GUI (interfaccia grafica). I moduli sono auto-descrittivi, cioè sono capaci di descrivere i parametri di cui hanno bisogno e il tipo di risultato che restituiscono.

I parametri richiesti possono essere forniti ai moduli da CoreGlue, con o senza l'input dell'utente. Nel caso siano richiesti dei parametri, l’applicazione può controllare che i parametri forniti siano consistenti con le restrizioni definite dai moduli. Una GUI può inoltre usare queste informazioni per presentare all'utente le possibili scelte per i parametri da usare in input.



CostGlue sarà scritto in Python [7]. Questo linguaggio è stato scelto per la sua evidente efficienza sia nell’uso della memoria sia nella potenza di calcolo, così come per la sua facilità di programmazione, dovuta al garbage collector e alle molteplici funzioni e dati nativi. La portabilità tra i diversi sistemi operativi è eccellente e la disponibilità di librerie per molti compiti, specialmente matematici, è ricca.

Con tutto il rispetto per il suo principale avversario, Java, Python ha generalmente un miglior uso della memoria, e essendo l'implementazione di tale linguaggio completamente libera, non è controllata da una singola entità privata. CostGlue verrà rilasciato con licenza libera.






Condividi con i tuoi amici:
1   2   3   4   5   6   7   8   9   ...   38


©astratto.info 2019
invia messaggio

    Pagina principale