426 lines
15 KiB
Plaintext
426 lines
15 KiB
Plaintext
{
|
|
"model": {
|
|
"alias": "response_budget",
|
|
"artifact_links": {},
|
|
"definition_mounts": {},
|
|
"definitions": {
|
|
"188b911c-5f8b-431c-9eea-2d41f3953767": {
|
|
"alias": "duration",
|
|
"body": {
|
|
"QuantityKind": {
|
|
"algebra": "Linear",
|
|
"dimension": [
|
|
0,
|
|
0,
|
|
1,
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "188b911c-5f8b-431c-9eea-2d41f3953767",
|
|
"name": "Duration"
|
|
},
|
|
"39053f37-fec9-4708-9f0a-3959d223f891": {
|
|
"alias": "millisecond",
|
|
"body": {
|
|
"Unit": {
|
|
"kind": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
},
|
|
"offset": {
|
|
"denominator": "1",
|
|
"numerator": "0"
|
|
},
|
|
"scale": {
|
|
"denominator": "1000",
|
|
"numerator": "1"
|
|
},
|
|
"symbol": "ms"
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "39053f37-fec9-4708-9f0a-3959d223f891",
|
|
"name": "Millisecond"
|
|
},
|
|
"534f4672-1ba5-4157-8b0a-b9cf41d0a3ce": {
|
|
"alias": "second",
|
|
"body": {
|
|
"Unit": {
|
|
"kind": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
},
|
|
"offset": {
|
|
"denominator": "1",
|
|
"numerator": "0"
|
|
},
|
|
"scale": {
|
|
"denominator": "1",
|
|
"numerator": "1"
|
|
},
|
|
"symbol": "s"
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce",
|
|
"name": "Second"
|
|
},
|
|
"fd7ce7ab-f789-40bc-b699-0c37f1b6902f": {
|
|
"alias": "combine",
|
|
"body": {
|
|
"Calculation": {
|
|
"body": {
|
|
"Expression": {
|
|
"Binary": {
|
|
"left": {
|
|
"Parameter": "28ff40b0-1b8f-4735-8536-5a6ab21b56cb"
|
|
},
|
|
"op": "Add",
|
|
"right": {
|
|
"Parameter": "7a47cc1e-8ae5-4551-b2d8-8a68108e0976"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"id": "28ff40b0-1b8f-4735-8536-5a6ab21b56cb",
|
|
"name": "a",
|
|
"value_type": {
|
|
"Scalar": {
|
|
"Quantity": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": "7a47cc1e-8ae5-4551-b2d8-8a68108e0976",
|
|
"name": "b",
|
|
"value_type": {
|
|
"Scalar": {
|
|
"Quantity": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"result": {
|
|
"Scalar": {
|
|
"Quantity": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "fd7ce7ab-f789-40bc-b699-0c37f1b6902f",
|
|
"name": "Combine durations"
|
|
}
|
|
},
|
|
"description": "A complete proposed analysis model. Schema 8 and the new declarations are not implemented source7 syntax.",
|
|
"diagrams": {},
|
|
"elements": {
|
|
"38036c65-16d4-449c-837b-91eb141c1d93": {
|
|
"alias": "degraded",
|
|
"body": {
|
|
"Oa": {
|
|
"Shared": {
|
|
"AnalysisCase": {
|
|
"base": "ModelBaseline",
|
|
"overrides": {
|
|
"63a931c2-675a-4fce-89e5-04361cb99450": {
|
|
"Expression": {
|
|
"Quantity": {
|
|
"magnitude": {
|
|
"denominator": "1",
|
|
"numerator": "1250"
|
|
},
|
|
"unit": {
|
|
"Local": "39053f37-fec9-4708-9f0a-3959d223f891"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"subject": null
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "38036c65-16d4-449c-837b-91eb141c1d93",
|
|
"name": "Degraded radio",
|
|
"parent": null
|
|
},
|
|
"437bedbb-2cf4-44ee-a139-6563cc5086ec": {
|
|
"alias": "limit",
|
|
"body": {
|
|
"Oa": {
|
|
"Shared": {
|
|
"EngineeringProperty": {
|
|
"base": {
|
|
"Expression": {
|
|
"Quantity": {
|
|
"magnitude": {
|
|
"denominator": "1",
|
|
"numerator": "2"
|
|
},
|
|
"unit": {
|
|
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"display_unit": {
|
|
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
|
},
|
|
"subject": {
|
|
"Element": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59"
|
|
},
|
|
"value_type": {
|
|
"Scalar": {
|
|
"Quantity": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "437bedbb-2cf4-44ee-a139-6563cc5086ec",
|
|
"name": "Allowed duration",
|
|
"parent": null
|
|
},
|
|
"4ab9a8a7-7552-488d-9862-e14b89e7b353": {
|
|
"alias": "receive",
|
|
"body": {
|
|
"Oa": "Activity"
|
|
},
|
|
"description": "",
|
|
"id": "4ab9a8a7-7552-488d-9862-e14b89e7b353",
|
|
"name": "Receive",
|
|
"parent": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59"
|
|
},
|
|
"63a931c2-675a-4fce-89e5-04361cb99450": {
|
|
"alias": "receive_time",
|
|
"body": {
|
|
"Oa": {
|
|
"Shared": {
|
|
"EngineeringProperty": {
|
|
"base": {
|
|
"Expression": {
|
|
"Quantity": {
|
|
"magnitude": {
|
|
"denominator": "1",
|
|
"numerator": "750"
|
|
},
|
|
"unit": {
|
|
"Local": "39053f37-fec9-4708-9f0a-3959d223f891"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"display_unit": {
|
|
"Local": "39053f37-fec9-4708-9f0a-3959d223f891"
|
|
},
|
|
"subject": {
|
|
"Element": "4ab9a8a7-7552-488d-9862-e14b89e7b353"
|
|
},
|
|
"value_type": {
|
|
"Scalar": {
|
|
"Quantity": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "63a931c2-675a-4fce-89e5-04361cb99450",
|
|
"name": "Receive time",
|
|
"parent": null
|
|
},
|
|
"6df991ba-4c5e-4535-99e2-524ae274ee8b": {
|
|
"alias": "dispatch",
|
|
"body": {
|
|
"Oa": "Activity"
|
|
},
|
|
"description": "",
|
|
"id": "6df991ba-4c5e-4535-99e2-524ae274ee8b",
|
|
"name": "Dispatch",
|
|
"parent": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59"
|
|
},
|
|
"99d3e09a-0ec3-4194-9dd4-9f3de6625cde": {
|
|
"alias": "unmeasured",
|
|
"body": {
|
|
"Oa": {
|
|
"Shared": {
|
|
"AnalysisCase": {
|
|
"base": "ModelBaseline",
|
|
"overrides": {
|
|
"63a931c2-675a-4fce-89e5-04361cb99450": "Unbound"
|
|
},
|
|
"subject": null
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "99d3e09a-0ec3-4194-9dd4-9f3de6625cde",
|
|
"name": "Unmeasured radio",
|
|
"parent": null
|
|
},
|
|
"bac0de99-9d2f-4e53-9158-d424ecac61bf": {
|
|
"alias": "budget",
|
|
"body": {
|
|
"Oa": {
|
|
"Shared": {
|
|
"AnalysisCheck": {
|
|
"documented_constraint": null,
|
|
"predicate": {
|
|
"Expression": {
|
|
"Binary": {
|
|
"left": {
|
|
"Property": "bd5b68e8-65fc-4e35-9071-a73061316a4b"
|
|
},
|
|
"op": "LessOrEqual",
|
|
"right": {
|
|
"Property": "437bedbb-2cf4-44ee-a139-6563cc5086ec"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"subject": null
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "bac0de99-9d2f-4e53-9158-d424ecac61bf",
|
|
"name": "Response budget",
|
|
"parent": null
|
|
},
|
|
"bd5b68e8-65fc-4e35-9071-a73061316a4b": {
|
|
"alias": "total_time",
|
|
"body": {
|
|
"Oa": {
|
|
"Shared": {
|
|
"EngineeringProperty": {
|
|
"base": {
|
|
"Expression": {
|
|
"Call": {
|
|
"arguments": {
|
|
"28ff40b0-1b8f-4735-8536-5a6ab21b56cb": {
|
|
"Property": "63a931c2-675a-4fce-89e5-04361cb99450"
|
|
},
|
|
"7a47cc1e-8ae5-4551-b2d8-8a68108e0976": {
|
|
"Property": "c33fc772-2a60-4044-9af9-73c61c563ace"
|
|
}
|
|
},
|
|
"definition": {
|
|
"Local": "fd7ce7ab-f789-40bc-b699-0c37f1b6902f"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"display_unit": {
|
|
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
|
},
|
|
"subject": {
|
|
"Element": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59"
|
|
},
|
|
"value_type": {
|
|
"Scalar": {
|
|
"Quantity": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "bd5b68e8-65fc-4e35-9071-a73061316a4b",
|
|
"name": "Total time",
|
|
"parent": null
|
|
},
|
|
"c33fc772-2a60-4044-9af9-73c61c563ace": {
|
|
"alias": "dispatch_time",
|
|
"body": {
|
|
"Oa": {
|
|
"Shared": {
|
|
"EngineeringProperty": {
|
|
"base": {
|
|
"Expression": {
|
|
"Quantity": {
|
|
"magnitude": {
|
|
"denominator": "1",
|
|
"numerator": "1"
|
|
},
|
|
"unit": {
|
|
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"display_unit": {
|
|
"Local": "534f4672-1ba5-4157-8b0a-b9cf41d0a3ce"
|
|
},
|
|
"subject": {
|
|
"Element": "6df991ba-4c5e-4535-99e2-524ae274ee8b"
|
|
},
|
|
"value_type": {
|
|
"Scalar": {
|
|
"Quantity": {
|
|
"Local": "188b911c-5f8b-431c-9eea-2d41f3953767"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"description": "",
|
|
"id": "c33fc772-2a60-4044-9af9-73c61c563ace",
|
|
"name": "Dispatch time",
|
|
"parent": null
|
|
},
|
|
"cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59": {
|
|
"alias": "respond",
|
|
"body": {
|
|
"Oa": "Activity"
|
|
},
|
|
"description": "",
|
|
"id": "cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59",
|
|
"name": "Respond",
|
|
"parent": null
|
|
}
|
|
},
|
|
"id": "4210b9f2-7046-47f0-aa3b-153f626a579d",
|
|
"imports": {},
|
|
"library_instances": {},
|
|
"name": "Response budget",
|
|
"relations": {},
|
|
"schema_version": 8,
|
|
"traces": {}
|
|
},
|
|
"packages": {},
|
|
"source": {
|
|
"entry": "active.arcadia",
|
|
"files": {
|
|
"active.arcadia": "arcadia 8;\nproject response_budget \"Response budget\" id \"4210b9f2-7046-47f0-aa3b-153f626a579d\" {\n description \"A complete proposed analysis model. Schema 8 and the new declarations are not implemented source7 syntax.\";\n\n quantity_kind duration \"Duration\" id \"188b911c-5f8b-431c-9eea-2d41f3953767\" {\n dimension { time: 1; }\n algebra Linear;\n }\n unit second \"Second\" id \"534f4672-1ba5-4157-8b0a-b9cf41d0a3ce\" {\n kind @duration; scale 1; offset 0; symbol \"s\";\n }\n unit millisecond \"Millisecond\" id \"39053f37-fec9-4708-9f0a-3959d223f891\" {\n kind @duration; scale ratio(1, 1000); offset 0; symbol \"ms\";\n }\n calculation combine \"Combine durations\" id \"fd7ce7ab-f789-40bc-b699-0c37f1b6902f\" {\n input a id \"28ff40b0-1b8f-4735-8536-5a6ab21b56cb\" : Quantity(@duration);\n input b id \"7a47cc1e-8ae5-4551-b2d8-8a68108e0976\" : Quantity(@duration);\n result Quantity(@duration);\n body $a + $b;\n }\n\n oa_activity respond \"Respond\" id \"cabec6a1-7d5d-48f3-8d2d-a7fc8cf78f59\" {\n oa_activity receive \"Receive\" id \"4ab9a8a7-7552-488d-9862-e14b89e7b353\" {}\n oa_activity dispatch \"Dispatch\" id \"6df991ba-4c5e-4535-99e2-524ae274ee8b\" {}\n }\n oa_property receive_time \"Receive time\" id \"63a931c2-675a-4fce-89e5-04361cb99450\" {\n subject @receive; type Quantity(@duration); display_unit @millisecond;\n base 750 [@millisecond];\n }\n oa_property dispatch_time \"Dispatch time\" id \"c33fc772-2a60-4044-9af9-73c61c563ace\" {\n subject @dispatch; type Quantity(@duration); display_unit @second;\n base 1 [@second];\n }\n oa_property total_time \"Total time\" id \"bd5b68e8-65fc-4e35-9071-a73061316a4b\" {\n subject @respond; type Quantity(@duration); display_unit @second;\n // The formula is shared. Every read uses the requested evaluation context.\n base @combine(a: @receive_time, b: @dispatch_time);\n }\n oa_property limit \"Allowed duration\" id \"437bedbb-2cf4-44ee-a139-6563cc5086ec\" {\n subject @respond; type Quantity(@duration); display_unit @second;\n base 2 [@second];\n }\n oa_check budget \"Response budget\" id \"bac0de99-9d2f-4e53-9158-d424ecac61bf\" {\n subject none; documented_constraint none;\n predicate @total_time <= @limit;\n }\n oa_analysis degraded \"Degraded radio\" id \"38036c65-16d4-449c-837b-91eb141c1d93\" {\n subject none; base ModelBaseline;\n overrides { @receive_time = 1250 [@millisecond]; }\n }\n oa_analysis unmeasured \"Unmeasured radio\" id \"99d3e09a-0ec3-4194-9dd4-9f3de6625cde\" {\n subject none; base ModelBaseline;\n overrides { @receive_time = unbound; }\n }\n}\n"
|
|
}
|
|
}
|
|
}
|