GSoC 2025 - Community Bonding Report - Implementing Sloan Ordering Algorithm from Boost Graph Library to pgRouting

Community Bonding Report (May 8th - June 1st)

I performed the following tasks during the Community Bonding Period:

  • Community Introduction: Introduced myself and my project in the GSoC mailing list [1], requesting feedback and suggestions on implementing the Sloan Sparse Matrix Ordering Algorithm.

  • Wiki and Repository Setup:

    • Added the links to my project wiki page and public repository in the OSGeo Accepted Students’ wiki page [2]. Also hyperlinked my OSGeo User Profile in the Student column as required.
    • Created my own branch in the GSoC-pgRouting repository and laid out a folder structure where I would be writing the code in.
  • Project Wiki Creation: Created my GSoC project wiki page in the pgRouting repository, where I will be regularly updating weekly reports and tracking project progress [3].

  • Documentation Study: Studied Google’s GSoC students guide, OSGeo’s specific instructions, and familiarized myself with the expected reporting structure and timeline requirements.

  • Codebase Research: Studied the pgRouting codebase structure, focusing on:

    • Understanding existing algorithm implementations (particularly pgr_cuthillMckeeOrdering for reference)
    • Analyzing the C/C++ integration patterns used in pgRouting
    • Reviewing SQL function registration and documentation standards
    • Go over pgTap practices and Boost Graph Library to help with the project.
    • Go through the posgresql docs for the C-language functions.
  • Boost Graph Library Research: Analysed Boost Graph Library’s Sloan ordering implementation:

    • Analyzed the reference implementation at boost.org [4]
    • Tested the Boost example code locally to understand input/output formats
  • Community interaction:

    • Attended the regular meetings during the Community Bonding period to establish effective communication with the mentors and also get familiar with specific coding practices and guide to repository, PRs and folder structure.
    • Reviewed and approved one PR to the official repository.

What do I plan to do next week for the official coding period?

  • Create the initial C++ implementation framework with proper function signatures and data structure definitions.
  • Begin implementing the core Sloan ordering algorithm logic, focusing on the priority queue mechanism and vertex reordering strategy.
  • Start working on the PostgreSQL function registration and SQL interface definition.
  • Set up initial unit testing framework and documentation with pgTAP and docqueries.
  • Simultaneously keep updating the project wiki and commit accordingly as I progress.

Am I blocked on anything?

No.

References:
[1] GSoC Mailing List Introduction
[2] Google Summer of Code 2025 Accepted - OSGeo
[3] Project Wiki Page
[4] Boost Graph Library: Sloan Ordering
[5] GitHub - bipashabg/GSoC-pgRouting: Semi-mirror repository for GSoC students work


Regards,
Bipasha Gayary
OSGeo ID: bipashabg
GitHub: bipashabg