>In hw3 problem 1, is it possible to do the steady state >analysis (parts a-d) in the same spnp script as the transient analysis (in part e)? >Seems like adding / removing the transient analysis parameter changes my answers in part a-d, >I guess because it's trying to calculate those values at a particular time now even before setting time_value(...)? Yes you might need to write a separate program for 1.e because you cannot do steady-state and transient analysis all in the same program. >In problem 2, I'm running into an issue where I'm getting an error saying that a >transition is being implicitly inhibited due to a rate <= 0. >As far as I can tell my rate_type functions look correct. Any suggestions? For the error you have encountered in problem 2, my guess is that you have an integer arithmetic like 2/5 which results in 0 being assigned to a transition rate. Code 2/5 as 2.0/5.0 to avoid such an error. > In HW3, in problems 3 and 4 I keep getting an error along the lines > of "ERROR: transitions T7 and T5 enabled in marking." Here > T7 is an immediate transition and I'm guessing its trying to fire at the same time > as a timed transition, but I thought the immediate transitions always fired first. > Is there something special I have to do when setting up an immediate transition? Your program does not know transition T7 is an immediate transition. If you add probval("T7", 1.0) to the code, that should do it. If not, then add priority("T7", 1) to explicitly bring up the priority level of T7 to 1 so T7 will fire first over all the others. > For Problem #3, I am confused about alpha*alpha the transition rate for T6. > I understand each time slot has alpha tokens. But how come the other alpha? A short answer is that alpha high-QoS, low priority clients will each give up 1/alpha slot (corresponding to 1 token), thus collectively providing 1 full slot (corresponding to alpha tokens) to accommodate a newly arriving high-priority client. More specifically: 1. The input arc multiplicity of T6 is alpha * alpha meaning that the input place SL must hold at least alpha*alpha tokens for T6 to be fireable. The first alpha means that alpha high-QoS, low-priority clients are available in input place SL. The second alpha means that each high-QoS, low-priority client in place SL holds alpha tokens (1 full slot). 2. The output arc multiplicity of T6 is alpha * (alpha-1) meaning that the output place SSL will be deposited into alpha * (alpha-1) tokens. The first alpha means there will be alpha low-QoS, low-priority clients in output place SSL. The second term (alpha-1) means that each low-QoS, low-priority client now holds just (alpha-1) tokens because each client gave up one token previously to admit a high-priority client.