- Table of contents
- Sandboxing
Sandboxing¶
The term sandboxing has multiple meanings:
From the website https://www.fortinet.com/resources/cyberglossary/what-is-sandboxing :
Sandboxing is a security practice in which you use an isolated environment, or a “sandbox,” for testing. Within the sandbox you run code, analyze the code in a safe, isolated environment without affecting the application, system or platform.
This suggests a place to work where the main efforts are not negatively affected. A simpler and perhaps more generally applicable is the idea many children share, that of playing in a sandbox! Sandboxing offers us a low risk environment in which to "play" with engineering concepts to learn more about them, which allows us to make more informed decisions throughout our project.
We have gathered some examples associated with the various student disciplines who take our Capstone experience. If you have other ideas, please share them and we'll update this page!
EE¶
Circuit Simulation¶
LTSpice or PSpice can be used to simulate small parts of the design to confirm that they would work as expected. This has the additional benefit that part of the schematic will already be electronically captured early in the design! Easy to then copy/paste into the more complete design.
Embedded Control¶
Using ESP32 or other microprocessors and a handful of simple components on a protoboard, it is possible to create simple programs that emulate a larger design. This allows for much experimentation before committing to more detailed work.
CSE¶
Virtual Machines¶
A complete development environment can be created and snapshots taken. Development can go on without any risk to the host PC. If the development goes poorly, the machine can be rest to any previous snapshot. Take snapshots after each major development step. These capture the entire state of the machine. Using the repository effectively for code should also be done. Snapshots are not an alternative to Subversion.
Wireframes for UI Design¶
Before writing any code, use simply and fast tools to generate wireframe models of all the screens. These can then be organized to show program flow to see how well it addresses the project's Needs and Requirements. Typical tools might include PowerPoint or pencil & paper sketches. More complicated tools are possible but not required.
MSE¶
ME¶
Modeling and Simulation¶
It is far faster to create a simple crude model than a complicated complete part. The simple model can then be analyzed to provide a holistic evaluation of the concept. Details models should wait until more of the design has been performed.
IME¶
Proforma Analyses¶
Proforma, also written pro forma, means to show & analyze data as it might be before the actual data is available. For example, we often use Excel or a program in R to analyze data. A proforma spreadsheet would have a place to enter the data and all the formulas in place to analyze it - BEFORE any of that data was collected. The design process thus includes determining the best way to capture the data and an appropriate format / organization for that data to facilitate the analysis. Now using mock data (which also must be designed) one can run through the analysis to determine if the analytical output match expectations based on the mock data. For the R language, the same can be done by determining how / where the data will be available and it's format and organization and then writing the R program that ingests the data and performs the analysis.