In agent systems, meta-level reasoning is commonly used in enforcing rationality in the choice of goals and actions performed
by an agent, ensuring that an agent behaves as effectively and efficiently as possible. Through meta-reasoning an agent is
able to explicitly consider goals before committing to them, and consider courses of action before executing plans. In this
paper, we argue that although seldom considered, a flexible meta-level reasoning component is a valuable addition to any agent
architecture. We describe such a component for use in BDI architectures, underpinned by a model of motivation and a motivation-based
description language, and demonstrate its effectiveness empirically.