cz.zcu.fav.kiv.jsimcasestudies.watersystem.model
Class SourceProcess

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--cz.zcu.fav.kiv.jsim.JSimProcess
              |
              +--cz.zcu.fav.kiv.jsimcasestudies.watersystem.model.SourceProcess
All Implemented Interfaces:
java.lang.Comparable, cz.zcu.fav.kiv.jsim.gui.JSimDisplayable, java.lang.Runnable

class SourceProcess
extends cz.zcu.fav.kiv.jsim.JSimProcess

The dynamic model of water source (i.e. its state - water level) changes. This process is responsible for periodic adjustments of model values concerning a particular water source. This involves switching on/off sensors of low/high level of water in the source.

Version:
1.3 from 2004-03-24
Author:
Cesar ALLAIN, Jarda KACER

Field Summary
private static double BASE_PERIOD_MULTIPLIER
          Multiplier of the model's base period.
private  double basePeriod
          The model's base period of updates.
private  SourceHardwareData hw
          Information produced by hardware sensors.
private  InterruptController ic
          Interrupt controller object.
private  Source source
          The source that this process manages.
 
Fields inherited from class cz.zcu.fav.kiv.jsim.JSimProcess
INT_REQUESTS_TO_IGNORE, myParent, semaphoreIAmCurrentlyBlockedOn, STATE_ACTIVE, STATE_BLOCKEDONMESSAGERECEIVE, STATE_BLOCKEDONMESSAGESEND, STATE_BLOCKEDONSEMAPHORE, STATE_NEW, STATE_PASSIVE, STATE_SCHEDULED, STATE_TERMINATED
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
protected SourceProcess(cz.zcu.fav.kiv.jsim.JSimSimulation simulation, Source source, SourceHardwareData hw, InterruptController ic, double basePeriod)
          Constructs a new process simulating environment changes and hardware activity that concerns the given source.
 
Method Summary
protected  void life()
          Simulates water level changes in the source and sensor setting.
 
Methods inherited from class cz.zcu.fav.kiv.jsim.JSimProcess
activate, blockOnSemaphore, cancel, compareTo, copyToMessageClipboard, createDetailedInfoWindow, equals, error, getDetailedInformationArray, getMessageBox, getNumber, getObjectListItemDescription, getParent, getPrivateLock, getSenderIAmWaitingFor, getScheduleTime, getState, getStateAsString, getStateAsString, hasBeenStarted, hasEmptyMessageClipboard, hashCode, hold, isIdle, message, messageNoNL, passivate, reactivate, readFromClipboard, receiveMessageWithBlocking, receiveMessageWithBlocking, receiveMessageWithBlocking, receiveMessageWithBlocking, receiveMessageWithoutBlocking, receiveMessageWithoutBlocking, receiveMessageWithoutBlocking, receiveMessageWithoutBlocking, run, sendMessageWithBlocking, sendMessageWithBlocking, sendMessageWithBlocking, sendMessageWithoutBlocking, sendMessageWithoutBlocking, sendMessageWithoutBlocking, start, toString, unblockFromSemaphore, wait
 
Methods inherited from class java.lang.Thread
activeCount, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, checkAccess, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, stop, stop, suspend, yield
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

BASE_PERIOD_MULTIPLIER

private static final double BASE_PERIOD_MULTIPLIER
Multiplier of the model's base period. The product of this multiplier and the model's base period will be used as a parameter to the hold() method.

See Also:
Constant Field Values

basePeriod

private final double basePeriod
The model's base period of updates.


source

private final Source source
The source that this process manages.


hw

private final SourceHardwareData hw
Information produced by hardware sensors.


ic

private InterruptController ic
Interrupt controller object.

Constructor Detail

SourceProcess

protected SourceProcess(cz.zcu.fav.kiv.jsim.JSimSimulation simulation,
                        Source source,
                        SourceHardwareData hw,
                        InterruptController ic,
                        double basePeriod)
                 throws cz.zcu.fav.kiv.jsim.JSimSimulationAlreadyTerminatedException,
                        cz.zcu.fav.kiv.jsim.JSimInvalidParametersException,
                        cz.zcu.fav.kiv.jsim.JSimTooManyProcessesException
Constructs a new process simulating environment changes and hardware activity that concerns the given source.

Parameters:
simulation - The overall simulation.
source - The source to be managed by this process.
hw - Hardware data periodically changed by this source's sensors.
ic - Interrupt object (flag) sets with any sensor change
basePeriod - The model's base period.
Method Detail

life

protected void life()
Simulates water level changes in the source and sensor setting. Can set the sourceLevelLow and sourceLevelHigh flags.

Overrides:
life in class cz.zcu.fav.kiv.jsim.JSimProcess


Copyright © 2000-2004 University of West Bohemia, FAV-KIV. All Rights Reserved. Build date 20040510