ABSTRACT
Context: the Internet of Things (IoT) is a paradigm that provides an ecosystem for a fast-growing quantity of connected devices, also defined as cyber-physical devices.
Problem: the creation of Internet of Things solutions is fairly complex, having to integrate and communicate between sensors, devices, and larger systems, presenting many technical challenges not present in the same magnitude as other paradigms. One of the most affected segments is the development of cyber-physical devices. Much of its development energy is spent on the connecting and efficacy of these devices, often overlooking the future impacts of the proposed solution, caused by a lack of software quality.
SI Theory: this work was designed under the Design Theory, currently found in the Justify/Evaluate stage’s refinement process.
Methodology: model-driven development (MDD), a software development methodology that allows the generation of software solutions through abstract models, which aims to facilitate development, bringing the abstract solution closer to the problem’s implementation. In this work, a custom MDD approach for cyber-physical devices is presented.
Results: the proposed approach and tool were able to generate C++ source code for Arduino devices, the generated source code performed better than control when compared using OOP specific software metrics.
Contributions: this study presents an MDD approach for cyber-physical devices, where the innovative models are based and coupled to the hardware specifications, being extensible and flexible.
- Mohsen Hallaj Asghar, Atul Negi, and Nasibeh Mohammadzadeh. 2015. Principle application and vision in Internet of Things (IoT). International Conference on Computing, Communication and Automation, ICCCA 2015 (2015). https://doi.org/10.1109/CCAA.2015.7148413Google ScholarCross Ref
- Luigi Atzori, Antonio Iera, and Giacomo Morabito. 2010. The Internet of Things: A survey. Computer Networks 54, 15 (10 2010), 2787–2805. Issue 15. https://doi.org/10.1016/j.comnet.2010.05.010Google ScholarDigital Library
- Dhouha Ayed, Didier Delanote, and Yolande Berbers. 2007. MDD approach for the development of context-aware applications. In International and Interdisciplinary Conference on Modeling and Using Context. Springer, 15–28.Google ScholarCross Ref
- Louis Coetzee and Johan Eksteen. 2011. Internet of things–promise for the future? An Introduction. (2011).Google Scholar
- Richard Grimmett. 2015. Raspberry Pi robotics projects. Packt Publishing Ltd.Google Scholar
- Jayavardhana Gubbi, Rajkumar Buyya, Slaven Marusic, and Marimuthu Palaniswami. 2013. Internet of Things (IoT): A vision, architectural elements, and future directions. Future generation computer systems 29, 7 (2013), 1645–1660. https://doi.org/10.1016/j.future.2013.01.010Google ScholarDigital Library
- Jenalea Howell. 2017. Number of Connected IoT Devices Will Surge to 125 Billion by 2030, IHS Markit Says. https://technology.ihs.com/596542/number-of-connected-iot-devices-will-surge-to-125-billion-by-2030-ihs-markit-saysGoogle Scholar
- InternetWorldStats. 2019. World Internet Users Statistics and 2019 World Population Stats. https://www.internetworldstats.com/stats.htmGoogle Scholar
- Adeel Javed. 2016. Building Arduino projects for the Internet of Things: experiments with real-world applications. Apress.Google Scholar
- Tim Kapteijns, Slinger Jansen, Sjaak Brinkkemper, Henry Houët, and Rick Barendse. 2009. A comparative case study of model driven development vs traditional development: The tortoise or the hare. From code centric to model centric software engineering: Practices, Implications and ROI 22(2009).Google Scholar
- Duncan Ki-Aries, Shamal Faily, Huseyin Dogan, and Christopher Williams. 2018. Assessing system of systems security risk and requirements with oasosis. Proceedings - 2018 5th International Workshop on Evolving Security and Privacy Requirements Engineering, ESPRE 2018(2018), 14–20. https://doi.org/10.1109/ESPRE.2018.00009Google ScholarCross Ref
- Hari Kishan Kondaveeti, Nandeesh Kumar Kumaravelu, Sunny Dayal Vanambathina, Sudha Ellison Mathe, and Suseela Vappangi. 2021. A systematic literature review on prototyping with Arduino: Applications, challenges, advantages, and limitations. Computer Science Review 40 (2021). https://doi.org/10.1016/j.cosrev.2021.100364Google ScholarDigital Library
- Rodger Lea and Michael Blackstock. 2014. City hub: A cloud-based iot platform for smart cities. In 2014 IEEE 6th international conference on cloud computing technology and science. IEEE, 799–804.Google ScholarDigital Library
- Edward A Lee. 2008. Cyber physical systems: Design challenges. In 2008 11th IEEE international symposium on object and component-oriented real-time distributed computing (ISORC). IEEE.Google ScholarDigital Library
- Robert Martin. 1994. OO design quality metrics. An analysis of dependencies 12 (1994), 151–170.Google Scholar
- Rebeca C Motta, Káthia M de Oliveira, and Guilherme H Travassos. 2018. On challenges in engineering IoT software systems. In Proceedings of the XXXII Brazilian symposium on software engineering. 42–51.Google ScholarDigital Library
- Xuan Thang Nguyen, Huu Tam Tran, Harun Baraki, and Kurt Geihs. 2015. FRASAD: A framework for model-driven IoT Application Development. In 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT). IEEE, 387–392.Google Scholar
- Alberto S Nuñez-Varela, Hector G Perez-Gonzalez, Francisco E Martínez-Perez, and Carlos Soubervielle-Montalvo. 2017. Source code metrics: A systematic mapping study. Journal of Systems and Software 128 (2017), 164–197.Google ScholarDigital Library
- Silviu-George Pantelimon, Tudor Rogojanu, Andreea Braileanu, Valeriu-Daniel Stanciu, and Ciprian Dobre. 2019. Towards a seamless integration of iot devices with iot platforms using a low-code approach. In 2019 IEEE 5th World Forum on Internet of Things (WF-IoT). IEEE, 566–571.Google Scholar
- Fernando Silva Parreiras, Gerd Gröner, Tobias Walter, Andreas Friesen, Tirdad Rahmani, Jens Lemcke, Hannes Schwarz, Krzysztof Miksa, Christian Wende, and Uwe Aßmann. 2013. Model-driven software development. 21–50 pages. https://doi.org/10.1007/978-3-642-31226-7_2Google ScholarCross Ref
- Izabela Perenc, Tomasz Jaworski, and Piotr Duch. 2019. Teaching programming using dedicated Arduino Educational Board. Computer Applications in Engineering Education 27, 4 (2019), 943–954. https://doi.org/10.1002/cae.22134Google ScholarCross Ref
- Klaus Schwab and Nicholas Davis. 2019. Aplicando a quarta revolução industrial. EDIPRO.Google Scholar
- Lu Tan and Neng Wang. 2010. Future internet: The internet of things. In 2010 3rd international conference on advanced computer theory and engineering (ICACTE), Vol. 5. IEEE, V5—-376.Google Scholar
- Antonio Terceiro, Joenio Costa, João Miranda, Paulo Meirelles, Luiz Romário Rios, Lucianna Almeida, Christina Chavez, and Fabio Kon. 2010. Analizo: an Extensible Multi-Language Source Code Analysis and Visualization Toolkit.. In Brazilian Conference on Software: Theory and Practice (CBSoft) – Tools. Salvador-Brazil.Google Scholar
- Hong-Linh Truong and Schahram Dustdar. 2015. Principles for engineering IoT cloud systems. IEEE Cloud Computing 2, 2 (2015), 68–76.Google ScholarCross Ref
- Guido VanRossum and Fred L Drake. 2010. The python language reference. Python Software Foundation Amsterdam, Netherlands.Google Scholar
- Michalis Xenos, D Stavrinoudis, K Zikouli, and D Christodoulakis. 2000. Object-oriented metrics-a survey. In Proceedings of the FESMA. 1–10.Google Scholar
Index Terms
- MDD4CPD: Model Driven Development Approach Proposal for Cyber-Physical Devices
Recommendations
An Analysis of the Quality of Model Driven Development Solutions Applied to Cyber-Physical Devices
SBQS '22: Proceedings of the XXI Brazilian Symposium on Software QualityThe Internet of Things (IoT) is a paradigm that provides an ecosystem for a fast-growing quantity of connected devices, also defined as cyber-physical devices. The creation of Internet of Things solutions is fairly complex, integrating and ...
Model-driven engineering techniques for the development of multi-agent systems
Model-driven engineering (MDE), implicitly based upon meta-model principles, is gaining more and more attention in software systems due to its inherent benefits. Its use normally improves the quality of the developed systems in terms of productivity, ...
Test-Driven Modeling for Model-Driven Development
Extreme programming is a code-centric, lightweight software development process. Testing is key in XP because developers write test cases before they write code, and testing determines the codeýs completion. A new software development process, called ...
Comments