10.4 Flow Implementation Latency Analysis on Declarative Models
Flow implementation latency analysis on declarative AADL models follows the same algorithm as that for instance models except for the first step, and for possibly recording the result of the analysis as the latency property value of the flow specification.
The first step of a flow implementation latency analysis is to take into account the incoming connection of a flow path or flow sink.  If this connection is a delayed connection, then we address sampling by causing a samplingLatency to be added to the totalLatency only if the connection itself has a latency property value.  Any additional processing latency coming into the component will be handled in the enclosing flow implementation latency calculation.  If that connection declaration is not delayed the accumulated processing latency is not treated as sampled since sampling rate information is not available.  This approach makes checking against expected latency as specified in the flow specification a little less precise if the delayed connection is used on connection declarations into and out of components.  Note that the end- to-end flow latency analysis on instance models does always take into account delayed connections correctly as it operates on semantic connections.
The flow implementation latency is calculated in terms of the immediate subcomponents in the component hierarchy, not in terms of the leaf components.  In other words, the flow specification latency property value of the immediate subcomponent or its partitionLatency property is used in the calculation. The flow specification latency property value may have been explicitly specified by the user, or it may have been derived by calculating its flow implementation’s latency.  By processing the component implementation declarations bottom up, the analysis plug-in propagates calculated latency of the flow implementation up the hierarchy as flow specification latency, if no latency was specified, or if the flow implementation latency exceeds the flow specification latency.  This is done by adding a latency property association and/or updating its latency value.