Declarative Data Contracts for Type Mapping
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
4Ease of operation
If data conversion is performed outside the programming language, then flexibility in data handling is maintained, but conversion efficiency decreases
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
Data Source
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.


