An execution engine can activate a specific element with values by calling an activateElement(Element element, Collection values)) of the ExecutionEngine. To deactivate the element, it will call a deactivateElement(Element element, Collection values)) of the same class.
These two methods are mostly called in the ExecutionEngine.execute(element). For example, if an Activity element on an Activity diagram is passed from the ExecutionEngine.execute(element), we use the activateElement() and deactivateElement() methods to activate and deactivate the Actions in that particular Activity respectively.
If activateElement() or deactivateElement() is called to a specific element, it will trigger all registered engine listeners including both predefined and user-defined listeners. For example, an AnimationListener is a predefined listener that is the Subclass of an EngineListener. It is used to display a specific element animation (in highlight) on a diagram in MagicDraw.