Drools

Preface
I. Reference Manual
1. The Rule Engine
1.1. ルールエンジンって何?
1.1.1. イントロダクションと背景
1.2. Why use a Rule Engine?
1.2.1. Advantages of a Rule Engine
1.2.2. When should you use a Rule Engine?
1.2.3. When not to use a Rule Engine
1.2.4. Scripting or Process Engines
1.2.5. Strong and Loose Coupling
1.3. Knowledge Representation
1.3.1. Production Rules
1.3.2. First Order Logic
1.4. Rete Algorithm
1.5. Leaps Algorithm
1.5.1. Conflict Resolution
1.5.2. 'Not' and 'Exists'
1.6. The Drools Rule Engine
1.6.1. Overview
1.6.2. Authoring
1.6.3. RuleBase
1.6.4. WorkingMemory
1.6.4.1. Facts
1.6.4.2. Assertion
1.6.4.3. Retraction
1.6.4.4. Modification
1.6.4.5. Property Change Listener
1.6.4.6. Globals
1.6.4.7. Shadow Facts
1.6.4.8. Initial Fact
1.6.4.9. Stateless and Statefull Sessions
1.6.5. Agenda
1.6.5.1. Conflict Resultion
1.6.5.2. Agenda Groups
1.6.5.3. Agenda Filters
1.6.6. Truth Maintenance with Logical Objects
1.6.6.1. Example Scenario
1.6.7. Event Model
2. Installation and Setup
2.1. Installing and using
2.1.1. Dependencies and jars
2.1.2. Runtime
2.1.3. Installing IDE (Rule Workbench)
2.1.3.1. Installing from zip file
2.1.3.2. Installing from the update site
2.2. Setup from source
2.3. Source Checkout
2.4. Build
2.4.1. Building the Source
2.4.2. Building the Manual
2.5. Eclipse
2.5.1. Generating Eclipse Projects
2.5.2. Importing Eclipse Projects
2.5.3. Exporting the IDE Plugin
2.5.4. Building the update site
3. The Rule Language
3.1. Overview
3.1.1. A rule file
3.1.2. What makes a rule
3.1.3. Domain Specific Languages
3.1.4. Reserved words
3.2. Comments
3.2.1. Single line comment
3.2.2. Multi line comment
3.3. Package
3.3.1. import
3.3.2. expander
3.3.3. global
3.4. Function
3.5. Rule
3.5.1. Left Hand Side
3.5.2. The Right Hand Side
3.5.3. Rule Attriutes
3.5.3.1. no-loop
3.5.3.2. salience
3.5.3.3. agenda-group
3.5.3.4. auto-focus
3.5.3.5. activation-group
3.5.3.6. duration
3.5.4. Column
3.5.4.1. Field Constraints
3.5.5. Conditional Elements
3.5.5.1. 'and'
3.5.5.2. 'or'
3.5.5.3. 'eval'
3.5.5.4. 'not'
3.5.5.5. 'exists'
3.5.5.6. 'group'
3.5.6. A note on autoboxing and primitive types
3.6. Query
3.7. Domain Specific Languages
3.7.1. When to use a DSL
3.7.2. Editing and managing a DSL
3.7.3. Using a DSL in your rules
3.7.4. Adding constraints to facts
3.7.5. How it works
3.7.6. Creating a DSL from scratch
3.8. XML Rule Language
3.8.1. When to use XML
3.8.2. The XML format
3.8.3. Legacy Drools 2.x XML rule format
3.8.3.1. Migrating to Drools 3
3.8.4. Automatic transforming between formats (XML and DRL)
4. Decision Tables
4.1. Decision tables in spreadsheets
4.1.1. When to use Decision tables
4.1.2. Overview
4.1.3. How decision tables work
4.1.4. Keywords and syntax
4.1.4.1. Syntax of templates
4.1.4.2. Keywords
4.1.5. Creating and integrating Spreadsheet based Decision Tables
4.1.6. Managing business rules in decision tables.
4.1.6.1. Workflow and collaboration.
4.1.6.2. Using spreadsheet features
5. The Rule Workbench (IDE)
5.1. Introduction
5.1.1. Features outline
5.1.2. Creating a Rule project
5.1.3. Creating a new rule and wizards
5.1.4. Rule editor
5.1.5. Views
5.1.5.1. The Working Memory View
5.1.5.2. The Agenda View
5.1.5.3. The Global Data View
5.1.5.4. The Audit View
5.1.6. Domain Specific Languages
5.1.6.1. Editing languages
5.1.7. The Rete View
5.1.8. Large drl files
6. The Java Rule Engine API
6.1. Introduction
6.2. How To Use
6.2.1. Building and Registering RuleExecutionSets
6.2.2. Using Stateful and Stateless RuleSessions
6.2.2.1. Globals
6.3. References
7. Performance tuning
7.1. Performance considerations
7.1.1. Beta Node Memory Indexing
7.1.2. Indexing Performance Tuning
7.1.2.1. Re-arranging constraints
8. Examples
8.1. Getting the examples
9. Deployment and Testing
9.1. Deployment options
9.1.1. Deployable objects, RuleBase, Package etc.
9.1.1.1. DRL and PackageDescr
9.1.1.2. Package
9.1.1.3. RuleBase
9.1.1.4. Serializing
9.1.2. Deployment patterns
9.1.2.1. In process rule building
9.1.2.2. Out of process rule building
9.1.2.3. Some deployment scenarios
9.1.3. Web Services
9.1.4. Future considerations
9.2. Testing
9.2.1. Testing frameworks
9.2.2. FIT for Rules - a rule testing framework
10. Papers
10.1. Miss Manners and Benchmarking
10.1.1. Introduction
10.1.1.1. BenchMarking
10.1.1.2. Miss Manners Execution Flow
10.1.1.3. The Data and Results
10.1.2. Indepth look
10.1.2.1. Conflict Resolution
10.1.2.2. Assign First Seat
10.1.2.3. Assign Seat
10.1.2.4. Make Path and Path Done
10.1.2.5. Continue and Are We Done
10.1.3. Conclusion
10.1.4. Output Summary
Index