Multi-agent systems are useful for modeling intelligent systems where resources are distributed, as software agents can interact autonomously with each other and their environment to complete tasks. While multi-agent systems have been developed for many years, little attention has been paid to the dynamics that govern agents' behaviors and contributions to the system. This paper proposes that roles and role-based architecture could define dynamics for agents and help address this important challenge. It also discusses how databases can form the basis for information sharing between autonomous agents working together to achieve their goals in a multi-agent environment.