2 *-* parse upper arg option rounds >>> "N 3 " >>> "N" >>> "3 " 3 *-* if option<>"" >>> "1" 3 *-* then 3 *-* .traceObject~option=option 4 *-* say ".traceObject~option:" .traceObject~option >>> ".traceObject~option: N" .traceObject~option: N 5 *-* if rounds="" >>> "0" 7 *-* do counter c rounds >K> "COUNTER" => "0" >K> "FOR" => "3 " >K> "COUNTER" => "1" 8 *-* say "round #" c"/"rounds >>> "round # 1/3 " round # 1/3 9 *-* obj=.demoMT~new >I> Method "INIT" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 22 *-* expose ctlAttribute 23 *-* ctlAttribute=random(0,125)/1000 -- add some randomness >>> "0.035" >>> "a demoMT" 11 *-* obj~~start("mg")~~start("mu")~~start("bumpCtlAttribute") 12 *-* msg=.message~new(obj,"bumpCtlAttribute") -- message to send later >>> "a Message" >I> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 13 *-* waitTime=.timeSpan~fromLongTime("00:00:0" || random(15,25)/1000) -- wait a few msecs >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 35 *-* expose ctlAttribute 46 *-* expose ctlAttribute >>> "a TimeSpan" 26 *-* expose ctlAttribute 36 *-* guard off -- guard off 47 *-* guard on -- guard on 15 *-* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 32 ctlAttribute=1 37 *-* reply -- return, remainder on new thread 48 *-* reply -- return, remainder on new thread 16 *-* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock >I> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 17 *-* end 38 *-* guard on when ctlAttribute>0.250 -- guard on 49 *-* guard off when ctlAttribute>0.250 -- guard off 7 *-* do counter c rounds >K> "WHEN" => "1" >K> "WHEN" => "1" >K> "COUNTER" => "2" 50 *-* ctlAttribute=random(0,125)/1000 -- add some randomness 39 *-* ctlAttribute=random(0,125)/1000 -- add some randomness 8 *-* say "round #" c"/"rounds >>> "0.022" >>> "0.042" >>> "round # 2/3 " round # 2/3 51 *-* guard on when ctlAttribute>0.250 -- guard on 40 *-* call sysSleep random(1,10)/1000 -- add some randomness 9 *-* obj=.demoMT~new >I> Method "INIT" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 22 *-* expose ctlAttribute 23 *-* ctlAttribute=random(0,125)/1000 -- add some randomness >>> "0.058" >>> "a demoMT" 11 *-* obj~~start("mg")~~start("mu")~~start("bumpCtlAttribute") 12 *-* msg=.message~new(obj,"bumpCtlAttribute") -- message to send later >I> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >>> "a Message" >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 35 *-* expose ctlAttribute 46 *-* expose ctlAttribute 13 *-* waitTime=.timeSpan~fromLongTime("00:00:0" || random(15,25)/1000) -- wait a few msecs 26 *-* expose ctlAttribute 36 *-* guard off -- guard off 47 *-* guard on -- guard on >>> "a TimeSpan" 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 32 ctlAttribute=1 37 *-* reply -- return, remainder on new thread 48 *-* reply -- return, remainder on new thread 15 *-* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock >I> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 38 *-* guard on when ctlAttribute>0.250 -- guard on 16 *-* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". 49 *-* guard off when ctlAttribute>0.250 -- guard off 26 *-* expose ctlAttribute 17 *-* end 26 *-* expose ctlAttribute >K> "WHEN" => "1" >K> "WHEN" => "1" 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 7 *-* do counter c rounds >K> "WHEN" => "0" 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 50 *-* ctlAttribute=random(0,125)/1000 -- add some randomness 39 *-* ctlAttribute=random(0,125)/1000 -- add some randomness >K> "WHEN" => "0" >K> "COUNTER" => "3" >K> "WHEN" => "0" >>> "0.11" >K> "WHEN" => "0" >>> "0.11" 8 *-* say "round #" c"/"rounds >K> "WHEN" => "0" 51 *-* guard on when ctlAttribute>0.250 -- guard on >K> "WHEN" => "0" 40 *-* call sysSleep random(1,10)/1000 -- add some randomness >>> "round # 3/3 " >K> "WHEN" => "0" round # 3/3 9 *-* obj=.demoMT~new >K> "WHEN" => "0" >I> Method "INIT" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >K> "WHEN" => "0" >>> "0" >K> "WHEN" => "0" 22 *-* expose ctlAttribute >K> "WHEN" => "0" 41 *-* guard off when ctlAttribute>0.250 -- guard off 23 *-* ctlAttribute=random(0,125)/1000 -- add some randomness >K> "WHEN" => "0" >K> "WHEN" => "0" >>> "0.066" >K> "WHEN" => "0" >K> "WHEN" => "0" >>> "a demoMT" >K> "WHEN" => "0" >K> "WHEN" => "0" 11 *-* obj~~start("mg")~~start("mu")~~start("bumpCtlAttribute") >K> "WHEN" => "0" >K> "WHEN" => "0" 12 *-* msg=.message~new(obj,"bumpCtlAttribute") -- message to send later 32 ctlAttribute=0.161 >K> "WHEN" => "0" >K> "WHEN" => "0" >I> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >K> "WHEN" => "0" >I> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >K> "WHEN" => "0" >>> "a Message" >K> "WHEN" => "0" 35 *-* expose ctlAttribute >K> "WHEN" => "1" 32 ctlAttribute=1 46 *-* expose ctlAttribute 26 *-* expose ctlAttribute >K> "WHEN" => "1" 13 *-* waitTime=.timeSpan~fromLongTime("00:00:0" || random(15,25)/1000) -- wait a few msecs 36 *-* guard off -- guard off 42 *-* ctlAttribute=random(0,125)/1000 -- add some randomness 52 *-* call sysSleep random(1,10)/1000 -- add some randomness 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") 47 *-* guard on -- guard on 32 ctlAttribute=1 >>> "a TimeSpan" 37 *-* reply -- return, remainder on new thread >>> "0.075" 48 *-* reply -- return, remainder on new thread 15 *-* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock 43 *-* say .context~name": returning ..." >I> Method "MG" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "MU" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >>> "MG: returning ..." MG: returning ... 16 *-* .alarm~new(waitTime, msg) -- send message after waitTime, will unblock 38 *-* guard on when ctlAttribute>0.250 -- guard on 49 *-* guard off when ctlAttribute>0.250 -- guard off 17 *-* end >K> "WHEN" => "1" >K> "WHEN" => "1" 7 *-* do counter c rounds 50 *-* ctlAttribute=random(0,125)/1000 -- add some randomness 39 *-* ctlAttribute=random(0,125)/1000 -- add some randomness >>> "0.094" >>> "0.096" 51 *-* guard on when ctlAttribute>0.250 -- guard on 40 *-* call sysSleep random(1,10)/1000 -- add some randomness >>> "0" 41 *-* guard off when ctlAttribute>0.250 -- guard off >>> "0" >K> "WHEN" => "0" >K> "WHEN" => "0" 53 *-* say .context~name": returning ..." >K> "WHEN" => "0" >K> "WHEN" => "0" >>> "MU: returning ..." MU: returning ... >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >>> "0" 41 *-* guard off when ctlAttribute>0.250 -- guard off >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >K> "WHEN" => "0" 26 *-* expose ctlAttribute >K> "WHEN" => "0" 26 *-* expose ctlAttribute >K> "WHEN" => "0" 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") >K> "WHEN" => "0" >K> "WHEN" => "0" 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "1" 32 ctlAttribute=0.108 >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" 32 ctlAttribute=1 42 *-* ctlAttribute=random(0,125)/1000 -- add some randomness >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "1" >>> "0.012" >K> "WHEN" => "0" >K> "WHEN" => "0" 52 *-* call sysSleep random(1,10)/1000 -- add some randomness 43 *-* say .context~name": returning ..." >K> "WHEN" => "0" >K> "WHEN" => "0" >>> "MG: returning ..." MG: returning ... >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >I> Method "BUMPCTLATTRIBUTE" with scope "demoMT" in package "G:\test\orx\trace\docpgm.rex". >K> "WHEN" => "0" >K> "WHEN" => "0" 26 *-* expose ctlAttribute 26 *-* expose ctlAttribute >K> "WHEN" => "0" >K> "WHEN" => "0" 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") >K> "WHEN" => "0" 27 *-* TRACE n -- set trace to normal (in method "bumpCtlAttribute") >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" >K> "WHEN" => "0" 32 ctlAttribute=0.197 >K> "WHEN" => "0" >K> "WHEN" => "0" 32 ctlAttribute=1 >K> "WHEN" => "1" >K> "WHEN" => "1" 52 *-* call sysSleep random(1,10)/1000 -- add some randomness 42 *-* ctlAttribute=random(0,125)/1000 -- add some randomness >>> "0.109" 43 *-* say .context~name": returning ..." >>> "MG: returning ..." MG: returning ... >>> "0" 53 *-* say .context~name": returning ..." >>> "MU: returning ..." MU: returning ... >>> "0" 53 *-* say .context~name": returning ..." >>> "MU: returning ..." MU: returning ...