Modular programming has the usual benefits associated with structured programming, information hiding and reusability, but also has additional benefits to offer when applied in agent programming. We argue that modules can be viewed as structures similar to that of policy-based intentions [2]. Modules perceived in this way are components within an agent that are triggered in a particular situation and combine the knowledge and skills to adequately pursue the goals of the agent in that situation. The context that triggers the activation of a module defines the interface of the module, which can be specified declaratively, in contrast to the usual functional interpretations of such interfaces. A feature that differentiates our notion of a module from plans is that modules provide an agent with a means to focus its attention on the relevant resources it needs to handle a situation. As a result, modules can be used to control or reduce the underspecification and inherent non-determin...
Koen V. Hindriks