Towards self-aware and self-composing services