: Competence development programmes are collections of units of learning and learning activities used to increase the overall effective performance of a learner within a certain task. The definition of a competence development programme is fairly complex and subject to variability, depending on the available learning units and components. Some instructional engineering approaches have been successfully used to create courseware by the combination of existing learning resources within a systematic and iterative method. In this work, a generative, model-driven engineering approach is used to create and adapt competence development programmes from families of available learning components, such as units of learning, learning designs, and learning services. The process begins from the statement of the learning goals as feature models, and carries out a number of transformations from the analysis model down to learning designs and implementation components. However, shared definitions for c...