Current research is exploring the potential of modular reconfigurable robotics and the complex software necessary to control the “shape changing” robots. “Locally Distributed Predicates or LDP is a distributed, high-level language for programming modular reconfigurable robot systems (MRRs)”. There are many challenges associated with programming and controlling a large number of discrete modular systems due to the degrees of freedom that correspond with each module. For example, reconfiguring from one formation to one similar may require a complex path of movements controlled by an intricate string of commands even though the two shapes differ slightly.