100 likes | 179 Views
SISTEMAS EMBEBIDOS Y PROGRAMACIÓN EN TIEMPO REAL. NIKLAUS WIRTH. INGENIERO ELECTRÓNICO. OBTUVO UN MASTER Y UN DOCTORADO. FUE EL JEFE DE DISEÑO DE LOS LENGUAJES DE PROGRAMACIÓN EULER , ALGOL W , PASCAL , MODULA , MODULA-2 Y OBERON . INTRODUCCIÓN. SISTEMA EMBEBIDO:
E N D
NIKLAUS WIRTH INGENIERO ELECTRÓNICO.OBTUVO UN MASTER Y UN DOCTORADO.FUE EL JEFE DE DISEÑO DE LOS LENGUAJES DE PROGRAMACIÓNEULER, ALGOL W, PASCAL, MODULA, MODULA-2 Y OBERON.
INTRODUCCIÓN • SISTEMA EMBEBIDO: Como el término lo sugiere, es solo una parte de un “todo” más grande que consiste en muchos componentes, no sólo módulos de computadora, sino también sensores y actuadores. • PROGRAMACIÓN EN TIEMPO REAL: Surge de la exigencia a sistemas que cumplan con la ejecución en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible (determinista).
DESAFÍOS Y DIFICULTADES • EXISTENCIA DE PROCESOS CONCURRENTES: Varias actividades en curso implican múltiples, “procesos concurrentes de cómputo”, y con ellos el problema de su sincronización. • LIMITACIONES DE TIEMPO REAL: Las actividades en el sistema corren a una velocidad predeterminada, lo que impone limitaciones a las tardanzas con las que un proceso de cálculo debe generar reacciones y respuestas.
DESAFÍOS Y DIFICULTADES • CONSIDERACIONES ECONÓMICAS: El consumo de potencia o energía de un procesador, es decisivo en la selección del mismo. • CONFIABILIDAD Y ESTABILIDAD: Desempeña un papel mucho más pesado que en aplicaciones de cálculo puras. Un fracaso a este nivel, ya no causa por ejemplo, un número incorrecto. • PARTICIPACIÓN DE SENSORES Y ACTUADORES: Hipersensibilidad de sensores, ruido eléctrico de motores, o fatigas mecánicas, han causado fracasos.
CAMINOS PARA UNA MEJOR PROGRAMACIÓN • TEORÍAS AXIOMÁTICAS: Desarrollos de textos que ayudan a controlar los procesos a partir de errores que aparecerán. • DISCIPLINA EN EL DISEÑO: Trabajar ordenadamente, y no tornar en exceso la utilización de herramientas de desarrollo. • TALENTO Y EXPERIENCIA.
CAMINOS PARA UNA MEJOR PROGRAMACIÓN • LENGUAJES DE PROGRAMACIÓN: A veces existe la posibilidad de programar en otro lenguaje para introducir simplicidad al desarrollo. • SEPARACIÓN DE PROBLEMAS Y PREOCUPACIONES: Es útil para el diseño. • “AMBICIÓN” POR REDUCIR LA COMPLEJIDAD: Posibilita la creación de diseños más claros y profesionales.
EJEMPLO DE REDUCCIÓN DE COMPLEJIDAD • CONTROL PARA UN HELICÓPTERO MODELO: • REEMPLAZO DE PRODESADORES • REEMPLAZO EN LENGUAJE DE PROGRAMACIÓN • ECONOMIZACIÓN GLOBAL • ELIMINACIÓN DE SISTEMA EN TIEMPO REAL • UTILIZACIÓN DE SECUENCIAS PARA REALIZAR PROCESOS COLECTIVOS • ASOMBROSA DISMINUCIÓN DE TIEMPOS
REGLAS DE ORO • ABSTENERSE DE USAR INTERRUPCIONES: Disminuyen el riesgo en tardanzas no deseables. • EVITAR UTILIZAR PROCESADORES CON CACHE: Pueden causar variaciones de interpretación bastante imprevisibles
REGLAS DE ORO “ TORNAR INCANSABLE LA BUSQUEDA POR LA SIMPLICIDAD AL PROGRAMAR ”