Metawizard Framework for Wizard Data Reuse and Customization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software programming is labor-intensive due to the need for repetitive coding and customization of similar algorithms and user interfaces across different applications, leading to inefficiencies in code reuse.

Innovation Solution

A metawizard framework that allows for the execution and reuse of portions of existing wizards by linking and executing selected steps from multiple wizard data sets, enabling combination and customization of functions without complete recoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If wizards are reused to perform the same functions without reprogramming, then programming productivity is improved, but the ability to customize specific details varies from implementation to implementation

Engineering Contradiction:
Improveprogramming productivityVSAvoidcustomization ability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The wizard data is divided into discrete steps that can be independently selected and executed. The metawizard framework allows individual steps from different wizards to be segmented and recombined, enabling both reuse of proven wizard functionality and customization of specific steps to meet varying implementation requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The metawizard framework provides a universal platform that can execute any wizard data by referencing its steps. This multi-functional system allows a single framework to handle diverse wizard implementations while maintaining the ability to customize which steps are executed and in what order, resolving the contradiction between standardized reuse and flexible adaptation.

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

2Loss of time

If portions of existing wizards are reused without rewriting, then code reuse efficiency is improved, but the complexity of managing multiple wizard data sets increases

Engineering Contradiction:
Improvecode reuse timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The metawizard framework acts as an intermediary layer between the application and multiple wizard data sets. It manages the complexity of storing, referencing, and executing steps from various wizards by providing a unified interface and control mechanism, thereby reducing the apparent complexity for users while enabling efficient code reuse.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of copying and rewriting entire wizard implementations, the system creates references to wizard data and copies only the specific steps needed. This approach minimizes the time required for code reuse while reducing system complexity by avoiding redundant storage of complete wizard definitions.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If selected steps from multiple wizards are executed in a metawizard, then the ability to combine functions is improved, but the difficulty of managing execution flow increases

Engineering Contradiction:
Improvefunction combination abilityVSAvoidexecution flow management
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The metawizard framework provides dynamic control over execution flow, allowing the system to adaptively manage the sequence and conditional execution of steps from multiple wizards. This dynamic approach enables complex function combinations while the framework automatically handles the complexity of flow management through programmable control logic.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7409683B2Executing wizard data using a metawizard framework
Publication Date: 2008.08.05 SAP SE
  • US7409683B2 patent drawing
  • US7409683B2 patent drawing
  • US7409683B2 patent drawing

AI summary

In one general aspect, a computer program product for executing wizard data using a metawizard is described. The computer program product may be tangibly embodied on a computer-readable medium and include executable code that, when executed, is configured to cause at least one data processing apparatus to execute the metawizard. The metawizard may be configured to execute a portion of a first wizard data in a metawizard, determine a second wizard data in the metawizard remains to be executed, and execute a portion of the second wizard data in the metawizard.