public abstract class AbstractRepresentativeUntangling<BPN extends IBPNode<N>,C extends ICondition<BPN,C,E,F,N,P,T,M>,E extends IEvent<BPN,C,E,F,N,P,T,M>,F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>> extends Object
INetSystem).| Modifier and Type | Field and Description |
|---|---|
protected boolean |
cyclic |
protected Collection<IProcess<BPN,C,E,F,N,P,T,M>> |
processes |
protected Collection<IProcess<BPN,C,E,F,N,P,T,M>> |
reducedProcesses |
protected INetSystem<F,N,P,T,M> |
reducedSys |
protected Set<IRun<F,N,P,T,M>> |
runs |
protected boolean |
safe |
protected UntanglingSetup |
setup |
protected int |
significantRunCounter |
protected INetSystem<F,N,P,T,M> |
sys |
protected long |
time |
protected List<TreeStep<F,N,P,T,M>> |
torLeaves |
protected TreeStep<F,N,P,T,M> |
torRoot |
| Constructor and Description |
|---|
AbstractRepresentativeUntangling(INetSystem<F,N,P,T,M> sys) |
AbstractRepresentativeUntangling(INetSystem<F,N,P,T,M> sys,
UntanglingSetup setup)
Constructor of a representative untangling.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
constructProcesses() |
protected void |
constructRuns(INetSystem<F,N,P,T,M> system)
Construct maximal repetition significant runs of a given net system.
|
protected IProcess<BPN,C,E,F,N,P,T,M> |
createProcess(INetSystem<F,N,P,T,M> sys) |
protected IRun<F,N,P,T,M> |
createRun(INetSystem<F,N,P,T,M> sys) |
protected IUntanglingRun<F,N,P,T,M> |
createUntanglingRun(INetSystem<F,N,P,T,M> sys) |
Set<IRun<F,N,P,T,M>> |
getMaximalSignificantRuns() |
int |
getNumberOfSignificantRuns() |
Collection<IProcess<BPN,C,E,F,N,P,T,M>> |
getProcesses() |
INetSystem<F,N,P,T,M> |
getReducedNetSystem() |
Collection<IProcess<BPN,C,E,F,N,P,T,M>> |
getReducedProcesses() |
long |
getTime() |
boolean |
isDeadlockFree() |
boolean |
isNonSinkDeadlockFree() |
boolean |
isSafe() |
protected boolean |
isSignificant(IRun<F,N,P,T,M> run)
Check if a run of a net system is significant.
|
protected boolean |
isSignificantCubic(IRun<F,N,P,T,M> run) |
protected void |
prune(IRun<F,N,P,T,M> run)
Prune a given run, i.e., iteratively remove every last step of the given run
if this last step occurs at least twice in this run.
|
protected void |
reduceSubruns() |
void |
serializeProcesses() |
void |
serializeReducedProcesses() |
protected INetSystem<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>> sys
protected INetSystem<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>> reducedSys
protected Set<IRun<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>>> runs
protected TreeStep<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>> torRoot
protected List<TreeStep<F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>>> torLeaves
protected Collection<IProcess<BPN extends IBPNode<N>,C extends ICondition<BPN,C,E,F,N,P,T,M>,E extends IEvent<BPN,C,E,F,N,P,T,M>,F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>>> processes
protected Collection<IProcess<BPN extends IBPNode<N>,C extends ICondition<BPN,C,E,F,N,P,T,M>,E extends IEvent<BPN,C,E,F,N,P,T,M>,F extends IFlow<N>,N extends INode,P extends IPlace,T extends ITransition,M extends IMarking<F,N,P,T>>> reducedProcesses
protected int significantRunCounter
protected boolean safe
protected UntanglingSetup setup
protected long time
protected boolean cyclic
public AbstractRepresentativeUntangling(INetSystem<F,N,P,T,M> sys, UntanglingSetup setup)
sys - Net system to untangle.public boolean isSafe()
protected void constructProcesses()
protected IUntanglingRun<F,N,P,T,M> createUntanglingRun(INetSystem<F,N,P,T,M> sys)
public void serializeProcesses()
public void serializeReducedProcesses()
protected void constructRuns(INetSystem<F,N,P,T,M> system)
system - A net system.protected boolean isSignificant(IRun<F,N,P,T,M> run)
run - A run of a net systemprotected void prune(IRun<F,N,P,T,M> run)
run - Run to prune.public int getNumberOfSignificantRuns()
public boolean isDeadlockFree()
public boolean isNonSinkDeadlockFree()
protected void reduceSubruns()
public long getTime()
Copyright © 2017. All rights reserved.