Skip to main content

Fluidware: An Approach Towards Adaptive and Scalable Programming of the IoT

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11665))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  1. 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

    Chapter  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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

    Chapter  Google Scholar 

  4. Atzori, L., Iera, A., Morabito, G.: The internet of things: a survey. Comput. Netw. 54(15), 2787–2805 (2010)

    Article  Google Scholar 

  5. 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

    Article  MathSciNet  Google Scholar 

  6. 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)

    Google Scholar 

  7. Beal, J., Pianini, D., Viroli, M.: Aggregate programming for the internet of things. IEEE Comput. 48(9), 22–30 (2015)

    Article  Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. Bicocchi, N., Mamei, M., Zambonelli, F.: Self-organizing virtual macro sensors. TAAS 7(1), 2:1–2:28 (2012)

    Article  Google Scholar 

  10. 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)

    Article  Google Scholar 

  11. 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)

    Google Scholar 

  12. Casadei, R., Alessandro, A., Viroli, M.: Towards attack-resistant aggregate computing using trust mechanisms. Sci. Comput. Program. 167, 114–137 (2018)

    Article  Google Scholar 

  13. 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)

    Article  Google Scholar 

  14. 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)

    Google Scholar 

  15. 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

    Chapter  Google Scholar 

  16. 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

    Chapter  Google Scholar 

  17. 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

    Chapter  Google Scholar 

  18. 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)

    Article  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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

    Chapter  Google Scholar 

  21. 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

    Chapter  Google Scholar 

  22. 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)

    Article  Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Article  Google Scholar 

  25. 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)

    Article  Google Scholar 

  26. 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)

    Article  Google Scholar 

  27. Jacobson, I., Spence, I., Ng, P.W.: Is there a single method for the internet of things? Queue 15(3), 20 (2017)

    Article  Google Scholar 

  28. 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)

    Article  Google Scholar 

  29. 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)

    Article  Google Scholar 

  30. Moldovan, D., Copil, G., Dustdar, S.: Elastic systems: towards cyber-physical ecosystems of people, processes, and things. Comput. Stand. Interfaces 57, 76–82 (2018)

    Article  Google Scholar 

  31. Nardelli, M., Nastic, S., Dustdar, S., Villari, M., Ranjan, R.: Osmotic flow: osmotic computing+ IoT workflow. IEEE Cloud Comput. 4(2), 68–75 (2017)

    Article  Google Scholar 

  32. 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)

    Google Scholar 

  33. 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)

    Article  Google Scholar 

  34. 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

  35. Rausch, T., Dustdar, S., Ranjan, R.: Osmotic message-oriented middleware for the internet of things. IEEE Cloud Comput. 5(2), 17–25 (2018)

    Article  Google Scholar 

  36. Shekhar, S., Feiner, S.K., Aref, W.G.: Spatial computing. Commun. ACM 59(1), 72–81 (2016)

    Article  Google Scholar 

  37. Sun, X., Ansari, N.: EdgeIoT: mobile edge computing for the internet of things. IEEE Commun. Mag. 54(12), 22–29 (2016)

    Article  Google Scholar 

  38. 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)

    Article  Google Scholar 

  39. 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)

    Article  MathSciNet  Google Scholar 

  40. 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

    Article  Google Scholar 

  41. 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)

    Google Scholar 

  42. 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)

    Article  Google Scholar 

  43. Zaharia, M., et al.: Apache Spark: a unified engine for big data processing. Commun. ACM 59(11), 56–65 (2016)

    Article  Google Scholar 

  44. Zambonelli, F.: Key abstractions for IoT-oriented software engineering. IEEE Softw. 34(1), 38–45 (2017)

    Article  Google Scholar 

  45. Zambonelli, F., et al.: Developing pervasive multi-agent systems with nature-inspired coordination. Pervasive Mob. Comput. 17, 236–252 (2015)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mirko Viroli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics