Abstract
The objective of this paper is to present the vision and structure of Fluidware, an approach towards an innovative programming model to ease the development of flexible and robust large-scale IoT services and applications. The key distinctive idea of Fluidware is to abstract collectives of devices of the IoT fabric as sources, digesters, and targets of distributed “flows” of contextualized events, carrying information about data produced and actuating commands. Accordingly, programming of services and applications relies on declarative specification of “funnel processes” to channel, elaborate, and re-direct such flows in a fully-distributed way, as a means to coordinate the activities of devices and realize services and applications. The potential applicability of Fluidware and its expected advantages are exemplified via a case study scenario in the area of ambient assisted living.
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 subscriptionsReferences
Alrahman, Y.A., De Nicola, R., Garbi, G., Loreti, M.: A distributed coordination infrastructure for attribute-based interaction. In: Baier, C., Caires, L. (eds.) FORTE 2018. LNCS, vol. 10854, pp. 1–20. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92612-4_1
Alrahman, Y.A., De Nicola, R., Loreti, M., Tiezzi, F., Vigo, R.: A calculus for attribute-based communication. In: Proceedings of the 30th Annual ACM Symposium on Applied Computing, pp. 1840–1845. ACM (2015)
Andrikopoulos, V., Bucchiarone, A., Gómez Sáez, S., Karastoyanova, D., Mezzina, C.A.: Towards modeling and execution of collective adaptive systems. In: Lomuscio, A.R., Nepal, S., Patrizi, F., Benatallah, B., Brandić, I. (eds.) ICSOC 2013. LNCS, vol. 8377, pp. 69–81. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-06859-6_7
Atzori, L., Iera, A., Morabito, G.: The internet of things: a survey. Comput. Netw. 54(15), 2787–2805 (2010)
Audrito, G., Viroli, M., Damiani, F., Pianini, D., Beal, J.: A higher-order calculus of computational fields. ACM Trans. Comput. Log. 20(1), 5:1–5:55 (2019). http://doi.acm.org/10.1145/3285956
Ayala, I., Amor, M., Fuentes, L.: The sol agent platform: enabling group communication and interoperability of self-configuring agents in the internet of things. JAISE 7(2), 243–269 (2015)
Beal, J., Pianini, D., Viroli, M.: Aggregate programming for the internet of things. IEEE Comput. 48(9), 22–30 (2015)
Belzner, L., Hölzl, M., Koch, N., Wirsing, M.: Collective autonomic systems: towards engineering principles and their foundations. In: Steffen, B. (ed.) Transactions on Foundations for Mastering Change I. LNCS, vol. 9960, pp. 180–200. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46508-1_10
Bicocchi, N., Mamei, M., Zambonelli, F.: Self-organizing virtual macro sensors. TAAS 7(1), 2:1–2:28 (2012)
Bures, T., Plasil, F., Kit, M., Tuma, P., Hoch, N.: Software abstractions for component interaction in the internet of things. IEEE Comput. 49(12), 50–59 (2016)
Carbone, P., Katsifodimos, A., Ewen, S., Markl, V., Haridi, S., Tzoumas, K.: Apache flink: stream and batch processing in a single engine. In: Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, vol. 36, no. 4 (2015)
Casadei, R., Alessandro, A., Viroli, M.: Towards attack-resistant aggregate computing using trust mechanisms. Sci. Comput. Program. 167, 114–137 (2018)
Casadei, R., Fortino, G., Pianini, D., Russo, W., Savaglio, C., Viroli, M.: Modelling and simulation of opportunistic IoT services with aggregate computing. Future Gener. Comput. Syst. 91, 252–262 (2019)
Casadei, R., Viroli, M.: Towards aggregate programming in Scala. In: Proceedings of the 1st Workshop on Programming Models and Languages for Distributed Computing, pp. 5:1–5:7. ACM (2016)
Choe, Y., Lee, M.: Algebraic method to model secure IoT. In: Karagiannis, D., Mayr, H., Mylopoulos, J. (eds.) Domain-Specific Conceptual Modeling, pp. 335–355. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39417-6_15
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. Domain-Specific Conceptual Modeling, pp. 171–194. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-39417-6_8
Corno, F., De Russis, L., Roffarello, A.M.: A semantic web approach to simplifying trigger-action programming in the IoT. Computer 50(11), 18–24 (2017)
Corradini, F., Fornari, F., Polini, A., Re, B., Tiezzi, F., Vandin, A.: BProVe: a formal verification framework for business process models. In: Proceedings of the 32nd International Conference on Automated Software Engineering, pp. 217–228. IEEE Computer Society (2017)
De Nicola, R., et al.: The SCEL language: design, implementation, verification. In: Wirsing, M., Hölzl, M., Koch, N., Mayer, P. (eds.) Software Engineering for Collective Autonomic Systems. LNCS, vol. 8998, pp. 3–71. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-16310-9_1
Fortino, G., et al.: Towards multi-layer interoperability of heterogeneous iot platforms: the INTER-IoT approach. In: Gravina, R., Palau, C.E., Manso, M., Liotta, A., Fortino, G. (eds.) Integration, Interconnection, and Interoperability of IoT Systems. IT, pp. 199–232. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-61300-0_10
Fortino, G., Giannantonio, R., Gravina, R., Kuryloski, P., Jafari, R.: Enabling effective programming and flexible management of efficient body sensor network applications. IEEE Trans. Hum. Mach. Syst. 43(1), 115–133 (2013)
Fortino, G., Gravina, R.: Fall-mobileguard: a smart real-time fall detection system. In: Proceedings of the 10th International Conference on Body Area Networks. ICST (2015)
Fortino, G., Messina, F., Rosaci, D., Sarnè, G.M.L.: Using trust and local reputation for group formation in the cloud of things. Future Gener. Comput. Syst. 89, 804–815 (2018)
Fortino, G., Russo, W., Savaglio, C., Shen, W., Zhou, M.: Agent-oriented cooperative smart objects: from IoT system design to implementation. IEEE Trans. Syst. Man Cybern. Syst. 48(11), 1939–1956 (2018)
Galzarano, S., Giannantonio, R., Liotta, A., Fortino, G.: A task-oriented framework for networked wearable computing. IEEE Trans. Autom. Sci. Eng. 13(2), 621–638 (2016)
Jacobson, I., Spence, I., Ng, P.W.: Is there a single method for the internet of things? Queue 15(3), 20 (2017)
Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications: the TOTA approach. ACM Trans. Softw. Eng. Methodol. 18(4), 15:1–15:56 (2009)
Miorandi, D., Sicari, S., De Pellegrini, F., Chlamtac, I.: Internet of things: vision, applications and research challenges. Ad Hoc Netw. 10(7), 1497–1516 (2012)
Moldovan, D., Copil, G., Dustdar, S.: Elastic systems: towards cyber-physical ecosystems of people, processes, and things. Comput. Stand. Interfaces 57, 76–82 (2018)
Nardelli, M., Nastic, S., Dustdar, S., Villari, M., Ranjan, R.: Osmotic flow: osmotic computing+ IoT workflow. IEEE Cloud Comput. 4(2), 68–75 (2017)
Palade, A., Cabrera, C., White, G., Razzaque, M.A., Clarke, S.: Middleware for internet of things: a quantitative evaluation in small scale, pp. 1–6. IEEE (2017)
Perera, C., Zaslavsky, A., Christen, P., Georgakopoulos, D.: Context aware computing for the internet of things: a survey. IEEE Commun. Surv. Tutor. 16(1), 414–454 (2014)
Pournaras, E.: Overlay service computing - modular and reconfigurable collective adaptive systems. Scalable Comput. Pract. Exp. 16(3), 249–270 (2015). http://www.scpe.org/index.php/scpe/article/view/1100
Rausch, T., Dustdar, S., Ranjan, R.: Osmotic message-oriented middleware for the internet of things. IEEE Cloud Comput. 5(2), 17–25 (2018)
Shekhar, S., Feiner, S.K., Aref, W.G.: Spatial computing. Commun. ACM 59(1), 72–81 (2016)
Sun, X., Ansari, N.: EdgeIoT: mobile edge computing for the internet of things. IEEE Commun. Mag. 54(12), 22–29 (2016)
Villari, M., Fazio, M., Dustdar, S., Rana, O., Ranjan, R.: Osmotic computing: a new paradigm for edge/cloud integration. IEEE Cloud Comput. 3(6), 76–83 (2016)
Viroli, M., Audrito, G., Beal, J., Damiani, F., Pianini, D.: Engineering resilient collective adaptive systems by self-stabilisation. ACM Trans. Model. Comput. Simul. 28(2), 1–28 (2018)
Viroli, M., Casadei, M., Montagna, S., Zambonelli, F.: Spatial coordination of pervasive services through chemical-inspired tuple spaces. ACM Trans. Auton. Adapt. Syst. 6(2), 14:1–14:24 (2011). http://doi.acm.org/10.1145/1968513.1968517
Viroli, M., Casadei, R., Pianini, D.: On execution platforms for large-scale aggregate computing. In: Proceedings of the International Joint Conference on Pervasive and Ubiquitous Computing, pp. 1321–1326. ACM (2016)
Vlacheas, P., et al.: Enabling smart cities through a cognitive management framework for the internet of things. IEEE Commun. Mag. 51(6), 102–111 (2013)
Zaharia, M., et al.: Apache Spark: a unified engine for big data processing. Commun. ACM 59(11), 56–65 (2016)
Zambonelli, F.: Key abstractions for IoT-oriented software engineering. IEEE Softw. 34(1), 38–45 (2017)
Zambonelli, F., et al.: Developing pervasive multi-agent systems with nature-inspired coordination. Pervasive Mob. Comput. 17, 236–252 (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Fortino, G., Re, B., Viroli, M., Zambonelli, F. (2019). Fluidware: An Approach Towards Adaptive and Scalable Programming of the IoT. In: Boreale, M., Corradini, F., Loreti, M., Pugliese, R. (eds) Models, Languages, and Tools for Concurrent and Distributed Programming. Lecture Notes in Computer Science(), vol 11665. Springer, Cham. https://doi.org/10.1007/978-3-030-21485-2_22
Download citation
DOI: https://doi.org/10.1007/978-3-030-21485-2_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-21484-5
Online ISBN: 978-3-030-21485-2
eBook Packages: Computer ScienceComputer Science (R0)