|
| 1 | +--- |
| 2 | +title: "GSoC '25 Week 10 Update by Safwan Sayeed" |
| 3 | +excerpt: "Design and Implementation of Scheduler for Music Blocks 4" |
| 4 | +category: "DEVELOPER NEWS" |
| 5 | +date: "2025-08-10" |
| 6 | +slug: "2025-08-10-gsoc-25-safwan-sayeed-week10" |
| 7 | +author: "@/constants/MarkdownFiles/authors/safwan-sayeed.md" |
| 8 | +tags: "gsoc25,sugarlabs,week10,sa-fw-an" |
| 9 | +image: "assets/Images/GSOC.webp" |
| 10 | +--- |
| 11 | + |
| 12 | +<!-- markdownlint-disable --> |
| 13 | + |
| 14 | +# Week 10 Progress Report by Safwan Sayeed |
| 15 | + |
| 16 | +**Project:** Music Blocks 4 Program Engine |
| 17 | +**Mentors:** [Anindya Kundu](https://github.com/meganindya/), [Sumit Srivastava](https://github.com/sum2it) |
| 18 | +**Assisting Mentors:** [Devin Ullibari](https://github.com/pikurasa/), [Walter Bender](https://github.com/walterbender) |
| 19 | +**Reporting Period:** 2025-08-04 - 2025-08-10 |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +## A Blog-style Retrospective |
| 24 | + |
| 25 | +This week I Designed and Implemented the Scheduler for Music Blocks 4. The Scheduler is responsible for managing the execution of musical blocks, ensuring that they are played in the correct order and at the right time. |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## Goals for This Week |
| 30 | + |
| 31 | +- Write a TechSpec for the Scheduler, outlining its architecture and components. |
| 32 | +- Implement the Scheduler's core functionality, focusing on the management of musical block execution. |
| 33 | +- Develop the Data Flow Diagram (DFD) for the Scheduler to visualize data movement and interactions within the system. |
| 34 | +--- |
| 35 | + |
| 36 | +## This Week's Highlights |
| 37 | + |
| 38 | +- **TechSpec for Scheduler:** |
| 39 | + Created a detailed TechSpec document that outlines the architecture and components of the Scheduler, including the timing and sequencing of musical block execution. |
| 40 | +- **Implementation of Scheduler:** |
| 41 | + Successfully implemented the core functionality of the Scheduler, focusing on the management of musical block execution. |
| 42 | + |
| 43 | +- **Data Flow Diagram (DFD):** |
| 44 | + Developed a Data Flow Diagram (DFD) to visualize the data movement and interactions within the Scheduler system, providing a clear overview of how data flows through the various components. |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | +--- |
| 49 | + |
| 50 | +## Challenges & Solutions |
| 51 | + |
| 52 | +- **Complexity of Scheduler Implementation:** |
| 53 | + The implementation of the Scheduler was complex due to the need to maintain the timing and sequencing of musical block execution. I tackled this by breaking down the implementation process into smaller, manageable components, allowing for easier debugging and testing. |
| 54 | + |
| 55 | +--- |
| 56 | + |
| 57 | +## Key Learnings |
| 58 | + |
| 59 | +- Gained a deeper understanding of scheduler design principles, particularly in the context of real-time systems. |
| 60 | +- Learned about the intricacies of managing task execution order and timing, including the challenges of maintaining system responsiveness while optimizing for performance. |
| 61 | +--- |
| 62 | + |
| 63 | +## Next Week's Roadmap |
| 64 | + |
| 65 | +- **Think about the Integration with the Masonry:** |
| 66 | + Explore how the Engine can be integrated into the Masonry to manage the execution of programs more effectively, including task prioritization and resource allocation. |
| 67 | + |
| 68 | +--- |
| 69 | + |
| 70 | +## Resources & References |
| 71 | + |
| 72 | +- **Repository:** [musicblocks-v4](https://github.com/sugarlabs/musicblocks-v4) |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## Acknowledgments |
| 77 | + |
| 78 | +Special thanks to my mentors Anindya, Sumit, Devin, and Walter for their invaluable support and guidance throughout this project. |
| 79 | + |
| 80 | +--- |
0 commit comments