Exemple #1
0
        /// <param name="successorMatrix">Direct succession matrix</param>
        /// <param name="heuristicsMinerSettings">Heuristic miner settings</param>
        public DependencyGraph(SuccessorMatrix successorMatrix, HeuristicMinerSettings heuristicsMinerSettings)
        {
            Activities      = successorMatrix.Activities;
            ActivityIndices = successorMatrix.ActivityIndices;
            StartActivity   = successorMatrix.ActivityIndices[successorMatrix.StartActivities.First()];
            EndActivity     = successorMatrix.ActivityIndices[successorMatrix.EndActivities.First()];
            var dependencyMatrix = new DependencyMatrix(successorMatrix);

            Settings = heuristicsMinerSettings;
            CreateDependencyGraph(successorMatrix, dependencyMatrix);
        }
 /// <summary>
 /// Mine Petri net from a workflow log based on given settings
 /// </summary>
 /// <param name="workflowLog">Workflow log</param>
 /// <param name="heuristicMinerSettings">Heuristic miner settings</param>
 /// <returns></returns>
 public static PetriNet MinePetriNet(WorkflowLog workflowLog, HeuristicMinerSettings heuristicMinerSettings)
 {
     return(CNetUtils.ConvertCNetToPetriNet(MineCNet(workflowLog, heuristicMinerSettings)));
 }
 /// <summary>
 /// Mine Causal net from a workflow log based on given settings
 /// </summary>
 /// <param name="workflowLog">Workflow log</param>
 /// <param name="heuristicsMinerSettings">Heuristic miner settings</param>
 /// <returns>Causal net</returns>
 public static CNet MineCNet(WorkflowLog workflowLog, HeuristicMinerSettings heuristicsMinerSettings)
 {
     //Preprocessing the log; each trace starts with same activity and ends with same activity
     WorkflowLogUtils.WorkflowLogPreprocessor(workflowLog);
     return(new CNet(workflowLog, heuristicsMinerSettings));
 }