org.eclipse.viatra.dse.evolutionary.interfaces

## Interface IMutation

- All Known Implementing Classes:
    AddRandomTransitionMutation, AddTransitionByPriorityMutation, DeleteRandomTransitionMutation, ModifyRandomTransitionMutation, ModifyTransitionByPriorityMutation

      public interface IMutation

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IMutation` | `createNew()` Creates a new instance.
    `boolean` | `mutate(TrajectoryFitness parent, ThreadContext context)` Based on the parent solution, it creates one child solution by leaving the DSE in the child solution's state (model and trajectory is reachable via the context).

- - ### Method Detail

    - #### mutate

          boolean mutate(TrajectoryFitness parent,
                         ThreadContext context)

      Based on the parent solution, it creates one child solution by leaving the DSE in the child solution's state (model and trajectory is reachable via the context). If the child generation was unsuccessful, it backtracks to the initial model: leaving the state with an empty trajectory.
      Parameters:
        `parent` - The parent solution (trajectory)
        `context` - Context of the design space exploration
      Returns:
        True if the child generation was successful and the context is in the child's state.

    - #### createNew

          IMutation createNew()

      Creates a new instance. Required for multi-threaded execution. Can return the same instance (e.g. this) if the implementation is stateless.
      Returns:
        An instance.