Domain Engineering is concerned with building reusable assets, such as specification sets, patterns, and components, in a specific domain. A domain in this context is an area of knowledge that uses common concepts for describing requirements, problems, capabilities, and solutions. The purpose of domain engineering is to identify,model, construct, catalog, and disseminate the commonalities and differences of applications in a domain. Domain engineering methods and domain-specific languages (DSLs) receive nowadays special attention from communities that deal with reuse, validation, and knowledge representation. One of the reasons for this tendency might be the increasing variability of information and software systems and the need to acquire expertise in different, evolving domains.