Advanced separation of concerns in agent-oriented design patterns. (6th March 2009)