Explicit Flow Control Framework for Speech Application Development
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implicit flow control programming environments, commonly used in Web development, result in complex and disjointed logic when applied to speech applications, leading to rigid and inefficient development and maintenance due to scattered functions and prompts throughout the code.
Innovation Solution
Creating an explicit flow control framework by defining explicit functions that abstract native implicit functions, exposing them through an explicit API, allowing developers to control application flow without manually assembling complex implicit functions, while preserving the underlying implicit flow design.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If implicit flow control paradigm is used in speech application development, then declarative programming and visual interface design are improved, but program complexity and logic disjointedness increase
Solution Approach 1:
The patent introduces an explicit flow control library as an intermediary layer between the implicit flow control ADE and the speech application developer. This library provides explicit flow control functions (NextStep, WaitForInput, PlayPrompt) that wrap and abstract the complex implicit flow control mechanisms, allowing developers to write simple sequential code while the library handles the underlying complexity of managing speech prompts, QAs, and execution flow in the implicit paradigm.
2Adaptability or versatility
If implicit flow control paradigm is used, then Web development capabilities are leveraged, but speech application maintenance becomes difficult due to scattered functions
Solution Approach 1:
The patent segments the speech application into discrete, manageable units by introducing explicit flow control functions that operate on individual speech components (prompts, QAs, dialogues). Each function handles a specific aspect of speech processing independently, making the code more modular and easier to maintain. The explicit library organizes scattered implicit functions into structured, named operations that are easier to locate and modify.
Solution Approach 2:
The explicit flow control library serves as a mediator that organizes and structures the scattered implicit functions into coherent, maintainable code. It provides a consistent interface for managing speech application components, allowing developers to work with organized, named functions rather than navigating through dispersed implicit code throughout the application.
3Productivity
If explicit flow control functions are added to implicit ADE, then developer productivity is improved, but library complexity increases
Solution Approach 1:
The explicit flow control library acts as an intermediary that absorbs the complexity of managing implicit flow control mechanisms. By implementing the library once with comprehensive abstract methods for explicit flow control, the patent enables multiple developers to write simple, maintainable code without each one needing to understand or manage the underlying implicit flow control complexity individually.
Solution Approach 2:
The explicit flow control library provides universal functions that can be used across different speech application scenarios. The library implements general-purpose flow control mechanisms (NextStep, WaitForInput, PlayPrompt) that work with various speech components (prompts, QAs, dialogues), allowing developers to handle multiple speech application needs through a single, reusable library rather than implementing separate control logic for each scenario.
Data Source
AI summary
Creating explicit control flow in an implicit control flow development environment. A set of explicit functions is defined in a library associated with the implicit control flow development environment. Each of the explicit functions in the set is associated with a sequence of implicit functions, such that by calling the explicit function, the sequence of selected implicit functions are called to programmatically perform the task defined by the explicit function. Property types may be designated for the explicit functions, wherein the property types are used by the sequence of implicit functions in performing the task. The explicit functions are exposed to a developer using the implicit flow development environment. The developer selects the desired explicit functions and properties for creation and execution of the application.


