Hierarchical Object Transformation System with Schema Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for transforming software objects from one structure to another, such as XSLT and casting operators, are inadequate as they do not automatically eliminate unnecessary fields, perform simple conversions, or handle hierarchical objects effectively, requiring manual intervention and being limited to specific object relationships.

Innovation Solution

A method and system that automatically transform objects by copying values, creating corresponding elements, and invoking user-implemented transformation routines, utilizing a class hierarchy and framework to handle attribute, node, and list types, with a 'best effort' approach to match corresponding members and provide hooks for user-defined transformations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If XSLT or text manipulation systems are used for object transformation, then transformation capability is provided, but manual intervention is required and automatic field elimination does not occur

Engineering Contradiction:
Improveautomatic transformationVSAvoidmanual configuration
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The transformation system automatically compares the source and destination object schemas, identifies corresponding fields, and performs transformations without requiring manual configuration. The system serves itself by autonomously determining transformation rules based on schema comparison and data type analysis.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameters of object fields automatically by analyzing schema differences between source and destination objects. It modifies field values, data types, and structures based on the transformation rules derived from schema comparison, eliminating the need for manual parameter specification.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If casting operators are used for object transformation, then type conversion is achieved, but only between derived and base classes is supported

Engineering Contradiction:
Improvetransformation scopeVSAvoidtransformation mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The transformation system is designed to handle multiple object types and relationships universally, not just derived-base class relationships. It can transform between any two object schemas by comparing their structures and applying appropriate transformation rules, making the system versatile across different object hierarchies and data models.

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

3Productivity

If manual field transformation is performed, then transformation precision is maintained, but productivity is reduced

Engineering Contradiction:
Improvetransformation speedVSAvoidtransformation accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system replaces manual mechanical transformation processes with an automated computational system. It uses algorithmic schema comparison and data type analysis to automatically determine transformation rules, substituting human manual configuration with automated intelligent processing that maintains both speed and accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Adaptability or versatility

If change lists are used for object transformation, then ordered transformations are achieved, but only for objects with derivation chains is suitable

Engineering Contradiction:
Improveobject type compatibilityVSAvoidtransformation process
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of requiring objects to have pre-existing derivation chains as a prerequisite for transformation, the system inverts the approach by first comparing the schemas of any two objects and then determining the transformation rules based on the comparison results. This allows transformation between objects without traditional inheritance relationships.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS9069739B2System and method for transforming hierarchical objects
Publication Date: 2015.06.30 SAP PORTALS ISRAEL
  • US9069739B2 patent drawing
  • US9069739B2 patent drawing
  • US9069739B2 patent drawing

AI summary

A method and system for transforming a first object into a second object, comprising: receiving the source and second objects; subject to the objects being of attribute type, copying, the value of the source object to the second object; subject to the objects being of node type which comprises, for each member of the second object: locating a corresponding member having a corresponding name in the source object; and invoking the method for the member and the corresponding member; subject to the objects being of list type, the source object adapted to contain elements of a first type and the second object adapted to contain elements of a second type, for each element of the source object: creating a corresponding default element of the second type; and invoking the method for the element and the corresponding default element; and invoking a user-implemented transformation routine.