A survey of context modeling and reasoning techniques