El Software Embebido y los Retos (PDF)
Document Details
Instituto Tecnológico de Nuevo León
2010
M. C. José Isidro Hernández Vega
Tags
Related
- 13R-Madurez de la ingeniería de procesos de software PDF
- Lect1-Secure Software Concepts & Threats(1) (1).pdf
- Simplified Guide for AEs: Software Engineering, DevOps, and Cybersecurity PDF
- 2 Software Process.pdf
- calidad de software.pdf
- original_1489125567_Chapter_1_Introduction_to_software_product_engineering.pdf
Summary
Este artículo analiza el software embebido, su aplicación en diversas actividades y las características que se requieren para su desarrollo. Se evalúan los retos del proceso de desarrollo, enfocándose en la confiabilidad y las tendencias futuras en diseño e implementación.
Full Transcript
Conciencia Tecnológica No. 40, Julio-Diciembre 2010 El Software Embebido y los Retos que Implica su Desarrollo Nota de divulgación...
Conciencia Tecnológica No. 40, Julio-Diciembre 2010 El Software Embebido y los Retos que Implica su Desarrollo Nota de divulgación M. C. José Isidro Hernández Vega Departamento de Ingeniería en Sistemas Computacionales Instituto Tecnológico de Nuevo León, Av. Eloy Cavazos No. 2001, Col.Tolteca, Ciudad Guadalupe, Nuevo León, C. P. 67170, Tel: 01 (81) 8157-0500 Ext. 161, Fax: 01 (81) 8157-0501 Ext. 306. Página web: www.itnl.edu.mx Correo electrónico: [email protected] Resumen Introducción Este artículo presenta al software embebido como Los microprocesadores son cada vez más poderosos y un tipo de aplicación muy particular en la ingeniería baratos, se pueden encontrar hoy en día productos que de software, su conceptualización, aplicación en las contienen microprocesadores para dotarlos de cierta diversas actividades del ser humano, características inteligencia. Los relojes, los automóviles, las cámaras específicas que se demandan al construirlo. Se realiza fotográficas y de video, los reproductores de música un análisis de los retos que se presentan durante su entre otros productos; todos ellos ejecutan software. El proceso de desarrollo tomando en cuenta factores software embebido se refiere a los sistemas de cómputo que repercutan en una mala calidad del producto que reside en muchos casos, sin que el usuario se entere, y del software embebido implementado, donde la dentro de estos productos. confiabilidad es fundamental. Además se habla de las Éste software forma parte de un sistema embebido tendencias que se tienen a futuro en la mejoría de sus el cual podemos entender como un subsistema herramientas de diseño, así como en la cobertura de electrónico de procesamiento, programado para sus aplicaciones. realizar una o pocas funciones para cumplir con un objetivo específico. Generalmente es parte integral de Palabras clave: Software embebido, sistemas un sistema heterogéneo mayor, que puede incluir partes embebidos, aplicaciones de software embebido, mecánicas, eléctricas y/o electromecánicas. La historia sistemas mecatrónicos, FPGA, tiempo real, sistemas de de los sistemas embebidos se remonta a comienzos tiempo real. de los años 60, cuando dispositivos basados en microprocesadores y microcontroladores comenzaron Abstract a emplearse en el control de tareas aeronáuticas y espaciales. Las limitaciones de alto costo y diseño de This article presents what is the embedded software estos primeros dispositivos provocaron una espera as a type of very particular application in the software hasta 1992 en el que se creó el consorcio PC/104 , engineering, its conceptualization, application in the formado por Ampro, RTD y otros fabricantes. human being diverse activities, characteristic specific El software como parte de un sistema embebido se that are demanded when building it. It is carried out an utiliza para controlar los productos electrónicos a nivel analysis of the challenges that are presented during their lógico. Desarrollarlo involucra retos completamente development process taking in bill factors that rebound diferentes a los que la mayoría de los programadores de in a bad quality of the product and of the implemented software está acostumbrado, entender en forma clara y absorbed software, where the dependability is precisa lo que es este tipo de software es fundamental fundamental. It is also spoken of the tendencies that are para su desarrollo, visualizar área de aplicación y had to future in the improvement of their design tools, por consecuencia de comercialización y de solución as well as in the covering of their applications. de problemas que impliquen un avance tecnológico contribuirá al desarrollo del país. Key words: Embedded Software, embedded systems, Comprender las características de este tipo de Embedded Software applications, mechatronic systems, software, así como lo que debemos tomar en cuenta FPGA, Real Time, Real-time systems. para su desarrollo contribuirá a tener aplicaciones exitosas. 42 EL SOFTWARE EMBEBIDO Y LOS RETOS QUE IMPLICA SU DESARROLLO M. C. José Isidro Hernández Vega Todos estos planteamientos son los que se tratan en Categorías de software embebido la presente publicación, además de dar un panorama de las tendencias de desarrollo del software embebido. Un sistema embebido está integrado por circuitos integrados programables, memoria flash o ROM, el Desarrollo correspondiente circuito impreso y el software embebido como parte esencial del mismo sistema, conocido en Definición de software embebido inglés como embedded software. El software se utiliza para controlar los productos electrónicos y usualmente Los productos inteligentes se han convertido en se ejecuta sobre un microprocesador interno, un algo común en casi todos los mercados de consumo microcontrolador, un procesador digital de señal industriales. El software embebido o empotrado reside (DSP), una compuerta programable en campo (FPGA), en memoria de sólo lectura y se utiliza para controlar un controlador lógico programable (PLC) y a veces productos y sistemas de los mercados industriales y en una PC de propósitos generales adaptada para fines de consumo. El software embebido puede ejecutar específicos. funciones específicas, como por ejemplo el control de En el software embebido se pueden distinguir las teclas de un horno de microondas, o suministrar diferentes categorías: El original o básico, indispensable una función significativas y con capacidad de control, para el funcionamiento del aparato, el cual constituye su funciones digitales en un automóvil, tales como el sistema operativo ad-hoc. El lenguaje de programación control de la gasolina sistema de frenado, entre otras. assembler, C/C++ o VHDL. Este tipo de software, de Hay varias definiciones de software embebido. Las carácter eminentemente tecnológico, está incorporado más tradicionales lo definen como procesamiento de en el aparato desde la salida al mercado de este información que está integrado con procesos físicos. último. En general, requiere un elevado esfuerzo de Otra definición es software que se ejecuta en dispositivos creación inicial, a cargo de mano de obra de muy distintos de una computadora personal o un servidor de alta especialización. Su costo se reparte en la cantidad cómputo. La primera definición es relevante para de equipos entregados al mercado. En la mayor parte entender los retos a los que se enfrenta el desarrollador de los casos no se modifica a lo largo de su vida activa, de software embebido, y la segunda para entender la siendo reemplazado al aparecer un nuevo modelo de oportunidad de negocio que representa el mercado para producto. Un segundo tipo es el requerido por alguno dispositivos. La principal regla del software embebido de los equipos incluidos en el aparato anterior, pero es interactuar con el mundo físico, mientras que en que por condiciones específicas, como pueden ser el desarrollo de aplicaciones empresariales, se busca requerimientos regulatorios de una determinada olvidarse del mundo físico y enfocarse en abstracciones comunidad, modalidades o costumbres, se hace como entidades de información y proceso de negocios, necesario adaptar el equipo original al uso específico en el desarrollo del software embebido sucede todo lo requerido. Otro tipo es el dedicado a la supervisión y contrario. Su papel principal no es la transformación de control de sistemas complejos cuyo funcionamiento datos, sino la interacción con el mundo físico. Se ejecuta implica la interrelación de gran cantidad de equipos o en máquinas que no son computadoras, estás máquinas aparatos, por ejemplo el funcionamiento y control de son automóviles, aviones, teléfonos, equipo del audio, los distintos procesos en la industria manufacturera robots, aparatos, juguetes, los sistemas de seguridad,. armas, menús de televisiones , copiadoras, escáneres, Ámbitos de aplicación clima, control de sistemas, sistemas industriales, entre otros. Aplicaciones de sistemas embebidos con Cualquier sistema eléctrico, mecánico o químico microcontroladores: los aparatos electrónicos, los que incluya entradas, decisiones, cálculos, análisis sistemas de comunicación, los sistemas automotores, y salidas es candidato para implementarse como un el equipo militar, las aplicaciones empresariales, los sistema embebido. Los sensores eléctricos, mecánicos dispositivos médicos. y químicos reúnen información. Las interfaces Sistemas mecatrónicos: La mecatrónica es una electrónicas convierten las señales de un sensor a una sinergia de sistemas mecánicos y eléctricos controlados forma que acepta la microcomputadora. El software por un sistema embebido. embebido efectúa las decisiones, los cálculos y La figura 1 muestra la relación que existe entre las los análisis necesarios, el software de los sistemas diferentes disciplinas de la ingeniería involucradas en embebidos sólo resuelve una gama limitada de la mecatrónica, así como la interacción con un sistema problemas , es por eso que el software de sistema embebido y dónde ubicaríamos la aplicación de un embebido se le llama software de propósito específico. software embebido. Conciencia Tecnológica No. 40, Julio-Diciembre 2010 43 EL SOFTWARE EMBEBIDO Y LOS RETOS QUE IMPLICA SU DESARROLLO M. C. José Isidro Hernández Vega Figura 1. Relación de la Mecatrónica, sistemas Figura 2. Atributos del software embebido relacionados y el software embebido. Retos al desarrollar software embebido Redes inalámbricas de sensores: Son pequeños dispositivos con poder de procesamiento y radio Su desarrollo presenta grandes retos debido a sus comunicación que con un par de baterías AA pueden particularidades, el software embebido se preocupa por operar por años sin mantenimiento alguno, además son el mundo físico y por lo tanto se enfoca en problemas lo suficientemente baratos como para integrarlos en como medir el tiempo, ser capaz de detectar y responder televisores, modulares, lámparas, sensores entre otros a eventos en el ambiente, lidiar con restricciones físicas, productos, con la finalidad de habilitar el control y así como dar respuestas en tiempo real. Los monitoreo remoto. Existen varias tecnologías propuestas clientes de estos sistemas desean obtener características para resolver el problema de comunicación inalámbrica como alto grado de reutilización, mantenibilidad y en este tipo de redes, entre ellas se encuentra Zigbee flexibilidad que históricamente no han sido prioridad. en el desarrollo de software embebido. La posibilidad Aplicaciones en FPGA (Field Programmable Gate de combinar todos estos atributos presenta dificultades Array): Una FPGA es un dispositivo semiconductor de ingeniería de software todo esto en la búsqueda que contiene bloques de lógica cuya interconexión de mayores niveles de abstracción en el desarrollo y funcionalidad se puede programar. El tamaño, de software embebido. Existen 4 grandes retos en su estructura, nùmero de bloques y conectividad de las desarrollo: en la planeación del proceso de desarrollo conexiones varían en las distintas arquitecturas. Hay de software embebido, en el establecimiento de una software especial para definir las conexiones de los metodología, en el aseguramiento de la calidad del switches y las funciones de las celdas lógicas. Existen software embebido, en las herramientas de diseño. ambientes integrados de trabajo como Xilinx ISE, Max Plus y Libero los cuales permiten desarrollan software Tendencias en el desarrollo de software embebido embebido en estos dispositivos. Estas son las principales aplicaciones de software Conforme el hardware continúa su mejora en la embebido que podemos encontrar. relación poder/precio, empieza a ser posible utilizar cada vez más hardware de propósito general en lugar Características del software embebido de hardware dedicado para una solución específica. Cada vez son más los dispositivos embebidos que Los tres atributos que típicamente tienen consideraciones utilizan arquitecturas SoC (System-On-Chip) en lugar especiales en el desarrollo de software embebido son: de circuitos integrados especializados. confiabilidad, limitaciones en recursos de hardware y El uso de hardware de propósito general simplificara respuesta en tiempo real. enormemente la portabilidad de software embebido en La figura 2 ilustra y explica dichos atributos. diferentes dispositivos. Conciencia Tecnológica No. 40, Julio-Diciembre 2010 44 EL SOFTWARE EMBEBIDO Y LOS RETOS QUE IMPLICA SU DESARROLLO M. C. José Isidro Hernández Vega Para el año 2015, los sistemas computacionales en Galeano, Gustavo.(2009), Programación de aplicaciones en paralelo se desarrollarán a nivel de los Sistemas Embebidos en C, Alfaomega (México). dispositivos individuales, con sistemas sobre chips, Pressman, Roger S. (2002), Ingeniería de comenzarán a producirse en gran escala. Sensores Software. Un enfoque práctico, Mc Graw Hill, 5º y procesadores incluidos en sistemas mecánicos ed. (España). o biológicos, dispositivos ópticos, conexiones Obregón, Héctor. (2007), “Embedded Software inalámbricas y reconocimiento de voz, son los futuros Estado Actual y Tendencias”. SG Software Gurú escenarios y tendencias de los sistemas y software Conocimiento en Práctica. Septiembre – Octubre. embebido. Año 3. Núm 5. Naucalpan, México, pp 20-21. Lee, Edward A. “Embedded Software”. 2002. Conclusiones http://ptolemy.eecs.berkeley.edu/publications/ papers/02/embsoft/embsoftwre.pdf, visitado el 4 La industria del software y sistemas embebidos es de enero de 2010. cada vez mayor y mantiene una creciente presencia Reverter, Ferran y Pallás Ramón. (2009), Circuitos en las diferentes actividades del ser humano. Las de Interfaz Directa Sensor-Microcontrolador, particularidades de este tipo de software son su alta AlfaOmega (México). confiabilidad en su operación, recursos de hardware Valvano, Jonathan. (2004), Introducción a los limitado y respuestas en tiempo real, ha propiciado la sistema de microcomputadora embebidos/ búsqueda de mejores, métodos, técnicas, herramientas Introduction to Shrunken Microcomputer Systems, y proceso de desarrollo que garanticen productos Thomson. (México). de calidad y con una amplia gama de aplicaciones y Cetinkunt, Sabri. (2007), Mecatrónica, Grupo desarrollos tecnológicos. Editorial Patria (México). Los retos para desarrollar software embebido para Lennon, Tony. (2009), “Diseño basado en modelos los ingenieros de software y de hardware ha ocasionado para sistemas mecatrónicos”. Mundo Electrónico. que se amplíe la comunicación entre ambos dominios y Enero. Núm. 404. Barcelona, España, pp 34-35. más aún la aplicación de este tipo de sistemas involucra García, Christian.(2007),“Zigbee”. SG Software un trabajo interdisciplinario entre otras ramas de la Gurú Conocimiento en Práctica. Septiembre – ingeniería como la eléctrica, electrónica, mecánica, Octubre. Año 3. Núm 5. Naucalpan, México, pp mecatrónica, biología entre otras. 22-24. El futuro y aplicación de este tipo de software es Miceli, Michael y otros, (2009), “System and un desarrollo que requiere la búsqueda de mejores Process for Monitoring Vehicle Fuel Level ”, U.S. herramientas de diseño, ampliar la cobertura de Patent No.7587939 aplicación y tendencia a mejorar las prácticas para su Ebert, Christof y Jones Capers. (2009), “Embedded construcción software: facts, figures and future”. Innovative Technology for Computer Professionals Computer. Referencias Abril. Volumen 42.Núm 4. Washington D.C, USA, pp 42-52. PC/1004 Embedded Consortium. “Specification- PC/104”, http://www.pc104.org/pc104_specs.php, Artículo recibido: 22 de enero de 2010 visitado el 18 de diciembre de 2009. Aceptado para publicación: 30 de agosto de 2010 Conciencia Tecnológica No. 40, Julio-Diciembre 2010 45