Diagram API Object Model Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional diagramming tools have cumbersome APIs that require significant code to synchronize diagrams with underlying data, support high-quality user interfaces, and handle large complex drawings, leading to performance issues and scalability problems.

Innovation Solution

A diagram system with an object model API that manages presentation elements in the same context as the depicted elements, using a control-less design and modern API techniques like class inheritance to facilitate synchronization and customizability, and employs a rich framework to support both document and diagram state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional diagramming tools use traditional APIs to manage diagrams and data, then developers can access diagram functionality, but developers must write large amounts of code to synchronize diagrams with underlying data

Engineering Contradiction:
Improveease of synchronizationVSAvoidcode complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the diagram management functionality into distinct components: a Diagram class for presentation elements and a Model class for data elements, with explicit mapping relationships. This segmentation allows the synchronization logic to be divided into manageable parts through the established mapping between diagram elements and data elements, reducing overall code complexity while maintaining synchronization capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mapping mechanism between the Diagram class and Model class. This mapping acts as a mediator that automatically synchronizes changes between the diagram presentation layer and the underlying data layer, eliminating the need for developers to write extensive synchronization code while maintaining tight coupling between diagram and data.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If conventional diagramming tools use traditional APIs to support high-quality user interfaces, then developers can create functional interfaces, but the APIs are cumbersome and require significant code

Engineering Contradiction:
Improveease of UI developmentVSAvoidAPI complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent creates universal base classes (Diagram class and Model class) that provide multi-functional capabilities through inheritance. These base classes handle common operations such as element creation, modification, and synchronization, allowing developers to inherit and extend functionality rather than rewriting code for each specific requirement, thereby simplifying UI development.

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

Solution Approach 2:

The patent establishes the diagram-element-to-data-element mapping relationship in advance during the design phase. This preliminary action of defining the mapping structure allows the system to automatically handle synchronization and UI updates without requiring developers to write extensive code during implementation, reducing both API and implementation complexity.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If conventional diagramming tools handle large complex drawings, then diagrams can be created, but the software fails or operates unacceptably slowly

Engineering Contradiction:
Improvehandling of large drawingsVSAvoidoperational speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the diagram into manageable units by separating presentation elements (Diagram class) from data elements (Model class). This segmentation allows the system to process and render only the necessary portions of large drawings efficiently, improving operational speed while maintaining the ability to handle complex drawings with many elements through the modular architecture.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7624403B2API for building semantically rich diagramming tools
Publication Date: 2009.11.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7624403B2 patent drawing
  • US7624403B2 patent drawing
  • US7624403B2 patent drawing

AI summary

A system and method facilitating diagramming is provided. The diagram system includes a diagram that stores shape element(s) and an application program interface (API) that includes a control that facilitates access to the diagram. The control maintains state information associated with the diagram. For example, application(s) can employ the API to access and/or modify the diagram.The system employs a rich framework to support both document and diagram state. Because the same framework is used to manipulate the state in a consistent way, it becomes much easier to keep the diagram synchronized with the underlying data than with conventional system(s).