PROPUESTA METODOLÓGICA PARA VALIDAR LA FUNCIONALIDAD DE SOFTWARE EN SISTEMAS EMBEBIDOS

José Guillermo Fierro Mendoza, Julio Armando Asato España, José Benigno Molina Castro, Jonathan Giovanni Delgado Núñez, Emmanuel Noriega Vaca

Resumen


Resumen

En la actualidad la innovación tecnológica ha permitido incorporar diversos dispositivos electrónicos, que realizan tareas automatizadas en aparatos o equipos industriales, o de uso en hogares u oficinas. En general, estos dispositivos son computadoras de propósito especial dentro de un sistema mecánico o eléctrico, que están diseñados para satisfacer las necesidades específicas, conocidos como sistemas embebidos. Estos sistemas los encontramos en los automóviles, en el control industrial, en aparatos del hogar como refrigeradores, lavadoras, entre otros. Estos sistemas incluyen un microprocesador que internamente mantiene algoritmos computacionales que leen datos provenientes de sensores, los procesan y producen una acción de retroalimentación. La complejidad del sistema se refleja en el manejo de señales recibidas y en el procesamiento de la relación entre ellas y el estado de las variables de control para generar una respuesta. La programación de la lógica de operación, anteriormente se hacía en lenguaje ensamblador, pero actualmente se realiza en lenguajes de alto nivel, como son Java y C, teniendo especial cuidado en aquellos sistemas en que el tiempo de respuesta es crítica, como lo establece Fariña (2015). El incremento de la complejidad de los algoritmos que realizan los dispositivos adiciona la posibilidad de generar fallos en el sistema, aunado con la necesidad de mejorar la productividad del software intentando construir programas altamente confiables en periodos de tiempo cada vez más cortos. Este artículo es una propuesta metodológica para incorporar mecanismos que mejoren la calidad del producto de software, aplicando reglas de codificación en el desarrollo, utilizar herramientas que permitan cuantificar su complejidad y analizar los modos en los que puede fallar e incorporando la solución.

Palabras Clave: Prueba de software, pruebas unitarias, software embebido, validación, verificación.

 

Abstract

Today technological innovation has allowed incorporating various electronic devices that perform automated industrial equipment or use equipment in homes or offices tasks. In general, these devices are special purpose computers within a mechanical or electrical system, which are designed to do specific task, known as embedded systems. These systems are found in automobiles, industrial control, in household appliances such as refrigerators, washing machines, among others. These systems include a microprocessor internally maintains computational algorithms that read data from sensors, process and produce a feedback action. System complexity is reflected in handling received signals and processing the relationship between them and the state of the control variables to generate a response. These systems include a microprocessor inside it has computational algorithms that read data from sensors, process and produce a feedback action. System complexity is reflected in handling received signals and processing the relationship between them and the state of the control variables to generate a response. The programming was did previously in assembly language, but currently it done in high level languages as C and Java, taking special care to those systems where response time is critical, Fariña (2015). The increasing complexity of the algorithms that perform operation of device can produce system failure coupled with the need to improve the software productivity trying to build software highly realibility in less time. This article is a proposal to incorporate mechanisms to improve product quality software, introducing coding rules applying in the development, use tools to quantify their complexity and analyze the ways that can fail.

Keywords: Test software, unit testing, embedded software, validation, verification.


Texto completo:

156-177 PDF

Referencias


Charette, R. N. (2005). Why Software Fails. Institute of Electrical and Electronics Engineers (IEEE). https://goo.gl/jaOn.

Cortés, P. (20/ago/2007). La Naturaleza del Software. http://www.lnds.net /blog/2007/08/c2bfpor-que-falla-el-software.html.

Davis, G., Green, H. (2013, marzo). Software, build secure and reliable embedded systems with MISRA C/C++. www.goo.gl/wv7UZT.

Fariña, A. (2015). Nuevas técnicas de inyección de fallos en sistemas embebidos mediante el uso de modelos virtuales descritos en el nivel de transacción. Universidad de Alcalá. Departamento de Automática. http://hdl.handle.net/10017/22748

Infotechnology (2014, 13 de febrero). Por fallas de software, Toyota llama a Revisión a 1,9 Millones de Vehículo híbridos. www.goo.gl/14Xr26.

Kumar, S. (2012, abril). “Software Testing for Embedded Systems”. En International Journal of Computer Applications 0975-8887), Vol. 43. No.17.

Nijhawan, R. (2016, 16 noviembre). Explain Non Functional Testing With Example. https://goo.gl/xJ8rTx&nbsp.

Quality Metrics (2015, 4 de noviembre). A guide to measuring software quality. https://goo.gl/aqzxWW.

Selin, D. & Sandmann, G. (2011). Model-Based Design based on AUTOSAR in an Electrical Systems Engineering Environment at Volvo Cars. https://goo.gl/K7flMr.

Sommerville, I. (2011). Ingeniería de Software. 9ª ed. México: Pearson.

Srinivas N. & Jagruthi D. (2012, junio). Black Box and White Box Testing techniques - a Literature Review. International Journal of Embedded Systems and Applications (IJESA) Vol.2, No.2.

Yoshida, M., Tada, O. (1996). Programming of the Engine Control Unit by the C Language. SAE Technical Paper 960047.






URL de la licencia: https://creativecommons.org/licenses/by/3.0/deed.es

Barra de separación

Licencia Creative Commons    Pistas Educativas está bajo la Licencia Creative Commons Atribución 3.0 No portada.    

TECNOLÓGICO NACIONAL DE MÉXICO / INSTITUTO TECNOLÓGICO DE CELAYA

Antonio García Cubas Pte #600 esq. Av. Tecnológico, Celaya, Gto. México

Tel. 461 61 17575 Ext 5450 y 5146

pistaseducativas@itcelaya.edu.mx

http://pistaseducativas.celaya.tecnm.mx/index.php/pistas