Abstract. To reuse existing specifications and increase the speed of development, modern development methods widely use design patterns and collaborations. Both, design patterns and collaborations, use the concept of role as a basic modeling concept. To specify models where one object may play several roles, a synthesis operation (the composition of two base roles in a third role) has to be spe...