The following example shows how to create an Execution Engine Descriptor
 

	public interface ExecutionEngineDescriptor {
		String getEngineName();
		ImageIcon getEngineIcon();
		boolean canExecute(Element element);
		ExecutionEngine createEngine();
		boolean canAnimate(PresentationElement element);
		boolean isAutoDiagramOpened();
		boolean canDebug();
		boolean canUserTriggerEvents();
		boolean isDiagramPerSession();
		boolean isHasIdle();
		boolean isFindEngine(Element element);
		List<? Extends ValidationSuite> getValidationSuite();
	}
TEXT

 

The new execution engine descriptor must implement the ExecutionEngineDescriptor or extend the AbstractExecutionEngineDescriptor abstract Class. You can find details about these Classes in JavaDoc.
 

	public class MyExecutionEngineDescriptor extends AbstractExecutionEngineDescriptor {
	@Override
	
	public boolean canExecute(Element element) {
		return element instanceof Interaction;
	} 
	
	@Override
	public ExecutionEngine createEngine() {
		return new MyExecutionEngine(this);
	} 

	@Override
	public String getEngineName() {
		return "My Execution Engine";
}
} 
TEXT


The created execution engine descriptor must then be registered to the simulation manager (see (2026x) Registering an execution engine to the Simulation Manager).