org.processmining.converting
Class WFNetToYAWL

java.lang.Object
  extended by org.processmining.converting.WFNetToYAWL
All Implemented Interfaces:
ConvertingPlugin, Plugin

public class WFNetToYAWL
extends java.lang.Object
implements ConvertingPlugin

Title: Labeled WF Net to YAWL model convertor

Description: Takes a labeled WF-net and converts it into a YAWL model.

Copyright: Copyright (c) 2004 Eric Verbeek

Company: TU/e

Version:
1.0
Author:
not attributable

Constructor Summary
WFNetToYAWL()
           
 
Method Summary
 boolean accepts(ProvidedObject object)
          This function tells the interface which results are accepted by this Plugin
static boolean connect(java.util.HashSet<PNNode> splitSphere, java.util.HashSet<PNNode> joinSphere)
          Determine whether there should be a YAWL edge from 'one YAWL object' to 'another YAWL object'.
 YAWLModel convert(PetriNet net)
          Convert the given Petri net into a YAWL model.
 MiningResult convert(ProvidedObject object)
          Execute this conversion algorithm on the given log file.
 java.lang.String getHtmlDescription()
          Gets a description of this plugin in HTML.
 java.lang.String getName()
          Gets the name of this plugin.
 java.lang.String getName(ModelGraphVertex element)
          Construct a unqiue name for the given object.
static java.util.HashSet<PNNode> getSphere(PetriNet net, Transition labeledTransition, boolean isJoin)
          Construct the join/split sphere for the given transition in ht egiven Petri net.
static java.lang.String getType(Transition sphereTransition, java.util.HashSet<PNNode> sphere, boolean isJoin)
          Determine the join/split type of the task corresponding to the given transition.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WFNetToYAWL

public WFNetToYAWL()
Method Detail

getName

public java.lang.String getName()
Description copied from interface: Plugin
Gets the name of this plugin. Implementing classes should use this method to return their own name.

Specified by:
getName in interface Plugin
Returns:
the name of this plugin

getHtmlDescription

public java.lang.String getHtmlDescription()
Description copied from interface: Plugin
Gets a description of this plugin in HTML. The string returned by this method should only contain the contents of the body of the html page, so the html, head and body tags should not be used. This HTML page is displayed in the help system or as context sensitive help. The HTML body can be stored in an external file in the /lib/documentation/ sub folder and in this case it can be obtained by calling PluginDocumentationLoader.load(this)

Specified by:
getHtmlDescription in interface Plugin
Returns:
a description of this plugin in HTML

convert

public MiningResult convert(ProvidedObject object)
Description copied from interface: ConvertingPlugin
Execute this conversion algorithm on the given log file.

Specified by:
convert in interface ConvertingPlugin
Parameters:
object - The original mining result
Returns:
the result of the conversion, in a MininResult object

accepts

public boolean accepts(ProvidedObject object)
Description copied from interface: ConvertingPlugin
This function tells the interface which results are accepted by this Plugin

Specified by:
accepts in interface ConvertingPlugin
Parameters:
object - The original mining result
Returns:
Whether or not this result is accepted

getName

public java.lang.String getName(ModelGraphVertex element)
Construct a unqiue name for the given object.

Parameters:
element - ModelGraphVertex The given object.
Returns:
String X\tY, where X is the object's name and Y makes the name unique. Y will be stripped from the name at an appropriate time, leaving X.

convert

public YAWLModel convert(PetriNet net)
Convert the given Petri net into a YAWL model.

Parameters:
net - PetriNet The given Petri net.
Returns:
YAWLModel The constructed YAWL model.

getSphere

public static java.util.HashSet<PNNode> getSphere(PetriNet net,
                                                  Transition labeledTransition,
                                                  boolean isJoin)
Construct the join/split sphere for the given transition in ht egiven Petri net.

Parameters:
net - PetriNet The given Petri net.
labeledTransition - Transition The given transition.
isJoin - boolean Whether to construct the join sphere (true) or a split sphere (false).
Returns:
HashSet

getType

public static java.lang.String getType(Transition sphereTransition,
                                       java.util.HashSet<PNNode> sphere,
                                       boolean isJoin)
Determine the join/split type of the task corresponding to the given transition.

Parameters:
sphereTransition - Transition The given transition.
sphere - HashSet Its join/split sphere (depends on isJoin).
isJoin - boolean Whether the join split is requested (true) or the split type (false).
Returns:
String

connect

public static boolean connect(java.util.HashSet<PNNode> splitSphere,
                              java.util.HashSet<PNNode> joinSphere)
Determine whether there should be a YAWL edge from 'one YAWL object' to 'another YAWL object'.

Parameters:
splitSphere - HashSet The split sphere of 'one YAWL object'.
joinSphere - HashSet The split sphere of 'another YAWL object'.
Returns:
boolean Whether there should be an edge.