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();
	}

 

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";
}
} 


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