diff --git a/alisa/org.osate.verify/META-INF/MANIFEST.MF b/alisa/org.osate.verify/META-INF/MANIFEST.MF
index 5be6474a035..4212f167f19 100644
--- a/alisa/org.osate.verify/META-INF/MANIFEST.MF
+++ b/alisa/org.osate.verify/META-INF/MANIFEST.MF
@@ -24,7 +24,7 @@ Require-Bundle: org.eclipse.xtext;bundle-version="[2.20.0,3.0.0)";visibility:=re
org.osate.reqspec;bundle-version="[2.0.0,3.0.0)",
org.junit;bundle-version="[4.11.0,5.0.0)",
org.osate.analysis.architecture;bundle-version="[1.0.0,2.0.0)",
- org.osate.analysis.flows;bundle-version="[3.0.0,4.0.0)",
+ org.osate.analysis.flows;bundle-version="[4.0.0,5.0.0)",
org.osate.analysis.resource.budgets;bundle-version="[3.0.0,4.0.0)",
org.osate.analysis.resource.management;bundle-version="[2.0.0,3.0.0)",
org.eclipse.core.runtime;bundle-version="[3.10.0,4.0.0)",
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testBestCaseFullQueue/queuing.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testBestCaseFullQueue/queuing.result
index 7f4f7e5cc6f..169e6ab4281 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testBestCaseFullQueue/queuing.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testBestCaseFullQueue/queuing.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -47,6 +50,7 @@
+
@@ -59,6 +63,7 @@
+
@@ -84,6 +89,7 @@
+
@@ -93,6 +99,7 @@
+
@@ -102,6 +109,7 @@
+
@@ -127,6 +135,7 @@
+
@@ -136,6 +145,7 @@
+
@@ -145,6 +155,7 @@
+
@@ -160,6 +171,7 @@
+
@@ -185,6 +197,7 @@
+
@@ -194,6 +207,7 @@
+
@@ -203,6 +217,7 @@
+
@@ -218,6 +233,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/bound_to_processor.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/bound_to_processor.result
index 50a56984708..17cee113760 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/bound_to_processor.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/bound_to_processor.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -45,6 +48,7 @@
+
@@ -57,6 +61,7 @@
+
@@ -66,6 +71,7 @@
+
@@ -77,6 +83,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/bound_to_vb.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/bound_to_vb.result
index 63e79fba675..80c243edfe1 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/bound_to_vb.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/bound_to_vb.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -48,6 +51,7 @@
+
@@ -60,6 +64,7 @@
+
@@ -69,6 +74,7 @@
+
@@ -83,6 +89,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/categories.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/categories.result
index 52ef6e1f616..177c41dd295 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/categories.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/categories.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -47,6 +50,7 @@
+
@@ -62,6 +66,7 @@
+
@@ -90,6 +95,7 @@
+
@@ -99,6 +105,7 @@
+
@@ -108,6 +115,7 @@
+
@@ -120,6 +128,7 @@
+
@@ -148,6 +157,7 @@
+
@@ -157,6 +167,7 @@
+
@@ -166,6 +177,7 @@
+
@@ -178,6 +190,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/categories2.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/categories2.result
index bf5d99c72c7..d19beb4c746 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/categories2.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/categories2.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -47,6 +50,7 @@
+
@@ -62,6 +66,7 @@
+
@@ -90,6 +95,7 @@
+
@@ -99,6 +105,7 @@
+
@@ -108,6 +115,7 @@
+
@@ -120,6 +128,7 @@
+
@@ -148,6 +157,7 @@
+
@@ -157,6 +167,7 @@
+
@@ -166,6 +177,7 @@
+
@@ -178,6 +190,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/component_instance_as_segment.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/component_instance_as_segment.result
index 54946914cad..f5b229bf413 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/component_instance_as_segment.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/component_instance_as_segment.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -53,6 +57,7 @@
+
@@ -62,6 +67,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/connect_to_subcomponent.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/connect_to_subcomponent.result
index 1f92a66a2c8..fbf05e31464 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/connect_to_subcomponent.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/connect_to_subcomponent.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -62,6 +66,7 @@
+
@@ -77,6 +82,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/data_port_connection.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/data_port_connection.result
index e023db3e5d1..85c0b158330 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/data_port_connection.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/data_port_connection.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/dispatch.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/dispatch.result
index 80a7f23d325..6a3d8113d83 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/dispatch.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/dispatch.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -69,6 +73,7 @@
+
@@ -78,6 +83,7 @@
+
@@ -87,6 +93,7 @@
+
@@ -112,6 +119,7 @@
+
@@ -121,6 +129,7 @@
+
@@ -130,6 +139,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/dispatch2.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/dispatch2.result
index 3e0409f43dc..4454292ac94 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/dispatch2.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/dispatch2.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -47,6 +50,7 @@
+
@@ -65,6 +69,7 @@
+
@@ -93,6 +98,7 @@
+
@@ -102,6 +108,7 @@
+
@@ -111,6 +118,7 @@
+
@@ -126,6 +134,7 @@
+
@@ -154,6 +163,7 @@
+
@@ -163,6 +173,7 @@
+
@@ -172,6 +183,7 @@
+
@@ -187,6 +199,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/empty.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/empty.result
index 73c9ed5b714..3d782b748c0 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/empty.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/empty.result
@@ -5,6 +5,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/execution_time.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/execution_time.result
index c55a073060c..242c01ef54a 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/execution_time.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/execution_time.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -72,6 +76,7 @@
+
@@ -81,6 +86,7 @@
+
@@ -90,6 +96,7 @@
+
@@ -115,6 +122,7 @@
+
@@ -124,6 +132,7 @@
+
@@ -133,6 +142,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/hardware.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/hardware.result
index f61bafc28b9..ef87c282877 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/hardware.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/hardware.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -47,6 +50,7 @@
+
@@ -56,6 +60,7 @@
+
@@ -71,6 +76,7 @@
+
@@ -99,6 +105,7 @@
+
@@ -108,6 +115,7 @@
+
@@ -117,6 +125,7 @@
+
@@ -126,6 +135,7 @@
+
@@ -147,6 +157,7 @@
+
@@ -175,6 +186,7 @@
+
@@ -184,6 +196,7 @@
+
@@ -193,6 +206,7 @@
+
@@ -202,6 +216,7 @@
+
@@ -217,6 +232,7 @@
+
@@ -245,6 +261,7 @@
+
@@ -254,6 +271,7 @@
+
@@ -263,6 +281,7 @@
+
@@ -272,6 +291,7 @@
+
@@ -293,6 +313,7 @@
+
@@ -321,6 +342,7 @@
+
@@ -330,6 +352,7 @@
+
@@ -339,6 +362,7 @@
+
@@ -348,6 +372,7 @@
+
@@ -363,6 +388,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/immediate.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/immediate.result
index 9592cd8015c..7fff19eece4 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/immediate.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/immediate.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -53,6 +57,7 @@
+
@@ -62,6 +67,7 @@
+
@@ -71,6 +77,7 @@
+
@@ -96,6 +103,7 @@
+
@@ -105,6 +113,7 @@
+
@@ -114,6 +123,7 @@
+
@@ -123,6 +133,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/latency.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/latency.result
index ea0591184a3..7439ea93b74 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/latency.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/latency.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -51,6 +54,7 @@
+
@@ -60,6 +64,7 @@
+
@@ -71,6 +76,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/negative_time.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/negative_time.result
index fde97fbc21f..e48678403c3 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/negative_time.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/negative_time.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -54,6 +57,7 @@
+
@@ -63,6 +67,7 @@
+
@@ -72,6 +77,7 @@
+
@@ -83,6 +89,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/no_parition_latency.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/no_parition_latency.result
index 9fbf9ccf7ab..4ab67235922 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/no_parition_latency.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/no_parition_latency.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -68,6 +72,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/not_in_schedule.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/not_in_schedule.result
index 56ca17a3ceb..a824d58d398 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/not_in_schedule.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/not_in_schedule.result
@@ -5,6 +5,7 @@
+
@@ -32,6 +33,7 @@
+
@@ -47,6 +49,7 @@
+
@@ -56,6 +59,7 @@
+
@@ -74,6 +78,7 @@
+
@@ -83,6 +88,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/other_parition_in_schedule.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/other_parition_in_schedule.result
index 4d5a22c1410..e705df75d0a 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/other_parition_in_schedule.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/other_parition_in_schedule.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -50,6 +52,7 @@
+
@@ -59,6 +62,7 @@
+
@@ -68,6 +72,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition1.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition1.result
index cd254f478de..b29cad1f6c2 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition1.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition1.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -62,6 +66,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition10.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition10.result
index ee2891fb564..6ba240a0283 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition10.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition10.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -62,6 +66,7 @@
+
@@ -71,6 +76,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition11.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition11.result
index 3b1119d3fb2..07ba17442e4 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition11.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition11.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -62,6 +66,7 @@
+
@@ -74,6 +79,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition12.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition12.result
index 789294bceb3..0360e4e6fba 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition12.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition12.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -56,6 +60,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition13.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition13.result
index d1e1728b9db..4b9470ab93b 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition13.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition13.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -53,6 +57,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition2.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition2.result
index 89a0933fbd7..153b8149515 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition2.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition2.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -65,6 +69,7 @@
+
@@ -74,6 +79,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition3.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition3.result
index df2a2453325..00b8323c60d 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition3.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition3.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -50,6 +52,7 @@
+
@@ -59,6 +62,7 @@
+
@@ -68,6 +72,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition4.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition4.result
index 46cd2c7133f..fbf06f84fdc 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition4.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition4.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -47,6 +49,7 @@
+
@@ -56,6 +59,7 @@
+
@@ -68,6 +72,7 @@
+
@@ -77,6 +82,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition5.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition5.result
index 830322cfc3d..6265ef6085b 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition5.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition5.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -62,6 +66,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition6.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition6.result
index 32158c1210d..fd0a5655d6f 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition6.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition6.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -65,6 +69,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition7.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition7.result
index 67e90a730ee..e3bfa3ebd9f 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition7.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition7.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -65,6 +69,7 @@
+
@@ -74,6 +79,7 @@
+
@@ -86,6 +92,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition8.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition8.result
index c3119617dd3..d0797f6bdc9 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition8.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition8.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -62,6 +66,7 @@
+
@@ -74,6 +79,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition9.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition9.result
index 2caf28b899c..ab554d0d92b 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition9.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition9.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -53,6 +56,7 @@
+
@@ -62,6 +66,7 @@
+
@@ -74,6 +79,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition_duration.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition_duration.result
index 09373fbc7ac..a2365626301 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition_duration.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/partition_duration.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -53,6 +57,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/queuing.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/queuing.result
index 1a8195b9084..54b2a6d6130 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/queuing.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/queuing.result
@@ -5,6 +5,7 @@
+
@@ -29,6 +30,7 @@
+
@@ -38,6 +40,7 @@
+
@@ -47,6 +50,7 @@
+
@@ -59,6 +63,7 @@
+
@@ -84,6 +89,7 @@
+
@@ -93,6 +99,7 @@
+
@@ -102,6 +109,7 @@
+
@@ -130,6 +138,7 @@
+
@@ -139,6 +148,7 @@
+
@@ -148,6 +158,7 @@
+
@@ -163,6 +174,7 @@
+
@@ -191,6 +203,7 @@
+
@@ -200,6 +213,7 @@
+
@@ -209,6 +223,7 @@
+
@@ -224,6 +239,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/required_vb1.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/required_vb1.result
index 78171ce8ccc..6a879ce1aa5 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/required_vb1.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/required_vb1.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -81,6 +85,7 @@
+
@@ -90,6 +95,7 @@
+
@@ -106,6 +112,7 @@
+
@@ -118,6 +125,7 @@
+
@@ -127,6 +135,7 @@
+
@@ -138,6 +147,7 @@
+
@@ -175,6 +185,7 @@
+
@@ -184,6 +195,7 @@
+
@@ -200,6 +212,7 @@
+
@@ -212,6 +225,7 @@
+
@@ -224,6 +238,7 @@
+
@@ -233,6 +248,7 @@
+
@@ -244,6 +260,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/required_vb2.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/required_vb2.result
index dae222e6bbe..b5faf1c222a 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/required_vb2.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/required_vb2.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -81,6 +85,7 @@
+
@@ -90,6 +95,7 @@
+
@@ -106,6 +112,7 @@
+
@@ -118,6 +125,7 @@
+
@@ -130,6 +138,7 @@
+
@@ -139,6 +148,7 @@
+
@@ -150,6 +160,7 @@
+
@@ -187,6 +198,7 @@
+
@@ -196,6 +208,7 @@
+
@@ -212,6 +225,7 @@
+
@@ -224,6 +238,7 @@
+
@@ -236,6 +251,7 @@
+
@@ -248,6 +264,7 @@
+
@@ -257,6 +274,7 @@
+
@@ -268,6 +286,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/transmission_time1.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/transmission_time1.result
index 936b8eaf897..cba49f5866c 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/transmission_time1.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/transmission_time1.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -59,6 +62,7 @@
+
@@ -93,6 +97,7 @@
+
@@ -102,6 +107,7 @@
+
@@ -112,6 +118,7 @@
+
@@ -127,6 +134,7 @@
+
@@ -136,6 +144,7 @@
+
@@ -147,6 +156,7 @@
+
@@ -181,6 +191,7 @@
+
@@ -190,6 +201,7 @@
+
@@ -200,6 +212,7 @@
+
@@ -212,6 +225,7 @@
+
@@ -221,6 +235,7 @@
+
@@ -232,6 +247,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/transmission_time2.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/transmission_time2.result
index 30291f9a72d..b4f502c5b4b 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/transmission_time2.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testFlowLatency/transmission_time2.result
@@ -5,6 +5,7 @@
+
@@ -35,6 +36,7 @@
+
@@ -44,6 +46,7 @@
+
@@ -59,6 +62,7 @@
+
@@ -93,6 +97,7 @@
+
@@ -102,6 +107,7 @@
+
@@ -112,6 +118,7 @@
+
@@ -124,6 +131,7 @@
+
@@ -133,6 +141,7 @@
+
@@ -144,6 +153,7 @@
+
@@ -178,6 +188,7 @@
+
@@ -187,6 +198,7 @@
+
@@ -197,6 +209,7 @@
+
@@ -209,6 +222,7 @@
+
@@ -218,6 +232,7 @@
+
@@ -229,6 +244,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testWithLatencyReport/empty.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testWithLatencyReport/empty.result
index 73c9ed5b714..3d782b748c0 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testWithLatencyReport/empty.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testWithLatencyReport/empty.result
@@ -5,6 +5,7 @@
+
diff --git a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testWorstCaseExecutionTime/execution_time.result b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testWorstCaseExecutionTime/execution_time.result
index 2d8e59c0035..8643e060040 100644
--- a/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testWorstCaseExecutionTime/execution_time.result
+++ b/analyses/org.osate.analysis.flows.tests/models/FlowLatencyCodeCoverage/results/testWorstCaseExecutionTime/execution_time.result
@@ -5,6 +5,7 @@
+
@@ -26,6 +27,7 @@
+
@@ -35,6 +37,7 @@
+
@@ -44,6 +47,7 @@
+
@@ -69,6 +73,7 @@
+
@@ -78,6 +83,7 @@
+
@@ -87,6 +93,7 @@
+
@@ -112,6 +119,7 @@
+
@@ -121,6 +129,7 @@
+
@@ -130,6 +139,7 @@
+
diff --git a/analyses/org.osate.analysis.flows/META-INF/MANIFEST.MF b/analyses/org.osate.analysis.flows/META-INF/MANIFEST.MF
index 0263193ada0..9b6dbadd95b 100644
--- a/analyses/org.osate.analysis.flows/META-INF/MANIFEST.MF
+++ b/analyses/org.osate.analysis.flows/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.osate.analysis.flows;singleton:=true
-Bundle-Version: 3.0.1.qualifier
+Bundle-Version: 4.0.0.qualifier
Bundle-Activator: org.osate.analysis.flows.FlowanalysisPlugin
Bundle-Vendor: CMU-SEI
Bundle-Localization: plugin
diff --git a/analyses/org.osate.analysis.flows/help/markdown/latency.md b/analyses/org.osate.analysis.flows/help/markdown/latency.md
index 5b80da3b307..493e428a68a 100644
--- a/analyses/org.osate.analysis.flows/help/markdown/latency.md
+++ b/analyses/org.osate.analysis.flows/help/markdown/latency.md
@@ -742,6 +742,7 @@ The values of the contribution are stored in the following order:
4. Maximum latency spec value as real/double in milliseconds (ms)
5. Method to determine best-case actual latency (String)
6. Method to determine worst-case actual latency (String)
+7. The name of the flow specification being followed through the contributor. If the contributor is a connection, this is the empty string. If the contributor is a component, the string is `fs.getKind() + " " + fs.getName()` where `fs` is the `FlowSpecification` object.
For details on methods to determine actual latency see section [Latency Analysis Report Content](latency.html#latency-analysis-report-content).
diff --git a/analyses/org.osate.analysis.flows/pom.xml b/analyses/org.osate.analysis.flows/pom.xml
index 778fbf8129f..359ae367710 100644
--- a/analyses/org.osate.analysis.flows/pom.xml
+++ b/analyses/org.osate.analysis.flows/pom.xml
@@ -12,7 +12,7 @@
org.osate
org.osate.analysis.flows
- 3.0.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
eclipse-plugin
diff --git a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/FlowLatencyAnalysisSwitch.java b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/FlowLatencyAnalysisSwitch.java
index 95a4959583d..c09b3e0ebeb 100644
--- a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/FlowLatencyAnalysisSwitch.java
+++ b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/FlowLatencyAnalysisSwitch.java
@@ -255,7 +255,7 @@ private void mapComponentInstance(final EndToEndFlowInstance etef, final FlowEle
// period is set, and if thread, abstract, or device needs to be dispatched as periodic
// We sample only data ports. Event and event data ports have queuing latency
LatencyContributorComponent samplingLatencyContributor = new LatencyContributorComponent(
- componentInstance, report.isMajorFrameDelay());
+ componentInstance, flowElementInstance, report.isMajorFrameDelay());
samplingLatencyContributor.setSamplingPeriod(period);
if ((InstanceModelUtil.isThread(componentInstance) || InstanceModelUtil.isDevice(componentInstance))
&& !GetProperties.hasAssignedPropertyValue(componentInstance, "Dispatch_Protocol")) {
@@ -291,7 +291,7 @@ private void mapComponentInstance(final EndToEndFlowInstance etef, final FlowEle
// The periodic component is the first component in the ETEF
// record fact that first element is periodic so we can process synchronous behavior correctly
LatencyContributorComponent samplingLatencyContributor = new LatencyContributorComponent(
- componentInstance, report.isMajorFrameDelay());
+ componentInstance, flowElementInstance, report.isMajorFrameDelay());
samplingLatencyContributor.setBestCaseMethod(LatencyContributorMethod.FIRST_PERIODIC);
samplingLatencyContributor.setWorstCaseMethod(LatencyContributorMethod.FIRST_PERIODIC);
entry.addContributor(samplingLatencyContributor);
@@ -306,6 +306,7 @@ private void mapComponentInstance(final EndToEndFlowInstance etef, final FlowEle
List schedule = FlowLatencyUtil.getModuleSchedule(firstPartition);
double partitionDuration = FlowLatencyUtil.getPartitionDuration(firstPartition, schedule);
LatencyContributorComponent platencyContributor = new LatencyContributorComponent(firstPartition,
+ flowElementInstance,
report.isMajorFrameDelay());
if (!FlowLatencyUtil.isInSchedule(firstPartition, schedule)) {
platencyContributor.reportWarning("Partition not found in ARINC653 schedule of processor "
@@ -340,6 +341,7 @@ private void mapComponentInstance(final EndToEndFlowInstance etef, final FlowEle
worstmethod = LatencyContributorMethod.UNKNOWN;
LatencyContributorComponent processingLatencyContributor = new LatencyContributorComponent(componentInstance,
+ flowElementInstance,
report.isMajorFrameDelay());
if (responseTimeHigher != 0.0) {
@@ -397,7 +399,7 @@ private void mapComponentInstance(final EndToEndFlowInstance etef, final FlowEle
// take into account queuing delay
if (incomingConnectionFI != null) {
double qs = 0;
- LatencyContributorComponent ql = new LatencyContributorComponent(componentInstance,
+ LatencyContributorComponent ql = new LatencyContributorComponent(componentInstance, flowElementInstance,
report.isMajorFrameDelay());
if (GetProperties.hasAssignedPropertyValue(incomingConnectionFI, CommunicationProperties.QUEUE_SIZE)) {
qs = GetProperties.getQueueSize(incomingConnectionFI);
@@ -473,6 +475,7 @@ private void mapConnectionInstance(final EndToEndFlowInstance etef, final FlowEl
double partitionDuration = FlowLatencyUtil.getPartitionDuration(srcPartition, schedule);
if (partitionDuration > 0) {
LatencyContributor ioLatencyContributor = new LatencyContributorComponent(srcPartition,
+ flowElementInstance,
report.isMajorFrameDelay());
if (!FlowLatencyUtil.isInSchedule(srcPartition, schedule)) {
ioLatencyContributor.reportWarning("Partition not found in ARINC653 schedule of processor "
@@ -565,6 +568,7 @@ private void mapConnectionInstance(final EndToEndFlowInstance etef, final FlowEl
List schedule = FlowLatencyUtil.getModuleSchedule(dstPartition);
double partitionDuration = FlowLatencyUtil.getPartitionDuration(dstPartition, schedule);
LatencyContributorComponent platencyContributor = new LatencyContributorComponent(dstPartition,
+ flowElementInstance,
report.isMajorFrameDelay());
if (!FlowLatencyUtil.isInSchedule(dstPartition, schedule)) {
platencyContributor.reportWarning("Partition not found in ARINC653 schedule of processor "
diff --git a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyCSVReport.java b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyCSVReport.java
index 58066e29396..bb5de14b0ac 100644
--- a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyCSVReport.java
+++ b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyCSVReport.java
@@ -1,18 +1,18 @@
/**
- * Copyright (c) 2004-2020 Carnegie Mellon University and others. (see Contributors file).
+ * Copyright (c) 2004-2020 Carnegie Mellon University and others. (see Contributors file).
* All Rights Reserved.
- *
+ *
* NO WARRANTY. ALL MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY
* KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE
* OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT
* MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
- *
+ *
* This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Created, in part, with funding and support from the United States Government. (see Acknowledgments file).
- *
+ *
* This program includes and/or can make use of certain third party source code, object code, documentation and other
* files ("Third Party Software"). The Third Party Software that is used by this program is dependent upon your system
* configuration. By using this program, You agree to comply with any and all relevant Third Party Software terms and
@@ -82,6 +82,12 @@ private static StringBuffer getReportContent(AnalysisResult ar) {
private static void addContributor(StringBuffer report, Result contributor, boolean subcontributor) {
String comp = FlowLatencyUtil.getContributorType(contributor.getModelElement()) + " "
+ FlowLatencyUtil.getFullComponentContributorName((contributor.getModelElement()));
+
+ String flowSpecName = ResultUtil.getString(contributor, 6);
+ if (!flowSpecName.isEmpty()) {
+ comp = comp + " (" + flowSpecName + ")";
+ }
+
if (subcontributor) {
comp = "(" + comp + ")";
}
diff --git a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributor.java b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributor.java
index cfd7a5f7a44..17f7ef04931 100644
--- a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributor.java
+++ b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributor.java
@@ -238,6 +238,8 @@ protected String getFullComponentContributorName() {
return "";
}
+ protected abstract String getFlowSpecName();
+
protected abstract String getContributorType();
public void setSynchronous() {
@@ -518,6 +520,7 @@ public Result genResult() {
addRealValue(result, expectedMax);
addStringValue(result, mapMethodToString(bestCaseMethod));
addStringValue(result, mapMethodToString(worstCaseMethod));
+ addStringValue(result, getFlowSpecName());
/**
* We also add the lines of all the sub-contributors.
*/
@@ -561,7 +564,7 @@ public List export(int level) {
myLine.setSeverity(ReportSeverity.INFO);
myLine.addContent(levelOpenLabel(level) + this.getContributorType() + " "
- + this.getFullComponentContributorName() + levelCloseLabel(level));
+ + this.getFullComponentContributorName() + " " + getFlowSpecName() + levelCloseLabel(level));
if (this.expectedMin != 0.0) {
myLine.addContent(this.expectedMin + "ms");
} else {
diff --git a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributorComponent.java b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributorComponent.java
index 3f48e947bff..87215aa532f 100644
--- a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributorComponent.java
+++ b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributorComponent.java
@@ -1,18 +1,18 @@
/**
- * Copyright (c) 2004-2020 Carnegie Mellon University and others. (see Contributors file).
+ * Copyright (c) 2004-2020 Carnegie Mellon University and others. (see Contributors file).
* All Rights Reserved.
- *
+ *
* NO WARRANTY. ALL MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY
* KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE
* OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT
* MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
- *
+ *
* This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Created, in part, with funding and support from the United States Government. (see Acknowledgments file).
- *
+ *
* This program includes and/or can make use of certain third party source code, object code, documentation and other
* files ("Third Party Software"). The Third Party Software that is used by this program is dependent upon your system
* configuration. By using this program, You agree to comply with any and all relevant Third Party Software terms and
@@ -26,9 +26,12 @@
import org.osate.aadl2.ComponentCategory;
import org.osate.aadl2.ComponentClassifier;
import org.osate.aadl2.ComponentType;
+import org.osate.aadl2.FlowSpecification;
import org.osate.aadl2.NamedElement;
import org.osate.aadl2.VirtualBus;
import org.osate.aadl2.instance.ComponentInstance;
+import org.osate.aadl2.instance.FlowElementInstance;
+import org.osate.aadl2.instance.FlowSpecificationInstance;
/**
* A latency Result represents something in the flow
@@ -41,9 +44,24 @@
*
*/
public class LatencyContributorComponent extends LatencyContributor {
+ private final FlowSpecification flowSpec;
+
public LatencyContributorComponent(NamedElement ci, boolean majorFrameDelay) {
+ this(ci, null, majorFrameDelay);
+ }
+
+ /**
+ * @since 4.0
+ */
+ public LatencyContributorComponent(NamedElement ci, FlowElementInstance flowElement, boolean majorFrameDelay) {
super(majorFrameDelay);
this.relatedElement = ci;
+
+ FlowSpecification fs = null;
+ if (flowElement instanceof FlowSpecificationInstance) {
+ fs = ((FlowSpecificationInstance) flowElement).getFlowSpecification();
+ }
+ flowSpec = fs;
}
@Override
@@ -71,4 +89,13 @@ protected String getContributorType() {
return "component";
}
+ @Override
+ protected String getFlowSpecName() {
+ if (flowSpec != null) {
+ return flowSpec.getKind() + " " + flowSpec.getName();
+ } else {
+ return "";
+ }
+ }
+
}
diff --git a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributorConnection.java b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributorConnection.java
index 72864c6ad18..d502bf34db1 100644
--- a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributorConnection.java
+++ b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyContributorConnection.java
@@ -1,18 +1,18 @@
/**
- * Copyright (c) 2004-2020 Carnegie Mellon University and others. (see Contributors file).
+ * Copyright (c) 2004-2020 Carnegie Mellon University and others. (see Contributors file).
* All Rights Reserved.
- *
+ *
* NO WARRANTY. ALL MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY
* KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE
* OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT
* MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
- *
+ *
* This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Created, in part, with funding and support from the United States Government. (see Acknowledgments file).
- *
+ *
* This program includes and/or can make use of certain third party source code, object code, documentation and other
* files ("Third Party Software"). The Third Party Software that is used by this program is dependent upon your system
* configuration. By using this program, You agree to comply with any and all relevant Third Party Software terms and
@@ -60,4 +60,8 @@ protected String getContributorType() {
return "connection";
}
+ @Override
+ protected String getFlowSpecName() {
+ return "";
+ }
}
diff --git a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyExcelReport.java b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyExcelReport.java
index dbd4c265a00..7eba8ec9b30 100644
--- a/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyExcelReport.java
+++ b/analyses/org.osate.analysis.flows/src/org/osate/analysis/flows/model/LatencyExcelReport.java
@@ -1,18 +1,18 @@
/**
- * Copyright (c) 2004-2020 Carnegie Mellon University and others. (see Contributors file).
+ * Copyright (c) 2004-2020 Carnegie Mellon University and others. (see Contributors file).
* All Rights Reserved.
- *
+ *
* NO WARRANTY. ALL MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY
* KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE
* OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT
* MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
- *
+ *
* This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Created, in part, with funding and support from the United States Government. (see Acknowledgments file).
- *
+ *
* This program includes and/or can make use of certain third party source code, object code, documentation and other
* files ("Third Party Software"). The Third Party Software that is used by this program is dependent upon your system
* configuration. By using this program, You agree to comply with any and all relevant Third Party Software terms and
@@ -166,6 +166,10 @@ private static void addContributor(WritableSheet sheet, int row, Result contribu
throws WriteException {
String comp = FlowLatencyUtil.getContributorType(contributor.getModelElement()) + " "
+ FlowLatencyUtil.getFullComponentContributorName(contributor.getModelElement());
+ String flowSpecName = ResultUtil.getString(contributor, 6);
+ if (!flowSpecName.isEmpty()) {
+ comp = comp + " (" + flowSpecName + ")";
+ }
if (subcontributor) {
comp = "(" + comp + ")";
}
diff --git a/analyses/org.osate.analysis.resource.budgets/META-INF/MANIFEST.MF b/analyses/org.osate.analysis.resource.budgets/META-INF/MANIFEST.MF
index 80164d7d4d9..8346a4d8d96 100644
--- a/analyses/org.osate.analysis.resource.budgets/META-INF/MANIFEST.MF
+++ b/analyses/org.osate.analysis.resource.budgets/META-INF/MANIFEST.MF
@@ -16,7 +16,7 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.115.0,4.0.0)",
org.osate.aadl2.modelsupport;bundle-version="[4.0.0,5.0.0)",
org.osate.xtext.aadl2.properties;bundle-version="[1.2.0,3.0.0)",
org.osate.analysis.architecture;bundle-version="[1.0.0,2.0.0)",
- org.osate.analysis.flows;bundle-version="[3.0.0,4.0.0)",
+ org.osate.analysis.flows;bundle-version="[4.0.0,5.0.0)",
org.osate.results;bundle-version="[2.0.0,3.0.0)"
Bundle-ActivationPolicy: lazy
Export-Package: org.osate.analysis.resource.budgets,
diff --git a/analyses/org.osate.plugins.feature/feature.xml b/analyses/org.osate.plugins.feature/feature.xml
index 70dff39dc1a..ad61e644839 100644
--- a/analyses/org.osate.plugins.feature/feature.xml
+++ b/analyses/org.osate.plugins.feature/feature.xml
@@ -2,7 +2,7 @@
org.osate
org.osate.plugins.feature
- 4.0.1-SNAPSHOT
+ 5.0.0-SNAPSHOT
eclipse-feature
diff --git a/ba/org.osate.ba.feature/feature.xml b/ba/org.osate.ba.feature/feature.xml
index b1f1e768041..03704815b85 100644
--- a/ba/org.osate.ba.feature/feature.xml
+++ b/ba/org.osate.ba.feature/feature.xml
@@ -2,7 +2,7 @@
diff --git a/ba/org.osate.ba.feature/pom.xml b/ba/org.osate.ba.feature/pom.xml
index 0c9933c9fc8..99234d903be 100644
--- a/ba/org.osate.ba.feature/pom.xml
+++ b/ba/org.osate.ba.feature/pom.xml
@@ -12,7 +12,7 @@
org.osate
org.osate.ba.feature
- 3.0.1-SNAPSHOT
+ 3.1.0-SNAPSHOT
eclipse-feature
diff --git a/ba/org.osate.ba/META-INF/MANIFEST.MF b/ba/org.osate.ba/META-INF/MANIFEST.MF
index 964b5d284fa..76cfc2edd2c 100644
--- a/ba/org.osate.ba/META-INF/MANIFEST.MF
+++ b/ba/org.osate.ba/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.osate.ba;singleton:=true
-Bundle-Version: 3.0.1.qualifier
+Bundle-Version: 3.1.0.qualifier
Bundle-ClassPath: .,
resources/libs/antlr-runtime-4.4.jar
Bundle-Vendor: %providerName
diff --git a/ba/org.osate.ba/pom.xml b/ba/org.osate.ba/pom.xml
index db23539c1f3..fbfc32aec38 100644
--- a/ba/org.osate.ba/pom.xml
+++ b/ba/org.osate.ba/pom.xml
@@ -12,7 +12,7 @@
org.osate
org.osate.ba
- 3.0.1-SNAPSHOT
+ 3.1.0-SNAPSHOT
eclipse-plugin
diff --git a/core/org.osate.build.coverage.report/pom.xml b/core/org.osate.build.coverage.report/pom.xml
index 430cf7acddb..67b6d6da719 100644
--- a/core/org.osate.build.coverage.report/pom.xml
+++ b/core/org.osate.build.coverage.report/pom.xml
@@ -113,7 +113,7 @@
org.osate
org.osate.analysis.flows
- 3.0.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
true
compile
@@ -526,7 +526,7 @@
org.osate
org.osate.ba
- 3.0.1-SNAPSHOT
+ 3.1.0-SNAPSHOT
true
compile