9.4 Flow Latency Analysis
This analysis plug-in determines the latency of flow implementations declared for components and compares it to the latency specified by the corresponding flow specification of the component.  A detailed description of its current implementation can be found in Section 10.
The analysis performs this check for all flow implementations and their corresponding flow specifications for all component classifier declarations.  This analysis may be invoked on a system instance or a component implementation using “Analyses > Check Flow Latency” or the graphic button in the toolbar.
The latency of a flow implementation is determined as the sum of all:
The connection latencies in the flow implementation; the connection latency is determined by the Latency property value—if not declared, it is assumed to be zero.
    • The flowspec latencies of all subcomponent flowspecs in the flow implementation; the subcomponent flowspec latency is determined by its Latency property value—if no value was declared and the component is a thread, then the period is used for periodic threads, and the deadline for all other threads. Otherwise, zero latency is assumed.
The resulting latency value is then stored as a Latency property association of the flow implementation.
Finally, the latency value is compared to the latency value of the flow specification with the same name in the component type corresponding to the component implementation.  If the flow implementation latency value exceeds that of the flow specification an error is reported.
A second form of flow latency analysis is performed for end-to-end flow specifications across components.  This can take place in two ways.  First, it can analyze flows across system components that play the role of system partitions that are scheduled as virtual processors, and that do not have to be further elaborated.  The latency contribution due to partition execution is determined by the property SEI::Partition_Latency.    This permits early latency analysis of integrated systems through a high-level  model of major subsystems based on specification information without expanding into subsystem details.
Second, end-to-end flow through threads, devices, and processor can be analyzed.  In this case, both the flow specification latency and the latency due to execution characteristics such as period, deadline, and immediate or delayed connection, are taken into account in calculating the total latency.
Communication latency is currently taken into account if specified as connection latency.
In the future, the analysis will include communication latencies due to specific bindings of the application system to the execution platform.