(clear-all) (define-model time-test (sgp :esc t) (sgp :pulse-noise .01) (chunk-type time-mem count) (chunk-type time-goal done) (add-dm (start isa chunk) (yes isa chunk) (tgoal isa time-goal done start) (tmem isa time-mem count 18)) (p start =goal> isa time-goal done start ==> +temporal> isa start =goal> done nil ) (p count =goal> isa time-goal done nil ?temporal> new-pulse yes =temporal> isa counter ==> +temporal> count increment ) (p retrieve =goal> isa time-goal done nil =temporal> isa counter count =c ?retrieval> state free ==> +retrieval> isa time-mem < count =c ) (p stop =goal> isa time-goal done nil =retrieval> isa time-mem ==> +temporal> isa stop =goal> done t ) (set-base-levels (tmem 2)) (goal-focus tgoal) )