Transforming Simulation Data in Repository to Visual Time Trajectories

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

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.
Date Created
2022-05
Agent

Votes that Count: Building a Tool to Facilitate Understanding of the Effects of Voting Procedure on Electoral Outcomes

165460-Thumbnail Image.png
Description

The goal of this project was to develop a prototype for an educational tool that will help users understand how the voting system deployed by a government can affect the outcomes of elections. This tool was developed in Java SE,

The goal of this project was to develop a prototype for an educational tool that will help users understand how the voting system deployed by a government can affect the outcomes of elections. This tool was developed in Java SE, consisting of a model for the simulation of elections capable of supporting various voting systems, along with a variety of fairness measures, and educational and explanatory material. While a completed version of this tool would ideally be fully self-contained, easily accessible in-browser, and provide detailed visualizations of the simulated elections, the current prototype version consists of a GitHub repository containing the code, with the educational material and explanations contained within the thesis paper. Ultimately, the goal of this project was to be a stepping stone on the path to create a tool that will instill a measure of systemic skepticism in the user; to give them cause to question why our systems are built the way they are, and reasons to believe that they could be changed for the better. In undertaking this project, I hope to help in providing people with the political education needed to make informed decisions about how they want the government to function. The GitHub repository containing all the code can be found at, https://github.com/SpencerDiamond/Votes_that_Count

Date Created
2022-05
Agent

A Methodology and Formalism to Handle Timing Uncertainties in Cyber-Physical Systems

161975-Thumbnail Image.png
Description
Uncertainty is intrinsic in Cyber-Physical Systems since they interact with human and work with both analog and digital worlds. Since even minute deviation from the real values can make catastrophe in a safety-critical application, considering uncertainties in CPS behavior

Uncertainty is intrinsic in Cyber-Physical Systems since they interact with human and work with both analog and digital worlds. Since even minute deviation from the real values can make catastrophe in a safety-critical application, considering uncertainties in CPS behavior is essential. On the other side, time is a foundational aspect of Cyber-Physical Systems (CPS). Correct timing of system events is critical to optimize responsiveness to the environment, in terms of timeliness, accuracy, and precision in the knowledge, measurement, prediction, and control of CPS behavior. In order to design a more resilient and reliable CPS, first and foremost, there should be a way to specify the timing constraints that a constructed Cyber-Physical System must meet with considering existing uncertainties. Only then, we can seek systematic approaches to check if all timing constraints are being met, and develop correct-by-construction methodologies. In this regard, Timestamp Temporal Logic (TTL) is developed to specify the timing constraints on a distributed CPS. By TTL designers can specify the timing requirements that a CPS must satisfy in a succinct and intuitive manner and express the tolerable error as a part of the language. The proposed deduction system on TTL (TTL reasoning system) gives the ability to check the consistency among expresses system specifications and simplify them to be implemented on FPGA for run-time verification. Regarding CPS run-time verification, Timestamp-based Monitoring Approach(TMA) has been designed that can hook up to a CPS and take its timing specifications in TTL and verify if the timing constraints are being met with considering existing uncertainties in the system. TMA does not need to compute whether the constraint is being met at each and every instance of time but it re-evaluates constraint only when there is an event that can affect the outcome. This enables it to perform online timing monitoring of CPS for less computation and resources. Furthermore, the minimum design parameters of the timing CPS that are required to enable testing the timing of CPS are defined in this dissertation
Date Created
2021
Agent

Analysis of Design Patterns on an AI Game Environment

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

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.
Date Created
2020-05
Agent