A model driven approach for the QoC-awareness of ubiquitous applications