I managed to create an agent to count how many times actions it performed. Hence, I propose this asl code.
last_time(0).
!start.
/* Plans */
+!start : true <-
?last_time(X);
new_t = X + 1;
.print("take train " , X);
-+last_time(new_t);
!start.
But I am encountering an error.
[test] No failure event was generated for +!start[code((new_t = 1)),code_line(5),code_src("file:src/asl/test.asl"),error(constraint_failed),error_msg("Constraint (new_t = (X+1)); .print("take train ",X); -+last_time(new_t); !start was not satisfied (file:src/asl/test.asl:5) un={X=0}"),source(self)]
intention 1:
+!start[source(self)] <- ... (new_t = (X+1)); .print("take train ",X); -+last_time(new_t); !start / {X=0}
I think it may be due to line #5 (new_t = X + 1;
) because my code runs well after line #5 is commented out. I am not sure why I can't increase it.
Notes:
- I am using Jason 3.1