Book a Demo

Author Topic: Creating Entry/Exit Events on States  (Read 15287 times)

Polymorph

  • EA User
  • **
  • Posts: 136
  • Karma: +4/-0
    • View Profile
Creating Entry/Exit Events on States
« on: October 29, 2015, 01:22:52 am »
I am creating state machines using SysML...

My state machine is nested underneath a block (that has several operations). I had expected to be able to pick and chose the operations from the parent block and reuse it in my state machine

I can add an effect to a transition by selecting the appropriate operation from the owning block using  the Transition Properties dialogue box.

That's great ;D, however, in other situations it is preferable to add entry/do/exit actions to a state itself...

I have worked out that I can add a copy of the operation from the original block to the specific state(s) owned by the state machine...

This is OK... but what if during subsequent work the name of the operation on my parent block changes? Then I'll have an inconsistency in my model. Is there any alternative way of doing this or must I be resigned to having a copy of something that resides elsewhere in the model?

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8110
  • Karma: +119/-20
    • View Profile
Re: Creating Entry/Exit Events on States
« Reply #1 on: October 29, 2015, 09:10:09 am »
Entry/exit on a state are modeled in EA with a function with a type of 'entry'/'exit'. What you probably want is to set the behaviour of that function to the parent operation. The relationship is then stored using a guid so if the function changes name it wont' be broken. You can then also click the 'Show Behavior in Diagram' checkbox and it shows the name.

Polymorph

  • EA User
  • **
  • Posts: 136
  • Karma: +4/-0
    • View Profile
Re: Creating Entry/Exit Events on States
« Reply #2 on: October 29, 2015, 07:32:26 pm »
Thanks that seems to be what I needed. A follow-up question: does EA provide any direct means of navigating between the two behaviours? For example, if I have one element typed by another then I can use Ctrl + Alt + G to locate its classifier. Do any similar mechanisms exist in this situation?

What I would really like to be able to do is visualise the link between these two elements in some way - maybe in the relationship matrix?