Enumeration Assistant Automates Variable Creation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for creating, modifying, and deleting enumerated variable types in programming languages are cumbersome and prone to programmer errors, leading to redundant data and inadequate type safety and code readability.

Innovation Solution

An enumeration assistant tool integrated into an integrated development environment (IDE) simplifies the creation, modification, and deletion of enumerated variables by guiding programmers through a graphical user interface to input parameters, automating the creation of development objects, and eliminating redundant data entry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional manual methods are used to create enumerated variables, then programmers can define enumeration types, but the process is tedious and prone to errors

Engineering Contradiction:
Improvetype safetyVSAvoidease of creation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system automatically generates enumeration types, domain objects, and associated code without requiring manual intervention for each component. The programmer simply provides the enumeration name and values through a simplified interface, and the system self-generates all necessary infrastructure, reducing both manual effort and potential for human error.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical processes of creating multiple separate components (domains, data elements, type pools) with an automated software system that generates these components programmatically. This substitution eliminates repetitive manual typing and reduces errors associated with manual code entry.

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

2Ease of manufacture

If multiple separate components are created manually (domain, data element, type pool), then enumerated variables can be implemented, but redundant data is scattered throughout source code

Engineering Contradiction:
Improveimplementation capabilityVSAvoiddata redundancy
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The system merges the creation of multiple separate components (domain objects, data elements, type pool entries) into a single atomic operation. When a programmer defines an enumeration, the system simultaneously creates all related components in one unified action, eliminating the redundancy that would otherwise exist across multiple separate definitions throughout the codebase.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The automated system serves multiple functions simultaneously: it creates domain objects, generates data elements, establishes type pool entries, and generates associated code all through a single interface call. This multi-functionality eliminates the need for separate manual operations for each component, reducing overall system complexity.

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

3Ease of operation

If integer variables with constants are used instead of proper enumerated types, then code readability improves, but type safety is not provided

Engineering Contradiction:
Improvecode readabilityVSAvoidtype safety
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system introduces enumerated types as an intermediary layer between raw integer values and variable declarations. This intermediary provides both the readability benefits of named constants and the type safety of formal type systems, allowing programmers to use meaningful names while maintaining compile-time type checking and preventing incorrect assignments.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7856623B2Method and system for providing an enumeration assistant
Publication Date: 2010.12.21 SAP SE
  • US7856623B2 patent drawing
  • US7856623B2 patent drawing
  • US7856623B2 patent drawing

AI summary

A method and system are provided for creating an enumerated variable via an enumeration assistant interactive tool. A graphical user interface is provided to a programmer. Response to a request to create the enumerated variable received through a graphical user interface, the enumeration assistant determines parameters of the enumerated variable. The enumeration assistant creates development objects for the enumerated variable as a function of the parameters. The enumeration assistant stores the development objects in a program memory.