CS2125 Paper Review Form - Winter 2018 Reviewer: Or Aharoni Paper Title: ThingML: A Language and Code Generation Framework for Heterogeneous Targets Author(s): Nicolas Harrand, Franck Fleurey, Brice Morin, and Knut Eilif Husa 1) Is the paper technically correct? [x] Yes [ ] Mostly (minor flaws, but mostly solid) [ ] No 2) Originality [ ] Very good (very novel, trailblazing work) [x] Good [ ] Marginal (very incremental) [ ] Poor (little or nothing that is new) 3) Technical Depth [ ] Very good (comparable to best conference papers) [x] Good (comparable to typical conference papers) [ ] Marginal depth [ ] Little or no depth 4) Impact/Significance [ ] Very significant [x] Significant [ ] Marginal significance. [ ] Little or no significance. 5) Presentation [ ] Very well written [x] Generally well written [ ] Readable [ ] Needs considerable work [ ] Unacceptably bad 6) Overall Rating [ ] Strong accept (award quality) [x] Accept (high quality - would argue for acceptance) [ ] Weak Accept (borderline, but lean towards acceptance) [ ] Weak Reject (not sure why this paper was published) 7) Summary of the paper's main contribution and rationale for your recommendation. (1-2 paragraphs) The authors of the paper came to provide an approach and tools to help system development industry to meet the demand of modern complex systems. The paper presented ThingML that brings the benefits of Model-Driven Engineering (MDE) for a wide range of developers in a practical way. As shown in the paper, ThingML allows developers to write applications that can worked on multiple platforms (including x86, Linux, Windows, MIPS, and TI MSP430), languages (currently C/C++, JavaScript, and Java), different processors and memory. This allows developers to create applications that run on multiple different devices over a network, both on a local network or over the cloud. The paper came to present the benefits of ThingML as a MDSL for developing applications deal with devices that have low-power sensors and/or micro-controllers. The authors have mentioned that ThingML went is currently on its third version, based on Object-Oriented framework. This allows the approach to have to code generator to have a family of compilers, each one dealing with a different language - C, Java, and JavaScript. The paper has described how the ThingML allows developers focus on the difference of each device. This means Linux C and Arduino code share 95% of their which means that if an applications needs to work on both than exports of each platform only need to focus on 5% of the code. In overall, the paper come to present the benefits of ThingML and want needs to be looked at when using it. 8) List 1-3 strengths of the paper. (1-2 sentences each, identified as S1, S2, S3.) S1 - The authors have provided three different projects and lesson learned from these projects. Each project has provided three different issues, devices, and decisions that people have done will developing their system and application. S2 - The authors are coming from five years experience. This means that it is not just a research paper with no real world environment. 9) List 1-3 weaknesses of the paper (1-2 sentences each, identified as W1, W2, W3.) W1 - The paper went into detail and definitions on some aspects of network protocols. The authors could have given more detail on how ThingML deals with these protocols or how developers could use the model framework.