Abstract
With the advancement of computing technology, we are witnessing the dawn of a new era of the Internet of Things (IoT) paradigm in which objects equipped with sensors, actuators and processing capabilities communicate with each other to serve a given goal. The IoT’s intrinsic nature, which uses heterogeneous devices, resources and different communication protocols, complicates IoT applications’ design, development, and validation. Reducing the complexity of building IoT applications is one of the current challenges in this area.
To address this challenge, we focus on a model-driven approach to support IoT systems’ management and the development of IoT applications. In particular, we propose the FloWare approach and its toolchain, which combine Software Product Line and Flow-Based Programming paradigms to manage the complexity in the various stages of the IoT application development process. An automatic transformation procedure generates the final IoT application, an executable Node-RED flow, starting from a configuration of the designed Feature Models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
FloWare Core: http://pros.unicam.it/floware/.
- 2.
Node-RED: https://nodered.org/.
- 3.
FeatureIDE: http://www.featureide.com/.
- 4.
WoT Standard: https://www.w3.org/TR/wot-thing-description.
References
Abbas, A., Siddiqui, I.F., Lee, S.U.J., Bashir, A.K.: Binary pattern for nested cardinality constraints for software product line of IoT-based feature models. IEEE Access 5, 3971–3980 (2017)
Alférez, M., Moreira, A., Amaral, V., Araújo, J.: Model-driven requirements specification for software product lines. In: Model-Driven Domain Analysis and Software Development: Architectures and Functions, pp. 369–386. IGI Global (2011)
Atzori, L., Iera, A., Morabito, G.: The Internet of Things: a survey. Comput. Networks 54(15), 2787–2805 (2010)
Cetina, C., Giner, P., Fons, J., Pelechano, V.: Autonomic computing through reuse of variability models at runtime: the case of smart homes. Computer 42(10), 37–43 (2009)
Cognini, R., Corradini, F., Gnesi, S., Polini, A., Re, B.: Business process flexibility - a systematic literature review with a software systems perspective. Inf. Syst. Front. 20(2), 343–371 (2016). https://doi.org/10.1007/s10796-016-9678-2
Cognini, R., Corradini, F., Polini, A., Re, B.: Extending feature models to express variability in business process models. In: Persson, A., Stirna, J. (eds.) CAiSE 2015. LNBIP, vol. 215, pp. 245–256. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-19243-7_24
Cognini, R., Corradini, F., Polini, A., Re, B.: Business process feature model: an approach to deal with variability of business processes. In: Domain-Specific Conceptual Modeling, pp. 171–194. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39417-6_8
Gámez, N., Fuentes, L.: Architectural evolution of FamiWare using cardinality-based feature models. Inf. Softw. Technol. 55(3), 563–580 (2013)
Gascueña, J.M., Navarro, E., Fernández-Caballero, A.: Model-driven engineering techniques for the development of multi-agent systems. Eng. Appl. Artif. Intell. 25(1), 159–173 (2012)
Geraldi, R.T., Reinehr, S.S., Malucelli, A.: Software product line applied to the Internet of Things: a systematic literature review. Inf. Softw. Technol. 124, 106293 (2020)
Havard, N., McGrath, S., Flanagan, C., MacNamee, C.: Smart building based on Internet of Things technology. In: International Conference on Sensing Technology, pp. 278–281 (2018)
Jain, R., Tata, S.: Cloud to edge: distributed deployment of process-aware IoT applications. In: International Conference on Edge Computing, pp. 182–189. IEEE Computer Society (2017)
Jalaian, B., Gregory, T., Suri, N., Russell, S., Sadler, L., Lee, M.: Evaluating LoRaWAN-based IoT devices for the tactical military environment. In: World Forum on Internet of Things, pp. 124–128. IEEE (2018)
Lee, I., Lee, K.: The Internet of Things (IoT): applications, investments, and challenges for enterprises. Bus. Horiz. 58, 431–440 (2015)
Morrison, J.P.: Flow-Based Programming: A New Approach to Application Development, 2nd edn. CreateSpace, Scotts Valley (2010)
do Nascimento, N.M., Alencar, P.S.C., Lucena, C., Cowan, D.D.: An IoT analytics embodied agent model based on context-aware machine learning. In: IEEE International Conference on Big Data, pp. 5170–5175. IEEE (2018)
Ortiz, Ó., García, A.B., Capilla, R., Bosch, J., Hinchey, M.: Runtime variability for dynamic reconfiguration in wireless sensor network product lines. Int. Softw. Prod. Line Conf. 2, 143–150 (2012)
Patel, P., Cassou, D.: Enabling high-level application development for the Internet of Things. J. Syst. Softw. 103, 62–84 (2015)
Pereira, J.A., Maciel, L., Noronha, T.F., Figueiredo, E.: Heuristic and exact algorithms for product configuration in software product lines. In: International Systems and Software Product Line Conference, p. 247. ACM (2018)
Pohl, K., Bockle, G.V.D.L.F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005). https://doi.org/10.1007/3-540-28901-1
Poongothai, M., Subramanian, P.M., Rajeswari, A.: Design and implementation of IoT based smart laboratory. In: International Conference on Industrial Engineering and Applications, pp. 169–173. IEEE (2018)
Prehofer, C., Chiarabini, L.: From Internet of Things mashups to model-based development. In: 39th Annual Computer Software and Applications Conference, pp. 499–504. IEEE Computer Society (2015)
Ray, P.P.: A survey on visual programming languages in Internet of Things. Sci. Program. 2017, 1231430:1–1231430:6 (2017)
Sicari, S., Rizzardi, A., Coen-Porisini, A.: How to evaluate an internet of things system: models, case studies, and real developments. Softw. Pract. Exp. 49(11), 1663–1685 (2019)
Sicari, S., Rizzardi, A., Coen-Porisini, A.: Smart transport and logistics: a node-red implementation. Internet Technol. Lett. 2(2), 34 (2019)
Sosa-Reyna, C.M., Tello-Leal, E., Alabazares, D.L.: Methodology for the model-driven development of service oriented IoT applications. J. Syst. Archit. 90, 15–22 (2018)
Szydlo, T., Brzoza-Woch, R., Sendorek, J., Windak, M., Gniady, C.: Flow-based programming for IoT leveraging fog computing. In: International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, pp. 74–79. IEEE Computer Society (2017)
Venckauskas, A., Stuikys, V., Jusas, N., Burbaite, R.: Model-driven approach for body area network application development. Sensors 16(5), 670 (2016)
Venckauskas, A., Stuikys, V., Toldinas, J., Jusas, N.: A model-driven framework to develop personalized health monitoring. Symmetry 8, 65 (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Corradini, F., Fedeli, A., Fornari, F., Polini, A., Re, B. (2021). FloWare: An Approach for IoT Support and Application Development. In: Augusto, A., Gill, A., Nurcan, S., Reinhartz-Berger, I., Schmidt, R., Zdravkovic, J. (eds) Enterprise, Business-Process and Information Systems Modeling. BPMDS EMMSAD 2021 2021. Lecture Notes in Business Information Processing, vol 421. Springer, Cham. https://doi.org/10.1007/978-3-030-79186-5_23
Download citation
DOI: https://doi.org/10.1007/978-3-030-79186-5_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-79185-8
Online ISBN: 978-3-030-79186-5
eBook Packages: Computer ScienceComputer Science (R0)