* central-server queuing network with terminals

pfqn csm(jobs)
* routing probabilities...
cpu disk1 p1
cpu disk2 p2
cpu terminals 1-(p1+p2)
disk1 cpu 1
disk2 cpu 1
terminals cpu 1
end
* servers
cpu FCFS 1000/20
disk1 FCFS 1000/30
disk2 FCFS 1000/42.918
terminals IS 1/25
end
* number of jobs
chain1 jobs
end


bind
p1 0.667
p2 0.233
end 

func resp(i) \
  qlength(csm,cpu;i) + \
  qlength(csm,disk1;i) + \
  qlength(csm,disk2;i)  \
  / tput(csm,terminals;i)


loop i,10,40,10
  expr tput(csm, cpu;i)
  expr util(csm, disk1;i)
  expr qlength(csm, disk2;i)
  expr resp(i)
end 

end