Declarative Data Contracts for Type Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data conversion processes between different models/schemas are time-consuming, resource-intensive, and prone to conversion problems due to disparate and ever-changing models, leading to difficulties in data exchange and interaction between applications.

Innovation Solution

Integration of data type conversion into a programming language with a mapping component that defines declarative mappings from external data formats to internal data types, and a rule establishing component that enforces semantic rules using predicate logic for automated argument validation, allowing for efficient data exchange and versionability preservation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional data conversion processes are used between different models/schemas, then data exchange between applications is enabled, but the process becomes time-consuming and resource-intensive

Engineering Contradiction:
Improvedata exchange capabilityVSAvoidconversion time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-defining data contracts that specify the structure, types, and constraints of data before actual data exchange occurs. These contracts are established in advance between applications, allowing the compilation system to generate optimized conversion code ahead of time, thereby reducing runtime conversion time and resource consumption while maintaining adaptability across different data models

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If conventional data conversion processes are used between different models/schemas, then data exchange between applications is enabled, but conversion problems and errors increase

Engineering Contradiction:
Improvedata exchange capabilityVSAvoidconversion accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through automated validation rules and constraints defined in the data contracts. The compilation system generates code that automatically validates data against these contracts during conversion, providing immediate feedback on conversion errors and ensuring data integrity. This feedback loop significantly improves conversion reliability while maintaining the ability to exchange data across different models and schemas

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If multiple incompatible data handling methods are used in conventional data systems, then various data formats can be stored, but interaction between applications becomes complex and inefficient

Engineering Contradiction:
Improvedata format supportVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by creating a unified data contract framework that can represent multiple different data formats and models through a common structure. The compilation system generates universal conversion code that handles various data formats using the same underlying mechanism, thereby reducing system complexity while maintaining the ability to support diverse data formats and models across different applications

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

4Ease of operation

If data conversion is performed outside the programming language, then flexibility in data handling is maintained, but conversion efficiency decreases

Engineering Contradiction:
Improvedata handling flexibilityVSAvoidconversion efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent merges data conversion functionality directly into the programming language by integrating contract-based data definition and conversion logic within the language's type system and compilation process. This unification allows the compiler to optimize conversion operations at compile time, significantly improving conversion efficiency while preserving the flexibility of declarative data contracts. The conversion process becomes part of the language's native operations rather than an external add-on

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7934207B2Data schemata in programming language contracts
Publication Date: 2011.04.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7934207B2 patent drawing
  • US7934207B2 patent drawing
  • US7934207B2 patent drawing

AI summary

Systems and methods that integrate data type conversion(s) into a programming language, and describe external formats within a syntax thereof. A mapping component defines a declarative mapping from an external data format to one or more of its internal data types (e.g., expressing external data types in terms of source languages.) Moreover, a rule establishing component can define value-based rules, such as invariants to the external data format, wherein the schema declaration further defines data fields that make up the schema. Accordingly, by expressing rules in form of predicate logic (instead of imperative program logic) the subject innovation increase a likelihood that compilers can reason about the data.