arcadia 8; project response_budget "Response budget" id "4210b9f2-7046-47f0-aa3b-153f626a579d" { description "A complete proposed analysis model. Schema 8 and the new declarations are not implemented source7 syntax."; quantity_kind duration "Duration" id "188b911c-5f8b-431c-9eea-2d41f3953767" { dimension { time: 1; } algebra Linear; } unit second "Second" id "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce" { kind @duration; scale 1; offset 0; symbol "s"; } unit millisecond "Millisecond" id "39053f37-fec9-4708-9f0a-3959d223f891" { kind @duration; scale ratio(1, 1000); offset 0; symbol "ms"; } calculation combine "Combine durations" id "fd7ce7ab-f789-40bc-b699-0c37f1b6902f" { input a id "28ff40b0-1b8f-4735-8536-5a6ab21b56cb" : Quantity(@duration); input b id "7a47cc1e-8ae5-4551-b2d8-8a68108e0976" : Quantity(@duration); result Quantity(@duration); body $a + $b; } oa_activity respond "Respond" id "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59" { oa_activity receive "Receive" id "4ab9a8a7-7552-488d-9862-e14b89e7b353" {} oa_activity dispatch "Dispatch" id "6df991ba-4c5e-4535-99e2-524ae274ee8b" {} } oa_property receive_time "Receive time" id "63a931c2-675a-4fce-89e5-04361cb99450" { subject @receive; type Quantity(@duration); display_unit @millisecond; base 750 [@millisecond]; } oa_property dispatch_time "Dispatch time" id "c33fc772-2a60-4044-9af9-73c61c563ace" { subject @dispatch; type Quantity(@duration); display_unit @second; base 1 [@second]; } oa_property total_time "Total time" id "bd5b68e8-65fc-4e35-9071-a73061316a4b" { subject @respond; type Quantity(@duration); display_unit @second; // The formula is shared. Every read uses the requested evaluation context. base @combine(a: @receive_time, b: @dispatch_time); } oa_property limit "Allowed duration" id "437bedbb-2cf4-44ee-a139-6563cc5086ec" { subject @respond; type Quantity(@duration); display_unit @second; base 2 [@second]; } oa_check budget "Response budget" id "bac0de99-9d2f-4e53-9158-d424ecac61bf" { subject none; documented_constraint none; predicate @total_time <= @limit; } oa_analysis degraded "Degraded radio" id "38036c65-16d4-449c-837b-91eb141c1d93" { subject none; base ModelBaseline; overrides { @receive_time = 1250 [@millisecond]; } } oa_analysis unmeasured "Unmeasured radio" id "99d3e09a-0ec3-4194-9dd4-9f3de6625cde" { subject none; base ModelBaseline; overrides { @receive_time = unbound; } } }