Methodology for the development of electronic prototypes integrating hardware and software.

Authors

DOI:

https://doi.org/10.24054/face.v22i4.2837

Keywords:

Firmware, Electronics, Agile Methodologies, Sprint

Abstract

The article presents a methodological proposal for developing prototypes that integrate hardware and software. This
proposal starts with the identifying the differences and similarities presented in the development of firmware and
electronic hardware, and the complications of their integration into a prototype. It is based upon insights from pragmatic
programming, agile and cyclical methodologies for software development, the Bottom-Up strategy used in hardware
development, and some activities from the Out-In methodology. The methodology is divided into phases and stages.
The initialization phase comprises the stages of story, analysis, and tracer bullet. The development phase consists of
a sprint that commences with the tracer bullet, followed by several sprints of the construction stage, then the integration
stage, and culminates with the laboratory testing stage. The verification stage combines the demonstration and delivery
stage. If the prototype requirements are not met, one can return to the development phase and iterate again. The
methodology was applied in the development of a prototype, yielding satisfactory results in meeting the requirements
and in execution time. It is concluded that it is feasible to obtain a prototype integrating hardware and software at a
TRL6 maturity level within a specific timeframe, through the proposed methodology in a collaborative and iterative work
environment.

Downloads

Download data is not yet available.

References

Beck, K., Beedle, M. B., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., . . . Thomas, D. (2001). Manifesto for agile software development. Utah: The Agile Alliance. https://athena.ecs.csus.edu/~buckley/CSc191/XP.pdf

Bendix, L., & Torbjörn, E. (2009). Software Configuration Management in Agile Development. En Software Applications: Concepts, Methodologies, Tools, and Applications (págs. 291-308). Pensilvania: Igi Global.https://www.igiglobal.com/chapter/softwareapplicationsconcepts-methodologies-tools/29394

Castro, S., Medina, B., & Camargo, L. (2016). Supervisión y Control Industrial a través de Teléfonos Inteligentes usando un computador de placa única Raspberry Pi. Información tecnológica, 27(2), 121-130. https://doi.org/10.4067/S0718-07642016000200015

Davidson, S., & Bruce, S. (1978). An overview of firmware engineering. Computer, 11(5), 21-33. Enlace

Gasca, M., Camargo, L., & Medina, B. (2014). Metodología para el desarrollo de aplicaciones móviles. Tecnura, 18(40), 20-35. Enlace

Gasca, M., Camargo, L., & Medina, B. (2020). Gestión del mantenimiento para la confiabilidad operacional. Espacios, 41(47), 250-261. Enlace

Kaeslin, H. (2014). Top-down digital VLSI design: from architectures to gate-level circuits and FPGAs. Burlington: Morgan Kaufmann.

Mankins, J. (1995). Technology readiness levels. Washington D. C: NASA. https://aiaa.kavi.com/apps/group_public/download.php/2212/TRLs_MankinsPaper_1995.pdf

Mathew, B., & Anand, B. N. (2022). An Information- Decision Framework to Support Cooperative Decision Making in the Top-Down Design of Cyber-Physical-Manufacturing Systems. ASME 2022, International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. St. Louis. https://doi.org/10.1115/DETC2022-90836

McFarland, M. (1988). Using bottom-up design techniques in the synthesis of digital hardware from abstract behavioral descriptions. Twenty-five years of electronic design automation (págs. 602-608). New York: IEEE. https://doi.org/10.1145/62882.62955

Medina, B., Castro, S., & Camargo, L. (2015). Tecnologías de código abierto para la gestión de un proceso industrial. Revista Gti, 14(38), 43-58. https://revistas.uis.edu.co/index.php/revistagti/article/view/4941

Mendoza, C., Serrano, J., & Luz, R. (2022). La generación de prototipos electrónicos para incrementar la productividad académica. Revista Iberoamericana de Producción Académica y Gestión Educativa, 8(15), 108-130. https://www.pag.org.mx/index.php/PAG/article/view/894

Perez, A., Berreteaga, O., Ruiz de Olano, A., Urkidi, A.,& Perez, J. (2006). Una metodología para el desarrollo de hardware y software embebidos en sistemas críticos de seguridad. SISTEMAS, CIBERNÉTICA E INFORMÁTICA, 3(2), 70-75.https://www.iiisci.org/journal/pdv/risci/pdfs/c863gm.pdf

Schweers, R. (2002). Descripción en VHDL de arquitecturas para implementar el algoritmo CORDIC. Tesis Doctoral. Buenos Aires: Universidad Nacional de La Plata. https://sedici.unlp.edu.ar/bitstream/handle/10915/3835/Documento_completo.pdf?sequence=15

Subramanian, N., & Lawrence, C. (2000). Testable embedded system firmware development: the out–in methodology. Computer Standards & Interfaces, 22(5), 337-352. https://doi.org/10.1016/S0920-5489(00)00054-4

Thomas, D., & Andrew, H. (2019). The pragmatic programmer. Reading: Addison-Wesley Professional.

Thompson, K. (2015). Agile Processes for Hardware Development. San Mateo: Cprime, Inc. https://www.cprime.com/wpcontent/uploads/2020/10/Agile_Processes_for_Hardware_Development.pdf

Tieling Zhang, M. X. (2005). Reliability and modeling of systems integrated with firmware and hardware. International Journal of Reliability. Quality and Safety Engineering, 12(3), 227-239. https://doi.org/10.1142/S021853930500180X

Wright, C., Moeglein, W., Bagchi, S., Kulkarni, M., & Clements, A. (2021). Challenges in firmware re-hosting, emulation, and analysis. ACM Computing Surveys, 54(1), 1-36. https://doi.org/10.1145/3423167

How to Cite

Gasca, M., Medina, B., & Camargo, L. (2022). Methodology for the development of electronic prototypes integrating hardware and software. FACE: Revista De La Facultad De Ciencias Económicas Y Empresariales, 22(4), 154–164. https://doi.org/10.24054/face.v22i4.2837