|
|
@ -66,6 +66,8 @@ public abstract class ModelExplicit implements Model |
|
|
protected List<State> statesList; |
|
|
protected List<State> statesList; |
|
|
/** (Optionally) a list of values for constants associated with this model. */ |
|
|
/** (Optionally) a list of values for constants associated with this model. */ |
|
|
protected Values constantValues; |
|
|
protected Values constantValues; |
|
|
|
|
|
/** (Optionally) the list of variables */ |
|
|
|
|
|
protected VarList varList; |
|
|
/** (Optionally) some labels (atomic propositions) associated with the model, |
|
|
/** (Optionally) some labels (atomic propositions) associated with the model, |
|
|
* represented as a String->BitSet mapping from their names to the states that satisfy them. */ |
|
|
* represented as a String->BitSet mapping from their names to the states that satisfy them. */ |
|
|
protected Map<String, BitSet> labels = new TreeMap<String, BitSet>(); |
|
|
protected Map<String, BitSet> labels = new TreeMap<String, BitSet>(); |
|
|
@ -94,6 +96,7 @@ public abstract class ModelExplicit implements Model |
|
|
statesList = model.statesList; |
|
|
statesList = model.statesList; |
|
|
constantValues = model.constantValues; |
|
|
constantValues = model.constantValues; |
|
|
labels = model.labels; |
|
|
labels = model.labels; |
|
|
|
|
|
varList = model.varList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ -117,6 +120,7 @@ public abstract class ModelExplicit implements Model |
|
|
statesList = null; |
|
|
statesList = null; |
|
|
constantValues = model.constantValues; |
|
|
constantValues = model.constantValues; |
|
|
labels.clear(); |
|
|
labels.clear(); |
|
|
|
|
|
varList = model.varList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@ -129,6 +133,7 @@ public abstract class ModelExplicit implements Model |
|
|
deadlocks = new TreeSet<Integer>(); |
|
|
deadlocks = new TreeSet<Integer>(); |
|
|
statesList = null; |
|
|
statesList = null; |
|
|
constantValues = null; |
|
|
constantValues = null; |
|
|
|
|
|
varList = null; |
|
|
labels = new TreeMap<String, BitSet>(); |
|
|
labels = new TreeMap<String, BitSet>(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -177,6 +182,14 @@ public abstract class ModelExplicit implements Model |
|
|
this.constantValues = constantValues; |
|
|
this.constantValues = constantValues; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* Sets the VarList for this model (may be {@code null}). |
|
|
|
|
|
*/ |
|
|
|
|
|
public void setVarList(VarList varList) |
|
|
|
|
|
{ |
|
|
|
|
|
this.varList = varList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Adds a label and the set the states that satisfy it. |
|
|
* Adds a label and the set the states that satisfy it. |
|
|
* Any existing label with the same name is overwritten. |
|
|
* Any existing label with the same name is overwritten. |
|
|
@ -270,6 +283,12 @@ public abstract class ModelExplicit implements Model |
|
|
return constantValues; |
|
|
return constantValues; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public VarList getVarList() |
|
|
|
|
|
{ |
|
|
|
|
|
return varList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public BitSet getLabelStates(String name) |
|
|
public BitSet getLabelStates(String name) |
|
|
{ |
|
|
{ |
|
|
|