Policy-based management allows to adapt systems to changed requirements in a flexible and automated way. Policy development usually starts with the specification of high-level policies, which are then refined into a low-level representation. We use models to specify event-conditionaction (ECA) policies at different levels of abstraction and consequently separate domain and policy aspects from each other. Domain-specific concepts are used within policies in their event, condition, and action parts. We present a formal specification of the models by means of a relational algebra. The algebra is used to validate the models at each level. Finally, executable policy code is generated from the low-level models.