Unified messaging state machine
First Claim
1. A computer-implemented system for programming a unified messaging (UM) application, comprising:
- a user interface;
a programming environment operating on at least one computing device and accessed via the user interface for composing in an eXtensible Markup Language (XML) a UM finite state machine (FSM) comprising menu states defined by a plurality of user prompts and transitions between user prompts, each transition defined by a particular user response to a prompt;
a UM software component including an external software component called by the UM FSM;
an XML feature utilized by the programming environment to create a valid menu state based upon the UM software component, wherein the XML feature includes a function wrapper that is used by the programming environment to validate the external software component during a compilation phase when the external software component is present and generate a binary UM FSM, and to generate an error when the external software component is absent during the compilation phase; and
a verification tool invoked during execution of the binary UM FSM that confirms that a version of the external software component present during a compilation phase is the same as a version of the external software component available at execution.
4 Assignments
0 Petitions
Accused Products
Abstract
A unified messaging (UM) application benefits from platform independence and human intelligibility of eXtended Markup Language (XML). A finite state machine (FSM) of the UM application is created utilizing an XML feature to create a valid menu state based upon a UM software component. For a UM software component that is a context or setting of the UM application, an XML conditional attribute conditions a prompt, transition or grammar node of the UM FSM. For a UM software component that is an XML snippet, an XML importation element replicates the XML snippet upon compilation, avoiding time-consuming and error prone requirements for manual code duplication. For a UM software component such as an external method, function, variable or action, a function wrapping XML tool validates the existence of such external UM software components at build time and captures version information to verify the availability of the same version upon execution.
29 Citations
16 Claims
-
1. A computer-implemented system for programming a unified messaging (UM) application, comprising:
-
a user interface; a programming environment operating on at least one computing device and accessed via the user interface for composing in an eXtensible Markup Language (XML) a UM finite state machine (FSM) comprising menu states defined by a plurality of user prompts and transitions between user prompts, each transition defined by a particular user response to a prompt; a UM software component including an external software component called by the UM FSM; an XML feature utilized by the programming environment to create a valid menu state based upon the UM software component, wherein the XML feature includes a function wrapper that is used by the programming environment to validate the external software component during a compilation phase when the external software component is present and generate a binary UM FSM, and to generate an error when the external software component is absent during the compilation phase; and a verification tool invoked during execution of the binary UM FSM that confirms that a version of the external software component present during a compilation phase is the same as a version of the external software component available at execution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for developing a user interface to a unified messaging (UM) system, comprising:
-
generating a finite state machine with at least one computing device, the finite state machine composed of menu states prompting a user and transitions to a next menu state in accordance with a user response; and generating a valid menu state based upon an existing external UM software component by employing an eXtensible Markup Language (XML) feature, wherein creating a valid menu state comprises; generating a function wrapper for the XML feature; during a compilation phase, using the function wrapper to validate the external UM software component when the external UM software component is present and generating a binary of the UM finite state machine; and during execution of the binary of the UM finite state machine, confirming that a version of the external UM software component present during the compilation phase is the same as a version of the external UM software component available at execution; and generating the valid menu state of the user interface including at least one user prompt. - View Dependent Claims (13, 14, 15, 16)
-
Specification