|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.caltrop.ddi.AbstractDDI
ptolemy.caltrop.ddi.CSP
public class CSP
Red (cxh) |
Red (cxh) |
Field Summary | |
---|---|
private caltrop.interpreter.ast.Action[] |
_actions
|
private caltrop.interpreter.ast.Actor |
_actor
|
private ConditionalBranchController |
_cbc
|
private caltrop.interpreter.Context |
_context
|
private caltrop.interpreter.environment.Environment |
_env
|
private caltrop.interpreter.ExprEvaluator |
_eval
|
private java.util.Map |
_ioPorts
|
private TypedAtomicActor |
_ptActor
|
Fields inherited from interface ptolemy.actor.Executable |
---|
COMPLETED, NOT_READY, STOP_ITERATING |
Constructor Summary | |
---|---|
CSP(TypedAtomicActor ptActor,
caltrop.interpreter.ast.Actor actor,
caltrop.interpreter.Context context,
caltrop.interpreter.environment.Environment env)
|
Method Summary | |
---|---|
private caltrop.interpreter.environment.Environment |
_bindActionStateVars(caltrop.interpreter.ast.Decl[] decls,
caltrop.interpreter.environment.Environment env)
|
private caltrop.interpreter.environment.Environment |
_bindInputPatternVars(caltrop.interpreter.ast.InputPattern[] inputPatterns,
java.util.Map inputData,
caltrop.interpreter.environment.Environment env)
|
private java.util.Map |
_computeOutputData(caltrop.interpreter.ast.OutputExpression[] outputExprs,
caltrop.interpreter.environment.Environment env)
|
private java.util.Map |
_createIOPortMap()
|
private void |
_evaluateBody(caltrop.interpreter.ast.Statement[] body,
caltrop.interpreter.environment.Environment env)
|
private java.util.Map |
computeRemainingTokens(caltrop.interpreter.ast.Action[] actions,
java.util.Map dataSoFar)
|
private java.util.Map |
computeSafeTokens(caltrop.interpreter.ast.Action[] actions,
java.util.Map dataSoFar)
|
private caltrop.interpreter.ast.Action[] |
filterActions(caltrop.interpreter.ast.Action[] actions,
java.util.Map dataSoFar)
|
void |
fire()
Fire the actor. |
private void |
fireAction(caltrop.interpreter.ast.Action action,
java.util.Map dataSoFar)
|
private void |
fireMatchingAction(caltrop.interpreter.ast.Action[] actions,
java.util.Map dataSoFar)
|
private caltrop.interpreter.ast.InputPattern |
getInputPattern(java.lang.String name,
caltrop.interpreter.ast.Action action)
|
java.lang.String |
getName()
Get the name of the domain that this DDI implements. |
void |
initialize()
Begin execution of the actor. |
private boolean |
isFirable(caltrop.interpreter.ast.Action action,
java.util.Map dataSoFar)
|
boolean |
isLegalActor()
Perform static checking on the actor, ensuring its validity in a given domain. |
private boolean |
isRemainingProfileValid(java.util.Map inputProfile,
caltrop.interpreter.ast.Action[] actions)
|
private void |
mergeData(java.util.Map oldData,
java.util.Map newData)
|
private boolean |
moreDataToRead(java.util.Map inputProfile)
|
private int |
numTokensNeeded(caltrop.interpreter.ast.InputPattern ip)
|
boolean |
postfire()
This method should be invoked once per iteration, after the last invocation of fire() in that iteration. |
boolean |
prefire()
This method should be invoked prior to each invocation of fire(). |
void |
preinitialize()
This method should be invoked exactly once per execution of a model, before any of these other methods are invoked. |
private void |
readOneFromRemaining(java.util.Map inputProfile,
java.util.Map dataSoFar)
|
private void |
readSafeTokens(java.util.Map inputProfile,
java.util.Map dataSoFar)
|
private caltrop.interpreter.ast.Action |
selectAction(caltrop.interpreter.ast.Action[] actions,
java.util.Map dataSoFar)
|
void |
setupActor()
Perform any domain dependent setup. |
Methods inherited from class ptolemy.caltrop.ddi.AbstractDDI |
---|
addInitializable, isFireFunctional, isStrict, iterate, removeInitializable, stop, stopFire, terminate, wrapup |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private TypedAtomicActor _ptActor
private caltrop.interpreter.ast.Actor _actor
private caltrop.interpreter.ast.Action[] _actions
private caltrop.interpreter.Context _context
private caltrop.interpreter.environment.Environment _env
private caltrop.interpreter.ExprEvaluator _eval
private java.util.Map _ioPorts
private ConditionalBranchController _cbc
Constructor Detail |
---|
public CSP(TypedAtomicActor ptActor, caltrop.interpreter.ast.Actor actor, caltrop.interpreter.Context context, caltrop.interpreter.environment.Environment env)
Method Detail |
---|
public boolean isLegalActor()
DDI
public void setupActor()
DDI
public java.lang.String getName()
DDI
public void fire() throws IllegalActionException
Executable
IllegalActionException
- If firing is not permitted.private void _evaluateBody(caltrop.interpreter.ast.Statement[] body, caltrop.interpreter.environment.Environment env)
private caltrop.interpreter.environment.Environment _bindActionStateVars(caltrop.interpreter.ast.Decl[] decls, caltrop.interpreter.environment.Environment env)
private caltrop.interpreter.environment.Environment _bindInputPatternVars(caltrop.interpreter.ast.InputPattern[] inputPatterns, java.util.Map inputData, caltrop.interpreter.environment.Environment env)
public void initialize() throws IllegalActionException
Initializable
IllegalActionException
- If execution is not permitted.public boolean postfire() throws IllegalActionException
Executable
IllegalActionException
- If postfiring is not permitted.public boolean prefire() throws IllegalActionException
Executable
IllegalActionException
- If prefiring is not permitted.public void preinitialize() throws IllegalActionException
Initializable
IllegalActionException
- If initializing is not permitted.private java.util.Map _createIOPortMap()
private java.util.Map _computeOutputData(caltrop.interpreter.ast.OutputExpression[] outputExprs, caltrop.interpreter.environment.Environment env)
private java.util.Map computeSafeTokens(caltrop.interpreter.ast.Action[] actions, java.util.Map dataSoFar)
private int numTokensNeeded(caltrop.interpreter.ast.InputPattern ip)
private caltrop.interpreter.ast.InputPattern getInputPattern(java.lang.String name, caltrop.interpreter.ast.Action action)
private void readSafeTokens(java.util.Map inputProfile, java.util.Map dataSoFar)
private void mergeData(java.util.Map oldData, java.util.Map newData)
private caltrop.interpreter.ast.Action[] filterActions(caltrop.interpreter.ast.Action[] actions, java.util.Map dataSoFar)
private java.util.Map computeRemainingTokens(caltrop.interpreter.ast.Action[] actions, java.util.Map dataSoFar)
private boolean isRemainingProfileValid(java.util.Map inputProfile, caltrop.interpreter.ast.Action[] actions)
private void readOneFromRemaining(java.util.Map inputProfile, java.util.Map dataSoFar)
private boolean moreDataToRead(java.util.Map inputProfile)
private void fireMatchingAction(caltrop.interpreter.ast.Action[] actions, java.util.Map dataSoFar)
private void fireAction(caltrop.interpreter.ast.Action action, java.util.Map dataSoFar)
private caltrop.interpreter.ast.Action selectAction(caltrop.interpreter.ast.Action[] actions, java.util.Map dataSoFar)
private boolean isFirable(caltrop.interpreter.ast.Action action, java.util.Map dataSoFar)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |