Upload
dangcong
View
214
Download
0
Embed Size (px)
Citation preview
ImplementaciImplementacióón de MAS en n de MAS en Sistemas EmbebidosSistemas Embebidos
Francisco Sivianes Castillo
02/07/2009 MAS en Sistemas Embebidos 2
ÍÍndicendice
Definiendo algunos términos
Nuestro escenario de trabajo
Niveles de sistemas de procesamiento
Pruebas
Conclusiones
02/07/2009 MAS en Sistemas Embebidos 3
Definiendo algunos tDefiniendo algunos téérminosrminos
Microprocesador– (RAE) 1. m. Fís. Circuito constituido por millares de
transistores integrados en un chip, que realiza alguna determinada función de los computadores electrónicos digitales.
– (María Moliner) m. Inform. Circuito Integrado que constituye la unidad central de procesamiento de un microordenador.
• Microordenador m. Inform. Ordenador de pequeño tamaño que contiene un microprocesador.
Microcontrolador – (RAE) No existe entrada para este término.– (María Moliner) No existe entrada para este término.
02/07/2009 MAS en Sistemas Embebidos 4
Definiendo algunos tDefiniendo algunos téérminosrminos
Microprocesador– El microprocesador está unido al concepto lógico de CPU. Una
CPU puede estar soportada por uno o varios microprocesadores, y un microprocesador puede soportar una o varias CPU. Un núcleo suele referirse a una porción del procesador que realiza todas las actividades de una CPU real.
– El microprocesador está compuesto básicamente por: varios registros; una Unidad de control, una Unidad aritmético-lógica; y dependiendo del procesador, puede contener una unidad en coma flotante.
Microcontrolador– Un microcontrolador es un circuito integrado o chip que
incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S.
02/07/2009 MAS en Sistemas Embebidos 5
Definiendo algunos tDefiniendo algunos téérminosrminos
•Integrated DDR2 DRAM Controller with AMD Memory Optimizer Technology
• A high-bandwidth, low-latency integrated DDR2 memory controller•Supports PC2-8500 (DDR2-1066); PC2-6400 (DDR2-800), PC2-5300 (DDR2-667), PC2-4200 (DDR2-533) or PC2-3200 (DDR2-400) SDRAM unbuffered DIMMs•Support for 64-bit DDR2 SDRAM memory•Up to 17.1GB/s memory bandwidth
•Benefit: Quick access to system memory for better performance.
02/07/2009 MAS en Sistemas Embebidos 6
Definiendo algunos tDefiniendo algunos téérminosrminos
Embebido – (RAE). No aparece ninguna entrada– (María Moliner). Embutido en otra cosa.
02/07/2009 MAS en Sistemas Embebidos 7
Definiendo algunos tDefiniendo algunos téérminosrminos
02/07/2009 MAS en Sistemas Embebidos 8
Definiendo algunos tDefiniendo algunos téérminosrminosPara Windows CE:
02/07/2009 MAS en Sistemas Embebidos 9
Definiendo algunos tDefiniendo algunos téérminosrminos
Sistema Hardware con recursos limitados
Sistema Operativo empotrados
02/07/2009 MAS en Sistemas Embebidos 10
Nuestro escenario de trabajoNuestro escenario de trabajo
02/07/2009 MAS en Sistemas Embebidos 11
ImplementaciImplementacióón MASn MAS
Microsoft Framework (Windows)– Visual C#– Visual Basic (Gambas – Linux)
Java (Multiplataforma)– JADE
02/07/2009 MAS en Sistemas Embebidos 12
Niveles de Sistemas de procesamientoNiveles de Sistemas de procesamiento
Nivel 1.– Sensores / Actuadores
Nivel 2.– Equipos Embebidos móviles
Nivel 3.– Equipos Embebidos fijos
Nivel 4. – PC Control
02/07/2009 MAS en Sistemas Embebidos 13
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 1 (Nivel 1 (SensoresSensores –– Actuadores)Actuadores)
Recursos de computación muy limitados:– CPU
• 8bits/16bits– MEMORIA
• Flash 128Kbytes• EEPROM 4Kbytes• SRAM 4KBytes
– Frecuencias• 8 MHz / 16MHz / 24 MHz
02/07/2009 MAS en Sistemas Embebidos 14
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 1 (Nivel 1 (SensoresSensores –– Actuadores)Actuadores)
02/07/2009 MAS en Sistemas Embebidos 15
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 1 (Entornos de ProgramaciNivel 1 (Entornos de Programacióón)n)
AVR Studio 4 SDK– Compiladores cruzados
AVR 32 Studio 2.2– IDE para construir y
depurar código C/C++ – Está construido sobre
Eclipse .
02/07/2009 MAS en Sistemas Embebidos 16
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 1 (Sistemas Operativos)Nivel 1 (Sistemas Operativos)
Sistemas Operativos de Motas– Bertha– Nut/OS– Contiki– CORMOS– eCos– EYESOS– MagnetOS– MANTIS– TinyOS– t-Kernel– LiteOS
02/07/2009 MAS en Sistemas Embebidos 17
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 1 (Lenguajes de ProgramaciNivel 1 (Lenguajes de Programacióón)n)
nesC: Network Embedded Systems C , y está directamente relacionado con TinyOS.
Protothreads: específicamente diseñado para la programación concurrente, provee hilos de dos bytes como base de funcionamiento.
SNACK: facilita el diseño de componentes para redes de sensores.
c@t: iniciales que indican computación en un punto del espacio en el tiempo (Computation at a point in space (@) Time ).
DCL: Lenguaje de composición distribuido (Distributed Compositional Language).
galsC: diseñado para ser usado en TinyGALS, es un lenguaje programado mediante el modelo orientado a tarea, fácil de depurar, permite concurrencia y es compatible con los módulos nesc de TinyOS.
SQTL(Sensor Query and Tasking Language): como su nombre indica es una interesante herramienta para realizar consultas sobre redes de motas.
02/07/2009 MAS en Sistemas Embebidos 18
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 1 (Nodo Nivel 1 (Nodo SensorSensor))
02/07/2009 MAS en Sistemas Embebidos 19
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 1 (Nivel 1 (DispDisp. Ultima generaci. Ultima generacióón)n)
SunSPOT– Hardware
• Cada Sun SPOT tiene un core a 180MHz 32- bit ARM920T con 512K RAM y 4M Flash.
– Software (Entorno de desarrollo)• Squawk. Una implementación de Java ME,
que soporta CLDC 1.1 y MIDP 1.0, más funcionalidad básica del SO. Todos los drivers de dispositivos están también escritas en Java.
02/07/2009 MAS en Sistemas Embebidos 20
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 2 (Equipos Embebidos MNivel 2 (Equipos Embebidos Móóviles)viles)
Recursos de computación “limitados”:– CPU
• 32bits– MEMORIA
• ROM 128/256/512MB• RAM 256/512/1024MB• Adaptadores para memoria flash
– Frecuencias• 300 - 500 MHz
02/07/2009 MAS en Sistemas Embebidos 21
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 2 (Equipos Embebidos MNivel 2 (Equipos Embebidos Móóviles)viles)
HTC Magic– Processor:
Qualcomm MSM7201, a 528 MHz– Platform:
Android– Memory:
ROM: 512 MB RAM: 192 MB
– Display: 3.2-inch TFT-LCD flat touch- sensitive screen with 320x480 HVGA resolution
02/07/2009 MAS en Sistemas Embebidos 22
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 2 (Nivel 2 (S.OS.O. . -- SDK)SDK)
Microsoft– Windows Mobile 6.5 (SDK)
Android– Android 1.5 SDK, Release 2
Apple– Iphone Developer program
Otros– Blackberry
02/07/2009 MAS en Sistemas Embebidos 23
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 2 (Sistema de Desarrollo)Nivel 2 (Sistema de Desarrollo)
Android– Android es una pila sotfware para dispositivos moviles
que incluye un sistema operativo, middleware y aplicaciones patrones. Android SDK proporciona las herramientas y APIs necesarios para comenzar a realizar aplicaciones en las plataformas Android usando Java como lenguaje de programación.
02/07/2009 MAS en Sistemas Embebidos 24
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 2 (Sistema de Desarrollo)Nivel 2 (Sistema de Desarrollo)
02/07/2009 MAS en Sistemas Embebidos 25
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 3 (Equipos Embebidos Fijos)Nivel 3 (Equipos Embebidos Fijos)
Recursos de computación medio:– CPU
• 32bits– MEMORIA
• ROM 512MB• RAM 256/512/1024MB/2048MB• Adaptadores para memoria flash
– Frecuencias• 500 MHz – 1GHz
02/07/2009 MAS en Sistemas Embebidos 26
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 3 (Equipos Embebidos Fijos)Nivel 3 (Equipos Embebidos Fijos)
CPU:433 (LX700) ó 500 MHz (LX800) AMD Geode LX CPU - cache = 64KB instruction + 64KB data + 128KB L2.
DRAM:128 ó 256 MB DDR SDRAM (333 or 400 MHz clock).
Sistema Operativo y Aplicaciones almacenadas en tarjetas CompactFlash.
02/07/2009 MAS en Sistemas Embebidos 27
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 3 (Equipos Embebidos Fijos)Nivel 3 (Equipos Embebidos Fijos)
http://www.pcengines.ch/alix.htm
02/07/2009 MAS en Sistemas Embebidos 28
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 3 (Sistemas Operativos)Nivel 3 (Sistemas Operativos)
Software: Sistemas Operativos
FreeBSD– FreeBSD– Monowall (FreeBSD based) – pfSense (FreeBSD based) – STYX (FreeBSD based Secure Internet Appliances, in German)
Linux– iMedia ALIX Linux - highly recommended for a quick start - fits nicely on a 512MB CF card. – DD-WRT– OS 3 Gadgets– fli4l one disk router (in German) – LEAF Linux Embedded Appliance Firewall– Meshlium (wireless mesh system based on Voyage) – OpenWRT (working with Kamikaze version) – Voyage Linux (slimmed down Debian) – Xubuntu Linux (customer reported success with 8.04). – Zeroshell
NetBSD– NetBSD (versions 4, 5)
OpenBSD– OpenBSD (X11 and audio support in 4.3-current) – Flashdist OpenBSD installer
Commercial– Ikarus OS– Embed-it (OpenBSD based) – Microsoft Windows XP – Mikrotik RouterOS
02/07/2009 MAS en Sistemas Embebidos 29
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 3 (Equipos Embebidos Fijos)Nivel 3 (Equipos Embebidos Fijos)
02/07/2009 MAS en Sistemas Embebidos 30
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 3 (Equipos Embebidos Fijos)Nivel 3 (Equipos Embebidos Fijos)
02/07/2009 MAS en Sistemas Embebidos 31
Niveles segNiveles segúún recursos de computacin recursos de computacióónn Nivel 3 (Entornos de ProgramaciNivel 3 (Entornos de Programacióón)n)
Windows XP SP3– Visual Studio 2005
– Visual Basic 2005– Visual C# 2005
Ubuntu 9.04 Desktop– Gambas
• Código Adaptado Visual Basic
Java– JADE
02/07/2009 MAS en Sistemas Embebidos 32
ConclusionesConclusiones
La evolución hard – soft es muy rápida.
Existen muchas plataformas.
Aplicar un sistema multiagente no es fácil.
¿Qué paradigma de programación MAS podemos utilizar en cada caso?
MultiagentesMultiagentes en Sistemas en Sistemas EmbebidosEmbebidos
Francisco Sivianes Castillo