我正在尝试使用代理来模拟客户。在我构建的状态图中,我想通过定义不同的变量向每个代理应用在系统中花费的等待时间:
WatingTimeStart,WaitingTimeEnd和WaitingTime
为了给每个代理分配等待时间,我在状态之前的转换中使用以下命令我想应用条件:
this.WaitingTimeStart=time();
在下一个州,我正在使用以下内容:
this.WaitingTimeEnd=time();
this.WaitingTime=this.WaitingTimeEnd-this.WaitingTimeStart;
跟随条件的下一次转换(TolerarableWaitingTime是预定义的变量)
this.WaitingTime>TolerarableWaitingTime;
我的问题是转换不接受条件,并且没有将代理处理到下一个状态。
我可能犯了错误:
非常感谢任何想法。
的Bastian
答案 0 :(得分:0)
很难理解你的问题,但在这里:首先,你不需要使用"这个",你可以在有问题的状态之前的过渡中做:
WaitingTimeStart=time();
按惯例,您的变量应以小写字母开头,因此它应为waitingTimeStart
。
但是你甚至不需要那些代码而你自己也太复杂了...如果你想申请等待时间(或延迟)你不需要条件转换,你可以使用超时转换,其中超时时间等于TolerarableWaitingTime