Application Development Program for Type-Independent Data Serialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing application program development environments face challenges in serializing and deserializing data due to dependencies on type definitions, which become inflexible when type members are changed or when data structures differ from the type definition.

Innovation Solution

A development program that extracts descriptions from source code to generate additional code, allowing data to be serialized independently of type definitions by designating data names, functions, and variables, enabling flexible data handling and serialization in a data structure independent of the type definition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is serialized based on type definition in conventional object-oriented programming, then data structure consistency is maintained, but flexibility and adaptability when type definitions change are reduced

Engineering Contradiction:
Improveflexibility when type definition changesVSAvoiddata structure consistency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the serialization process into two independent parts: (1) extracting type information and member variables from the type definition, and (2) serializing data based on this extracted information. This segmentation allows the serialization logic to be decoupled from the type definition, enabling flexible handling of type changes while maintaining data structure consistency through the extracted type information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (the analysis module and additional code generation system) that acts as a mediator between the type definition and the serialization process. This intermediary extracts and manages type information independently, allowing changes in type definitions to be handled without directly impacting the serialization logic, thus resolving the contradiction between adaptability and consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If type member composition is changed (addition or deletion) in the middle of development, then adaptability to new requirements is improved, but already serialized data cannot be correctly read

Engineering Contradiction:
Improveadaptability to type changesVSAvoidserialized data readability
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by extracting and storing type information (member names, data types, and structures) before serialization occurs. This pre-extracted type information is saved in a form that can be used during deserialization, allowing the system to handle type changes gracefully. When type definitions change, the system can use the previously extracted type information to correctly read and interpret already serialized data, preventing information loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent utilizes parameter changes by dynamically adjusting the serialization and deserialization processes based on the extracted type information. When type member composition changes, the system modifies the serialization parameters (which members to serialize, their order, and their formats) according to the current type definition while maintaining compatibility with previously serialized data through the use of the extracted type information as a reference.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If data structure of serialized data is made independent of type definition, then flexibility and convenience of program development are improved, but complexity of the serialization system increases

Engineering Contradiction:
Improveconvenience of program developmentVSAvoidserialization system complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the system to automatically extract type information from type definitions and generate the necessary serialization code without requiring manual configuration or complex setup by developers. The analysis module automatically analyzes type definitions, extracts member information, and generates additional code that handles the independent data structure serialization, thereby improving ease of operation while managing system complexity through automation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the conventional mechanical approach of manually configuring serialization based on fixed type definitions with an automated information processing system. The analysis module automatically extracts type information and generates serialization code, substituting manual configuration processes with automated analysis and code generation, thus improving convenience while the automation manages the inherent complexity.

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

Data Source

PatentUS20240012624A1Non-transitory computer-readable storage medium with executable development program stored thereon, information processing system, information processing apparatus, and information processing method
Publication Date: 2024.01.11 NINTENDO CO LTD
  • US20240012624A1 patent drawing
  • US20240012624A1 patent drawing
  • US20240012624A1 patent drawing

AI summary

A development program for development of an application program is provided. The development program includes instructions for extracting from a source code of an application program, a predetermined description including at least a first description that designates a data name and a second description that designates a first function or a first variable for obtaining a value and instructions for generating, based on the predetermined description, an additional code to be executed as processing for holding data on a first object of the application program and adding the additional code to the source code of the application program. The additional code is for performing processing for holding, as data corresponding to the first object, a value obtained by the first function designated in the second description or a value of the first variable designated in the second description under the data name designated in the first description.