Ignore:
Timestamp:
09/09/11 06:23:36 (13 years ago)
Author:
sherbold
Message:
  • code documentation and formatting
Location:
trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDcalcCoverage.java

    r130 r171  
    1313import de.ugoe.cs.util.console.Console; 
    1414 
     15/** 
     16 * <p> 
     17 * Command to calculate the coverage of a test suite. 
     18 * </p> 
     19 *  
     20 * @author Steffen Herbold 
     21 * @version 1.0 
     22 */ 
    1523public class CMDcalcCoverage implements Command { 
    1624 
     25        /* 
     26         * (non-Javadoc) 
     27         *  
     28         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     29         */ 
    1730        @SuppressWarnings("unchecked") 
    1831        @Override 
    1932        public void run(List<Object> parameters) { 
    20                 String modelname;                
     33                String modelname; 
    2134                String[] sequenceNames; 
    2235                int minLength; 
     
    2841                        minLength = Integer.parseInt((String) parameters.get(2)); 
    2942                        maxLength = Integer.parseInt((String) parameters.get(3)); 
    30                         if( parameters.size()==5 ) { 
     43                        if (parameters.size() == 5) { 
    3144                                observedName = (String) parameters.get(1); 
    3245                        } 
    33                 } 
    34                 catch (Exception e) { 
     46                } catch (Exception e) { 
    3547                        throw new InvalidParameterException(); 
    3648                } 
    37                  
    38                 IStochasticProcess process = null;  
     49 
     50                IStochasticProcess process = null; 
    3951                Collection<List<? extends Event<?>>> observedSequences = null; 
    4052                Collection<List<? extends Event<?>>> sequences = null; 
    41                 Object dataObjectProcess = GlobalDataContainer.getInstance().getData(modelname); 
    42                 Object dataObjectObserved = GlobalDataContainer.getInstance().getData(observedName); 
    43                 if( dataObjectProcess==null ) { 
     53                Object dataObjectProcess = GlobalDataContainer.getInstance().getData( 
     54                                modelname); 
     55                Object dataObjectObserved = GlobalDataContainer.getInstance().getData( 
     56                                observedName); 
     57                if (dataObjectProcess == null) { 
    4458                        Console.printerrln("Model " + modelname + " not found in storage."); 
    4559                        return; 
    4660                } 
    47                 if( !(dataObjectProcess instanceof IStochasticProcess) ) { 
    48                         Console.printerrln("Object " + modelname + " not of type IStochasticProcess!"); 
     61                if (!(dataObjectProcess instanceof IStochasticProcess)) { 
     62                        Console.printerrln("Object " + modelname 
     63                                        + " not of type IStochasticProcess!"); 
    4964                        return; 
    5065                } 
    51                 if( dataObjectObserved==null ) { 
     66                if (dataObjectObserved == null) { 
    5267                        Console.printerrln("Observed sequences not found in storage."); 
    5368                        return; 
    5469                } 
    55                 if( !(dataObjectObserved instanceof Collection<?>) ) { 
     70                if (!(dataObjectObserved instanceof Collection<?>)) { 
    5671                        // weak instance check! 
    5772                        Console.printerrln("Object " + observedName + " not a Collection!"); 
     
    6075                process = (IStochasticProcess) dataObjectProcess; 
    6176                observedSequences = (Collection<List<? extends Event<?>>>) dataObjectObserved; 
    62                  
    63                  
     77 
    6478                Console.print("seqName"); 
    65                 for( int length=minLength ; length<=maxLength ; length++) { 
     79                for (int length = minLength; length <= maxLength; length++) { 
    6680                        Console.print(";numObs_" + length); 
    6781                        Console.print(";numCov_" + length); 
     
    7892                } 
    7993                Console.println(""); 
    80                 for( String sequenceName : sequenceNames ) { 
    81                         Object dataObjectSequences = GlobalDataContainer.getInstance().getData(sequenceName); 
    82                         if( dataObjectSequences==null ) { 
    83                                 Console.println("Sequences " + sequenceName + " not found in storage."); 
    84                         } 
    85                         else if( !(dataObjectSequences instanceof Collection<?>) ) { 
    86                                 // cannot really perform type check at runtime! this is an approximative substitute 
    87                                 Console.printerrln("Object " + sequenceName + "not of type Collection<?>!"); 
     94                for (String sequenceName : sequenceNames) { 
     95                        Object dataObjectSequences = GlobalDataContainer.getInstance() 
     96                                        .getData(sequenceName); 
     97                        if (dataObjectSequences == null) { 
     98                                Console.println("Sequences " + sequenceName 
     99                                                + " not found in storage."); 
     100                        } else if (!(dataObjectSequences instanceof Collection<?>)) { 
     101                                // cannot really perform type check at runtime! this is an 
     102                                // approximative substitute 
     103                                Console.printerrln("Object " + sequenceName 
     104                                                + "not of type Collection<?>!"); 
    88105                                return; 
    89106                        } 
    90107                        sequences = (Collection<List<? extends Event<?>>>) dataObjectSequences; 
    91108                        Console.print(sequenceName); 
    92                         for( int length=minLength ; length<=maxLength ; length++) { 
    93                                 CoverageCalculatorProcess covCalcProc = new CoverageCalculatorProcess(process, sequences, length); 
    94                                 CoverageCalculatorObserved covCalcObs = new CoverageCalculatorObserved(observedSequences, sequences, length); 
     109                        for (int length = minLength; length <= maxLength; length++) { 
     110                                CoverageCalculatorProcess covCalcProc = new CoverageCalculatorProcess( 
     111                                                process, sequences, length); 
     112                                CoverageCalculatorObserved covCalcObs = new CoverageCalculatorObserved( 
     113                                                observedSequences, sequences, length); 
    95114                                Console.print(";" + covCalcObs.getNumObserved()); 
    96115                                Console.print(";" + covCalcObs.getNumCovered()); 
     
    101120                                Console.print(";" + covCalcProc.getCoveragePossibleWeight()); 
    102121                                Console.print(";" + covCalcObs.getCoverageObserved()); 
    103                                 Console.print(";" + covCalcObs.getCoverageObservedWeigth(process)); 
     122                                Console.print(";" 
     123                                                + covCalcObs.getCoverageObservedWeigth(process)); 
    104124                                Console.print(";" + covCalcObs.getNewPercentage()); 
    105125                                Console.print(";" + covCalcObs.getCoveragePossibleNew(process)); 
    106                                 Console.print(";" + covCalcObs.getCoveragePossibleNewWeight(process)); 
     126                                Console.print(";" 
     127                                                + covCalcObs.getCoveragePossibleNewWeight(process)); 
    107128                        } 
    108129                        Console.println(""); 
     
    110131        } 
    111132 
     133        /* 
     134         * (non-Javadoc) 
     135         *  
     136         * @see de.ugoe.cs.util.console.Command#help() 
     137         */ 
    112138        @Override 
    113139        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDcalcEntropy.java

    r82 r171  
    88import de.ugoe.cs.util.console.Console; 
    99 
    10  
     10/** 
     11 * <p> 
     12 * Command to calculate the entropy of first-order Markov models. 
     13 * </p> 
     14 *  
     15 * @author Steffen Herbold 
     16 * @version 1.0 
     17 */ 
    1118public class CMDcalcEntropy implements Command { 
    1219 
     20        /* (non-Javadoc) 
     21         * @see de.ugoe.cs.util.console.Command#help() 
     22         */ 
    1323        @Override 
    1424        public void help() { 
     
    1626        } 
    1727 
     28        /* (non-Javadoc) 
     29         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     30         */ 
    1831        @Override 
    1932        public void run(List<Object> parameters) { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateFixedLengthSequences.java

    r128 r171  
    1717import de.ugoe.cs.util.console.Console; 
    1818 
     19/** 
     20 * <p> 
     21 * Command to generate all sequences of a given length. 
     22 * </p> 
     23 *  
     24 * @author Steffen Herbold 
     25 * @version 1.0 
     26 */ 
    1927public class CMDgenerateFixedLengthSequences implements Command { 
    2028 
     29        /* 
     30         * (non-Javadoc) 
     31         *  
     32         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     33         */ 
    2134        @Override 
    2235        public void run(List<Object> parameters) { 
     
    3245                        minLength = Integer.parseInt((String) parameters.get(2)); 
    3346                        maxLength = Integer.parseInt((String) parameters.get(3)); 
    34                         if( parameters.size()>=5 ) { 
     47                        if (parameters.size() >= 5) { 
    3548                                all = Boolean.parseBoolean((String) parameters.get(4)); 
    3649                        } 
    37                         if( parameters.size()==6 ) { 
    38                                 numSequences = Integer.parseInt((String) parameters.get(5));  
     50                        if (parameters.size() == 6) { 
     51                                numSequences = Integer.parseInt((String) parameters.get(5)); 
    3952                        } 
    40                 } 
    41                 catch (Exception e) { 
     53                } catch (Exception e) { 
    4254                        throw new InvalidParameterException(); 
    4355                } 
    44                  
    45                 IStochasticProcess model = null;  
    46                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    47                 if( dataObject==null ) { 
     56 
     57                IStochasticProcess model = null; 
     58                Object dataObject = GlobalDataContainer.getInstance() 
     59                                .getData(modelname); 
     60                if (dataObject == null) { 
    4861                        Console.println("Model " + modelname + " not found in storage."); 
    49                 } 
    50                 else if( !(dataObject instanceof IStochasticProcess) ) { 
     62                } else if (!(dataObject instanceof IStochasticProcess)) { 
    5163                        Console.println("Object " + modelname + " not of type MarkovModel!"); 
    5264                } else { 
    5365                        model = (IStochasticProcess) dataObject; 
    5466                        Collection<List<? extends Event<?>>> sequences = new LinkedHashSet<List<? extends Event<?>>>(); 
    55                         for( int length=minLength; length<=maxLength; length++ ) { 
    56                                 sequences.addAll(model.generateValidSequences(length+2)); 
     67                        for (int length = minLength; length <= maxLength; length++) { 
     68                                sequences.addAll(model.generateValidSequences(length + 2)); 
    5769                        } 
    5870                        Console.traceln("" + sequences.size() + " possible"); 
    59                         if( !all && numSequences<sequences.size() ) { 
    60                                 List<Double> probabilities = new ArrayList<Double>(sequences.size()); 
     71                        if (!all && numSequences < sequences.size()) { 
     72                                List<Double> probabilities = new ArrayList<Double>( 
     73                                                sequences.size()); 
    6174                                double probSum = 0.0; 
    62                                 for( List<? extends Event<?>> sequence : sequences ) { 
     75                                for (List<? extends Event<?>> sequence : sequences) { 
    6376                                        double prob = model.getProbability(sequence); 
    6477                                        probabilities.add(prob); 
     
    6780                                Set<Integer> drawnSequences = new HashSet<Integer>(numSequences); 
    6881                                Random r = new Random(); 
    69                                 while( drawnSequences.size()<numSequences ) { 
    70                                         double randVal = r.nextDouble()*probSum; 
     82                                while (drawnSequences.size() < numSequences) { 
     83                                        double randVal = r.nextDouble() * probSum; 
    7184                                        double sum = 0.0d; 
    7285                                        int index = -1; 
    73                                         while( sum<randVal ) { 
     86                                        while (sum < randVal) { 
    7487                                                index++; 
    7588                                                double currentProb = probabilities.get(index); 
    7689                                                sum += currentProb; 
    7790                                        } 
    78                                         if( !drawnSequences.contains(index) ) { 
     91                                        if (!drawnSequences.contains(index)) { 
    7992                                                drawnSequences.add(index); 
    8093                                                probSum -= probabilities.get(index); 
     
    8497                                Collection<List<? extends Event<?>>> retainedSequences = new LinkedList<List<? extends Event<?>>>(); 
    8598                                int index = 0; 
    86                                 for( List<? extends Event<?>> sequence : sequences) { 
    87                                         if( drawnSequences.contains(index) ) { 
     99                                for (List<? extends Event<?>> sequence : sequences) { 
     100                                        if (drawnSequences.contains(index)) { 
    88101                                                retainedSequences.add(sequence); 
    89102                                        } 
     
    92105                                sequences = retainedSequences; 
    93106                        } 
    94                         if( GlobalDataContainer.getInstance().addData(sequencesName, sequences) ) { 
    95                                 Console.traceln("Old data \"" + sequencesName + "\" overwritten"); 
     107                        if (GlobalDataContainer.getInstance().addData(sequencesName, 
     108                                        sequences)) { 
     109                                Console.traceln("Old data \"" + sequencesName 
     110                                                + "\" overwritten"); 
    96111                        } 
    97112                        Console.println("" + sequences.size() + " sequences generated"); 
     
    99114        } 
    100115 
     116        /* 
     117         * (non-Javadoc) 
     118         *  
     119         * @see de.ugoe.cs.util.console.Command#help() 
     120         */ 
    101121        @Override 
    102122        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateRandomReplay.java

    r18 r171  
    1212import de.ugoe.cs.util.console.Console; 
    1313 
     14/** 
     15 * <p> 
     16 * Command to create a replay file with randomly generated sessions. 
     17 * </p> 
     18 *  
     19 * @author Steffen Herbold 
     20 * @version 1.0 
     21 */ 
    1422public class CMDgenerateRandomReplay implements Command { 
    1523 
     24        /* 
     25         * (non-Javadoc) 
     26         *  
     27         * @see de.ugoe.cs.util.console.Command#help() 
     28         */ 
    1629        @Override 
    1730        public void help() { 
     
    1932        } 
    2033 
     34        /* 
     35         * (non-Javadoc) 
     36         *  
     37         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     38         */ 
    2139        @SuppressWarnings("unchecked") 
    2240        @Override 
     
    2846                        modelname = (String) parameters.get(0); 
    2947                        filename = (String) parameters.get(1); 
    30                         if( parameters.size()<3 ) { 
     48                        if (parameters.size() < 3) { 
    3149                                numSessions = Integer.parseInt((String) parameters.get(2)); 
    3250                        } 
    33                 } 
    34                 catch (Exception e) { 
     51                } catch (Exception e) { 
    3552                        throw new InvalidParameterException(); 
    3653                } 
    37                  
    38                 IStochasticProcess model = null;  
    39                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    40                 if( dataObject==null ) { 
     54 
     55                IStochasticProcess model = null; 
     56                Object dataObject = GlobalDataContainer.getInstance() 
     57                                .getData(modelname); 
     58                if (dataObject == null) { 
    4159                        Console.println("Model " + modelname + " not found in storage."); 
    42                 } 
    43                 else if( !(dataObject instanceof IStochasticProcess) ) { 
     60                } else if (!(dataObject instanceof IStochasticProcess)) { 
    4461                        Console.println("Object " + modelname + " not of type MarkovModel!"); 
    4562                } else { 
     
    4764                        List<List<ReplayableEvent<?>>> sequences = new LinkedList<List<ReplayableEvent<?>>>(); 
    4865                        try { 
    49                                 for( int i=0 ; i<numSessions ; i++ ) { 
    50                                         sequences.add((List<ReplayableEvent<?>>) model.randomSequence()); 
     66                                for (int i = 0; i < numSessions; i++) { 
     67                                        sequences.add((List<ReplayableEvent<?>>) model 
     68                                                        .randomSequence()); 
    5169                                } 
    5270                        } catch (ClassCastException e) { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateRandomSequences.java

    r121 r171  
    1212import de.ugoe.cs.util.console.Console; 
    1313 
     14/** 
     15 * <p>Command to generate random sessions.</p> 
     16 * @author Steffen Herbold 
     17 * @version 1.0 
     18 */ 
    1419public class CMDgenerateRandomSequences implements Command { 
    1520 
     21        /* (non-Javadoc) 
     22         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     23         */ 
    1624        @Override 
    1725        public void run(List<Object> parameters) { 
     
    6876        } 
    6977 
     78        /* (non-Javadoc) 
     79         * @see de.ugoe.cs.util.console.Command#help() 
     80         */ 
    7081        @Override 
    7182        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDgenerateReplayfile.java

    r98 r171  
    1111import de.ugoe.cs.util.console.Console; 
    1212 
     13/** 
     14 * <p>Command to create a replay file from stored sessions.</p> 
     15 * @author Steffen Herbold 
     16 * @version 1.0 
     17 */ 
    1318public class CMDgenerateReplayfile implements Command { 
    1419 
     20        /* (non-Javadoc) 
     21         * @see de.ugoe.cs.util.console.Command#help() 
     22         */ 
    1523        @Override 
    1624        public void help() { 
     
    1826        } 
    1927 
     28        /* (non-Javadoc) 
     29         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     30         */ 
    2031        @SuppressWarnings("unchecked") 
    2132        @Override 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDlistSymbols.java

    r130 r171  
    1010import de.ugoe.cs.util.console.Console; 
    1111 
     12/** 
     13 * <p> 
     14 * Command to list all events (symbols) known to a usage profile (stochastic 
     15 * process). 
     16 * </p> 
     17 *  
     18 * @author Steffen Herbold 
     19 * @version 1.0 
     20 */ 
    1221public class CMDlistSymbols implements Command { 
    1322 
     23        /* 
     24         * (non-Javadoc) 
     25         *  
     26         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     27         */ 
    1428        @Override 
    1529        public void run(List<Object> parameters) { 
     
    1832                try { 
    1933                        modelname = (String) parameters.get(0); 
    20                         if( parameters.size()==2 ) { 
     34                        if (parameters.size() == 2) { 
    2135                                sort = Boolean.parseBoolean((String) parameters.get(1)); 
    2236                        } 
     
    2438                        throw new InvalidParameterException(); 
    2539                } 
    26                  
    27                 IStochasticProcess model = null;  
    28                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    29                 if( dataObject==null ) { 
     40 
     41                IStochasticProcess model = null; 
     42                Object dataObject = GlobalDataContainer.getInstance() 
     43                                .getData(modelname); 
     44                if (dataObject == null) { 
    3045                        Console.println("Model " + modelname + "not found in storage."); 
    31                 } 
    32                 else if( !(dataObject instanceof IStochasticProcess) ) { 
    33                         Console.println("Object " + modelname + " is not a stochastic process!"); 
     46                } else if (!(dataObject instanceof IStochasticProcess)) { 
     47                        Console.println("Object " + modelname 
     48                                        + " is not a stochastic process!"); 
    3449                } else { 
    3550                        model = (IStochasticProcess) dataObject; 
    3651                        String[] stateStrings = model.getSymbolStrings(); 
    37                         if( sort ) { 
     52                        if (sort) { 
    3853                                Arrays.sort(stateStrings); 
    3954                        } 
    40                         for( String stateString : stateStrings ) { 
     55                        for (String stateString : stateStrings) { 
    4156                                Console.println(stateString); 
    4257                        } 
     
    4459        } 
    4560 
     61        /* 
     62         * (non-Javadoc) 
     63         *  
     64         * @see de.ugoe.cs.util.console.Command#help() 
     65         */ 
    4666        @Override 
    4767        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDload.java

    r89 r171  
    77import java.util.List; 
    88 
     9import de.ugoe.cs.eventbench.data.GlobalDataContainer; 
    910import de.ugoe.cs.util.console.Command; 
    1011import de.ugoe.cs.util.console.Console; 
    1112 
     13/** 
     14 * <p> 
     15 * Command that loads a previously serialized {@link GlobalDataContainer}. 
     16 * </p> 
     17 *  
     18 * @author Steffen Herbold 
     19 * @version 1.0 
     20 */ 
    1221public class CMDload implements Command { 
    1322 
     23        /* 
     24         * (non-Javadoc) 
     25         *  
     26         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     27         */ 
    1428        @Override 
    1529        public void run(List<Object> parameters) { 
     
    3549        } 
    3650 
     51        /* 
     52         * (non-Javadoc) 
     53         *  
     54         * @see de.ugoe.cs.util.console.Command#help() 
     55         */ 
    3756        @Override 
    3857        public void help() { 
    3958                Console.println("Usage: loadObject <filename>"); 
    4059        } 
    41          
     60 
    4261} 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDloadObject.java

    r89 r171  
    1111import de.ugoe.cs.util.console.Console; 
    1212 
     13/** 
     14 * <p> 
     15 * Command to load a previously serialized object and store it in the 
     16 * {@link GlobalDataContainer}. 
     17 * </p> 
     18 *  
     19 * @author Steffen Herbold 
     20 * @version 1.0 
     21 */ 
    1322public class CMDloadObject implements Command { 
    1423 
     24        /* 
     25         * (non-Javadoc) 
     26         *  
     27         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     28         */ 
    1529        @Override 
    1630        public void run(List<Object> parameters) { 
     
    3751                        ex.printStackTrace(); 
    3852                } 
    39                 if( GlobalDataContainer.getInstance().addData(objectName, data ) ) { 
     53                if (GlobalDataContainer.getInstance().addData(objectName, data)) { 
    4054                        Console.traceln("Old data \"" + objectName + "\" overwritten"); 
    4155                } 
    4256        } 
    4357 
     58        /* 
     59         * (non-Javadoc) 
     60         *  
     61         * @see de.ugoe.cs.util.console.Command#help() 
     62         */ 
    4463        @Override 
    4564        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDmodelSize.java

    r131 r171  
    1 /** 
    2  *  
    3  */ 
    41package de.ugoe.cs.eventbench.commands; 
    52 
     
    1310 
    1411/** 
    15  * @author sherbold 
    16  * 
     12 * <p> 
     13 * Command that prints the size of a stochastic process to the console. 
     14 * </p> 
     15 *  
     16 * @author Steffen Herbold 
     17 * @version 1.0 
    1718 */ 
    1819public class CMDmodelSize implements Command { 
    1920 
    20         /* (non-Javadoc) 
     21        /* 
     22         * (non-Javadoc) 
     23         *  
    2124         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
    2225         */ 
     
    2932                        throw new InvalidParameterException(); 
    3033                } 
    31                  
    32                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    33                 if( dataObject==null ) { 
     34 
     35                Object dataObject = GlobalDataContainer.getInstance() 
     36                                .getData(modelname); 
     37                if (dataObject == null) { 
    3438                        Console.printerrln("No model with name " + modelname + "found"); 
    3539                        return; 
    3640                } 
    37                 if( !(dataObject instanceof IStochasticProcess) ) { 
    38                         Console.printerrln("Object " + modelname + " not of type IStochasticProcess!"); 
     41                if (!(dataObject instanceof IStochasticProcess)) { 
     42                        Console.printerrln("Object " + modelname 
     43                                        + " not of type IStochasticProcess!"); 
    3944                        return; 
    4045                } 
    41                  
     46 
    4247                IStochasticProcess process = (IStochasticProcess) dataObject; 
    43                 Console.println("#symbols: " + process.getNumSymbols() + " ; #FOMstates " + process.getNumFOMStates()); 
     48                Console.println("#symbols: " + process.getNumSymbols() 
     49                                + " ; #FOMstates " + process.getNumFOMStates()); 
    4450        } 
    4551 
    46         /* (non-Javadoc) 
     52        /* 
     53         * (non-Javadoc) 
     54         *  
    4755         * @see de.ugoe.cs.util.console.Command#help() 
    4856         */ 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDprintDot.java

    r26 r171  
    99import de.ugoe.cs.util.console.Console; 
    1010 
     11/** 
     12 * <p> 
     13 * Command that prints a dot representation of a model (if supported) to the 
     14 * console. 
     15 * </p> 
     16 *  
     17 * @author Steffen Herbold 
     18 * @version 1.0 
     19 */ 
    1120public class CMDprintDot implements Command { 
    1221 
     22        /* 
     23         * (non-Javadoc) 
     24         *  
     25         * @see de.ugoe.cs.util.console.Command#help() 
     26         */ 
    1327        @Override 
    1428        public void help() { 
     
    1630        } 
    1731 
     32        /* 
     33         * (non-Javadoc) 
     34         *  
     35         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     36         */ 
    1837        @Override 
    1938        public void run(List<Object> parameters) { 
     
    2443                        throw new InvalidParameterException(); 
    2544                } 
    26                  
    27                 IDotCompatible model = null;  
    28                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    29                 if( dataObject==null ) { 
     45 
     46                IDotCompatible model = null; 
     47                Object dataObject = GlobalDataContainer.getInstance() 
     48                                .getData(modelname); 
     49                if (dataObject == null) { 
    3050                        Console.println("Model " + modelname + "not found in storage."); 
    31                 } 
    32                 else if( !(dataObject instanceof IDotCompatible) ) { 
    33                         Console.println("Object " + modelname + " does not implement IDotCompatible!"); 
     51                } else if (!(dataObject instanceof IDotCompatible)) { 
     52                        Console.println("Object " + modelname 
     53                                        + " does not implement IDotCompatible!"); 
    3454                } else { 
    3555                        model = (IDotCompatible) dataObject; 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDprintRandomSession.java

    r18 r171  
    1010import de.ugoe.cs.util.console.Console; 
    1111 
     12/** 
     13 * <p> 
     14 * Command that prints a randomly generated sessions of events to the console. 
     15 * </p> 
     16 *  
     17 * @author Steffen Herbold 
     18 * @version 1.0 
     19 */ 
    1220public class CMDprintRandomSession implements Command { 
    1321 
     22        /* 
     23         * (non-Javadoc) 
     24         *  
     25         * @see de.ugoe.cs.util.console.Command#help() 
     26         */ 
    1427        @Override 
    1528        public void help() { 
     
    1730        } 
    1831 
     32        /* 
     33         * (non-Javadoc) 
     34         *  
     35         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     36         */ 
    1937        @Override 
    2038        public void run(List<Object> parameters) { 
     
    2240                try { 
    2341                        modelname = (String) parameters.get(0); 
    24                 } 
    25                 catch (Exception e) { 
     42                } catch (Exception e) { 
    2643                        throw new InvalidParameterException(); 
    2744                } 
    28                  
    29                 IStochasticProcess model = null;  
    30                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    31                 if( dataObject==null ) { 
     45 
     46                IStochasticProcess model = null; 
     47                Object dataObject = GlobalDataContainer.getInstance() 
     48                                .getData(modelname); 
     49                if (dataObject == null) { 
    3250                        Console.println("Model " + modelname + " not found in storage."); 
    33                 } 
    34                 else if( !(dataObject instanceof IStochasticProcess) ) { 
     51                } else if (!(dataObject instanceof IStochasticProcess)) { 
    3552                        Console.println("Object " + modelname + " not of type MarkovModel!"); 
    3653                } else { 
    3754                        model = (IStochasticProcess) dataObject; 
    38                         for( Event<?> event : model.randomSequence() ) { 
     55                        for (Event<?> event : model.randomSequence()) { 
    3956                                Console.println(event.toString()); 
    4057                        } 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDprintTrieDot.java

    r31 r171  
    55 
    66import de.ugoe.cs.eventbench.data.GlobalDataContainer; 
     7import de.ugoe.cs.eventbench.models.Trie; 
    78import de.ugoe.cs.eventbench.models.TrieBasedModel; 
    89import de.ugoe.cs.util.console.Command; 
    910import de.ugoe.cs.util.console.Console; 
    1011 
     12/** 
     13 * <p> 
     14 * Command that prints the {@link Trie} of a {@link TrieBasedModel} as dot to 
     15 * the console. 
     16 * </p> 
     17 *  
     18 * @author Steffen Herbold 
     19 * @version 
     20 */ 
    1121public class CMDprintTrieDot implements Command { 
    12          
     22 
     23        /* 
     24         * (non-Javadoc) 
     25         *  
     26         * @see de.ugoe.cs.util.console.Command#help() 
     27         */ 
    1328        @Override 
    1429        public void help() { 
     
    1631        } 
    1732 
     33        /* 
     34         * (non-Javadoc) 
     35         *  
     36         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     37         */ 
    1838        @Override 
    1939        public void run(List<Object> parameters) { 
     
    2444                        throw new InvalidParameterException(); 
    2545                } 
    26                  
    27                 TrieBasedModel model = null;  
    28                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    29                 if( dataObject==null ) { 
     46 
     47                TrieBasedModel model = null; 
     48                Object dataObject = GlobalDataContainer.getInstance() 
     49                                .getData(modelname); 
     50                if (dataObject == null) { 
    3051                        Console.println("Model " + modelname + "not found in storage."); 
    31                 } 
    32                 else if( !(dataObject instanceof TrieBasedModel) ) { 
     52                } else if (!(dataObject instanceof TrieBasedModel)) { 
    3353                        Console.println("Object " + modelname + " is not a TrieBasedModel!"); 
    3454                } else { 
     
    3757                } 
    3858        } 
    39          
     59 
    4060} 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDsave.java

    r88 r171  
    1111import de.ugoe.cs.util.console.Console; 
    1212 
     13/** 
     14 * <p> 
     15 * Command to save the {@link GlobalDataContainer} through serialization. 
     16 * </p> 
     17 *  
     18 * @author Steffen Herbold 
     19 * @version 1.0 
     20 */ 
    1321public class CMDsave implements Command { 
    1422 
     23        /* 
     24         * (non-Javadoc) 
     25         *  
     26         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     27         */ 
    1528        @Override 
    1629        public void run(List<Object> parameters) { 
     
    1831                try { 
    1932                        filename = (String) parameters.get(0); 
    20                 } 
    21                 catch (Exception e) { 
     33                } catch (Exception e) { 
    2234                        throw new InvalidParameterException(); 
    2335                } 
    24                  
    25                  
     36 
    2637                FileOutputStream fos = null; 
    2738                ObjectOutputStream out = null; 
     
    3647        } 
    3748 
     49        /* 
     50         * (non-Javadoc) 
     51         *  
     52         * @see de.ugoe.cs.util.console.Command#help() 
     53         */ 
    3854        @Override 
    3955        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDsaveObject.java

    r90 r171  
    1111import de.ugoe.cs.util.console.Console; 
    1212 
     13/** 
     14 * <p> 
     15 * Command that saves an object contained in the {@link GlobalDataContainer} 
     16 * through serialization. 
     17 * </p> 
     18 *  
     19 * @author Steffen Herbold 
     20 * @version 
     21 */ 
    1322public class CMDsaveObject implements Command { 
    1423 
     24        /* 
     25         * (non-Javadoc) 
     26         *  
     27         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     28         */ 
    1529        @Override 
    1630        public void run(List<Object> parameters) { 
     
    2034                        filename = (String) parameters.get(0); 
    2135                        objectName = (String) parameters.get(1); 
    22                 } 
    23                 catch (Exception e) { 
     36                } catch (Exception e) { 
    2437                        throw new InvalidParameterException(); 
    2538                } 
    26                  
    27                 Object dataObject = GlobalDataContainer.getInstance().getData(objectName); 
    28                 if( dataObject==null ) { 
     39 
     40                Object dataObject = GlobalDataContainer.getInstance().getData( 
     41                                objectName); 
     42                if (dataObject == null) { 
    2943                        Console.println("Object " + objectName + " not found in storage."); 
    3044                } 
    31                  
     45 
    3246                FileOutputStream fos = null; 
    3347                ObjectOutputStream out = null; 
     
    4256        } 
    4357 
     58        /* 
     59         * (non-Javadoc) 
     60         *  
     61         * @see de.ugoe.cs.util.console.Command#help() 
     62         */ 
    4463        @Override 
    4564        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDsequenceStatistics.java

    r113 r171  
    1111import de.ugoe.cs.util.console.Console; 
    1212 
     13/** 
     14 * <p> 
     15 * Command to print basic statistical information about stored sequences, e.g., 
     16 * how many there are of which lenght. 
     17 * </p> 
     18 *  
     19 * @author Steffen Herbold 
     20 * @version 1.0 
     21 */ 
    1322public class CMDsequenceStatistics implements Command { 
    1423 
     24        /* 
     25         * (non-Javadoc) 
     26         *  
     27         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     28         */ 
    1529        @SuppressWarnings("unchecked") 
    1630        @Override 
    1731        public void run(List<Object> parameters) { 
    1832                String sequencesName = "sequences"; 
    19                 if( parameters.size()==1 ) { 
     33                if (parameters.size() == 1) { 
    2034                        sequencesName = (String) parameters.get(0); 
    2135                } 
    22                  
    23                  
     36 
    2437                List<List<Event<?>>> sequences = null; 
    25                 Object dataObject = GlobalDataContainer.getInstance().getData(sequencesName); 
    26                          
     38                Object dataObject = GlobalDataContainer.getInstance().getData( 
     39                                sequencesName); 
     40 
    2741                try { 
    2842                        sequences = (List<List<Event<?>>>) dataObject; 
    2943                        Console.traceln("Number of Sequences: " + sequences.size()); 
    30                         SortedMap<Integer,Integer> lengthMap = new TreeMap<Integer, Integer>(); 
    31                         for( List<Event<?>> sequence : sequences ) { 
     44                        SortedMap<Integer, Integer> lengthMap = new TreeMap<Integer, Integer>(); 
     45                        for (List<Event<?>> sequence : sequences) { 
    3246                                Integer currentSize = sequence.size(); 
    33                                 if( lengthMap.containsKey(currentSize) ) { 
    34                                         lengthMap.put(currentSize, lengthMap.get(currentSize)+1); 
     47                                if (lengthMap.containsKey(currentSize)) { 
     48                                        lengthMap.put(currentSize, lengthMap.get(currentSize) + 1); 
    3549                                } else { 
    3650                                        lengthMap.put(currentSize, 1); 
    3751                                } 
    3852                        } 
    39                         for( Entry<Integer, Integer> entry : lengthMap.entrySet() ) { 
    40                                 Console.traceln("Of length " + entry.getKey() + ": " + entry.getValue()); 
     53                        for (Entry<Integer, Integer> entry : lengthMap.entrySet()) { 
     54                                Console.traceln("Of length " + entry.getKey() + ": " 
     55                                                + entry.getValue()); 
    4156                        } 
    42                          
    43                 } 
    44                 catch(ClassCastException e) { 
     57 
     58                } catch (ClassCastException e) { 
    4559                        Console.println("Sequences not found"); 
    4660                } 
    4761        } 
    4862 
     63        /* 
     64         * (non-Javadoc) 
     65         *  
     66         * @see de.ugoe.cs.util.console.Command#help() 
     67         */ 
    4968        @Override 
    5069        public void help() { 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDshowMarkovModel.java

    r18 r171  
    2323import edu.uci.ics.jung.visualization.renderers.Renderer.VertexLabel.Position; 
    2424 
     25/** 
     26 * <p> 
     27 * Command that visualizes first-order Markov models. 
     28 * </p> 
     29 *  
     30 * @author Steffen Herbold 
     31 * @version 1.0 
     32 */ 
    2533public class CMDshowMarkovModel implements Command { 
    2634 
     35        /* 
     36         * (non-Javadoc) 
     37         *  
     38         * @see de.ugoe.cs.util.console.Command#help() 
     39         */ 
    2740        @Override 
    2841        public void help() { 
     
    3043        } 
    3144 
     45        /* 
     46         * (non-Javadoc) 
     47         *  
     48         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     49         */ 
    3250        @Override 
    3351        public void run(List<Object> parameters) { 
     
    3654                try { 
    3755                        modelname = (String) parameters.get(0); 
    38                         if( parameters.size()==2 ) { 
    39                                 showNodeNames = Boolean.parseBoolean((String) parameters.get(1)); 
     56                        if (parameters.size() == 2) { 
     57                                showNodeNames = Boolean 
     58                                                .parseBoolean((String) parameters.get(1)); 
    4059                        } 
    4160                } catch (Exception e) { 
    4261                        throw new InvalidParameterException(); 
    4362                } 
    44                  
    45                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    46                 if( dataObject==null ) { 
     63 
     64                Object dataObject = GlobalDataContainer.getInstance() 
     65                                .getData(modelname); 
     66                if (dataObject == null) { 
    4767                        Console.printerrln("No model with name " + modelname + "found"); 
    4868                } else { 
    4969                        FirstOrderMarkovModel mm = (FirstOrderMarkovModel) dataObject; 
    50                          
     70 
    5171                        Graph<String, MarkovEdge> graph = mm.getGraph(); 
    52                         Layout<String, MarkovEdge> layout = new ISOMLayout<String, MarkovEdge>(graph); 
    53                         layout.setSize(new Dimension(1000,800)); // sets the initial size of the space 
    54                         // The BasicVisualizationServer<V,E> is parameterized by the edge types 
    55                         BasicVisualizationServer<String,MarkovEdge> vv = 
    56                         new BasicVisualizationServer<String,MarkovEdge>(layout); 
    57                         vv.setPreferredSize(new Dimension(1100,850)); //Sets the viewing area size 
     72                        Layout<String, MarkovEdge> layout = new ISOMLayout<String, MarkovEdge>( 
     73                                        graph); 
     74                        layout.setSize(new Dimension(1000, 800)); // sets the initial size 
     75                                                                                                                // of the space 
     76                        // The BasicVisualizationServer<V,E> is parameterized by the edge 
     77                        // types 
     78                        BasicVisualizationServer<String, MarkovEdge> vv = new BasicVisualizationServer<String, MarkovEdge>( 
     79                                        layout); 
     80                        vv.setPreferredSize(new Dimension(1100, 850)); // Sets the viewing 
     81                                                                                                                        // area size 
    5882 
    59                         if( showNodeNames ) { 
     83                        if (showNodeNames) { 
    6084                                final Rectangle rect = new Rectangle(240, 20); 
    61                                  
    62                                 Transformer<String, Shape> vertexShapeTransformer = 
    63                                         new Transformer<String, Shape>() { 
    64                                                 public Shape transform(String s) { 
    65                                                         return rect; 
    66                                                 } 
     85 
     86                                Transformer<String, Shape> vertexShapeTransformer = new Transformer<String, Shape>() { 
     87                                        public Shape transform(String s) { 
     88                                                return rect; 
     89                                        } 
    6790                                }; 
    68                                 vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR); 
    69                                 vv.getRenderContext().setVertexShapeTransformer(vertexShapeTransformer); 
    70                                 vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<String>()); 
     91                                vv.getRenderer().getVertexLabelRenderer() 
     92                                                .setPosition(Position.CNTR); 
     93                                vv.getRenderContext().setVertexShapeTransformer( 
     94                                                vertexShapeTransformer); 
     95                                vv.getRenderContext().setVertexLabelTransformer( 
     96                                                new ToStringLabeller<String>()); 
    7197                        } 
    72                          
    73                         vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller<MarkovEdge>()); 
    74                          
     98 
     99                        vv.getRenderContext().setEdgeLabelTransformer( 
     100                                        new ToStringLabeller<MarkovEdge>()); 
     101 
    75102                        JFrame frame = new JFrame("Markov Model"); 
    76103                        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDshowTrie.java

    r24 r171  
    1212 
    1313import de.ugoe.cs.eventbench.data.GlobalDataContainer; 
     14import de.ugoe.cs.eventbench.models.Trie; 
    1415import de.ugoe.cs.eventbench.models.Trie.Edge; 
    1516import de.ugoe.cs.eventbench.models.Trie.TrieVertex; 
     
    2425import edu.uci.ics.jung.visualization.renderers.Renderer.VertexLabel.Position; 
    2526 
     27/** 
     28 * <p> 
     29 * Command that visualizes the {@link Trie} of a {@link TrieBasedModel}. 
     30 * </p> 
     31 *  
     32 * @author Steffen Herbold 
     33 * @version 1.0 
     34 */ 
    2635public class CMDshowTrie implements Command { 
    2736 
     37        /* 
     38         * (non-Javadoc) 
     39         *  
     40         * @see de.ugoe.cs.util.console.Command#help() 
     41         */ 
    2842        @Override 
    2943        public void help() { 
    3044                Console.println("Usage: showTrie <modelName>"); 
    3145        } 
    32          
     46 
     47        /* 
     48         * (non-Javadoc) 
     49         *  
     50         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     51         */ 
    3352        @Override 
    3453        public void run(List<Object> parameters) { 
     
    3958                        throw new InvalidParameterException(); 
    4059                } 
    41                  
    42                 Object dataObject = GlobalDataContainer.getInstance().getData(modelname); 
    43                 if( dataObject==null ) { 
     60 
     61                Object dataObject = GlobalDataContainer.getInstance() 
     62                                .getData(modelname); 
     63                if (dataObject == null) { 
    4464                        Console.printerrln("No model with name " + modelname + "found"); 
    4565                } else { 
    4666                        TrieBasedModel model = (TrieBasedModel) dataObject; 
    4767                        Tree<TrieVertex, Edge> graph = model.getTrieGraph(); 
    48                         Layout<TrieVertex, Edge> layout = new TreeLayout<TrieVertex, Edge>(graph, 60); 
    49                         // The BasicVisualizationServer<V,E> is parameterized by the edge types 
    50                         BasicVisualizationServer<TrieVertex,Edge> vv = 
    51                         new BasicVisualizationServer<TrieVertex,Edge>(layout); 
    52                         vv.setPreferredSize(new Dimension(1100,850)); //Sets the viewing area size 
    53                          
    54                          
     68                        Layout<TrieVertex, Edge> layout = new TreeLayout<TrieVertex, Edge>( 
     69                                        graph, 60); 
     70                        // The BasicVisualizationServer<V,E> is parameterized by the edge 
     71                        // types 
     72                        BasicVisualizationServer<TrieVertex, Edge> vv = new BasicVisualizationServer<TrieVertex, Edge>( 
     73                                        layout); 
     74                        vv.setPreferredSize(new Dimension(1100, 850)); // Sets the viewing 
     75                                                                                                                        // area size 
     76 
    5577                        final Rectangle rect = new Rectangle(40, 20); 
    56                                  
    57                         Transformer<TrieVertex, Shape> vertexShapeTransformer = 
    58                                 new Transformer<TrieVertex, Shape>() { 
    59                                         public Shape transform(TrieVertex s) { 
    60                                                 return rect; 
    61                                         } 
     78 
     79                        Transformer<TrieVertex, Shape> vertexShapeTransformer = new Transformer<TrieVertex, Shape>() { 
     80                                public Shape transform(TrieVertex s) { 
     81                                        return rect; 
     82                                } 
    6283                        }; 
    63                         vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR); 
    64                         vv.getRenderContext().setVertexShapeTransformer(vertexShapeTransformer); 
    65                         vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<TrieVertex>()); 
    66                          
     84                        vv.getRenderer().getVertexLabelRenderer() 
     85                                        .setPosition(Position.CNTR); 
     86                        vv.getRenderContext().setVertexShapeTransformer( 
     87                                        vertexShapeTransformer); 
     88                        vv.getRenderContext().setVertexLabelTransformer( 
     89                                        new ToStringLabeller<TrieVertex>()); 
     90 
    6791                        JFrame frame = new JFrame("Trie"); 
    6892                        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
     
    7397        } 
    7498 
    75  
    76  
    7799} 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDtrainDFA.java

    r96 r171  
    1111import de.ugoe.cs.util.console.Console; 
    1212 
     13/** 
     14 * <p> 
     15 * Command to train a Deterministic Finite Automaton (DFA). 
     16 * </p> 
     17 *  
     18 * @author Steffen Herbold 
     19 * @version 1.0 
     20 */ 
    1321public class CMDtrainDFA implements Command { 
    1422 
     23        /* 
     24         * (non-Javadoc) 
     25         *  
     26         * @see de.ugoe.cs.util.console.Command#help() 
     27         */ 
    1528        @Override 
    1629        public void help() { 
     
    1831        } 
    1932 
     33        /* 
     34         * (non-Javadoc) 
     35         *  
     36         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     37         */ 
    2038        @SuppressWarnings("unchecked") 
    2139        @Override 
     
    2745                        throw new InvalidParameterException(); 
    2846                } 
    29                  
     47 
    3048                List<List<Event<?>>> sequences = null; 
    31                 Object dataObject = GlobalDataContainer.getInstance().getData("sequences"); 
    32                          
     49                Object dataObject = GlobalDataContainer.getInstance().getData( 
     50                                "sequences"); 
     51 
    3352                try { 
    3453                        sequences = (List<List<Event<?>>>) dataObject; 
    35                         if( sequences.size()>0 ) { 
    36                                 if( sequences.get(0).get(0) instanceof Event ) { 
    37                                         DeterministicFiniteAutomaton model =  new DeterministicFiniteAutomaton(new Random()); 
     54                        if (sequences.size() > 0) { 
     55                                if (sequences.get(0).get(0) instanceof Event) { 
     56                                        DeterministicFiniteAutomaton model = new DeterministicFiniteAutomaton( 
     57                                                        new Random()); 
    3858                                        model.train(sequences); 
    39                                         if( GlobalDataContainer.getInstance().addData(modelname, model) ) { 
    40                                                 Console.traceln("Old data \"" + modelname + "\" overwritten"); 
     59                                        if (GlobalDataContainer.getInstance().addData(modelname, 
     60                                                        model)) { 
     61                                                Console.traceln("Old data \"" + modelname 
     62                                                                + "\" overwritten"); 
    4163                                        } 
    4264                                } else { 
     
    4567                                } 
    4668                        } 
    47                 } 
    48                 catch(ClassCastException e) { 
     69                } catch (ClassCastException e) { 
    4970                        Console.println("Sequences need to be loaded first using parseXML"); 
    5071                } 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDtrainMarkovModel.java

    r116 r171  
    11package de.ugoe.cs.eventbench.commands; 
    2  
    32 
    43import java.security.InvalidParameterException; 
     
    1312import de.ugoe.cs.util.console.Console; 
    1413 
     14/** 
     15 * <p> 
     16 * Command to train first-order and high-order Markov models. 
     17 * </p> 
     18 *  
     19 * @author Steffen Herbold 
     20 * @version 1.0 
     21 */ 
    1522public class CMDtrainMarkovModel implements Command { 
    1623 
     24        /* 
     25         * (non-Javadoc) 
     26         *  
     27         * @see de.ugoe.cs.util.console.Command#help() 
     28         */ 
    1729        @Override 
    1830        public void help() { 
     
    2032        } 
    2133 
     34        /* 
     35         * (non-Javadoc) 
     36         *  
     37         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     38         */ 
    2239        @SuppressWarnings("unchecked") 
    2340        @Override 
     
    2744                try { 
    2845                        modelname = (String) parameters.get(0); 
    29                         if( parameters.size()==2 ) { 
     46                        if (parameters.size() == 2) { 
    3047                                order = Integer.parseInt((String) parameters.get(1)); 
    3148                        } 
     
    3350                        throw new InvalidParameterException(); 
    3451                } 
    35                  
     52 
    3653                List<List<Event<?>>> sequences = null; 
    37                 Object dataObject = GlobalDataContainer.getInstance().getData("sequences"); 
    38                          
     54                Object dataObject = GlobalDataContainer.getInstance().getData( 
     55                                "sequences"); 
     56 
    3957                try { 
    4058                        sequences = (List<List<Event<?>>>) dataObject; 
    41                         if( sequences.size()>0 ) { 
    42                                 if( sequences.get(0).get(0) instanceof Event ) { 
     59                        if (sequences.size() > 0) { 
     60                                if (sequences.get(0).get(0) instanceof Event) { 
    4361                                        HighOrderMarkovModel model; 
    44                                         if( order==1 ) { 
     62                                        if (order == 1) { 
    4563                                                model = new FirstOrderMarkovModel(new Random()); 
    4664                                        } else { 
     
    4866                                        } 
    4967                                        model.train(sequences); 
    50                                         if( GlobalDataContainer.getInstance().addData(modelname, model) ) { 
    51                                                 Console.traceln("Old data \"" + modelname + "\" overwritten"); 
     68                                        if (GlobalDataContainer.getInstance().addData(modelname, 
     69                                                        model)) { 
     70                                                Console.traceln("Old data \"" + modelname 
     71                                                                + "\" overwritten"); 
    5272                                        } 
    5373                                } else { 
     
    5676                                } 
    5777                        } 
    58                 } 
    59                 catch(ClassCastException e) { 
     78                } catch (ClassCastException e) { 
    6079                        Console.println("Sequences need to be loaded first using parseXML"); 
    6180                } 
  • trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/commands/CMDtrainPPM.java

    r116 r171  
    1111import de.ugoe.cs.util.console.Console; 
    1212 
     13/** 
     14 * <p> 
     15 * Command that trains Prediction by Partial Match (PPM) models. 
     16 * </p> 
     17 *  
     18 * @author Steffen Herbold 
     19 * @version 1.0 
     20 */ 
    1321public class CMDtrainPPM implements Command { 
    1422 
     23        /* 
     24         * (non-Javadoc) 
     25         *  
     26         * @see de.ugoe.cs.util.console.Command#help() 
     27         */ 
    1528        @Override 
    1629        public void help() { 
     
    1831        } 
    1932 
     33        /* 
     34         * (non-Javadoc) 
     35         *  
     36         * @see de.ugoe.cs.util.console.Command#run(java.util.List) 
     37         */ 
    2038        @SuppressWarnings("unchecked") 
    2139        @Override 
     
    2947                        probEscape = Double.parseDouble((String) parameters.get(1)); 
    3048                        maxOrder = Integer.parseInt((String) parameters.get(2)); 
    31                         if( parameters.size()==4 ) { 
     49                        if (parameters.size() == 4) { 
    3250                                minOrder = Integer.parseInt((String) parameters.get(3)); 
    3351                        } 
     
    3553                        throw new InvalidParameterException(); 
    3654                } 
    37                  
     55 
    3856                List<List<Event<?>>> sequences = null; 
    39                 Object dataObject = GlobalDataContainer.getInstance().getData("sequences"); 
    40                          
     57                Object dataObject = GlobalDataContainer.getInstance().getData( 
     58                                "sequences"); 
     59 
    4160                try { 
    4261                        sequences = (List<List<Event<?>>>) dataObject; 
    43                         if( sequences.size()>0 ) { 
    44                                 if( sequences.get(0).get(0) instanceof Event ) { 
    45                                         PredictionByPartialMatch model = new PredictionByPartialMatch(maxOrder, minOrder, new Random(), probEscape); 
     62                        if (sequences.size() > 0) { 
     63                                if (sequences.get(0).get(0) instanceof Event) { 
     64                                        PredictionByPartialMatch model = new PredictionByPartialMatch( 
     65                                                        maxOrder, minOrder, new Random(), probEscape); 
    4666                                        model.train(sequences); 
    47                                         if( GlobalDataContainer.getInstance().addData(modelname, model) ) { 
    48                                                 Console.traceln("Old data \"" + modelname + "\" overwritten"); 
    49                                         }                                        
     67                                        if (GlobalDataContainer.getInstance().addData(modelname, 
     68                                                        model)) { 
     69                                                Console.traceln("Old data \"" + modelname 
     70                                                                + "\" overwritten"); 
     71                                        } 
    5072                                } else { 
    5173                                        Console.traceln("Illegal use of \"sequences\" parameter in the GlobalDataContainer."); 
     
    5375                                } 
    5476                        } 
    55                 } 
    56                 catch(ClassCastException e) { 
     77                } catch (ClassCastException e) { 
    5778                        Console.println("Sequences need to be loaded first using parseXML"); 
    5879                } 
Note: See TracChangeset for help on using the changeset viewer.