Terminal Application Configuration via Type-Safe Component Assembly

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for creating terminal applications for self-service terminals, such as ATMs, either require programming skills and compilation for type-safe validation or use scripting without type safety, limiting flexibility and rapid application changes.

Innovation Solution

A method and system that utilize type information from software components to establish type-safe relationships between classes, creating a configuration file that describes instances and relationships, allowing for the creation of a terminal application without programming skills, combining the flexibility of scripting with the type safety of compilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If programming skills and compilation are used for creating terminal applications, then type-safe validation is achieved, but development complexity and time requirements increase

Engineering Contradiction:
Improvetype-safe validationVSAvoiddevelopment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a configuration file as an intermediary between the developer's intent and the compiled application. This configuration file contains type information and relationship definitions that enable type-safe validation without requiring developers to write complex type-checking code. The configuration file acts as a mediator that translates high-level component relationships into verified executable code, resolving the contradiction between reliability and development complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs type information retrieval and relationship validation in advance during the configuration phase, before actual application execution. By pre-defining type relationships in the configuration file and validating them beforehand, the system ensures type-safe validation is achieved without adding complexity to the development process. This preliminary action allows developers to work with simpler syntax while maintaining strict type checking.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If scripting is used for creating terminal applications, then development flexibility and speed are improved, but type safety is lost

Engineering Contradiction:
Improvedevelopment speedVSAvoidtype safety
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The configuration file serves as an intermediary that combines the simplicity of scripting with the safety of compilation. It allows developers to define relationships using simple configuration syntax (similar to scripting) while simultaneously providing type information that enables automated type-safe validation (similar to compilation). This intermediary structure preserves development speed while restoring type safety.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the manual type-checking mechanism (mechanical verification by developers) with an automated type-validation mechanism based on configuration files and metadata. Instead of requiring developers to manually ensure type compatibility, the system automatically retrieves type information and validates relationships, substituting human verification with automated verification that maintains both speed and safety.

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

3Adaptability or versatility

If custom software builds are created for each ATM configuration, then specific business services are supported, but application creation time and complexity increase

Engineering Contradiction:
Improvebusiness service customizationVSAvoidapplication creation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the terminal application into independent, reusable software components with well-defined interfaces and type information. Each component can be independently configured and validated. This segmentation allows different combinations of components to be assembled for different business services without creating entirely custom builds, significantly reducing application creation time while maintaining versatility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates universal software components that can serve multiple business services through configuration rather than through custom development. The type information and relationship definitions in the configuration file enable the same set of components to be adapted for different business scenarios. This universality allows rapid customization for different ATM configurations without increasing overall application creation time.

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

Data Source

PatentUS8589868B2Creating a terminal application
Publication Date: 2013.11.19 NCR ATLEOS CORP
  • US8589868B2 patent drawing
  • US8589868B2 patent drawing
  • US8589868B2 patent drawing

AI summary

A configuration creator for use in creating a terminal application for a target apparatus. The configuration creator comprises: (i) an indexing routine for examining available software components that can be used in the terminal application and ascertaining possible type-safe relationships for each software component, (ii) a graphical user interface including a control area for displaying classes that can be used in the terminal application, and an association area for creating instances of the displayed classes and allowing type-safe relationships to be established between created instances, and (iii) a file creation routine for creating a configuration file including code describing created instances and relationships established between the created instances. The configuration file can subsequently be parsed to create a terminal application for use in a target apparatus, such as a self-service terminal.