Open, reusable, and configurable multi agent systems : a knowledge modelling approach