1. A method for generating a domain-specific software solution comprising: providing a plurality of domain models stored in an asset repository, each domain model comprising a set of task classes each associated with one or more respective tasks and a set of requirement classes each defining one or more requirements associated with said respective tasks; providing a plurality of technical assets associated with each domain model, each technical asset being associated with an asset descriptor identifying at least one task class and at least one requirement class associated with the at least one task class of said associated domain model; providing a solution model for a given domain model among said domain models, said solution model comprising the set of task classes of said given domain model and the set of requirement classes associated with said set of task classes in said given domain model; for each task class in the solution model, preselecting candidate technical assets associated with said given domain model if said task class or a parent class of said task class is identified in a respective asset descriptor associated with each technical asset; for each candidate technical asset preselected for a task class determining at least one requirements set identifying one or more requirements based on conditions related to the one or more requirements associated with said task class in the asset descriptor and the one or more requirements associated with said task in the solution model; and selecting one of the candidate technical assets among said candidate technical assets preselected for a task of said solution model to implement said task based on the at least one requirements set determined for each of the candidate technical assets.