Software + Hardware = ?

Standard

Que tal amables lectores, me da gusto compartirles un poco de información nuevamente.

Esta vez el contenido de esta publicación está dirigido a todos aquellos profesionistas electrónicos/mecatrónicos y también para informáticos/sistemasComputaciones/TIC’s.
Personalmente yo como mecatrónico en muchas ocasiones he presenciado y también he experimentado algunos roces con profesionistas afines a la informática cuando trabajamos en conjunto para un determinado proyecto. Sobre todo en cuanto a programación se refiere. Los mecatrónicos y electrónicos somos personas que utilizamos plataformas  de sistemas embebidos como Arduino, (la cual ya he publicado bastante anteriormente) que nos sirve para realizar una serie de acciones como respuesta a ciertos eventos utilizando programación, y nos va muy bien ya que el manejo de software nos brinda mucha flexibilidad ante cualquier modificación funcional. Esto es muy importante, ya que si desarrollamos utilizando solamente hardware para lograr nuestro objetivo, hay que tener en cuenta que cualquier modificación implica agregar y/o quitar dispositivos físicos lo que ocasiona prolongar bastante los tiempos de desarrollo. Es por esa razón que las plataformas de software embebido se mantienen en crecimiento constante.

S_WemSys
Ahora bien, la pregunta clave ¿un mecatrónico/electrónico especializado en plataformas de software embebido es un programador?.

La respuesta es SI. Ahora la misma pregunta un poco más específica. ¿Un mecatrónico/electrónico es un desarrollador de software? La respuesta es un rotundo NO. A partir de aquí, seguramente muchas preguntas se vienen a su mente una serie de preguntas e incluso estarán pensando en este momento que estoy cayendo en una total incongruencia. Sin embargo tengo mis razones para argumentarles que lo que digo tiene coherencia y lo explicaré más adelante. Por lo pronto quiero hacer un paréntesis para presentarles un concepto que seguramente algunos mecatrónicos/electrónicos alguna vez hemos escuchado, los lenguajes de descripción de hardware. Para explicar a detalle esto último, veamos la siguiente imagen que recopilé de un curso de sistemas digitales, que estoy por culminar.

11

Complemento la explicación de la imagen anterior citando una frase del instructor Lluís Terés, catedrático de la Universitat Autònoma de Barcelona en una de las sesiones del curso:

“Los lenguajes de descripción de hardware tienen una sintaxis y una semántica formales para evitar las ambigüedades de los lenguajes naturales y de los dibujos de bloques que acompañan las especificaciones escritas por y para los humanos. Son fáciles de entender tanto para los ordenadores como para las personas y como veremos se parecen a, o incluso se derivan de los lenguajes de programación de software como pueden ser el C, el C++, etcétera. Pero incorporan particularidades para modelar el hardware, especialmente la gestión del tiempo y la concurrencia inherentes al hardware.”

Es aquí donde los informáticos pueden entrar en conflicto al catalogar lenguajes de alto nivel como “C” ya que en desarrollo de software el lenguaje C es un lenguaje de bajo nivel. Y tienen razón, sin embargo estamos hablando en el contexto de descripción de hardware que, visto de esta manera, es correctamente catalogado como lenguaje de alto nivel. En el contexto de descripción de hardware solamente se cataloga como bajo nivel al lenguaje ensamblador y el bajísimo lenguaje máquina (el lenguaje de los 0’s y 1’s). Para continuar, les muestro una imagen donde se realiza una comparativa entre el desarrollo de software y la descripción de hardware.

22

Para explicar la imagen anterior cito nuevamente una frase de Lluís Terés:
“En la figura anterior se recogen los conceptos principales de entorno a los lenguajes de descripción de hardware a la vez que se hace una breve comparativa con los lenguajes de desarrollo de software. En ambos casos se pretenden hacer descripciones funcionales de alto nivel de abstracción, que serán independientes del procesador que los ejecute o de la tecnología en la que vayan a materializarse. Así pues vemos que desarrollamos programas software mediante lenguajes estructurados de alto nivel que una vez compilados se convierten en programas de código máquina ejecutables por microprocesadores específicos. En el caso del hardware, vemos que también se tratan de lenguajes estructurados de alto nivel que nos permiten generar modelos HDL a partir de los cuales podemos realizar o bien procesos de simulación o bien procesos de síntesis para ir a una determinada materialización de ese modelo, o bien procesos de verificación por simulación pre-síntesis y post-síntesis con comparación posterior de resultados. Obsérvese que mientras el software el objetivo final es un programa ejecutándose en un determinado procesador, en hardware el objetivo final puede ser doble, o bien la simulación de nuestros modelos para comprobar su correcto funcionamiento o bien la síntesis de dichos modelos para proceder a su materialización física en hardware real.”

impact
Después de esta impresionante revelación, regresamos a las dos preguntas que hicimos al comenzar esta publicación, ¿un mecatrónico/electrónico especializado en plataformas de software embebido es un programador?. La respuesta es SI. Ahora la misma pregunta un poco más específica. ¿Un mecatrónico/electrónico es un desarrollador de software? La respuesta es un rotundo NO. Sino que es un descriptor de hardware.

Con esto finalizamos esta sesión amables lectores, espero y esta publicación haya sido de su agrado, ojalá y les sirva así como en su momento a mí me ayudó bastante sobre todo a conocer cuáles son mis alcances acordes a mi perfil profesional. Me despido de ustedes enviándoles un fuerte abrazo, hasta la próxima.

One thought on “Software + Hardware = ?

Leave a Reply

Your email address will not be published. Required fields are marked *