A Generic High-Level Specification Language for Non-functional Properties of Component-Based Systems