Behavioral Data Model Variants for Software Extensibility
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing modeling languages and solutions are not extensible and flexible enough to fully express the nature of software systems, requiring manual integration of data elements and functional components, and lack the ability to generate code that effectively utilizes behavioral data models.
Innovation Solution
A computer system and method that uses a modeling language to describe software components in terms of properties and behaviors, allowing for the generation of an in-memory representation that includes data structures and code segments, which can be consumed by various software systems to process data and provide output, with features like derived properties, constraints, and variants to adapt to different conditions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If existing modeling languages are used to describe software components, then a basic framework can be generated, but the model is not extensible and flexible enough to fully express the nature of software systems
Solution Approach 1:
The patent introduces dynamic variant selection in behavioral data models, allowing the model to adapt its structure and behavior based on runtime conditions. Variants can be conditionally activated or deactivated, enabling the same model to express different software system configurations without manual reconfiguration. This dynamic capability directly addresses the extensibility and flexibility requirement while reducing manual integration complexity.
Solution Approach 2:
The patent utilizes parameter changes to control variant activation within behavioral data models. By changing model parameters (such as condition flags or configuration values), the system can switch between different behavioral variants without restructuring the entire model. This approach enables flexible adaptation of software systems while maintaining a consistent model framework, resolving the contradiction between model versatility and integration complexity.
2Ease of operation
If manual integration is used to tie framework components together, then custom operations can be added, but the process is time-consuming and requires significant developer effort
Solution Approach 1:
The patent implements preliminary action by pre-defining variant structures and behavioral patterns within the behavioral data model. Common software system configurations are anticipated and encoded as selectable variants, allowing developers to choose from pre-prepared templates rather than building operations from scratch. This significantly reduces the time and effort required for framework customization while maintaining the ability to add custom operations when needed.
Solution Approach 2:
The patent employs copying by allowing variants to be instantiated and reused across different model instances. Once a behavioral variant is defined, it can be copied and applied multiple times with minimal modification, reducing repetitive manual integration work. This copying mechanism enables efficient framework customization by leveraging existing proven patterns while allowing targeted customizations where necessary.
3Extent of automation
If behavioral data models with variants are implemented, then code generation becomes more automatic and flexible, but the model structure becomes more complex
Solution Approach 1:
The patent applies segmentation by dividing the behavioral data model into distinct, manageable variants. Each variant represents a specific behavioral configuration or operational mode, allowing the complex model to be organized as a collection of simpler, well-defined segments. This segmentation makes the model structure more comprehensible and easier to maintain while enabling sophisticated automated code generation by selecting and combining appropriate variant segments.
Solution Approach 2:
The patent implements universality by designing behavioral data model variants to serve multiple functions. A single variant structure can represent different behavioral patterns depending on parameter configuration, reducing the need for separate model definitions for similar purposes. This multi-functionality approach manages model structure complexity by creating reusable, universal building blocks that can be applied across different code generation scenarios.
Data Source
AI summary
Embodiments include computer systems, methods, and program code for developing and utilizing behavioral data models. The model can comprise a property and a behavior of the modeled component, with the property defining a data element of the modeled component and the behavior defining a variably applicable portion of the model. The behavior can comprise a programmatic expression of an operation to be performed when the model is consumed, such as a function for determining when the variably applicable portion of the model is to be used based on a condition. Consuming the model can comprise generating an in-memory representation of the modeled component comprising a data structure corresponding to the property and code configured to evaluate the condition.


