1 package net.kwfgrid.gworkflowdl.analysis;
2
3 import net.kwfgrid.gworkflowdl.structure.Place;
4 import net.kwfgrid.gworkflowdl.structure.Workflow;
5
6 import java.util.HashSet;
7
8 /***
9 * Created by IntelliJ IDEA.
10 * User: hans
11 * Date: 28.10.2005
12 * Time: 13:42:26
13 * To change this template use File | Settings | File Templates.
14 */
15 public abstract class Net {
16 public static final int KARP_MILLER_TREE = 0;
17 public static final int FINITE_STATE_MACHINE = 1;
18
19 public int type;
20 public int N;
21 public static int INFINITY = Place.INFINITY;
22
23 public Workflow workflow;
24 public AnalysisTransition[] transitions;
25 public Marking capacities;
26 public Marking initial;
27
28 public int complexity = 0;
29
30 boolean infiniteRun = false;
31 boolean unbounded = false;
32 boolean complete = true;
33
34
35
36 public abstract void build();
37
38
39
40 public abstract boolean isFireable(int t);
41
42 public abstract boolean isFinallyMarked(int p);
43
44 public abstract boolean oneOfIsFinallyMarked(int[] is);
45
46 public abstract boolean isQuasiLive(int p);
47
48 public abstract HashSet gatherDecisions();
49
50 public boolean isComplete() {
51 return complete;
52 }
53 }