How to use deep history in Papyrus-RT [message #1758353] |
Mon, 27 March 2017 22:26  |
Eclipse User |
|
|
|
Hi,
I am trying to use the deep history feature. But could not draw a transition that is originated from an entry point of a composite state and uses a deep history point placed inside the composite state as it's target. Papyrus-RT does not allow me to choose the deep history point as the target. Any feedback would be really helpful.
Thanks
|
|
|
Re: How to use deep history in Papyrus-RT [message #1758354 is a reply to message #1758353] |
Mon, 27 March 2017 22:46   |
Eclipse User |
|
|
|
In UML-RT you *always* have deep-history. This means that when a transition ends at the boundary of a composite state or in an entry point that does not have a following transition segment inside the composite state, it is as if it ended up in the deep-history pseudo-state. Hence, the deep-history pseudo-state is redundant and unnecessary.
So, say that you have a composite state S1 with sub-states S11 and S12, with a transition t11 from S11 to S12, and an initial transition t10 to S11. Also suppose that there is a transition t1 that ends at S1's boundary. Then, the first time the transition t1 is taken, it will follow S1's initial transition t10 into S11. Suppose that then transition t11 is taken and end up in S12. And also suppose that later you exit S1 altogether. Now, if you exit S1, and take t1 again, then it will return to S12, rather than take the initial transition t10. There is no need for a deep-history pseudo state because it is implicit.
|
|
|
|
|
Re: How to use deep history in Papyrus-RT [message #1758434 is a reply to message #1758381] |
Tue, 28 March 2017 12:25   |
Eclipse User |
|
|
|
Just to add to Peter's response, the rule I described indeed is for *any* transition that ends at the boundary of a composite state. There is no difference between t1, the first time you get to S1, or any other transition such as t2 that comes from elsewhere. Furthermore, this rule even holds for transitions coming from *inside* the composite state. For example. you can draw a transition t12 from S12 to S1's boundary and it will implicitly go to history, so in effect, when you take t12, it will go to history and therefore it will go back to S12. The same holds for internal transitions. An internal transition t12 from S1 to S1 is essentially both a group transition and a transition into history, so it will potentially be enabled in any substate of S1, and if taken, it will go back to the sub state that was active when it triggered.
|
|
|
Re: How to use deep history in Papyrus-RT [message #1758489 is a reply to message #1758434] |
Wed, 29 March 2017 05:04  |
Eclipse User |
|
|
|
Hi,
And as a followup to Ernesto's response, you can take a look at the screen shot attached to bug 511738. There you have an example also for transition t1 coming from State1 inside of the composiste state State2. You can see the H* annotation also showing on the exit point (since it does not have a continuing transition on the outside of the composite state).
Keep in mind that this is a screen shot from the legacy tooling, but the proposal with this bug is to introduce something similar also in Papyrus-RT.
Hope this clarifies it even further.
/Peter Cigéhn
|
|
|
Powered by
FUDForum. Page generated in 0.07674 seconds