Complementary Editor for Model-Driven and Textual Development

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional programming methods are inefficient due to disconnected model-driven and textual programming approaches, lacking instant feedback and reactiveness, which leads to long development cycles and poor usability in software and hardware integration.

Innovation Solution

A complementary editor that integrates model-driven and textual development using enforced formatting constraints, allowing for immediate propagation of changes across views and enabling bi-directional transformations, thus providing a flexible, reactive, and usable development environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional textual or model-driven programming approaches are used, then programming can be performed in abstract fashion, but instant feedback through runtime is lost and development cycles become inefficient

Engineering Contradiction:
Improveprogramming convenienceVSAvoiddevelopment cycle time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent combines model-driven and textual programming approaches into a single integrated editor that displays multiple synchronized views. The model view and textual code view are merged into one interface, allowing developers to work with both representations simultaneously while maintaining synchronization through enforced formatting constraints and bi-directional transformations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system implements instant feedback mechanisms where changes in one view are immediately propagated to other views through enforced formatting constraints. The runtime executes code/model and backpropagates information to all views, providing continuous feedback without breaking the abstract programming workflow.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If model-driven programming is used, then high-level abstraction is achieved, but connection to runtime execution and instant feedback is lost

Engineering Contradiction:
Improveabstraction capabilityVSAvoidruntime integration efficiency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary mechanism (enforced formatting constraints) that bridges the model-driven and textual programming approaches. This intermediary ensures that changes in the abstract model view are automatically transformed and propagated to the textual code view, maintaining connection to runtime execution while preserving high-level abstraction capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If disconnected programming approaches are used, then simplicity in individual views is maintained, but integration efficiency between software and hardware becomes poor

Engineering Contradiction:
Improveview simplicityVSAvoidintegration efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the programming interface into multiple synchronized views (model view, textual code view, runtime view) that can be independently simple yet work together efficiently. Each view maintains its own simplicity while the enforced formatting constraints ensure they remain synchronized, solving the integration efficiency problem without sacrificing view simplicity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9823906B2Complementary model-driven and textual development using enforced formatting constraints
Publication Date: 2017.11.21 SAP SE
  • US9823906B2 patent drawing
  • US9823906B2 patent drawing
  • US9823906B2 patent drawing

AI summary

A complementary editor opens a plurality of views. Changes are received in a particular view of the plurality of views. The received changes are propagated to other views of the plurality of views other than the particular view and received by each particular view. The propagated changes are transformed in each particular view by a computer based on formatting constraints associated with each particular view and display of the transformed propagated changes is initiated in each particular view.