A Vision of Swarmlets
"Swarmlets" are applications and services that leverage networked sensors and actuators, likely integrating them with networking services, cloud computing, and mobile devices. This paper describes a way to construct swarmlets by composing "accessors," which are wrappers for sensors, actuators, and services, that export an actor interface. We show how an actor semantics for the interface to accessors provides ways to compose them with disciplined and understandable concurrency models, while hiding from the swarmlet the details of the mechanisms by which the accessor provides the sensor data, controls the actuator, or accesses the service. This architecture is able to leverage the enormous variety of mechanisms that have recently emerged for such interactions, including for example HTTP, Websockets, CoAP, MQTT, and many others. Recognizing that these standards have emerged because of an enormous variability of requirements for bandwidth, latency, and security, accessors embrace heterogeneity instead of attempting to homogenize.