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:
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:
1.
2.
3.
4.
5.
6.
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 ”
Descargar

SISTEMAS EMBEBIDOS Y PROGRAMACIÓN EN TIEMPO REAL