Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
489755 | Procedia Computer Science | 2015 | 8 Pages |
Developing applications for IoT and Cloud is difficult for a number of reasons; even without considering the inherent complexity of distributed computing, there are several competing platforms, programming languages and communication protocols. It can be argued that this is holding back the industry as a whole: Applications are difficult to write, deploy and manage. In this position paper we present Calvin, a hybrid framework combining ideas from the Actor model and Flow Based Computing. We show that by dividing applications into four well-defined aspects – describe, connect, deploy, and manage – we get an intuitive method for application development, and a flexible, distributed platform for deploying and managing applications. Additionally, we keep Calvin language and platform agnostic by only prescribing a lightweight runtime API, with a limited number of specified communication protocols – with no requirements on the carrier – for communicating with runtimes, between runtimes, and passing data between components.