1. A method for interpreting a frame definition, the frame definition comprising at least one data field and at least one goal, to control a dialog with a user, the method comprising: receiving information input from the user; updating frame data associated with the frame definition dependent upon the information input from the user; selecting an activated goal of the at least one goal of the frame definition; if the activated goal is satisfied: evaluating final rules of the frame definition; and completing the interpretation of the frame definition; and if the activated goal is not satisfied: selecting an unfilled data field in the goal; and generating an output to the user using information in the frame definition that is associated with the unfilled data field.