|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectAbstractNamedObject
edu.bonn.xulu.model.AbstractXuluModel
edu.bonn.xulu.model.AbstractStepModel
appl.parallel.model.AbstractParallelStepModel
edu.bonn.xulu.plugin.model.parallel.ClueModelParallel
public class ClueModelParallel
This class is a parallel version of the ClueModel
. For details on
the ClueModel
, see its documentation. To understand the parallel
module of Xulu please look at the demo algorithms
AverageNeighborhoodSerialDemoModel
and
AverageNeighborhoodParallelDemoModel
. The algorithm was splitted in
the following way: Calculation of the LU-Probabilities, Neighborhood Bounds and
the iteration were outsourced as a single Task named ClueTask
. It is
in general possible of course, to define them in different Tasks.
Here the chain of actions:
1.) In the init method, declare all variables which should be used on
serverside are declared
2.) In Run the LU-Probabilities on the on the Servers
3.) If this not the first step: Update the neighborhood region
4.) Calculate the neighborhood probabilities on the servers
5.) Calculate (local!) the iterationvariable
6.) Calculate the next Iteration on the servers
7.) The servers will give back the distributed land cover
8.) The sum of all distributed land cover (on every server) is calculated
9.) Based on the sum: If demand is not met: Calculate new iterationvariable
(goto 6.)
10.) If the demand is met: Merge the outputGrids into the data-source in the
datapool
Notice that the documentation of this file is a mixture of English and
German. This is due to the fact that Xulu / V works so nicely that very much
of Martin Schmitz' original German-commented ClueModel
-code could be reused.
ClueModelContentManager
Nested Class Summary | |
---|---|
static class |
ClueModelParallel.ClueModelGUI
Diese Klasse stellt eine modellspezifische GUI-Komponente fuer das CLUE-Modell dar. |
Field Summary | |
---|---|
protected ClueModelContentManager |
contManager
Speichert den ContentManager fuer das Modell. |
static int |
TOLTYPE_ABS
Konstante fuer die Toleranz-Art "absolut in Bedarf-Einheit". |
static int |
TOLTYPE_PCT
Konstante fuer die Toleranz-Art "prozentual". |
Fields inherited from class edu.bonn.xulu.model.AbstractStepModel |
---|
stepCount |
Fields inherited from class edu.bonn.xulu.model.AbstractXuluModel |
---|
disposed, events, initialised, listeners, modelResourceProvider, running, statusOut, stopped |
Constructor Summary | |
---|---|
ClueModelParallel()
Erzeugt eine neue Instanz des CLUE-Modells. |
Method Summary | |
---|---|
protected void |
calculateLUProbabilities(int stepNo)
Berechnet die auf den Driving Forces basierenden Landnutzungs-Wahrscheinlichkeiten fuer einen Modell-Schritt und speichert diese in der Ressource "temp. |
protected void |
calulateNeighborhoodProbabilities(int stepNo)
Berechnet die auf den Nachbarschaftsbeziehungen basierenden Landnutzungs-Wahrscheinlichkeiten fuer einen Modell-Schritt und speichert diese in der Ressource "temp. |
protected boolean |
checkDemandCompliedAndCalculateIterVar(int stepNo,
int iterNo)
Prueft, ob die aktuelle LU-Konfiguration die einzelenen Bedarfsanforderungen (bis auf eine Abweichung) erfuellt und berechnet die Iterationsvariablen neu. |
protected static boolean |
checkNoData(int x,
int y,
WritableGrid grid)
Prueft, ob eine Rasterzelle mit NoData belegt ist |
Component |
getModelSpecificGUI()
Liefert eine CLUE-spezifische GUI, in der die Abweichungen waehrend der Iteration angezeigt werden und ueber die die Toleranzen eingestellt werden koennen |
void |
performModelDispose()
Gibt die Lese/Schreibrechte auf das Ein- und Ausgaberaster wieder frei. |
void |
performModelInit()
Initialisiert das Model, indem die Ressourcen aus dem ContentManager geladen werden und mit Lese/Schreib-Rechten versehen werden. |
void |
performModelStep(int stepNo)
Fuehrt einen Schritt des Modellablaufs durch. |
Methods inherited from class appl.parallel.model.AbstractParallelStepModel |
---|
getAdvancedSPMDController, getSPMDController, setSPMDController |
Methods inherited from class edu.bonn.xulu.model.AbstractStepModel |
---|
fireModelStepFinished, fireModelStepStarted, getStepCount, performModelStart |
Methods inherited from class edu.bonn.xulu.model.AbstractXuluModel |
---|
addModelListener, checkBreakingCommands, determineCaption, disposeModel, fireModelDisposed, fireModelEvent, fireModelInitialised, fireModelStarted, fireModelStopped, getContentManager, getEvents, getResourceProvider, getStatusOut, initModel, isDisposed, isInitialised, isRunning, isStopped, performError, releaseAccess, removeModelListener, resetCaptions, setStatusOut, startModelling, stopModelling |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface edu.bonn.xulu.model.StepModel |
---|
getStepCount |
Methods inherited from interface edu.bonn.xulu.model.XuluModel |
---|
addModelListener, disposeModel, getContentManager, getEvents, getResourceProvider, getStatusOut, initModel, isDisposed, isInitialised, isRunning, isStopped, performError, removeModelListener, setStatusOut, startModelling, stopModelling |
Field Detail |
---|
public static final int TOLTYPE_PCT
public static final int TOLTYPE_ABS
protected ClueModelContentManager contManager
ClueModelContentManager
Constructor Detail |
---|
public ClueModelParallel()
Method Detail |
---|
public void performModelInit()
performModelInit
in class AbstractXuluModel
public void performModelDispose()
performModelDispose
in class AbstractXuluModel
public void performModelStep(int stepNo)
performModelStep
in interface StepModel
performModelStep
in class AbstractStepModel
stepNo
- zu modellierender Schritt (beginnend bei 1!)public Component getModelSpecificGUI()
getModelSpecificGUI
in interface XuluModel
getModelSpecificGUI
in class AbstractXuluModel
ClueModelParallel.ClueModelGUI
protected static boolean checkNoData(int x, int y, WritableGrid grid)
NoData
belegt ist
x
- Raster-Koordinatey
- Raster-Koordinategrid
- zu pruefendes Rasterprotected void calculateLUProbabilities(int stepNo)
stepNo
- modellierter Schritt (beginnend bei 1)protected void calulateNeighborhoodProbabilities(int stepNo)
stepNo
- modellierter Schritt (beginnend bei 1)protected boolean checkDemandCompliedAndCalculateIterVar(int stepNo, int iterNo)
stepNo
- modellierter Schritt (beginnend bei 1)iterNo
- aktuelle Iteration (beginnend bei 1)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |