Agent Infrastructure Layer (AIL): Design and Operational Semantics v1.0 ∗ L. A. Dennis January 29, 2007 Abstract This technical report outlines a proposal for an operational semantics for AIL. AIL is intended to be an agent infrastructure layer that will form a common basis into which BDI-style agent programming languages can be compiled. In particular we hope to provide optimised verification support for AIL in the form of a model-checker. As well as presenting an operational semantics for AIL this technical report is intended to serve as a design document for an implementation. As such some details about data structures are also included. 1 Introduction This is a proposed operational semantics for AIL. AIL is intended as an agent infrastructure layer that will form a common basis into which BDI-style agent programming languages such as those described in [Rao, 1996, Hindricks et al., 1999, Dastani et al., 2005, Pokahr et al., 2005, Fisher, 2005] can be compiled. In particular we hope to provide optimised verification support for AIL in the form of a model-checker. AIL has been developed as part of the MCAPL project 1 . 2 The Reasoning Cycle AIL adopts an informal reasoning cycle shown in figure 1. In this cycle an event/plan pair (plans are viewed as a stack of “things I need to do”) is selected. Using the agent’s rulebase a set of potential additions to the plan are generated (P above). From this a single plan addition is selected and joined to the current plan. The top “thing I need to do” in this plan is then handled in some fashion and the set of event/plan pairs updated accordingly. This new intention set may have a non-deterministic head which gets resolved when Applicable plans are generated – this enables some of the message semantics we’ve been considering. Perception takes place which may extend the intention set (informally the set of event/plan pairs). Any messages are then handled this may also extend the intention set. From this set a new current event is selected. Each stage in this cycle is tagged A, B, C, D, E or F and agent states are tagged accordingly (this restricts the possible transitions available at each state). AIL treats belief checking as a multi-stage activity so it is necessary to represent this as a stage. Unfor- tunately belief checking may happen at several points in the cycle. This being the case we treat | = as sugar for belief checking (see §5). * University of Liverpool, Department of Computer Science, Technical Report ULCS-07-001 1 EPSRC linked grants EP/D054688/1 and EP/D052548/1. More details can be found at http://www.csc.liv.ac.uk/ ∼ michael/mcapl06.html. 1