The state of the art of macroprogramming in IoT: An update

Authors

DOI:

https://doi.org/10.5753/jisa.2022.2372

Keywords:

Internet of Things, Wireless Sensor Network, Systematic Mapping, Adaptation, Programming abstraction

Abstract

Macroprogramming's primary goal is to increase developers' productivity by providing high-level specifications of applications' behaviour at the system level. Macroprogramming may be a viable solution for developing complex IoT applications, such as those manipulating high data volume and heterogeneity. This paper updates a recent work identifying and analysing primary research on macroprogramming in IoT through a systematic literature mapping (SLM). We extended the search strategy scope by conducting an automatic search over five new databases and also performed the snowballing technique. As a result, besides the 38 studies group found in previous SLM, nine new papers were classified as relevant and rigorously analysed, totalising forty-seven studies. In comparison to previous work, results still point out the recurrence of abstractions in the network infrastructure, highlighting the use of frameworks in one-third of the applications and contributing with an overview of macroprogramming by researchers in different knowledge areas.

Downloads

Download data is not yet available.

References

Ahmad-Kassem, A., Bobineau, C., Collet, C., Dublé, E., Grumbach, S., Ma, F., Martínez, L., and Ubéda, S. (2012). Ubiquest, for rapid prototyping of networking applications. In Proceedings of the 16th International Database Engineering & Applications Sysmposium, pages 187–192. DOI: 10.1145/2351476.2351498. URL https://doi.org/10.1145/2351476.2351498

Alajlan, A. M. and Elleithy, K. M. (2014). High-level abstractions in wireless sensor networks: Status, taxonomy, challenges, and future directions. In Proceedings of the 2014 Zone 1 Conference of the American Society for Engineering Education. IEEE. DOI: 10.1109/aseezone1.2014.6820645. URL https://doi.org/10.1109/aseezone1.2014.6820645

Awan, A., Sameh, A., and Grama, A. (2006). The omni macroprogramming environment for sensor networks. In Proceedings of the 6th International Conference on Computational Science - Volume Part III, ICCS’06, page 465–472, Berlin, Heidelberg. Springer-Verlag. DOI: 10.1007/11758532_62. URL https://doi.org/10.1007/11758532_62

Basanta-Val, P. and García-Valls, M. (2015). A library for developing real-time and embedded applications in c. Journal of Systems Architecture, 61(5):239–255. DOI: 10.1016/j.sysarc.2015.03.003. URL: https://doi.org/10.1016/j.sysarc.2015.03.003.

Bauderon, M., Grumbach, S., Gu, D., Qi, X., Qu, W., Suo, K., and Zhang, Y. (2010). Programming imote networks made easy. In 2010 Fourth International Conference on Sensor Technologies and Applications, pages 539–544. DOI: 10.1109/SENSORCOMM.2010.87. [link]

Bischoff, U. and Kortuem, G. (2007). A state-based programming model and system for wireless sensor networks. In Fifth Annual IEEE International Conference on Pervasive Computing and Communications Workshops (PerComW’07), pages 261–266. DOI: 10.1109/PERCOMW.2007.14. [link]

Bischoff, U., Sundramoorthy, V., and Kortuem, G. (2007). Programming the smart home. In 2007 3rd IET International Conference on Intelligent Environments. DOI: 10.1049/cp_20070424. [link]

Bouali Baghli, R., Najm, E., and Traverson, B. (2018). Defining services and service orchestrators acting on shared sensors and actuators. In Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development - MODELSWARD, MODELSWARD 2018, page 237– 246, Setubal, PRT. SCITEPRESS - Science and Technology Publications, Lda. DOI: 10.5220/0006609402370246. URL https://doi.org/10.5220/0006609402370246

Cañete, E., Chen, J., Díaz, M., Llopis, L., and Rubio, B. (2008). Useme: A service-oriented framework for wireless sensor and actor networks. In 2008 Eighth International Workshop on Applications and Services in Wireless Networks (aswn 2008), pages 47–53. DOI: 10.1109/ASWN.2008.5. [link]

Cañete, E., Chen, J., Díaz, M., Llopis, L., and Rubio, B. (2009). A service-oriented middleware for wireless sensor and actor networks. In 2009 Sixth International Conference on Information Technology: New Generations, pages 575–580. DOI: 10.1109/ITNG.2009.39. [link]

Cañete, E., Chen, J., Díaz, M., Llopis, L., and Rubio, B. (2011). A service-oriented approach to facilitate wsan application development. Ad Hoc Networks, 9(3):430–452. DOI: 10.1016/j.adhoc.2010.08.022. URL https://doi.org/10.1016/j.adhoc.2010.08.022.

Chen, J., Cañete, E., Garrido, D., Díaz, M., and Piotrowski, K. (2019). Pico: A platform independent communications middleware for heterogeneous devices in smart grids. Computer Standards & Interfaces, 65:1–14. DOI: 10.1016/j.csi.2019.01.005. URL https://doi.org/10.1016/j.csi.2019.01.005.

Chen, J., Diaz, M., Rubio, B., and Troya, J. M. (2013). Psquasar: A publish/subscribe qos aware middleware for wireless sensor and actor networks. Journal of Systems and Software, 86(6):1650–1662. DOI: 10.1016/j.jss.2013.02.028. URL https://doi.org/10.1016/j.jss.2013.02.028

Choi, J.-S., McCarthy, T., Kim, M., and Stehr, M.-O. (2014). Adaptive wireless networks as an example of declarative fractionated systems. In Stojmenovic, I., Cheng, Z., and Guo, S., editors, Mobile and Ubiquitous Systems: Computing, Networking, and Services, pages 549–563, Cham. Springer International Publishing. DOI: 10.1007/978-3-319-11569-6_43. [link]

Ciciriello, P., Mottola, L., and Picco, G. (2007). Efficient routing from multiple sources to multiple sinks in wireless sensor networks. In European Conference on Wireless Sensor Networks, volume 4373, pages 34–50. DOI: 10.1007/978-3-540-69830-2_3. [link]

Dulay, N., Micheletti, M., Mostarda, L., and Piermarteri, A. (2018). Pico-mp: De-centralised macro-programming for wireless sensor and actuator networks. In 2018 IEEE 32nd International Conference on Advanced Information Networking and Applications (AINA), pages 289–296. DOI: 10.1109/AINA.2018.00052. [link]

D’Urso, F., Longo, C. F., and Santoro, C. (2019). Programming intelligent iot systems with a python-based declarative tool. In AI&IoT@ AI* IA, pages 68–81. [link]

ElKady, M., Elkorany, A., and Allam, A. (2020a). Acaiot: A framework for adaptable context-aware iot applications. International Journal of Intelligent Engineering and Systems, 13:271–283. DOI: 10.22266/ijies2020.0831.24. [link]

ElKady, M., Elkorany, A., and Allam, A. (2020b). Acaiot: A framework for adaptable context-aware iot applications. International Journal of Intelligent Engineering and Systems, 13:271–283.

Elsts, A., Hassani Bijarbooneh, F., Jacobsson, M., and Sagonas, K. (2015). Profun tg: A tool for programming and managing performance-aware sensor network applications. In 2015 IEEE 40th Local Computer Networks Conference Workshops (LCN Workshops), pages 751–759. DOI: 10.1109/LCNW.2015.7365924. [link]

Greer, C., Burns, M., Wollman, D., and Griffor, E. (2019). Cyber-physical systems and internet of things. Technical report, National Institute of Standards and Technology. DOI: 10.6028/NIST.SP.1900-202. URL https://doi.org/10.6028/NIST.SP.1900-202

Gummadi, R., Gnawali, O., and Govindan, R. (2005). Macroprogramming wireless sensor networks using kairos. In Distributed Computing in Sensor Systems, pages 126–140. Springer Berlin Heidelberg. DOI: 10.1007/1150259312. URL https://doi.org/10.1007/11502593_12

Gupta, H. (2018). Deductive approach to processing high-level video activity queries in uav networks. In 2018 IEEE International Conference on Sensing, Communication and Networking (SECON Workshops), pages 1–5. DOI: 10.1109/SECONW.2018.8396347. [link]

Gupta, V., Kim, J., Pandya, A., Lakshmanan, K., Rajkumar, R., and Tovar, E. (2011). Nano-CF: A coordination framework for macro-programming in wireless sensor networks. In 2011 8th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks, pages 467–475. DOI: 10.1109/SAHCN.2011.5984931. [link]

Hammoudeh, M., Epiphaniou, G., Belguith, S., Unal, D., Adebisi, B., Baker, T., Kayes, A. S. M., and Watters, P. (2021a). A service-oriented approach for sensing in the internet of things: Intelligent transportation systems and privacy use cases. IEEE Sensors Journal, 21(14):15753–15761. DOI: 10.1109/jsen.2020.2981558. [link]

