introducción a omnet++ - tlm.unavarra.es€¦ · introducción simulador de eventos discretos...
TRANSCRIPT
Índice
Introducción a OMNeT++CaracterísticasInstalación (UNIX)Desarrollo de un simuladorEjemplosOMNeT++ 4.0
viernes 6 de marzo de 2009
Introducción
Simulador de eventos discretosEnfocado a las redes
Compuesto por: kernel del simuladorGUI: Gráfico (tkenv) o texto (cmdenv)Simulation Class library
viernes 6 de marzo de 2009
Características
Basado en C++Al compilar una simulación creas un ejecutable “standalone”Incluye un compilador de dOxygen
opp_neddoc
viernes 6 de marzo de 2009
Instalación
Puede ser compilado tanto para sistemas UNIX-like (Linux,MacOS X) como para Windows
viernes 6 de marzo de 2009
Instalación
Dependencias:tcl/tk (GUI)BLTdOxygen,GNUPlotImageMagick, giftransMPI,Akaroa
viernes 6 de marzo de 2009
Instalación
Añadir variables de entorno:
Editar configure.user Compilar
export PATH=$PATH:~/omnetpp/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/omnetpp/lib
./configure make
viernes 6 de marzo de 2009
Descripción de la red (.ned)
Define los módulos simples y complejosParámetrosPuertos de entrada/salida
viernes 6 de marzo de 2009
Definición de mensajes (.msg)
Define los campos del mensaje y el tipo de dato asociado
Al convertirlo a C++ se crean los getters/setters correspondientes.
viernes 6 de marzo de 2009
Implementación de los módulos simples
Lenguaje: C++Las clases heredan de cSimpleModuleRequiere implementar:
initialize()finish()handleMessage(cMessage *msg)
viernes 6 de marzo de 2009
activity()Comparable a un proceso en un SO o un hiloAcaba activity(), se elimina el módulo
Máquinas de estados: FSM API
Implementación de los módulos simples
viernes 6 de marzo de 2009
Compilación
Una vez creado el makefile (con opp_makemake) basta con hacer un ‘make’
Convierte los .msg a C++Compila todos los módulos simplesCrea el ejecutable
viernes 6 de marzo de 2009
Fichero de configuración
omnetpp.iniIndica la red (módulo complejo) que ejecutará el simuladorInicializa los parámetrosPueden definirse varias ejecuciones (run)
viernes 6 de marzo de 2009
Tratamiento de la salida
Tipo de ficheros de salida:Escalares (omnetpp.sca)Vectoriales (omnetpp.vec)
UtilidadesIncluidas en OMNeT: Plove, Scalars, splitvecOtros: GNUPlot, grep...
viernes 6 de marzo de 2009
OMNeT++ 4.0
Última versión de OMNeT++Estado: release candidate 2 (publicado el 01/03/2009)
viernes 6 de marzo de 2009
OMNeT++ 4: Changelog
Novedades:opp_makemake soporta compilación recursivaAñade puertas bidireccionales (inout)Cambios en la sintaxis de los ficheros .ned, .msg y en omnetpp.iniCambios en la API C++
viernes 6 de marzo de 2009
OMNeT++ 4: Changelog
Incompatible hacia atrásHace falta reescribir/adaptar casi todos los ficheros
MigraciónScripts: migratened, migrateini,migratemsg,migratecppPost procesamiento manual
viernes 6 de marzo de 2009