ProxyGen Tool for Managed Add-in Framework Integration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current tools for integrating COM host applications with the Managed Add-in Framework (MAF) are limited, requiring significant effort to generate wrappers that conform to MAF requirements, and existing solutions like TLBIMP produce uncustomizable .NET assemblies, forcing developers to manually modify intermediate language (IL) which is costly and error-prone.
Innovation Solution
The Managed Add-in Framework proxy generation tool (ProxyGen) generates a proxy to the host's object model that conforms to MAF requirements, using a library analyzer module and proxy code generation module to produce customizable output, allowing for abstraction and modification of the host's object model, thereby simplifying integration and providing loose coupling between add-ins and host applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If TLBIMP is used to generate .NET assembly, then interoperability between COM and .NET is achieved, but the output cannot be customized and manual modification is required
Solution Approach 1:
The patent introduces an intermediary tool (proxy generation tool) that sits between the type library importer and the final assembly output. This tool takes the generated assembly as input and automatically performs customizations, modifications, and optimizations that would otherwise require manual intervention. The intermediary automates the customization process while preserving the core functionality generated by TLBIMP.
Solution Approach 2:
The patent applies preliminary action by pre-configuring customization rules, mapping relationships, and optimization parameters before the assembly generation process. The proxy generation tool is pre-programmed with knowledge of common customization needs, allowing it to automatically apply these transformations without requiring manual configuration or post-processing of each generated assembly.
2Adaptability or versatility
If manual modification of intermediate language is performed, then customization of the assembly is achieved, but the process is costly and error-prone
Solution Approach 1:
The patent implements self-service by enabling the proxy generation tool to automatically perform customizations that would otherwise require manual intervention. The tool reads configuration files or uses built-in rules to automatically modify the generated assembly, apply custom mappings, and optimize the output without human involvement in the actual code modification process, thereby eliminating human errors.
Solution Approach 2:
The patent replaces the mechanical process of manual code modification with an automated computational system. Instead of manually editing intermediate language code, the proxy generation tool uses algorithmic processing to automatically transform and customize the assembly, substituting human manual labor with automated software-based transformation rules.
3Adaptability or versatility
If COM host applications are made to conform to MAF requirements, then integration with managed code framework is achieved, but significant work and potential rewriting is required
Solution Approach 1:
The patent applies the copying principle by generating proxy classes that replicate the functionality of COM objects in a MAF-compatible manner. Instead of modifying the original COM host application to conform to MAF requirements, the tool creates copies (proxies) that implement the MAF interface while delegating to the original COM objects, thus preserving the original code while achieving MAF integration.
Solution Approach 2:
The patent introduces proxy classes as intermediaries between the MAF framework and the COM host application. These proxies implement the MAF required interfaces and methods, acting as a translation layer that adapts the COM object model to MAF conventions without requiring changes to the underlying COM application code.
4Ease of operation
If existing wrapper generation tools are used, then basic interoperability is achieved, but the ability to correct, modify, add, and remove functionality is limited
Solution Approach 1:
The patent implements dynamics by making the proxy generation process configurable and adaptable. The tool allows users to dynamically specify customization requirements through configuration files, command-line parameters, or programming interfaces, enabling flexible addition, removal, or modification of functionality based on specific project needs without being constrained by fixed tool behavior.
Solution Approach 2:
The patent applies universality by designing a multi-functional proxy generation tool that can perform multiple operations: generating basic interop assemblies, applying custom mappings, optimizing code, adding attributes, removing unwanted members, and configuring MAF-specific settings. This single tool consolidates multiple specialized tools into one versatile solution that handles diverse customization requirements.
Data Source
AI summary
A Managed Add-in Framework (MAF) proxy generation tool comprises a library analyzer module operable for taking as input either a type library or managed software code assembly of the existing host application, and a proxy code generation module. Also, an additional input XML file that describes changes that a user would like to be made may be received by the tool and data acquired form the inspection of the additional input XML file and the inspection of the other inputs is merged and used to create the code of the proxy to the host object model. The proxy to the host's object model conforms to requirements of the MAF.


