In complex systems, it is difficult to identify which system element is involved in which requirement. In this article, we present a new approach for expressing and validating a requirement even if we don’t precisely know which system elements are involved: a context-based constraint (CoCon) can identify the involved elements according to their context. CoCons support checking the system for compliance with requirements during (re-)design, during (re-)configuration or at runtime because they specify requirements on an abstract level independent of the monitored artefact type. They facilitate handling cross-cutting requirements for possibly large, overlapping or dynamically changing sets of system elements - even across different artefact types or platforms. Besides defining CoCons, we discuss algorithms for detecting violated or contradicting CoCons.