ThingsJS: Dynamic Edge Middleware

Joint work with Dr. Karthik Pattabiraman, Kumseok Jung and Mohammad Rafiuzzaman (University of British Columbia)

The Internet of Things involves a plethora of interconnected devices that produce and consume large amounts of data. Over the last few years, the IoT landscape has grown tremendously, and applications can be found across multiple domains, both in academic and industrial circles.

While traditional IoT devices consist mostly of low-level embedded sensors and actuators, a more recent generation of devices has emerged. Such devices; e.g., the popular Raspberry Pi series, are getting more and more powerful and connected, and are quickly evolving beyond their traditional role of low-level embedded sensors and actuators to become more akin to embedded computers. As such, they can execute full operating systems, such as various distributions of Linux, thereby opening the door to running complex, rich and high-level applications directly on these devices, at the edge of the network (i.e., edge computing).

On the other hand, to bridge the heterogeneity of the IoT landscape, there is a strong incentive for establishing common paradigms and high-level abstractions. We believe this can be done through high-level, platform-independent languages and frameworks. Not confined anymore to the realms of the web, JavaScript has grown over the last few years as a mature and dynamic language on its own. Nowadays, JavaScript applications can be found in the desktop, mobile and server spaces, and more recently, in the IoT world.

ThingsJS: Adaptive, Distributed and Reliable IoT Middleware

ThingsJS is a comprehensive platform for designing and deploying high-level edge applications written in JavaScript onto the IoT devices themselves, in combination with the cloud. ThingsJS provides:

  • a set of APIs and high-level services for developers;
  • a set of self-adaptation features;
  • rich graphical and console-based user interfaces to observe and interact with the system.

Research Team

Sponsor

Related Publications / Posters / Demos

  • Gascon-Samson, J., Rafiuzzaman M., Pattabiraman K. (2017) ThingsJS: Towards a Flexible and Self-Adaptable Middleware for Dynamic and Heterogeneous IoT Environments, Middleware for IoT (m4iot)@Middleware 2017, Las Vegas, USA [Preprint] [Presentation]
  • Gascon-Samson, J., Rafiuzzaman M., Pattabiraman K. (2017) SmartJS: Dynamic and Self-Adaptable Runtime Middleware for Next-Generation IoT Systems (Poster), SPLASH 2017, Vancouver, Canada [Preprint] [Poster]
  • Gascon-Samson, J., Rafiuzzaman M., Pattabiraman K. (2017)SmartJS: Automated Runtime System and Middleware for Next-Generation IoT Systems (Poster), ICICS-ECE-IEEE Workshop 2017 (UBC), Vancouver, Canada [Poster]

Resources

More details about this project to come soon!