dc.contributor.advisor | Martin Rinard. | en_US |
dc.contributor.author | Lim, Jonathan, M. Eng. Massachusetts Institute of Technology | en_US |
dc.contributor.other | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. | en_US |
dc.date.accessioned | 2018-12-11T21:07:38Z | |
dc.date.available | 2018-12-11T21:07:38Z | |
dc.date.copyright | 2017 | en_US |
dc.date.issued | 2017 | en_US |
dc.identifier.uri | http://hdl.handle.net/1721.1/119591 | |
dc.description | Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2017. | en_US |
dc.description | Cataloged from PDF version of thesis. | en_US |
dc.description | Includes bibliographical references (pages 157-159). | en_US |
dc.description.abstract | Sensors embedded within hardware platforms such as smart-watches and cars read in streams of data. These sensor data may be related to each other by invariants or may have other value constraints, but computing in sensor platforms currently ignores these invariants between sensor data. If the programmer wanted to exploit these invariants to perform safety checks or optimize performance, she has to hard-code the invariants in the program. To exploit invariants in software automatically, each compiler of the language used for every sensor platform could be modified to be aware of different sets of invariants in the programs it compiles, or the compilers could take in a configuration file that describes these invariants. This MEng thesis introduces Newton, a language in which the configuration files can be written, as well as a compile-time library and a runtime library that can be used by other compilers to make compile-time transformations to their source code and exploit the invariants in a Newton description at runtime. We introduce two compile-time algorithms that transform intermediate representations of other compilers. The first transformation adds reliability by checking invariants on program variable values at runtime and by running an error handler function if invariants are violated. The second transformation trades off reliability gained from sensor redundancy for performance by removing code that deals with redundant sensors. This thesis describes twelve examples of realistic physical systems that may benefit from using Newton. | en_US |
dc.description.statementofresponsibility | by Jonathan Lim. | en_US |
dc.format.extent | 159 pages | en_US |
dc.language.iso | eng | en_US |
dc.publisher | Massachusetts Institute of Technology | en_US |
dc.rights | MIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission. | en_US |
dc.rights.uri | http://dspace.mit.edu/handle/1721.1/7582 | en_US |
dc.subject | Electrical Engineering and Computer Science. | en_US |
dc.title | Newton : a language for describing physics | en_US |
dc.title.alternative | Language for describing physics | en_US |
dc.type | Thesis | en_US |
dc.description.degree | M. Eng. | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | |
dc.identifier.oclc | 1066741153 | en_US |