Diseño de un esquema de integración entre el modelamiento SDL y el desarrollo y simulación de redes inalámbricas de sensores basadas en Contiki (2018)
Las herramientas de simulación y análisis utilizadas en proyectos de sistemas distribuidos se han convertido en parte fundamental del desarrollo de este tipo de sistemas [1], lo cual ofrece la posibilidad a los involucrados en el proyecto, de probar los diseños antes de hacer implementaciones o cambios en los ambientes de producción. Dentro del desarrollo de sistemas de IoT (Internet de las Cosas), la simulación se torna en una herramienta fundamental, dado que los diseños de este tipo de tecnología implican la utilización de una gran cantidad de dispositivos cuyo despliegue para pruebas reales presenta altos costos y un sinnúmero de requerimientos que hacen la tarea de probar un diseño de IoT complicada y dispendiosa. Teniendo en cuenta las características de los proyectos de IoT, la simulación es imprescindible por el hecho de que los paradigmas de diseño de IoT involucran gran cantidad de sensores, que son costosos para ser usados solo en pruebas [2]. Los diferentes campos de aplicación de IoT y las predicciones de la industria en cuanto a crecimiento de dispositivos conectados, los cuales serán del orden de millardos en los próximos años [3], hacen necesario que antes de realizar inversiones en cientos de dispositivos para pruebas de un proyecto de IoT, se recurra a la simulación previa del proyecto, así como de mecanismos que faciliten el paso del diseño a la implementación real [4]. En este aspecto se hace relevante la integración directa entre lenguajes de descripción como el SDL (Specification and Description Language), con los lenguajes de desarrollo. Integraciones de este tipo permiten pasar rápidamente de un diseño descriptivo a una implementación y simulación de un prototipo especifico [5]. Este trabajo se enfoca en proponer un mecanismo de integración entre herramientas de descripción formal como SDL [6] y sistemas operativos tales como Contiki [7] y simuladores para aplicaciones de IoT tales como Cooja [8], que permite observar características tales como consumo de energía, capacidad de procesamiento, almacenamiento, conectividad entre otros. Se busca que esta propuesta conlleve a mejorar los tiempos y costos en el ciclo de vida de diseños de IoT y verificación de los modelos, previo a las inversiones necesarias para la puesta en producción de un sistema.