Methodology for the development of electronic prototypes integrating hardware and software.
DOI:
https://doi.org/10.24054/face.v22i4.2837Abstract
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
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
Published
Versions
How to Cite
Issue
Section
License
Copyright (c) 2022 FACE: Revista de la Facultad de Ciencias Económicas y Empresariales
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.