Skip to content

xtUML CPP Transformation

Ábel Hegedüs edited this page Apr 28, 2015 · 9 revisions

List of required mapping rules

  1. Only state machine, assume CPPClass for XtClass is available
  • State: create CPPState under CPPClass
  • Transition: create CPPTranstion under CPPClass
  • XtEvent (Transition.triggers.signal): create CPPEvent under CPPClass

Initial transition

  • Assumptions
  • There is a single transition from the InitialPoint to the initial state and it has no triggers or guard

Transition evaluation order in generated code

  • Assumptions
  • Transitions without triggers are allowed
  • Multiple transitions for the same source vertex with exactly the same triggering events are allowed
  1. Transition evaluation is ordered based on the position in the CompositeState.transitions EList when multiple transitions have the same triggers
  • Note that this order may not be the same as the order in UML (due to the nature of incremental transformation)
  1. Transitions without triggers are not evaluated when processing an event
  • These should be executed when a different method is called that will be used for as-long-as-possible execution
Clone this wiki locally