Dynamic Method Selection via Declarative Interaction Scope

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face challenges in selecting the most appropriate method implementation for context-sensitive commands across different applications, leading to inefficiencies when multiple implementations of the same command are available, as they rely on linear searches rather than context-based prioritization.

Innovation Solution

A system that dynamically selects the most appropriate method from multiple available implementations using a declarative syntax and interaction scope, applying sort rules based on inheritance, feature position, and satisfied features to generate a ranked list, allowing for context-sensitive functionality without requiring re-compilation of calling applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If linear search through user interface elements is used to select method implementation, then simplicity of implementation is maintained, but selection efficiency and context-accuracy deteriorate

Engineering Contradiction:
Improvemethod selection efficiencyVSAvoidselection system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-establishing sort rules and interaction scope definitions before method selection is needed. Methods are pre-ranked based on their interaction scopes and sort rules, so when a command is invoked, the system can quickly retrieve the pre-sorted list rather than performing complex analysis at selection time. This resolves the contradiction by preparing selection criteria in advance, improving efficiency without adding complex runtime decision-making.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary sorting mechanism that acts as a mediator between the raw list of available methods and the final selection. The sort rules and interaction scope definitions serve as intermediary layers that automatically filter and rank methods based on contextual relevance. This intermediary layer handles the complexity of context-based selection, allowing the system to maintain simple method invocation syntax while achieving intelligent, context-aware method selection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If context-sensitive functionality is implemented with multiple method versions, then adaptability to different applications is improved, but complexity of method selection increases

Engineering Contradiction:
Improvecontext-sensitive functionalityVSAvoidmethod selection mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal sort rule system that can handle multiple different contexts and application types through a single unified mechanism. The interaction scope definitions and sort rules are designed to be universally applicable across word processing, graphics, and other applications. Each method declares its interaction scope requirements, and the universal sorting mechanism automatically matches methods to contexts, providing context-sensitive functionality without requiring separate selection logic for each application type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses parameter changes in the form of interaction scope definitions and sort rule configurations to adapt method selection to different contexts. Rather than creating different selection mechanisms for different applications, the system changes the parameters (interaction scope, sort rules) to match the contextual requirements. This allows the same core selection mechanism to provide adaptability across diverse applications by adjusting its behavior based on declared parameters.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If third-party extensions add new method implementations, then functionality and versatility are enhanced, but accuracy of automatic method selection may deteriorate

Engineering Contradiction:
Improvethird-party method integrationVSAvoidmethod selection accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent implements self-service by requiring each method (including third-party extensions) to declare its own interaction scope requirements. Rather than requiring the system to analyze and understand what each third-party method does, the methods themselves provide the necessary information about their contextual requirements through interaction scope definitions. This self-declaration approach allows third-party extensions to integrate seamlessly while maintaining selection accuracy, as each method describes its own optimal execution context.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback mechanisms where the interaction scope definitions and sort rules continuously refine method selection based on contextual information. When third-party methods are added, they participate in the same feedback-driven sorting process, where their declared interaction scopes are evaluated against the current context and sort rules. This feedback loop ensures that even with numerous third-party extensions, the system can accurately select the most appropriate method by continuously evaluating contextual match quality.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8296731B2Dynamic method selection based on declarative requirements of interaction scope
Publication Date: 2012.10.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8296731B2 patent drawing
  • US8296731B2 patent drawing
  • US8296731B2 patent drawing

AI summary

Various technologies and techniques are disclosed that dynamically implement method selections based on declarative requirements and interaction scope. Requirements that describe when each of multiple methods that can perform a particular operation should be called can be declared using a declarative syntax. Based upon a program event, the system determines that a request should be made to select a most appropriate method of the available methods to call to perform the particular operation. Upon receiving the request to select the most appropriate method, a sort process is executed that uses an interaction scope of a current user context in combination with a plurality of sort rules to generate a sorted list of the available methods into a particular order based upon appropriateness. A most appropriate method, if any, is returned to the calling application, and then called to perform the particular operation.