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

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

package org.jbpt.bp.construct;

import java.util.Collection;

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


/**
 * Interface for all computations that derive a behavioural 
 * profile for a model.
 * 
 * @author matthias.weidlich
 *
 */
public interface BPCreator,N extends IEntity> {

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

	/**
	 * Returns the behavioural profile 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, a model
	 * @param a collection of entities of the model
	 * @return the behavioural profile of the model
	 */
	public BehaviouralProfile deriveBehaviouralProfile(M model, Collection entities);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy