A High-Level Semantic Approach to End-User Development in the Internet of Things