mauda.plugin
Interface Analysable

All Known Implementing Classes:
BinQueueAnalyse, FibHeapAnalyse

public interface Analysable

Interface for automatic generation of exercises. All generators must implement this interface.

Author:
Markus Krebs

Method Summary
 OperationQueue autoGen(java.lang.Object o, OperationQueue givenOperations, int difficulty, int mode)
          Calculates the todo-operations for the current data-structure
 OperationQueue[] fullAutomatic(java.lang.Object o, OperationQueue init, OperationQueue scramble, OperationQueue autoGen, int difficulty, int mode)
          Generates a complete exercise from the given parameters.
 OperationQueue getOperations(java.lang.Object o)
          Calculates all possible different Operation's at the current-state of the data-structure.
 OperationQueue init(java.lang.Object o, OperationQueue givenOperations, int difficulty, int mode)
          Calculates operations to initialize a data-structure
 OperationQueue scramble(java.lang.Object o, OperationQueue givenOperations, int difficulty, int mode)
          Calculates operations to scramble the current data-structure
 

Method Detail

getOperations

OperationQueue getOperations(java.lang.Object o)
Calculates all possible different Operation's at the current-state of the data-structure. In the case of FibHeap from each intervall, defined by the current values, one Operation will be returned.

Parameters:
o - data-structure
Returns:
OperationQueue

init

OperationQueue init(java.lang.Object o,
                    OperationQueue givenOperations,
                    int difficulty,
                    int mode)
Calculates operations to initialize a data-structure

Parameters:
o - data-structure
givenOperations - OperationQueue that contains the candidates for initializing (Parameters not defined)
difficulty - difficulty-ID
mode - exercise-mode (NORMAL vs. FAULT)
Returns:
The instanciated Operations from the given Operations, what means that the parameters from givenOperations are filled

scramble

OperationQueue scramble(java.lang.Object o,
                        OperationQueue givenOperations,
                        int difficulty,
                        int mode)
Calculates operations to scramble the current data-structure

Parameters:
o - data-structure
givenOperations - OperationQueue of Operations without parameters
difficulty - difficulty-ID
mode - exercise-mode (NORMAL vs. FAULT)
Returns:
Intanciated Operations (parameters filled)

autoGen

OperationQueue autoGen(java.lang.Object o,
                       OperationQueue givenOperations,
                       int difficulty,
                       int mode)
Calculates the todo-operations for the current data-structure

Parameters:
o - data-structure
givenOperations - OperationQueue of Operations without parameters
difficulty - difficulty-ID
mode - exercise-mode (NORMAL vs. FAULT)
Returns:
todo-operations

fullAutomatic

OperationQueue[] fullAutomatic(java.lang.Object o,
                               OperationQueue init,
                               OperationQueue scramble,
                               OperationQueue autoGen,
                               int difficulty,
                               int mode)
Generates a complete exercise from the given parameters.
This methods calls init, scramble and autoGen to generate the exercise.

Parameters:
o - data-structure.
init - OperationQueue used for initializing
scramble - OperationQueue used for scrambling
autoGen - OperationQueue used to generate the todo-operations
difficulty - difficulty-ID
mode - exercise-mode (NORMAL vs. FAULT)
Returns:
init-operations and todo-operations as a 2-dim Array (1st init, 2nd todo)