Declarative Architecture for Customizable Data Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Imperative programming languages and models result in monolithic, difficult-to-modify applications for data visualization, making customization and reusability challenging, especially in business applications where modifications and customizations are common, leading to complex upgrades and limited component sharing.

Innovation Solution

A declarative architecture for designing and constructing richly customizable and interactive data visualizations, using an extensible declarative language or model that defines descriptors for data sources, transformations, and visualizations, allowing for intuitive and flexible customization of features and behaviors through a palette-based design approach.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If imperative languages or models are used to develop visualization applications, then the applications can specify all features and behaviors in advance, but the applications become monolithic and difficult to modify

Engineering Contradiction:
Improvecustomization capabilityVSAvoidapplication structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the visualization application into distinct, independently configurable components including data source definitions, transformation operations, and visualization rendering elements. Each component can be modified without affecting the entire application, resolving the monolithic structure problem while maintaining full customization capability through compositional assembly of these segmented elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic configurability where application features and behaviors can be adjusted at runtime through declarative specifications. This allows the application to adapt to different customization requirements without requiring structural modifications, thereby maintaining versatility while reducing complexity through flexible, non-rigid architecture.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If imperative models are used, then all features and behaviors can be specified in advance, but modification becomes necessary since it is difficult to predict in advance all features a customer or user might desire

Engineering Contradiction:
Improvefeature predictabilityVSAvoidmodification ease
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent employs dynamic declarative specifications that allow features and behaviors to be defined and modified on-demand rather than predetermined. This enables the system to adapt to unforeseen customer requirements while maintaining ease of modification through a flexible configuration framework that does not require advance specification of all possible features.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If imperative models that are difficult to modify are used, then they are difficult to customize, but reusability of features suffers as many features need to be developed from scratch

Engineering Contradiction:
Improvecustomization easeVSAvoidfeature reusability
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent segments visualization features into reusable, independently configurable components that can be assembled through declarative specifications. This segmentation enables easy customization of individual features while maintaining high reusability, as the same segmented components can be reused across different visualizations without requiring development from scratch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements universal declarative specification mechanisms that can accommodate multiple visualization features and behaviors through a common framework. This universality allows a single set of configurable components to serve multiple purposes, thereby improving both customization ease and feature reusability simultaneously.

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

4Adaptability or versatility

If applications are modified by partners or customers to tailor to individual needs, then the application meets specific requirements, but later upgrades must account for these changes or the upgrade might not be compatible

Engineering Contradiction:
Improveapplication tailoring capabilityVSAvoidupgrade compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements dynamic declarative configurations that separate application logic from specific customizations. This allows partners or customers to tailor applications to individual needs through configurable parameters without modifying the core upgradeable components, thereby maintaining upgrade compatibility while achieving application tailoring.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the application into stable core components and customizable configuration layers. This segmentation enables modifications at the configuration level that do not affect the underlying stable components, ensuring that upgrades to core functionality remain compatible with customized applications while preserving both adaptability and reliability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8810595B2Declarative approach for visualization
Publication Date: 2014.08.19 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8810595B2 patent drawing
  • US8810595B2 patent drawing
  • US8810595B2 patent drawing

AI summary

The claimed subject matter relates to an architecture that can support a declarative model-based approach to designing, constructing, and rendering visualizations. By complying with a declarative descriptor, components can be readily customized by way of modifications to the model—declaratively specifying suitable features, behaviors, appearances and so forth. The descriptors that conform to the model can also facilitate connecting to various data sources and performing data transformation operations. Moreover, the descriptors that conform to the model can declaratively specify relationships based upon a scene layout. Accordingly, the architecture can further describe the scene layout and provide features based upon the layout.