This web application architecture guidance is still in draft and is subject to change.
Calculation Libraries
This guide defines the architecture and patterns for RMC calculation libraries—standalone .NET libraries that implement engineering calculations. The primary calculation library for RMC applications is System-Response, located at C:\GitHub\System-Response.
What Is a Calculation Library?
A calculation library is a .NET class library containing engineering calculations. It has no knowledge of web frameworks, databases, or user interfaces—it is pure computational logic.
Key Concepts
What is a class library?
A class library is a collection of reusable code compiled into a .dll file. Other applications can reference this library and call its methods directly. Unlike a web application, a library doesn't run on its own—it's imported by other programs.
Why separate calculations from the web app?
- Reusability: The same calculations can be used by web apps, desktop apps, and command-line tools
- Testability: Pure calculations are easy to test—same inputs always produce same outputs
- Maintainability: Calculation logic can be versioned and updated independently
- Expertise: Domain experts can work on calculations without knowing web development
Key Properties
| Property | Description |
|---|---|
| Stateless | Same inputs always produce same outputs |
| Pure | No side effects (no database, no HTTP, no file I/O) |
| Testable | Can be validated against known reference outputs |
| Reusable | Multiple applications can consume the same library |