Abstract
The Cloud continuum is a notion for the distributed infrastructure able to run third party software on heterogeneous hardware ranging from the high performance core Cloud data centres, through smaller fog data centres, down to resource constrained Edge servers. Beyond that, one will often have Internet of Things (IoT) devices on a wired or wireless infrastructure for data collection and actuation. The application components should be allocated along this continuum in order to optimize the application performance which is a combined measure of communication speed and computational power. However, most applications are not written with distribution in mind, and may not even be component based. This paper discusses various programming paradigms and how they can be extended to support distribution and embedding into the microservice architecture supporting tomorrow’s Cloud applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
References
Rossini, A., Kritikos, K., Nikolov, N., et al.: The cloud application modelling and execution language (CAMEL). Open Access Repositorium der Universität Ulm (2017). https://doi.org/10.18725/OPARU-4339
Ashley-Rollman, M.P., Goldstein, S.C., Lee, P., Mowry, T.C., Pillai, P.: Meld: a declarative approach to programming ensembles. In: 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2794–2800 (2007). https://doi.org/10.1109/IROS.2007.4399480
Bellifemine, F., Poggi, A., Rimassa, G.: JADE-a FIPA-compliant agent framework. In: Proceedings of PAAM, p. 33 (1999)
Boissier, O., Hübner, J.F., Ricci, A.: The JaCaMo framework. In: Aldewereld, H., Boissier, O., Dignum, V., Noriega, P., Padget, J. (eds.) Social Coordination Frameworks for Social Technical Systems. LGTS, vol. 30, pp. 125–151. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-33570-4_7
Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: Proceedings of the 3rd International Joint Conference on Artificial Intelligence, IJCAI 1973, San Francisco, CA, USA, pp. 235–245. Morgan Kaufmann Publishers Inc. (1973)
Graff, D., Richling, J., Stupp, T.M., Werner, M.: Distributed active objects - a systemic approach to distributed mobile applications. In: Proceedings of the Eighth IEEE International Conference and Workshops on Engineering of Autonomic and Autonomous Systems, Las Vegas, NV, USA, pp. 10–19. IEEE (2011). https://doi.org/10.1109/EASe.2011.10
Dantu, K., Kate, B., Waterman, J., Bailis, P., Welsh, M.: Programming micro-aerial vehicle swarms with karma. In: Proceedings of the 9th ACM Conference on Embedded Networked Sensor Systems, pp. 121–134 (2011). https://doi.org/10.1145/2070942.2070956
Di Martino, B., D’Angelo, S., Esposito, A.: A platform for MBDAaaS based on patterns and skeletons: the python based algorithms compiler. In: 2017 IEEE 14th International Conference on Networking, Sensing and Control (ICNSC), pp. 400–405 (2017). https://doi.org/10.1109/ICNSC.2017.8000126
Di Martino, B., Esposito, A., D’Angelo, S., Maisto, S.A., Nacchia, S.: A compiler for agnostic programming and deployment of big data analytics on multiple platforms. IEEE Trans. Parallel Distrib. Syst. 30(9), 1920–1931 (2019). https://doi.org/10.1109/TPDS.2019.2901488
Gamma, E., Helm, R., Johnson, R., Vlissides, J., Booch, G.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading (1994)
De Boer, F., Serbanescu, V., Hähnle, R., et al.: A survey of active object languages. ACM Comput. Surv. 50(5), 76:1–76:39 (2017). https://doi.org/10.1145/3122848
Horn, G., Skrzypek, P.: MELODIC: utility based cross cloud deployment optimisation. In: Proceedings of the 32nd International Conference on Advanced Information Networking and Applications Workshops (WAINA), Krakow, Poland, pp. 360–367. IEEE Computer Society (2018). https://doi.org/10.1109/WAINA.2018.00112
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). https://doi.org/10.1109/TSMC.2017.2780618
Holmevik, J.R.: Compiling SIMULA: a historical study of technological genesis. IEEE Ann. Hist. Comput. 16(4), 25–37 (1994). https://doi.org/10.1109/85.329756
De Koster, J., Van Cutsem, T., De Meuter, W.: 43 years of actors: a taxonomy of actor models and their key properties. In: Proceedings of the 6th International Workshop on Programming Based on Actors, Agents, and Decentralized Control (AGERE 2016), Amsterdam, The Netherlands, pp. 31–40. ACM (2016). https://doi.org/10.1145/3001886.3001890
Dagum, L., Menon, R.: OpenMP: an industry standard API for shared-memory programming. IEEE Comput. Sci. Eng. 5(1), 46–55 (1998). https://doi.org/10.1109/99.660313
Mottola, L., Moretta, M., Whitehouse, K., Ghezzi, C.: Team-level programming of drone sensor networks. In: Proceedings of the 12th ACM Conference on Embedded Network Sensor Systems, pp. 177–190 (2014). https://doi.org/10.1145/2668332.2668353
Palanca, J., Terrasa, A., Julian, V., Carrascosa, C.: SPADE 3: supporting the new generation of multi-agent systems. IEEE Access 8, 182537–182549 (2020). https://doi.org/10.1109/ACCESS.2020.3027357
Pinciroli, C., Beltrame, G.: Buzz: a programming language for robot swarms. IEEE Softw. 33(4), 97–100 (2016). https://doi.org/10.1109/MS.2016.95
Platon, E., Mamei, M., Sabouret, N., Honiden, S., Parunak, H.: Mechanisms for environments in multi-agent systems: survey and opportunities. Auton. Agents Multi-Agent Syst. 14(1), 31–47 (2007). https://doi.org/10.1007/s10458-006-9000-7
Pokahr, A., Braubach, L., Jander, K.: The Jadex project: programming model. In: Ganzha, M., Jain, L. (eds.) Multiagent Systems and Applications. ISRL, vol. 51, pp. 21–53. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-33323-1_2
Lavender, R.G., Schmidt, D.C.: Active object: an object behavioral pattern for concurrent programming. In: Vlissides, J.M., Coplien, J.O., Kerth, N.L. (eds.) Pattern Languages of Program Design 2, USA, pp. 483–499. Addison-Wesley Longman Publishing Co., Inc. (1996)
Rodriguez, S., Gaud, N., Galland, S.: SARL: a general-purpose agent-oriented programming language. In: 2014 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT), pp. 103–110 (2014). https://doi.org/10.1109/WI-IAT.2014.156
Smirnova, D., Chopra, A.K., Singh, M.P., et al.: Protocols over things: a decentralized programming model for the Internet of Things. Computer 53(12), 60–68 (2020). https://doi.org/10.1109/MC.2020.3023887
Song, Z., Tilevich, E.: A programming model for reliable and efficient edge-based execution under resource variability. In: 2019 IEEE International Conference on Edge Computing (EDGE), pp. 64–71 (2019). https://doi.org/10.1109/EDGE.2019.00026
Binz, T., Breitenbücher, U., Kopp, O., Leymann, F.: TOSCA: portable automated deployment and management of cloud applications. In: Bouguettaya, A., Sheng, Q., Daniel, F. (eds.) Advanced Web Services, pp. 527–549. Springer, New York (2014). https://doi.org/10.1007/978-1-4614-7535-4_22
Weyns, D., Omicini, A., Odell, J.: Environment as a first class abstraction in multiagent systems. Auton. Agents Multi-Agent Syst. 14(1), 5–30 (2007). https://doi.org/10.1007/s10458-006-0012-0
Acknowledgements
This work has received funding from the European Union’s research and innovation programmes Horizon 2020 under grant agreement No 871643 MORPHEMIC (http://morphemic.cloud): Modelling and Orchestrating heterogeneous Resources and Polymorphic applications for Holistic Execution and adaptation of Models In the Cloud and Horizon Europe grant agreement No 101070516 NebulOuS (https://www.nebulouscloud.eu/): A Meta Operating System For Brokering Hyper-Distributed Applications On Cloud Computing Continuums.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Horn, G., Di Martino, B., D’Angelo, S., Esposito, A. (2023). Programming Paradigms for the Cloud Continuum. In: Barolli, L. (eds) Advanced Information Networking and Applications. AINA 2023. Lecture Notes in Networks and Systems, vol 655. Springer, Cham. https://doi.org/10.1007/978-3-031-28694-0_14
Download citation
DOI: https://doi.org/10.1007/978-3-031-28694-0_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-28693-3
Online ISBN: 978-3-031-28694-0
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)