Seminar 12: Checkpoint #3 - Evaluation and Protocol Analysis
Goal: Assess the integration of components, conduct some testing, and evaluate the overall functionality of your distributed protocols.
Introduction
In Session 12, we reach another milestone with Checkpoint #3, a concise 10-15 minute evaluation per group. This checkpoint serves as an opportunity for you to showcase the progress of your distributed system project through a demonstration and discussion.
The evaluation process will involve a demonstration where you will showcase the functionality of your system. While the demo can be simple, it should effectively highlight that your implementation is generating the expected behaviour. Additionally, you should leverage the logs you've implemented to provide insights into the inner workings of your distributed system. This practical demonstration is designed to assess your understanding of the concepts covered and the successful execution of key functionalities.
During the evaluation, there is no need to scrutinize your code. Instead, we will focus on your design decisions. Represent your choices in small diagrams, illustrating the components and their interactions. Use the diagrams as a visual aid to explain the rationale behind your design decisions. This not only demonstrates your comprehension of distributed system principles but also allows you to articulate the reasoning behind your implementation choices.
Remember, the purpose of Checkpoint #3 is to gauge your progress, offer constructive feedback, and ensure you're on the right track for the remainder of the project. Embrace this opportunity to showcase your achievements and engage in a dialogue about your distributed system design.
Task
As we approach Checkpoint #3, it's crucial to finalize your distributed system implementation, document key aspects, ensure smooth deployment, add system logs, and provide clarity through version tagging and comprehensive diagrams. These are the concrete tasks for this week:
- Finish the implementation: Complete the remaining tasks in your distributed system project, ensuring all functionalities align with the concepts covered in the sessions.
- Document Relevant Code: Provide concise and informative documentation for crucial sections of your code, aiding in understanding and evaluation.
- Docker Setup: Verify that your services can be spun up seamlessly using Docker and Docker Compose. Confirm they connect with the provided frontend or other client software to showcase the desired functionality.
- Add System Logs: Implement relevant system logs within your application to offer insights into the functioning and interactions of different components.
- Commit Changes to Repository: Commit the latest changes to your project repository, keeping it up-to-date and facilitating a smooth evaluation process.
- Create "checkpoint-3" Tag: Add a version tag "checkpoint-3" to mark this stage of your project in the repository, allowing for easy reference and tracking.
- Diagrams: Create visual documentation for your project by developing concise and informative diagrams.
- Consistency Protocol diagram: represent the choice of your consistency protocol for the database module in a diagram. Label your replicas, the executor, and the operations between them. See the lecture slides for examples of possible drawings.
- Distributed Commitment Protocol diagram: based on the protocol of your choice and your system setup, illustrate the protocol operations/messages in a diagram or sequence of pictures (2, 3 pictures in a sequence are enough). See the lecture slides for examples of possible illustrations.
- Schedule: Choose your team slot for the evaluation time here.
Evaluation
During the Checkpoint #3 evaluation, each group will have 10-15 minutes to showcase their distributed system project. Be prepared to provide a demonstration, displaying the proper functionality of your system. Emphasize the implementation of system logs to offer insights into your project's inner workings. Additionally, represent your design decisions using diagrams, providing a visual guide for a more comprehensive understanding of your distributed system. This evaluation aims to assess your progress, offer constructive feedback, and ensure alignment with the distributed system principles covered in the course. You may only enter the room in the assigned time slot. Make sure to have at least one laptop with your solution ready to be demoed and with the codebase and diagrams ready to be displayed.
Distribution of points
- 3 - Consistency protocol and the database module.
- 3 - Distributed Commitment protocol and the new service.
- 1 - Logging.
- 1 - Project organization, documentation, collaboration, and other factors...
- 1 - Consistency Protocol diagram.
- 1 - Distributed Commitment Protocol diagram.
Total: 10 points + 3 bonus points (0.75 points for each of the bonus tasks in the Consistency Protocols and Commitment Protocols sessions.)