¿Cuál es el uso de autómatas con respecto al sistema integrado?

Estoy escribiendo su palabra “uso” en la pregunta, así que evitaremos las teorías académicas y en su lugar abordaremos el uso del “mundo real”.

El término “autómata” se entiende en la industria, pero casi nunca se usa junto con proyectos de sistemas integrados del mundo real. Su ingeniero integrado de rango y archivo considerará la “teoría de los autómatas” como un esfuerzo académico, de relativamente poca importancia en comparación con otras preocupaciones que un desarrollador integrado debe enfrentar.

Las máquinas de estado finito, un tipo de autómatas, se utilizan ampliamente en sistemas embebidos. No creo haber escrito nunca un cuerpo de código de sistemas embebidos sin incluir al menos uno, y generalmente varias máquinas de estado.

De hecho, para contrastar con el software de nivel superior que está diseñado en gran medida hoy en día con orientación a objetos, el diseño de firmware integrado se aborda mejor al enfocarse en el dominio del “tiempo” (qué tiene que suceder cuándo y en qué secuencia) usando el estado finito máquinas e interrupciones (que a menudo proporcionan la entrada a las máquinas de estado en forma de un evento de cambio de estado). La orientación a objetos se refiere a abstraer detalles en objetos que generalmente representan algo en el mundo real, y las relaciones entre objetos; el dominio del tiempo suele ser una preocupación secundaria si es una preocupación en absoluto en los sistemas orientados a objetos. En la mayoría de los sistemas integrados, el dominio del tiempo es el dominio principal de interés, y las máquinas de estado son, por su naturaleza, construcciones del dominio del tiempo.

Más allá de esto, no creo haber escuchado a otro ingeniero de sistemas integrados mencionar siquiera “autómatas” en mis casi 40 años de carrera. Por lo general, somos muy pragmáticos, nos preocupamos relativamente poco por los conceptos de software académico y nos preocupamos mucho por llegar al nivel de hardware y escribir nuestro código de la manera más adecuada para la electrónica que estamos tratando de controlar. Hacer lo contrario sería “poner el carro delante del caballo”.

Hmm De acuerdo con Wikipedia,

Un autómata (pronunciación: / ɔːˈtɒmətən /) (plural: autómatas o autómatas ) es una máquina auto-operativa, o una máquina o mecanismo de control diseñado para seguir automáticamente una secuencia predeterminada de operaciones, o responder a instrucciones predeterminadas.

y

Un sistema integrado es un sistema informático con una función dedicada dentro de un sistema mecánico o eléctrico más grande, a menudo con restricciones informáticas en tiempo real.

En pocas palabras, cada autómata controlado por un chip de computadora contiene un sistema integrado .