Cyber-Physical Systems (CPS) are comprised of a network of
devices that vary widely in complexity, ranging from simple
sensors to autonomous robots. Traditionally, controlling and
sensing these devices happens through API communication,
in either push or pull-based fashion. We argue that the computational
power of these devices is converging to the point
where they can do autonomous computations. This allows
application programmers to run programs locally on the
sensors, thereby reducing the communication and workload
of more central command and control entities.
This work introduces the Potato framework that aims to
make programming CPS systems intuitively easy and fast.
Potato is based on three essential mechanisms: failure handling
by means of leasing, distribution by means of first-class
reactive programs, and intentional retroactive designation of
the network by means of capabilities and dynamic properties.
In this paper we focus on the reactive capabilities of our
framework. Potato enables programmers to create and deploy
first-class reactive programs on CPS devices at run time,
abstracting away from the API approach. Each node in the
network is equipped with a minimal actor-based middleware
that can execute first-class reactive programs. We have implemented
Potato as a library in Elixir and have used it to
implement several small examples.
Original languageEnglish
StateUnpublished - 13 Sep 2017
Event - Vancouver, Canada


ConferenceREBLS 2017
Internet address

ID: 34589438