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

de.uni.freiburg.iig.telematik.sepia.petrinet.cpn.CPNFlowRelation 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.petrinet.cpn;

import de.invation.code.toval.types.Multiset;
import de.invation.code.toval.validate.ParameterException;
import de.uni.freiburg.iig.telematik.sepia.petrinet.cpn.abstr.AbstractCPNFlowRelation;

public class CPNFlowRelation extends AbstractCPNFlowRelation {


	private static final long serialVersionUID = -8743990268471831530L;

//	public CPNFlowRelation(CPNPlace p, CPNTransition t, boolean addDefaultConstraint) {
//		super(p, t, addDefaultConstraint);
//	}
//	
//	public CPNFlowRelation(CPNTransition t, CPNPlace p, boolean addDefaultConstraint) {
//		super(t, p, addDefaultConstraint);
//	}

	public CPNFlowRelation(CPNPlace place, CPNTransition transition, Multiset constraint) {
		super(place, transition, constraint);
	}

	public CPNFlowRelation(CPNPlace place, CPNTransition transition) {
		super(place, transition);
	}

	public CPNFlowRelation(CPNTransition transition, CPNPlace place, Multiset constraint) {
		super(transition, place, constraint);
	}

	public CPNFlowRelation(CPNTransition transition, CPNPlace place) {
		super(transition, place);
	}

	@Override
	public CPNFlowRelation clone(CPNPlace place, CPNTransition transition, boolean directionPT) {
		CPNFlowRelation result = null;
		try {
			// Can't set direction afterwards. The default name could be wrong then when testing for equality.
			if (directionPT)
				result = new CPNFlowRelation(place, transition);
			else
				result = new CPNFlowRelation(transition, place);
			result.setConstraint(getConstraint().clone());
		} catch (ParameterException e) {
			e.printStackTrace();
		}
		return result;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy