Ir al contenido principal

Entradas

Mostrando entradas de 2014

Modularidad, abstracción y múltiples instancias en C para Embedded Software

Está claro que la modularidad, el encapsulamiento y la abstracción fomentan la producción de software reutilizable, escalable, flexible, transportable y sumamente legible. Generando sistemas de software óptimos respecto del uso de memoria de datos y programa, menos complejos, fáciles de mantener y escalar. El presente artículo aborda estos principios y los aplica a un ejemplo concreto muy tradicional en los embedded systems , específicamente la estructura de datos queue , proveyendo diversas técnicas de programación no sólo para la construcción de este tipo de estructuras, sino también para la construcción de todo tipo de módulos de software genéricos, flexibles y escalables, desde la definición de su interfaz hasta su implementación en lenguaje C. Lo que implica generalizar, parametrizar e instanciar una solución general a un problema específico. Adicionalmente, el artículo describe la implementación de varios patrones para instanciar la entidad que encapsula los atributos del módu

Principios de OOP aplicados en C para Embedded Systems

Los principios del diseño orientado a objetos [1,2] aplicados a la programación, no son propios de un lenguaje o herramienta particular, sino más bien, son una manera disciplinada de organizar, diseñar y codificar software. Estos son: el encapsulamiento, la herencia y el polimorfismo. Su aplicación, en sistemas de software, incluyendo los embedded systems , tiene grandes beneficios, ya que fomenta la producción de software modular, reutilizable, flexible, transportable y sumamente legible. Además, facilita y naturaliza, el uso de lenguajes de modelado de software como UML [1,2]. Este nos ayuda a describir y diseñar el sistema, por medio de una serie de notaciones gráficas estandarizadas, como los diagramas de estados Statecharts [3], los diagramas de secuencia, entre otros. Fundamentalmente, UML nos proporciona un conjunto herramientas conceptuales para representar o modelar el sistema.