Implementation of a Universal Framework Using Design Patterns for Application Development on Microcontrollers

. 2024 May 14 ; 24 (10) : . [epub] 20240514

Status PubMed-not-MEDLINE Jazyk angličtina Země Švýcarsko Médium electronic

Typ dokumentu časopisecké články

Perzistentní odkaz   https://www.medvik.cz/link/pmid38793968

This article focuses on the area of software development for microcontrollers and details the implementation of modern programming practices and principles in embedded systems and IoT applications. This article explains how we implemented previously unimplemented principles and applied design patterns for quality software design on microcontrollers, which are currently only used for developing applications on the higher layers of the IoT reference model. A custom modular framework for microcontrollers is presented, based on applying SOLID principles and adapting design patterns specific to the microcontrollers' application development needs. The implemented framework enables independent communication between modules and flexible integration of hardware components. It is designed with platform independence in mind, contributing to its wide adaptability and ease of use in diverse development environments. By applying these technological approaches, we can create applications that are not only testable and extensible in terms of application logic but also allow for easy adaptation to changes in these hardware resources. Utilizing these capabilities represents an innovative approach to development for microcontrollers that fundamentally improves the long-term sustainability and scalability of applications.

Zobrazit více v PubMed

Gaspar G., Fabo P., Kuba M., Flochova J., Dudak J., Florkova Z. What Development of IoT Applications Based on the MicroPython Platform for Industry 4.0 Implementation; Proceedings of the 2020 19th International Conference on Mechatronics (ME 2020); Prague, Czech Republic. 2–4 December 2020; pp. 1–7. DOI

Ionescu V.M., Enescu F.M. Investigating the Performance of MicroPython and C on ESP32 and STM32 Microcontrollers; Proceedings of the 2020 IEEE 26th International Symposium for Design and Technology in Electronic Packaging (SIITME 2020); Virtual, Pitesti, Romania. 21–24 October 2020; pp. 234–237. DOI

Babiuch M., Foltynek P. Creating a Mobile Application with the ESP32 Azure IoT Development Board Using a Cloud Platform; Proceedings of the 22nd International Carpathian Control Conference (ICCC) 2021; Virtual, Velke Karlovice, Czech Republic. 31 May–1 June 2021; pp. 1–4. DOI

Madasu V.K., Venna T.V.S.N., Eltaeib T. Classifying SOLID Principles in Software Architecture and Introduction to RESM Concept in OOP. JMEST. 2015;2:1–4.

Oktafani I., Hendrajaya B. Software Metrics Proposal for Conformity Checking of Class Diagram to SOLID Design Principles; Proceedings of the 2018 5th International Conference on Data and Software Engineering, (ICoDSE) 2018; Lombok, Indonesia. 7–8 November 2018; pp. 1–6. DOI

Bafandeh Mayvan B., Rasoolzadegan A., Ghavidel Yazdi Z. The state of the art on design patterns: A systematic mapping of the literature. J. Syst. Softw. 2017;125:93–118. doi: 10.1016/j.jss.2016.11.030. DOI

Zhang C., Budgen D. What Do We Know about the Effectiveness of Software Design Patterns? IEEE Trans. Soft. Eng. 2012;38:1213–1231. doi: 10.1109/TSE.2011.79. DOI

Hsueh N.L., Kuo J.Y., Lin C.C. Object-oriented design: A goal-driven and pattern-based approach. Softw. Sys. Model. 2009;8:67–84. doi: 10.1007/s10270-007-0063-y. DOI

Cortez R., Vazhenin A. Developing Re-Usable Components Based on the Virtual-MVC Design Pattern; Proceedings of the Databases in Networked Information Systems: 8th International Workshop, DNIS 2013; Aizu-Wakamatsu, Japan. 25–27 March 2013; pp. 132–149. DOI

Jailia M., Kumar A., Agarwal M., Sinha I. Behavior of MVC (Model View Controller) based Web Application Developed in PHP and, NET Framework; Proceedings of the 2016 International Conference on ICT in Business Industry & Government (ICTBIG); Indore, India. 18–19 November 2016; pp. 1–5. DOI

Guaman D., Delgado S., Perez J. Classifying Model-View-Controller Software Applications Using Self-Organizing Maps. IEEE Access. 2021;9:45201–45229. doi: 10.1109/ACCESS.2021.3066348. DOI

