Index: trunk/autoquest-plugin-uml-test/src/test/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtilsTest.java
===================================================================
--- trunk/autoquest-plugin-uml-test/src/test/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtilsTest.java	(revision 1628)
+++ trunk/autoquest-plugin-uml-test/src/test/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtilsTest.java	(revision 1643)
@@ -24,4 +24,5 @@
 import java.util.List;
 import java.util.Map;
+import java.util.Random;
 
 import org.eclipse.emf.common.util.URI;
@@ -36,4 +37,5 @@
 import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
 import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.uml2.uml.Interaction;
 import org.eclipse.uml2.uml.Model;
 import org.eclipse.uml2.uml.StateMachine;
@@ -47,6 +49,9 @@
 import de.ugoe.cs.autoquest.eventcore.Event;
 import de.ugoe.cs.autoquest.plugin.http.HTTPLogParser;
+import de.ugoe.cs.autoquest.plugin.http.HTTPUtils;
 import de.ugoe.cs.autoquest.plugin.http.eventcore.SOAPEventType;
 import de.ugoe.cs.autoquest.plugin.uml.eventcore.UMLTransitionType;
+import de.ugoe.cs.autoquest.testgeneration.RandomWalkGenerator;
+import de.ugoe.cs.autoquest.usageprofiles.FirstOrderMarkovModel;
 
 /**
@@ -151,7 +156,10 @@
         HTTPLogParser parser =
             new HTTPLogParser(new File(ClassLoader
-                .getSystemResource("testCreateInteractionFromEventSequence_1_properties.txt").getFile()));
-        parser.parseFile(new File(ClassLoader
-            .getSystemResource("testCreateInteractionFromEventSequence_1_usagedata.log").getFile()));
+                .getSystemResource("testCreateInteractionFromEventSequence_1_properties.txt")
+                .getFile()));
+        parser
+            .parseFile(new File(ClassLoader
+                .getSystemResource("testCreateInteractionFromEventSequence_1_usagedata.log")
+                .getFile()));
         Collection<List<Event>> httpSequences = parser.getSequences();
         Model model =
@@ -169,5 +177,52 @@
             UMLUtils.createInteractionFromEventSequence(httpSequence, model, "testSequence");
         }
-        //writeModelToFile(model, "testCreateInteractionFromEventSequence_1_result.uml");
+        // writeModelToFile(model, "testCreateInteractionFromEventSequence_1_result.uml");
+    }
+
+    @Test
+    public void testCalculateUsageScore_1() throws Exception {
+        // parse log file
+        HTTPLogParser parser =
+            new HTTPLogParser(new File(ClassLoader
+                .getSystemResource("testCalculateUsageScore_1_properties.txt").getFile()));
+        parser.parseFile(new File(ClassLoader
+            .getSystemResource("testCalculateUsageScore_1_usagedata.log").getFile()));
+        Collection<List<Event>> httpSequences = parser.getSequences();
+        Model model =
+            loadModelFromInputStream(ClassLoader
+                .getSystemResourceAsStream("testCalculateUsageScore_1_model.uml"));
+
+        Collection<List<Event>> simpleSOAPSequences = new LinkedList<>();
+        for (List<Event> httpSequence : httpSequences) {
+            for (Iterator<Event> eventIter = httpSequence.iterator(); eventIter.hasNext();) {
+                Event event = eventIter.next();
+                if (!(event.getType() instanceof SOAPEventType)) {
+                    eventIter.remove();
+                }
+            }
+            simpleSOAPSequences.add(HTTPUtils.convertToSimpleSOAPEvent(httpSequence));
+            // simpleSOAPSequences.add(httpSequence);
+        }
+
+        FirstOrderMarkovModel usageProfile = new FirstOrderMarkovModel(new Random(1));
+        usageProfile.train(simpleSOAPSequences);
+
+        Collection<List<Event>> genSeqs =
+            (new RandomWalkGenerator(10, 1, 100, true, 500)).generateTestSuite(usageProfile);
+
+        int i = 1;
+        int[] lengths = new int[genSeqs.size()];
+        for (List<Event> seq : genSeqs) {
+            UMLUtils.createInteractionFromEventSequence(seq, model, "seq_" + i);
+            lengths[i - 1] = seq.size();
+            i++;
+        }
+        for (int j = 0; j < genSeqs.size(); j++) {
+            Interaction interaction =
+                (Interaction) model.getPackagedElement("seq_" + j, true,
+                                                       UMLPackage.Literals.INTERACTION, true);
+            double usageScore = UMLUtils.calculateUsageScore(interaction, usageProfile);
+            System.out.format("usage score %02d: %.2f \t %d\n",j+1, usageScore, lengths[j]);
+        }
     }
 
@@ -181,7 +236,6 @@
                     return new XMIResourceImpl(uri) {
                         @Override
-                        public boolean useUUIDs()
-                        {
-                                return true;
+                        public boolean useUUIDs() {
+                            return true;
                         }
                     };
@@ -190,9 +244,9 @@
 
         Resource resource = resourceSet.createResource(URI.createURI("binresource"));
-        
+
         resource.getContents().add(model);
         FileOutputStream fos;
         File file = new File(filename);
-        if( file.getParent()!=null ) {
+        if (file.getParent() != null) {
             file.getParentFile().mkdirs();
         }
Index: trunk/autoquest-plugin-uml-test/src/test/resources/testCalculateUsageScore_1_model.uml
===================================================================
--- trunk/autoquest-plugin-uml-test/src/test/resources/testCalculateUsageScore_1_model.uml	(revision 1643)
+++ trunk/autoquest-plugin-uml-test/src/test/resources/testCalculateUsageScore_1_model.uml	(revision 1643)
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_O3qgoAaaEeS7deEA7EQ5bQ" name="Model">
+  <packageImport xmi:type="uml:PackageImport" xmi:id="_O3qgoQaaEeS7deEA7EQ5bQ">
+    <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+  </packageImport>
+  <packagedElement xmi:type="uml:Class" xmi:id="_Wh3rMBZcEeSVxMc4KdphRg" name="ixsmq">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_noyI0BZcEeSVxMc4KdphRg" name="removeIdentity"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_ueUdQBZcEeSVxMc4KdphRg" name="registerEntityWithIdentity"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_wa1NQBZcEeSVxMc4KdphRg" name="createIdentityFromEntity"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_xt2UUBZcEeSVxMc4KdphRg" name="updateEntityTraitValues"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_zPftQBZcEeSVxMc4KdphRg" name="getEntityTraitValues"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_2z7dUBZcEeSVxMc4KdphRg" name="findEntitiesByTraits"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_4U0BQBZcEeSVxMc4KdphRg" name="listLinkedEntities"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_6TAMQBZcEeSVxMc4KdphRg" name="listUnlinkedEntities"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_9LnYIBZcEeSVxMc4KdphRg" name="rlus">
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_m-fZMBZdEeSVxMc4KdphRg" name="get"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_nonUQBZdEeSVxMc4KdphRg" name="list"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_obRgQBZdEeSVxMc4KdphRg" name="put"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_ppx6wBZdEeSVxMc4KdphRg" name="discard"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_qTNSQBZdEeSVxMc4KdphRg" name="locate"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_q7CuUBZdEeSVxMc4KdphRg" name="initialize"/>
+    <ownedOperation xmi:type="uml:Operation" xmi:id="_rzk40BZdEeSVxMc4KdphRg" name="describe"/>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Class" xmi:id="_QK3v0Bb_EeSVxMc4KdphRg" name="user">
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_TB2kABb_EeSVxMc4KdphRg" name="rlus" type="_9LnYIBZcEeSVxMc4KdphRg" association="_TB4ZMBb_EeSVxMc4KdphRg">
+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TB2kARb_EeSVxMc4KdphRg" value="1"/>
+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TB2kAhb_EeSVxMc4KdphRg" value="1"/>
+    </ownedAttribute>
+    <ownedAttribute xmi:type="uml:Property" xmi:id="_UH_ssBb_EeSVxMc4KdphRg" name="ixsmq" type="_Wh3rMBZcEeSVxMc4KdphRg" association="_UIA60Bb_EeSVxMc4KdphRg">
+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UIATwBb_EeSVxMc4KdphRg" value="1"/>
+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UIATwRb_EeSVxMc4KdphRg" value="1"/>
+    </ownedAttribute>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_TB4ZMBb_EeSVxMc4KdphRg" name="user_rlus" memberEnd="_TB4ZMRb_EeSVxMc4KdphRg _TB2kABb_EeSVxMc4KdphRg">
+    <ownedEnd xmi:type="uml:Property" xmi:id="_TB4ZMRb_EeSVxMc4KdphRg" name="user" type="_QK3v0Bb_EeSVxMc4KdphRg" association="_TB4ZMBb_EeSVxMc4KdphRg">
+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TB4ZMhb_EeSVxMc4KdphRg" value="1"/>
+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_TB4ZMxb_EeSVxMc4KdphRg" value="1"/>
+    </ownedEnd>
+  </packagedElement>
+  <packagedElement xmi:type="uml:Association" xmi:id="_UIA60Bb_EeSVxMc4KdphRg" name="user_ixsmq" memberEnd="_UIA60Rb_EeSVxMc4KdphRg _UH_ssBb_EeSVxMc4KdphRg">
+    <ownedEnd xmi:type="uml:Property" xmi:id="_UIA60Rb_EeSVxMc4KdphRg" name="user" type="_QK3v0Bb_EeSVxMc4KdphRg" association="_UIA60Bb_EeSVxMc4KdphRg">
+      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UIA60hb_EeSVxMc4KdphRg" value="1"/>
+      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UIA60xb_EeSVxMc4KdphRg" value="1"/>
+    </ownedEnd>
+  </packagedElement>
+</uml:Model>
Index: trunk/autoquest-plugin-uml-test/src/test/resources/testCalculateUsageScore_1_properties.txt
===================================================================
--- trunk/autoquest-plugin-uml-test/src/test/resources/testCalculateUsageScore_1_properties.txt	(revision 1643)
+++ trunk/autoquest-plugin-uml-test/src/test/resources/testCalculateUsageScore_1_properties.txt	(revision 1643)
@@ -0,0 +1,5 @@
+/midas/rlus/query/xdw = rlus
+/midas/rlus/update/xdw = rlus
+/midas/rlus/update/cda2report = rlus
+/midas/ixsmq/update/pocdpatient = ixsmq
+/midas/ixsmq/query/pocdpatient = ixsmq
Index: trunk/autoquest-plugin-uml-test/src/test/resources/testCreateInteractionFromEventSequence_1_model.uml
===================================================================
--- trunk/autoquest-plugin-uml-test/src/test/resources/testCreateInteractionFromEventSequence_1_model.uml	(revision 1628)
+++ trunk/autoquest-plugin-uml-test/src/test/resources/testCreateInteractionFromEventSequence_1_model.uml	(revision 1643)
@@ -4,24 +4,4 @@
     <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
   </packageImport>
-  <packagedElement xmi:type="uml:StateMachine" xmi:id="_O36_UAaaEeS7deEA7EQ5bQ" name="PatientIDBehavior">
-    <region xmi:type="uml:Region" xmi:id="_O3-psAaaEeS7deEA7EQ5bQ" name="Region0">
-      <transition xmi:type="uml:Transition" xmi:id="_paX4YAacEeS7deEA7EQ5bQ" name="IXSMangementAndQueryInterface.UpdateEntityTraitValues" source="_SnZhwAaaEeS7deEA7EQ5bQ" target="_SnZhwAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_1hD9YAacEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.RegisterEntityWithIdentity" source="_SnZhwAaaEeS7deEA7EQ5bQ" target="_X7obgAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_ZbI3sAagEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.CreateIdentityFromEntity" source="_SnZhwAaaEeS7deEA7EQ5bQ" target="_X7obgAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_hU4bIAagEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.GetEntityTraitValues" source="_SnZhwAaaEeS7deEA7EQ5bQ" target="_SnZhwAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_AuMAUAahEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.FindIdentitiesByTraits" source="_SnZhwAaaEeS7deEA7EQ5bQ" target="_SnZhwAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_mnkAQAahEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.RemoveEntity" source="_SnZhwAaaEeS7deEA7EQ5bQ" target="_SnZhwAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_Bsp-QAaiEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.RegisterEntityWithIdentity" source="_X7obgAaaEeS7deEA7EQ5bQ" target="_X7obgAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_M3iiUAaiEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.CreateIdentityFromEntity" source="_X7obgAaaEeS7deEA7EQ5bQ" target="_X7obgAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_TLpksAaiEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.UpdateEntityTraitValues" source="_X7obgAaaEeS7deEA7EQ5bQ" target="_X7obgAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_WbouwAaiEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.RemoveIdentity" source="_X7obgAaaEeS7deEA7EQ5bQ" target="_SnZhwAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_36iugAaiEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.GetEntityTraitValues" source="_X7obgAaaEeS7deEA7EQ5bQ" target="_X7obgAaaEeS7deEA7EQ5bQ"/>
-      <transition xmi:type="uml:Transition" xmi:id="_BSZ1wAajEeS7deEA7EQ5bQ" name="IXSManagementAndQueryInterface.FindIdentityByTraits" source="_X7obgAaaEeS7deEA7EQ5bQ" target="_X7obgAaaEeS7deEA7EQ5bQ"/>
-      <subvertex xmi:type="uml:State" xmi:id="_SnZhwAaaEeS7deEA7EQ5bQ" name="PatientUnkown_MPI_RLUS"/>
-      <subvertex xmi:type="uml:State" xmi:id="_X7obgAaaEeS7deEA7EQ5bQ" name="PatientKnown_MPI_PatientUnkown_RLUS"/>
-      <subvertex xmi:type="uml:State" xmi:id="_e-D8cAaaEeS7deEA7EQ5bQ" name="PatientKnown_RLUS_PatientUnkown_MPI"/>
-      <subvertex xmi:type="uml:State" xmi:id="_a1ERUAabEeS7deEA7EQ5bQ" name="PatientKnown_MPI_RLUS"/>
-    </region>
-  </packagedElement>
   <packagedElement xmi:type="uml:Class" xmi:id="_Wh3rMBZcEeSVxMc4KdphRg" name="ixsmq">
     <ownedOperation xmi:type="uml:Operation" xmi:id="_noyI0BZcEeSVxMc4KdphRg" name="removeIdentity"/>
