Barrett, The Honors College at Arizona State University proudly showcases the work of undergraduate honors students by sharing this collection exclusively with the ASU community.

Barrett accepts high performing, academically engaged undergraduate students and works with them in collaboration with all of the other academic units at Arizona State University. All Barrett students complete a thesis or creative project which is an opportunity to explore an intellectual interest and produce an original piece of scholarly research. The thesis or creative project is supervised and defended in front of a faculty committee. Students are able to engage with professors who are nationally recognized in their fields and committed to working with honors students. Completing a Barrett thesis or creative project is an opportunity for undergraduate honors students to contribute to the ASU academic community in a meaningful way.

Displaying 1 - 2 of 2
Filtering by

Clear all filters

131631-Thumbnail Image.png
Description
This Barrett thesis seeks to analyze software design patterns’ effects on a software system. To achieve this, the author specified a game environment that lets users write their own artificial intelligence (AI) algorithms for simulation in the environment. Afterwards, the author designed an architecture implementing the game system and designed

This Barrett thesis seeks to analyze software design patterns’ effects on a software system. To achieve this, the author specified a game environment that lets users write their own artificial intelligence (AI) algorithms for simulation in the environment. Afterwards, the author designed an architecture implementing the game system and designed components implementing the architecture. In software design, engineers use design patterns to develop components since software patterns generally apply to object-to-object interactions; architecture patterns apply to component-to-component interactions, and while they greatly influence software design, they are out of this project’s scope. To design the objects comprising this thesis system's event-driven model-view-controller (MVC) architecture, the author used the Adapter pattern to interface with other libraries, the Publisher-Subscriber pattern to pass information between objects, the Singleton pattern to enforce the existence of single state objects, the Dependency Injection pattern to build generic and composable functions, the Observer pattern to directly alert objects of observed objects’ changes, the Factory pattern to abstract object initialization, the Monad pattern to express complex computations without explicit branch control logic, and the Facade pattern to unite the game objects’ disparate interfaces into a single interface for AI developers. The implementation, integration, and synthesis of these pre-existing design patterns is the primary contribution of this project. After designing the software system, the author implemented the design using the TypeScript programming language, the Babel transpiler, the Webpack code bundler, and the Babylon.js graphics library. The author then performed a static evaluation on the implemented game system files by describing the overall dependency hierarchy and measuring each file’s lines of code, maintainability index, cyclomatic complexity, and Halstead difficulty score. Furthermore, the author compared these measurements with those collected from the Babylon, Phaser, and Lodash JavaScript libraries. The goals for reporting these measurements were to help show the game’s design enabling the system’s maintainability, usability, and expandability quality attributes and underscore software development as a creative and artistic discipline grounded in computational science. This thesis highlights the need for further research including developing methods with tools for evaluating behavioral aspects of design patterns relative to their quality attributes.
ContributorsDuke, Thomas Carlin (Author) / Sarjoughian, Hessam (Thesis director) / Kobayashi, Yoshihiro (Committee member) / Computer Science and Engineering Program (Contributor, Contributor) / Barrett, The Honors College (Contributor)
Created2020-05
166200-Thumbnail Image.png
Description
Simulations can be used to help formulate and solve complex problems. Toward this goal, the Arizona Center for Integrative Modeling and Simulation (ACIMS) is a research laboratory at Arizona State University that creates powerful tools for simulating complex systems. Their flagship simulator, DEVS-Suite, allows users to create models that can

Simulations can be used to help formulate and solve complex problems. Toward this goal, the Arizona Center for Integrative Modeling and Simulation (ACIMS) is a research laboratory at Arizona State University that creates powerful tools for simulating complex systems. Their flagship simulator, DEVS-Suite, allows users to create models that can be simulated. The latest version of this simulator supports storing data in Postgres, a relational database that is well suited for storing millions of data points. However, though DEVS-Suite supports real-time visualizations, the simulator does not support the manipulation and visualization of the data stored in the database. As simulations become more complex, users benefit from visualizing time-based trajectories. User-defined data visualization can help gain new insight into generated simulated data.
ContributorsSchaffer, Albert (Author) / Sarjoughian, Hessam (Thesis director) / Chen, Yinong (Committee member) / Barrett, The Honors College (Contributor) / Computer Science and Engineering Program (Contributor)
Created2022-05