Implementación de MAS en Sistemas Embebidos · – Xubuntu Linux (customer reported success with...

Preview:

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

Recommended