Declarative Command Binding via Workflow Wrapper

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Declarative programming lacks the ability to explicitly specify low-level algorithms for achieving program goals, limiting its functionality in implementing commands and workflows effectively.

Innovation Solution

Implementing a method that declares input gestures and workflows in a declarative programming language, binding them through a command name, allowing for the execution of activities without specifying low-level algorithms, and using a workflow wrapper to integrate imperative code for additional functionality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If declarative programming is used to define program goals without specifying low-level algorithms, then ease of operation and adaptability are improved, but device complexity increases due to the need for framework software to handle implementation details

Engineering Contradiction:
Improveease of defining program goalsVSAvoidcomplexity of framework software
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a command binding system as an intermediary layer between declarative command definitions and workflow implementations. This binding mechanism allows commands to be associated with workflows without requiring the framework to interpret complex implementation details, thereby reducing the burden on framework software while maintaining ease of operation for defining program goals.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If low-level algorithms are explicitly specified in imperative programming, then manufacturing precision and measurement precision are improved, but ease of operation deteriorates due to increased programming complexity

Engineering Contradiction:
Improveprecision of algorithm implementationVSAvoidease of programming
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent segments the programming task into two distinct parts: declarative command definitions that specify what needs to be done, and workflow implementations that contain the low-level algorithmic details. This segmentation allows programmers to focus on high-level goal definition without being burdened by implementation complexity, while the framework handles the precise algorithmic execution.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If declarative programming is used to bind input gestures with workflows through command names, then adaptability and ease of operation are improved, but loss of information increases due to decoupling of references

Engineering Contradiction:
Improveflexibility in command bindingVSAvoidloss of reference context
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent implements a feedback mechanism where the framework inspects workflows to determine if they are capable of performing useful work given the current application state. This feedback loop ensures that decoupled command-gesture bindings remain contextually appropriate, preventing information loss by verifying that workflows can actually execute their intended functions in the current context.

Inventive Principle:
Principle #23Feedback

4Reliability

If workflows are inspected to determine capability of performing useful work, then reliability is improved, but loss of time increases due to additional analysis requirements

Engineering Contradiction:
Improvereliability of workflow executionVSAvoidtime for workflow inspection
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs workflow capability inspection as a preliminary action before command execution is attempted. By checking in advance whether a workflow is capable of performing useful work given the current application state, the system prevents futile execution attempts, thereby improving reliability while minimizing time loss through early validation rather than later failure detection.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8930898B2Declarative commands using workflows
Publication Date: 2015.01.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8930898B2 patent drawing
  • US8930898B2 patent drawing

AI summary

Declaratively implementing a command. A method includes declaring an input gesture in a declarative programming language. Declaring an input gesture includes declaring one or more user performed actions. A command name is declared in a declarative programming language. A workflow is declared in a declarative programming language. Declaring a workflow includes declaring schedulable activities that are to be performed without specific specifications of the low level algorithms that are used to accomplish the activities. In an alternative example, workflows may be declared by declaring a wrapper to wrap imperative programming commands. The declared input gestures are bound with the declared workflow through the declared command name.