Context-Dependent Services Selection in Smart Environments