DESARROLLO DE SOFTWARE BASADO EN MODELOS PARA REDES INALÁMBRICAS DE SENSORES
Isleydi Reyes Ricardo (CV)
Universidad ¨Vladimir Ilich Lenin¨
Manuel Díaz Rodríguez (CV)
Universidad de Málaga
isleidisrr@ult.edu.cu
RESUMEN
Hoy día, las redes de sensores inalámbricas (WSN) se consideran un potente campo de investigación gracias a las disímiles áreas donde pueden ser empleadas por el hombre. Varias son las propuestas de desarrollo de aplicaciones para este tipo de redes, que encontramos en la literatura, pero la mayoría se basan en cuestiones de aplicación y plataforma de destino y no en una metodología de ingeniería de software que apoye el desarrollo del ciclo de vida y específicamente el modelado del consumo de energía en las WSN. La Ingeniería dirigida por modelos (MDE, por sus siglas en inglés) es una metodología fabulosa para lograr que los diseñadores eleven el nivel de abstracción, realizando luego transformaciones que sean capaz de llevar los modelos abstractos en otros más concretos. En este artículo se analizan los distintos trabajos realizados en cuanto a modelado de energía y se proponen las líneas futuras de trabajo en este ámbito.
PALABRAS CLAVE Redes inalámbricas de sensores (WSN); Ingeniería dirigida por modelos(MDE).
ABSTRACT
Today, wireless sensor networks (WSN) are considered a powerful research field due to the dissimilar areas where they can be used by man. Various proposals for development of applications for such networks, we find in the literature, but most are based on implementation issues and target platform, not a software engineering methodology that supports your development lifecycle and especially the modeling of energy consumption in the WSN. Model Driven Engineering is a great method to get designers to raise the level of abstraction, then making changes that are capable of abstract models into more concrete. This article discusses the various tasks performed in terms of energy modeling and proposes future lines of work in this field.
KEYWORDS Wireless sensor networks (WSN); Model Driven Engineering (MDE).
-
Introducción
Los avances actuales en la tecnología han arrojado como resultado el surgimiento de las redes de sensores inalámbricas (WSN, por sus siglas en inglés). Las mismas son un conjunto de pequeños dispositivos llamados nodos, interconectados entre sí de forma inalámbrica. Estos nodos son capaces de captar, procesar y transmitir información extraída de áreas físicas de observación, al resto de los nodos de la red.
Las WSN son consideradas una potente línea de investigación debido a las disímiles aplicaciones en las que podemos encontrarlas hoy día, por ejemplo: monitorización de un hábitat (para determinar la población y comportamiento de animales y plantas), detección de incendios, terremotos o inundaciones, sensorización de edificios “inteligentes”, control de tráfico y asistencia militar o civil, entre otros.
Han ido ampliándose constantemente tanto en escala, como en la complejidad de sus aplicaciones. Este aumento hace que tengan un desarrollo complicado, lento y propenso a errores [1], debido a que las técnicas actuales de implementación de estos sistemas no parecen lo suficientemente potentes. La falta de abstracción es un factor influyente del cual se deriva esta problemática.
Hoy día existen un sin número de aplicaciones desarrolladas en el lenguaje NesC (dialecto del lenguaje C) y ejecutadas sobre el sistema operativo TinyOs con bibliotecas que ofrecen las funciones básicas como lectura del sensor y transmisión de paquetes ,sin embargo, esto no les facilita a los desarrolladores la implementación de sus aplicaciones de manera rápida [3].
La mayoría de los sistemas para aplicaciones de WSN están construidos basados meramente en cuestiones de aplicación, abogando por la selección de la plataforma de destino, el sistema operativo del dominio específico y la programación. La falta de una metodología de Ingeniería de Software da lugar a diseños dependientes de la plataforma [2].
EL enfoque de Ingeniería Dirigida por Modelos (MDE, por sus siglas en inglés) ayuda a reducir las dependencias del proceso de desarrollo de software en las plataformas de ejecución ya que está basada en los modelos y sus transformaciones. Los modelos a su vez son definidos en términos formales en los metamodelos. Incluyen los conceptos generales para la descripción de sistema con un cierto nivel de abstracción y las relaciones existentes entre ellas.
El Desarrollo Dirigido por Modelos (MDD, acrónimo de Model Driven Development) propone una forma de resolver la problemática existente, con su alto nivel de modelado y la generación de código, intentará elevar la producción de aplicaciones para redes de sensores. Propone ocultar los detalles de bajo nivel y elevar el nivel de abstracción.
Un elemento muy importante a tener presente y que constituye un tema de investigación, es lograr el equilibrio entre la generalización y la especialización al diseñar un metamodelo para aplicaciones de WSN, así evitamos caer en ambigüedades al querer hacer los metamodelos más genéricos para distintos tipos de aplicaciones, lo que provoca que se presenten errores a los desarrolladores que los diseñadores del metamodelo no esperaban. Tratando de evitar este conflicto se solicitan metamodelos más especializados, los cuales evitan ambigüedades pero suelen ser carentes de flexibilidad y extensibilidad a otros dominios de aplicaciones.
Debido a lo anteriormente expuesto el trabajo consistiría en estudiar la problemática concreta del desarrollo de modelos dependientes de la plataforma para redes de sensores y, concretamente, como podríamos generar modelos a partir del modelado de aspectos independientes (tiempo real, concurrencia, energía), centrándonos principalmente en el consumo de energía en las WSN.
El trabajo se encuentra estructurado de la siguiente forma: a continuación en la sección 2 abordaremos los antecedentes, tocando temas como las aplicaciones de las redes de sensores inalámbricas, modelos existentes en cuanto a aplicaciones de las mismas y modelos de energía. En la sección 3 se realiza el planteamiento del problema existente e incorporando la propuesta de modelado en la sección 4. Mostrando a continuación las conclusiones del trabajo.
2.1 Aplicaciones de las WSN.
Varios son los escenarios donde podemos encontrar a las redes de sensores inalámbricas como un factor fundamental para el desarrollo exitoso del entorno al que se apliquen. A continuación solo haremos referencia a algunas de sus aplicaciones.
2.1.1 Redes de sensores inalámbricas en la agricultura de precisión (AP).
Una de las aplicaciones más comunes en la que podemos encontrar las WSN es la agricultura de precisión. Estas proporcionan una herramienta muy potente para el control y correcta utilización de los recursos en este ámbito. Los suelos a pesar de estar ubicados en la misma parcela tienen características diferentes y no siempre se necesita de la misma cantidad de recursos para que estos produzcan de igual forma en toda su extensión. En [4] se realiza un estudio para el despliegue de una red de sensores inalámbrica en un huerto de almendros para lograr un uso racional y adecuado de los recursos, ya sea el agua, suministrándola solo donde sea necesaria, así como evitar efectos perjudiciales debido al suministro de compuestos químicos y fertilizantes donde no sean necesarios. Los nodos que componen esta red tendrán como objetivo monitorizar distintos parámetros que afectan al desarrollo del cultivo como humedad ambiental, luz y temperatura; para su posterior análisis y representación de los datos. Las redes de sensores inalámbricas presentan un potente recurso para monitorizar el estado de las vides con gran precisión. En \cite{bibli5}se emplea una WSN en la viticultura de precisión obteniendo resultados satisfactorios para el productor, tales como: aumento de la rentabilidad con el incremento de la productividad de la planta y reduciendo los costes.
Otro importante beneficio es el control preciso que mantiene, el usuario final, sobre cada parcela y sus necesidades. Caracterizando así la viabilidad del terreno, optimizando los insumos, aplicados solo los necesarios y actuando sobre factores que pudieran dañar la calidad de la producción final.
2.1.2 Redes de sensores inalámbricas en la domótica y el monitoreo de estructuras.
En los años 80 nace, principalmente en Estados Unidos, el término de casas inteligentes (smart house) luego en esta misma década se comienza a hablar en Europa del término Domótica, el cual no es más que la integración de servicios y tecnologías, aplicadas a hogares y pequeños edificios para automatizarlos. En la actualidad a partir de las ventajas que aporta la utilización de las WSN en esta área se han desarrollado una gran variedad de aplicaciones en este ámbito.
En [6] se plantea un estudio sobre las ventajas de su implementación en esta área desde diferentes puntos de vista, tales como confort, ahorro de energía, entre otros. Así como las diferentes topologías utilizadas y la necesidad de la automatización de estas estructuras. En [7] se presenta una investigación en la que se recogen las primeras experiencias relacionadas con las WSN y su aplicación en la automatización y control de viviendas y edificios inteligentes. El trabajo realizado en [8] se hace una revisión de las aplicaciones de las redes de sensores en las viviendas y se proponen soluciones como la automatización de persianas con tan solo el envío de un email a una dirección determinada con el asunto ¨Activar¨. Efectuándose además acciones como el encendido del equipo de música y las luces del hogar. Todo esto mediante la ejecución de un programa en el ordenador comparando el texto del mensaje y ejecutando un software control sobre el resto de los dispositivos (persianas, equipo de música y luces).
Otra de las tantas aplicaciones en las que podemos encontrar las WSNs y que son de gran utilidad es el monitoreo de estructuras. Se ha determinado su uso para monitoreo de estructuras realizadas en los años 90, tales como puentes y edificios. Un proyecto interesante llevado a cabo es la evaluación de las vibraciones del puente Golden Gate en California, Estados Unidos. La red de sensores tiene como objetivo fundamental analizar movimientos debido al paso de vehículos, con un conjunto de nodos colocados de forma manual los cuales captan la información que es enviada a una estación central para luego ser procesada [8].
2.2 Modelado de aplicaciones para WSN.
Desde su surgimiento, el desarrollo de aplicaciones para redes de sensores inalámbricas (WSN) ha sido un proceso complicado. Esta afirmación se evidencia ya que existen un sinnúmero de aplicaciones para WSN y un bajo nivel de detalles de la aplicación. Diferentes enfoques para el desarrollo de aplicaciones WSN se puede encontrar en la literatura. Dentro de ellos encontramos algunas propuestas que han centrado su atención en el enfoque basado en modelos para agilizar el desarrollo de este tipo de aplicaciones.
Este tema se ha tratado de resolver de diferentes formas, dentro de las cuales encontramos la creación de framework MDD y otras herramientas con este enfoque, que proporcionan modelos los cuales posibilitan el desarrollo de dichas aplicaciones.
2.2.1 Framework Baobad.
En [2] encontramos a Baobad, un framework MDD para el diseño de aplicaciones de redes de sensores inalámbricas y el cual posibilita la obtención de códigos correspondientes, eliminando en cierta medida las ambigüedades. Otra de las características a tener en cuenta, es que Baobad permite definir los requisitos funcionales y no funcionales de forma independiente uno de otros, como modelos de software, lo cual no solo proporciona adaptabilidad a los requisitos no funcionales de los sistemas existentes sino, además, es posible reutilizar servicios para sistemas futuros. Nos proporciona un metamodelo genérico (GMM) cambiante a través de diferentes dominios de aplicación. Entre los aspectos más importantes tomados en cuenta en este Metamodelo se encuentran la comunicación, reducción al mínimo el consumo de energía o maximizar la detección de datos, eliminando redundancias en los datos enviados. Este metamodelo puede ser utilizado en diferentes escenarios de las WSN, pero cada dominio tendrá una terminología diferente, conceptos, abstracciones, incluso limitaciones. Una vez familiarizados con el GMM, este framework permite que los usuarios lo amplíen, a partir de sus necesidades ya sea a un metamodelos de dominio específico (DSMM), con el propósito de llevar el código y el dominio del problema más de cerca, así como un metamodelo específico de la plataforma (PSMM) con el cual se tiene más en cuenta las características de la plataforma de destino y arquitectura. Esto es logrado mediante los generics con el objetivo de lograr la compatibilidad entre el GMM, DSMM y PSMM, así los usuarios del metamodelo no podrán realizar extensiones que no sean permitidas por el mismo. Este modela los componentes y funciones de cada tipo de nodo a utilizar, por separado. Baobad es capaz de transformar un modelo creado en GMM, DSMM y PSMM en código NesC de TinyOs. Asume que todos los modelos se definen en Eclipse Modeling Framework 1 y utiliza openArchitectureware 2 para aplicar su transformador de modelo a código [2]. El modelo transformador de modelo a código de Baobab, valida un modelo determinado de aplicación, generando la mayor parte del código de la aplicación en NesC, diseñado para ser utilizado en lo nodos sensores con pocos recursos como es el caso de Mica2. Baobad representa un potente marco de trabajo MDD (Desarrollo Dirigido por Modelos) para el diseño y desarrollo de aplicaciones para redes de sensores inalámbricas. Con una amplia variedad de funcionalidades que nos brinda su extensibilidad y aplicabilidad a diferentes dominios dentro de este campo de investigación.
2.2.2 Herramienta para modelado de aplicaciones WSN.
En este epígrafe abordaremos una propuesta para el desarrollo de aplicaciones para redes de semsores inalámbricas con enfoque MDE destinada a mejorar la flexibilidad y reutilización de sus diseños. Han sido definidos tres meta-modelos en los diferentes niveles de abstracción y los modelos de transformaciones correspondientes [3]. Brinda a los diseñadores la posibilidad de modelar sus sistemas pero utilizando solo las especificaciones y conceptos incluidos dentro del nivel más elevado del meta-modelo. Los modelos obtenidos inicialmente, se van refinando mediante transformaciones hasta generar automáticamente el código de la aplicación deseada. Proporciona una herramienta de modelado gráfico con varias funcionalidades disponibles para crear una representación para cada concepto del dominio que aparece en un meta-modelo, definir una paleta de herramientas para crear y agregar estos conceptos gráficos a sus modelos, y definir una asignación entre todos los artefactos anteriores, es decir, los conceptos de meta-modelo, sus representaciones gráficas, y las herramientas de creación correspondiente. Esta herramienta permite a los diseñadores crear, manipular y almacenar los modelos y meta-modelos [3]. La herramienta estuvo inspirada en una aplicación real para redes de sensores llamada MITRA, la cual fue rediseñada con este enfoque y obtuvo buenos resultados en la agricultura de precisión.
2.3 Modelado de la energía.
Avances recientes en la informática y las tecnologías de comunicación han posibilitado la miniaturización de la producción de nodos sensores, para volúmenes comerciales así como para su despliegue en el mundo real. Dado que los nodos se alimentan por lo general de baterías y si es posible de un captador de energía, lo cual nos evidencia la dependencia de la vida útil de estos dispositivos, de su fuente de energía. En varias de sus aplicaciones podemos encontrar este tipo de red desplegada en zonas de poco o prácticamente ningún acceso por lo cual se nos hace difícil o prácticamente imposible el reemplazo de las baterías.
La eficiencia energética ha alcanzado una importancia crítica, durante la planificación de las redes de sensores, con el objetivo de prolongar su tiempo de vida. Minimizar el consumo de energía en redes inalámbricas de sensores se ha convertido en un tema difícil de modelar y al que se le debe prestar gran atención debido a su importancia.
2.4 Modelado del consumo de energía basado en un enfoque MDE.
Un enfoque prometedor para abordar los desafíos de desarrollo de sistemas distribuidos, móviles, y sistemas generalizados es el emplear los principios de la arquitectura de software [12,13].Con el objetivo de lograr un desarrollo exitoso de los sistemas distribuidos es muy importante tener en cuenta las decisiones, en cuanto a la arquitectura, hechas al inicio del proceso de diseño. Cada día se le da una mayor importancia a la eficiencia energética como un atributo de calidad importante para las aplicaciones móviles y pervasive.
En el trabajo realizado en [14] se propone un framework que es capaz de estimar el impacto de la arquitectura en el consumo de energía de un sistema. El mismo define un método para derivar las ecuaciones de la aplicación independiente de la plataforma que caracterizan el comportamiento de un estilo de consumo de energía. El framework define un proceso de aplicación de modelos, de cualquier estilo de los costos de energía a un sistema distribuido, antes de ser implementado este. Esto es realizado mediante la recopilación de información básica sobre la plataforma de destino y el diseño del sistema, conectando estos parámetros en el modelo de costes de energía, este modelo debe ser parametrizado para facilitarle a los arquitectos determinar ventajas, desventajas y así determinar cuando el estilo es más eficiente.
Modelos de costos de energía.
Muestran el enfoque derivado de los enfoques de los estilos cliente-servidor y pub-sub (publicar- suscribirse) que representan a un variado grupo de características de sistemas distribuidos, así como la distribución, concurrencia entre otras. Modelo genérico del costo de energía. El costo de energía de un sistema distribuido es modelado como la suma de la energía consumida por sus conectores y componentes. Se tomaron como procesos independientes la ejecución del conector y la del componente, por lo que la energía que consume un conector o un componente no depende de la energía que puedan consumir otros. Esto trae consigo que este modelo de costo de energía sea más preciso para aplicaciones donde se tengan mayores recursos de memoria y tiempo de procesador. En la siguiente ecuación tenemos modelado el costo de energía genérico.
Modelo de energía para estilo cliente servidor.
Luego de obtener modelos genéricos para el consumo energético, en el trabajo realizado en \cite{bibli12}también se propone un modelo específico para cada estilo arquitectónico como el de cliente-servidor, la cual puede ser una de las arquitecturas usadas para el modelado de redes de sensores inalámbricas. Para realizar este modelado se hace una caracterización de los servicios que pueden prestar como la comunicación, facilitación, coordinación y la conversión necesarias para este estilo de un sistema distribuido. Aquí se muestra como se realiza el modelado del consumo energético en una conexión a distancia. Cuando queremos modelar el consumo de energía en una transmisión de datos a distancia, entre conexiones del cliente y el servidor, el costo de este consumo es proporcional al tamaño de los datos que se transmiten, lo cual ha sido una caracterización muy precisa de los protocolos de red para uso general, tal como UDP [12]. Es importante señalar que los parámetros de gasto de energía que intervienen en este tipo de modelo son específicos de la plataforma, quiere decir que sus valores dependen del hardware, sistema operativo, middleware y en que se implementa la aplicación.
Modelos de predicción de energía.
Los modelos mencionados anteriormente nos dan una representación simbólica del costo de la energía inducida por el estilo arquitectónico de un sistema distribuido. Sin embargo el consumo de energía total de los estilos depende de varias propiedades específicas de la plataforma y aplicaciones específicas.
Para la obtención de un modelo de predicción de la energía se necesita información tal como:
- Parámetros del modelo de costos de energía de la plataforma específica, los cuales son determinados mediante la descripción de los parámetros del modelo de costos de energía de la plataforma de aplicación y medición de sus costos reales. Aquí se incluye el costo de la transmisión de datos a través de la red y el costo de la búsqueda en las tablas de enrutamiento. Se realiza una asignación de los parámetros específicos de la plataforma de interfaz y de la plataforma subyacente que intervienen en el costo. Se realiza una medición de la energía real consumida cuando se invocan las interfaces.
- Modelo de costos de la energía de la aplicación específica, el cual es determinado a partir del diseño del sistema. Incluyendo los componentes del sistema, conectores, configuración, tamaño de los mensajes intercambiados, entre otros.
Debido a que la determinación de los valores del conjunto de parámetros solo necesita del acceso a la plataforma de destino y la información básica del diseño de la aplicación, permite que el framework pueda ser usado por los arquitectos en una fase temprana del diseño [12].
2.5 Modelado de energía para las WSNs con enfoque MDD.
Luego de realizar una búsqueda exhaustiva sobre el tema, no se han encontrado modelos realizados con enfoque MDD para el consumo de energía dentro de las redes de sensores inalámbricas. A continuación se realiza un análisis de los trabajos más relacionados con el tema.
A pesar de los avances en tecnologías para redes de sensores el modelado de la energía es uno de los puntos críticos con los que se cuenta en el diseño de las mismas. A esa tarea se han dado varios investigadores y han arribado a diferentes soluciones, que de una forma u otra, solucionan los problemas presentados en un área de aplicación o para una plataforma específica, las cuales serán tratadas a continuación.
- Uno de los logros alcanzados en este ámbito ha sido el modelado de microprocesadores de energía capaces de modelar el hardware en el nivel de instrucción. En este sentido encontramos el trabajo realizado por Senger, la cual es una metodología propuesta para la estimación mucho más rápida de la potencia a nivel de circuito, sin dejar de ofrecer una contabilidad razonable para la conmutación3 de circuitos de energía.
El modelado de potencia del nivel de instrucción es una forma de calcular la energía total de un programa mediante la suma de las energías de cada instrucción individual. El modelo de poder de instrucción se deriva de las medidas actuales tomadas de un microprocesador.
En Senger 2005 [15] se pone de manifiesto cómo se realizan mediciones de los test sintéticos los cuales contienen bucles que se ejecutan con un solo tipo de instrucción, obteniendo el consumo de energía a partir de las mediciones de cada instrucción de manera individual. Aunque hay que efectuar un mayor número de medidas para modelar las dependencias entre instrucciones o el impacto de los operandos en el consumo de energía.
El método empleado calcula la energía por la instrucción el cual es un indicador más ilustrativo para la comparación de la media actual para múltiples instrucciones en el ciclo. Este método basa la energía de conmutación directamente en la instrucción base del coste mediante el uso de una instrucción (no-ops) que lo obligue a cambiar de actividad. Lo cual provoca que se requieran menos cantidad de casos de pruebas y así minimizar el tiempo para determinar la energía que es consumida.
Estos modelos proporcionan una relativa precisión a las simulaciones con un menor conocimiento del circuito de hardware, añadiendo como otro beneficio el mejoramiento del tiempo de ejecución para estas simulaciones.
- Con el objetivo de resolver problemas como los anteriormente planteados se ha creado en [16] un modelo basado en un enfoque de alto nivel de modelado. En un nodo sensor con componentes como controlador, chip transceptor, sensor electrónico y dispositivos como LEDs y flash RAMs y tomando como constante el consumo de energía en varios estados debido a las consideraciones de que los efectos del nivel de instrucción son insignificantes para los nodos utilizados en la actualidad, se modela este consumo para cada componente por separado usando el estado de maquina finito (FSM).
Este alto nivel de modelado es llevado a cabo de la siguiente forma:
- Cada estado de funcionamiento de un componente se modela como un estado en el FSM [16].
- Cada posible cambio de un estado operacional a otro es modelado como una transición de estado en el FSM (modelo de estado finito) [16].
- Cada estado del FSM es asociado con un consumo de energía por el tiempo.
- Cada transición en el FSM se asocia con un tiempo de necesarios para cambiar entre dos estados de funcionamiento [16].
- El FSM tiene un estado inicial bien definido que corresponde al estado estable después de alcanzar un componente el encendido [16].
Una de las ventajas que nos ofrece este modelado es que todos los tiempos y consumo de energía es posible obtenerlos por medidas u hojas de datos.
Luego de modelados los componentes del nodo sensor como un FSM se realiza un modelo similar para el conjunto de nodos que conforman la red.
Las limitaciones presentadas por los nodos sensores en cuanto a su comportamiento dinámico no se pueden representar con un FSM, por lo cual son definidas con un modelo SDL (Lenguaje de especificación y descripción), siendo implementada esta semántica y el patrón transformador de código, por el entorno de ejecución. El comportamiento dinámico completo de un nodo puede ser formalizado como un conjunto de máquinas de estados de comunicación, lo cual beneficia el modelo SDL ya que este tiene sus bases en las máquinas de estados así como en el entorno de ejecución en el que se ejecuta el modelo. El modelo propuesto brinda la posibilidad de ser integrado en un simulador, el cual podrá predecir el consumo de energía en un sistema de gran precisión.
3. En esta propuesta se plantea un análisis realizado y del cual se resulta que el mayor consumo de energía de los nodos se deriva del chip de radio (por lo general de un 70 % y un 90 % de la energía total consumida por el nodo, dependiendo de la aplicación.)A partir de los resultados obtenidos, concluyen, que un buen modelo de energía debe estar centrado principalmente en la energía que se consume por el radio, lo cual no se tiene en cuenta por ninguna herramienta de simulación hasta ese momento.
El autor tiene en cuenta una serie de parámetros que influyen en el valor final del consumo de energía, fuentes principales de su desperdicio, como las colisiones, música de espera, oyendo por casualidad y control de gastos indirectos del paquete.
En su caso de estudio se basan en los problemas presentados en una versión anterior de simulador TOSSIM para motas Mica y presentan las acciones incorporadas en este modelo.
En el caso de las colisiones se ha tratado de la siguiente forma cuando un nodo desea enviar un paquete, su microcontrolador envía una carga útil y el chip de radio agrega la exposición de motivos, la dirección de destino y el CRC, cuando esto es recibido por otro nodo este comprueba el CRC que le implanto en nodo de origen y descarta el paquete si no hay error. Así se pueden controlar las colisiones y la energía consumida por la recepción de paquetes dañados en ellas.
Para el tratamiento de la situación de oyendo, el nodo recibe un paquete y comprueba la dirección del paquete y del nodo emisor, si estas coinciden, se le entrega el paquete al microcontrolador, de lo contrario, el mensaje es descartado y el microcontrolador nunca se dará cuenta de la recepción del paquete [17].
Otro aspecto que es importante señalar de este modelo es la consideración de los ``Reconocimientos" (ACKs) el cual tiene una influencia bastante elevada dentro del consumo total de energía. El microcontrolador no es simulado en el nivel de bit, porque aumentaría mucho el tiempo necesario para ejecutar una simulación, se hace una muy buena aproximación con la multiplicación del número de ciclos que la simulación de toma de la potencia media consumida por el microcontrolador en un ciclo.
3. Descripción del problema.
En secciones anteriores se han planteado las diferentes herramientas y aplicaciones existentes basadas en las redes de sensores inalámbricas. Estas herramientas y aplicaciones son muy complejas y propensas a errores, debido a las restricciones del entorno de ejecución(CPU, memoria, energía, sistema operativo) y a la diversidad de las tecnologías que es necesario manejar(protocolos de comunicación a distintos niveles, tiempo real, concurrencia, entre otros.).
En la actualidad, la tendencia de los dispositivos y aplicaciones de redes de sensores es a dar respuesta a aplicaciones específicas [18], más que de aplicaciones con fines de uso general, por lo que se componen solo de elementos justos y necesarios, tal es el caso de [4, 5, 6, 7]. Las cuales fueron diseñadas para un perfil específico dentro de la variedad de aplicaciones donde podemos encontrarlas.
Con la utilización de técnicas de diseño basadas en modelos, se logra abstraer gran parte de la complejidad que caracteriza a estos sistemas, a través de la utilización de especificaciones independientes de la plataforma, combinadas luego con los modelos de requerimientos específicos de la plataforma de ejecución.
Es bien sabido que un adecuado modelo de consumo de energía es una base para el desarrollo y la evaluación de un sistema de administración de energía en las redes inalámbricas de sensores (WSN) [19]. Dadas investigaciones al subsistema de comunicación, con respecto a la organización y su comportamiento, se evidencia que las especificaciones reales, en cuanto a consumo de energía, distan, en gran medida, con las tomadas generalmente. Este es un punto al cual se le debe prestar gran atención pues es muy importante para lograr una buena optimización y un correcto desarrollo de un diseño de energía.
Varios han sido los modelos propuestos con el objetivo de minimizar el consumo de energía en las redes de sensores inalámbricas, ejemplo de algunos de ellos se abordaron en la sección 2.3. Dichos modelos resuelven en gran medida, las necesidades existentes para las WSN dentro del campo de aplicación para el cual se diseñaron, pero a su vez, no están libres de problemas o inconvenientes, que dificultan su correcto funcionamiento.
En [20] se realiza una simulación con SPICE en el nivel de transistor o en los niveles de abstracción aun más bajos de estos dispositivos micro-electrónicos. A pesar de que este enfoque cubra todos los efectos como fugas y cambio de energía entre otros, resulta tediosa la realización de los modelos ya que se necesita un amplio y profundo conocimiento del hardware. Es válido mencionar que la simulación en el nivel de circuito se comporta de manera lenta y no es recomendable para redes enteras con gran cantidad de nodos individuales.
Uno de los problemas que se presentan en una gran variedad de modelos, es lo costoso que resulta la realización de los mismos, así como la complejidad que caracteriza los modelos resultantes lo cual impide que sean utilizados en tiempos de ejecución, ya que los nodos de sensores poseen un limitado poder de cómputo como en [15,20]. A pesar de exigir un menor conocimiento del hardware.
Otro problema que debe ser señalado es la ausencia de modelos de las fuentes de energía de los nodos sensores permitiendo que estos sean capaces de calcular su tiempo de vida y ejecución restantes como es el caso de [15, 16, 17]. Esto sería de gran ayuda pues así los dispositivos tendrían un control bastante preciso de las acciones que pudieran desempeñar sin ser afectadas por la ausencia de la energía necesaria, logrando una mayor calidad de los servicios de la red y la incorporación de nuevas funcionalidades en caso necesario.
Hoy día, a pesar de la existencia de modelos para el consumo energético dentro de aplicaciones basadas en redes de sensores inalámbricas, varios son los inconvenientes y dificultades que presentan. Un punto fundamental y que no podemos dejar de abordar por ser el de mayor peso, es que no todos estos están basados en un enfoque MDD/ MDA. Dentro de esa enorme variedad de modelos encontramos a [4, 5, 6, 7, 15, 16, 17, 20, 19, 21]. El trabajo realizado en [19] propone un modelo de consumo de energía general de los dispositivos de WSN en base a su arquitectura de hardware real. En [21] se propone el análisis y evaluación de modelos de consumo de energía para redes de sensores inalámbricos con las distribuciones de distancias probabilísticas. Ninguna de estas propuestas basan su desarrollo en un enfoque MDD/MDA, lo cual les dificulta la ayuda a reducir la dependencia del proceso de desarrollo de software en la plataforma de ejecución, así como del sistema operativo y lenguaje de programación.
Debido a que este es un campo que ha tomado auge en los últimos años, los avances en las tecnologías no han dejado de prestarle una atención especial a esta rama y le proporciona cada día mayores retos. A pesar de la existencia de muchos tipos de modelado basado en redes de sensores, no es de nuestro conocimiento, la existencia de una, que modele el consumo de energía en las WSN basados en un enfoque MDD Es por esta razón que se necesita llevar a cabo la realización de un modelo que sea capaz de generar modelos para WSN basados en un desarrollo dirigido por modelos.
4. Propuesta.
En secciones anteriores se ha abordado el tema del modelado de energía en las WSN y al declarar el problema a investigar, planteamos, entre muchos otros, el no conocer de ningún modelo que desarrolle el consumo de energía basado en enfoque MDE.
Debido a la problemática anterior se plantea como objetivo de este trabajo el establecer una propuesta de modelado como línea futura de investigación, en el cual se solucione, en gran medida, la mayoría de los problemas identificados para este tipo de red.
Con el uso de la metodología de desarrollo de software MDE, incrementaremos el grado de abstracción en la representación de la aplicación resultante, por encima de los lenguajes de programación convencionales. Se comenzará el desarrollo a partir de definiciones formales de los conceptos y reglas que caracterizaran a las representaciones de alto nivel (modelos), los cuales constituyen el principal artefacto de especificación. Tomando como características fundamentales, independencia de la lógica del negocio, de las plataformas de implementación. Evitando así que los desarrolladores deban tener un amplio conocimiento del hardware en el cual se pondrá a funcionar el software resultante. Descomponiendo el sistema en modelos que representen las diferentes aspectos estructurales y la generación de código automática, a partir de las transformaciones a las que serán sometidos los modelos. Proporcionándole al sistema mayor adaptación a los cambios tecnológicos y de requerimientos, consistencia y reuso de los modelos. Buscando siempre una disminución del coste y mejorar las inversiones en software.
El modelado a desarrollar tomará en cuenta las restricciones de energía de los nodos sensores y trabajará sobre una correcta utilización de este recurso, debido a que varias investigaciones cuentan que la radio es la que mayor uso hace de este recurso, se mantendrá el mayor tiempo posible en estado de bajo consumo, es decir, en modo de dormido, para disminuir el gasto de energía asociado y así realizar el menor número de transiciones posible relacionadas con estados de alto consumo.
En el modelo que se propone, con el objetivo de optimizar el ahorro propuesto, se mantendrá apagada la radio el mayor tiempo posible entre transmisiones sucesivas y bien separadas, así se elimina el estado ocioso del nodo. El hecho de forzar el apagado ha demostrado buenos resultados y se aumentará en gran medida el ahorro en términos de energía. La transmisión de mensajes será optimizada mediante el filtrado de datos con el objetivo de no enviar datos repetidos dentro de la red.
Se llevará a cabo el modelado de la fuente de energía de los nodos sensores, con el fin de que estos conozcan su tiempo de vida restante.
Conclusiones.
Las WSN han alcanzado un desarrollo acelerado, lo cual propicia su empleo en disímiles campos, trayendo consigo el modelado de las mismas. A pesar de la existencia de varias soluciones, aún no se ha alcanzado el nivel más elevado en este campo.
La investigación realizada nos ha proporcionado conocimientos referentes a los trabajos previos y los principales problemas presentados en los mismos.
Se propone una posible línea futura de trabajo con el modelado del consumo de energía de aplicaciones para WSN.
Referencias
1. Wada, H., Boonma, P., Suzuki, J., Oba, K.; Modeling and Executing Adaptive Sensor Network Applications with the Matilda UML Virtual Machine. Proc. of IASTED International Conference on Software Engineering and Applications (2007).
2. Akbal-Delibas,B. , Boonma,P. , Suzuki,J. Extensible and Precise Modeling for Wireless Sensor Networks.
3. Losilla, F., Vicente-Chicote, C., _Alvarez, B. , Iborra, A. , Sanchez, P.; Wireless Sensor Network Application Development: An Architecture-Centric MDE Approach.
4. Losilla, F., Suardiaz, J., López, J., Sánchez, P., _Álvarez, B., Iborra, A., Alcover, P.: Monitorización y control de riego en cultivos arbóreos.
5. Del Valle, J.: Aplicación de redes de sensores inalámbricos para la viticultura de precisión.
6. Redes de sensores. Aplicaciones para control automático de edificios.
7. Buendía, M., Vera, J., Losilla, F., Meseguer, P.: Redes de Sensores y Actuadores (WSAN) en domótica.
8. Marroto, S.: Desarrollo de aplicaciones basadas en WSN.(Tesis 2010.)
9. O.K. Tonguz, H. Tsai, C. araydar, T. Talty,and A. Macdonald, Intra-Car Wireless Sensor Networks Using RFID: Opportunities and Challenges", 2007 Mobile Networking for Vehicular Environments, pp. 43-48.
10. Fuentes, J., Zora, F.: Estado del arte de aplicaciones de las redes de sensores inalámbricas en la industria automotriz en un ambiente intra-vehicular.
11. Maroto, S., Capella, J.: Desarrollo de aplicaciones basadas en WSN.
12. E. Lee. Embedded Software. Advances in Comp., Acad. Press, 2002.
13. S. Malek, et al. A Style-Aware Architectural Middleware for Resource Constrained, Distributed Systems. IEEE Trans. on Software Engineering, Vol. 31, No. 3, 2005.
14. Seo Ch., Edwards G., Popescu D.: A Framework for Estimating the Energy Consumption Induced by a Distributed System's Architectural Style. 2009.
15. Senger, R., Marsman, E., and Brown, R.: Methodology for Instruction Level Power Estimation in Pipelined Microsystems, https://domino.research.ibm.com/acas/w3www acas.nsf/ images/conf05/
FILE/senger.pdf, 2005.
16. Schmidt D., Kramer M., Kuhn T., and When N.: Energy modelling in sensor networks.
17. Rincón FJ. : Memorias del máster. Un Modelo de Simulación para Redes de Sensores Inalámbricas Basado en TOSSIM.
18. Vargas, H. Harb, R., Ulloa, J., González, A., Puiggros, J.: Diseño de una red de sensores inalámbricas distribuida aplicada a la industria.
19. Wang, Q., Yang, W.: Energy consumption model for power management in WSN.
20. SPICE: Simulation Program with Integrated Circuit Emphasis, http://bwrc.eecs.berkeley.edu/Classes/ IcBook/SPICE/, 2006.
21. Zhuang, Y., Pan, J., Cai, L.: Minimizing Energy Consumption with Probabilistic Distance Models in Wireless Sensor Networks.
Fecha de recepción: 13 de noviembre de 2012
Fecha de aceptación: 26 de febrero de 2013
Fecha de publicación: Abril de 2013
1 www.eclipse.org/modeling/emf
2 www.eclipse.org/gmt/oaw
3 Es la conexión que realizan los diferentes nodos que existen en distintos lugares y distancias para lograr un camino apropiado y conectar dos usuarios de una red.