Sparx Systems Forum
Enterprise Architect => General Board => Topic started by: avi10000 on November 01, 2021, 05:59:21 am
-
Hi all,
Using v15.1
re: State machines - 'Select Trigger' browser cannot find my signals/receptions
I read in the book SysML Distilled page 166 that you define signals as owned by blocks:
If the state machine has a transition with a signal event trigger, then the structure that’s
executing the state machine must own a reception that has the same
name. Recall from Chapter 3, “Block Definition Diagrams,” that a reception
is a kind of behavioral feature that a block can own; it’s the
kind of behavioral feature that’s invoked upon receipt of a signal
instance.
So I define signals and their corresponding receptions,
However, when I enter the Triggers definition (select the transitiion line > then Properties > Constraints > Triggers) and set Type to Trigger and then click the Elipsis to open the Select Trigger browser,
I browse to my BDD that contains the signals and receptions , but those signals and receptions are never visible.
What I am doing wrong?
Thanks,
Avi
-
You need to create a trigger that accepts that signal. The dialog is trying to get you to select a Trigger, but you can use it to add a new one.
-
>> You need to create a trigger that accepts that signal. The dialog is trying to get you to select a Trigger, but you can use it to add a new one.
>> ... but you can use it to add a new one.
Right. I can enter a signal name right into the Name field and then click Save, and that will create a new trigger (waiting for a signal of that name, which then causes the transition). That was a stroke of luck that that worked.
But it seems to me that the way it is really supposed to work -- does not work for me (yet).
>> create a trigger that accepts that signal.
So how do I create a a trigger that accepts that signal? (procedure)
Thanks
-
Go to the 'Trigger' page of the Trigger properties window.
Click the ellipsis for the 'Specification' field.
Select the appropriate signal and press 'OK'.
Alternately, click 'Add New' and create a new Signal.
-
Btw, I am using EA v15.1
-
Hi Eve,
Thank you for your response.
So that is I what thought I have been doing.
Btw, I assume you mean to first select a state transition line.
But anyway, I followed your instructions to the 'T' , as follows, while adding some remarks.
Assuming I first select a state transition line….
1. Go to the 'Trigger' page of the Trigger properties window. Done, I think.
[Remark: In v15.1 there is a 'Trigger' pane (– not a Trigger page) within the Properties page. ]
2. Click the ellipsis for the 'Specification' field. Done, I think.
[Remark: Ok - so I click the the ellipsis button. Btw, the only ellipsis on the Properties page is next to the Name field, so that’s what I clicked.
Btw #2, you did not mention anything about first selecting the ‘Type’ (Call/Change/Signal/Time). So I left it blank, relying on you that everything will all turn out ok in the end.
Btw#3, at this point the Select Trigger browser window opens.
3. Select the appropriate signal and press 'OK'.
[Remark: None of my signals or receptions are visible. I mean those signals or receptions that I defined using the method that I assume is the “correct” (canonical) method of defining a BDD then child signals. ]
4. Alternately, click 'Add New' and create a new Signal. Done, I think.
[Remark: ‘Add New’ does not cause any action to occur. You can type a name in the Name field, and then click the ellipsis as above and this somehow forces the creation of a new event, whose name then appears next to the event transition line.
So bottom line:
1. Why cannot I see the events and receptions that I have created using the correct approach of BDDs and then adding signal children to the BDD diagram?
2. Somehow I can create the event transitions by cheating, but it gets the job done. That's the way it seems to me.
-
2. I thought signal was the default. Set it to that.
3. It should show Signals, not events or receptions.