Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Papyrus » StateMachine local vs. external transition
StateMachine local vs. external transition [message #1006568] Thu, 31 January 2013 14:42 Go to next message
Andrea Sindico is currently offline Andrea Sindico
Messages: 266
Registered: November 2010
Senior Member

According to the UML specification (2.5 b1 pag. 377)

A transition may be one of these three kinds:

internal
Implies that the Transition, if triggered, occurs without exiting or entering the source State (i.e., it does not cause a state change). This means that the entry or exit condition of the source State will not be invoked. An internal Transition can be taken even if the SateMachine is in one or more Regions nested within the associated State.

local
Implies that the Transition, if triggered, will not exit the composite (source) State, but it will exit and re-enter any state within the composite State that is in the current state configuration.

external
Implies that the Transition, if triggered, will exit the composite (source) State.

As far as I understand, the internal basically implies the execution of an Action within the source state when certain condition occurs. Am I right?
the external is the transition that actually corresponds to a change from the source state to the target state.
I can't really see the meaning of the local transition explanation. May someone please provide a simple example helping me to get it?

Regards


Follow me on Twitter @andreasindico

[Updated on: Thu, 31 January 2013 14:45]

Report message to a moderator

Re: StateMachine local vs. external transition [message #1006639 is a reply to message #1006568] Fri, 01 February 2013 05:00 Go to previous messageGo to next message
Klaas Gadeyne is currently offline Klaas Gadeyne
Messages: 86
Registered: July 2009
Member
Andrea Sindico wrote on Thu, 31 January 2013 14:42
According to the UML specification (2.5 b1 pag. 377)

A transition may be one of these three kinds:

internal
Implies that the Transition, if triggered, occurs without exiting or entering the source State (i.e., it does not cause a state change). This means that the entry or exit condition of the source State will not be invoked. An internal Transition can be taken even if the SateMachine is in one or more Regions nested within the associated State.

local
Implies that the Transition, if triggered, will not exit the composite (source) State, but it will exit and re-enter any state within the composite State that is in the current state configuration.

external
Implies that the Transition, if triggered, will exit the composite (source) State.

As far as I understand, the internal basically implies the execution of an Action within the source state when certain condition occurs. Am I right?
the external is the transition that actually corresponds to a change from the source state to the target state.
I can't really see the meaning of the local transition explanation. May someone please provide a simple example helping me to get it?

Regards


Hi,

As far as I remember, the difference is that, in the case of a "local" transition, both "exit" and "entry" actions of the state will be executed. In the case of an internal one, they will not be executed (only the action specified on the transition itself will be executed.
Re: StateMachine local vs. external transition [message #1006845 is a reply to message #1006639] Sat, 02 February 2013 14:47 Go to previous messageGo to next message
Eclipse User
Andrea,

please have also a look in the more elaborated (simlified?) UML 2.5 spec at
http://www.omg.org/spec/UML/2.5/Beta1/, section 14.2.3 and 14.2.4,
especially Figure 14.32 Local Transitions.

In short, a local transition does not exit a composite state and, thus,
never executed the exit behavior of the composite state. Local transitions
are only valid in composite states, where source and target Vertex are
different.

Regards,
Marc-Florian




"Klaas Gadeyne" schrieb im Newsbeitrag
news:keg3n4$8a9$1@xxxxxxxxe.org...

Andrea Sindico wrote on Thu, 31 January 2013 14:42
> According to the UML specification (2.5 b1 pag. 377)
>
> A transition may be one of these three kinds:
>
> internal
> Implies that the Transition, if triggered, occurs without exiting or
> entering the source State (i.e., it does not cause a state change). This
> means that the entry or exit condition of the source State will not be
> invoked. An internal Transition can be taken even if the SateMachine is in
> one or more Regions nested within the associated State.
>
> local
> Implies that the Transition, if triggered, will not exit the composite
> (source) State, but it will exit and re-enter any state within the
> composite State that is in the current state configuration.
>
> external
> Implies that the Transition, if triggered, will exit the composite
> (source) State.
>
> As far as I understand, the internal basically implies the execution of an
> Action within the source state when certain condition occurs. Am I right?
> the external is the transition that actually corresponds to a change from
> the source state to the target state.
> I can't really see the meaning of the local transition explanation. May
> someone please provide a simple example helping me to get it?
>
> Regards


Hi,

As far as I remember, the difference is that, in the case of a "local"
transition, both "exit" and "entry" actions of the state will be executed.
In the case of an internal one, they will not be executed (only the action
specified on the transition itself will be executed.
Re: StateMachine local vs. external transition [message #1006847 is a reply to message #1006845] Sat, 02 February 2013 15:22 Go to previous messageGo to next message
Andrea Sindico is currently offline Andrea Sindico
Messages: 266
Registered: November 2010
Senior Member

Hi Marc-Florian and Klaas,
I posted the same question here so that you can see the pictures of two state machines and tell me whether I have understood it or not.

http://stackoverflow.com/questions/14666095/uml-state-machines-local-vs-external-transition

thank you very much!

Regards


Follow me on Twitter @andreasindico

Re: StateMachine local vs. external transition [message #1007305 is a reply to message #1006847] Tue, 05 February 2013 08:22 Go to previous message
Klaas Gadeyne is currently offline Klaas Gadeyne
Messages: 86
Registered: July 2009
Member
Andrea Sindico wrote on Sat, 02 February 2013 15:22
Hi Marc-Florian and Klaas,
I posted the same question here so that you can see the pictures of two state machines and tell me whether I have understood it or not.

http://stackoverflow.com/questions/14666095/uml-state-machines-local-vs-external-transition

thank you very much!

Regards


I think the answer is: "It depends". If there are no exit behaviours defined in the different states (and no other triggers on the transitions, etc.) , I think (at first sight) that the behaviour of the 2 machines will be equivalent [*]. As soon as the states have exit behaviours (but you didn't display them on the diagram), they are different IMO.

(that said, I am _not_ a UML FSM expert...)

HTH,

Klaas

[*] Maybe there are also some differences wrt the run-to-completion behaviour, but I haven't looked at it close enough for that.
Previous Topic:SOUTH_EAST decoration presented in wrong corner
Next Topic:SysML & ACCELEO
Goto Forum:
  


Current Time: Thu Jul 31 03:26:40 EDT 2014

Powered by FUDForum. Page generated in 0.06574 seconds