This document proposes an approach for enabling high-level application development for the Internet of Things (IoT). The approach addresses challenges like heterogeneity, scale, and the involvement of multiple expertise through: 1) modeling languages that abstract heterogeneity and scale, 2) clear division of roles for stakeholders, and 3) code generators that automate the development process and reduce hand-written code. It presents a smart buildings example and evaluation showing the approach reduces development efforts by generating 74-72% of code compared to manual development. Ongoing work includes further evaluation and support for end-user applications and evolution.
Related topics: