Hey Stephen,

Here's the error. I'm not sure why it's complaining about the consumption rate. What is happening is there is a input port connected to a repeat actor. the number of iterations of the repeat actor is set by a portparam. The portparam is set statically by a higher level parameter at design time. It is never actually changed during runtime (as the error seems to indicate), but the director seems to think it could be changed and complains.

chad

[java] ptolemy.kernel.util.IllegalActionException: Failed to compute schedule:
     [java]   in .distributedModel.DistributedCompositeActor.SDF Director
     [java] Because:
[java] The SDF rate parameter changes during execution of the schedule! [java] in .distributedModel.DistributedCompositeActor.Calculate Best Rulesets.longitude_latitude_table._tokenConsumptionRate [java] at ptolemy.domains.sdf.kernel.SDFDirector.preinitialize(SDFDirector.java:548) [java] at ptolemy.actor.CompositeActor.preinitialize(CompositeActor.java:1076)
     [java]     at ptolemy.actor.Director.preinitialize(Director.java:865)
[java] at ptolemy.domains.sdf.kernel.SDFDirector.preinitialize(SDFDirector.java:527) [java] at ptolemy.actor.CompositeActor.preinitialize(CompositeActor.java:1076) [java] at ptolemy.actor.Manager.preinitializeAndResolveTypes(Manager.java:912)
     [java]     at ptolemy.actor.Manager.initialize(Manager.java:578)
     [java]     at ptolemy.actor.Manager.execute(Manager.java:321)
[java] at org.kepler.distributed.SlaveController.run(SlaveController.java:514) [java] at org.kepler.distributed.SlaveController.ready(SlaveController.java:738) [java] at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
     [java]     at java.lang.reflect.Method.invoke(Method.java:585)
[java] at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
     [java]     at sun.rmi.transport.Transport$1.run(Transport.java:153)
[java] at java.security.AccessController.doPrivileged(Native Method) [java] at sun.rmi.transport.Transport.serviceCall(Transport.java:149) [java] at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) [java] at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
     [java]     at java.lang.Thread.run(Thread.java:595)
[java] Caused by: ptolemy.kernel.util.IllegalActionException: The SDF rate parameter changes during execution of the schedule! [java] in .distributedModel.DistributedCompositeActor.Calculate Best Rulesets.longitude_latitude_table._tokenConsumptionRate [java] at ptolemy.domains.sdf.kernel.SDFScheduler._assertDynamicRateVariable(SDFScheduler.java:869) [java] at ptolemy.domains.sdf.kernel.SDFScheduler._checkDynamicRateVariables(SDFScheduler.java:306) [java] at ptolemy.domains.sdf.kernel.SDFScheduler._getSchedule(SDFScheduler.java:501) [java] at ptolemy.actor.sched.Scheduler.getSchedule(Scheduler.java:188) [java] at ptolemy.domains.sdf.kernel.SDFDirector.preinitialize(SDFDirector.java:542)
     [java]     ... 19 more
[java] Caused by: ptolemy.kernel.util.IllegalActionException: The SDF rate parameter changes during execution of the schedule! [java] in .distributedModel.DistributedCompositeActor.Calculate Best Rulesets.longitude_latitude_table._tokenConsumptionRate [java] at ptolemy.domains.sdf.kernel.SDFScheduler._assertDynamicRateVariable(SDFScheduler.java:869) [java] at ptolemy.domains.sdf.kernel.SDFScheduler._checkDynamicRateVariables(SDFScheduler.java:306) [java] at ptolemy.domains.sdf.kernel.SDFScheduler._getSchedule(SDFScheduler.java:501) [java] at ptolemy.actor.sched.Scheduler.getSchedule(Scheduler.java:188) [java] at ptolemy.domains.sdf.kernel.SDFDirector.preinitialize(SDFDirector.java:542) [java] at ptolemy.actor.CompositeActor.preinitialize(CompositeActor.java:1076)
     [java]     at ptolemy.actor.Director.preinitialize(Director.java:865)
[java] at ptolemy.domains.sdf.kernel.SDFDirector.preinitialize(SDFDirector.java:527) [java] at ptolemy.actor.CompositeActor.preinitialize(CompositeActor.java:1076) [java] at ptolemy.actor.Manager.preinitializeAndResolveTypes(Manager.java:912)
     [java]     at ptolemy.actor.Manager.initialize(Manager.java:578)
     [java]     at ptolemy.actor.Manager.execute(Manager.java:321)
[java] at org.kepler.distributed.SlaveController.run(SlaveController.java:514) [java] at org.kepler.distributed.SlaveController.ready(SlaveController.java:738) [java] at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) [java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


Stephen Neuendorffer wrote:
Rate changes are allowed in SDF, but only between iterations.  Depending
on how you've specified the rate change, this may or may not be valid.
Can you send the error message?
Steve

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Chad Berkley
Sent: Wednesday, December 12, 2007 1:42 PM
To: ptolemy-hackers
Subject: bug in SDFScheduler?

Hi,

I'm working on a pretty complex workflow that involves many composites, several of which have their own SDFDirector. The whole workflow is SDF (i.e. there aren't any other types of directors). The problem I'm having is that there is a dynamic rate change pretty deep in the workflow. I've made sure that all of the allowRateChanges attributes in each director is set to true, but I'm still getting an error when I try to run the workflow telling me that the the schedule can't be computed because of a dynamic rate change. Any ideas why this would be? Should I be getting this error, even though I've effectively told the director to ignore this condition?

thanks,
chad

--------------------------------------------------------------
--------------
Posted to the ptolemy-hackers mailing list. Please send administrative mail for this list to: [EMAIL PROTECTED]




----------------------------------------------------------------------------
Posted to the ptolemy-hackers mailing list.  Please send administrative
mail for this list to: [EMAIL PROTECTED]

Reply via email to