Modeling Editor for Graphical Development Object Binding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current development environments lack an efficient method to create and manage graphical representations of development objects and their relationships, limiting the ability to dynamically model and modify applications across different abstraction levels.

Innovation Solution

A modeling editor that allows users to create user-defined graphical objects associated with development objects, enabling the generation of graphical representations, storing associations, and supporting multiple iterations of refinement, while allowing for the representation of different abstraction levels and non-associated graphical objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If separate drawing tools and code generation facilities are used independently, then each tool can be optimized for its specific function, but the integration between graphical models and development objects is lost, requiring manual synchronization

Engineering Contradiction:
Improveease of creating graphical representationsVSAvoidcomplexity of integrating multiple tools
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent combines separate drawing tools and code generation facilities into an integrated development environment where graphical models are directly associated with development objects through bindings. This merging allows automatic synchronization between graphical representations and generated code, eliminating manual synchronization requirements while maintaining tool optimization.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The integrated environment provides universal functionality that serves multiple purposes: graphical model creation, automatic code generation, and model updating. A single binding mechanism handles both the association between graphical objects and development objects, as well as the data flow for automatic synchronization, reducing the need for separate integration tools.

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

2Productivity

If graphical models are tightly coupled with specific code generation facilities, then code can be automatically generated from models, but the models cannot be easily reused with different code generators or for different purposes

Engineering Contradiction:
Improveautomatic code generation efficiencyVSAvoidreusability of graphical models
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a binding mechanism as an intermediary layer between graphical models and code generation facilities. This binding associates graphical objects with development objects without creating tight coupling, allowing the same graphical model to be used with different code generators. The binding acts as a flexible mediator that can be configured for different code generation purposes while preserving model reusability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If developers use abstract drawing tools to create graphical representations, then visual modeling is enabled, but automatic generation and synchronization with actual development objects is not achieved

Engineering Contradiction:
Improveease of visual modelingVSAvoidautomatic model generation and synchronization
Core Design Contradiction:
Ease of operationVSExtent of automation

Solution Approach 1:

The patent implements automatic feedback mechanisms where changes in development objects automatically update associated graphical models, and changes in graphical models automatically update the bound development objects and regenerate code. This bidirectional synchronization maintains visual modeling ease while achieving full automation through event-driven updates and binding validation.

Inventive Principle:
Principle #23Feedback

4Adaptability or versatility

If graphical models are created without associations to development objects, then flexible graphical design is possible, but the models cannot be automatically updated when development objects change

Engineering Contradiction:
Improveflexibility in graphical designVSAvoidsynchronization between models and development objects
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent creates dynamic associations between graphical objects and development objects through bindings that can be established, modified, or removed as needed. These bindings enable automatic synchronization when development objects change, while preserving graphical design flexibility. The dynamic nature of bindings allows the system to adapt to different modeling scenarios while maintaining reliability through automatic updates.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7818682B2Modeling editor
Publication Date: 2010.10.19 SAP SE
  • US7818682B2 patent drawing
  • US7818682B2 patent drawing
  • US7818682B2 patent drawing

AI summary

Methods and apparatus, including computer systems and program products, that implement a modeling editor associated with development objects. A computer program product includes instructions operable to receive user input including a user-defined graphical object, and a selection of a development object from a set of development objects in a development environment; generate an association between the selected development object and the user-defined graphical object; generate a graphical representation including the user-defined graphical object; and store the graphical representation and the association in a document. A graphical object need not be associated with any of the development objects. The user-defined graphical object can be presented to a user. Presenting the user-defined graphical object can include selectively presenting information associated with the user-defined graphical object based on user settings, such as abstraction information that can define an abstraction level for presenting the user-defined graphical object.