Category: Team Status Report
Team Update 4/25/20
Team Update 4/18/20
We were deciding between a dynamic approach like JP’s graph demo and a non-dynamic/on-click approach like Mia’s approach using a console to display data; we’ve decided to go with a dynamic approach, since it more accurately simulates the accuracy rate during serial data transmission and was easy to make the bit streaming algorithms dynamic. Rather than simulating one transmission of data by clicking the button, clicking the button will only change the protocol currently being simulating, while the actual transmissions are continuously going + results are constantly being graphed and displayed.
Team Update 4/11/2020
We’ve not made any changes this week!
Team Update 4/4/20
We’ve not made any changes this week!
Team Update 3/28/20
These risks are being mitigated by setting times during the week that we will consistently meet at. This will force us to routinely regroup and will facilitate discussions that were previously delayed because of lack of planning.
The contingency plan is to get the GUI working + properly simulating the protocols and writing at least the convolutional codes + viterbi, UDP with windowing, reed solomon, and Turbo Codes. We realized that we should include a GUI regardless; therefore, we are prioritizing the creation and integration of the GUI over the addition of more protocols.
![](http://course.ece.cmu.edu/~ece500/projects/s20-teama3/wp-content/uploads/sites/77/2020/03/i2cDiagram-300x163.jpg)
The change was necessary because we are no longer running our software on the drivers; since our project is now simulated, we had to redesign slightly modified transactions between the GUI and the protocols. Additionally, last week, we didn’t think that we needed a GUI to simulate and verify our protocols with; we thought test benches would be sufficient. However, after several discussions this week, we realized that we should bring the GUI back.
![](http://course.ece.cmu.edu/~ece500/projects/s20-teama3/wp-content/uploads/sites/77/2020/03/belkaGUI-300x138.png)
Team Update 3/21/2020
This is not a risk we really could’ve managed given the circumstances, but our suggested contingency plan is stated in the Statement of Work.
This change was necessary because of Covid-19 affecting the physical proximity of the teammates and recognizing the physical aspect of the project would only put physical strain on one teammate instead of the team.
Since we’ve already lost time redesigning our project, we realize that we need to immediately recognize whatever problems that may arise; because we’ve already lost so much time redesigning our project, we can’t afford to loose any more time running into issues or rethinking our current implementation decisions.
The biggest issues moving forward are not being together, making communication significantly harder amongst team members; additionally, some of us are in different time zones, making meetings harder to arrange. Thus, to mitigate these costs, we have set up weekly meeting times that work for all of us regardless. Additionally, we are clearly and frequently communicating to each other should any issues arise immediately.
Team Update 3/7/2020
The risks are being managed by having this built into the slack. All pieces of code should be ready to go by the next time we meet with our components, so we can just now focus on the integration aspect of the project.
A contingency plan that would help is to get at least one protocol system working for our protocol wrapping. Then we can slowly start to add more and more tests and then eventually develop the entire system running at once. We believe that we can at least do one system in the next week if we have our components, so that is our goal for this week.
There was a change to the system that was a compromise between the decentralized and centralized models. We are also slightly changing the way that we pass data during what we call “debug” mode which sends the corrected data after an ACK. This changes the block diagram.
We also set hard requirements based off of the components that we are using to set our constraints.
This change for the architecture was necessary in order to follow our three phase plan for proof of correctness. Without this change we wouldn’t be able to remove the microcontroller and still show that our system works, but we also needed it so that we can reduce the weight we would put on the laptop that we’re using by keeping the fuzzing of data on the microcontroller still. Packet generation has now been delegated to each individual component due to the more realistic setting instead of placing it onto the fuzzing microcontroller. The costs that incurred was we took a lot of time during the design document phase to iron out our approach that we could’ve been used developing. Now we have to take time out of Spring break to catch up on our lost time.
Requirements had to be set in order to have a goal for our project. We need to work within the constraints because it limits what we can do and how we can approach the problem. Before we made this change, most of it was that we could basically try any approach and any solution was valid. Now that we have defined memory and timing constraints, we can work to improve the code that we already have.
The Gantt Chart has not changed for this week.
Team Update 2/29/2020
The risks are being managed by acknowledging and understanding the fact that we really need to determine which design to go with to prevent further hindering of our progress (we are meeting tomorrow to discuss this). Additionally, moving forward, we need to be more careful and check to make sure that we order all the components that we need when we place our orders. For now, we need to make sure that we order this cable ASAP during class on Monday. With the risks that come with both designs, we need to discuss and thoroughly justify which design to go with; by thinking through both designs and reasoning which one makes more sense with our various components, we hope to mitigate and foresee any issues that may arise. Additionally, while implementing each of our individual protocols, we need to keep in mind how each of our components will fit into the design and if any issue or complication is realized while creating the protocol, we should notify each other and discuss the issue immediately.
We have a new constraint of fitting within the time for a timeout – which includes both the transmission time and the error correction time.
The design of the system also changed to a previous approach after consultation. We moved more towards a unit testing approach to streamline how we were testing the protocols, but a pass-through approach with our ‘fuzzing’ microcontroller would be more accurate to the system we are trying to emulate. This new design will be reflected in our design document.
Our timeout was necessary because now we have working constraints to work with. If we had infinite compute time, then we could use any algorithm, but since we are more focused on the aspects of power and time, we should use the real scenario in which it will operate.
That’s also why we changed our overall design to match a more realistic approach and help us move toward our three step plan of a working product.
Neither of these changes should have a higher cost.
We do need to find a new wifi module for our TI Hercules, but this will only bring cost down because we will not have to buy as expensive of an evaluation board to achieve the same results.
We adjusted the GANTT chart to account for the individual testing of each component’s protocol and data transmission (the phases that were discussed during the presentation).
Team Update for 2/22/2020
Right now, we are prioritizing actually implementing the protocols and focusing on making sure the transactions are accurate and work. Once those portions are implemented successfully, we will begin refining our protocols and seeing which one can be better optimized. With better understanding of how error correction/detection methods, the requirements of the project should be more apparent given our better understanding of how much each protocol is capable of. We will consider what CubeRover would like for the requirements to be, but ultimately, we will use our knowledge and research to narrow down what the requirements will tentatively be by tomorrow night.
Should we not be able to determine what requirements are reasonable for our prototype, we will attempt to minimize latencies and maximize the amount of packets recoverable as best as we could. We plan to analyze each portion of our protocols to see which could be better optimized regarding time and space usage.
We didn’t make any changes to the existing design, but we did consider other designs that the professor and TA brought up. While considering other designs, it reaffirmed our beliefs and justifications regarding why we are sticking to the original design. Additionally, we added more details to the GUI’s functionality; we specified what exactly the GUI will be sending and receiving and what the communication between all components will be.
The change to the GUI was necessary to detail what we are doing and necessary to determine the best way to implements such ideas. Moreover, these details have also dictated what other components will be doing, thus affecting other implementation choices in our design as well.
No significant costs have been incurred since we are still in the Design Phase of our project. However, going back and forth between different system designs did hinder the development of the implementation detail development like which API’s and libraries to use. These costs will be mitigated by making design choices more quickly to prevent a pushback of tasks and by being able to justify and research into decisions more thoroughly.
No changes have occurred; the original Gantt chart is attached.