Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Papyrus for Real Time » local transitions using/not using entry points
local transitions using/not using entry points [message #1776573] Fri, 17 November 2017 19:55 Go to next message
Juergen Dingel is currently offline Juergen DingelFriend
Messages: 42
Registered: January 2015
Member
Hi,

I have a question about local transitions, i.e., transitions that
go from the boundary of a composite state to a substate inside
that composite state.

I thought it did not matter if such transition emanated from
an entry point (assuming no transition goes into this entry point)
or not, i.e., whether or not in the image below the transition labeled
'ping' started from the entry point or the boundary of the composite
state.

index.php/fa/31308/0/

However, in the attached model the 'ping' transition in state 'Playing' in
Ponger is not taken if connected to the (other unconnected) entry point.

Do local transitions need to start from an entry point?

Thanks

Juergen
Re: local transitions using/not using entry points [message #1776575 is a reply to message #1776573] Fri, 17 November 2017 19:59 Go to previous messageGo to next message
Juergen Dingel is currently offline Juergen DingelFriend
Messages: 42
Registered: January 2015
Member
Sorry, my last sentence should have read "Do local transitions need to start from the boundary of the composite state?"

Juergen
Re: local transitions using/not using entry points [message #1776581 is a reply to message #1776573] Fri, 17 November 2017 20:57 Go to previous messageGo to next message
Ernesto Posse is currently offline Ernesto PosseFriend
Messages: 359
Registered: March 2011
Senior Member
Right. If there are no transitions whose target is the entry point, it shouldn't matter. Maybe it's a but. I'll investigate.
Re: local transitions using/not using entry points [message #1776584 is a reply to message #1776573] Fri, 17 November 2017 21:38 Go to previous messageGo to next message
Ernesto Posse is currently offline Ernesto PosseFriend
Messages: 359
Registered: March 2011
Senior Member
I can confirm that if the transition goes from the entry point to the substate, it is not taken, but actually, the problem is kind of subtle, and I'm not sure it's a bug. If instead of using an entry point you use an exit point, it works as expected.

The idea is that Ponger is in state Playing::State2 when it receives ping, and since this state doesn't have any outgoing transitions whose trigger matches the incoming message, its containing state (Playing) is considered next. But only the "exiting" transitions of Playing are considered, and "exiting" transitions are those who leave the state or which start in one of the state's exiting points. This is because when you are taking a transition you are "leaving" the source state. In this case, you are not really leaving, but only the state's outgoing transitions are considered.

The code generator uses the following terminology (which is not "official" UML-RT terminology, but I find it useful anyway):

An outgoing transition is either a direct outogoing transition or an indirect outgoing transition. A direct outgoing transition of a state S is a transition whose source is S itself. An indirect outgoing transition of S is a transition whose source is an exit point of S.

Similarly for incoming transitions and entry points.

So in your example, when you connect the transition to the entry point, it is considered an incoming transition, not an outgoing transition, and therefore it would not become enabled when the message arrives.


Re: local transitions using/not using entry points [message #1776605 is a reply to message #1776584] Sat, 18 November 2017 11:53 Go to previous message
Juergen Dingel is currently offline Juergen DingelFriend
Messages: 42
Registered: January 2015
Member
Makes sense. Thanks for clearing this up.

Juergen
Previous Topic:Region with the same label declared on line
Next Topic:scope of trigger/message parameters
Goto Forum:
  


Current Time: Wed Nov 14 13:32:39 GMT 2018

Powered by FUDForum. Page generated in 0.02324 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top