Programming Paradigm and the Internet of Things

Authored by: Sourav Banerjee , Chinmay Chakraborty , Sudipta Paul

Handbook of IoT and Big Data

Print publication date:  March  2019
Online publication date:  February  2019

Print ISBN: 9781138584204
eBook ISBN: 9780429053290
Adobe ISBN:


 Download Chapter



The IoT, or the network of smart devices, is an emerging new paradigm that is practically and theoretically efficient in resolving problems regarding the data consumption, integration, and communication among the smart devices. These smart but small devices provide a great opportunity, with the help of cloud-based backend, for computation and web-based front-end for interaction with the user. IoT application devices are distributed in a wide geographical area, thus the main concerns regarding the programming paradigm of IoT are as follows: heterogeneity caused by hardware, software and communication platforms, volume of generated data, various forms of generated data, varying speed of generation of data, latency sensitivity, coping with the frequent unavailability of devices caused by the limited power supply from batteries and the mobility of devices, choice of communication protocol, and lastly, sustainability. Among many approaches, one is to use the combination of two models, computational models and coordination models, consecutively. The programming languages of computational models are nesC, Keil C, Dynamic C, B#, R, and more. Coordination is considered from two different perspectives: centralized control or “orchestration” and distributed transparent control or “choreography.” The most used coordination programming models are Linda, eLinda, Orc, and Jolie. Another approach is to use “polyglot programming,” which is the art of developing solutions using different programming languages. This programming approach consists of the integration platform and the platform-supported languages. An inverse pyramid of three layers—stable (Scala, C, Java, etc.), dynamic (Groovy, Clojure, Js, etc.) and domain (Html, CSS, etc.)—is the architecture for polyglot programming. The existing programming frameworks (Mobile fog, Eliot, Pyot, etc.) will be surveyed accordingly the above discussions in this chapter to provide enlightenment regarding the different aspects of the programming paradigm of IoT.

Search for more...
Back to top

Use of cookies on this website

We are using cookies to provide statistics that help us give you the best experience of our site. You can find out more in our Privacy Policy. By continuing to use the site you are agreeing to our use of cookies.