A Component-Based Software Architecture for Control and Simulation of Robotic Manipulators