INTRODUZIONE AD OMNET++

Documenti analoghi
Antonio Cianfrani. L emulatore Packet Tracer A.A. 2015/2016

Introduzione all ambiente di sviluppo

Simulazione. Simulazione - Arena 1

Lab 01 Introduzione a Codelite

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

CONFIGURATION MANUAL

CABIN CREW TRAINING COMMUNICATION

Debtags. Dare un senso a pacchetti. 16 settembre slides Enrico Zini enrico@debian.org

Introduzione all uso del Software Cisco Packet Tracer

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD

Downloading and Installing Software Socio TIS

MODELLISTICA DI IMPIANTI E SISTEMI Syllabus e Testi di Riferimento Prof. Giuseppe Iazeolla

Argomenti XML JSON. Linguaggi per la definizione e lo scambio di dati strutturati, semi-strutturati, non strutturati. XML Data Model JSON

COSTRUZIONE DI UN APPLICAZIONE

STATO IMPLEMENTAZIONE ONVIF SU TELECAMERE MUNDUS SECURUS

Guida all installazione del prodotto 4600 in configurazione plip

Apprendere (e ragionare) con i modelli

Introduzione al VHDL Lezione 1

I CAMBIAMENTI PROTOTESTO-METATESTO, UN MODELLO CON ESEMPI BASATI SULLA TRADUZIONE DELLA BIBBIA (ITALIAN EDITION) BY BRUNO OSIMO

ELAD FDM-S1. Manuale Installazione Componenti Per Linux

Resources and Tools for Bibliographic Research. Search & Find Using Library Catalogues

Per creare il modello si scriva simulin nella finestra di comando MATLAB. Apparirà il Browser della Libreria Simulink.

Ingegneria del Software 1: Eclipse

Le Reti Informatiche

Virtualizzazione con OpenVZ

TESI DI LAUREA IN INFORMATICA

drag & drop visual programming appinventor storia appinventor un esempio di drag & drop programming: Scratch

Guida utente User Manual made in Italy Rev0

Linguistica Computazionale: esercitazioni

A.A. 2006/2007 Laurea di Ingegneria Informatica. Fondamenti di C++ Horstmann Capitolo 3: Oggetti Revisione Prof. M. Angelaccio

Corso di Laurea in INFORMATICA

La programmazione ad oggetti: chiamate di metodi. Overloading. This

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Dispositivi per il controllo

Routing IP A.A. 2006/2007. Walter Cerroni. Routing gerarchico in Internet

Posta elettronica per gli studenti for the students

Technical Guidelines GON % Italian production. sports car oriented

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

How to use the WPA2 encrypted connection

API e socket per lo sviluppo di applicazioni Web Based

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI


LEGO Mindstorms e Arduino nella scuola secondaria di secondo grado: alcune esperienze didattiche. Pietro Bonora Liceo Scientifico A.B.

Interfaccia del file system

AUTOMATION SOUND TIG ROBOT TR Generatore ad inverter pulsato per saldatura TIG. Per applicazioni con robot.

MANUALE MATLAB. Nel manuale proposto ci soffermeremo ad osservare alcune funzioni proposte da Matlab inerenti all attività di laboratorio.

CAN Decriptor. Easiest way to sniff, analyze, monitor the CAN Bus

Introduzione ai Web Services Alberto Polzonetti

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

Stored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

IL VHDL. Perché si usa un linguaggio di descrizione dell'hardware? Permette di formalizzare il progetto di sistemi digitali complessi

Librerie digitali. Cos è una libreria digitale? Introduzione. Cos è una libreria digitale? Cos è una libreria digitale? Cos è una libreria digitale?

SISTEMA DI ILLUMINAZIONE PER VERRICELLI WINDLASS LIGHTING SYSTEM

Lezione 16. Il Software di base

Manuale per il collegamento e l uso Installation and operation manual

Cenni alle reti logiche. Luigi Palopoli

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

Flusso di Progetto Mixed Signal in ambiente CADENCE. Approccio Analog Centric. Corso di Progettazione Mixed Signal 19/12/2013 Prof.

Esempio con Google Play tore Example with Google Play tore

Cosa è importante: pom.xml Goal Plug-in Repository

