Escolar Documentos
Profissional Documentos
Cultura Documentos
Datos de contacto
Soledad Escolar Daz
Profesor Ayudante Dpto. de Informtica Arquitectura y Tecnologa de Computadores (ARCOS) Despacho: 2.2.C.09 Mail: sescolar@arcos.inf.uc3m.es Web: http://www.arcos.inf.uc3m.es/~sescolar
31/03/2011
Contenidos
Parte I: Introduccin Parte II: Plataformas de hardware Parte III: Sistemas operativos Parte IV: Abstracciones de los sistemas operativos Parte V: Lneas de investigacin y desafos Trabajos propuestos Referencias
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Contenidos
Parte I:
Introduccin Wireless Sensor Networks (WSN) Historia antigua/moderna Elementos de una WSN Caractersticas Aplicaciones Tipos de despliegues Funcionamiento tpico de una WSN
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Introduccin
Una red de sensores (del ingls, Wireless Sensor Network) es un sistema distribuido donde parte de sus nodos (nodos sensores) son capaces de interactuar con el entorno fsico
Interactuar: lectura/actuacin sobre el medio Wireless Sensor and Actuator Networks (WSAN)
Nodos sensores son dispositivos electrnicos, autnomos, distribuidos geogrficamente alrededor de un fenmeno para monitorizarlo, con capacidades de: sensing, cmputo, almacenamiento y comunicacin inalmbrica
31/03/2011
S M S M S M
S M
S M G
A PC (estacin base), LAN, Internet
S M
31/03/2011
M G
S M
Qumicos:
e.g. C02, oxgeno, ozono.
Acsticos:
e.g. ruido, ultrasonido.
etc.
Mote (M):
Radio controlador
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
G
A PC (estacin base), LAN, Internet
31/03/2011
S S
M G
Estacin base
31/03/2011
Historia antigua
Proyecto Distributed Sensor Networks (DSN) Dcada de los aos 80 DARPA (Defense Advanced Research Projects Agency) de EEUU Sound Surveillance System (SOSUS) Red de boyas sumergidas instaladas en las costas de los EEUU durante la Guerra Fra para la deteccin de submarinos Considerada la primera red de sensores
http://en.wikipedia.org/wiki/SOSUS
31/03/2011
La ley de Bell (1972): aparecer una nueva tecnologa cada diez aos Proyecto Smart Dust (1998): cmo empaquetar en una mote de1mm3 un dispositivo sensorial autnomo (Dr. Kristofer Pister, Universidad de California, Berkeley) La primera mote: Ren (1999) El primer sistema operativo para nodos sensores: TinyOS (2002) Wireless Sensor Networks, la primera de las 10 tecnologas emergentes que cambiarn el mundo (MIT Journal, 2003)
Historia moderna
year
31/03/2011
Caractersticas
Redes ad-hoc, sin infraestructura de red Redes formadas por miles, millones de pequeos dispositivos de bajo coste Despliegue en terrenos inhspitos, de difcil acceso:
e.g. volcanes, glaciares, ocanos, bosques
Nodos autnomos y cooperantes, pensados para operar de manera desatendida un largo perodo de tiempo Nodos muy restringidos en cmputo, comunicacin, almacenamiento y energa Tpicamente redes inalmbricas (aunque tambin cableadas) Caractersticas especficas de comunicacin:
bajo throughput de datos, bajo consumo, topologas dinmicas (nodos mviles)
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Aplicaciones medioambientales
Objetivo: Monitorizacin medioambiental
No intrusiva No necesidad de infraestructuras Conocimiento preciso y actualizado
Source: http://www.biologie.uni-hamburg.de
Source: http://envisense.org/glacsweb/
31/03/2011
Automatizacin de edificios
Objetivo: automatizacin de tareas para el confort y seguridad en el hogar Desde edificios inteligentes hasta u-cities Ubiquitous cities Ej. Songdo City (Korea) New Songdo City finalizar en 2014
$25 billones Smart-cards, RFID, WSNs, etc. http://www.youtube.com/watch?v= V2uzo-xzta0
Source: http://www.songdo.com/ The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it., Mark Weiser. Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Monitorizacin de infraestructuras
Objetivo:
cuantificar el grado en que los materiales se desgastan as como sus defectos estructurales
Proyecto europeo del 6PM Emplean sensores cableados para monitorizar puentes de ferrocarriles [Krger and Grosse, 2004]
31/03/2011
Aplicaciones sanitarias
Objetivo: diagnstico de pacientes, respuesta a desastres, rehabilitacin
http://www.youtube.com/watch?v=V_UCF 3ZENv4&feature=related
Ej. CodeBlue
Sensores que miden las constantes vitales de los pacientes desde sus hogares
Source: http://fiji.eecs.harvard.edu/CodeBlue
Redes de sensores inalmbricas: visin de los sistemas operativos
Aplicaciones logsticas
Objetivo:
Monitorizacin de equipajes, contenedores, etc.
Localizacin exacta en cada momento del tiempo Monitorizacin de otras variables RFID: otra tecnologa adecuada
Tipos de despliegues
No confundir con topologa Aleatorio
e.g., instalados desde un avin Distribucin aleatoria de los nodos sobre un rea finita
Regular
e.g., mantenimiento preventivo, monitorizacin Distribucin manual y localizacin fija No necesariamente estructura geomtrica
31/03/2011
wakeup
Funcionamiento
sleep
Tiempo
http://www.youtube.com/watch?v=jtRv2PCeOyM
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Contenidos
Parte II: Plataformas de hardware
Nodos sensores, placas sensoras y gateways Arquitectura hardware del nodo sensor Componentes de hardware
31/03/2011
Nodos sensores
Plataformas comerciales:
Eko (2010)
Plataformas de investigacin:
http://en.wikipedia.org/wiki/List_of_wireless_sensor_nodes
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Gateway
Capacidad de comunicacin inalmbrica Conexin a estacin base por cable:
USB, RS-232, TCP/IP
Doble funcin:
Programador de motes
Descarga del cdigo ejecutable en c
31/03/2011
Baja frecuencia (7-32 Mhz) Arquitectura tpicamente RISC de 8-bits Conversor analgico-digital (ADC) Varios relojes
Temporizadores sincronizacin de tareas
Ej.
Atmega 128 de Atmel (familia Mica)
31/03/2011
31/03/2011
31/03/2011
Aplicaciones:
e.g. sistemas de ficheros, reprogramacin, etc.
LEDs:
Tres leds:
rojo, verde y amarillo
Funcin:
Depuracin de la aplicacin
31/03/2011
Contenidos
Parte III: Sistemas Operativos
Arquitectura de software Caractersticas Modelos de ejecucin y programacin Sistemas Operativos para nodos sensores Programacin de aplicaciones
31/03/2011
Sistemas Operativos
Los nodos sensores incluyen un microcontrolador capaz de ejecutar tareas que requieren el acceso a elementos de hardware (sensores, memoria, radio, etc.)
Dispositivos no dedicados
31/03/2011
Arquitectura de software
Abstraction level
31/03/2011
Responsable de:
Gestionar el microcontrolador (tpicamente monotarea), tiempo (temporizadores) y concurrencia Gestionar el resto de dispositivos del hardware Ofrecer interfaces de acceso (APIs) a los elementos de hardware (sensores, memoria, radio, etc.) Programacin de aplicaciones Ofrecer una interfaz para la instalacin del cdigo ejecutable en el microcontrolador Ahorro de energa
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Footprint (huella) de pequeo tamao Limitado por la capacidad de memoria (e.g. 4KB RAM y 128 KB ROM) Ofrecen interfaces de alto nivel (al nivel de aplicacin) y usan el interfaz de bajo nivel para acceder a los dispositivos de hardware Servicios cross-layer En realidad, no tan alto nivel. Proveen implementaciones para la gestin de red (protocolos de enrutamiento, MAC, localizacin), memoria flash (sistemas de ficheros), temporizacin (relojes de software), etc.
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Modelos de ejecucin
Basado en eventos Basado en threads
Modelo basado en eventos
1
1 2 3
Pila compartida
31/03/2011
31/03/2011
Ventajas e inconvenientes
Basado en eventos
Una nica pila compartida Ms eficiente en cuanto a los recursos utilizados Asncrono Flujo de ejecucin no estructurado (mquina de estados) La depuracin es complicada
Basado en threads
Flujo de ejecucin lineal Sncronos bloqueantes Una pila por thread recursos ms
31/03/2011
31/03/2011
Sistemas Operativos
TinyOS :
Primer SO desarrollado especficamente para nodos sensores Jason Lester Hill y David Culler
Berkeley University, 2002
Multiplataforma
No soporta todas las plataformas de nodos sensores
http://www.tinyos.net
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
TinyOS
Modelo de ejecucin basado en eventos Con algunas diferencias con respecto al modelo puro Los eventos tienen una semntica con-expulsin (preemptive) y no se encolan Qu ocurre con los eventos que se interrumpen? Se pierden
Modelo de programacin basado en componentes 1 2 3 4
Application (Configuration Component) Configuration Component D
Implementation Component A
Implementation Component C
Implementation Component B
Configuration Component F
Implementation Component E
31/03/2011
nesC
nesC: networked embedded systems C Meta-lenguaje basado en C Modelo de programacin basado en componentes Caractersticas: Interfaces bidireccionales (use and provide) Componentes: separacin entre implementacin y composicin Implementacin mediante module Composicin esttica mediante configuration Wiring es la relacin de todos los componentes e interfaces implicados en una aplicacin, indicando qu componentes usan y proporcionan cada interfaz
31/03/2011
Componentes en nesC
Dos tipos:
Configuracin
Componentes utilizados por la aplicacin (a todos los niveles: HW, OS, y aplicacin) Relaciones entre componentes e interfaces (wiring) X.Y Z.Y
Application (Configuration Component) Configuration Component D
Implementation Component A
Implementation Component C
Implementation Component B
Implementacin o mdulo:
Implementacin del componente Interfaces que usa y proporciona este componente
Redes de sensores inalmbricas: visin de los sistemas operativos
Configuration Component F
Implementation Component E
31/03/2011
Interfaces en nesC
Prototipos de las funciones y de los eventos que usan/proporcionan los componentes:
Comandos
Similares a las funciones: ruptura de control para ejecutar el comando (funcin) y retorno a la funcin llamante Se invocan desde un nivel de abstraccin mayor a uno menor La implementacin de los comandos se proporciona en el componente de nivel inferior
app
so
Eventos
hw Para cada evento, el manejador del evento contiene la implementacin que ha de ejecutarse cuando se genera el evento Se invocan desde un nivel de abstraccin menor a uno mayor La implementacin de los eventos se proporciona en el nivel superior
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
so
Eventos
signal Y.E(tipo1 arg1,tipo2 arg2,, tipon argn) Donde Y es un componente de implementacin que proporciona la implementacin del evento E
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
hw
Planificacin en TinyOS
2 niveles de planificacin: Eventos: funciones de alta prioridad Tareas: funciones de ms baja prioridad
31/03/2011
Interface
31/03/2011
TinyOS 2.x
Iniciativa de muchas universidades colaborando juntas (Nov, 2006) Objetivos:
Portabilidad Facilitar la construccin de aplicaciones Fiabilidad
[Philip Levis, David Gay, Vlado Handziski, Jan Hinrich Hauer, Ben Greenstein, Martin Turon, Jonathan Huio, Kevin Klues, Cory Sharp, Robert Szewczyk, Joe Polastre, Philip Buonadonnao, Lama Nachman, Gilman Tolleo, David Culler and Adam Wolisz, 2006]
31/03/2011
TinyOS 2.x
Implementacin de mltiples threads (TosThreads) Intento de combinar el modelo de programacin de threads en un modelo de ejecucin basado en eventos El planificador maneja una FIFO con capacidad para 255 tareas (en T1 tena capacidad para 8 tareas)
La semntica de fallos para insertar una tarea en la cola se mejora a post of a task only will fail if and only if the task has been previously posted and its
execution has not started. This semantic is achieved by locating a byte of state for every task, to test if it must post itself again or not
31/03/2011
Contiki
Diseado para sistemas empotrados conectados en red, incluidos nodos sensores Adam Dunkels, Swedish Instititute of Computer Science (SICS), 2003 http://www.sics.se/contiki/ Caractersticas: Open source Modelo de ejecucin hbrido (threads y eventos) Modelo de programacin secuencial Escrito en lenguaje de programacin C Multiplataforma Soporte para menos plataformas comerciales Reprogramacin modular Footprint:
2 kilobytes de RAM y 40 kilobytes de ROM
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Estilo de programacin
Proporciona sintaxis secuencial y bloqueos condicionales
31/03/2011
Protothreads (I)
La primera versin de Contiki usaba threads La segunda versin de Contiki incorpora los protothreads:
Protothreads are extremely lightweight stackless threads designed for severely memory constrained systems, such as small embedded systems or wireless sensor network nodes
Los protothreads en Contiki se basan en el concepto de continuacin local de Reynolds (1993) y las co-rutinas de Simon Tatham (2005) Cualquier proceso en Contiki es un protothread, el cual implementa una funcin de C Threads muy ligeros que se ejecutan sobre un kernel basado en eventos Pueden ser vistos como: Manejadores de eventos bloqueantes
31/03/2011
Protothreads (II)
Un protothread se basa en una continuacin local (lc), la cual usa n bytes para representar la direccin del salto relativa a una funcin de C (un puntero)
El tamao de la direccin es dependiente de la plataforma
Contiki define una serie de macros de C (directivas de pre-procesador) que permiten modificar implcitamente y de manera transparente el valor de lc Dos operaciones bsicas:
set (lc, dir) resume (lc) modificar el valor de lc a dir continuar una lc
31/03/2011
31/03/2011
LC_END((pt)->lc); PT_YIELD_FLAG = 0; \ PT_INIT(pt); return T_ENDED; } #define PT_WAIT_UNTIL(pt, condition) \ do { \ LC_SET((pt)->lc); \ if(!(condition)) { \ return PT_WAITING; \ } \ } while(0) #define PT_WAIT_WHILE(pt, cond) #define PT_WAIT_THREAD(pt, thread)
Redes de sensores inalmbricas: visin de los sistemas operativos
#define #define #define #define #define #define #define #define #define #define
PROCESS_BEGIN() PT_BEGIN(process_pt) PROCESS_END() PT_END(process_pt) PROCESS_WAIT_EVENT() PROCESS_YIELD() PROCESS_WAIT_EVENT_UNTIL(c) PROCESS_YIELD_UNTIL(c) PROCESS_YIELD() PT_YIELD(process_pt) PROCESS_YIELD_UNTIL(c) PT_YIELD_UNTIL(process_pt, c) PROCESS_WAIT_UNTIL(c) PT_WAIT_UNTIL(process_pt, c) PROCESS_WAIT_WHILE(c) PT_WAIT_WHILE(process_pt, c) PROCESS_EXIT() PT_EXIT(process_pt) PROCESS_THREAD(name, ev, data) \ static PT_THREAD(process_thread_##name(struct pt *process_pt, \ process_event_t ev, \ process_data_t data)) #define PROCESS_NAME(name) extern struct process name
31/03/2011
static char example(struct pt *pt) { switch(pt->lc) { case 0: while(1) { pt->lc = 12; case 12: if(!(counter == 1000)) return 0; printf("Threshold reached\n"); counter = 0; } } pt->lc = 0; return 2; } Redes de sensores inalmbricas: visin de los sistemas operativos
31/03/2011
pt.h
#define PT_INIT(pt) pt->lc = 0 #define PT_BEGIN(pt)switch(pt->lc){\ case 0: #define PT_EXIT() pt->lc = 0: \ return 2; #define PT_WAIT_UNTIL(pt, c) pt->lc = __LINE__; \ case __LINE__: \ if (!(c)) return 0; #define PT_END(pt) } pt->lc = 0;
31/03/2011
Mantis
MultimodAl networked of In-situ Sensors (MANTIS) Universidad de Colorado (2003) Sistema operativo escrito en C de cdigo abierto basado en POSIX Facilidad de programacin Multi-threading Planificador basado en prioridades Multiplataforma Mica2, MicaZ y Telos Footprint: 500 bytes RAM y 14 KB ROM Ventajas: Procesos largos no bloquean el sistema Modelo de programacin ms sencillo que modelo basado en eventos Inconvenientes:
S. Bhatti, J. Carlson, H. Dai, J. Deng, J. Rose, A. Sheth, B. Shucker, C. Gruenwald, A. Torgerson, R. Han
Sobrecarga debida a los intercambios de contexto Mayor consumo de memoria debido a la existencia de mltiples pilas
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
void start(void){ uint16_t delay; uint8_t value; comBuf send_pkt; value=dev_get(DEV_MICA2_LIGHT); mos_led_toggle(0); send_pkt.data[0]=VALUE; send_pkt.size = 1; com_send(IFACE_RADIO, &send_pkt); }
31/03/2011
Resumen
Modelos de ejecucin:
Basado en eventos:
TinyOS : eventos y tareas Modelo basado en eventos
1
1 2 3
Basado en threads:
Mantis: prioridades LiteOS: multithread
Hbrido:
Contiki: protothreads Un protothread manejador de bloqueante es un evento Pila compartida Pila dedicada por thread
31/03/2011
Modelos de programacin
Modelo 1: TinyOS 1.x (eventos)
1: module MyApp { 2: uses interface { interfaces } 3: provides interface {StdControl,}} 4: implementation{ 5: command StdControl.init(){ } 6: command StdControl.start(){ 7: // call command // post task 8: } 9: command StdControl.stop(){ } 10: event interfaceUsed.event(){ } 11:}
31/03/2011
Contenidos
Parte IV: Capas de abstraccin de los sistemas operativos
Arquitecturas portables NOSA
http://opensource.gsfc.nasa.gov/projects/osal/
31/03/2011
Motivacin
31/03/2011
Orgenes de problemas
Complejidad inherente al hardware:
Recursos limitados de HW y energa Heterogeneidad de los dispositivos Nmero creciente de plataformas
Desarrollo de aplicaciones:
Ad-hoc, bottom-up, fuertemente acopladas Programacin cercana al sistema operativo Portabilidad de aplicaciones reducida
Motivacin
Especficamente, los SSOO diseados para nodos sensores:
Exportan tanto la interfaz del hardware como la del propio SO
o Lmite incierto entre HW/SW
No existen herramientas de alto nivel (lenguajes de programacin especficos, metalenguajes, capas de abstraccin) sobre el SO:
o Las aplicaciones usan el mismo LP que el SO subyacente o Incremento de la complejidad
El tamao reducido de los nodos impide tener la generalidad y las abstracciones esperadas en el nivel del SO
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Diseo, implementacin y evaluacin de una arquitectura software centrada en nodo sensor que soporte el desarrollo de aplicaciones genricas y portables que puedan ser fcilmente transportadas a plataformas heterogneas, incrementando as la productividad.
31/03/2011
Arquitectura actual
App 1 App 1 App 1
SO WNS 1
SO WSN 2
SO WSN n
Mote 1
Mote 2
Mote 3
Mote m
Sensorboard 1
Sensorboard 2
Sensorboard l
31/03/2011
Arquitectura propuesta
Aplicacin 1
OSAL
SO WNS 1
SO WSN 2
SO WSN n
Mote 1
Mote 2
Mote 3
Mote m
Sensorboard 1
Sensorboard 2
Sensorboard l
31/03/2011
SO WSN 2
SO WSN n
Mote 1
Mote 2
Mote 3
Mote m
Sensorboard 1
Sensorboard 2
Sensorboard l
31/03/2011
SO WSN 2
SO WSN n
Mote 3
Mote m
Sensorboard 1
Sensorboard 2
Sensorboard l
Multiplataforma
SO WNS 1
OSAL
SO WSN 2
SO WSN n
Diseo multicapa
Mote 1 Mote 2 Mote 3 Mote m
Reusabilidad
Hardware Sistema Operativo
Sensorboard 1 Sensorboard 2 Sensorboard l
31/03/2011
Multiplataforma
SO WNS 1
OSAL
SO WSN 2
SO WSN n
Diseo multicapa
Mote 1 Mote 2 Mote 3 Mote m
Reusabilidad
Hardware Sistema Operativo
Sensorboard 1 Sensorboard 2 Sensorboard l
31/03/2011
Implementacin de OSAL
Aplicacin (APP) Sensor Node Open Services Abstraction Layer (SN-OSAL) API de SN-OSAL SN-OSAL Translation Engine
pre-compilador de SN-OSAL (osalc) Scripts de traduccin (mappers)
osal2tinyos1x
osal2contiki
TinyOS 1.x
Familia Mica
Familia Telos
Interfaz de SN-OSAL
La interfaz de SN-OSAL se compone de:
1. 2. 3. Primitivas o servicios de alto nivel que gestionan operaciones bsicas sobre los dispositivos fsicos de los nodos sensores Constructores del lenguaje Espacio de nombres y palabras reservadas
31/03/2011
31/03/2011
Comunicacin
int8_t osal_net_send (uint8_t address, void *data, uint8_t length); int8_t osal_net_getId ();
Leds
void osal_led_on (uint8_t led); void osal_led_off (uint8_t led);
Procesos y planificacin
osal_task* osal_task_current(); int8_t osal_task_exit();
Sistema de ficheros
int8_t osal_fs_open (char *filename, uint8_t mode) int8_t osal_fs_read (uint8_t fd, char *buffer, int8_t length)
31/03/2011
T:SN-OSALI
SN-OSALI
osal_led_on(LED_RED)
OIj
TinyOS 2.x
call Leds.Led0On() call Leds.Led1Off()
TinyOS 1.x
call Leds.redOn()
Contiki
leds_on(LEDS_RED) leds_off(LEDS_GREEN)
osal_led_off(LED_GREEN) call Leds.greenOff() desc=osal_timer_start(*, SEC,ONE_SAMPLE) desc=osal_timer_start(*, SEC, REPEAT_SAMPLE) osal_io_open(TEMP) osal_io_close(TEMP) osal_io_read(TEMP,*) osal_net_getId() osal_net_send(*,*,*)
call TimerX.start( call TimerX.startOneShot( etimer_set(&tx, TIMER_ONE_SHOT, \1*1000) \1*1000) \1*CLOCK_SECOND) call TimerX.start( TIMER_ONE_SHOT, \1) call TempControl.init() call TempControl.stop() call TempControl.start() call Temp.getData() TOS_LOCAL_ADDRESS if (call SendX.send( \1,\3,\2 )==SUCCESS){ osal_radio_busy=TRUE;} // go into a loop call TimerX.startPeriodic( etimer_set(&tX, \1*1000) \1*CLOCK_SECOND) temperature_sensor.activate() temperature_sensor.deactivate()
call Temperature.read() data=temperature_sensor.value(0) TOS_NODE_ID if (call AMSendX.send( \1,\2,\3 )==SUCCESS){ osal_radio_busy=TRUE;} node_id rimebuf_clear() rimebuf_copyfrom(\2,\3) addr.u8[0]=addr.u8[1]=(\1) Y_send(X_conn,&addr)
31/03/2011
donde:
1. Compilacin de la aplicacin APPSN-OSAL
G : SN-OSALI SN-OSALI
31/03/2011
Semntica:
Modelo de ejecucin/programacin basado en eventos Bloques de programacin:
Funcin principal (main) Entidades de ejecucin Tareas (TinyOS) o protothreads (Contiki) Manejadores de eventos
31/03/2011
VisualOSAL
VisualOSAL es un entorno de desarrollo grfico de aplicaciones de alto nivel construidas sobre SN-OSAL
VisualOSAL
Caractersticas:
Guiar el proceso completo de desarrollo de aplicaciones Permitir especificar aplicaciones de manera visual:
o
Los elementos del lenguaje SN-DSL se substituyen por notacin grfica para especificar de manera sencilla e intuitiva aplicaciones de alto nivel
Generar cdigo en distintos niveles de abstraccin y etapas de desarrollo: o Cdigo portable (XML) o Cdigo independiente (SN-DSL) o Cdigo especfico de la plataforma (SO)
Prototipo en desarrollo
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Contenidos
Parte V: Lneas futuras de investigacin,
tendencias y desafos Lneas futuras de investigacin Tendencias Desafos
Energa Herramientas de desarrollo, APIs de programacin Simulacin Integracin con otras tecnologas de red
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Desafos (I)
Complejidad inherente al hardware:
Recursos limitados de HW y energa
Bsqueda de fuentes alternativas de energa
Desarrollo de aplicaciones:
Ad-hoc, bottom-up, fuertemente acopladas Programacin cercana al sistema operativo
No existen lenguajes de programacin por encima de los sistemas operativos
Desafos (II)
Integracin de las WSN con otras tecnologas de red
Internet (6lowpan) Middleware de comunicaciones Escalabilidad, heterogeneidad, etc. Seguridad
31/03/2011
31/03/2011
Tendencias
Mercado de RFID y WSN hasta 2010
31/03/2011
NOTA:
USN: Ubiquitous Sensor Networks
Redes de sensores inalmbricas: visin de los sistemas operativos 16/11/2010
31/03/2011
Lista de trabajos
Sistemas operativos:
Ahorro de energa en los sistemas operativos Contiki y TinyOS Estado del arte de otros sistemas operativos diseados para redes de sensores: LiteOS, nanoOS
OSAL:
osal2mantis: portar OSAL al sistema operativo mantis osal2<wsn-os> Introducir primitivas de ahorro de energa en OSAL
Redes y comunicacin
Anlisis del consumo de energa del protocolo MAC 802.15.4 Diseo e implementacin de un protocolo de enrutamiento de paquetes basado en rboles B Integracin de una WSN con Internet (6lowpan)
Desarrollos en TinyOS y Contiki
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Bibliografa (I)
[1] Sensors everywhere. Fundacin Vodafone. (online: http://vodafone.es/fundacion/fundacion.vodafone.es/VSharedClient/FundacionVodafon e/PDF/LibroSensors.pdf) [2] Introduccin a las redes de sensores (online: http://www.arcos.inf.uc3m.es/~sescolar/index_files/presentacion/wsn.pdf) [3] System architecture for wireless sensor networks by Jason Lester Hill [4] The nesC language: A holistic approach to networked embedded systems by David Gay, Philip Levis, Robert von Behren, Matt Welsh, Eric Brewer, David Culler. [5] TinyOS programming by Phillip Levis (online: http://www.tinyos.net/tinyos2.x/doc/pdf/tinyos-programming.pdf) [6] Contiki - a Lightweight and Flexible Operating System for Tiny Networked Sensors by Adam Dunkels , Bjrn Grnvall , Thiemo Voigt [7] Mantis os: An embedded multithreaded operating system for wireless micro sensor platforms by Shah Bhatti , James Carlson , Hui Dai , Jing Deng , Jeff Rose , Anmol Sheth , Brian Shucker , Charles Gruenwald , Adam Torgerson , Richard Han [8] Protothreads: Simplifying event-driven programming of memory-constrained embedded systems. Adam Dunkels, Oliver Schmidt, Thiemo Voigt, and Muneeb Ali.
Redes de sensores inalmbricas: visin de los sistemas operativos 31/03/2011
Bibliografa (II)
[9] T2: A Second Generation OS For Embedded Sensor Networks (2006) by Philip Levis, David Gay, Vlado Handziski, Jan-Hinrich Hauer, Ben Greenstein, Martin Turon, Jonathan Huio, Kevin Klues, Cory Sharp, Robert Szewczyk, Joe Polastre, Philip Buonadonnao, Lama Nachman, Gilman Tolleo, David Culler, and Adam Wolisz. [10] Versatile low power media access for wireless sensor networks by Joseph Polastre, Jason Hill and David Culler [11] Flexible Hardware Abstraction for Wireless Sensor Networks (2005) by Vlado Handziski, Joseph Polastrey, Jan-Hinrich Hauer, Cory Sharpy, Adam Wolisz and David Culler [12] Low Power Listening. (online: http://www.tinyos.net/tinyos-2.x/doc/html/tep105.html) [13] IEEE 802.15.4 (online: http://www.ieee802.org/15/pub/TG4.html) [14] Zigbee Alliance (online: www.zigbee.org) [15] Operating System Abstraction Layer (online: http://opensource.gsfc.nasa.gov/projects/osal/index.php) [16] An operating system abstraction layer for portable applications in wireless sensor networks by Ramon Serna Oliver, Ivan Shcherbakov, Gerhard Fohler [17] Wireless sensor networks: a survey by I. F. Akyildiz , W. Su , Y. Sankarasubramaniam , E. Cayirci [18] Directed Diffusion: A scalable and robust communication paradigm for sensor networks by Chalermek Intanagonwiwat , Ramesh Govindan , Deborah Estrin
31/03/2011