Managed Platform Registry for IDE Framework Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in managing different versions of software development tools and target platforms, leading to burdensome, time-consuming, and error-prone processes when developing software for multiple platforms or upgrading frameworks, as existing solutions require recreating source code and switching between project environments.

Innovation Solution

A managed platform registry within an integrated development environment (IDE) allows concurrent development for multiple target platforms and versions of software development frameworks, using unique identifiers to manage compatibility and facilitate seamless upgrades and porting of software, enabling developers to switch between platforms and frameworks while maintaining existing source code and settings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a software developer uses a specific development tool tied to a specific framework version, then the developer can utilize the productivity features and functionality of that toolset, but the developer cannot concurrently develop software for different framework versions or target platforms without recreating projects

Engineering Contradiction:
Improvecapability to develop for multiple platforms and framework versionsVSAvoidcomplexity of managing multiple project environments
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The development tool is enhanced with a managed platform registry that enables it to serve multiple functions: supporting multiple target platforms (Windows CE, Pocket PC, Smartphone) and multiple framework versions (.NET Compact Framework 1.0, 2.0, 3.0) within a single tool environment. The registry stores platform-specific configurations and mappings, allowing the universal tool to adapt to specific platform requirements without requiring separate specialized tools for each platform-version combination.

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

2Productivity

If a developer switches between different target platforms or framework versions, then the developer can access newer development tools and features, but the developer must recreate source code projects which is burdensome, time-consuming, and error-prone

Engineering Contradiction:
Improvesoftware development efficiencyVSAvoidtime required to recreate projects when switching platforms
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The managed platform registry performs preliminary actions by pre-storing platform configurations, compatibility mappings, and project settings for multiple target platforms and framework versions. When a developer switches platforms, the registry has already prepared the necessary configuration data, enabling automatic project porting without requiring the developer to manually recreate projects. This preliminary preparation eliminates the time-consuming project recreation process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and maintains copies of project configurations and settings in the managed platform registry for different platform versions. When switching between platforms, the system copies relevant project data from the source platform configuration to the target platform configuration, preserving source code and essential project settings while adapting to platform-specific requirements. This copying mechanism avoids the need to recreate projects from scratch.

Inventive Principle:
Principle #26Copying

3Reliability

If a development tool is tightly coupled with a specific framework version, then the tool can provide optimized functionality for that framework, but the tool cannot support multiple framework versions simultaneously

Engineering Contradiction:
Improvecompatibility between development tool and framework versionVSAvoidsupport for multiple framework versions
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The managed platform registry acts as an intermediary layer between the development tool and multiple framework versions. Instead of directly coupling the tool with each framework version, the registry stores and manages platform-specific configurations, compatibility rules, and mapping information. When the tool needs to interact with a specific framework version, it queries the registry for the appropriate configuration, ensuring reliable compatibility while maintaining the ability to support multiple versions through this mediating registry layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7721258B2Integrated development environment with managed platform registry
Publication Date: 2010.05.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7721258B2 patent drawing
  • US7721258B2 patent drawing
  • US7721258B2 patent drawing

AI summary

A software development tool, in the form of an integrated development environment (IDE), comprises a managed platform registry for managing the combination of compatible target platforms and versions of a software development framework. Each compatible combination of a platform and a version of the software development framework is assigned a unique managed platform ID. The managed platform IDs and information associated therewith are managed by the managed platform registry. The software development tool provides upgrade capability allowing a developer to use a newer version of the software development framework while maintaining the current target platform. The software development tool also provides the ability to switch target platforms while maintaining the current version of the software development framework.