Implementing reactive BDI agents with user-given constraints and objectives

CASO is an agent-oriented programming language based on AgentSpeak(L), one of the most influential abstract languages based on the beliefs-desires-intentions (BDI) architecture. For many applications, it is more convenient to let the user provide in real time, a more elaborate specification consisting of constraints and preferences over possible goal states. Then, let the system discover a plan for the most desirable among the feasible goal states. CASO incorporates constraints and objectives into the symbolic approach of reactive BDI model which lead to better expressive capabilities as well as more efficient computation. Jason is a fully-fledged interpreter for a much improved version of AgentSpeak(L). In this work, we modify Jason to incorporate the operational semantics of CASO. CASO also uses ECLiPSe, an open source constraint solver, to apply constraint solving techniques. Our preliminary results show that CASO can be used as a powerful multi-agent programming language in solving problems in complex application domains.