La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

INTRODUZIONE AD OMNET++ Roma, 8 gennaio 2010 Fabrizio Ronci.

Presentazioni simili


Presentazione sul tema: "INTRODUZIONE AD OMNET++ Roma, 8 gennaio 2010 Fabrizio Ronci."— Transcript della presentazione:

1 INTRODUZIONE AD OMNET++ Roma, 8 gennaio 2010 Fabrizio Ronci

2 GENERALITÀ OMNET++ è un ambiente di simulazione di reti: Modulare Ad eventi Orientato agli Oggetti (in C++) Open Source È utile se: si vogliono modellare reti di comunicazione fisse e wireless si vogliono modellare protocolli di comunicazione si vogliono modellare reti di code si vogliono in generale modellare sistemi per i quali è applicabile una simulazione ad eventi discreti, ovvero in cui il sistema e le sue parti possono essere fatte corrispondere ad entità che fra loro comunicano scambiandosi messaggi

3 PARTICOLARITÀ OMNET++ NON è un simulatore MA è un'infrastruttura di simulazione, composta da: Un motore ad eventi discreti (kernel), normalmente non modificato dallo sviluppatore Una libreria di classi C++, da cui normalmente lo sviluppatore estende le proprie Lo sviluppatore deve: sia descrivere il modello della simulazione sia descrivere una o più simulazioni parametrizzate

4 MODELLI E SIMULAZIONI Un modello viene descritto per mezzo di file.ned (NEtwork Description Language) in termini di: moduli (modules) accessi (gates) connessioni (connections) messaggi (messages) Le simulazioni vengono descritte per mezzo di file.ini nelle quali vengono specificati i parametri di moduli e connessioni e le caratteristiche della simulazione (durata della simulazione, …) SVANTAGGIO: questo meccanismo è rigido e spesso è necessario adottare metodi al di fuori di OMNET++ per ottenere quello che si vuole

5 MODULI I moduli (i rettangoli) possono essere semplici o composti; La rete viene considerata un modulo composto. Le connessioni (le frecce) consentono lo scambio dei messaggi tra i moduli (possono essere anche monodirezionali) Gli accessi (i quadratini) sono i punti di ancoraggio delle connessioni e possono essere in, out o inout VANTAGGIO: lannidamento (nesting) dei moduli è senza limiti (la gerarchia delle connessioni è ad un solo livello) SVANTAGGIO: avere tanti nodi formati da moduli composti fortemente annidati impedisce di portare a termine la simulazione

6 MESSAGGI I messaggi sono composti da attributi e da una qualunque struttura di dati realizzabile in C++. I messaggi sono fondamentali in OMNET++ perché realizzano gli eventi. I messaggi possono essere inviati dai moduli, o attraverso accessi e connessioni, oppure anche direttamente, passando per il kernel. Con i messaggi possono essere modellati sia elementi concreti nelle comunicazioni (trame, pacchetti, bit), sia elementi logici (ad esempio la fine dellattività di un modulo).

7 DOCUMENTAZIONE OMNET++ è relativamente giovane e ci sono delle ambiguità di denominazione: il prototipo di modulo viene chamato – ma non sempre – tipo di modulo (module type) listanza di un tipo di modulo viene chiamata modulo (module) il prototipo di connessione viene chiamato – quasi sempre – connessione (connection) o collegamento (link) listanza di una connessione viene chiamata – quasi sempre – canale (channel) certe volte gli accessi (gates) vengono chiamati porte (ports), raramente interfacce (interfaces) la libreria di classi (class library), in determinati contesti, viene chiamata libreria di componenti (component library) ed in tal caso spesso i moduli, cioè i tipi di modulo, vengono chiamati componenti (components)

8 INFRASTRUTTURA Tralasciando il kernel, linfrastruttura di simulazione è costruita intorno alla libreria di classi: moduli, accessi, connessioni parametri messaggi classi contenitore (code, vettori, …) classi di raccolta di dati classi di stima delle distribuzioni e per la statistica classi per la rivelazione dei transitori e per la rivelazione dellaccuratezza dei risultati Fa parte dellinfrastruttura anche il programma opp_msgc che permette di tradurre il formato dei messaggi in linguaggio C++

9 IMPLEMENTAZIONE La base dello sviluppo è la scrittura del comportamento (behaviour) dei moduli semplici Sono possibili due tipi di comportamento: event – driven process – style Normalmente lo sviluppatore realizza: il primo tipo di comportamento scrivendo la funzione handleMessage() nel (tipo di) modulo (OPNET, ma…) il secondo tipo di comportamento scrivendo la funzione activity() nel (tipo di) modulo (SIMULA, PARSEC, JAVA Sims) È possibile, ma difficile, realizzare i due comportamenti invertendo la tipologia di funzioni. Sarebbe bizzarro realizzare moduli con entrambe le funzioni; la scelta viene comunicata al kernel. I creatori di OMNET++ consigliano il più possibile il primo approccio

10 REALIZZAZIONE Per realizzare una simulazione lo sviluppatore deve aver scritto: i file.ned di descrizione del modello i file.msg di descrizione dei messaggi i file.h e.cc di implementazione dei moduli semplici i file.ini di descrizione della simulazione

11 STRUMENTI I principali strumenti a disposizione dello sviluppatore sono: lAmbiente di Sviluppo Integrato (IDE) basato su Eclipse gli Ambienti di Interfaccia Utente uno a riga di comando, laltro grafico i FrameWork librerie di componenti realizzate dalla comunità OMNET++ (il più usato è INET)

12 CRITICITÀ LIDE è fornito dalla versione 4.0 e funziona bene (solo) sotto Linux. Laccesso ai parametri interni ai moduli a run-time è complesso. Laffidabilità dei framework non è totale. Solo il framework INET è ben documentato. La costruzione dei file.ned e.ini può richiedere luso di linguaggi di script (python); si deve imparare il linguaggio NED. Le prestazioni del sistema in funzione della scalabilità sembrano degradare più velocemente di quanto dichiarato. Il sistema è open-source e relativamente giovane. Alcune delle funzionalità avanzate (simulazioni parallele, uso dei generatori di numeri casuali, uso delle proprietà, …) sono mal documentate e quindi difficilmente accessibili in fase di primo approccio.

13 POSITIVITÀ LIDE si basa su un ambiente, Eclipse, noto ed intuitivo. Il framework INET, relativamente alle reti fisse, appare affidabile. Dosando lutilizzo di framework e di parti sviluppate in proprio si può modulare il livello di dettaglio relativamente agli aspetti che interessano di più. La simulazione può avvenire a livello di bit (anzi, questo è il default). Linterfaccia di utente grafica è molto funzionale e comunque lo sviluppatore ha la possibilità di arricchirla. Esiste una comunità di sviluppatori con mailing-list e forum; di solito i power users di questa comunità sono i possessori/manutentori dei framework. Il sistema è open-source e quindi gratuito. Rispetto ad OPNET il ruolo delle FSMs, che comunque sono possibili mediante classi apposite della libreria, è svolto dallIDE.

14 PRINCIPALI FRAMEWORK

15 SCREENSHOTS (1/3) Utilizzo delleditor NED in ambiente IDE

16 SCREENSHOTS (2/3) Diagramma di Sequenza

17 SCREENSHOTS (3/3) Ambiente di Interfaccia Grafica di Utente

18 INTRODUZIONE AD OMNET++ OSSERVAZIONI & DOMANDE


Scaricare ppt "INTRODUZIONE AD OMNET++ Roma, 8 gennaio 2010 Fabrizio Ronci."

Presentazioni simili


Annunci Google