This document discusses domain driven design and model driven development. It introduces ontology and how it relates to domain driven design. The document outlines key domain driven design building blocks like the domain model, entities, value objects, repositories, services, and aggregates. It also discusses challenges of domain driven design and code generation techniques.