Research Computing Accounting Management System (RCAMS): An Inner Source Code Built with Open Source Best Practices

Research computing centers need flexible accounting systems to track consumption of compute and storage resources under a cost model that allows researchers (or their groups) to purchase capacity for their workloads [1]. An effective system must: (1) bind funding sources to the Principal Investigators (PIs) who control them, (2) link those funds to specific resource allocations, and (3) retain a complete transaction history for auditing and reporting. Existing tools—such as Moab Accounting Management and the native accounting features in SLURM—do not fully capture the complex organizational structures, funding flows, and policy constraints typical of academic research environments. To address these gaps, the Partnership for an Advanced Computing Environment (PACE) at Georgia Tech is developing the Research Computing Accounting Management System (RCAMS), an open‑source Python platform engineered from first principles with contemporary software design best practices. RCAMS features a maintainable, three‑layer architecture shown: Domain Layer: Uses SQLAlchemy ORM to represent core entities (accounts, funds, resources, organizations, owners) with built‑in data integrity checks and a full audit‑logging subsystem that records every change to the database. Operations Layer: Implements generic CRUD operations via a flat inheritance model centered on _OperationBase[T], where T is the domain entity [2]. This approach avoids deep class hierarchies and simplifies maintenance. CLI Front‑End: Inspired by Git’s user experience, the rcams command exposes subcommands for each entity (e.g., rcams account add-storage, and rcams fund get-spending-history), ensuring discoverability and consistency. To optimize performance—especially when auditing hundreds of thousands of records—RCAMS isolates each entity’s operations and CLI handlers into separate modules. This compartmentalization reduces import overhead and facilitates parallel development by multiple Research Software Engineers (RSEs) with minimal merge conflicts. Quality is enforced through a comprehensive CI/CD pipeline in GitHub Actions: linting with Ruff [3], static‑typing validation with mypy [4], over 95 % test coverage via pytest [5], automated Sphinx [6] documentation deployment to GitHub Pages, and seamless issue‑tracking updates with GitHub Projects Kanban Board. Together, these practices ensure that every release is reliable, well‑documented, and immediately deployable. RCAMS is well documented with contributor guidelines, which allows efficient onboarding for the new team members; modular design increases the parallelism in the development, greatly reduced the merge conflicts; well defined maintainer role and developer role ensure code quality; internal team working group forms a governance unit which decides the feature changs and policy enforcement. By combining modular design, performance‑optimized architecture, and fully automated development of workflows, RCAMS empowers institutions to tailor their accounting processes, enhance transparency, and streamline resource management.

Institutions

Publication Details

Journal
Zenodo (CERN European Organization for Nuclear Research)
Published
2025-10-03
DOI
https://doi.org/10.5281/zenodo.17258586
Primary Topic
Microbial infections and disease research
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Research Computing Accounting Management System (RCAMS): An Inner Source Code Built with Open Source Best Practices

Zenodo (CERN European Organization for Nuclear Research)
Microbial infections and disease research
article

Research Computing Accounting Management System (RCAMS): An Inner Source Code Built with Open Source Best Practices

article en

Abstract

Research computing centers need flexible accounting systems to track consumption of compute and storage resources under a cost model that allows researchers (or their groups) to purchase capacity for their workloads [1]. An effective system must: (1) bind funding sources to the Principal Investigators (PIs) who control them, (2) link those funds to specific resource allocations, and (3) retain a complete transaction history for auditing and reporting. Existing tools—such as Moab Accounting Management and the native accounting features in SLURM—do not fully capture the complex organizational structures, funding flows, and policy constraints typical of academic research environments. To address these gaps, the Partnership for an Advanced Computing Environment (PACE) at Georgia Tech is developing the Research Computing Accounting Management System (RCAMS), an open‑source Python platform engineered from first principles with contemporary software design best practices. RCAMS features a maintainable, three‑layer architecture shown: Domain Layer: Uses SQLAlchemy ORM to represent core entities (accounts, funds, resources, organizations, owners) with built‑in data integrity checks and a full audit‑logging subsystem that records every change to the database. Operations Layer: Implements generic CRUD operations via a flat inheritance model centered on _OperationBase[T], where T is the domain entity [2]. This approach avoids deep class hierarchies and simplifies maintenance. CLI Front‑End: Inspired by Git’s user experience, the rcams command exposes subcommands for each entity (e.g., rcams account add-storage, and rcams fund get-spending-history), ensuring discoverability and consistency. To optimize performance—especially when auditing hundreds of thousands of records—RCAMS isolates each entity’s operations and CLI handlers into separate modules. This compartmentalization reduces import overhead and facilitates parallel development by multiple Research Software Engineers (RSEs) with minimal merge conflicts. Quality is enforced through a comprehensive CI/CD pipeline in GitHub Actions: linting with Ruff [3], static‑typing validation with mypy [4], over 95 % test coverage via pytest [5], automated Sphinx [6] documentation deployment to GitHub Pages, and seamless issue‑tracking updates with GitHub Projects Kanban Board. Together, these practices ensure that every release is reliable, well‑documented, and immediately deployable. RCAMS is well documented with contributor guidelines, which allows efficient onboarding for the new team members; modular design increases the parallelism in the development, greatly reduced the merge conflicts; well defined maintainer role and developer role ensure code quality; internal team working group forms a governance unit which decides the feature changs and policy enforcement. By combining modular design, performance‑optimized architecture, and fully automated development of workflows, RCAMS empowers institutions to tailor their accounting processes, enhance transparency, and streamline resource management.

Zenodo (CERN European Organization for Nuclear Research)
Georgia Institute of Technology (US)
Partnerships for the goals
Openalex Percentile: Top 44%
Microbial infections and disease research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.