<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-09-19T09:53:16Z</responseDate><request verb="GetRecord" identifier="oai:dspace.mit.edu:1721.1/119591" metadataPrefix="dim">https://dspace.mit.edu/server/oai/request</request><GetRecord><record><header><identifier>oai:dspace.mit.edu:1721.1/119591</identifier><datestamp>2026-06-06T00:55:48Z</datestamp><setSpec>com_1721.1_7582</setSpec><setSpec>com_1721.1_7581</setSpec><setSpec>col_1721.1_131023</setSpec></header><metadata><dim:dim xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:doc="http://www.lyncode.com/xoai" xsi:schemaLocation="http://www.dspace.org/xmlns/dspace/dim http://www.dspace.org/schema/dim.xsd">
   <dim:field mdschema="dc" element="contributor" qualifier="advisor" lang="en_US">Martin Rinard.</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="author" lang="en_US">Lim, Jonathan, M. Eng. Massachusetts Institute of Technology</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="other" lang="en_US">Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.</dim:field>
   <dim:field mdschema="dc" element="contributor" qualifier="department">Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="accessioned">2018-12-11T21:07:38Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="available">2018-12-11T21:07:38Z</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="copyright" lang="en_US">2017</dim:field>
   <dim:field mdschema="dc" element="date" qualifier="issued" lang="en_US">2017</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="uri">http://hdl.handle.net/1721.1/119591</dim:field>
   <dim:field mdschema="dc" element="identifier" qualifier="oclc" lang="en_US">1066741153</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2017.</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">Cataloged from PDF version of thesis.</dim:field>
   <dim:field mdschema="dc" element="description" lang="en_US">Includes bibliographical references (pages 157-159).</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="abstract" lang="en_US">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.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="statementofresponsibility" lang="en_US">by Jonathan Lim.</dim:field>
   <dim:field mdschema="dc" element="description" qualifier="degree" lang="en_US">M.Eng.</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="extent" lang="en_US">159 pages</dim:field>
   <dim:field mdschema="dc" element="language" qualifier="iso" lang="en_US">eng</dim:field>
   <dim:field mdschema="dc" element="publisher" lang="en_US">Massachusetts Institute of Technology</dim:field>
   <dim:field mdschema="dc" element="rights" lang="en_US">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.</dim:field>
   <dim:field mdschema="dc" element="rights" qualifier="uri" lang="en_US">http://dspace.mit.edu/handle/1721.1/7582</dim:field>
   <dim:field mdschema="dc" element="subject" lang="en_US">Electrical Engineering and Computer Science.</dim:field>
   <dim:field mdschema="dc" element="title" lang="en_US">Newton : a language for describing physics</dim:field>
   <dim:field mdschema="dc" element="title" qualifier="alternative" lang="en_US">Language for describing physics</dim:field>
   <dim:field mdschema="dc" element="type" lang="en_US">Thesis</dim:field>
   <dim:field mdschema="dc" element="format" qualifier="mimetype">application/pdf</dim:field>
   <dim:field mdschema="dspace" element="authorsordered">false</dim:field>
   <dim:field mdschema="dspace" element="entity" qualifier="type">Publication</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="others" element="access-status">unknown</dim:field>
   <dim:field mdschema="cerif" element="openaire" authority="" confidence="-1">&lt;Publication xmlns="https://www.openaire.eu/cerif-profile/1.1/" id="c6f8df6e-669f-4b6f-856f-8bf30ff9d8ca">
	&lt;Type xmlns="https://www.openaire.eu/cerif-profile/vocab/COAR_Publication_Types">http://purl.org/coar/resource_type/c_1843&lt;/Type>
	&lt;Language>eng&lt;/Language>
   	&lt;Title>Newton : a language for describing physics&lt;/Title>
   	&lt;Subtitle>Language for describing physics&lt;/Subtitle>
   	&lt;PublishedIn>
    	&lt;Publication>
      	&lt;/Publication>
   	&lt;/PublishedIn>
   	&lt;PublicationDate>2017&lt;/PublicationDate>
   	&lt;Authors>
      	&lt;Author>
        	&lt;DisplayName>Lim, Jonathan, M. Eng. Massachusetts Institute of Technology&lt;/DisplayName>
         	&lt;Affiliation>
         		&lt;OrgUnit>
         		&lt;/OrgUnit>
         	&lt;/Affiliation>
      	&lt;/Author>
	&lt;/Authors>
   	&lt;Editors>
	&lt;/Editors>
    &lt;Publishers>
        &lt;Publisher>
            &lt;DisplayName>Massachusetts Institute of Technology&lt;/DisplayName>
            &lt;OrgUnit />
        &lt;/Publisher>
    &lt;/Publishers>
    &lt;License>http://dspace.mit.edu/handle/1721.1/7582&lt;/License>
    &lt;Keyword>Electrical Engineering and Computer Science.&lt;/Keyword>
   	&lt;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.&lt;/Abstract>
	&lt;Access xmlns="http://purl.org/coar/access_right" 
    >
    &lt;/Access>
&lt;/Publication>
</dim:field>
</dim:dim>
</metadata></record></GetRecord></OAI-PMH>