|
| 1 | +--- |
| 2 | +title: "GSoC '25 Week 2 Update by Safwan Sayeed" |
| 3 | +excerpt: "Memory Module Architecture and CRUD Operations Development" |
| 4 | +category: "DEVELOPER NEWS" |
| 5 | +date: "2025-06-15" |
| 6 | +slug: "2025-06-15-gsoc-25-sa-fw-an-week2" |
| 7 | +author: "@/constants/MarkdownFiles/authors/safwan-sayeed.md" |
| 8 | +tags: "gsoc25,sugarlabs,week2,sa-fw-an" |
| 9 | +image: "assets/Images/GSOC.png" |
| 10 | +--- |
| 11 | + |
| 12 | +<!-- markdownlint-disable --> |
| 13 | + |
| 14 | +# Week 2 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-06-09 - 2025-06-15 |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +## A Blog-style Retrospective |
| 24 | + |
| 25 | +This week was all about diving deep into the memory architecture for the Music Blocks program engine. After completing our comprehensive AST framework in week 1, we shifted focus to building the foundational memory management system that will power program execution. The challenge was designing a three-scope memory hierarchy (Global, Thread, Local) with full CRUD operations while keeping the implementation clean and focused. |
| 26 | + |
| 27 | +Working alongside Karan Palan, we expanded our tech spec to include detailed memory module specifications. The mentors provided crucial guidance on scope requirements, emphasizing the need for thread isolation, and multi-level local scope support. |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## Goals for This Week |
| 32 | + |
| 33 | +- Complete the memory module technical specification with three-scope architecture details. |
| 34 | +- Develop full CRUD operations for global variables accessible from any scope. |
| 35 | +- Implement it with tests. |
| 36 | + |
| 37 | +--- |
| 38 | + |
| 39 | +## This Week's Highlights |
| 40 | + |
| 41 | +1. **Memory Module Tech Specification** |
| 42 | + - Expanded the tech spec with comprehensive memory architecture documentation covering three-scope system. |
| 43 | + - Detailed CRUD operation requirements for global, thread, and local scope variables. |
| 44 | + - Link: [Tech Spec Document - Memory Section](https://docs.google.com/document/d/1_MCCgl-RqiEQH0UQ4EX-2O6G4iRxgHAY1rZpw3QPXT0/edit?tab=t.3xe7coiooljb#heading=h.s3q9swsg3ifd) |
| 45 | + |
| 46 | + |
| 47 | +2. **Memory Module CRUD Operations** |
| 48 | + - Started Implementing the CRUD Operations for the Scopes |
| 49 | + |
| 50 | +--- |
| 51 | + |
| 52 | +## Challenges & Solutions |
| 53 | + |
| 54 | +- **Understanding Scope Hierarchy Complexity:** |
| 55 | + The three-scope system (Global, Thread, Local) with proper variable shadowing was conceptually challenging. |
| 56 | + *Solution:* Studied the existing reference implementation and created detailed diagrams to visualize scope relationships. |
| 57 | + |
| 58 | + |
| 59 | +--- |
| 60 | + |
| 61 | +## Key Learnings |
| 62 | + |
| 63 | +- Mastered hierarchical data structure design with proper encapsulation and scope isolation. |
| 64 | +- Gained deep understanding of variable shadowing and scope resolution mechanisms. |
| 65 | +- Enhanced collaboration skills working on complex architecture with multiple contributors. |
| 66 | + |
| 67 | +--- |
| 68 | + |
| 69 | +## Next Week's Roadmap |
| 70 | + |
| 71 | +- Begin symbol table implementation building on the memory module foundation. |
| 72 | +- IR Implementation |
| 73 | +- Write comprehensive unit tests for all memory module CRUD operations. |
| 74 | + |
| 75 | +--- |
| 76 | + |
| 77 | +## Resources & References |
| 78 | + |
| 79 | +- **Tech Spec:** [Memory Module Architecture](https://docs.google.com/document/d/1_MCCgl-RqiEQH0UQ4EX-2O6G4iRxgHAY1rZpw3QPXT0/edit?tab=t.3xe7coiooljb#heading=h.s3q9swsg3ifd) |
| 80 | +- **Repository:** [musicblocks-v4](https://github.com/sugarlabs/musicblocks-v4) |
| 81 | +- **Reference Implementation:** [For conceptual guidance](https://github.com/sugarlabs/musicblocks-v4-lib/tree/develop/src/execution/scopeexecution/scope) |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +## Acknowledgments |
| 86 | + |
| 87 | +Special thanks to my mentors Anindya, Sumit, Devin, and Walter for their detailed guidance on memory architecture design and scope management. Their clarification on keeping the focus on memory module fundamentals was crucial for this week's progress. |
| 88 | + |
| 89 | +--- |
0 commit comments