  The StarL programming framework aims to simplify development of distributed
robotic applications by providing easy-to-use language constructs for
communication and control. It has been used to develop applications such as
formation control, distributed tracking, and collaborative search. In this
paper, we present a complete redesign of the StarL language and its runtime
system which enables us to achieve portability of robot programs across
platforms. Thus, the same application program, say, for distributed tracking,
can now be compiled and deployed on multiple, heterogeneous robotic platforms.
Towards portability, this we first define the semantics of StarL programs in a
way that is largely platform independent, except for a few key
platform-dependent parameters that capture the worst-case execution and sensing
delays and resolution of sensors. Next, we present a design of the StarL
runtime system, including a robot controller, that meets the above semantics.
The controller consists of a platform-independent path planner implemented
using RRTs and a platform-dependent way-point tracker that is implemented using
the control commands available for the platform. We demonstrate portability of
StarL applications using simulation results for two different robotic
platforms, and several applications.
