Simplifying Complex Software Assembly: The Component Retrieval Language and Implementation
Eric L. Seidel, Gabrielle Allen, Steven Brandt, Frank L\"offler, and, Erik Schnetter

TL;DR
This paper introduces CRL, a language and tool for simplifying the assembly of complex, distributed software components across various source control systems, aiding researchers and novices.
Contribution
It presents a new language (CRL) and an implementation (GetComponents) to streamline software assembly from multiple repositories, improving accessibility and reproducibility.
Findings
Successfully demonstrated with Cactus Framework on NSF TeraGrid
Open source tool available for public use
Simplifies complex software assembly processes
Abstract
Assembling simulation software along with the associated tools and utilities is a challenging endeavor, particularly when the components are distributed across multiple source code versioning systems. It is problematic for researchers compiling and running the software across many different supercomputers, as well as for novices in a field who are often presented with a bewildering list of software to collect and install. In this paper, we describe a language (CRL) for specifying software components with the details needed to obtain them from source code repositories. The language supports public and private access. We describe a tool called GetComponents which implements CRL and can be used to assemble software. We demonstrate the tool for application scenarios with the Cactus Framework on the NSF TeraGrid resources. The tool itself is distributed with an open source license and freely…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Simulation Techniques and Applications · Scientific Computing and Data Management
