of objects, attributes, behaviors, interactions, events - Should present a useful Model of the real world - Expressive: exposes how things work in plain language - Helps reason about your problem domain - Handles increasing complexity Samples: github / Cart