EWL - Update UML statemachine model [message #1084389] |
Sun, 11 August 2013 12:59 |
|
Hello All,
I am working on updating UML statemachine model using EWL and I have some problem in some part of my implementation.
My problem is about adding guard and effect to transitions of my uml statemachine diagram.
I define new transition with following code:
var oTransition = new Transition;
Then I set values for some properties of this transition with following lines:
oTransition.container = oContainingRegion;
oTransition.source = oSourceState;
oTransition.target = oTargetState;
oTransition.name = 'SomeName';
Also I must to set effect of this transition with this statement:
LS=oSourceState.name
LS is one variable of type String that value of this variable is the name of source state of this transition. Now I want to add this statement in effect of "oTransition", but I don't know how?
Notice: "oTransition" may has other effect and I need to add "LS=oSourceState.name" in effect of "oTransition" without omitting current transition effect.
//TODO: oTransition.effect = oTransition.effect and (LS=oSourceState.name);
Also I have some problem in adding guard of transition. I need to add below constraint in my transition guard:
LS==someName
//TODO: oTransition.`guard` = (LS==someName );
How I can do this?
Best Regards,
Amin
[Updated on: Sun, 11 August 2013 13:00] Report message to a moderator
|
|
|
Re: EWL - Update UML statemachine model [message #1085053 is a reply to message #1084389] |
Mon, 12 August 2013 11:39 |
|
It's a bit difficult to understand what you're trying to do without having the metamodel. Could you explain the changes you intend to do in terms of your metamodel?
In particular, please describe more in detail how you represent the "effect" of a transition, and the "statements". If you run into errors, please tell us the concrete error messages as well.
|
|
|
Re: EWL - Update UML statemachine model [message #1085242 is a reply to message #1085053] |
Mon, 12 August 2013 16:41 |
|
Dear Antonio Garcia,
My source and target metamodel is UML metamodel for UML statemachine. I want to add effect and guard for transitions of my uml statemachine model.
The definition of transition in UML statemachine metamode is like below:
trigger [guard] / effect
------------------------->
To browse the UML metamodel you can use the EPackage Registry view [1].
[1] http://eclipse.org/epsilon/doc/articles/epackage-registry-view/
I do not encounter with any errors (I do not set any value for guard of effect of my newly created transitions).
Best Regards,
Amin
|
|
|
|
Re: EWL - Update UML statemachine model [message #1086133 is a reply to message #1086028] |
Tue, 13 August 2013 21:36 |
|
Dear Antonio Garcia,
With regardless of what I want to doing and what is my source and target model, consider that I want to define one new UML statemachine transition and add below value for effect and guard of my transition, respectively:
effect = (LS = 'someName')
guard = (LS=='someName')
How I can do these in ewl?
I use have below source code:
var oTransition = new Transition; // define one transition
//TODO: oTransition.`guard` = (LS=='someName')
//TODO: oTransition.effect = (LS='someName')
Best Regards,
Amin
|
|
|
Re: EWL - Update UML statemachine model [message #1087478 is a reply to message #1086133] |
Thu, 15 August 2013 18:04 |
|
Normally, when I need to transform a model in a particular way, the quickest way to find out the code I need to write is to use the regular model editors to do it manually, and then use the Exeed model editor to find out exactly which types I have to use and which attributes and structural features I need to change. For that, the "Show Structural Info" in the Exeed menu of the Exeed editor is really useful (screenshot attached).
This is usually faster than looking at the EPackage Registry view, especially with complex metamodels such as UML. With all this information, I only have to write the appropriate EOL code and then use it from the EWL wizard.
Anyway, I went ahead and created manually a model with a transition, and then wrote a simple EOL fragment that will add a transition from A to B with an OpaqueExpression as guard and an OpaqueBehavior as effect. I hope you can use it as a reference .
|
|
|
Re: EWL - Update UML statemachine model [message #1088107 is a reply to message #1087478] |
Fri, 16 August 2013 15:37 |
|
Dear Antonio Garcia,
Thank you for your very useful guidance.
I want to set the value of my String Variable(LS) in the effect of my transition and compare the value of this variable with some name in the guard of other transitions. How I can identify that LS is one string variable? In your example, can you add one value assignment for one string variable (LS) in effect of transition (DoSomething in your code --> LS = 'SomeStringValue')?
Best Regards,
Amin
|
|
|
|
Powered by
FUDForum. Page generated in 0.04030 seconds