Architecture
Budgets & TPMs
Roll mass, power, cost or any quantity up the system structure with part counts, contingency, allocations and margins, and track technical performance measures against a planned profile.
Overview
Architecture → Budgets & TPMs has two tabs:
- Budget rolls a resource (mass, power, cost, data rate or any numeric attribute) up an asset tree. Each line shows its current best estimate, contingency, allocation and margin, so you see at once which subsystem is over its share.
- TPMs tracks technical performance measures: Measures with a threshold, an objective, a planned value per milestone and a history of estimates, charted with a status of On track, At risk or Breach.
Both read values with their units (12 kg, 3.5 W, $1.2M) and convert them, so subsystems can report in different units.
Concepts
Current best estimate, contingency and margin
| Term | Meaning |
|---|---|
| Unit Value | One item's own value, e.g. one reaction wheel's mass. |
| Count | How many of the item its parent holds. |
| CBE (current best estimate) | Unit Value × Count for a leaf; the sum of its parts for a parent. |
| Basis | How the value was obtained: Estimated, Calculated or Measured. |
| Contingency | A reserve for growth: CBE × the basis's contingency %. |
| CBE + Cont. | The value you plan against. |
| Allocation | The share of the resource the line may use (for all its instances). |
| Margin | Allocation − (CBE + contingency). Margin % = Margin ÷ Allocation. |
| Required margin | The margin % below which a line is flagged ▲ Low. |
Default contingency by basis: Estimated 15 %, Calculated 10 %, Measured 3 %. Default required margin: 10 %. Both are set per quantity.
Where values come from
For the chosen quantity name (for example Mass), each item's own value is read from, in order:
- An attribute of the item with that name.
- A Characteristic with that name that specifies the item, using its Value and Units.
- For Cost only: the Cost entities the item incurs, summed from their Amount and Units.
A plain number without units takes the budget's unit. The allocation is read the same way from an attribute or Characteristic named <quantity> Allocation (e.g. Mass Allocation) when none is typed in the budget.
Count
The count of an item comes from, in order: the Multiplicity on its decomposition (set on the composition line of a Block Definition Diagram; a range such as 2..4 counts its upper bound), else the item's Quantity attribute, else 1. The same counts are used by Rollup… in the inspector and by the Hierarchy diagram.
Roll-up
A leaf contributes Unit Value × Count. A parent with at least one valued part shows the sum of its parts times its own count, and its own value is ignored (a ⚠ note says so). Its contingency % is the weighted result of its parts.
Units and quantities
Values are quantities: a number with a unit. Holarch converts between units of the same kind and refuses to add different kinds (a power value in a mass budget is flagged and left out). Supported units include:
| Kind | Units |
|---|---|
| Mass | g (with SI prefixes, e.g. kg, mg), t/tonne, lb/lbm/lbs, oz, slug, ton |
| Length | m (SI prefixes), in, ft, yd, mi, nmi, mil, au, ly |
| Time | s (SI prefixes), min, h/hr, d, wk, mo, yr |
| Power and energy | W, J, Wh, cal, eV (SI prefixes, e.g. kW, kWh), hp, BTU |
| Force and pressure | N, lbf, kgf, dyn; Pa, bar, atm, psi, ksi, torr, mmHg, inHg |
| Electrical | A, V, Ω/ohm, Ah (SI prefixes) |
| Frequency | Hz (SI prefixes), rpm |
| Data and data rate | bit/b, B (SI and binary prefixes: kB = 1000 B, KiB = 1024 B), KB; bps, Bps, Kbps (SI prefixes, e.g. Mbps) |
| Angle | rad, deg/°, arcmin, arcsec, rev |
| Temperature | K, °C, °F, °R; differences Δ°C, Δ°F |
| Area and volume | ha, acre, m^2; L (SI prefixes), gal, qt, pt, floz, cc, m^3 |
| Speed | mph, kph, kn, fps, m/s; acceleration gn, m/s^2 |
| Ratio and count | %, ppm, ppb, ea/each/pcs/count |
| Cost (US dollars) | $/USD, $K, $M, $B (also $1.2M) |
Compound units are written with /, *, ^ or per: ft/min, W/m^2, kg*m/s^2, N·m, sq ft. Unit names are accepted too (kilograms, watts). A word that is not a unit (4 motors) becomes its own kind and only adds to the same word. Other currencies are kept as their own unit and are not converted.
Technical performance measures
A TPM is a Measure with the TPM label. It uses these attributes:
| Attribute | Use |
|---|---|
| Current Estimate | The latest estimate or measurement with units, e.g. 10.4 kg. Every change is recorded in the history. When empty, Value is used. |
| Threshold Value | The worst acceptable value. Beyond it the TPM is in Breach. |
| Objective Value | The value you aim for. |
| Improvement Direction | Positive (higher is better, the default) or Negative (lower is better). With N/A, lower is better when the objective is below the threshold. |
| Tolerance | Percent the estimate may fall behind the plan before the TPM is At risk. |
| Units | The unit of a plain number. |
The planned profile is a list of milestones, each with a date and planned value. The planned value for today is interpolated linearly between milestones (flat before the first and after the last).
Status, in order:
| Status | Rule |
|---|---|
| ✕ Breach | The current estimate is worse than the threshold. |
| ▲ At risk | The estimate is worse than today's planned value by more than the tolerance. |
| ✓ On track | Otherwise. |
| No data | No current estimate. |
How to use it
When and why
Resource budgets start at concept definition, as soon as there is a top-level allocation (a launch mass, a power envelope, a cost cap), and they are refreshed at every design review as estimates become calculations and then measurements. They answer does the design still fit, and where is the margin? TPMs follow the few parameters that decide mission success (mass, power margin, data rate, range) from requirements review to acceptance, and answer are we converging on the requirement on schedule? Choose as TPMs the parameters whose breach would force a redesign, and derive their thresholds from requirements.
Set up a budget
- Open Architecture → Budgets & TPMs, Budget tab.
- Click Select Root Asset… and pick the system (e.g. the spacecraft).
- In Quantity, choose Mass, Power, Cost or Data Rate, or type any attribute or Characteristic name; the list offers every name already used on assets.
- In Unit, type the display unit (e.g.
kg). Leave it empty to use the unit of the largest value. - Set Required margin and Contingency by basis.
Result: the tree lists the root and every part below it. Lines without a value show an empty Unit Value field.
Enter values and allocations
- Type each leaf's value with its unit in Unit Value (
2.4 kg,850 g). If the item has no attribute or Characteristic of that name yet, a Characteristic is created and linked (Creates a "Mass" Characteristic). - Choose its Basis: Estimated, Calculated or Measured. The Cont. column updates.
- For parts used more than once without a multiplicity, type the Count.
- Type an Allocation on the root and on each line that has one (
12 kg). - Read the summary tiles and the Margin columns: ✓ is fine, ▲ Low is below the required margin, ✕ Over exceeds the allocation. A ⚠ after a name explains a problem on that line (point at it).
- Click Export XLSX in the top bar for a workbook with status colours.
Track a TPM
- Create a Measure (in the Database or from the palette of a Radar diagram), link it to the asset it describes with specified by, and add the TPM label.
- Set its Threshold Value, Objective Value, Improvement Direction and Tolerance.
- Open the TPMs tab and click the Measure's row.
- Click + Milestone for each review: Milestone (e.g.
PDR), Date, Planned value (12 kg), then Add. - Type the Current Estimate as the design matures. Each change adds an Automatic point to Estimate History; changes within one minute replace the previous automatic point.
- Click Take Snapshot to record the current value at a moment you choose (for example at a review), and type a Note next to it.
- Read the chart (current estimate, planned profile, threshold, objective, breach region and today) and the status beside the name.
Worked example: the CubeSat EO-1 demo
Create the demo with Manage Projects → Project Files ▾ → Create Demo Project, then open Architecture → Budgets & TPMs.
- The Budget tab opens on 1 EO-1 Spacecraft, quantity Mass, unit
kg, required margin 10 %. The tiles read: Current best estimate 9.63 kg, Contingency 0.7656 kg (7.95%), CBE + contingency 10.3956 kg, Allocation 12 kg, Margin 1.6044 kg (13.4%), Status ✓ Margin met. - 1.2.1 Reaction Wheel Assembly shows ×4 in Count (multiplicity 4 on the BDD): 0.13 kg each, CBE 0.52 kg, Measured, 3 % contingency. 1.3.1 Solar Arrays shows ×2.
- 1.1 Payload Camera is flagged ▲ Low: 2.4 kg Calculated + 10 % = 2.64 kg against a 2.75 kg allocation leaves 0.11 kg, a 4 % margin, under the 10 % required. Options: measure the camera (Measured cuts contingency to 3 %, giving 2.472 kg and a 10.1 % margin), find mass elsewhere and raise the allocation, or accept the risk.
- Change Quantity to Power Draw. The root reads CBE 23 W, CBE + contingency 25 W, allocation 28 W, margin 3 W (10.7%). Solar Arrays and Battery Pack draw no power and have no value.
- Open the TPMs tab. Three TPMs are listed:
- TPM-1 Spacecraft Mass: 10.4 kg, threshold 12 kg, objective 10 kg, lower is better: ✓ On track.
- TPM-2 Orbit-Average Power Margin: 10.7 %, threshold 10 %, objective 20 %: ▲ At risk, 10.7% is below the planned 19.71% for today. The history shows the drop at PDR (PDR: payload heater load added).
- TPM-3 Payload Downlink Rate: 10 Mbps against a threshold of 8 Mbps: ✓ On track.
- Select TPM-2 and type
9.5 %as Current Estimate. The status turns ✕ Breach (9.5% is below the threshold 10%.), a point is added to the history, and the TPM breaches card on Home and the Architecture badge count it. Press ⌘Z to undo.
Tips and good practice
- Budget leaves, allocate branches. Put Unit Values on the lowest items you can estimate and allocations on subsystems; the parents add up by themselves.
- Move items from Estimated to Calculated to Measured as the design matures. The contingency falls with each step, which is how real margin is recovered.
- Keep the basis honest: a catalogue mass is Calculated until the flight unit is weighed.
- Set the allocations of the children so they add up to no more than the parent's. A parent whose children's allocations exceed its own shows ⚠ Child allocations total …, more than this allocation.
- Link each TPM to the requirement it tracks (specifies), and set the threshold from that requirement.
- Take a snapshot at each review so the history shows the value the review saw.
- Common mistake: a value in the wrong kind of unit, such as
6 Win the mass budget. The line shows ⚠ power value in a mass budget. Fix the units. and is left out of the sum. - Common mistake: a plain number such as
12typed into a budget with no unit set. It is read in the unit of the other values; type the unit to be sure. - Common mistake: a TPM whose Improvement Direction is Positive by default while lower is better (mass, cost, latency). Set Negative, or the status reads On track while the value grows.
How it connects to other features
- Fed by: the asset decomposition and its multiplicities (Asset and Block Definition diagrams); Characteristics on assets, also used by Parametric diagrams; Cost entities for cost budgets; interface data rates (see Interfaces).
- Feeds: TPM breaches on Home (the TPM breaches card and a next action Close 1 TPM breach: …) and the Architecture badge; model check Measure.1 (which compares a Measure's Projected Value, or Value, with its Threshold Value); the Radar diagram (Value, Projected, Threshold and Objective of Measures); trade studies, whose criteria often use the same quantities (Risk & Decisions); verification, where a Measure can carry a simulation result for a requirement (Verification).
- Parametric values: a Parametric diagram binds Characteristics to constraint equations such as
P_oa >= P_load * (1 + M_req)and solves them with the same units. Solved values are written to the Characteristics, so a budget or TPM that reads them updates. See SysML diagrams and Parametric Diagram.
Budget tab
Controls
| Control | Use |
|---|---|
| Root asset | Select Root Asset… (or the current root) opens the asset picker. Ports are excluded. |
| Quantity | Name to roll up. The list offers Mass, Power, Cost, Data Rate, every numeric, text, percent or duration Asset attribute, and every Characteristic name used on an asset with a numeric value. |
| Unit | Display unit (placeholder auto), e.g. kg, lb, W, $K, Mbps. |
| Required margin | Percent, 0–100. |
| Contingency by basis | Estimated, Calculated, Measured, each 0–500 %. |
Unit, required margin and contingency are saved per quantity, so the mass and power budgets keep their own settings. Changes to these settings are undoable; choosing the root or the quantity is not an edit and is not on the undo stack.
Summary tiles
Current best estimate, Contingency (with %), CBE + contingency, Allocation, Margin (with %) and Status for the root:
| Status | Meaning |
|---|---|
| ✓ Margin met | Margin at or above the required margin. |
| ▲ Margin below N% | Positive margin, below the required margin. |
| ✕ Over allocation | CBE + contingency exceeds the allocation. |
| Set an allocation on the root | Values exist but the root has no allocation. |
| No values yet | No line has a value. |
Table
| Column | Content |
|---|---|
| Item | Number and name (link to the Entity View), ▾/▸ to collapse, ⚠ with the line's problems on hover. |
| Count | ×N from a multiplicity (hover for it), or an editable Quantity field (placeholder 1). Empty for the root. |
| Unit Value | Editable own value for leaves; Σ parts for parents with valued parts. Disabled when the value comes from Cost entities. Hover shows the source. |
| Basis | Estimated, Calculated, Measured for leaves with a value; Roll-up for parents. |
| Cont. | Contingency %. |
| CBE | Unit Value × Count, or the sum of parts. |
| Contingency | Contingency amount. |
| CBE + Cont. | Total. |
| Allocation | Editable allocation for the line (all instances). |
| Margin / Margin % | Allocation − total. |
| (flag) | ✓, ▲ Low (Margin below the required N%) or ✕ Over (CBE + contingency exceeds the allocation). |
A note under the table restates the rules. Collapsed branches are remembered.
Export XLSX
Writes <root> <quantity> Budget.xlsx with one sheet: Item (indented), Number, Count, Count Source, Unit Value, Basis, Contingency %, CBE (<unit>), Contingency, CBE + Contingency, Allocation, Margin, Margin %, Status (Over allocation red, Below required margin yellow, OK green). The header row is frozen.
TPMs tab
List
Show All Measures lists every Measure instead of only those with the TPM label; the note beside it counts them. The table shows Measure, Current Estimate, Threshold, Objective, Planned Today and Status. Click a row to show its detail below.
Detail card
- Heading: the Measure (link), its status chip and the status message.
- Current Estimate (placeholder e.g. 11.8 kg), Threshold, Objective, Better when (higher or lower).
- Take Snapshot and + Milestone.
- The chart: Current estimate, Planned profile, Threshold, Objective, Breach region and a line for today. Point at a point for its value, date and note.
- Planned Profile: Milestone, Date, Planned Value, each editable, and × (Remove milestone).
- Estimate History (newest first): Date, Value, Source (Automatic or Snapshot), editable Note, × (Remove point).
Export XLSX
Writes TPM Report.xlsx with three sheets: Status (Number, Name, Current Estimate, Threshold, Objective, Planned Today, Status with colour, Detail), Planned Profile (Measure, Milestone, Date, Planned Value) and History (Measure, Date, Value, Source, Note).
Shortcuts
| Key | Action |
|---|---|
| ⌘Z / ⇧⌘Z | Undo or redo any value, basis, allocation, setting, milestone or snapshot change |
The tab is part of the address: budgets opens Budget, budgets/tpm opens TPMs.
Messages
| Message | Meaning and fix |
|---|---|
| No root asset is selected. Use Select Root Asset… to choose the system to budget. | Pick a root. |
| No item under <root> has a value for "<quantity>". Enter values in the Unit Value column, or add a "<quantity>" attribute or Characteristic to the parts. | Nothing to roll up yet. |
| Unknown unit "<unit>". Enter a unit such as kg, W or $. | The display unit is not recognised. |
| "<text>" is not a number with units. Enter a value such as 12 kg. | An allocation, milestone or estimate could not be read. |
| "<value>" is not a number with units. (⚠) | A line's own value could not be read. |
| <kind> value in a <kind> budget. Fix the units. (⚠) | A value of another kind, left out of the sum. |
| The allocation is <kind>; the budget is <kind>. (⚠) | The allocation has the wrong kind of unit. |
| Own value <x> is replaced by the sum of its parts. (⚠) | A parent has its own value and valued parts. |
| Child allocations total <x>, more than this allocation. (⚠) | Over-allocated children. |
| No Measure has the TPM label. Add the TPM label to a Measure, or select Show All Measures. | No TPMs yet. |
| This project has no Measures. Create a Measure in the Database to track it. | No Measures at all. |
| No plan or history yet. Add milestones or take a snapshot. | Empty chart. |
| No current estimate to record. Enter one first. | Take Snapshot without an estimate. |
| Date is missing. Pick a date. | Add Milestone without a date. |
| Snapshot recorded | Take Snapshot succeeded. |
| <x> is below the threshold <y>. / … above the threshold … | Breach. |
| <x> is below the planned <y> for today. / … above the planned … | At risk. |
| Meets the threshold <y> and the plan. / Meets the threshold <y>. / No threshold set. | On track. |
Limits
- One budget root and quantity is shown at a time; switch the quantity to see another budget.
- Contingency is set per basis for the whole budget, not per line.
- A multiplicity range counts its upper bound.
- Values in currencies other than US dollars are not converted to dollars.
Related
- Interfaces — data rates and capacity checks use the same units.
- Verification — verify the requirements a TPM tracks.
- Risk & Decisions — trade studies that use budget quantities as criteria.
- SysML diagrams — multiplicities on the BDD and parametric constraints.
- Help: Budgets & TPMs, Track Budgets and TPMs, Parametric Diagram, Block Definition Diagram, Radar Diagram, Model Checks.
Last updated October 7, 2026