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)