33
Implementaci Implementaci ó ó n de MAS en n de MAS en Sistemas Embebidos Sistemas Embebidos Francisco Sivianes Castillo

Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

Embed Size (px)

Citation preview

Page 1: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

ImplementaciImplementacióón de MAS en n de MAS en Sistemas EmbebidosSistemas Embebidos

Francisco Sivianes Castillo

Page 2: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

02/07/2009 MAS en Sistemas Embebidos 2

ÍÍndicendice

Definiendo algunos términos

Nuestro escenario de trabajo

Niveles de sistemas de procesamiento

Pruebas

Conclusiones

Page 3: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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.

Page 4: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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.

Page 5: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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.

Page 6: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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.

Page 7: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

02/07/2009 MAS en Sistemas Embebidos 7

Definiendo algunos tDefiniendo algunos téérminosrminos

Page 8: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

02/07/2009 MAS en Sistemas Embebidos 8

Definiendo algunos tDefiniendo algunos téérminosrminosPara Windows CE:

Page 9: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

02/07/2009 MAS en Sistemas Embebidos 9

Definiendo algunos tDefiniendo algunos téérminosrminos

Sistema Hardware con recursos limitados

Sistema Operativo empotrados

Page 10: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

02/07/2009 MAS en Sistemas Embebidos 10

Nuestro escenario de trabajoNuestro escenario de trabajo

Page 11: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

02/07/2009 MAS en Sistemas Embebidos 11

ImplementaciImplementacióón MASn MAS

Microsoft Framework (Windows)– Visual C#– Visual Basic (Gambas – Linux)

Java (Multiplataforma)– JADE

Page 12: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 13: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 14: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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)

Page 15: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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 .

Page 16: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 17: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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.

Page 18: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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))

Page 19: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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.

Page 20: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 21: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 22: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 23: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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.

Page 24: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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)

Page 25: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 26: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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.

Page 27: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 28: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 29: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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)

Page 30: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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)

Page 31: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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

Page 32: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

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?

Page 33: Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with 8.04). ... Nivel 3 (Entornos de Programación) Windows XP SP3 – Visual Studio 2005

MultiagentesMultiagentes en Sistemas en Sistemas EmbebidosEmbebidos

Francisco Sivianes Castillo