Interface NESTWorkflowExtractor

All Known Implementing Classes:
NESTWorkflowExtractorImpl

public interface NESTWorkflowExtractor
Interface of the nest workflow extractor, which provides methods to extract components of a nest workflow graph.
Author:
unknown (NESTWorkflowModifier
  • Method Details

    • extractOrderedDataNodes

      LinkedList<NESTDataNodeObject> extractOrderedDataNodes()
      Returns:
      data nodes ordered by occurrence.
    • extractOrderedTaskNodes

      LinkedList<NESTTaskNodeObject> extractOrderedTaskNodes()
      Returns:
      task nodes ordered by occurrence.
    • extractTaskSequences

      Set<NESTWorkflowObject> extractTaskSequences(int minLength)
      Extracts each longest sequence of task nodes without controlflow nodes and with at least minLength tasks
      Parameters:
      minLength - minimum number of tasks in a sequence
      Returns:
      set of nest workflow graphs with task sequences
    • extractSingleTaskBlocks

      Set<NESTWorkflowObject> extractSingleTaskBlocks()
      Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.
      Returns:
      set of nest workflow graphs
    • extractSingleTaskBlocks

      Set<NESTWorkflowObject> extractSingleTaskBlocks(Predicate<NESTTaskNodeObject> filter)
      Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.
      Parameters:
      filter - filter for the tasks to be extracted
      Returns:
      set of nest workflow graphs
    • extractSingleTaskBlocks

      Set<NESTWorkflowObject> extractSingleTaskBlocks(Predicate<NESTTaskNodeObject> filter, int initialCntValue)
      Returns a set of nest workflow graphs where each graph contains a single task node from the given workflow graph.
      Parameters:
      filter - filter for the tasks to be extracted
      initialCntValue - counter for id generation
      Returns:
      set of nest workflow graphs
    • extractWorkflowBlocks

      Set<NESTWorkflowObject> extractWorkflowBlocks()
      Returns a set of partial nest workflow graphs extracted from a block-oriented workflow graph. Returns the following elements as a single graph: each longest sequence of task nodes without controlflow nodes with at least two tasks and each controlflow block with contained sequences Returns null if the given nest workflow graph is not block-oriented.
      Returns:
      set of nest workflow graphs
    • extractWorkflowBlocks

      Set<NESTWorkflowObject> extractWorkflowBlocks(int initialCntValue)
      Returns a set of partial nest workflow graphs extracted from a block-oriented workflow graph. Returns the following elements as a single graph: each longest sequence of task nodes without controlflow nodes with at least two tasks and each controlflow block with contained sequences Returns null if the given nest workflow graph is not block-oriented.
      Parameters:
      initialCntValue - counter for id generation
      Returns:
      set of nest workflow graphs
    • extractPartialGraphComponents

      Set<NESTWorkflowObject> extractPartialGraphComponents()
      Returns a set of partial nest workflow graph for those sequence nodes that are connected via the control-flow and a set of partial nest graphs containing unlinked data objects.
      Returns:
      set of partial nest workflow graphs
    • extractPartialGraph

      NESTWorkflowObject extractPartialGraph(Collection<NESTSequenceNodeObject> componentNodes, boolean removeUnusedControlflowBlocks)
      Returns a cloned partial nest workflow graph for a given set of sequence nodes.
      Parameters:
      componentNodes - the set of sequence nodes that are contained in the nest graph
      removeUnusedControlflowBlocks - defined whether unused control-flow blocks are removed
      Returns:
      cloned partial nest workflow graph
    • extractPartialGraph

      NESTWorkflowObject extractPartialGraph(NESTSequenceNodeObject componentNodes, boolean removeUnusedControlflowBlocks)
      Returns a cloned partial nest workflow graph for a sequence node.
      Parameters:
      componentNodes - the set of sequence nodes that are contained in the nest workflow graph
      removeUnusedControlflowBlocks - defined whether unused control-flow blocks are removed
      Returns:
      cloned partial nest workflow graph
    • extractOrderedSequenceNodes

      LinkedList<NESTSequenceNodeObject> extractOrderedSequenceNodes()
      Returns:
      sequence nodes ordered by occurrence.