Li D.D., Liu X.Y. Research on MVP Design Pattern Modeling Based on MDA; Proceedings of the 3rd International Conference on Mechatronics and Intelligent Robotics (ICMIR) 2019; Kunming, China. 25–26 May 2019; pp. 51–56. DOI

Wilson A., Wedyan F., Omari S. An Empirical Evaluation and Comparison of the Impact of MVVM and MVC GUI Driven Application Architectures on Maintainability and Testability; Proceedings of the 2022 International Conference on Intelligent Data Science Technologies and Applications (IDSTA 2022); San Antonio, TX, USA. 5–7 September 2022; pp. 101–108. DOI

Aljamea M., Alkandari M. MMVMi: A validation model for MVC and MVVM design patterns in iOS applications. IJCS. 2018;45:377–389.

Kurniawan A.K.A., Hendradjaya B. Integration of metadata generator to Model View Adapter (MVA) architecture pattern; Proceedings of the 2014 International Conference of Advanced Informatics: Concept, Theory and Application (ICAICTA); Bandung, Indonesia. 20–21 August 2014; pp. 1–6. DOI

Singh H., Hassan S.I. Effect of SOLID Design Principles on Quality of Software: An Empirical Assessment. IJSER. 2015;6:1–4.

Janagade R., Barnwal A., Pugla S. Diamond Effect in Object Oriented Programming Languages. IJCSIT. 2015;6:3104–3111.

Kajtazovic N., Hodl P., Macher G. Instrumenting Compiler Pipeline to Synthesise Traceable Runtime Memory Layouts in Mixed-Critical Applications; Proceedings of the 2020 IEEE 31st International Symposium on Software Reliability Engineering Workshops (ISSREW 2020); Virtual, Coimbra. 12–15 October 2020; pp. 73–78. DOI

Fokin A., Troshina K., Chernov A. Reconstruction of Class Hierarchies for Decompilation of C++ Programs; Proceedings of the European Conference on Software Maintenance and Reengineering (CSMR); Madrid, Spain. 15–18 March 2010; pp. 240–243. DOI

Yoo K., Barua R. Recovery of Object Oriented Features from C++ Binaries; Proceedings of the Asia-Pacific Software Engineering Conference (APSEC); Jeju Island, Republic of Korea. 1–4 December 2014; pp. 231–238. DOI

Mamoon S., Yaqoob I., Naseer N., Akram J., Osman R., Zulfiqar S. Modern C++ Design Patterns and Idioms with New Features. IJICSE. 2017;4:102–109.

Abdulwareth A.J., Al-Shagabi A.A. Toward a Multi-Criteria Framework for Selecting Software Testing Tools. IEEE Access. 2021;9:158872–158891. doi: 10.1109/ACCESS.2021.3128071. DOI

Gurubasava, Anusha L.S. Unit Testing Frameworks: A comparative study. IRJET. 2022;9:2382–2386.

Google Test. [(accessed on 25 March 2024)]. Available online: https://google.github.io/googletest/

About Unity Test Framework. [(accessed on 25 March 2024)]. Available online: https://docs.unity3d.com/Packages/com.unity.test-framework@1.1/manual/index.html.

Foltynek P., Babiuch M., Suranek P. Measurement and data processing from Internet of Things modules by dual-core application using ESP32 board. Meas. Control. 2019;52:970–984. doi: 10.1177/0020294019857748. DOI

Senoo E.E.K., Ebeneyer A., Mendoca I., Aritsugi M. Implementing SOLID Principles for IoT Arduino Sensor Code; Proceedings of the 10th International Japan-Africa Conference on Electronics, Communications, and Computations (JAC-ECC) 2022; Alexandria, Egypt. 19–20 December 2022; pp. 21–26. DOI

Smutny P. Different Perspectives on Classification of the Internet of Things; Proceedings of the 17th International Carpathian Control Conference (ICCC) 2016; Tatranska Lomnica, Slovakia. 29 May–1 June 2016; pp. 692–696. DOI

Nejnovějších 20 citací...

Zobrazit více v
Medvik | PubMed

Benefits of Using Design Patterns on Microcontrollers in Implemented IoT Applications

. 2024 Dec 05 ; 24 (23) : . [epub] 20241205

Najít záznam

Citační ukazatele

Nahrávání dat ...

Možnosti archivace

Nahrávání dat ...