1. Determining the operATions, dATa objects, properties and abstractions appropriATe for designing solutions to problems in a given domain. 2. The domain engineering activity in which domain knowledge is studied and formalised as a domain definition and a domain specificATion. A software reuse approach thAT involves combining software components, subsystems, etc., into a single applicATion system. 3. The process of identifying, collecting organising, analysing and representing a domain model and software architecture from the study of existing systems, underlying theory, emerging technology and development histories within the domain of interest. 4. The analysis of systems within a domain to discover commonalities and differences among them. (1997-12-26)