Dynamic Interface Binding for Visual Modeling Pattern Extensibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing visual modeling language environments face challenges in dynamically extending pattern components, limiting the flexibility and reusability of user interface patterns, as they often require static binding of interfaces and roles, which restricts the ability to introduce new pattern components and adapt behaviors based on context.

Innovation Solution

The implementation allows for dynamic binding of interfaces and roles at runtime, enabling pattern components to adopt different behaviors based on their context, allowing new pattern components to be introduced without modifying existing code, and enabling different instances of the same component to be used in varying ways depending on their context.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static binding of interfaces and roles is used in visual modeling language environments, then system stability and predictability are improved, but extensibility and flexibility of pattern components deteriorate

Engineering Contradiction:
Improvesystem stabilityVSAvoidextensibility of pattern components
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic binding of interfaces and roles at runtime instead of static compilation-time binding. Pattern components can discover and bind to interfaces and roles dynamically based on their actual runtime state, allowing the system to maintain stability through defined protocols while simultaneously enabling extensibility through runtime adaptability. This resolves the contradiction by making the binding mechanism dynamic rather than static.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces an intermediary layer (the binding mechanism) that sits between the pattern components and the interfaces/roles. This intermediary enables loose coupling by allowing components to bind to interfaces and roles without direct hard-coded dependencies, thus maintaining system stability while enabling easy extension of pattern components through the intermediary binding layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If static binding is used, then code structure and maintainability are improved, but the ability to introduce new pattern components without modifying existing code deteriorates

Engineering Contradiction:
Improvecode structureVSAvoidability to introduce new pattern components
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The dynamic binding mechanism allows new pattern components to be introduced without modifying existing code by enabling runtime discovery and binding. Existing code maintains its structured static appearance, while the dynamic binding capability allows new components to integrate seamlessly through the runtime binding process, resolving the contradiction between code structure and adaptability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The binding mechanism serves multiple functions: it maintains code structure through organized binding processes while simultaneously enabling universal integration of different pattern components. The same binding infrastructure supports both existing and new components, providing multi-functionality that resolves the contradiction between maintaining code structure and enabling easy introduction of new components.

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

3Adaptability or versatility

If dynamic binding is implemented, then flexibility and reusability of pattern components are improved, but system complexity increases

Engineering Contradiction:
Improveflexibility of pattern componentsVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The intermediary binding mechanism manages the complexity of dynamic binding by providing a standardized interface and process for connecting pattern components to interfaces and roles. This intermediary layer encapsulates the complexity of runtime binding logic, allowing flexible and reusable pattern components while hiding the underlying system complexity from individual components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system manages complexity by allowing parameter changes (binding configurations) to be made dynamically without changing the fundamental system structure. Pattern components can change their bindings and behaviors based on runtime parameters, providing flexibility while the overall system architecture remains stable and manageable.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8689174B2Extensibility of pattern components
Publication Date: 2014.04.01 SAP SE
  • US8689174B2 patent drawing
  • US8689174B2 patent drawing
  • US8689174B2 patent drawing

AI summary

Methods and apparatus, including computer program products, related to extensibility of pattern components in a visual modeling language environment. A pattern component may implement an interface, the pattern component may be received (e.g., by a compiler), and a determination may be made as to whether components of the interface are implemented by the pattern component. If so, a reference to the interface is bound to the pattern component (e.g., a function call referencing a function signature of an interface may be substituted with a call to a function having the same name of the pattern component). A role may be assigned to a pattern component of a visual modeling environment of an application development system and a behavior may be performed based on the role assigned to the pattern component.