Productive Device Programming – IoT Device Programming Models and Runtimes
IoT devices vary from extremely limited 8/16/32 processors to Linux capable machines. In order to quickly develop products/applications, one needs higher level tool chain for productivity. In this talk, we describe the essential features and constraints of programming models for different device classes. Device programming typically requires substantial low-level coding which often needs to be substantially rewritten for different processor configurations. Productivity and portability are often achieved by using discipline programming techniques and high level language abstractions. We then discuss our experience with table driven interpreters, procedural, object and vector virtual machines and associated tooling.