DIREZIONE DIDATTICA DI SAN GIUSEPPE JATO Programma Operativo Nazionale Fondo Sociale Europeo - Competenze per lo sviluppo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

ADaMSoft: un software Open Source italiano. Marco Scarnò

Fiori di campo. Conoscere, riconoscere e osservare tutte le specie di fiori selvatici più note

Tecnologie dei Sistemi di Automazione

MOC10982 Supporting and Troubleshooting Windows 10

Corso Programmazione Java Standard

17^ parte : Bluetooth Shield SLD63030P. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

LA SACRA BIBBIA: OSSIA L'ANTICO E IL NUOVO TESTAMENTO VERSIONE RIVEDUTA BY GIOVANNI LUZZI

IL GIOVANE HOLDEN FRANNY E ZOOEY NOVE RACCONTI ALZATE LARCHITRAVE CARPENTIERI E SEYMOUR INTRODUZIONE BY JD SALINGER

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Transcript:

INTRODUZIONE AD OMNET++

Omnet++ OMNET++ è una piattaforma di simulazione : È utile per: Modulare: gerarchia di moduli Ad eventi Orientata agli Oggetti (in C++) Open Source Versione comm. OMNEST analizzare sistemi i cui modelli sono composti da entità che fra loro comunicano scambiandosi messaggi (utenti, pacchetti, etc.)

Omnet++ OMNET++ non è un simulatore ma una piattaforma 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 Download da: www.omnetpp.org

Omnet++ Pro: Pro e Contro Relativamente facile da utilizzare Ben strutturato Modulare General purpose Contro: non molti modelli disponibili (peccato di gioventù

Omnet++ Applicazioni principali: Modeling of network protocols Modeling of queueing networks Modeling of multiprocessor systems Performance evaluation of software systems

Omnet++ -# 2

Omnet++ Componenti principali: Kernel Libreria Descizione della topologia (NED) Tkenv/Cmdenv (interfaccia utente) Animazione e analisi dell output

Working With OMNeT++ 1. An OMNeT++ model is build from components (modules) which communicate by exchanging messages. Modules can be nested, that is, several modules can be grouped together to form a compound module. When creating the model, you need to map your system into a hierarchy of communicating modules. 2. Define the model structure in the NED language. You can edit NED in a text editor or in the graphical editor of the Eclipse-based OMNeT++ Simulation IDE. 3. The active components of the model (simple modules) have to be programmed in C++, using the simulation kernel and class library. 4. Provide a suitable omnetpp.ini to hold OMNeT++ configuration and parameters to your model. A config file can describe several simulation runs with different parameters. 5. Build the simulation program and run it. You'll link the code with the OMNeT++ simulation kernel and one of the user interfaces OMNeT++ provides. There are command line (batch) and interactive, graphical user interfaces.

Struttura di un modello 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

Struttura di un modello Modello: uno o più moduli connessi (network) moduli comunicano mediante messaggi :

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

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 dell attività di un modulo).

Omnet++ OMNET++ è relativamente giovane e ci sono delle ambiguità di denominazione: λ il prototipo di modulo viene chamato ma non sempre tipo di modulo (module type) λ l istanza di un tipo di modulo viene chiamata modulo (module) λ il prototipo di connessione viene chiamato quasi sempre connessione (connection) o collegamento (link) λ l istanza 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)

INFRASTRUTTURA Tralasciando il kernel, l infrastruttura 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 dell accuratezza dei risultati Fa parte dell infrastruttura anche il programma opp_msgc che permette di tradurre il formato dei messaggi in linguaggio C++

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

Eseguire una simulazione Creare un file omnetpp.ini configurare la simulazione eseguire le simulazioni

Analisi dei dati memorizzare i dati ottenuti durante la simulazione: lunghezza delle code Numero di pacchetti perduti..

STRUMENTI I principali strumenti a disposizione dello sviluppatore sono: λ l Ambiente di Sviluppo Integrato (IDE) basato su Eclipse λ gli Ambienti di Interfaccia Utente uno a riga di comando, l altro grafico λ i FrameWork librerie di componenti realizzate dalla comunità OMNET++

Esempio (1/3) Utilizzo dell editor NED in ambiente IDE

Esempio (2/3) Diagramma di Sequenza

Esempio (3/3) Ambiente di Interfaccia Grafica di Utente

*