On Challenges in Engineering IoT Software Systems


  • Rebeca Campos Motta UFRJ
  • Káthia Marçal de Oliveira
  • Guilherme Horta Travassos




Internet of things, IoT, Contemporary Software Systems, Software Engineering, Empirical Software Engineering


Contemporary software systems, such as the Internet of Things (IoT), Industry 4.0, and Smart Cities represent a technology changing that offer challenges for their construction since they are calling into question our traditional form of developing software. They are a promising paradigm for the integration of devices and communications technologies. It is leading to a shift in the classical monolithic view of development where stakeholders used to receive a software product at the end (that we have been doing for decades), to software systems incrementally materialized through physical objects interconnected by networks and with embedded software to support daily activities. Therefore, we need to revisit the classical way of developing software and start to consider the particularities required by these new sorts of applications. Since such software systems involve different concerns, this paper presents the results of an investigation towards defining a framework to support the software systems engineering of IoT applications. To support its representation, we evolved the Zachman’s Framework as an alternative to the organization of the framework architecture. The filling of such a framework is supported by a) 14 significant concerns of IoT applications, recovered from the technical literature, practitioner’s workshops and a Government Report; b) seven structured facets emerged from IoT data analysis, that together represent the engineering challenges to be faced both by researchers and practitioners towards the advancement of IoT in practice.


Download data is not yet available.


Agina A, Matheus Edward IY, Shalannanda W (2016) Enhanced information security management system framework design using ISO 27001 and Zachman framework - A study case of XYZ company. In: 2016 2nd International Conference on Wireless and Telematics (ICWT). IEEE, pp 62–66

Alegre U, Augusto JC, Clark T (2016) Engineering contextaware systems and applications: A survey. J Syst Softw 117:55–83. <a href="http://dx.doi.org/10.1016/j.jss.2016.02.010">http://dx.doi.org/10.1016/j.jss.2016.02.010</a>

Almeida VAF, Doneda D, Moreira da Costa E (2018) Humane Smart Cities: The Need for Governance. IEEE Internet Comput 22:91–95. <a href="http://dx.doi.org/10.1109/MIC.2018.022021671">http://dx.doi.org/10.1109/MIC.2018.022021671</a>

Andrade RMC, Carvalho RM, de Araújo IL, et al. (2017) What Changes from Ubiquitous Computing to Internet of Things in Interaction Evaluation? In: International Conference on Distributed, Ambient, and Pervasive Interactions. pp 3–21

Aniculaesei A, Grieser J, Rausch A, et al. (2018) Towards a holistic software systems engineering approach for dependable autonomous systems. In: Proceedings of the 1st International Workshop on Software Engineering for AI in Autonomous Systems - SEFAIS ’18. ACM Press, New York, New York, USA, pp 23–30

Atabekov A, Starosielsky M, Lo DC-T, He JS (2015) Internet of Things-Based Temperature Tracking System. In: 2015 IEEE 39th Annual Computer Software and Applications Conference. IEEE, pp 493–498

Atzori L, Iera A, Morabito G (2010) The Internet of Things: A survey. Comput Netw 54:2787–2805. <a href="http://dx.doi.org/10.1016/j.comnet.2010.05.010">http://dx.doi.org/10.1016/j.comnet.2010.05.010</a>

Badreddin O (2013) Thematic Review and Analysis of Grounded Theory Application in Software Engineering. Adv Softw Eng 2013:1–9. <a href="http://dx.doi.org/10.1155/2013/468021">http://dx.doi.org/10.1155/2013/468021</a>

Basili VR, Caldeira G, Rombach HD (1994) Goal Question Metric Paradigm

Bauer C, Dey AK (2016) Considering the context in thedesign of intelligent systems: Current practices and suggestions for improvement. J Syst Softw 112:26–47. <a href="http://dx.doi.org/10.1016/j.jss.2015.10.041">http://dx.doi.org/10.1016/j.jss.2015.10.041</a>

Bera S, Misra S, Vasilakos A V. (2017) Software-Defined Networking for the Internet of Things: A Survey. IEEE Internet Things J 4:1994–2008. <a href="http://dx.doi.org/10.1109/JIOT.2017.2746186">http://dx.doi.org/10.1109/JIOT.2017.2746186</a>

Biolchini J, Mian PG, Candida A, Natali C (2008) Software and Data Technologies. Springer Berlin Heidelberg, Berlin, Heidelberg

Bondar S, Hsu JC, Pfouga A, Stjepandić J (2017) Agile digital transformation of System-of-Systems architecture models using the Zachman framework. J Ind Inf Integr 7:33–43. <a href="http://dx.doi.org/10.1016/j.jii.2017.03.001">http://dx.doi.org/10.1016/j.jii.2017.03.001</a>

Borgia E (2014) The Internet of Things vision: Key features, application, and open issues. Comput Commun 54:1–31. <a href="http://dx.doi.org/10.1016/j.comcom.2014.09.008">http://dx.doi.org/10.1016/j.comcom.2014.09.008</a>

Brings J (2017) Verifying Cyber-Physical System Behavior in the Context of Cyber-Physical System-Networks. In: 2017, IEEE 25th International Requirements EngineeringConference (RE). IEEE, pp 556–561

Caron X, Bosua R, Maynard SB, Ahmad A (2016) The Internet of Things (IoT) and its impact on individual privacy: An Australian perspective. Comput Law SecureRev 32:4–15. <a href="http://dx.doi.org/10.1016/j.clsr.2015.12.001">http://dx.doi.org/10.1016/j.clsr.2015.12.001</a>

Carver J (2007) The Use of Grounded Theory in Empirical Software Engineering. In: Empirical Software Engineering Issues. Critical Assessment and Future Directions. Springer Berlin Heidelberg, Berlin, Heidelberg, pp 42–42

Chen G, Tang J, Coon JP (2018) Optimal Routing for Multihop Social-Based D2D Communications in the Internet of Things. IEEE Internet Things J 5:1880–1889. <a href="http://dx.doi.org/10.1109/JIOT.2018.2817024">http://dx.doi.org/10.1109/JIOT.2018.2817024</a>

CNI CN da I (2016) Indústria 4.0: novo Desafio para a indústria Brasileira. Indicadores CNI 17:13

Conti JP (2006) ITU Internet Reports 2005: The Internet of Things. Commun Eng 4:20. <a href="http://dx.doi.org/10.1049/ce:20060603">"http://dx.doi.org/10.1049/ce:20060603</a>

Costa B, Pires PF, Delicato FC (2017) Specifying Functional Requirements and QoS Parameters for IoT Systems. In: 2017 IEEE 15th Intl Conf on Dependable, Autonomic and Secure Computing, 15th Intl Conf on Pervasive Intelligence and Computing, 3rd Intl Conf on Big Data Intelligence and Computing and Cyber Science and Technology Congress(DASC/PiCom/DataCom/CyberSciTech). IEEE,
pp 407–414

Dalli A, Bri S (2016) Acquisition devices in the internet of things: RFID and sensors. J Theor Appl Inf Technol 90:194–200

Davoudpour M, Sadeghian A, Rahnama H (2015) Synthesizing social context for making the Internet of Things environments more immersive. In: 2015 6th International Conference on the Network of the Future (NOF). IEEE, pp 1–5

de Farias CM, Brito IC, Pirmez L, et al. (2017) COMFIT: A development environment for the Internet of Things. Future Gener Comput Syst 75:128–144. <a href="http://dx.doi.org/10.1016/j.future.2016.06.031">http://dx.doi.org/10.1016/j.future.2016.06.031</a>

de Villiers D (2001) Using the Zachman Framework to Assess the Rational Unified Process Overview of the Zachman Framework. Ration Edge

Desolda G, Ardito C, Matera M (2017) Empowering End Users to Customize their Smart Environments. ACM Trans Comput-Hum Interact 24:1–52. <a href="http://dx.doi.org/10.1145/3057859">http://dx.doi.org/10.1145/3057859</a>

Dutton WH (2014) Putting things to work: Social and policy challenges for the Internet of things. Info 16:1–21. <a href="http://dx.doi.org/10.1108/info-09-2013-0047">http://dx.doi.org/10.1108/info-09-2013-0047</a>

Fitzgerald B, Stol K-J (2017) Continuous software engineering: A roadmap and agenda. J Syst Softw 123:176–189. <a href="http://dx.doi.org/10.1016/j.jss.2015.06.063http://dx.doi.org/10.1016/j.jss.2015.06.063a>

Gil D, Ferrández A, Mora-Mora H, Peral J (2016) Internet of Things: A Review of Surveys Based on Context-Aware Intelligent Services. Sensors 16:1069. <a href="http://dx.doi.org/10.3390/s16071069">http://dx.doi.org/10.3390/s16071069</a>

Gluhak A, Krco S, Nati M, et al. (2011) A survey on facilities for experimental internet of things research. IEEE Commun Mag 49:58–67. <a href="http://dx.doi.org/10.1109/MCOM.2011.6069710">http://dx.doi.org/10.1109/MCOM.2011.6069710</a>

Goethals FG, Snoeck M, Lemahieu W, Vandenbulcke J (2006) Management and enterprise architecture clic The FAD(E)E framework. Inf Syst Front 8:67–79. <a href="http://dx.doi.org/10.1007/s10796-006-7971-1">http://dx.doi.org/10.1007/s10796-006-7971-1</a>

Gubbi J, Buyya R, Marusic S, Palaniswami M (2013) Internet of Things (IoT): A vision, architectural elements, and future directions. Future Gener Comput Syst 29:1645–1660. <a href="http://dx.doi.org/10.1016/j.future.2013.01.010">http://dx.doi.org/10.1016/j.future.2013.01.010</a>

Guo B, Yu Z, Zhou X, Zhang D (2012) Opportunistic IoT: Exploring the social side of the internet of things. In: Proceedings of the 2012 IEEE 16th International Conference on Computer Supported Cooperative Work in Design (CSCWD). IEEE, pp 925–929

Huang J, Duan Q, Xing C-C, Wang H (2017) Topology Control for Building a Large-Scale and Energy-Efficient Internet of Things. IEEE Wirel Commun 24:67–73. <a href="http://dx.doi.org/10.1109/MWC.2017.1600193WC">http://dx.doi.org/10.1109/MWC.2017.1600193WC</a>

IEEE (2004) Guide to the Software Engineering Body of Knowledge. IEEE Computer Society Press

Jacobson I, Spence I, Ng P-W (2017) Is there a single method for the internet of things? Commun ACM 60:46–53. <a href="http://dx.doi.org/10.1145/3106637">http://dx.doi.org/10.1145/3106637</a>

Khaitan SK, McCalley JD (2015) Design Techniques and Applications of Cyberphysical Systems: A Survey. IEEE Syst J 9:350–365. <a href="http://dx.doi.org/10.1109/JSYST.2014.2322503">http://dx.doi.org/10.1109/JSYST.2014.2322503</a>

Kusmin M, Saar M, Laanpere M, Rodriguez-Triana MJ (2017) Work in progress — Smart schoolhouse as a datadriven inquiry learning space for the next generation of engineers. In: 2017 IEEE Global Engineering Education Conference (EDUCON). IEEE, pp 1667–1670

Larrucea X, Combelles A, Favaro J, Taneja K (2017) Software Engineering for the Internet of Things. IEEE Softw 34:24–28. <a href="http://dx.doi.org/10.1109/MS.2017.28">http://dx.doi.org/10.1109/MS.2017.28</a>

Li S, Xu L Da, Zhao S (2015) The internet of things: a survey. Inf Syst, Front 17:243–259. <a href="http://dx.doi.org/10.1007/s10796-014-9492-7">http://dx.doi.org/10.1007/s10796-014-9492-7</a>

Li S, Xu L Da, Zhao S (2018) 5G Internet of Things: A survey. J Ind Inf Integr 10:1–9. <a href="http://dx.doi.org/10.1016/j.jii.2018.01.005">http://dx.doi.org/10.1016/j.jii.2018.01.005</a>

Liao Y, Deschamps F, Loures E de FR, Ramos LFP (2017) Past, present, and future of Industry 4.0 - a systematic literature review and research agenda proposal. Int J Prod
Res 55:3609–3629. <a href="http://dx.doi.org/10.1080/00207543.2017.1308576">http://dx.doi.org/10.1080/00207543.2017.1308576</a>

Lu Y (2017) Industry 4.0: A survey on technologies, applications, and open research issues. J Ind Inf Integr 6:1– 10. <a href="http://dx.doi.org/10.1016/j.jii.2017.04.005">http://dx.doi.org/10.1016/j.jii.2017.04.005</a>

Madakam S, Ramaswamy R, Tripathi S (2015) Internet of Things (IoT): A Literature Review. J Comput Commun 03:164–173. <a href="http://dx.doi.org/10.4236/jcc.2015.35021">http://dx.doi.org/10.4236/jcc.2015.35021</a>

Matalonga S, Rodrigues F, Travassos G (2015) Challenges in Testing Context-Aware Software Systems. In: 9th Workshop on Systematic and Automated Software Testing 2015. Belo Horizonte, Brazil, pp 51–60

Matalonga S, Rodrigues F, Travassos GH (2017) Characterizing testing methods for context-aware software systems: Results from a quasi-systematic literature review. J Syst Softw 131:1–21. <a href="http://dx.doi.org/10.1016/j.jss.2017.05.048">http://dx.doi.org/10.1016/j.jss.2017.05.048</a>

Mihovska A, Sarkar M (2018) New Advances in the Internet of Things. Springer International Publishing, Cham

Motta RC, de Oliveira KM, Travassos GH (2018) On challenges in engineering IoT software systems. In: Proceedings of the XXXII Brazilian Symposium on Software Engineering - SBES ’18. ACM Press, New York,
New York, USA, pp 42–51

Motta RC, de Oliveira KM, Travassos GH A Framework to Support the Engineering of Internet of Things Software Systems. EICS 19 June 18–21 2019 Valencia Spain 6. <a href="http://dx.doi.org/10.1145/3319499.3328239">http://dx.doi.org/10.1145/3319499.3328239</a>

Motta RC, Oliveira KM de, Travassos GH (2016) Characterizing Interoperability in Context-Aware Software Systems. In: 2016 VI Brazilian Symposium on Computing Systems Engineering (SBESC). IEEE, pp 203–

Nielsen CB, Larsen PG, Fitzgerald J, et al. (2015) Systems of Systems Engineering: Basic Concepts, Model-Based Techniques, and Research Directions. ACM Comput Surv 48:1–41. <a href="http://dx.doi.org/10.1145/2794381">http://dx.doi.org/10.1145/2794381</a>

Nogueira JM, Romero D, Espadas J, Molina A (2013) Leveraging the Zachman framework implementation using the action – research methodology – a case study: aligning the enterprise architecture and the business goals. Enterp Inf Syst 7:100–132. <a href="http://dx.doi.org/10.1080/17517575.2012.678387">http://dx.doi.org/10.1080/17517575.2012.678387</a>

Panetto H, Baïna S, Morel G (2007) Mapping the IEC 62264 models onto the Zachman framework for analyzing products information traceability: A case study. J Intell Manuf 18:679–698. <a href="http://dx.doi.org/10.1007/s10845-007-0040-x">http://dx.doi.org/10.1007/s10845-007-0040-x</a>

Patel P, Cassou D (2015) Enabling high-level application development for the Internet of Things. J Syst Softw 103:62–84. <a href="http://dx.doi.org/10.1016/j.jss.2015.01.027">http://dx.doi.org/10.1016/j.jss.2015.01.027</a>

Pfleeger SL, Atlee JM (1998) Software engineering: theory and practice. Pearson Education India

Roca D, Milito R, Nemirovsky M, Valero M (2018) Fog Computing in the Internet of Things. Springer International Publishing, Cham

Rojas RA, Rauch E, Vidoni R, Matt DT (2017) Enabling Connectivity of Cyber-physical Production Systems: A Conceptual Framework. Procedia Manuf 11:822–829. <a href="http://dx.doi.org/10.1016/j.promfg.2017.07.184">http://dx.doi.org/10.1016/j.promfg.2017.07.184</a>

Sánchez Guinea A, Nain G, Le Traon Y (2016) A systematic review on the engineering of software for ubiquitous systems. J Syst Softw 118:251–276. <a href="http://dx.doi.org/10.1016/j.jss.2016.05.024">http://dx.doi.org/10.1016/j.jss.2016.05.024</a>

Santos I de S, Andrade RM de C, Rocha LS, et al. (2017) Test case design for context-aware applications: Are we there yet? Inf Softw Technol 88:1–16. <a href="http://dx.doi.org/10.1016/j.infsof.2017.03.008">http://dx.doi.org/10.1016/j.infsof.2017.03.008</a>

Seaman CB (1999) Qualitative methods in empirical studies of software engineering. IEEE Trans Softw Eng 25:557–572. <a href="http://dx.doi.org/10.1109/32.799955">http://dx.doi.org/10.1109/32.799955</a>

Shang X, Zhang R, Zhu X, Zhou Q (2016) Design theory, modeling, and the application for the Internet of Things service. Enterp Inf Syst 10:249–267. <a href="http://dx.doi.org/10.1080/17517575.2015.1075592">http://dx.doi.org/10.1080/17517575.2015.1075592</a>

Sousa P, Pereira C, Vendeirinho R, et al. (2007) Applying the Zachman Framework Dimensions to Support Business Process Modeling. In: Digital Enterprise Technology. Springer US, Boston, MA, pp 359–366

Sowa JF, Zachman JA (1992) Extending and formalizing the framework for information systems architecture. IBM Syst J 31:590–616. <a href="http://dx.doi.org/10.1147/sj.313.0590">http://dx.doi.org/10.1147/sj.313.0590</a>

Spínola RO, Travassos GH (2012) Towards a framework to characterize ubiquitous software projects. Inf Softw Technol 54:759–785. <a href="http://dx.doi.org/10.1016/j.infsof.2012.01.009">http://dx.doi.org/10.1016/j.infsof.2012.01.009</a>

Strauss A, Corbin J (1990) Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage Publications, Inc, Newbury Park

Tang A, Jun Han, Pin Chen (2004) A Comparative Analysis of Architecture Frameworks. In: 11th Asia-Pacific Software Engineering Conference. IEEE, pp 640–647

Technology I (2015) Requirement Formalization using OWL Ontology-based Zachman Framework

Tian B, Yu S, Chu J, Li W (2018) Analysis of Direction on Product Design in the Era of the Internet of Things. MATEC Web Conf 176:01002. <a href="http://dx.doi.org/10.1051/matecconf/201817601002"></a>

Trappey AJC, Trappey C V., Hareesh Govindarajan U, et al. (2017) A review of essential standards and patent landscapes for the Internet of Things: A key enabler for Industry 4.0. Adv Eng Inform 33:208–229. <a href="http://dx.doi.org/10.1016/j.aei.2016.11.007">http://dx.doi.org/10.1016/j.aei.2016.11.007</a>

Whitmore A, Agarwal A, Da Xu L (2015) The Internet of Things—A survey of topics and trends. Inf Syst, Front 17:261–274. <a href="http://dx.doi.org/10.1007/s10796-014-9489-2">http://dx.doi.org/10.1007/s10796-014-9489-2</a>

Wohlin C (2014) Guidelines for snowballing in systematic literature studies and a replication in software engineering. Proc 18th Int Conf Eval Assess Softw Eng - EASE 14 1– 10. <a href="http://dx.doi.org/10.1145/2601248.2601268">http://dx.doi.org/10.1145/2601248.2601268</a>

Xu L Da, He W, Li S (2014) Internet of Things in Industries: A Survey. IEEE Trans Ind Inform 10:2233–2243. <a href="http://dx.doi.org/10.1109/TII.2014.2300753">http://dx.doi.org/10.1109/TII.2014.2300753</a>

Yan Yu, Jianhua Wang, Guohui Zhou (2010) The exploration in the education of professionals in applied Internet of Things Engineering. In: 2010 4th International Conference on Distance Learning and Education. IEEE, pp 74–77

Zachman JA (1987) A framework for information systems architecture. IBM Syst J 26:276–292. <a href="http://dx.doi.org/10.1147/sj.263.0276">http://dx.doi.org/10.1147/sj.263.0276</a>

Zambonelli F (2016) Towards a General Software Engineering Methodology for the Internet of Things

Zhang C, Shi X, Chen D (2014) Safety analysis and optimization for networked avionics system. In: 2014, IEEE/AIAA 33rd Digital Avionics Systems Conference (DASC). IEEE, pp 4C1-1-4C1-12




How to Cite

Motta, R. C., de Oliveira, K. M., & Travassos, G. H. (2019). On Challenges in Engineering IoT Software Systems. Journal of Software Engineering Research and Development, 7, 5:1 – 5:20. https://doi.org/10.5753/jserd.2019.15



Research Article