Index: /trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles/IStochasticProcess.java
===================================================================
--- /trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles/IStochasticProcess.java	(revision 1640)
+++ /trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles/IStochasticProcess.java	(revision 1641)
@@ -51,14 +51,27 @@
     /**
      * <p>
-     * Returns the probabilitiy that a given sequence is generated by the stochastic process.
+     * Returns the probability that a given sequence is generated by the stochastic process.
      * </p>
      * 
      * @param sequence
      *            sequences of which the probability is calculated
-     * @return probability of the sequences; 1.0 if sequence is empty or null
+     * @return probability of the sequences; 1.0 if sequence is empty
      * @throws IllegalArgumentException
      *             thrown if sequence is null
      */
     double getProbability(List<Event> sequence);
+    
+    /**
+     * <p>
+     * Returns the sum of the negative logarithm of the probabilities. 
+     * </p>
+     *
+     * @param sequence
+     *            sequences of which the logsum is calculated
+     * @return logsum of the sequences; 0.0 if sequence is empty
+     * @throws IllegalArgumentException
+     *             thrown if sequence is null
+     */
+    public double getLogSum(List<Event> sequence);
 
     /**
Index: /trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles/TrieBasedModel.java
===================================================================
--- /trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles/TrieBasedModel.java	(revision 1640)
+++ /trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles/TrieBasedModel.java	(revision 1641)
@@ -314,5 +314,5 @@
         if (length < 1) {
             throw new IllegalArgumentException(
-                                                "Length of generated subsequences must be at least 1.");
+                                               "Length of generated subsequences must be at least 1.");
         }
         if (length == 1) {
@@ -388,4 +388,23 @@
      * (non-Javadoc)
      * 
+     * @see de.ugoe.cs.autoquest.usageprofiles.IStochasticProcess#getProbability(java.util .List)
+     */
+    @Override
+    public double getLogSum(List<Event> sequence) {
+        if (sequence == null) {
+            throw new IllegalArgumentException("sequence must not be null");
+        }
+        double odds = 0.0;
+        List<Event> context = new LinkedList<Event>();
+        for (Event event : sequence) {
+            odds -= Math.log(getProbability(context, event));
+            context.add(event);
+        }
+        return odds;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
      * @see de.ugoe.cs.autoquest.usageprofiles.IStochasticProcess#getNumFOMStates()
      */
