public class AperiodicParameters extends ReleaseParameters implements Cloneable
Jamaica Real-Time Specification for Java class AperiodicParameters
This class characterizes the release of schedulable objects that can be released at any time. Note that the presence of AperiodicParameters typically makes the feasibility analysis of any set of schedulable objects impossible, unless the total execution time required by aperiodic tasks are restricted by adequate ProcessingGroupParameters.
Note that any changes to RelativeTime arguments of this object do not propagate to the schedulable object until the corresponding setter method of AperiodicParameters is called to notify this object about the change.
NOTE: the methods in this class are not synchronized. They cannot be used by several threads simultaneously without proper explicit synchronization.
| Modifier and Type | Field and Description | 
|---|---|
| static String | arrivalTimeQueueOverflowExceptThe "EXCEPT" policy for dealing with arrival time queue
 overflow. | 
| static String | arrivalTimeQueueOverflowIgnoreThe "IGNORE" policy for dealing with arrival time queue
 overflow. | 
| static String | arrivalTimeQueueOverflowReplaceThe "REPLACE" policy for dealing with arrival time queue
 overflow. | 
| static String | arrivalTimeQueueOverflowSaveThe "SAVE" policy for dealing with arrival time queue
 overflow. | 
| Constructor and Description | 
|---|
| AperiodicParameters()Create an AperiodicParameters object. | 
| AperiodicParameters(RelativeTime cost,
                   RelativeTime deadline,
                   AsyncEventHandler overrunHandler,
                   AsyncEventHandler missHandler)Constructor of AperiodicParameters to be used as
 ReleaseParameters for AsyncEventHandler if the event handler will
 be scheduled aperiodically. | 
| Modifier and Type | Method and Description | 
|---|---|
| Object | clone()clone creates a clone of this object with the same parameters but
 without association to any schedulable object. | 
| String | getArrivalTimeQueueOverflowBehavior()getArrivalTimeQueueOverflowBehavior returns the current arrival
 time queue overflow behavior. | 
| int | getInitialArrivalTimeQueueLength()getInitialArrivalTimeQueueLength returns the initial length of
 the arrival time queue. | 
| void | setArrivalTimeQueueOverflowBehavior(String behavior)setArrivalTimeQueueOverflowBehavior sets the behavior for the
 case of an overflow in the arrival time queue. | 
| boolean | setIfFeasible(RelativeTime cost,
             RelativeTime deadline)setIfFeasible performs a feasibility analysis using the new
 cost and deadline parameters. | 
| void | setInitialArrivalTimeQueueLength(int initial)setInitialArrivalTimeQueueLength sets the initial number of
 elements in the arrival time queue for the schedulable object
 that receives this AperiodicParameters in its constructor. | 
getCost, getCostOverrunHandler, getDeadline, getDeadlineMissHandler, setCost, setCostOverrunHandler, setDeadline, setDeadlineMissHandler, setIfFeasiblepublic static final String arrivalTimeQueueOverflowExcept
public static final String arrivalTimeQueueOverflowIgnore
public static final String arrivalTimeQueueOverflowReplace
public static final String arrivalTimeQueueOverflowSave
public AperiodicParameters()
public AperiodicParameters(RelativeTime cost, RelativeTime deadline, AsyncEventHandler overrunHandler, AsyncEventHandler missHandler)
IllegalArgumentException - if cost is negative or
 deadline is negative or zero.cost - The CPU time required for each release. If cost
 monitoring is performed, this gives the maximum amount of CPU
 time that will be allowed for each release. In any case, this may
 be used by the feasibility analysis.  If null, the default value
 will be new RelativeTime(0, 0). Note that on a system with cost
 monitoring, this default value will allow no execution time for
 the associated schedulable object.deadline - The deadline for the completion of one release,
 relative to the release time of that release. If null, the
 default value is a new instance of
 RealtiveTime(Long.MAX_VALUE, 999999).overrunHandler - This handler will be invoked if the cost of
 one invocation exceeds the cost parameter. If null, there will be
 no overrunHandler.
 For JamaicaVM, cost overrun checking is enabled if CpuTime.CPU_TIME_SUPPORTED is true. The
 accuracy of the cost enforcement can be specified in nanoseconds
 via the property jamaica.cost_monitoring_accuracy.  The default
 value is 5000000, i.e., 5milliseconds.
missHandler - This handler will be invoked if the deadline
 of one release is missed. If null, there will be no deadline.public boolean setIfFeasible(RelativeTime cost, RelativeTime deadline)
setIfFeasible in class ReleaseParametersIllegalArgumentException - if cost is negative or
 deadline is negative or zero.cost - The CPU time required for each release. If cost
 monitoring is performed, this gives the maximum amount of CPU
 time that will be allowed for each release. In any case, this may
 be used by the feasibility analysis. If null, the default value
 will be new RelativeTime(0, 0). Note that on a system with cost
 monitoring, this default value will allow no execution time for
 the associated schedulable object.deadline - The deadline for the completion of one release,
 relative to the release time of that release. If null, the
 default value is a new instance of
 RealtiveTime(Long.MAX_VALUE, 999999).public int getInitialArrivalTimeQueueLength()
public void setInitialArrivalTimeQueueLength(int initial)
initial - the initial arrival time queue length.public void setArrivalTimeQueueOverflowBehavior(String behavior)
IllegalArgumentException - if behavior is not one of the
 constants arrivalTimeQueueOverflowExcept,
 arrivalTimeQueueOverflowIgnore, arrivalTimeQueueOverflowReplace,
 arrivalTimeQueueOverflowSave.behavior - the behavior, must be one of
 arrivalTimeQueueOverflowExcept, arrivalTimeQueueOverflowIgnore,
 arrivalTimeQueueOverflowReplace, arrivalTimeQueueOverflowSave.public String getArrivalTimeQueueOverflowBehavior()
public Object clone()
clone in class ReleaseParametersCloneableaicas GmbH, Karlsruhe, Germany —www.aicas.com
Copyright © 2001-2016 aicas GmbH. All Rights Reserved.