Flexible Base Class Library via Data Contract

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software frameworks are inflexible in customizing the set of common base class libraries, often supporting unnecessary functionality that is not required for specific application domains, leading to inefficiencies and limitations in type system design.

Innovation Solution

The runtime provides a data contract for the data structure of base classes, allowing frameworks to define custom base classes as long as they honor the contract, enabling frameworks to tailor their type systems to specific needs by adding or removing methods, properties, and constructors, and using different base class definitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a framework supports the whole set of common base class library objects and their functionality, then the framework can provide comprehensive functionality, but the framework becomes inflexible and supports unnecessary functionality that is not needed for specific application domains

Engineering Contradiction:
Improveframework flexibilityVSAvoidbase class library size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the base class library into multiple selectable subsets, each tailored to specific application domains. Instead of providing a monolithic base class library, the system divides it into modular components that frameworks can selectively assemble based on their specific needs, thereby reducing unnecessary functionality while maintaining comprehensive support capabilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic configuration of base class libraries, allowing frameworks to adaptively select and assemble appropriate base classes at runtime based on the specific application domain. This dynamic approach enables the framework to optimize its base class library composition rather than being fixed with a comprehensive but bloated set of base classes.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple frameworks use the same runtime with their own extended type systems, then the runtime must provide a common set of base class objects, but this limits the ability of frameworks to customize base classes to better suit their specific domains

Engineering Contradiction:
Improvecustom base class definitionVSAvoidbase class structure consistency
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent applies local quality by allowing each framework to customize base classes with domain-specific properties and behaviors while maintaining a consistent core structure defined by the runtime. Different frameworks can have different base class implementations tailored to their specific needs (local customization) while still adhering to the overall type system contract (global consistency).

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent creates a universal base class contract that serves multiple frameworks simultaneously. The runtime defines a standardized interface and core functionality that all frameworks must support, while allowing each framework to extend and customize base classes for their specific domains,从而实现 one system serving multiple purposes.

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

3Productivity

If a framework is built with a monolithic base class library, then it can support all possible functionality, but it cannot efficiently allocate resources or version the base class library for different application needs

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidbase class library customization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the base class library into modular, independently versionable units. This segmentation enables efficient resource allocation by allowing frameworks to include only the base classes needed for their specific application domain, reducing memory footprint and initialization overhead while maintaining the ability to support diverse functionality across different frameworks.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8271938B2Flexible base class library
Publication Date: 2012.09.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8271938B2 patent drawing
  • US8271938B2 patent drawing
  • US8271938B2 patent drawing

AI summary

Mechanisms that allow frameworks significant flexibility in varying the library of common base classes in a manner that better suits the domain of applications served by the framework. Instead of providing the base class library, the runtime provides a data contract for the data structure of each base class. The frameworks can then define each base class in a custom way so long as the data contract is honored. Thus, for example, the framework may provide custom framework-specific methods and/or properties as is appropriate for the framework. Another framework might define the base classes in a different way.