Skip to content

Add the abstracted difference visualization and model DSL from BT#12

Merged
NiklasRentzCAU merged 15 commits intomainfrom
nre/diffviz
Jan 13, 2026
Merged

Add the abstracted difference visualization and model DSL from BT#12
NiklasRentzCAU merged 15 commits intomainfrom
nre/diffviz

Conversation

@NiklasRentzCAU
Copy link
Member

This PR takes the implementation from the recent BT for OSGi visualizations and abstracts it for any architecture in SPViz.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR abstracts and generalizes the difference visualization and model DSL functionality from a BT thesis implementation, making it available for any architecture in SPViz. The implementation adds support for comparing two models side-by-side with visual indicators for added, removed, and modified elements.

Changes:

  • Added two new CLI flags (--no-model-dsl and --no-diff) to optionally skip generation of model DSL and difference visualization components
  • Implemented difference visualization synthesis that displays two models side-by-side with color-coded differences (green for added, red for removed, blue for modified)
  • Generated DSL projects for both model definition and difference specification, including Xtext grammar, MWE2 workflows, and Eclipse plugin configurations

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
SPVizModelExtension.xtend Added utility methods to retrieve contained and connected artifacts
SPVizModelGenerator.xtend Added generation of model DSL and diff DSL projects with Xtext support, including grammar, manifests, and build configurations
GenerateModelMavenBuild.xtend Updated Tycho version from 2.7.5 to 3.0.5 and added dependencies for Xtext and Xcore SDK
MANIFEST.MF Added dependency on org.eclipse.xtext.xtext.wizard for DSL generation
SPVizGenerator.xtend Added generation of diffviz project and updated dependency management to conditionally include DSL projects
GenerateSyntheses.xtend Implemented diff visualization logic with artifact comparison, style updates for difference indicators, and new synthesis properties
GenerateSubSyntheses.xtend Updated subsyntheses to pass differentModel parameter for comparison and apply difference styling
GenerateMavenBuild.xtend Modified to conditionally include diff and model DSL modules in Maven build
GenerateLanguageServer.xtend Updated to register model DSL and diff DSL languages with the language server
GenerateDiffViz.xtend New file generating the dual difference visualization synthesis and supporting classes
GenerateActions.xtend Updated actions to support diff visualization contexts and fixed typo in comment
SPVizCLI.xtend Added CLI options for skipping model DSL and diff generation

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

NiklasRentzCAU and others added 3 commits January 13, 2026 10:04
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@NiklasRentzCAU NiklasRentzCAU merged commit d71e305 into main Jan 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants