Abstract
Smart Homes consist of a plethora of IoT devices most of which developed by different manufacturers. To handle the diversity of IoT devices within the context of Smart Home automation, literature has suggested the use of frameworks. In this paper we argue that developers can benefit from such frameworks as a solution to build flexible and easily extendable systems by reusing their components. For this purpose, we explore the reuse opportunities that can be offered by Eclipse Smart Home (ESH) framework. In particular, we performed a case study and analyzed 107 packages from the ESH framework that offered 240 reusable components to the OpenHab application. We investigated (a) which types of functionality are mostly facilitated for reuse (b) which types of reuse are mostly adopted and what is the integration effort required (c) what is the quality of the reused components and compared them to the components built from scratch. The results of the case study suggest that: the main functionality reused is the one related to Interface Adapters and the main type of reuse is Variable Type. Regarding the effort for integrating the reused components it can range from 38 lines of code to 1421 lines of code. Moreover, the quality of the reused components is slightly improved compared to the rest of the components built from scratch.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
References
Alam, M.R., Reaz, M.B.I., Ali, M.A.M.: A review of smart homes—past, present, and future. IEEE Trans. Syst. Man Cybern. Part C (Appl. Rev.) 42(6), 1190–1203 (2012)
Ayala, C., Hauge, Ø., Conradi, R., Franch, X., Li, J.: Selection of third party software in Off-The-Shelf-based software development—an interview study with industrial practitioners. J. Syst. Softw. 84(4), 620–637 (2011)
Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Softw. Eng. 28(1), 4–17 (2002)
Benni, B., Mosser, S., Moha, N., Riveill, M.: A delta-oriented approach to support the safe reuse of black-box code rewriters. In: Capilla, R., Gallina, B., Cetina, C. (eds.) ICSR 2018. LNCS, vol. 10826, pp. 164–180. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-90421-4_11
Brereton, P., Budgen, D.: Component-based systems: a classification of issues. Computer 33(11), 54–62 (2000)
Caldiera, G., Basili, V.R.: Identifying and qualifying reusable software components. Computer 24(2), 61–70 (1991)
Crnkovic, I., Larsson, M.: Challenges of component-based development. J. Syst. Softw. 61(3), 201–212 (2002)
Gui, G., Scott, P.D.: Coupling and cohesion measures for evaluation of component reusability. In: Proceedings of the 2006 International Workshop on Mining Software Repositories, pp. 18–21. ACM (2006)
Gupta, A., Cruzes, D., Shull, F., Conradi, R., Rønneberg, H., Landre, E.: An examination of change profiles in reusable and non-reusable software systems. J. Softw. Maint. Evol. Res. Pract. 22(5), 359–380 (2010)
Jatain, A., Nagpal, A., Gaur, D.: Agglomerative hierarchical approach for clustering components of similar reusability. Int. J. Comput. Appl. 68(2), 33–37 (2013)
Kamilaris, A., Trifa, V., Pitsillides, A.: HomeWeb: an application framework for Web-based smart homes. In: 2011 18th International Conference on IEEE Telecommunications (ICT), pp. 134–139 (2011)
Kim, J.E., Boulos, G., Yackovich, J., Barth, T., Beckel, C., Mosse, D.: Seamless integration of heterogeneous devices and access control in smart homes. In: 2012 8th International Conference on IEEE Intelligent Environments (IE), pp. 206–213 (2012)
Ma, S., Yang, H., Shi, M.: Developing a creative travel management system based on software reuse and abstraction techniques. In: 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), vol. 2, pp. 419–424. IEEE (2017)
Martin, R.C.: Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall Press, Upper Saddle River (2017)
Mehmood, Y., Ahmad, F., Yaqoob, I., Adnane, A., Imran, M., Guizani, S.: Internet-of-things-based smart cities: recent advances and challenges. IEEE Commun. Mag. 55(9), 16–24 (2017)
Ostertag, E., Hendler, J., Prieto-Díaz, R., Braun, C.: Computing similarity in a reuse library system: an AI-based approach. ACM Trans. Softw. Eng. Methodol. 1(3), 205–228 (1992)
Padhy, N., Singh, R.P., Satapathy, S.C.: Software reusability metrics estimation: algorithms, models and optimization techniques. Comput. Electr. Eng. 69, 653–668 (2018)
Pacheco, C.L., Garcia, I.A., Calvo-Manzano, J.A., Arcilla, M.: A proposed model for reuse of software requirements in requirements catalog. J. Softw. Evol. Process 27(1), 1–21 (2015)
Panwar, A., Singh, A., Kumawat, R., Jaidka, S., Garg, K. Eyrie smart home automation using Internet of Things. In: 2017 Computing Conference, pp. 1368–1370. IEEE (2017)
Paschali, M.-E., Ampatzoglou, A., Bibi, S., Chatzigeorgiou, A., Stamelos, I.: A case study on the availability of open-source components for game development. In: Kapitsaki, G.M., Santana de Almeida, E. (eds.) ICSR 2016. LNCS, vol. 9679, pp. 149–164. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-35122-3_11
Perera, C., McCormick, C., Bandara, A.K., Price, B.A., Nuseibeh, B.: Privacy-by-design framework for assessing internet of things applications and platforms. In: Proceedings of the 6th International Conference on the Internet of Things, pp. 83–92. ACM (2016)
Prakash, B.A., Ashoka, D.V., Aradhya, V.M.: Application of data mining techniques for software reuse process. Procedia Technol. 4, 384–389 (2012)
Prieto-Diaz, R., Freeman, P.: Classifying software for reusability. IEEE Softw. 4(1), 6 (1987)
Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empirical Softw. Eng. 14(2), 131 (2009)
Serna, M.A., Sreenan, C.J., Fedor, S.: A visual programming framework for wireless sensor networks in smart home applications. In: 2015 IEEE Tenth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), pp. 1–6 (2015)
Sharma, A., Grover, P.S., Kumar, R.: Reusability assessment for software components. ACM SIGSOFT Softw. Eng. Notes 34(2), 1–6 (2009)
Singh, S., Singh, S., Singh, G.: Reusability of the software. Int. J. Comput. Appl. 7(14), 38–41 (2010)
Smiari, P., Bibi, S.: A smart city application modeling framework: a case study on re-engineering a smart retail platform. In: 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 111–118. IEEE (2018)
Smirek, L., Zimmermann, G., Beigl, M.: Just a smart home or your smart home–a framework for personalized user interfaces based on eclipse smart home and universal remote console. Procedia Comput. Sci. 98, 107–116 (2016)
Vale, T., Crnkovic, I., De Almeida, E.S., Neto, P.A.D.M.S., Cavalcanti, Y.C., de Lemos Meira, S.R.: Twenty-eight years of component-based software engineering. J. Syst. Softw. 111, 128–148 (2016)
Varadan, R., Channabasavaiah, K., Simpson, S., Holley, K., Allam, A.: Increasing business flexibility and SOA adoption through effective SOA governance. IBM Syst. J. 47(3), 473–488 (2008)
Wangoo, D.P., Singh, A.: A classification based predictive cost model for measuring reusability level of open source software (2018)
Wen, X., Wang, Y.: Design of smart home environment monitoring system based on raspberry Pi. In: 2018 Chinese Control and Decision Conference (CCDC), pp. 4259–4263. IEEE (2018)
Zanella, A., Bui, N., Castellani, A., Vangelista, L., Zorzi, M.: Internet of things for smart cities. IEEE Internet Things J. 1(1), 22–32 (2014)
Acknowledgement
This research was co-funded by the European Union and Greek national funds through the Operational Program Competitiveness, Entrepreneurship, and Innovation, grant number T1EDK-04873.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Smiari, P., Bibi, S., Feitosa, D. (2019). Examining the Reusability of Smart Home Applications: A Case Study on Eclipse Smart Home. In: Peng, X., Ampatzoglou, A., Bhowmik, T. (eds) Reuse in the Big Data Era. ICSR 2019. Lecture Notes in Computer Science(), vol 11602. Springer, Cham. https://doi.org/10.1007/978-3-030-22888-0_16
Download citation
DOI: https://doi.org/10.1007/978-3-030-22888-0_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-22887-3
Online ISBN: 978-3-030-22888-0
eBook Packages: Computer ScienceComputer Science (R0)