1. A computer readable medium comprising computer readable instructions, which, when executed by a computer, causes the computer to perform a method, comprising: receiving a service oriented architecture model instance; detecting a pattern in the service oriented architecture model instance that is transformable according to at least one used case of a used case database, the used case database comprising one or more used cases of previously transformed patterns; transforming the detected pattern according to the at least one used case to create at least one intermediate state model instance; detecting a pattern in the at least one intermediate state model instance that is transformable according to at least one other used case of the used case database and transforming the detected pattern according to the at least one other used case to create one or more lower intermediate state model instances; detecting and transforming patterns of the lower intermediate state model instances until the lower intermediate state models are no longer transformable according to used cases of the used case database; storing the no longer transformable lower intermediate state models as instances of service oriented infrastructure models; and selecting one of the service oriented infrastructure models according to predefined selection criteria.