A Top-Down Approach to Managing Variability in Robotics Algorithms.