This application is related to co-pending U.S. patent applications Ser. No. 11/420,995, titled “Hierarchical State Machine Generation from Interaction Management Using Goal Specification,” and Ser. No. 11/421,024, titled “Frame Goals for Dialog System,” filed concurrently with the present application, both filed even date with this application.
Many techniques currently exist for specifying dialogue control logic in voice and multimodal dialogue systems. At the lowest level of abstraction are finite state machines (FSMs), which explicitly enumerate the various states and transitions in a dialog flow. FSMs have frequently been used in as a technique for specifying dialog flows. Recently, proposals have been made to use Harel Statecharts (Statecharts), also known as Hierarchical State Machines (HSMs), as a generic control language for specifying user interaction control logic. Statecharts are similar to FSMs, but they are augmented with a variety of additional constructs, including hierarchical states, guard conditions, and parallel states. These added constructs can make Statecharts simpler and more extensible than equivalent FSMs, because they factor out common behavior into common super-states, eliminating duplication of logic.
At a higher level of abstraction than FSMs and Statecharts are frame-based techniques for dialog management. In many task-based dialogs, a system requires certain pieces of information from the user in order to accomplish some domain specific task (such as booking a flight, finding a restaurant, or finding out who you want to call on the phone). A frame is a data structure that can hold the required information. A primary advantage of frame-based techniques over finite-state scripts is that they enable a dialog designer to create a relatively complex dialog in a more compact format. A frame succinctly represents a large number of states by eliminating much of the explicit process logic that is required in FSMs and Statecharts. Another advantage of frame-based techniques is that it is easier to model mixed-initiative dialog, because it is easy to specify grammars, prompts, and actions that have scope over multiple fields contained within a form. A primary reason for the current popularity of frames is the existence of standards, such as the World Wide Web Consortium Voice Extensible Markup Language version 2.0 (W3C VoiceXML 2.0) standard, which adopt the frame-based approach to dialog specification. In the VoiceXML 2.0 standard, frames come in two varieties, “forms”, and “menus”. An example of a VoiceXML frame is shown in
While there are some advantages to frame-based techniques for dialog specification, there are some disadvantages as well. These stem from the fact that frame-based dialog managers require built-in algorithms for interpreting frames, since the frame itself is a primarily declarative structure that omits most of the process control logic required to use it in a dialog. In VoiceXML, this built-in algorithm is called the “Form Interpretation Algorithm” (FIA). In this document, the term “FIA” is used as a generic term for any algorithm that reads in a frame and generates a corresponding dialog flow. This reliance on an FIA leads to two sorts of problems: Firstly, it can be hard to verify and debug a frame, since it isn't easy to visualize the current state and the current possibilities for transitioning to other states. Secondly, if the dialog designer wants to create a dialog that doesn't fit well with the built-in FIA, then he or she must struggle against the constraints of the framework in order to implement the desired logic.
While the first problem could be remedied to some degree with proper visualization tools, the second problem is intrinsic to the use of frames. It remains the case that frame-based techniques are suitable for some kinds of dialogs (those fitting well with the “form-filling” or “menu selection” metaphors) but not for many other types of dialog. This has prompted designers to look at the use of Statecharts as a control language for the future VoiceXML 3.0 standard. This new control language has been termed Statechart XML (SCXML) by the W3C Working Group, which plans on using it to augment the frame-language defined in VoiceXML 2.0.
The technical details of Statecharts are known in the art and use of Statecharts with dialog systems has already been proposed. However, prior publications do not describe how to generate the Statecharts from higher-level dialog abstractions. The generation of deterministic Statecharts from feature models has been disclosed, but features models are quite different from frames and frame constructs. Feature models are more like domain models than compact descriptions of possible dialog moves, such as forms and menus.
Statecharts have also be used as a starting point for generating software, but automatic generation of the Statecharts themselves from other constructs has not been proposed. In addition, the use of declarative constructs (other than frame constructs) to generate simple state machines has been disclosed, but these do not generate Statecharts.
According to aspects of the present invention, a Statechart for management of an interaction is generated automatically from a frame that describes the interaction by extracting a data model and a set of goals from the frame and then generating a Statechart from the data model and the set of goals. The data model includes a set of data fields to be completed during the interaction. Procedural logic is extracted from the frame and is used to annotate the Statechart with, for example, initial and final rules, prompts, and grammar. The Statechart may be stored for future use or editing, or used to manage a current interaction.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as the preferred mode of use, and further objects and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawing(s), wherein:
While this invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail one or more specific embodiments, with the understanding that the present disclosure is to be considered as exemplary of the principles of the invention and not intended to limit the invention to the specific embodiments shown and described. In the description below, like reference numerals are used to describe the same, similar or corresponding parts in the several views of the drawings.
One embodiment of the present invention relates to a combination of Harel Statecharts (Statecharts) (also known as Hierarchical State Machines (HSMs)) and Frames in a single interaction management framework (IMF). This combination aids interaction designers, especially for dialog-centric parts of the design, by automatically generating a Statechart (or portions of a Statechart) from higher-level dialog constructs, such as forms, menus, and the like. The automatically generated Statechart can subsequently be iteratively fleshed out and modified by the designer, which is an easier task than starting a new Statechart from scratch.
In accordance with one embodiment, frame constructs, including MPD-FL and VoiceXML forms and menus, are mapped into equivalent Statecharts. This mapping from frames to Statecharts essentially creates semantic representation of frames in terms of Statecharts. Given this semantic representation, it becomes possible to seamlessly combine dialogs specified as frames with dialogs specified directly as Statecharts.
Interaction designers can use dialog-specific constructs (also referred to as abstractions), such as forms and menus, to generate Statecharts components (sets of states and transitions). Such built-in constructs, at both the tool-level and markup-level, simplify the design process, since notions such as “select one of the options” and “fill in all the slots” need not be manually entered but can be automatically generated from a simpler specification.
This interaction/dialog abstraction can be also be extended to any number of interaction constructs (beyond forms and menus), to other common constructs (e.g., give feedback, get help, restart, select two, enter user info, etc), and more importantly, to designer-defined abstractions which can be stored in a library and reused.
It is noted that this approach is distinct from the concept of storing a portion or all of a Statechart in a file and reusing it. The distinction is that the abstraction (the concept) is being stored for reuse, perhaps to be selected from a pull-down menu or button-click at the tool-level. While this will lead to Statecharts being stored and reloaded, it makes the design process easier, since again the designer can focus on a concept that is much simpler than the states and transitions generated from the concept.
The exemplary embodiment, disclosed below with reference to
The Statechart generated by this process may be stored in a suitable computer readable medium for current or future use, or for editing by an interaction designer. The Statechart may be combined with Statecharts generated by other means (either manual or automated).
The present invention, as described in embodiments herein, may be implemented by system having a programmed processor for executing programming instructions that are broadly described above in flow chart form that can be stored on any suitable electronic storage medium. The system may also include an input for receiving the data model and associated goals and an output for transmitting the generated Statechart to a remote location or a memory. However, those skilled in the art will appreciate that the processes described above can be implemented in any number of variations and in many suitable programming languages without departing from the present invention. For example, the order of certain operations carried out can often be varied, additional operations can be added or operations can be deleted without departing from the invention. Error trapping can be added and/or enhanced and variations can be made in user interface and information presentation without departing from the present invention. Such variations are contemplated and considered equivalent.
While the invention has been described in conjunction with specific embodiments, it is evident that many alternatives, modifications, permutations and variations will become apparent to those of ordinary skill in the art in light of the foregoing description. Accordingly, it is intended that the present invention embrace all such alternatives, modifications and variations as fall within the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4068298 | Dechant et al. | Jan 1978 | A |
5247651 | Clarisse | Sep 1993 | A |
5412756 | Bauman et al. | May 1995 | A |
5652714 | Peterson et al. | Jul 1997 | A |
5694558 | Sparks et al. | Dec 1997 | A |
5790898 | Kishima et al. | Aug 1998 | A |
5801687 | Peterson et al. | Sep 1998 | A |
5835688 | Fromherz | Nov 1998 | A |
5995739 | Rotbart | Nov 1999 | A |
6234964 | Iliff | May 2001 | B1 |
6324496 | Alur et al. | Nov 2001 | B1 |
6408262 | Leerberg et al. | Jun 2002 | B1 |
6513006 | Howard et al. | Jan 2003 | B2 |
6735592 | Neumann et al. | May 2004 | B1 |
6770029 | Iliff | Aug 2004 | B2 |
6778651 | Jost et al. | Aug 2004 | B1 |
6829603 | Chai et al. | Dec 2004 | B1 |
6850806 | Yutkowitz | Feb 2005 | B2 |
6859747 | Yutkowitz | Feb 2005 | B2 |
6865499 | Yutkowitz | Mar 2005 | B2 |
6880147 | Pauly | Apr 2005 | B1 |
6914975 | Koehler et al. | Jul 2005 | B2 |
6920408 | Yutkowitz | Jul 2005 | B2 |
6996800 | Lucassen et al. | Feb 2006 | B2 |
6999936 | Sehr | Feb 2006 | B2 |
7010472 | Vasey-Glandon et al. | Mar 2006 | B1 |
7020850 | Raghavan et al. | Mar 2006 | B2 |
7024368 | Matheson | Apr 2006 | B1 |
7167550 | Klos et al. | Jan 2007 | B2 |
7197460 | Gupta et al. | Mar 2007 | B1 |
7200559 | Wang | Apr 2007 | B2 |
7206805 | McLaughlin et al. | Apr 2007 | B1 |
7213230 | Harel et al. | May 2007 | B2 |
7225125 | Bennett et al. | May 2007 | B2 |
7242752 | Chiu | Jul 2007 | B2 |
7272586 | Nauck et al. | Sep 2007 | B2 |
7284202 | Zenith | Oct 2007 | B1 |
7286985 | Chiu | Oct 2007 | B2 |
7297108 | Iliff | Nov 2007 | B2 |
7337158 | Fratkina et al. | Feb 2008 | B2 |
7401040 | Sloan et al. | Jul 2008 | B2 |
7406418 | Chiu | Jul 2008 | B2 |
7451089 | Gupta et al. | Nov 2008 | B1 |
7460650 | Bushey et al. | Dec 2008 | B2 |
7505951 | Thompson et al. | Mar 2009 | B2 |
20020111965 | Kutter | Aug 2002 | A1 |
20020167544 | Raghavan et al. | Nov 2002 | A1 |
20020198719 | Gergic et al. | Dec 2002 | A1 |
20030045281 | Rimoni | Mar 2003 | A1 |
20030153998 | Clifford | Aug 2003 | A1 |
20040003355 | DenBraber | Jan 2004 | A1 |
20040085162 | Agarwal et al. | May 2004 | A1 |
20050004786 | Thomason | Jan 2005 | A1 |
20050086382 | Ramaswamy et al. | Apr 2005 | A1 |
20050257051 | Richard | Nov 2005 | A1 |
20060036770 | Hosn et al. | Feb 2006 | A1 |
20060221081 | Cohen et al. | Oct 2006 | A1 |
20070074184 | Raghavan et al. | Mar 2007 | A1 |
20070282570 | Thompson et al. | Dec 2007 | A1 |
20070282593 | Thompson et al. | Dec 2007 | A1 |
20080046817 | Sharp et al. | Feb 2008 | A1 |
20080071714 | Menich et al. | Mar 2008 | A1 |
Number | Date | Country |
---|---|---|
9829817 | Sep 1998 | WO |
Number | Date | Country | |
---|---|---|---|
20070282570 A1 | Dec 2007 | US |