Index: /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/TextInputStatisticsRule.java
===================================================================
--- /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/TextInputStatisticsRule.java	(revision 1148)
+++ /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/TextInputStatisticsRule.java	(revision 1149)
@@ -17,4 +17,5 @@
 import java.text.DecimalFormat;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
@@ -25,6 +26,8 @@
 import de.ugoe.cs.autoquest.eventcore.guimodel.ITextField;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTask;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTreeNode;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.IMarkingTemporalRelationship;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.IStructuringTemporalRelationship;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel;
 
 /**
@@ -42,7 +45,7 @@
      */
     @Override
-    public UsabilityEvaluationResult evaluate(ITaskTree taskTree) {
+    public UsabilityEvaluationResult evaluate(ITaskModel taskModel) {
         TextInputStatistics statistics = new TextInputStatistics();
-        calculateStatistics(taskTree.getRoot(), statistics);
+        calculateStatistics(taskModel.getTasks(), statistics);
 
         UsabilityEvaluationResult results = new UsabilityEvaluationResult();
@@ -230,18 +233,35 @@
      * @param statistics
      */
-    private void calculateStatistics(ITaskTreeNode node, TextInputStatistics statistics) {
-        if ((node instanceof IEventTask) &&
-            (((IEventTask) node).getEventType() instanceof TextInput))
+    private void calculateStatistics(Collection<ITask> tasks, TextInputStatistics statistics) {
+        for (ITask task : tasks) {
+            calculateStatistics(task, statistics);
+        }
+    }
+
+    /**
+     * TODO: comment
+     * 
+     * @param taskTree
+     * @param statistics
+     */
+    private void calculateStatistics(ITask task, TextInputStatistics statistics) {
+        
+        if ((task instanceof IEventTask) &&
+            (((IEventTask) task).getEventType() instanceof TextInput))
         {
-            calculateStatistics((IEventTask) node, statistics);
+            calculateStatistics((IEventTask) task, statistics);
         }
         else {
-            if ((node.getChildren() == null) || (node.getChildren().size() == 0)) {
-                statistics.incrementNoOfOtherEventTasks();
-            }
-            else {
-                for (ITaskTreeNode child : node.getChildren()) {
+            if (task instanceof IStructuringTemporalRelationship) {
+                for (ITask child : ((IStructuringTemporalRelationship) task).getChildren()) {
                     calculateStatistics(child, statistics);
                 }
+            }
+            else if (task instanceof IMarkingTemporalRelationship) {
+                calculateStatistics
+                    (((IMarkingTemporalRelationship) task).getMarkedTask(), statistics);
+            }
+            else {
+                statistics.incrementNoOfOtherEventTasks();
             }
         }
Index: /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationManager.java
===================================================================
--- /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationManager.java	(revision 1148)
+++ /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationManager.java	(revision 1149)
@@ -19,5 +19,4 @@
 import java.util.logging.Level;
 
-import de.ugoe.cs.autoquest.tasktrees.query.TaskTreeQueryProcessor;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel;
 import de.ugoe.cs.util.console.Console;
@@ -56,13 +55,12 @@
      * @param taskTree
      */
-    public UsabilityEvaluationResult evaluateUsability(ITaskModel taskTree) {
-        Console.traceln(Level.INFO, "evaluating usability of task tree " + taskTree);
+    public UsabilityEvaluationResult evaluateUsability(ITaskModel taskModel) {
+        Console.traceln(Level.INFO, "evaluating usability of task model " + taskModel);
 
         List<UsabilityEvaluationResult> results = new ArrayList<UsabilityEvaluationResult>();
-        TaskTreeQueryProcessor queryProcessor = new TaskTreeQueryProcessor(taskTree);
 
         for (UsabilityEvaluationRule rule : rules) {
             Console.traceln(Level.INFO, "applying rule " + rule.getClass().getSimpleName());
-            UsabilityEvaluationResult result = rule.evaluate(queryProcessor);
+            UsabilityEvaluationResult result = rule.evaluate(taskModel);
             results.add(result);
             Console.traceln(Level.INFO, "the rule found " + result.getAllDefects().size() +
Index: /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationRule.java
===================================================================
--- /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationRule.java	(revision 1148)
+++ /trunk/autoquest-core-usability/src/main/java/de/ugoe/cs/autoquest/usability/UsabilityEvaluationRule.java	(revision 1149)
@@ -15,5 +15,5 @@
 package de.ugoe.cs.autoquest.usability;
 
-import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskTree;
+import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskModel;
 
 /**
@@ -31,5 +31,5 @@
      * @return
      */
-    UsabilityEvaluationResult evaluate(ITaskTree taskTree);
+    UsabilityEvaluationResult evaluate(ITaskModel taskModel);
 
 }
