Software development of industrial robots requires interdisciplinary knowledge and technical experience. Due to the heterogeneity of the manufacturer-dependent programming languages and tools, robot programming remains highly complex, although robots themselves are flexible and can be used for a wide range of applications. To support different roles during the development, including component provider, application developer, system integrator and end user, a model based approach was developed in the research project ReApp. The data exchange format AutomationML was used for the modelling of robot components and systems. Based on domain ontologies, the AutomationML models were processed semantically and converted to a machine-interpretable information model, from which source code was generated.