Interface ConfigurablePetrinet<NetType extends PetrinetGraph>

  • Type Parameters:
    NetType - the net base type made configurable by this net
    All Superinterfaces:
    org.processmining.models.graphbased.AttributeMapOwner, java.lang.Cloneable, java.lang.Comparable<org.processmining.models.graphbased.directed.DirectedGraph<PetrinetNode,​PetrinetEdge<? extends PetrinetNode,​? extends PetrinetNode>>>, org.processmining.models.graphbased.directed.DirectedGraph<PetrinetNode,​PetrinetEdge<? extends PetrinetNode,​? extends PetrinetNode>>, org.processmining.models.graphbased.directed.DirectedGraphElement, Petrinet, PetrinetGraph
    All Known Implementing Classes:
    ConfigurableResetInhibitorNet

    public interface ConfigurablePetrinet<NetType extends PetrinetGraph>
    extends Petrinet
    Configurable Petri net that builds on top of an existing class of Petri nets specified by parameter NetType. The contract with this interface is that any class that implements this interface als implements or extends NetType.
    Author:
    dfahland
    • Method Detail

      • addConfigurableFeature

        void addConfigurableFeature​(java.lang.String id,
                                    ConfigurableFeature<? extends org.processmining.models.graphbased.directed.DirectedGraphElement,​?> feature)
                             throws InvalidConfigurationException
        Add a configurable feature to this net
        Parameters:
        id - to uniquely reference the feature
        feature -
        Throws:
        InvalidConfigurationException - if the feature ranges over an element not part of this net
      • cloneFrom

        void cloneFrom​(NetType net,
                       Marking netMarking,
                       java.util.List<ConfigurableFeatureGroup> configurationOptions,
                       org.processmining.models.connections.GraphLayoutConnection oldLayout,
                       org.processmining.models.connections.GraphLayoutConnection newLayout)
                throws java.lang.Exception
        Clone a configurable reset inhibitor net from an existing reset inhibitor net. The configurations specified for the existing net will be instantiated for the new configurable net.
        Parameters:
        net -
        netMarking - initial marking of the net, can be null or empty
        configurations -
        oldLayout -
        newLayout -
        Throws:
        java.lang.Exception - in case the cloned net has an invalid set of configuration features
      • cloneFrom

        void cloneFrom​(ConfigurablePetrinet<NetType> net,
                       org.processmining.models.connections.GraphLayoutConnection oldLayout,
                       org.processmining.models.connections.GraphLayoutConnection newLayout)
                throws java.lang.Exception
        Throws:
        java.lang.Exception - in case the cloned net has an invalid set of configuration features
      • getConfigurableFeatureGroups

        java.util.List<ConfigurableFeatureGroup> getConfigurableFeatureGroups()
        Returns:
        list of all configuration features of this Petri net (individual transitions and groups of transitions)
      • getConfiguredMarking

        Marking getConfiguredMarking()
        Returns:
        initial marking of the configured net, must not be null