E.18:5.2b - Position and parent-relative subflow references
Use a FlowPositionRef to point to one structural position inside one exact TFS:
FlowPositionRef := <
transformationFlowStructureRef,
localFlowPositionId
>
The pair is the complete position-reference identity. If the TFS is reidentified, the same local id resolves to a different position. A FlowValuation, PathId, PathSliceId, actual filling, DesignRunTag, value kind, and reference mode may qualify or bind a use of that position; none of them enters its identity.
Use a SubflowRef when the practitioner needs to select and revisit a detailed internal portion of one exact parent TFS without pretending that the portion is another structure:
SubflowRef := <
parentTransformationFlowStructureRef,
exactIncludedFlowPositionRefs[],
exactIncludedInternalTransferOccurrenceRefs[],
exactBoundaryFlowPositionRefs[]
>
Every included and boundary position must resolve through FlowPositionRef to the same exact parent. Every included transfer must already obtain as an internal U.Transfer occurrence in that parent. A boundary position remains a position of the parent; an internal transfer crossing from an included to an excluded parent position marks the return to the parent. This resolution supplies the parent/subflow connection. It does not introduce parthood, containment, embedding, or membership as another world-side relation.
The tuple is the complete SubflowRef identity. Replacing the parent, an included position, an included internal transfer occurrence, or a boundary position gives another reference; reidentifying the parent invalidates the old resolution. Changing only a valuation, path or slice, tag, actual filling, graph, mathematical description, publication, or demonstrative view leaves the reference unchanged while the tuple still resolves. Branching, joining, or cycling inside the portion does not make it a network.
Quick discriminator. Grinding, dosing, and wetting may be shown as a coffee-preparation subflow while their positions, internal transfers, entry, and exit all remain in one coffee-brewing TFS. If heating instead has its own TFS identity and boundary and an exact relation connects it to preparation, stop using SubflowRef and apply E.18.NET.