Reasoning about programs controlling distributed robotic systems is challenging. These systems involve the interactions of multiple programs witheach other over potentially unreliable communication channels and the interactions of these programs with an unpredictable physical environment. Thisthesis presents the StarL programming paradigm, its software embodiment and applications. StarL is designed to simplify the process of writing and reasoning about reliable distributed robotics applications. It provides a collection of building block functions with well-defined interfaces and preciseguarantees. Composing these functions, it is possible to write more sophisticated functions and applications which are amenable to assume-guarantee style reasoning. StarL is platform independent and can be used in conjunction with any mobile robotic system and communication channel. Design choices made in the current Android/Java-based open source implementation are discussed along with three exemplar applications: distributed search, geocast, and distributed painting. It is illustrated how application-level safety guarantees can be obtained from the properties of the building blocks and environmental assumptions. Experimental results establish the feasibility of the StarL approach and show that the performance of an application scales in the expected manner with an increasing number of participating robots.