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

org.jbpt.bp.construct.RelSetCreator Maven / Gradle / Ivy

package org.jbpt.bp.construct;

import java.util.Collection;

import org.jbpt.bp.RelSet;
import org.jbpt.hypergraph.abs.IEntity;
import org.jbpt.hypergraph.abs.IEntityModel;


/**
 * Interface for all computations that derive a relation 
 * set of a model.
 * 
 * @author matthias.weidlich
 *
 */
public interface RelSetCreator,N extends IEntity> {

	/**
	 * Returns the relation set for the given model. Depending on 
	 * the concrete creator, the relations are computed for a distinguished set 
	 * of entities. For instance, if the model is a Petri net, the relation 
	 * set may be derived for all nodes or all transitions.
	 * 
	 * @param model, the model
	 * @return the relation set of the model
	 */
	public RelSet deriveRelationSet(M model);

	/**
	 * Returns the relation set for the given collection of entities 
	 * of the model. Creator classes may implicitly restrict this set.
	 * For instance, if the model is a Petri net, some creators may
	 * requires the set of entities to contain only transitions.
	 * 
	 * @param model, the model
	 * @param a collection of entities of the model
	 * @return the relation set of the model
	 */
	public RelSet deriveRelationSet(M model, Collection entities);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy