Non-Intrusive Model Annotation for Software Development
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In model-driven engineering, it is challenging to add annotations to development models that cannot be modified, such as vendor-specific or proprietary models, to improve performance or security without altering the original model.
Innovation Solution
An annotation engine is configured to input a development model, associate annotations with its elements, and provide links, then a transformation manager coordinates transformation engines to generate annotated, transformed models, while a trace model manager tracks relationships between input and transformed models, allowing simulation and decision support without modifying the original model.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If annotations are added to a development model to improve performance or security understanding, then the model's information completeness is improved, but the model's integrity and immutability are compromised
Solution Approach 1:
The patent creates a copy of the original development model and adds annotations to the copy rather than the original. This allows performance and security information to be added without modifying the original model's integrity. The copy contains all elements of the original model plus additional annotation elements that provide the needed information.
Solution Approach 2:
The patent introduces an intermediary annotation layer that sits between the original model and the analysis tools. This annotation layer contains performance and security annotations that reference elements in the original model without directly modifying it. The intermediary layer preserves the original model's immutability while providing the needed information.
2Reliability
If vendor-specific or proprietary models are used to maintain security and control, then the model's security is improved, but the ability to annotate and analyze the model is reduced
Solution Approach 1:
The patent segments the model system into two distinct parts: the original vendor-specific/proprietary model that maintains security and control, and an separate annotation layer that provides analysis capabilities. The annotation layer is structured to reference elements in the original model without requiring access to its internal implementation details, thus preserving security while enabling analysis.
Solution Approach 2:
The patent adds annotations in another dimension - as separate metadata elements that associate with original model elements through references rather than direct modification. This dimensional separation allows the proprietary model to remain secure and unchanged while the annotation layer provides the needed adaptability for analysis and understanding.
3Adaptability or versatility
If the development model is extended with tools to add functionality, then the model's versatility is improved, but the complexity of managing and tracking model elements increases
Solution Approach 1:
The patent introduces traceability information as an intermediary mechanism that automatically tracks relationships between original model elements and their transformed versions. This intermediary tracking system manages the complexity of model extensions by providing automated association rather than requiring manual tracking of numerous extended elements.
Solution Approach 2:
The patent implements feedback mechanisms through traceability information that automatically tracks and reports relationships between model elements across transformations. This feedback system reduces management complexity by providing automated tracking and verification of element relationships, eliminating the need for manual tracking of extended functionality.
Data Source
AI summary
Development models of software applications may be annotated with additional information and transformed within a transformation chain into a resulting model that may be used to evaluate the development model, for example, for simulation and/or performance support of the development model. By relating elements of the development model through the transformation chain to elements of the resulting model, the evaluation may be performed with respect to the resulting/transformed model, but provided to a user in terms of the original development model. In this way, a user of the development model may work with the more-familiar development model, without having to alter the development model directly in order to obtain the evaluation.


