Automated Software Generation for Certification Cameras

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional human creation of software for certification photograph machines is time-consuming and results in varying software quality due to different programmers producing different programs.

Innovation Solution

A software creating device employing reinforcement learning, specifically deep reinforcement learning, to combine existing basic modules and create software that executes a series of processes, ensuring consistent quality and reducing development time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If human programmers manually create software for certification photograph machines, then the software can be customized to meet specific requirements, but the development time is excessive and software quality varies between different programmers

Engineering Contradiction:
Improvesoftware quality consistencyVSAvoidsoftware development time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables self-service software creation through automated generation based on user-defined flowcharts and templates. The software creation unit automatically generates program code without human programmers, eliminating variability between different programmers and ensuring consistent quality while reducing development time significantly

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameter of software creation from manual programming to automated generation. By using templates and flowcharts as parameters, the system transforms the creation process into an automated procedure that maintains quality consistency and reduces development time

Inventive Principle:
Principle #35Parameter changes

2Productivity

If human programmers manually create software, then complex requirements can be handled with expert knowledge, but labor intensity is high and development efficiency is low

Engineering Contradiction:
Improvesoftware development efficiencyVSAvoidsoftware creation process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system replaces the mechanical process of manual programming with an automated software creation unit. This substitution eliminates the need for human programmers to manually write code, significantly improving productivity while the template-based approach manages the complexity of the creation process

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

3Ease of manufacture

If different programmers write different programs, then individual expertise can be utilized, but software quality becomes inconsistent and maintenance becomes difficult

Engineering Contradiction:
Improvesoftware creation easeVSAvoidsoftware quality uniformity
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system uses universal templates that can be applied across different software creation scenarios. These templates ensure that regardless of who is creating the software, the same quality standards and structures are applied, achieving uniformity while maintaining ease of creation through the template-based approach

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

Data Source

PatentUS11733976B2Software creation based on settable programming language
Publication Date: 2023.08.22 DAI NIPPON PRINTING CO LTD
  • US11733976B2 patent drawing
  • US11733976B2 patent drawing
  • US11733976B2 patent drawing

AI summary

The objective of the present invention is to provide a software creating device and the like with which labor savings can be made when creating software. A software creating device according to the present invention creates software for controlling equipment such as a certification photograph machine. The software creating device 1 includes, for example: a storage part for storing a plurality of basic modules for executing each of a plurality of processes; and a software creating part for employing the basic modules to perform deep reinforcement learning to create, by part of a combination of the basic modules, software for consecutively performing the plurality of processes in equipment such as a certification photograph machine.