Los sistemas embedded en el centro de la cuarta revolución industrial
Transcripción
Los sistemas embedded en el centro de la cuarta revolución industrial
Automática e Instrumentación INFORME Octubre 2014 / n.º 466 Los sistemas embedded en el centro de la cuarta revolución industrial La IoT (Internet of Things) y los CPS (Cyber-Physical Systems) son los pilares teóricos de la cuarta revolución industrial (Industry 4.0). El nexo de unión entre el mundo físico y el mundo digital es el mundo ciberfísico, estudiado por investigadores como Joseph SIfakis (premio Turing de 2007), que advierte de la necesidad de formalizar de forma consistente y completa este nuevo campo emergente de conocimiento, o como Sabina Jeschke, que ha situado a los sistemas embedded en el centro del binomio IoT/CPS. En este artículo se describe un marco conceptual acorde al estado del arte actual, y se describen estándares emergentes en cuanto a arquitectura de procesadores, como ARM, o en cuanto al factor de forma, como la iniciativa SGET, en un contexto prerevolucionario en el que el mundo industrial y los ciudadanos en forma de comunidad Maker están más interconectados que nunca en la denominada sociedad del conocimiento. 62 E l Annual Report de 2013 de Siemens incorpora el discurso de la cuarta revolución industrial planteado por la Academia de Ciencia e Ingeniería alemana (Acatech) en el documento Recomendations for implementing the strategic initiative Industrie 4.0, en el que se destaca la importancia del knowhow sobre los sistemas embedded y la ingeniería de la automatización, y en el que se asigna al software un rol de enlazador n Fuente: Siemens Annual Report 2013. omnipresente en todos los pasos requeridos en el desarrollo de productos, su fabricación primera vez que se podía disponer de y su mantenimiento, puesto que el energía mecánica controlada a partir escenario que se dibuja se basa en los de un combustible sólido, almacenadenominados sistemas ciberfísicos, ble en régimen de larga duración y en los que el software es ingrediente transportable, más allá de la obtenible protagonista. directamente de fuentes naturales como ríos, viento o tracción animal. Las revoluciones industriales Ello posibilitó la puesta en marcha La primera revolución industrial se de sistemas productivos en cualquier basa en la máquina de vapor. Era la región, algo que se realimentó a sí mismo mediante el uso de la propia máquina de vapor como impulsora de medios de transporte como el ferrocarril o barcos de mercancías. Desde el punto de vista de empoderamiento ciudadano, su aportación fue prácticamente nula, puesto que se trataba de un medio muy caro y al alcance de un grupo privilegiado de ciudadanos que dio lugar al nacimiento de una burguesía industrial a finales del siglo XVIII, coincidiendo en el tiempo con la Revolución Francesa. La segunda revolución industrial se basa en la electrificación. El transporte mágico, instantáneo e invisible de una energía que permitía la disponibilidad a pequeña escala de energía mecánica controlable dio lugar a una generación de pequeños empresarios, comerciantes y, por ende, de ciudadanos, que podían disponer de maquinaria en Octubre 2014 / n.º 466 sus pequeños talleres o de electrodomésticos en las propias viviendas. Es la primera vez que se produce un fenómeno de empoderamiento ciudadano, dándose lugar a principios del siglo XX a un movimiento conocido como DIY (Do It Yourself), del cual hay constancia en revistas de la época. Asimismo, emerge una nueva generación de juegos, como el mítico Meccano, creado en Liverpool por Frank Hornby y que se expandió por todo el mundo mediante licencias, una de las cuales permitió a Novedades Poch SA fabricar años más tarde en Barcelona una versión compatible denominada Metaling. Se produce un desfase de años entre la aplicación industrial y el empoderamiento ciudadano. La máquina de vapor se traslada a la generación de energía eléctrica, situación que se mantiene actualmente en centrales térmicas y nucleares. La tercera revolución industrial se basa en el microprocesador y representa el inicio de la era digital. El AGC (Apolo Guidance Computer), que empezó a desarrollarse en 1966 en el MIT para el control del módulo lunar del cohete Apolo, es considerado el primer sistema embedded de la historia. En esta tercera revolución industrial se producen varios procesos de empoderamiento ciudadano y en cada caso cada vez a mayor velocidad. En primer lugar, se introduce la informática personal y el PC, dando lugar a la proliferación de las denominadas nuevas tecnologías. Posteriormente irrumpe Internet con los buscadores y, más tarde, con las redes sociales. Finalmente se produce la eclosión de la fotografía, audio y vídeo digital, la telefonía y los dispositivos móviles. En todos los procesos de empoderamiento descritos hasta ahora se ha repetido el siguiente patrón: al principio los precios son muy altos y las prestaciones son escasas, pero paulatinamente tiene lugar un proceso de diseminación entre el gran público que va acompañado de una disminución de los precios. Se configura, pues, la denominada sociedad del conocimiento, inicialmente a través de medios convencionales INFORME n GC: Primer sistema embedded. como revistas (en los 80 y 90 los kioskos estaban llenos de revistas de informática tanto para profesionales como para aficionados), y posteriormente potenciada por la red y el movimiento Open Source, en la que el DIY incorpora el software (cabe citar aquí el mito del garaje de Apple), dando lugar a una nueva generación de emprendedores. El boom del PC llevó consigo la consolidación de la arquitectura de procesadores Intel (x86), y con la telefonía y los dispositivos móviles ha emergido con fuerza la arquitectura de procesadores ARM. La denominada cuarta revolución industrial (Industry 4.0), descrita en el documento de Acatech, se funda- n Fuente: The Connectivist. Automática e Instrumentación menta en dos pilares: el Internet de las cosas y los sistemas ciberfísicos. El report anual de Siemens de 2013 sitúa esta revolución en el tiempo del mañana, pero investigadores como Joseph Sifakis, premio Turing 2007, o Sabina Jeschke, de la RWTH Aachen University, advierten de la necesidad de construir un cuerpo de conocimiento formal, consistente y completo para dichos pilares. Para Sifakis, mañana puede ser el 2015. Desde el punto de vista del empoderamiento del ciudadano se produce el fenómeno inédito de que el desfase del ciudadano respecto a la industria puede ser mínimo en muchos aspectos relacionados con la innovación, debido a la socialización del conocimiento, a la aparición de soluciones de alto valor añadido con licencias libres y nuevos mecanismos de financiación que permiten desarrollar sofisticados productos a precios asequibles. Un ejemplo es el dispositivo de instrumentación embedded denominado Red Pitaya, nacido como un proyecto de crowdfunding en Kickstarter de la mano de un ingeniero emprendedor de la Universidad de Ljubljana (Eslovenia) y que ya está disponible vía RS Components. El DIY y el mundo del hobby han evolucionado hacia el denominado movimiento Maker, que incorpora hardware de bajo coste (Arduino, Raspberry Pi, etc. Ver AeI núm. 429: Sistemas embedded de bajo coste) a los mecanismos físicos y a la informática. Investigadores como Micah Lande, 63 Automática e Instrumentación INFORME n Fuente: Sabina Jeschke. 64 de la Universidad de Arizona, están desarrollando una Maker Theory sobre la correlación entre los jóvenes makers, los futuros ingenieros y el papel de los senior makers, que pueden actuar como motivadores o, por el contrario, tener controversias con limitaciones normativas, teniendo en cuenta la apuesta de la Universidad de Stanford de hacer converger elementos de los estudios de ingeniería con aspectos del movimiento Maker. Mitchel Resnick, investigador del MIT, ya advirtió de que los fundamentos de los movimientos constructivistas y construccionistas del ámbito educativo comparten los mismos fundamentos cognitivos que el movimiento Maker. El binomio IoT/CPS La constatación de que el número de dispositivos interconectados está creciendo exponencialmente, y el hecho de que a este ritmo prácticamente todo estará interconectado es la idea central del Internet de las cosas (Internet of Things o IoT). Una de las compañías que más está desarrollando el IoT es Cisco Systems, que advirtió que en el año 2008 el número de cosas conectadas superó al número de individuos de la población mundial. El IoT es un concepto basado en la conectividad, centrado en la noción de red y en los servicios, y que implica a todo un abanico de “cosas”, desde los dispositivos de campo, como sensores, hasta las infraestructuras del cloud computing. Desde el punto de vista teórico y de cuerpo de conocimiento, IBM introdujo el término SSME (Service Science, Management and Engineering) en la primera década del 2000, planteando un nuevo y multidisciplinar campo de conocimiento a desarrollar. A esta tarea se han incorporado diversos centros de investigación y universidades como el MIT, UC Berkeley, la Universidad de Helsinki o la UPC (grupo de investigación GESSI), entre otras. La iniciativa NESSI (Networked European Software and Services Initiative) recoge en su Manifiesto, A vision for Horizon 2020 (www. nessi-europe.eu), ideas de la SSME en clave de estrategia europea. Las arquitecturas orientadas a servicios, denominadas SOA, son cada vez más utilizadas en la industria, y en el terreno práctico se habla de servicios REST o webservices, que consisten en la estandarización de producción y consumo de servicios por la red mediante el uso de protocolos estándar como el HTTP y la representación de datos mediante estándares abiertos como JSON o XML. Por su parte, los denominados sistemas ciberfísicos (Cyber-Physical Systems o CPS) son el resultado del maridaje entre el mundo físico y el mundo computacional. A pesar de que esta definición es muy genérica y carece de elementos formales, algunas ideas empiezan a consolidarse. Según Sabina Jeschke, entre Octubre 2014 / n.º 466 los mundos físico y digital (ciber) se halla el mundo ciberfísico. Los mundos físico y ciberfísico interaccionan entre ellos mediante dos mecanismos, cada uno en un sentido. Por una parte está la simulación, que consiste en trasladar objetos del mundo físico a un mundo virtual mediante modelos con el objeto de poder experimentar con ellos. Por otra parte está la automatización, que consiste en controlar objetos del mundo físico a través de objetos de software. El circuito Manufacturing processAutomation-Embedded SystemsThings-Service Oriented, eje central del discurso de la Industria 4.0, está perfectamente representado en el diagrama de Jeschke. Según puede observarse, los sistemas embedded son elemento central de los sistemas ciberfísicos (CPS), y todos los caminos entre los mundos físico y digital pasan por al menos uno de ellos. Los sistemas embedded han sido reconocidos como " crucial KETs" (Key Enabling Technology) por los expertos de la Unión Europea para el periodo 2014-2020. Se encuadran en el programa estratégico ECSEL, que es el heredero de los programas precedentes ARTEMIS y ENIAC de sistemas embedded y nanotecnología respectivamente, en cuyos documentos los términos multidisciplinario, interdisciplinario y cross-disciplinario aparecen recurrentemente. La multidisciplinariedad en entornos exigentes no es una cuestión menor. En la mecatrónica, término acuñado en 1969 por el ingeniero de Yaskawa Electric Tetsuro Mori, concurren las ingenierías mecánica, informática y electrónica, y Rainer Stetter advierte que a las empresas que fabrican maquinaria y que tienen sus raíces en la mecánica en general no les gusta el software (ver AeI núm. 426: El software no es un apéndice de la mecatrónica). La cultura de los CPS forzará la superación de estos prejuicios por definición. Desde el punto de vista normativo, el discurso del IoT se ha incorporado al discurso de los comités de estándares que representan dos corrientes en el ámbito de la au- Octubre 2014 / n.º 466 INFORME tomatización industrial. Por una parte está el comité AENOR CTN 116 Sistemas Industriales Automatizados, correspondiente al ISO/TC 184 Automation Systems and Integration, y por otra la AENOR CTN 203 para Equipamiento Eléctrico y Sistemas Automáticos para la Industria, que corresponde al IEC/TC 65 Industrial-process measurement, control and automation. En la última década, la interacción de ambos con la AENOR CTN 71 Tecnología de la Información, correspondiente al ISO/ IEC JTC 1 Information Technology, se ha incrementado de forma continua debido al fenómeno identificado por Rockwell Automation denominado convergence entre los mundos del manufacturing e IT, y que afecta no solo a aspectos tecnológicos como protocolos de comunicaciones, sino también a la problemática derivada de equipos mixtos con profesionales que provienen de comunidades con mentalidades distintas. Los sistemas embedded son el bloque constructivo que está propiciando estas convergencias inevitables. en cuyo caso los recursos necesarios pueden ser elevados y los tiempos de compilación, largos. Los sistemas embedded pueden clasificase según numerosos criterios. Aquí contemplaremos tres criterios de clasificación: por nivel de escala, según el modo de propiedad intelectual (ámbito muy complejo que en este artículo simplificaremos en libre o propietaria) y según el factor de forma (form factor). El profesor Raj Kamal, en su libro Embedded Systems 2E, propone una clasificación en tres niveles de escala: • Sistemas embedded de pequeña escala. • Sistemas embedded de escala media. • Sistemas embedded de escala sofisticada. Esta clasificación permite encuadrar el conjunto de los sistemas embedded teniendo en cuenta su gran diversidad, que queda de manifiesto por la variedad de comunidades de práctica que se han creado a su alrededor. Los sistemas embedded y su clasificación La asociación INCOSE (International Council of Systems Engineering) define a un sistema como una construcción o colección de distintos elementos que juntos producen resultados no obtenibles por los elementos en solitario. Por otra parte, en el artículo publicado en AeI núm. 429 titulado Sistemas embedded se definía un sistema embedded como una combinación de hardware y software orientada a soportar un conjunto finito y numerado de funciones bien definidas, a menudo con capacidades de proceso en tiempo real e integrado en un sistema mayor. Para su desarrollo, los fabricantes suelen ofrecer starter kits, y para cada tipo de procesador hay disponible un tool chain, que consiste en todo el conjunto de herramientas necesarias para desarrollar el software, incluyendo compilador, linker, depurador, fuentes y librerías con interfaces con el SO. El software puede consistir en una aplicación o en un sistema operativo completo, Sistemas embedded de pequeña escala Se trata de sistemas basados en un solo controlador, de 8 a 32 bits, con un nivel bajo de complejidades en cuanto a hardware y software. Pueden ser alimentados por una batería. Para el desarrollo del software embedded se suelen utilizar entornos de edición y compilación específicos para el microcontrolador o procesador utilizado. Definiremos microcontrolador como una unidad que contiene un procesador, memoria, timers, un controlador de interrupciones, entradas y salidas con ADC (conversión analógico/ Automática e Instrumentación digital) o PWM (pulsos con modulación de anchura) y otras funciones. El lenguaje C está muy extendido en este tipo de procesadores y los programas deben ajustarse en espacio para poder caber en espacios de memoria reducidos, y al mismo tiempo suelen estar codificados de manera que el consumo de energía sea bajo al estar los programas ejecutándose continuamente. Sistemas basados en microcontroladores PIC (Microchip) o los derivados del 8051 como los Atmel estarían en esta categoría de pequeña escala. Se utilizan en los sistemas de control de electrodomésticos como lavadoras, neveras, hornos microondas o placas de inducción. Sistemas embedded de escala media Son sistemas basados en uno o pocos microcontroladores, de tipo DSP (Digital Signal Processors) o RISC (Reduced Instruction Set Computing). Los DSP son procesadores que incorporan en silicio funciones de cálculo matemático que pueden ser complejas, en general orientadas al proceso de señales. Por otra parte, los procesadores RISC poseen un reducido conjunto de instrucciones que se ejecutan todas ellas en un ciclo de reloj y tienen la característica de optimizar el consumo de energía y de utilizar estrategias avanzadas de paralelización en la ejecución del código. Los sistemas embedded de escala media pueden utilizar procesadores de propósito específico como los ASSP (Application Specífic Standard Processors) o IP cores (núcleos de tipo Intellectual Property). Los ASSP son procesadores con finalidades específicas, como por ejemplo los interfaces a buses. 65 Automática e Instrumentación n Dispositivo mbed Cortex M3 de NXP (Philips). INFORME n Tarjeta CDA01-CU3 de teknoCEA basada en DSP. n Tarjetas RIO de National Instruments. 66 Los IP consisten en diseños que se pueden implementar en bases de silicio personalizables como las FPGA (Field Programmable Gate Array), que son matrices de celdas lógicas cuya funcionalidad puede programarse in situ mediante lenguajes de descripción de circuitos electrónicos digitales como el VHDL. A nivel de software, los sistemas embedded de escala media se suelen programar con lenguajes como C, C++ o Java, utilizando entornos de desarrollo integrados con herramientas de depuración y simulación para afrontar complejidades de software y de hardware. Pueden incorporar pequeños RTOS (sistemas operativos de tiempo real). Aplicaciones como el proceso de voz (como VoIP), vídeo o el proceso de señales eléctricas para smart grids se han resuelto con soluciones multinúcleo DSP y ARM obteniendo lo mejor de ambos mundos (procesadores KeyStone de Texas Isntruments). Los denominados smart meters o smart transducers (el término transducer incluye tanto a sensores como actuadores), que cada vez utilizan más elementos como los MEMS (microelectromechanical systems), son un ejemplo de aplicación de este tipo de sistemas embedded de escala media. Amplían a los de pequeña escala añadiéndoles proceso de señal y comunicación a un bus o a una red. Este tipo de sistemas embedded pueden llegar a utilizar arquitecturas de 64 bits y mediante RTOS ajustados pueden ofrecer excelentes ratios de alta potencia y baja complejidad para ofrecer total predictibilidad de cara a sistemas de misión crítica. El esquema multinúcleo está en auge y permite la garantía de ejecutar programas en tiempo real sin los denominados glitches que se producen cuando el sistema no atiende a una necesidad en un instante de tiempo determinado. La comunicación entre los programas que se ejecutan en los diversos núcleos se realiza en términos genéricos mediante un mecanismo de interface que puede ir desde la simple compartición de direcciones de memoria a nivel de hardware a un sofisticado protocolo o dispositivo de intercomunicación. Sistemas basados en la plataforma abierta mbed para sistemas embedded e IoT basado en ARM corresponderían a esta categoría de mediana escala. En http://developer.mbed. org/platforms se puede consultar una base de datos de dispositivos listos para usar de mbed. Asimismo, están disponibles todo tipo de módulos hardware y software en forma de librerías en lenguaje C para comunicaciones como TCP/IP, CAN Bus, RS 485, Modbus, USB, etc. Octubre 2014 / n.º 466 ofertados por un amplio ecosistema de empresas y equipos académicos, como el ESAII de la UPC. Otro ejemplo de esta categoría sería la tarjeta de control CDA01-CU3 de teknoCEA (www.teknocea.com), de propósito general para aplicaciones de electrónica de potencia (10 kVA) con motores eléctricos trifásicos. Se basa en el DSP F28M35 Concerto de Texas Instruments. Y otro ejemplo que estaría en esta categoría serían los sistemas basados en las tarjetas RIO de National Instruments, programables con el entorno y lenguaje de programación gráfico y modular LabVIEW. Se basan en un procesador de arquitectura PowerPC y disponen de una FPGA de Xilinx para implementar en silicio la lógica diseñada. Finalmente, el estándar AUTOSAR (AUTomotive Open System ARchitecture, www.autosar.org) para la infraestructura de software embedded del automóvil, secundado por numerosos fabricantes del sector, se basa en el RTOS abierto OSEK. Se utiliza regularmente CAN Bus entre otros estándares y la programación de realiza en lenguaje C. El análisis de base está orientado a objetos y en la documentación se utiliza SysML/ UML. Sistemas embedded de escala sofisticada Los sistemas embedded sofisticados incluyen elementos que son prácticamente los de un ordenador completo, y en los últimos años ha habido una proliferación de los mismos con procesadores basados en arquitectura ARM utilizando sistemas operativos como Linux, Android o Windows Compact, en que los servicios de comunicaciones, con drivers para todo tipo dispositivos inalámbricos o cableados, la disponibilidad de todo tipo de protocolos como TCP/ IP, HTTP, Modbus, CAN bus, etc. y entornos de ejecución estándar para lenguajes como C, C++, Java o Python, están disponibles de forma común. ARM es una corporación con sede en Cambridge (UK) que no produce componentes de silicio sino que diseña y comercializa núcleos de INFORME Octubre 2014 / n.º 466 Automática e Instrumentación El desafío de la seguridad U n IGEP 3730 ARM Cortex A8 SBC autónoma, de ISEE. procesadores denominados Cortex en forma de elementos de propiedad intelectual (IP), de modo que los fabricantes de silicio los incorporan en sus semiconductores. La lista de licenciatarios (más de doscientos) se puede consultar en www.arm. com y en ella figuran prácticamente todos los fabricantes de procesadores como Samsung, Texas Instruments, Broadcom, Atmel, Infineon (Siemens), NXP (Philips), Freescale (Motorola) y ST, entre otros. La aparición de pequeñas tarjetas de bajo coste con ARM/Linux como Raspberry Pi, BeagleBone Black (de TI) o IGEP (de ISEE), entre muchas otras, ha popularizado el uso de este tipo de sistemas en la comunidad Maker. El kernel de Linux es una pieza de software de tremenda complejidad. Según el estudio realizado por Amanda McPherson, la estimación del coste de desarrollo acumulado del kernel de Linux 2.6.25 utilizando la metodología COCOMO sobre 6,7 millones de líneas de código sería de unos 91.000 meses/hombre, que en costes, dependiendo del precio/ hora que se aplique, en números redondos sería de alrededor de 1.000 millones de euros. Esta proliferación de sistemas embedded con Linux se debe a dos fenómenos. A la irrupción masiva de procesadores de arquitectura ARM debida al boom de la telefonía móvil (actualmente se fabrican unos 20 mill de uds ARM/día que se han añadido a la preexistente base de sistemas compactos basados en arquitectura Intel, iniciando una gran batalla de arquitecturas entre Intel y ARM, y al fenómeno open. Tanto los sistemas profesionales como los de los Makers que utilizan Linux se aprovechan por igual no de los desafíos más importantes del escenario IoT/CPS que se vislumbra es la cuestión de la seguridad, tal como se pone de manifiesto en eventos como el congreso de EuroCACS 2014 organizado por ISACA, una organización de ámbito mundial de Auditoría y seguridad informática. Los términos anglosajones safety & security definen la seguridad en forma amplia. Nos referiremos al primer término como seguridad funcional (functional safety) y al segundo como ciberseguridad (ciber-security), siguiendo el esquema planteado por la entidad certificadora TÜV para sistemas embedded. La seguridad funcional se orienta a la protección contra incidentes causados por un malfuncionamiento de componentes o sistemas. Por otra parte, la ciberseguridad se orienta a identificar, proteger (información), detectar, responder y recuperarse de ataques (según la definición de la NIST-National Institute od Standards and Technology norteamericana). Según Silvia Mazzini, los enfoques generales de safety y security son muy diversos. En safety se supone que los operadores son bien intencionados, que los sistemas son cerrados y que los tiempos de respuesta son garantizados por recursos dedicados. Por el contrario, en security se supone que hay atacantes, que los sistemas son abiertos y se interconectan y que las respuestas vienen dadas por recursos compartidos. El estándar de referencia de safety es la norma IEC 61508 de seguridad funcional y el de referencia en security (industrial) es la IEC 62443 (también conocida como ISA 99). En safety se definen cuatro niveles de seguridad denominados SIL (Safety Integrity Level) según la probabilidad de fallo en demanda. El nivel mínimo SIL1 establece una probabilidad del orden 10^-2 y el máximo SIL4 del orden de 10^-5. En security se definen cuatro niveles de seguridad denominados SL (Security Level) en el que el SL1 se refiere a ataques casuales o accidentales y el SL4 se refiere a ataques intencionados utilizando recursos altamente sofisticados. Hasta 2010 cada estándar había ido por su cuenta, hasta que una actualización de la IEC 61508 reconoce los riesgos derivados de la ciberseguridad como un riesgo potencial y hace referencia explícita a la IEC 62443 como recomendación en este aspecto. En el pasado, proyectos de misión crítica como centrales nucleares o sistemas aeronáuticos habían forzado la integración de ambos mundos en sus proyectos presionados por una causa mayor, pero de ello no se había generado ninguna metodología de tipo general. La privacidad, tan importante en la security, no lo es tanto desde el punto de vista de safety, que prioriza la garantía a la no manipulación. Investigadores como Curtis G. Northcutt del MIT proponen algoritmos de robustez que garantizan desde el punto de vista teórico la detección inmediata de cualquier intento de manipulación de información en sistemas ciberfísicos. En cuanto a la industria, la TÜV Sud ofrece una certificación conjunta de safety & security para sistemas embedded y diversos fabricantes de semiconductores y componentes para sistemas embedded están certificando productos según la IEC 61508, como Texas Instruments. de los 91.000 meses/hombre que ha supuesto el kernel de Linux, la mayor obra colaborativa y referencia del movimiento Open de la humanidad. El kernel de Linux contiene elementos de enorme complejidad y el dominio del mismo a máxima profundidad está al alcance de pocos. Sin embargo, el movimiento Open ha dado lugar a un ecosistema formidable de comunidades de expertos en Linux de altísimo nivel de todas partes del mundo que ofrecen servicios de consultoría y formación, pero que al mismo tiempo participan en el desarrollo del producto e impul- 67 Automática e Instrumentación 68 san la comunidad Open de Linux, fomentando su uso y aplicaciones tanto en el ámbito industrial como educativo, como es el caso de freeelectrons.com, con sedes en Orange y Toulouse, que tienen a disposición de forma libre fantásticos materiales en su página web. En 2011, Intel disponía de la licencia de ARM pero declaraba que no tenía intenciones de hacer uso de ella, y en 2014 ha anunciado que utilizará un chip basado en ARM para un smartwatch. La potencia de estos sistemas permite sofisticadas aplicaciones HMI (Human Machine Interface) y aplicaciones tipo scada (como openSCADA, libre y programado en Java, o Ignition SCADA, propietario y programado en Python). Son ejemplos de sistemas sofisticados aquellos que funcionan con un sistema operativo como Linux, ya sea como SBC autónoma o como COM más carrier. También corresponden a esta categoría las tarjetas de los estándares SMARC y Qseven, que se verán más adelante. INFORME Octubre 2014 / n.º 466 n IGEP COM Module DM3730 ARM Cortex A8 de ISEE con una carrier (www.isee.biz). n Tarjetas SMARC de Kontron. y a la emisión de calor. Los intentos de Intel de entrar en la telefonía móvil o en el campo de los Makers con la tarjeta Galileo están dando escasos resultados en comparación con los crecimientos que están consiguiendo los productos basados en ARM. En el ámbito del escritorio, Linux ya está disponible tanto en Intel como en ARM de forma muy amplia, de modo que la famosa instrucción de Linux apt-get install (propia de las distribuciones Debian y Ubuntu) posibilita el acceso a un sinfín de aplicaciones informáticas desde entornos de desarrollo como Más allá de los sistemas embedded La definición adoptada se contrapone a la noción de ordenador de propósito general. ARM es una arquitectura que va de abajo a arriba en cuanto a potencia, ya que proviene del mundo embedded y, por otra parte, Intel va de arriba hacia abajo, habiendo creado un procesador de bajo consumo denominado Atom a partir de un background de procesadores provenientes del mundo del PC y de grandes servidores. Un campo de batalla encarnizado es el de las tabletas, en que Intel ha desarrollado una versión de Android para su arquitectura, pero en el que ARM de momento es el claro dominador al tener un mejor comportamiento en el consumo de energía que afecta directamente a n Pinout del conector SMARC (Fuente: Kontron). la duración de las baterías Eclipse, Mathematica, runtimes de Java o Python, programas de ofimática como Libre Office, etc., tanto desde ordenadores de escritorio, servidores o portátiles como desde sistemas embedded populares como una Raspberry Pi, una BeagleBone Black o una Olimex, o tarjetas más profesionales como una IGEP (ARM), o Advantech o una Adlink. Microsoft dispone de una versión de Windows para arquitecturas ARM denominada RT, pero sus funcionalidades son muy limitadas. La presión que está ejerciendo la evolución de Android sobre ARM hacia aplicaciones de escritorio es enorme y habrá que ver si se cumple que el sistema Windows 10 anunciado para el próximo año estará disponible de forma completa tanto para las arquitecturas Intel como para las ARM de forma completa. Si ello sucede, la batalla puede transformarse en una guerra total. Clasificación según el factor de forma El factor de forma (Computer Form Factor) engloba los aspectos relacionados con el reemplazo físico de los componentes. Ello implica compatibilidad no Octubre 2014 / n.º 466 solo dimensional, sino también en cuanto a los conectores y a sus respectivas señales eléctricas e incluso a los protocolos de comunicaciones. En componentes de menor tamaño, las piezas se sustituyen, y en los de mayor tamaño se enracan. La relación de estándares de Computer Form Factor es muy extensa y, en particular, las que pueden considerarse propias de sistemas embedded sigue siendo muy amplia (ver AeI núm. 429 Sistemas Embedded). Entre los numerosos estándares se hallan el mítico PC/104 o el COM Express. Sin embargo, desde Europa está emergiendo la iniciativa SGET (Standarization Group for Embedded Technologies, www. sget.org), que propone el uso de dos estándares para sistemas embedded: SMARC (Smart Mobiliy ARChitecture), orientado a sistemas con procesadores de arquitectura ARM, y QSEVEN, orientado a sistemas con procesadores de arquitectura Intel. Ambos estándares definen a sistemas tipo COM (Computer on Module), que consisten en SBC (Single Board Computer) que puede tener ciertos conectores pero que en general necesitan de una tarjeta de expansión denominada carrier, que es la que exponen los diferentes conectores que se quieran utilizar. SMARC form factor Define dos tamaños, el full size module (82 x 80 mm) y el short module (82 x 50 mm). SMARC utiliza el conector utilizado por las tarjetas gráficas MXM 3.0 de 314 pins. Diversos fabricantes, como Kontron, Advantech, QNV o Adlink ofrecen este tipo de tarjetas. QSEVEN form factor Define un tamaño de 70 x 70 mm y utiliza el conector utilizado por las tarjetas gráficas MXM2 SMT de 230 pins. Diversos fabricantes, como Advantech, QNV o Adlink ofrecen este tipo de tarjetas. El estándar incluye las características que aparecen en la tabla superior. Los sistemas embedded de escala sofisticada son propicios para el desembarco de los desarrolladores INFORME de software provenientes del mundo de los integradores de IT. No obstante, se pueden concebir sistemas embedded compuestos formados por la combinación de subsistemas embedded de diversas escalas, coordinados entre sí por mecanismos de interface, pudiéndose así evitar interferencias de unos con otros. El círculo virtuoso de la simulación y la automatización Los mecanismos de interacción entre el mundo físico y ciberfísico son dos: la simulación y la automatización. Simulación y sistemas ciberfísicos La simulación lleva siendo utilizada desde hace décadas en el ámbito de la ingeniería (ver AeI, núm. 446: Simulación multifísica en los sistemas CAD/CAE). En el ámbito de la simulación de sistemas embedded, desde los trabajos seminales de Hilding Elmqvist en los años setenta, que desembocaron en el lenguaje Modelica, la oferta de entornos de simulación es amplia. Desde soluciones propietarias como Simulink o Electronics Workbench (de National Instruments) hasta soluciones abiertas como OpenModelica, Scilab, KiCad for SPICE, entre otras, y cada una con sus especificidades. Desde el punto de vista de la estandarización, lenguajes abiertos de modelización como SysML pueden jugar un papel crucial en un futuro para posibilitar la interoperabilidad de modelos. Merece especial atención la iniciativa 123D Circuits de Autodesk. Se trata de un entorno de simulación para sistemas ciberfísicos basados Automática e Instrumentación Características del estándar Qseven 4× PCI Express ×1 vía 2× SATA 8× USB 2.0 1× 1000BaseT Ethernet 1× SDIO 8-bit LVDS 2× 24-bit SDVO / HDMI / DisplayPort (compartido) HDA (High Definition Audio) I²C Bus LPC (Low Pin Count Bus) CAN bus (Controller–area network) SPI (Serial Peripheral Interface Bus) en Arduino, utilizable online sin instalación en http://123d.circuits. io y de forma gratuita. El entorno permite diseñar circuitos sobre un realista protoboard, programar el Arduino, compilar y simular la carga del programa al target y simular su ejecución, tanto a nivel eléctrico (eliminando riesgos de dañar elementos reales) como a nivel lógico (software programado). También están disponibles las vistas tipo esquemático tradicional y la vista PCB para el diseño y ulterior fabricación de un circuito impreso. El catálogo de componentes incluye elementos pasivos, circuitos integrados, sensores y componentes electromecánicos como motores, servos, etc. Se observa una tendencia al auge de este tipo de software de simulación orientado al soporte comercial de componentes electrónicos. La idea es tener de cada producto físico su correspondiente objeto de simulación n Tarjetas Qseven de Advantech: la SOM-3565, de arquitectura Intel, y la ROM-7420, de arquitectura ARM. 69 Automática e Instrumentación 70 (objeto virtual o modelo), disponiendo así de un catálogo de productos virtualizados al cual se puede acceder desde el simulador e integrarlos en nuestro modelo. El proceso termina construyendo una lista de materiales valorada que se puede convertir en un pedido que se puede pagar desde el propio simulador, una vez verificado el correcto funcionamiento desde el punto de vista funcional y físico (eléctrico, mecánico, dimensional, etc.). Se empiezan a hacer realidad los postulados del documento seminal de la NSF (National Science Foundation de los EEUU) de 2006 titulado Simulation-Based Engineering Science, que establece las bases de procesos de creación y desarrollo basados en modelos que se contraponen a procesos basados en documentos, tan asentados en la ingeniería tradicional. Los avances en la simulación multifísica que vayan apareciendo, vengan de donde vengan, están llamados a incorporarse al círculo virtuoso. Automatización y sistemas ciberfísicos La automatización es definida como el control de objetos físicos a través de objetos de software. Este sentido del flujo de lo virtual a lo real es la última fase que cierra el círculo virtuoso de la 4ª revolución industrial. La aplicación de este sentido del flujo se está realizando en dos fases, desde un punto de vista evolucionario. La primera fase consiste en incorporar sistemas embedded a objetos físicos ya existentes para lograr su automatización (automatic override) y se basa INFORME en dos reglas simples: Todo medidor debe ser accesible (modo lectura) vía webservice y todo actuador debe ser manipulable (modo escritura) también vía webservice. La segunda fase consiste en incorporar de forma nativa los sistemas embedded a los nuevos objetos físicos desde su concepción y diseño. La noción de objeto es muy amplia y abarca todo tipo de sensores, actuadores, interruptores, motores, válvulas y cosas en general. Conclusiones y una reflexión final En este artículo se ha descrito un marco conceptual para los sistemas embedded para el contexto del Internet de las cosas y los sistemas ciberfísicos (IoT/CPS). En las puertas de la cuarta revolución industrial, los sistemas embedded se sitúan en el centro del tablero, en la casilla de los CPS. Por otra parte, en los documentos de la Unión Europea sobre el programa estratégico para los sistemas embedded ECSEL, el carácter transversal de las iniciativas que se proponen son de forma reiterada de carácter multidisciplinario o interdisciplinario, y todo ello en el familiar contexto de continuas propuestas desde la industria de nuevos estándares que prometen el paraíso de la compatibilidad e interoperabilidad. La clasificación de Raj Kamal es sufientemente amplia y flexible para albergar prácticamente todo tipo de sistemas embedded. No obstante, dentro de la comunidad genérica de los sistemas embedded caben Octubre 2014 / n.º 466 subcomunidades con muy poco en común entre sí. Los precedentes del fenómeno de la convergence definida por Rockwell Automation, la histórica separación de los mundos safety & security, la problemática cultural indicada por Rainer Stetter en la mecatrónica o las controversias de los senior Makers con limitaciones normativas, son indicadores de la dificultad de avanzar en equipos con miembros provenientes de distintas comunidades con modelos mentales muy distintos. Todo ello, combinado con la transversalidad que se prevé que habrá en la adopción de los sistemas embedded en todo tipo de ámbitos, sugiere que van a hacer falta muchas dosis de empatía, la cual figura en el catálogo de competencias de inteligencia emocional de Goleman y que se define como la capacidad de compartir y entender estados mentales o emociones de otros. Permítame el lector proponer una nueva competencia emocional denominada emulsividad, que definiremos como la capacidad de mantener estados de empatía de forma sostenida en el tiempo. El nombre proviene del término emulsión, que se define como una mezcla estable de elementos que por naturaleza tienden a separarse. Un ejemplo de emulsión que sirve de metáfora para explicar la noción de emulsividad es la obtención manual de allioli, del cual se realizan numerosos concursos populares en los que los participantes deben mostrar habilidad técnica y empeño sostenido en el tiempo para lograr la ansiada emulsión. La emulsividad es una competencia que se puede aprender, entrenar y recomendar para proyectos en los que sus miembros provienen de comunidades con modelos mentales muy diversos, incluso contradictorios. Los sistemas embedded están en el centro de una revolución de la que no se sabe si será más tecnológica que social, o viceversa. Xavier Pi Embedded Systems Working Group Chair coeic.com