leaf-analysis/src/simulation/CSPPath.java
/**
	 * Assigned this.numTimePoints and creates time point list (this.timePoints) then
	 * assigned the absolute, relative, and unassigned time points.
	 * @param modelAbstime
	 * @param unassignedTimePoint
	 * @param numRelTP
	 * @param prevTPAssignments
	 */
Assigned this.numTimePoints and creates time point list (this.timePoints) then
assigned the absolute, relative, and unassigned time points.
Assigned this . numTimePoints and creates time point list ( this . timePoints ) then assigned the absolute relative and unassigned time points .
public static IntVar[] createPathTimePoint(ModelSpec spec, Store store, List<Constraint> constraints, 
			HashMap<IntVar, List<String>> timePointMap, int maxTime) {
		HashMap<Integer, List<String>> modelAbstime = spec.getAbsTimePoints();
		List<String> unassignedTimePoint = modelAbstime.get(-1);
		modelAbstime.remove(-1);
		int numRelTP = spec.getNumRelativeTimePoints(); 
		int numTimePoints = modelAbstime.size() + unassignedTimePoint.size() + numRelTP;
		IntVar[] timePoints = new IntVar[numTimePoints];
		int tpCounter = 0;
    	for (Map.Entry<Integer, List<String>> set : modelAbstime.entrySet()) {
    		timePoints[tpCounter] = new IntVar(store, "TA" + tpCounter, set.getKey(), set.getKey());
    		timePointMap.put(timePoints[tpCounter], set.getValue());
    		tpCounter++;
    	}
    	for (String item : unassignedTimePoint) {
        	timePoints[tpCounter] = new IntVar(store, "TU" + tpCounter, 1, maxTime);	    		
    		List<String> toAdd = new ArrayList<String>();
    		toAdd.add(item);
    		timePointMap.put(timePoints[tpCounter], toAdd);
    		tpCounter++;    	
    	}
    	for (int i = 0; i < numRelTP; i++) {
          	timePoints[tpCounter] = new IntVar(store, "TR" + tpCounter, 1, maxTime);	    		
    		List<String> toAdd = new ArrayList<String>();
    		toAdd.add("TR" + tpCounter);
    		timePointMap.put(timePoints[tpCounter], toAdd);
    		tpCounter++; 
    	}
		List<List<String>> orderedTimePoints = spec.getUDTimePointOrder();
    	for (List<String> subList : orderedTimePoints) {
    		for (int i = 1; i < subList.size(); i++) {
    			IntVar prev = getTimePoint(timePointMap, subList.get(i-1));
    			IntVar curr = getTimePoint(timePointMap, subList.get(i));
    			constraints.add(new XltY(prev, curr));
    		}	
    	}
    	return timePoints;
	}
public static IntVar [ ] createPathTimePoint ( ModelSpec spec , Store store , List < Constraint > constraints , HashMap < IntVar , List < String > > timePointMap , int maxTime ) { HashMap < Integer , List < String > > modelAbstime = spec . getAbsTimePoints ( ) ; List < String > unassignedTimePoint = modelAbstime . get ( - 1 ) ; modelAbstime . remove ( - 1 ) ; int numRelTP = spec . getNumRelativeTimePoints ( ) ; int numTimePoints = modelAbstime . size ( ) + unassignedTimePoint . size ( ) + numRelTP ; IntVar [ ] timePoints = new IntVar [ numTimePoints ] ; int tpCounter = 0 ; for ( Map . Entry < Integer , List < String > > set : modelAbstime . entrySet ( ) ) { timePoints [ tpCounter ] = new IntVar ( store , "TA" + tpCounter , set . getKey ( ) , set . getKey ( ) ) ; timePointMap . put ( timePoints [ tpCounter ] , set . getValue ( ) ) ; tpCounter ++ ; } for ( String item : unassignedTimePoint ) { timePoints [ tpCounter ] = new IntVar ( store , "TU" + tpCounter , 1 , maxTime ) ; List < String > toAdd = new ArrayList < String > ( ) ; toAdd . add ( item ) ; timePointMap . put ( timePoints [ tpCounter ] , toAdd ) ; tpCounter ++ ; } for ( int i = 0 ; i < numRelTP ; i ++ ) { timePoints [ tpCounter ] = new IntVar ( store , "TR" + tpCounter , 1 , maxTime ) ; List < String > toAdd = new ArrayList < String > ( ) ; toAdd . add ( "TR" + tpCounter ) ; timePointMap . put ( timePoints [ tpCounter ] , toAdd ) ; tpCounter ++ ; } List < List < String > > orderedTimePoints = spec . getUDTimePointOrder ( ) ; for ( List < String > subList : orderedTimePoints ) { for ( int i = 1 ; i < subList . size ( ) ; i ++ ) { IntVar prev = getTimePoint ( timePointMap , subList . get ( i - 1 ) ) ; IntVar curr = getTimePoint ( timePointMap , subList . get ( i ) ) ; constraints . add ( new XltY ( prev , curr ) ) ; } } return timePoints ; }
Assigned this.numTimePoints and creates time point list (this.timePoints) then
 assigned the absolute, relative, and unassigned time points.
Assigned this . numTimePoints and creates time point list ( this . timePoints ) then assigned the absolute relative and unassigned time points .
// Get the Unique Set of Time Point from the Model // Create a IntVar for each Time Point // Absolute Time Points // Unassigned Time Points  // Relative Time Points // Add constraints for UD TimePoint ordering.