Hi,
I am using EA Systems Engineering edition, ver. 7.5.
I am attempting to significantly modify the code generation templates (for state machines) to use the Boost Statechart library:
http://www.boost.org/doc/libs/1_34_1/libs/statechart/doc/index.htmlBoost will provide more functionality than is available with the default EA code generation.

However, I am stumbling on something, enumerating triggers. The Boost library needs me to enumerate all triggers that are referenced by the state machine. How do I do this?
The default template iterates through all transitions and enumerates all triggers for each transition. The problem is that if multiple transitions use the same trigger event, that trigger will be listed as a duplicate. And this will cause compile-time errors in the generated code.

My idea:
In the EA User Guide, the EASL Collections topic states that I can get
TimedTriggers and AsynchTriggers from a Classifier. Indeed, I can enumerate all of my TimedTriggers, but I cannot enumerate the AsynchTriggers or any other trigger types. For the Classifier, I've tried using classGUID and StateMachineGUID. Is there another classifier that I should use?
My StateMachine template contains the following:
$sTriggers = %EASLList="StateEnumerate" @separator="\n" @indent="" @owner=classGUID @collection="AsynchTriggers"%In the above, if I simply change "AsynchTriggers" to "TimedTriggers", I can list all of the TimedTriggers.
Furthermore: I still don't know how to enumerate the other trigger types: Call and Change. I couldn't find any info in the User Guide about these trigger types.
Should I try an entirely new tactic?
Will a newer version of EA solve this?
Any ideas?
To add to my confusion, I found this note on transitions:
Code generation for State Machines currently supports Change and Time trigger events only, and expects a specification value.
This note came from:
http://www.sparxsystems.com/uml_tool_guide/uml_dictionary/transition.htmBut I don't quite understand the implications of that note...
Thanks
/me