Annotation-Based Variable Reuse for Service Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy applications face challenges in reusing variable declarations across different programming environments, such as from COBOL to SOA environments, where only relevant parts of the data declarations are visible, and there is a need for improved techniques to generate service functions effectively.

Innovation Solution

A method and system that utilize annotations in declaration files to identify and process variables for generating service functions, allowing for the inclusion or exclusion of variables and renaming them to match different programming environments, using core and synonym action vocabularies to define actions for variable management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If COPYBOOK or include mechanisms are used to reuse data declarations across multiple programs, then variable declaration reusability is improved, but control over visibility and relevance of data parts to callers is lost

Engineering Contradiction:
Improvevariable declaration reusabilityVSAvoidcontrol over data visibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments the variable declarations by creating distinct groups or sets within the COPYBOOK structure. Each group can be independently selected and included in service functions, allowing callers to choose only the relevant portions they need. This segmentation enables both reusability (through the COPYBOOK mechanism) and control (through selective inclusion of segments).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic selection mechanisms that allow the set of included variables to change based on the specific service function being generated. The system dynamically determines which variable groups to include rather than using a static, all-or-nothing approach. This dynamic behavior enables adaptability to different calling contexts while maintaining control over what is exposed.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If graphical user interface tools are used to select variables from COPYBOOK for service functions, then ease of variable selection is improved, but additional complexity in the generation process is introduced

Engineering Contradiction:
Improvevariable selection easeVSAvoidservice function generation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-organizing variable declarations into logical groups or sets within the COPYBOOK before the service function generation process begins. This pre-grouping eliminates the need for manual selection during code generation, as the variable sets are already prepared and can be automatically included based on service function requirements. This reduces both UI complexity and generation process complexity.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If annotations are added to declaration files to identify variables for different service functions, then precision in variable selection is improved, but complexity of the declaration file increases

Engineering Contradiction:
Improvevariable selection precisionVSAvoiddeclaration file complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer in the form of structured annotation syntax that sits between the original COPYBOOK and the service function generator. This intermediary annotation system provides precise control over variable selection without requiring fundamental changes to the COPYBOOK structure. The annotations act as a mediator that translates developer intent into precise variable inclusion decisions, maintaining precision while managing complexity through a standardized annotation format.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8181165B2Using annotations to reuse variable declarations to generate different service functions
Publication Date: 2012.05.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8181165B2 patent drawing
  • US8181165B2 patent drawing
  • US8181165B2 patent drawing

AI summary

Provided are a method, system, and article of manufacture for using annotations to reuse variable declarations to generate different service functions. A declaration file has variable declarations in a first programming language environment for use by application functions. The declaration file includes a plurality of sets of annotations for a plurality of service functions. Each of the sets of annotations identifies variables in the declaration file to use with one of the service functions. The declaration file is processed to generate one of the service functions. The set of annotations in the declaration file for the service function to generate is determined. The determined set of annotations is processed to determine variables to include with the service function to generate. The determined variables from the declaration file are used to generate the service function.