PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Data-driven dependency injection for embedded software, enhancing reusability with C++

Treść / Zawartość
Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
This article presents an architecture for engineering reusable embedded software using modern C++ principles and a custom-built dependency injection framework. It details the framework’s design, specifically tailored for resource-constrained environments. The framework promotes modular and testable architecture. Its data-driven (via Json file) configuration defines component dependencies and determines their instantiation. The article demonstrates how such approach facilitates component decoupling and provides a viable path for developers to create scalable, portable, and high-quality embedded software, signifi-cantly reducing future development efforts.
Słowa kluczowe
Twórcy
  • Warsaw University of Technology, Poland
Bibliografia
  • [1] C. A. Mack, “Fifty years of moore’s law,” IEEE Transactions on semiconductor manufacturing, vol. 24, no. 2, pp. 202-207, 2011. [Online]. Available: https://doi.org/10.1109/tsm.2010.2096437
  • [2] P. C. Pendharkar and J. A. Rodger, “The relationship between software development team size and software development cost,” Communica-tions of the ACM, vol. 52, no. 1, pp. 141-144, 2009.
  • [3] B. B. Brown, “Over-the-air (ota) updates in embedded microcontroller applications: Design trade-offs and lessons learned,” Analog Dialogue Technical Journal, vol. 52, pp. 52-11, 2018.
  • [4] E. Razina and D. S. Janzen, “Effects of dependency injection on main-tainability,” in Proceedings of the 11th IASTED International Conference on Software Engineering and Applications: Cambridge, MA, 2007, p. 7.
  • [5] P. Koopman, “Embedded system design issues (the rest of the story),” in Proceedings International Conference on Computer Design. VLSI in Computers and Processors. IEEE, 1996, pp. 310-317. [Online]. Available: https://doi.org/10.1109/iccd.1996.563572
  • [6] D. Ajiga, P. A. Okeleke, S. O. Folorunsho, and C. Ezeigweneme, “Methodologies for developing scalable software frameworks that support growing business needs,” Int. J. Manag. Entrep. Res, vol. 6, no. 8, pp. 2661-2683, 2024.
  • [7] D. Prasanna, Dependency injection: design patterns using spring and guice. Simon and Schuster, 2009.
  • [8] J. Helander and A. Forin, “Mmlite: A highly componentized system architecture,” in Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications, 1998, pp. 96-103. [Online]. Available: https://doi.org/10.1145/319195.319210
  • [9] K.-K. Lau, “Software component models,” in Proceedings of the 28th international conference on Software engineering, 2006, pp. 1081-1082. [Online]. Available: https://doi.org/10.1145/1134285.1134516
  • [10] K. Laemmermann, “C++ the design and evolution of c++,” 2012.
  • [11] F. Zampetti, S. Geremia, G. Bavota, and M. Di Penta, “Ci/cd pipelines evolution and restructuring: A qualitative and quantitative study,” in 2021 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 2021, pp. 471-482. [Online]. Available: https://doi.org/10.1109/icsme52107.2021.00048
  • [12] K. Driesen and U. Hölzle, “The direct cost of virtual function calls in c++,” in Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, 1996, pp. 306-323. [Online]. Available: https://doi.org/10.1145/236337.236369
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-f85d9e91-bfdc-46ec-9d58-2d4e378740b9
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.