I. Introduction
In distributed, service-oriented systems, where a given functionality might be covered by multiple services differing only in non-functional qualities, the selection of a service to respond to a specific request is an increasingly important task. Additionally, for responding to complex requests, it is necessary to compose several atomic services, each of which may have several concrete instances. In order to optimally select and compose services, their environment and behavior needs to be understood and represented in detail. The optimality has to be defined on a case-per-case basis, depending on the requirements of a specific system or user. Assuming that services from a single service class have the exact same functionality, it is thus crucial to take into account their non-functional properties (NFP), also referred to as QoS properties. The questions of how to represent, classify and collect those attributes can be addressed separately from any specific optimization objective.