A task-oriented system structure has been developed. In normal industrial robot programming, the path is created and the process is based on the path. Here a process-focused method is proposed, where a task can be split in sub-tasks, one for each part of the process with similar process-characteristics. By carefully encapsulating the information needed to execute a sub-task, this component can be re-used whenever the actual sub-task occurs. Applications using system design do not change between simulation and actual shop floor runs and the system allows a mix of real- and simulated components during simulation and run-time.