Drools Rules Engine
Cisco Systems, Inc. Page 161
D Drools Rules Engine
About this appendix:
This appendix introduces and describes the Drools rules engine.
Drools Rules Engine Overview, below, introduces the Drools rules engine
components and terminology.
Drools and ANA Integration, page 162, explains how Drools is integrated
within Cisco ANA.
Drools Definitions in ANA, page 162, describes Drools within ANA.
Upgrading Rule Files, page 163, describes the rule upgrade process.

D.1 Drools Rules Engine Overview

Drools rules engine is a general-purpose expert-system generator and
combines rule-based techniques and object-oriented programming. It also
provides a customizable mechanism to add decision support and data flow
control functions to business applications.
Drools rules engine is based on an object-oriented paradigm and uses user-
defined rules to perform pattern matching on different conditions. The rules
are written in a java like syntax, and are organized into source files (known as
a rule files), which are plain ASCII files.

D.1.1 Drools Components and Terminology

Drools uses objects as marked out by patterns and rules that invoke certain
Actions:
Drools objects are Java objects and can be represented by instances of
Java classes or XML schemas.
A pattern is a coded expression (“program”), which manipulates one or
more objects to form a pattern to make, adapt or fashion behavior
according to designed logic.
Working Memory is where Drools stores all the objects, which it is
currently handling.
Actions are operations that may change the working memory.