У меня есть следующая конструкция CLIPS ниже, и мне интересно подсчитать, сколько раз срабатывало определенное правило, поэтому на выходе будет серия сработавших правил с последующим их количеством (см. Рисунок, например).
Таким образом, все эти правила будут следовать:
температура: (раз срабатывает) секунд
давление: (раз срабатывает) секунд
(deftemplate oil-measure
(slot utc-time (type STRING))
(slot temperature (type INTEGER))
(slot pressure (type INTEGER)))
(defrule oil-is-hot
(oil-measure (temperature ?temp) (utc-time ?time))
(test (> ?temp 32))
=>
(printout t ?time tab "temperature:" tab ?temp crlf))
(defrule pressure-is-high
(oil-measure (pressure ?press&:(> ?press 0)) (utc-time ?time))
=>
(printout t ?time tab "pressure:" tab ?press crlf))