Constructing Intelligent Agents Using Java: Professional Developer's Guide, 2nd Edition