Sparx Systems Forum
Enterprise Architect => General Board => Topic started by: EAButNotForGames on March 04, 2025, 07:17:01 pm
-
I have a question about Sending/Recieving Signals over ports:
In a SendSignal Action you can devine a port with "On Port"
The triggers also have the option of selecting a port.
Can you limit the reception of SendSignal and AcceptEvent through ports?
Here is an example:
A block, consisting of 3 subblocks:
Each block has an activity with a diagram.
(https://media-hosting.imagekit.io//42e2aba2085d42ae/screenshot_1741075892747.png?Expires=1835683893&Key-Pair-Id=K2ZIVPTIP2VGHC&Signature=pQdpC3-KIlHq1UmCdEaOWRlKMMs4WZ5bgJHFSfE03TEcax581b~xn157jH1CcUpM1q4SI3jwek9NecGscW9NBWjSVOZlwviqdtvMfnP9-asUlg52pxqgRuuSF4Q8Us7FYxqRsocOBMUzPT7zbDbtMTqEakoYHQIdrqkmgdLXZWM2lvqQPHMmwqDimBpq5FgSghiXuxooSvVWvYjYIf6pj7diAgaD8rY1WoT6TcyTdmxXWM6WhIK95yvWR8mEnGm-ZgOP9KB0TZdXlb3VyFzaqUaGkQ28X1WQ00inbZau2MvnDVp~EAmOJhtupE4k19kaEewJcP7XC71nLc2zqblSZA__)
The IBD:
The ports are typed with interface blocks. Each has one flow property, wich is typed by a signal.
(https://media-hosting.imagekit.io//4129441a2bee4f54/screenshot_1741075924138.png?Expires=1835683925&Key-Pair-Id=K2ZIVPTIP2VGHC&Signature=sgVpq6PdV29laB4d0O1QEafjFEGAlqBxtgkrhhxbC4Esr4rgrzO5BtWLFNnr8CIiXtHng1hJFsh-Zs0x0lEAbtw9dmW1ogiEoPxMW0o7NNMIY8povwQSsj7fpoDVE3~aYQ994mkG9hWwwQRbjHEEoHXP1S44WRrDZMGWLIdEIb1KCK1jCPzvPV36S~9ABt1kRHYnj8YmzxFuV7FU97lS7D9-5TVyPMva29uZMuQc0Y2yt4XyIOxwnBaS6hc31614O~k3CdsS18niSmCP5Oeo2z1313VrK~OtfwH-a7SbylrYZ74Zj07JFVO4zfNDQ9f~byQnaOgcv1JRNWPGLHCMsA__)
The following is the activity diagram of Block0.
The 3 diagram frames below are from the subblocks.
Block2 and Block3 are both waiting for SIG_1 and SIG_2.
But only Block2 should recieve SIG_1 and Block3 SIG_2.
For this, the SendSignal SIG_1 is On Port: Port1
SendSignal SIG_2 is On Port: Port2
The Triggers of Block2 and Block3 are linked to the port of their block.
(https://media-hosting.imagekit.io//8f4958ba36594b35/Unbenannt.JPG?Expires=1835683745&Key-Pair-Id=K2ZIVPTIP2VGHC&Signature=bhQNiAalRGk9KhSWcHU72QR4~QUESO-At5wZ8hc6YMmI2-pM~1R8ZURda3k18YJlCK5bxiMhdnW7qKYlxZ~K2w8D~96la-vXEqpXifGhV1bBL9Dt01bbYoI2wTVwyl5Hotx3ter8JKWNld-3n5SO6sLOaVGC6-Ksc9fPmbILB4KVOH-BoYUuT20nYWRJ8nMo-Kk~WTTiOmQMq0388rRsaLEdS2hyGGfXaIIbC1qdl9QH8dIpHasILYPnursUh6DPEapHkdCyGpy8C7gpFaMNLhlAD79kjUU0RuUF3fIbrnNJup9k9fMrUHLT5r9UUIZPVnZQazVRW3RXQ2y1qq5ooQ__)
The problem is, that Block2 and Block3 both recieve SIG_1 and ignore SIG_2
So am I doing something wrong or does EA not support this functionality?