Tags and keywords
The top-level Keypad
activity simply loops over invocations of CatchN
, which will handle receipt of our keypad Signals N0
, N1
etc.
The activity SendDigitViaPort
sends a digit via the port o:~I_Keypad
(note that InvocationAction::onPort is set).
And the SendSignalAction::target is ... the keypad
!
The spec is a bit confusing here. When you send without a Port you are in fact sending directly to the "remote" 'target', and then this makes sense:
UML-2.5.1: 'SendSignalAction::target: The InputPin that provides the target object to which the Signal instance is sent'
But when you are sending through a Port, there is no locally-known remote 'target', all that is known is the owner of the Port, where the owner of the Port is essentially the "sender"!