An approach to automatic robot programming | Synapse