Hammoudeh, M., Epiphaniou, G., Belguith, S., Unal, D., Adebisi, B., Baker, T., Kayes, A. S. M., and Watters, P. (2021b). A service-oriented approach for sensing in the internet of things: Intelligent transportation systems and privacy use cases. IEEE Sensors Journal, 21(14):15753–15761. DOI: 10.1109/JSEN.2020.2981558. [link]

Hassani Bijarbooneh, F., Pathak, A., Pearson, J., Issarny, V., and Jonsson, B. (2014). A constraint programming approach for managing end-to-end requirements in sensor network macroprogramming. SENSORNETS 2014 - Proceedings of the 3rd International Conference on Sensor Networks. [link]

He, T., Luo, L., Yan, T., Gu, L., Cao, Q., Zhou, G., Stoleru, R., Vicaire, P., Cao, Q., Stankovic, J., Son, S., and Abdelzaher, T. (2005). An overview of the vigilnet architecture. In 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA’05), pages 109–114. DOI: 10.1109/RTCSA.2005.27. [link]

Hnat, T. W., Sookoor, T. I., Hooimeijer, P., Weimer, W., and Whitehouse, K. (2010). A modular and extensible macroprogramming compiler. In Proceedings of the 2010 ICSE Workshop on Software Engineering for Sensor Network Applications, SESENA ’10, page 49–54, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/1809111.1809126. URL https://doi.org/10.1145/1809111.1809126

Hossain, M. S., Islam, A. B. M. A. A., Kulkarni, M., and Raghunathan, V. (2011). μsetl: A set based programming abstraction for wireless sensor networks. In Proceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks, pages 354–365. [link]

Hsieh, M. A., Cowley, A., Keller, J. F., Chaimowicz, L., Grocholsky, B., Kumar, V., Taylor, C. J., Endo, Y., Arkin, R. C., Jung, B., Wolf, D. F., Sukhatme, G. S., and MacKenzie, D. C. (2007). Adaptive teams of autonomous aerial and ground robots for situational awareness: Field reports. J. Field Robot., 24(11–12):991–1014. DOI: 10.1002/rob.20222. URL https://doi.org/10.1002/rob.20222

Intanagonwiwat, C. (2012). Hybrid macroprogramming wireless networks of embedded systems with declarative naming. Int. J. Distributed Sens. Networks, 8.DOI: 10.1155/2012/490826. URL: https://doi.org/10.1155/2012/490826

Kephart, J. and Chess, D. (2003). The vision of autonomic computing. Computer, 36(1):41–50. DOI: 10.1109/mc.2003.1160055. URL https://doi.org/10.1109/mc.2003.1160055

Kerasiotis, F., Koulamas, C., and Papadopoulos, G. (2012). Developing wireless sensor network applications based on a function block programming abstraction. In 2012 IEEE International Conference on Industrial Technology, pages 372– 377. DOI: 10.1109/ICIT.2012.6209966. [link]

Krupitzer, C., Roth, F. M., VanSyckel, S., Schiele, G., and Becker, C. (2015). A survey on engineering approaches for self-adaptive systems. Pervasive and Mobile Computing, 17:184–206. DOI: 10.1016/j.pmcj.2014.09.009. URL https://doi.org/10.1016/j.pmcj.2014.09.009

Loke, S. W. and Nadarajah, S. (2009). Mbmf: A framework for macroprogramming data-centric sensor network applications using the bird-meertens formalism. In 2009 Joint Conferences on Pervasive Computing (JCPC), pages 359–364. DOI: 10.1109/JCPC.2009.5420159. [link]

Madden, S. R., Franklin, M. J., Hellerstein, J. M., and Hong, W. (2005). TinyDB: an acquisitional query processing system for sensor networks. ACM Transactions on Database Systems, 30(1):122–173. DOI: 10.1145/1061318.1061322. URL https://doi.org/10.1145/1061318.1061322

Maeng, K. and Lucia, B. (2018). Adaptive dynamic checkpointing for safe efficient intermittent computing. In OSDI’18: Proceedings of the 13th USENIX conference on Operating Systems Design and Implementation, OSDI’18, page 129– 144, USA. USENIX Association. [link]

Mamei, M. (2011). Macro programming a spatial computer with bayesian networks. ACM Trans. Auton. Adapt. Syst., 6(2). DOI: 10.1145/1968513.1968519. URL: https://doi.org/10.1145/1968513.1968519

Marques, I. L., Ronan, J., and Rosa, N. S. (2009). Tinyreef: a register-based virtual machine for wireless sensor networks. In SENSORS, 2009 IEEE, pages 1423–1426. DOI: 10.1109/ICSENS.2009.5398437. [link]

