Para el desarrollo del modelo de simulación se siguió una metodología la cual se muestra a manera de diagrama de flujo en Figura 28, esto con el fin de darle un buen soporte al modelo de simulación.
Modelo Conceptual
(Modelo de red, Modelo de nodo, Modelo de procesos)
Suposición de los componentes
Suposición de la estructura
Parámetros de entrada (atributos)
Suposición de la dinámica Sistema Real
(Una Red de sensores inalámbricos IEEE 802.15.4/ZigBee, que utiliza dentro
de sus nodos el transductor CC2420)
Especificaciones del Sistema Real (Especificaciones IEEE 802.15.4/Zigbee y especificaciones del transductor CC2420)
Modelo Operacional
(La Representación Computarizada que se hace en el simulador OPNET Modeler)
Modelo de red Modelo de nodo Modelo de procesos ¿Realizar otra iteración? Modelo de simulación terminado (Producto Final) Inicio
Verificar el Modelo Operacional
Si
No
Corregir el Modelo Operacional ¿Los modelos
conceptual y operacional son iguales?
Realizarle prueba de validación al modelo de simulación (al modelo conceptual por medio del modelo operacional)
No
Si
¿Se valida el modelo de simulación?
Si No
(Construir ó Modificar) el Modelo Operacional
¿Error conceptual ó
falta de precisión? Calibrar el Modelo Conceptual
(Prueba y ajuste de los parametros) (Optimizar lo ya existente)
Corregir el Modelo Conceptual
Error conceptual F a lt a d e p re c is ió n
(Construir ó Modificar) el Modelo Conceptual
Calibrar ó Ampliar
Ampliar el Modelo Conceptual
(Agregar nuevas funcionalidades)
Calibrar A m p li a r
70
En el desarrollo de un modelo de simulación no es suficiente con la construcción del código, ya que para decir que el modelo de simulación es una buena representación del sistema real, hay que verificar y validar el modelo para darle un buen grado de confiabilidad, mientras que la calibración busca optimizar el modelo para incrementar el grado de confiabilidad del modelo, tal como se muestra en la Figura 28. Esta metodología se explica a continuación:
Primera Iteración:
Sistema Real: Para el modelo de simulación de la WSN se tuvieron en cuenta dispositivos del mundo real que implementaban las especificaciones IEEE 802.15.4/ZigBee [1][2], tal como el TELOSB [14] y el MICAZ [15] los cuales tienen incorporado dentro de su arquitectura de hardware al transductor CC2420 [5] el cual implementa la especificación IEEE 802.15.4 [1], por tal motivo se decidió escoger como sistema del mundo real a estos dispositivos.
Especificaciones del Sistema Real: Al no tener físicamente los dispositivos del mundo real, tal como el TELOSB [14], el MICAZ [15], y el CC2420 [5], se procedió a buscar las especificaciones de dichos dispositivos y empezar a trabajar el modelo conceptual a partir de las hojas de especificaciones de estos dispositivos; es decir el modelo conceptual se construyó a partir de las especificaciones IEEE 802.15.4/ZigBee [1][2] y las especificaciones de los fabricantes de los dispositivos TELOSB [14], el MICAZ [15], y el CC2420 [5].
Modelo Conceptual: Para la construcción del modelo conceptual se tuvo que tener en cuenta la arquitectura y funcionamiento del simulador de redes que se iba a utilizar, que en este caso es OPNET [8], pero además se tuvo que tener en cuenta las especificaciones IEEE 802.15.4/ZigBee [1][2] y las especificaciones del transductor CC2420 [5].
Modelo Operacional: Se utilizó el modelo conceptual (todavía no depurado) para la construcción del modelo operacional (modelo computacional) el cual se construyó en el simulador de redes. OPNET [8]. Tanto en el modelo conceptual como en el modelo operacional, se utilizaron tres tipos de modelo para una WSN, los cuales se organizan jerárquicamente en modelo de red, modelo de nodo y modelo de procesos. La razón de que los modelos sean iguales es que el modelo operacional (computacional) debe ser una copia fiel del modelo conceptual y esto se debe ver reflejado positivamente en el proceso de verificación del modelo operacional (computacional). Verificar el Modelo Operacional: Es el proceso donde el modelo operacional es revisado minuciosamente (desde el código y las impresiones “printf y op_pk_print()” que quedan en la consola de simulación), con el fin de que el modelo operacional represente fielmente al modelo conceptual.
71
Validar el Modelo de Simulación: El modelo conceptual se valida a través del modelo operacional, ya que en el modelo operacional que se construyo en OPNET [8] es donde se pueden recolectar las estadísticas de la simulación, para luego ser analizadas y así determinar cualitativamente (en este caso) si la WSN tiene un comportamiento lógico y que se esperaría de la red, además este análisis lógico de la red puede ser apoyado por un log (diseñado por el autor de este libro) para determinar cualitativamente si la red se está comportando como se debería comportar (según las especificaciones). No sobra decir que el proceso de validación es un tema muy espinoso en la simulación de modelos de sistemas reales, ya que no existe validación general, puede no existir mundo real con el que comparar (como en este trabajo de profundización), y debido a la subjetividad con la que es manejada la validación por cada desarrollador, tal como se menciona en [11]. Por último, no hay un conjunto de técnicas para validar y verificar un modelo, ya que en si cada modelo es diferente y único, por tal motivo se considera que el proceso de validación y verificación es más un arte que una ciencia, tal como se menciona en [10].
Iteraciones que se realizan (Segunda, Tercera, Cuarta, etc.), y Criterio para la Terminación del Modelo
Cada vez que se realiza una iteración se busca mejorar al modelo de simulación anterior y para lograr mejorar el modelo de simulación hay que hacer modificaciones tal como se muestra en la Figura 28
Especificaciones del Sistema Real: El comienzo de cada iteración, inicia en la revisión de las especificaciones del sistema real, para luego si es el caso modificar el modelo conceptual.
Modelo conceptual: El modelo conceptual se modifica teniendo la revisión que se le hagan a las especificaciones del sistema real. Si el modelo conceptual se modifica, quiere decir que el modelo operacional ya no representará al modelo conceptual.
Modelo operacional: El modelo operacional será modificado si el modelo conceptual se modificó, entonces se volverá a proceder a realizar la verificación del modelo operacional, para que el modelo operacional represente fielmente el modelo conceptual. La validación del modelo se realiza de igual forma a como se realiza en la primera iteración (ya mencionado anteriormente). Criterio para la terminación del modelo:
La Figura 29 es una buena referencia para decidir cuándo terminar el modelo de simulación, ya que involucra dos aspectos claves para el desarrollador y el usuario del modelo, los cuales son costo para realizar el modelo (tiempo y dinero) y valor del modelo para el usuario. Se puede observar que a medida que se quiera obtener una mayor confianza (que se aproxime al 100%) el
72
costo de construcción (calibración) aumentará exponencialmente mientras que el valor del modelo decrecerá exponencialmente.El criterio de terminación del modelo en este caso se tomo partiendo del costo en tiempo para el desarrollador (el autor de este libro), para entregar un producto con un buen valor, para el usuario (en este caso el departamento de Ingeniería electrónica).
Figura 29. Valor, costo y confianza del modelo [12]
4.3.2. Verificación del modelo de simulación
El modelo operacional es revisado minuciosamente (desde el código y las impresiones “printf y op_pk_print()” que quedan en la consola de simulación), con el fin de que el modelo operacional represente fielmente al modelo conceptual. El modelo de simulación se hizo revisando línea por línea las impresiones “printf y op_pk_print()” que quedan en la consola de simulación y las cuales se guardaron en unos logs, los cuales registraban los reportes de eventos en el tiempo, y aparecen en el Anexo 8.9.