Performance engineering of the StarLogo Nova Execution Engine
Author(s)
Pan, Jin, M. Eng. Massachusetts Institute of Technology
DownloadFull printable version (2.791Mb)
Other Contributors
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
Advisor
Eric Klopfer.
Terms of use
Metadata
Show full item recordAbstract
StarLogo Nova is an online blocks-based programming environment designed for pre-college students to explore the collective behavior of decentralized agents. Users can drag and drop blocks to construct graphical scripts that control how individual agents respond to stimuli. These scripts are run by the Execution Engine and rendered in real-time. By investigating hypotheses about how small tweaks to individual behavior impact the entire system, students learn to think beyond the centralized mindset where all actions are dictated by a singular leader. This thesis migrates the Execution Engine from the aging Adobe ActionScript 3 language to TypeScript, a weakly typed language that transpiles to JavaScript. To promote code health, this thesis introduces code formatters, linters, test cases, and a build process. Finally, this thesis optimizes the StarLogo Nova Execution Engine for performance, consistently beating the previous engine and bringing the execution time per cycle for key benchmarks under 10 milliseconds.
Description
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2016. This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. Cataloged from student-submitted PDF version of thesis. Includes bibliographical references (page 117).
Date issued
2016Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer SciencePublisher
Massachusetts Institute of Technology
Keywords
Electrical Engineering and Computer Science.