The following are the rules for both Internal and External routers:
● Within the chart of the basic/control activity, where a data-element is used/affected, that element must explicitly flow to/from the activity or one of its ancestors.
● In a specific scope, there could be only one Internal Router <XXX>, but there may exist multiple occurrences of External Routers <XXX>, which all resolve to the Internal one.
● An External occurrence of a Router may also exist within the same chart as the Internal Router to which it resolves.
● Since multiple occurrences of a single router may exist in one chart (maximum of one internal, and multiple external occurrences), the flow lines to/from all occurrences in the chart are considered flowing to/from the router in that chart (similar to the current behavior of external activities).
● The source and target activities of each element flowing through an Internal Router (or through an external occurrence in the definition chart of the internal router) must be identified within the same chart.This rule also applies to signals that are input to a router.
● All data-flows to/from an External Router (in charts lower in the hierarchy than the router’s definition chart) must have a corresponding data-flow to/from that router in the closest ancestor chart where an occurrence of the router exists (which is not necessarily the parent chart).
Note: This restriction means that data elements cannot be transferred through a router that is defined higher in the hierarchy than the data element’s definition because then there could not be a “corresponding data flow to/from the router’s occurrence in the closest ancestor chart where such an occurrence exists.” Eventually, the “closest ancestor chart where such an occurrence exists” would be the chart where the internal router is defined.