All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jbpt.petri.wftree.IWFTree Maven / Gradle / Ivy

Go to download

The jBPT code library is a compendium of technologies that support research on design, execution, and evaluation of business processes.

The newest version!
package org.jbpt.petri.wftree;

import java.util.Set;

import org.jbpt.algo.tree.rpst.IRPST;
import org.jbpt.algo.tree.rpst.IRPSTNode;
import org.jbpt.petri.IFlow;
import org.jbpt.petri.INode;
import org.jbpt.petri.IPlace;
import org.jbpt.petri.ITransition;

/**
 * Interface to a WF-tree.
 * 
 * WF-tree was proposed in:
 * Matthias Weidlich, Artem Polyvyanyy, Jan Mendling, and Mathias Weske.
 * Causal Behavioural Profiles - Efficient Computation, Applications, and Evaluation. 
 * Fundamenta Informaticae (FUIN) 113(3-4): 399-435 (2011)
 *
 * @param  Flow template.
 * @param  Node template.
 * @param 

Place template. * @param Transition template. * * @author Artem Polyvyanyy */ public interface IWFTree, N extends INode, P extends IPlace, T extends ITransition> extends IRPST { /** * Get refined type of a WF-tree bond node.

* * WFTreeBondType.TRANSITION_BORDERED if entry and exit are transitions.
* WFTreeBondType.PLACE_BORDERED if entry and exit are places.
* WFTreeBondType.LOOP if entry and exit are places and entry of some child is an exit of another child.
* WFTreeBondType.UNDEFINED none of the above.
* * @param node Node of this WF-tree. * @return Refined type of this WF-tree bond node; WFTreeBondType.UNDEFINED if the type cannot be determined. */ public WFTreeBondType getRefinedBondType(IRPSTNode node); /** * Get loop orientation type of a WF-tree node.

* Loop orientation type is defined if parent of the given node is of type loop.

* * WFTreeLoopOrientationType.FORWAD if entry of the given node is equal to the entry of the parent loop node.
* WFTreeLoopOrientationType.BACKWARD if if entry of the given node is equal to the exit of the parent loop node.
* * @param node Node of this WF-tree. * @return Loop orientation type of the given node; WFTreeLoopOrientationType.UNDEFINED if the type cannot be determined. */ public WFTreeLoopOrientationType getLoopOrientationType(IRPSTNode node); /** * Get RPST nodes of a given {@link WFTreeBondType} type. * * @param type WF-tree bond type. * @return Set of RPST nodes of the given {@link WFTreeBondType} type. */ public Set> getRPSTNodes(WFTreeBondType type); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy