Command Tool Development Using Description Files

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current command tools require labor-intensive hard-code development and updates, making them costly and tedious to maintain, especially when configuration changes or application APIs evolve.

Innovation Solution

A command description file is used to describe the function logic of commands, which can be parsed to execute operations, allowing developers and users to modify the command tool without extensive software development experience, reducing development costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If command tools are developed using hard-coded methods, then the tool can perform functions reliably, but the development and maintenance become labor-intensive and costly

Engineering Contradiction:
Improvecommand tool functionalityVSAvoiddevelopment and maintenance effort
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The command tool is segmented into two parts: a persistent executable core and separate description files that contain the command definitions, parameters, and operation logic. This allows the tool to maintain reliability through the stable executable while enabling easy updates by simply modifying the description files without recompilation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The command definitions, parameters, and operation logic are extracted from the hard-coded executable and placed into external description files. This extraction enables independent modification of command behaviors without affecting the core tool, reducing development and maintenance effort while preserving functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If command tools are updated to reflect configuration changes or API evolutions, then the tool remains relevant and functional, but the update process becomes tedious and requires extensive software development experience

Engineering Contradiction:
Improveadaptability to configuration changes and API evolutionsVSAvoidease of modification
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

Instead of modifying the core executable, the system uses description files that can be copied, created, or edited using simple text editors. Users can define new commands or modify existing ones by creating or editing these description files, making updates accessible to users without software development experience.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The command tool automatically parses and loads commands from description files without requiring manual intervention or recompilation. This self-service mechanism allows users to update command functionality by simply providing new description files, which the tool automatically incorporates.

Inventive Principle:
Principle #25Self-service

3Stability of the object's composition

If the entire command tool is recompiled to modify functionality, then the tool maintains consistency, but the process becomes time-consuming and resource-intensive

Engineering Contradiction:
Improvetool consistencyVSAvoidrecompilation time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The command definitions and logic are prepared in advance in description files with a structured format. This preliminary preparation allows the executable to simply parse and load the pre-defined commands without needing to recompile, maintaining tool consistency while eliminating recompilation time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10901698B2Command tool development using a description file
Publication Date: 2021.01.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10901698B2 patent drawing
  • US10901698B2 patent drawing
  • US10901698B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a computer-implemented method for executing one or more operations based on a command. According to the method, a command is received. A command name of the command and one or more parameters of the command are extracted. A command description file corresponding to the command is retrieved based on the command name. The command description file describes function logic of the command. The retrieved command description file is parsed, and information for executing one or more operations included in the command description file is acquired. The one or more operations are executed based on the acquired information and the one or more parameters.