Ecuación 9 Pérdida básica en un entorno rural
6.7 Construir, configurar y ejecutar la simulación
6.7.1 Configuración de simulaciones
6.7.1 Configuración de simulaciones
Una vez comentada la construcción de simulaciones es conveniente pasar a explicar la configuración, o lo que es lo mismo, la creación y edición de un fichero omnetpp.ini. Para ello se pone como ejemplo el fichero de configuración empleado en una simulación del programa desarrollado para este proyecto. En algunos casos será necesario incluir otros ficheros de
90
configuración19 lo que se realiza mediante la directiva dentro de otro fichero *.ini: #omnetpp.ini
include nombre.ini
Las primeras líneas del fichero (sin tener en cuenta las líneas de inclusión) vienen seguidas de la palabra general entre corchetes. Esto indica que son parámetros generales de ajuste para la simulación. Como se puede ver a continuación en un ejemplo, las líneas hacen referencia a los ficheros de salida, tiempo de ejecución, tiempo simulado, avisos, avisos de inicialización, carga previa de ficheros NED, entro otros que pueden emplearse. Para dar una información más completa ir a la Tabla 6. [General] preload-ned-files=*.ned network = gsmsim ini-warnings = no warnings = yes snapshot-file = gsmsim.sna output-scalar-file = gsmsim.sca output-vector-file = gsmsim.vec sim-time-limit = 3600s cpu-time-limit= 1000m
Parámetros generales [General]
Nombre parámetro Descripción
ini-warnings=yes Permite la visualización de mensajes de aviso de inicialización
Preload-ned-files= Permite la carga previa de los ficheros *.ned
network= Nombre de la red que se simula
19 Para el caso del programa gsmsim no ha sido necesario crear más de un fichero de configuración.
91
snapshot-file=omnetpp.sna Nombre de fichero de estado de la simulación
output-vector-file=omnetpp.vec Nombre de fichero de salida para datos vectoriales
output-scalar-file= omnetpp.sca Nombre de fichero de salida para datos escalares
pause-in-sendmsg=no Sólo tiene sentido para la ejecución paso a paso
sim-time-limit= Duración de la simulación en tiempo de
simulación
cpu-time-limit= Duración máxima de la simulación en
tiempo de ejecución del programa Parallel-simulation=false Permite la simulación en paralelo, para
ejecuciones mucho más rápidas
Tabla 6 Parámetros generales del fichero omnetpp.ini.
Son varios los parámetros generales que se pueden iniciar en la simulación, sin embargo aquí se reflejan los usados en la aplicación para GSM.
Después de los parámetros generales vienen los parámetros de configuración de Tkenv y Cmdenv, y seguido de éstos aparecen los valores de inicialización de la red y de los módulos que se quiere crear. Para los parámetros que corresponden a la red, la línea que se escribe debe tener el nombre de la red y a continuación el nombre del parámetro separado por un punto. El ejemplo siguiente inicia los valores del ancho de la superficie de simulación. Son dos coordenadas llamadas X e Y, que indican el ancho y el alto de la superficie mencionada.
gsmsim.xwidth = 1000; gsmsim.ydepth = 1000;
El número de parámetros de la configuración de cada módulo depende de los parámetros que haya introducido el desarrollador en las clases creadas. Por ejemplo para la inicialización de cada módulo MS creado, que simula una estación móvil, hay que iniciar los parámetros de la
92 Tabla 7.
Parámetros módulo Mobile Station (clase MS)
Nombre parámetro Descripción
xc Coordenada en el espacio en el eje de la X yc Coordenada en el espacio en el eje de la Y
vmod Módulo del vector velocidad en m/s
angle Ángulo del vector velocidad en Grados
pathType Tipo de camino que sigue, si =0 lineal, si =1 aleatorio
Tabla 7 Parámetros módulo Mobile Station.
Los parámetros propios de este módulo son cinco. Esto no quiere decir que sean los únicos que contiene la clase, sino que son los únicos que le pertenecen únicamente a cada módulo y que debe ser inicializado con valores introducidos por el usuario.
Teniendo en cuenta estos parámetros, las líneas a necesarias en el fichero de configuración son las siguientes:
gsmsim.ms[0].xc = 200; gsmsim.ms[0].yc = 125; gsmsim.ms[0].vmod = 5; gsmsim.ms[0].angle = 315; gsmsim.ms[0].pathType = 1;
Para la inicialización de los módulos simples dentro de la declaración de una red se debe seguir este proceso. En caso de ser un módulo simple dentro de un módulo compuesto, las líneas de inicialización son parecidas. En el código desarrollado se han creado dos módulos simples dentro de un módulo compuesto. Estos módulos se denominan ‘msc’ y ‘vlr’, y el módulo compuesto es ‘msc_vlr’. Para introducir los parámetros las líneas son las siguientes:
gsmsim.msc_vlr.msc.num_msc = 0; gsmsim.msc_vlr.msc.num_lai = 0; gsmsim.msc_vlr.vlr.num_vlr = 0;
93 gsmsim.msc_vlr.vlr.num_lai = 0;
En conclusión, la forma de introducir un parámetro es ir colocando el nombre de cada módulo simple, precedido por el módulo compuesto al que pertenece (si pertenece a alguno) y al nombre de la red, separados por un punto. Después del nombre del módulo simple se pone el nombre del parámetro separado por un punto. Para darle un valor se debe igualar mediante un signo de igual seguido del valor que se quiere asignar, y terminado por un punto y coma. En el caso de que sean módulos que formen parte de un array, debe ponerse entre corchetes el número de módulo a continuación del nombre y antes del operador de asignación. Éstos son ejemplos de estructuras que se pueden presentar:
nombreRed.nombreMódSimple.parámetro = valor;
nombreRed.nombreMódSimple[número].parámetro = valor;
nombreRed.nombreMódCompuesto.nombreMódSimple.parámetro = valor;
nombreRed.nombreMódCompuesto.nombreMódSimple[número].parámetro = valor;