Package ptolemy.domains.sdf.optimize
Interface BufferingProfile
-
- All Known Implementing Classes:
DummyDisplay,DummySource,DummyTransformer,SharedBufferTransformer
public interface BufferingProfileClass 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
OptimizingSDFDirectorfor 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 intexclusiveBuffers()returns the number of buffers required upon calling exclusive fire in excess of the input and output buffer.intexclusiveExecutionTime()returns (an estimate of) the execution time of an exclusive buffer firing of the actor.intiterate(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.intsharedBuffers()returns the number of buffers required upon calling shared fire in excess of the input and output buffer.intsharedExecutionTime()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 IllegalActionExceptionInvoke 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.
-
-