A Reusable Agent Design Pattern with Flexibility and Extensibility Hao Lan Zhang; Wenhua Zeng; Christian Van der Velden — 2011 Computer Science and Information Systems