An approach to implementing a UIA has to have the ability to represent and reason about the different UIA actions and their effects. This requires representations for time as well as the entities and relationships associated with the given TOS.
In order to realize the different user instructions, it is not enough that a UIA has the capability to represent and reason about the different UIA actions; it has to make decisions about which UIA actions are to be performed and when they are to be performed. That is, the agent needs to make dynamic plans about its future activities.
One way to implement this is by considering the agent as an intentional system [Den87] and then implementing the mental attitudes of beliefs, desires, intentions, expectations and achievements within a time-sensitive and contradiction-tolerant logical framework that allows rich knowledge representation as well as flexible knowledge modification. In such an approach, the agent can interpret the user instructions and create desires to perform the UIA actions associated with the instructions. Based on its knowledge and availability of time and resources, the agent can then create intentions to perform desired UIA actions. In order to determine whether a UIA action produces the correct effects, the agent can create an expectation regarding the outcome based on available knowledge whenever it initiates a UIA action. The agent can then keep track of those desires, intentions and expectations that are achieved, achievable and unachievable in order to make decisions about what to do. For instance, in case a desire cannot be achieved the user may need to be informed.