Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IStochasticProcess.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IStochasticProcess.java	(revision 247)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IStochasticProcess.java	(revision 248)
@@ -32,10 +32,13 @@
 	 */
 	double getProbability(List<? extends Event<?>> context, Event<?> symbol);
-	
+
 	/**
 	 * <p>
-	 * Returns the probabilitiy that a given sequence is generated by the stochastic process.
+	 * Returns the probabilitiy that a given sequence is generated by the
+	 * stochastic process.
 	 * </p>
-	 * @param sequence sequences of which the probability is calculated
+	 * 
+	 * @param sequence
+	 *            sequences of which the probability is calculated
 	 * @return probability of the sequences; 1.0 if sequence is empty or null
 	 */
@@ -97,5 +100,6 @@
 	 * @return generated sequences
 	 */
-	public Collection<List<? extends Event<?>>> generateValidSequences(int length);
+	public Collection<List<? extends Event<?>>> generateValidSequences(
+			int length);
 
 	/**
@@ -117,8 +121,9 @@
 	 */
 	public String[] getSymbolStrings();
-	
+
 	/**
 	 * <p>
-	 * Returns the number of states the process would have if it would be flattened through state-splitting to a first-order Markov model.
+	 * Returns the number of states the process would have if it would be
+	 * flattened through state-splitting to a first-order Markov model.
 	 * </p>
 	 * <p>
@@ -126,7 +131,19 @@
 	 * </p>
 	 * 
-	 * @return number of states an equivalent FOM would have; -1 is not available
+	 * @return number of states an equivalent FOM would have; -1 if not
+	 *         available
 	 */
 	public int getNumFOMStates();
+
+	/**
+	 * <p>
+	 * Returns the number of transitions the process would have if it would be
+	 * flattened through state-splitting to a first-order Markov model.
+	 * </p>
+	 * 
+	 * @return number of transitions an equivalent FOM would have; -1 if not
+	 *         available
+	 */
+	public int getNumTransitions();
 
 	/**
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/Trie.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/Trie.java	(revision 247)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/Trie.java	(revision 248)
@@ -386,3 +386,14 @@
 		return ancestors.size();
 	}
+
+	/**
+	 * <p>
+	 * Returns the number of trie nodes that are leafs.
+	 * </p>
+	 * 
+	 * @return number of leafs in the trie
+	 */
+	public int getNumLeafs() {
+		return rootNode.getNumLeafs();
+	}
 }
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java	(revision 247)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java	(revision 248)
@@ -336,3 +336,13 @@
 		return trie.getNumLeafAncestors();
 	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see de.ugoe.cs.eventbench.models.IStochasticProcess#getNumTransitions()
+	 */
+	@Override
+	public int getNumTransitions() {
+		return trie.getNumLeafs();
+	}
 }
Index: trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieNode.java
===================================================================
--- trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieNode.java	(revision 247)
+++ trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieNode.java	(revision 248)
@@ -318,3 +318,20 @@
 		}
 	}
+	
+	/**
+	 * <p>Returns the number of descendants of this node that are leafs. This does not only include direct children of this node, but all leafs in the sub-trie with this node as root.
+	 * </p>
+	 * @return
+	 */
+	protected int getNumLeafs() {
+		int numLeafs = 0;
+		for( TrieNode<T> child : children) {
+			if( child.isLeaf() ) {
+				numLeafs++;
+			} else {
+				numLeafs += child.getNumLeafs();
+			}
+		}
+		return numLeafs;
+	}
 }
