package at.ac.tuwien.iter.services; import java.util.List; import at.ac.tuwien.iter.data.TestResult; import matlabcontrol.MatlabInvocationException; public interface MathEngineDao { /** * Insert the results of a test execution represented as stateSequence * * @param statesequence * @param parameters * @throws MatlabInvocationException */ public void addTestExecution(TestResult testResult) throws MatlabInvocationException; // public void addTestExecution(double[] stateSequence, double... // parameters) // throws MatlabInvocationException; /** * Remove the corresponding test data from the system. * * @param ID */ public void removeTestExecution(String ID); /** * Return the list of critical test cases found so far. Each entry is a * parameter assignment value */ public List<double[]> getCriticalTestCases(); // TODO what if test case results in a critical test case but NOT in all its // executions? What is the semantic ? At least one execution returned in a // plastic behavior? /** * Return a list of Double[], where Double[0] and Double[1] identifies a * transition, and Double[2] corresponds to the EI. The size of the list is * always less or equals to n, and all the EI have a value greater or equal * than minEI. * * The method return the actual n top-most transitions with respect to the * EI measure. Additionally the List is ordered by desc EI values. * * @throws MatlabInvocationException */ public List<double[]> getBestPlasticityTests(int n) throws MatlabInvocationException; /** * Infer a model from the transition sequence * * @param transitions * @return * @throws MatlabInvocationException */ public List<double[]> inferModel(double[] transitions) throws MatlabInvocationException; }