A Multi-Agent System for Programming Robotic Agents by Human Demonstration | Synapse