Min, H., Jung, J., Kim, S., Kim, B., and Heo, J. (2018). Role-based automatic programming framework for interworking a drone and wireless sensor networks. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing, pages 1853–1856. DOI: 10.1145/3167132.3167432. URL: https://doi.org/10.1145/3167132.3167432

Mizzi, A., Ellul, J., and Pace, G. (2018). D’artagnan: An embedded dsl framework for distributed embedded systems. In Proceedings of the Real World Domain Specific Languages Workshop 2018, RWDSL2018, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/3183895.3183899. URL https://doi.org/10.1145/3183895.3183899

Mizzi, A., Ellul, J., and Pace, G. J. (2019). Porthos: Macroprogramming blockchain systems. In 2019 10th IFIP International Conference on New Technologies, Mobility and Security (NTMS). IEEE. DOI: 10.1109/ntms.2019.8763784. URL https://doi.org/10.1109/ntms.2019.8763784

Mottola, L. (2008). Programming wireless sensor networks: from physical to logical neighborhoods. Politecnico di Milano (Italy). [link]

Mottola, L., Pathak, A., Bakshi, A., Prasanna, V. K., and Picco, G. P. (2007). Enabling scope-based interactions in sensor network macroprogramming. In 2007 IEEE International Conference on Mobile Adhoc and Sensor Systems, pages 1– 9. DOI: 10.1109/MOBHOC.2007.4428655. [link]

Mottola, L. and Picco, G. P. (2006). Logical neighborhoods: A programming abstraction for wireless sensor networks. In Gibbons, P. B., Abdelzaher, T., Aspnes, J., and Rao, R., editors, Distributed Computing in Sensor Systems, pages 150– 168, Berlin, Heidelberg. Springer Berlin Heidelberg. DOI: 10.1007/11776178_10. [link]

Mottola, L. and Picco, G. P. (2011). Programming wireless sensor networks. ACM Computing Surveys, 43(3):1–51. DOI: 10.1145/1922649.1922656. URL: https://doi.org/10.1145/1922649.1922656

Mottola, L., Picco, G. P., Oppermann, F. J., Eriksson, J., Finne, N., Fuchs, H., Gaglione, A., Karnouskos, S., Montero, P. M., Oertel, N., Römer, K., Spiess, P., Tranquillini, S., and Voigt, T. (2019). makeSense: Simplifying the integration of wireless sensor networks into business processes. IEEE Transactions on Software Engineering, 45:576–596. DOI: 10.1109/TSE.2017.2787585. [link]

Newton, R., Morrisett, G., and Welsh, M. (2007). The regiment macroprogramming system. In 2007 6th International Symposium on Information Processing in Sensor Networks. IEEE. DOI: 10.1109/ipsn.2007.4379709. URL https://doi.org/10.1109/ipsn.2007.4379709

Newton, R. and Welsh, M. (2004a). Region streams. In Proceeedings of the 1st international workshop on Data management for sensor networks in conjunction with VLDB 2004 - DMSN '04. ACM Press. DOI: 10.1145/1052199.1052213. URL https://doi.org/10.1145/1052199.1052213

Newton, R. and Welsh, M. (2004b). Region streams: Functional macroprogramming for sensor networks. In Proceeedings of the 1st international workshop on Data management for sensor networks: in conjunction with VLDB 2004, pages 78– 87. DOI: 10.1145/1052199.1052213. URL https://doi.org/10.1145/1052199.1052213

Noor, J., Sandha, S. S., Garcia, L., and Srivastava, M. (2019). DDF scpLOW/scp visualized declarative programming for heterogeneous IoT networks on heliot testbed platform. In Proceedings of the International Conference on Internet of Things Design and Implementation. ACM. DOI: 10.1145/3302505.3312598. URL https://doi.org/10.1145/3302505.3312598

Ocean, M. J., Bestavros, A., and Kfoury, A. J. (2006). Snbench: Programming and virtualization framework for distributed multitasking sensor networks. In VEE ’06: Proceedings of the 2nd international conference on Virtual execution environments, VEE ’06, page 89–99, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/1134760.1134774. URL https://doi.org/10.1145/1134760.1134774

Oppermann, F. J., Römer, K., Mottola, L., Picco, G. P., and Gaglione, A. (2014). Design and compilation of an object-oriented macroprogramming language for wireless sensor networks. In 39th Annual IEEE Conference on Local Computer Networks Workshops, pages 574–582. DOI: 10.1109/LCNW.2014.6927705. [link]

