hybrid automaton has two kinds of transitions:
- 1.continuous transitions: capturing the continuous evolution of variables
- 2.discrete transitions: capturing the changes of location
- evolves with either discrete or continuous transitions according to the constraints appearing during the run
%%% evolve(+Automaton,+State,-Nextstate,+T0,+Time,?Event)
evolve(Automaton,(L1,Var1),(L2,Var2),T0,Time,Event) :-
continuous(Automaton,(L1,Var1),(L1,Var2),T0,Time,Event);
discrete(Automaton,(L1,Var1),(L2,Var2),T0,Time,Event).