A set of software architectures generic to a domain that define organising frameworks for constructing new application designs and implementations within the domain, consistent with the domain requirements model.