Team Update 5/2/20

What are the most significant risks that could jeopardize the success of the project?

The most significant risks at the moment is spending too much time on the GUI and on the video and not enough time on the design document.Ā  Additionally, another risk at the moment is spending too much time on the details and nuances of each protocol and not on the overall final report itself.
How are these risks being managed? What contingency plans are ready?

The risks are being managed by setting a hard deadline (tomorrow) for the GUI and the video to be completed by.Ā  Additionally, we are communicating with each other a lot more frequently to ensure that no one’s overwhelmed with tasks/stuck.Ā  The contingency plan in place is to submit what we have; we definitely have a sufficient amount of material to present on, but at the moment, we are being ambitious by squeezing a few more features in.
Were any changes made to the existing design of the system (requirements, blockĀ diagram, system spec, etc)?

No changes to any requirements or design besides adding more protocols to implement.
Why was this change necessary, what costs does the change incur, and how will these costs be mitigated going forward?

The change was necessary because we wanted to explore other versions of the protocols that we already have; we realized that different versions of the protocols existed and decided to further research these to ensure that our recommendations are accurate.
Provide an updated schedule if changes have occurred.

The schedule has not changed.

John Paul Harrimanā€™s Status Report for 5/2/2020

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I implemented a couple more algorithms based on Reed-Muller error correcting code. This algorithm is able to emulate a lot of the most basic error correcting codes by tuning different parameters within the function. I also worked on integrating this added functionality within the GUI.

The video has also taken up a significant amount of time this last week so the team and I have been focusing on that the most.

 

Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?


We wanted to get the GUI as fleshed out as possible before making the video, so we are a little behind because the video will still take a significant amount of time before we can send it in.
What deliverables do you hope to complete in the next week?

Hope to get the project code finished up, write the report, and finish the video!

 

John Paul Harriman’s Status Report for 4/25/2020

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I rewrote a lot of the existing code I had to be more easily integratabtle into our current GUI solution with an Object oriented approach to create our Test Suite where we will be displaying the graphical information, the data being generated, and the functions working. I can show the packets that I’ve generated, but I’m still trying to figure out a good way to display the information to the viewer that isn’t just a million bits at a time. I’ve worked with the team to hammering out our system construction so all that’s left is just throwing more algorithms at our test suite, displaying information, and continual integration with the team.

I did a lot of work on refining the GUI and the displaying of data in an easy to see format.

This is an example of the data generated in three steps with a chance of a bit flipping being 1/12. The first bar is the generated data of 8bit packets set to grey scale, the second bar is the corrected data that the decoding algorithm has performed on the encoded fuzzed data, the third bar shows the difference between these two bars with white meaning that the data has been correctly decoded and black meaning that it has either corrected the wrong data or could not be fixed.

I also worked on performance benchmarks since we are working to meet the requirements of less than 1mil instructions, my simple encoding and decoding functions for hamming show these results.

I ran my encoding and decoding functions 1000 times and plotted in a histogram. The cycle count is well within the limits, but we will need to test the remaining algorithms to see how they perform.

I also tried to package the gui into its own executable, but did not have success. I think a thorough documentation on how to get started will suffice though.

Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?


Project seems to be on schedule, just need to implement and test more algorithms.
What deliverables do you hope to complete in the next week?

More algorithms! Shouldn’t be too bad.

 

John Paul Harriman’s Status Report for 4/18/2020

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I rewrote a lot of the existing code I had to be more easily integratabtle into our current GUI solution with an Object oriented approach to create our Test Suite where we will be displaying the graphical information, the data being generated, and the functions working. I can show the packets that I’ve generated, but I’m still trying to figure out a good way to display the information to the viewer that isn’t just a million bits at a time. I’ve worked with the team to hammering out our system construction so all that’s left is just throwing more algorithms at our test suite, displaying information, and continual integration with the team.

Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?


Project seems to be on schedule for once, just need to stay on top of things before the demo.
What deliverables do you hope to complete in the next week?

More algorithms and proper benchmarkings, I know the number of packets generated in one second, which highly exceeds current expectations for timeouts, but want exact numbers.

John Paul Harriman’s Status Report for 4/11/20

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I worked more on getting the demo ready and then on the concerns post-demo. I was able to display the information in real time of the exact rate of successful packets recovered, but was suggested that I should also be able to see the data that is being fixed. I had some concerns about doing this since I am doing around 1000+ packets per second and could overwhelm the user, but I think I have thought of a way of displaying this information. My work now has been trying to show the fixed and unfixed packets side by side as a stream into a window clickable by the user. I also worked on further research on forward error correcting codes.

Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?


In terms of my personal schedule I’m a little behind because I wanted more integration to be done, but will need cooperation with the entire team to accomplish that. Just in general I need to put in a lot more of these correcting algorithms since I’ve figured out the system construction.
What deliverables do you hope to complete in the next week?

Deliverables are integration of API into GUI, more algorithms, and benchmarking the algorithms that we do have. (Same as last week)

John Paul Harriman’s Status Report for 4/4/2020

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I implemented most of the base calls for the API and implemented the algorithm for hamming encoding/decoding.

Here is a link to the current files of implementation: Here

These files aren’t up to production documentation, but that is more of back-burner problem right now.

Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?


I think that we are on schedule, but still have a lot of work to do. The main thing that will potentially bring us down is the ethics reading, demo, video, and final report. These are all projects that take significant amounts of time to get ready and can take away from what we are doing in terms of coding. This is why I will suggest that we crunch after the demo so that we can get everything in on time.
What deliverables do you hope to complete in the next week?

Deliverables are integration of API into GUI, more algorithms, and benchmarking the algorithms that we do have.

John Paul Harriman’s Status Report for 3/28/2020

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

I was able to start actually implementing our code!

I did a lot more research into what exact error correcting codes that we could use for our defined packet model. I’ve been going deep into this rabbit whole of which one is the best to use so hopefully next week I can start connecting the dots between all of them. I wrote the code for defined packet generation with a new model.

This model helps us gain easier access to verification by storing it in a struct because we now don’t have to pass all of our data through the specific wires and can focus on correction/detection and protocol handling.

Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?


I personally think we’re catching up, but still have a lot to do. If we can start getting algorithms down for correction/detection then we can have a successful project.

I’m going to do my part now which is gathering all the different algorithms and hopefully link up with my teammates over the next week.

What deliverables do you hope to complete in the next week?

Deliverables for next week are the Reed Solomon algorithm and others for the defined packet length to be completed in C, but without the additional component interactions.

I kind of switched my paths halfway through so I’m going to keep these goals.

John Paul Harriman’s Status Report for 3/21/20

What did you personally accomplish this week on the project? Give files or photos that demonstrate your progress. Prove to the reader that you put sufficient effort into the project over the course of the week (12+ hours).

With the end of Spring Break moving into the transition into the remote classes, most of my work has been getting my life back together and also trying to make the transition with Capstone.

Is your progress on schedule or behind? If you are behind, what actions will beĀ taken to catch up to the project schedule?


I’m not sure if we are now on schedule or we were just forced to move the goalpost. As we move toward the simulation aspect of our project now, a lot of the stuff I was researching about the interactions between components is now basically scrapped. This project can be successful but I don’t think will be what we originally intended.

 

What deliverables do you hope to complete in the next week?

Deliverables for next week are the Reed Solomon algorithm and others for the defined packet length to be completed in C, but without the additional component interactions.