Practical Reasoning with Norms for Autonomous Software Agents (Full
  Edition)
  Autonomous software agents operating in dynamic environments need to
constantly reason about actions in pursuit of their goals, while taking into
consideration norms which might be imposed on those actions. Normative
practical reasoning supports agents making decisions about what is best for
them to (not) do in a given situation. What makes practical reasoning
challenging is the interplay between goals that agents are pursuing and the
norms that the agents are trying to uphold. We offer a formalisation to allow
agents to plan for multiple goals and norms in the presence of durative actions
that can be executed concurrently. We compare plans based on decision-theoretic
notions (i.e. utility) such that the utility gain of goals and utility loss of
norm violations are the basis for this comparison. The set of optimal plans
consists of plans that maximise the overall utility, each of which can be
chosen by the agent to execute. We provide an implementation of our proposal in
Answer Set Programming, thus allowing us to state the original problem in terms
of a logic program that can be queried for solutions with specific properties.
The implementation is proven to be sound and complete.
