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

de.uni.freiburg.iig.telematik.sepia.traversal.PNTraverser Maven / Gradle / Ivy

Go to download

SEPIA provides implementations for various types of Petri nets. Along Place/Transition-nets, it supports Petri nets with distinguishable token colors and defines coloured workflow nets, where coloured tokens are interpreted as data elements used during process execution. To support information flow analysis of processes, SEPIA defines so-called IF-Nets, tailored for security-oriented workflow modeling which enable users to assign security-levels (HIGH, LOW) to transitions, data elements and persons/agents participating in the process execution.

The newest version!
package de.uni.freiburg.iig.telematik.sepia.traversal;

import java.util.List;

import de.invation.code.toval.validate.InconsistencyException;
import de.invation.code.toval.validate.Validate;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractPetriNet;
import de.uni.freiburg.iig.telematik.sepia.petrinet.abstr.AbstractTransition;



public abstract class PNTraverser> {
	
	protected AbstractPetriNet net;
	
	public PNTraverser(AbstractPetriNet net){
		Validate.notNull(net);
		this.net = net;
	}
	
	public AbstractPetriNet getPetriNet(){
		return net;
	}

	
	/**
	 * Checks if the traverser is in a valid state.
* The traverser is in valid state, when the value chooser is in valid state. * @return true if the flow control is valid
* false otherwise. */ public abstract boolean isValid(); /** * Chooses among all enabled transitions of the Petri net, the next transition to fire. * @return The next enabled transition to fire. * @throws InconsistencyException If the flow control is not in valid state. */ public abstract T chooseNextTransition(List enabledTransitions) throws InconsistencyException; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy