Massachusetts Institute of Technology
Performance engineering of the StarLogo Nova Execution Engine
Abstract
dc:description.abstractStarLogo 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.
Degree
thesis:*- Department dc:contributor.department
- Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.
- Grantor dc:publisher
- Massachusetts Institute of Technology
- Year dc:date.issued
- 2016
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Pan, Jin, M. Eng. Massachusetts Institute of Technology
- Advisor dc:contributor.advisor
-
- Eric Klopfer.
Subjects
dc:subject × 1Rights
dc:rights- Statement 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.
- Licence dc:rights.uri
- Language dc:language.iso
- eng
Identifiers
dc:identifier.*- Handle dc:identifier.uri
- http://hdl.handle.net/1721.1/113161
- OAI identifier oai:identifier
- oai:dspace.mit.edu:1721.1/113161