Pathak, A. and Prasanna, V. K. (2010). Energy-efficient task mapping for data-driven sensor network macroprogramming. IEEE Transactions on Computers, 59(7):955–968. DOI: 10.1109/TC.2009.168. [link]

Petersen, K., Vakkalanka, S., and Kuzniarz, L. (2015). Guidelines for conducting systematic mapping studies in software engineering: An update. Information and Software Technology, 64:1–18. DOI: 10.1016/j.infsof.2015.03.007. URL https://doi.org/10.1016/j.infsof.2015.03.007

Qiao, Y., Nolani, R., Gill, S., Fang, G., and Lee, B. (2018). ThingNet: A micro-service based IoT macro-programming platform over edges and cloud. In 2018 21st Conference on Innovation in Clouds, Internet and Networks and Workshops (ICIN). IEEE. DOI: 10.1109/icin.2018.8401626. URL https://doi.org/10.1109/icin.2018.8401626

Qiu, J., Li, D., Shi, H., Hou, C., and Cui, L. (2014). EasiSMP: A resource-oriented programming framework supporting runtime propagation of restful resources. Journal of Computer Science and Technology, 29:194–204. DOI: 10.1007/s11390-014-1422-0. [link]

Salehie, M. and Tahvildari, L. (2009). Self-adaptive software. ACM Transactions on Autonomous and Adaptive Systems, 4(2):1–42. DOI: 10.1145/1516533.1516538. URL https://doi.org/10.1145/1516533.1516538

Santana, T. S., Sene Júnior, I. G., and Bulcão-Neto, R. F. (2021). Macroprogramming in the internet of things: A systematic mapping study. In Anais do XIII Simposio Brasileiro de Computacao Ubiqua e Pervasiva (SBCUP 2021). Sociedade Brasileira de Computação. DOI: 10.5753/sbcup.2021.15999. URL https://doi.org/10.5753/sbcup.2021.15999

Sengupta, A., Leesatapornwongsa, T., Ardekani, M. S., and Stuardo, C. A. (2019). Transactuations: Where transactions meet the physical world. In 2019 USENIX Annual Technical Conference (USENIX ATC 19), pages 91–106, Renton, WA. USENIX Association. DOI: 10.1145/3380907. URL: https://doi.org/10.1145/3380907

Su, J.-M. and Huang, C.-F. (2014). An easy-to-use 3d visualization system for planning context-aware applications in smart buildings. Comput. Stand. Interfaces, 36(2):312–326. DOI: 10.1016/j.csi.2012.07.004. URL https://doi.org/10.1016/j.csi.2012.07.004

Sugihara, R. and Gupta, R. K. (2008). Programming models for sensor networks. ACM Transactions on Sensor Networks, 4(2):1–29. DOI: 10.1145/1340771.1340774. URL: https://doi.org/10.1145/1340771.1340774

Taherkordi, A., Rouvoy, R., and Eliassen, F. (2010). A component-based approach for service distribution in sensor networks. In MidSens ’10: Proceedings of the 5th International Workshop on Middleware Tools, Services and RunTime Support for Sensor Networks, MidSens ’10, page 22–28, New York, NY, USA. Association for Computing Machinery. DOI: 10.1145/1890784.1890789. URL https://doi.org/10.1145/1890784.1890789

Terfloth, K. and Schiller, J. H. (2008). Efficient configuration and control of sanets using facts. In HeterSanet ’08. DOI: 10.1145/1374699.1374702. URL https://doi.org/10.1145/1374699.1374702

Tu, Y.-H., Li, Y.-C., Chien, T.-C., and Chou, P. H. (2011). EcoCast: Interactive, object-oriented macroprogramming for networks of ultra-compact wireless sensor nodes. In Proceedings of the 10th ACM/IEEE International Conference on Information Processing in Sensor Networks, pages 366–377. [link]

Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. (2012). Experimentation in Software Engineering. Springer Berlin Heidelberg. DOI: 10.1007/978- 3-642-29044-2. URL https://doi.org/10.1007/978-3-642-29044-2

Downloads

Published

2022-11-18

How to Cite

Júnior, I. G. S., Santana, T. S. de, Bulcão-Neto, R. de F., & Porter, B. F. (2022). The state of the art of macroprogramming in IoT: An update. Journal of Internet Services and Applications, 13(1), 54–65. https://doi.org/10.5753/jisa.2022.2372

Issue

Section

Research article