2

I am new to UML/SysMl and I hope you could support me in this.

So, I am trying to pass data between different parts of a block, each part has its own Activity Diagram.

I am able to pass data between those parts through proxy ports:

enter image description here

the problem I am facing is that I want the activity diagram of the receiving part to start only after the reception of data from the sending part.

The current situation is that both activity diagrams are active at the same time.

I tried to use the "Send Action" in the 'sending' side and the "Accept Event Action" in the 'receiving' side. What I understood is that I need to link both to an event, the "Send Action" raises the event and the "Accept Event Action" will catch it and move to the next action.

Sending part

Receiving Part

When I do so, I get an error during the build : enter image description here

I don't know what I'm doing wrong or if I'm even doing the right approach.

E_genin
  • 55
  • 4
  • For unknown reasons Rhapsody deviates from the standard, so I can only guess that `to p_Block_A` should be `via p_Block_A` and events are in fact signals. If my guess is right, the diagrams are correct. I have no idea, why this should not work. – Axel Scheithauer Jul 12 '23 at 09:55
  • You want to start the second activity with the reception of a signal. This reception must then be defined _outside_ of the activity, because a receive signal action _inside_ the activity is only enabled when the activity is already running. The easiest way to achieve this, is to define a reception and set the second activity as its method. – Axel Scheithauer Jul 12 '23 at 10:02
  • @AxelScheithauer, thanks for the comments. Regarding your 1st comment: the Features for the "Send Action" dos not contain a "via" attribute, it only has a "target" attribute in which I can only select p_Block_A. – E_genin Jul 12 '23 at 10:49
  • Regarding your 2nd comment: I am not sure I follow your point but I removed the "Send Action" from the sending part and tried to trigger the even from the Event Generator panel, it says "Event ignored - Instance has no root state". Please note that at the moment of the event generator, the token is already at the "Accept Event Action". Here is an example of what I'm trying to achieve : https://www.youtube.com/watch?v=sXblHYOqUFI – E_genin Jul 12 '23 at 10:50
  • The second comment is not dealing with the problems you are having with Rhapsody. It just is a reply to your statement, that you don't want the second activity to start before the reception. The way you modeled it, it must have been started before the reception, since the receive signal action is a part of it. I have no clue, what the Rhapsody error means. Since it is mentioning a state, maybe Rhapsody has the prerequisite that a state machine is definied for the block? – Axel Scheithauer Jul 12 '23 at 15:24

0 Answers0