Package ptolemy.domains.sdf.optimize
Interface BufferingProfile
-
- All Known Implementing Classes:
DummyDisplay
,DummySource
,DummyTransformer
,SharedBufferTransformer
public interface BufferingProfile
Class comments
BufferingProfile is an interface which when implemented by SDF actors Lets the OptimizingSDFDirector choose from different firings with different properties For now there are two firing modes define, one where the actor may assume it has exclusive access to the information encapsulated by the input tokens. In particular, this is used for models where tokens communicate references to shared data structures such as video frames in image processing. In the alternative firing mode, the actor may not assume exclusive access and hence is not allowed to modify the frame.It may have to copy the frame first instead. FIXME: we may want to generalize the notion of a profile to make it more generic and allow more than two modes of firing.See
OptimizingSDFDirector
for more information.- Since:
- Ptolemy II 10.0
- Version:
- $Id$
- Author:
- Marc Geilen
- See Also:
OptimizingSDFScheduler
- Pt.AcceptedRating:
- Red ()
- Pt.ProposedRating:
- Red (mgeilen)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
exclusiveBuffers()
returns the number of buffers required upon calling exclusive fire in excess of the input and output buffer.int
exclusiveExecutionTime()
returns (an estimate of) the execution time of an exclusive buffer firing of the actor.int
iterate(int iterationCount, boolean fireExclusive)
Invoke a specified number of iterations of the actor in either shared or exclusive mode as indicated by the fireExclusive argument.int
sharedBuffers()
returns the number of buffers required upon calling shared fire in excess of the input and output buffer.int
sharedExecutionTime()
returns (an estimate of) the execution time of a shared buffer firing of the actor.
-
-
-
Method Detail
-
sharedBuffers
int sharedBuffers()
returns the number of buffers required upon calling shared fire in excess of the input and output buffer.- Returns:
- the number of buffers required for a shared buffer firing
-
exclusiveBuffers
int exclusiveBuffers()
returns the number of buffers required upon calling exclusive fire in excess of the input and output buffer.- Returns:
- the number of buffers required for an exclusive buffer firing
-
sharedExecutionTime
int sharedExecutionTime()
returns (an estimate of) the execution time of a shared buffer firing of the actor.- Returns:
- execution time of a shared buffer firing
-
exclusiveExecutionTime
int exclusiveExecutionTime()
returns (an estimate of) the execution time of an exclusive buffer firing of the actor.- Returns:
- execution time of an exclusive buffer firing
-
iterate
int iterate(int iterationCount, boolean fireExclusive) throws IllegalActionException
Invoke a specified number of iterations of the actor in either shared or exclusive mode as indicated by the fireExclusive argument.- Parameters:
iterationCount
- The number of iterations to perform.fireExclusive
- whether to fire exclusive or not.- Returns:
- NOT_READY, STOP_ITERATING, or COMPLETED.
- Throws:
IllegalActionException
- If iterating is not permitted, or if prefire(), fire(), or postfire() throw it.
-
-