Skip to content

feat: add violation summary UI and adapt standalone deployment backend#90

Open
dalu-wins wants to merge 20 commits intoDataFlowAnalysis:mainfrom
dalu-wins:feature/violation-summary
Open

feat: add violation summary UI and adapt standalone deployment backend#90
dalu-wins wants to merge 20 commits intoDataFlowAnalysis:mainfrom
dalu-wins:feature/violation-summary

Conversation

@dalu-wins
Copy link

Overview

This PR adds a violation summary display to the web editor frontend and adapts the standalone WebSocket backend for headless deployment using a Tycho/Maven build.

Frontend Changes

  • Added violation summary display showing constraint violations with transpose flow graph details
  • Added tooltips for violations and TFG nodes

Backend Changes

  • Fixed Application.java to use webSocketServer.join() instead of Scanner.nextLine(), allowing headless deployment without a terminal
  • Added Tycho/Maven build setup (pom.xml files, .product file, feature.xml) to enable building a deployable tar.gz without the Eclipse IDE
  • Removed version constraints from MANIFEST.MF dependencies to be compatible with current DFA bundle versions

Build Approach

I opted for a self-contained Tycho product build instead of the existing AnalysisBackendServerProduct approach. This produces a standalone executable with all dependencies bundled, requiring only Java 17 on the target machine. See backend/analysisBackendServer/violationSummarySetup.md for full build and deployment instructions.
The maintainers may want to decide if they want to go this way for future deployment or stay on the current strategy.

Notes

The standalone backend depends on modified bundles from my DataFlowAnalysis fork. A separate PR will be opened there alongside this one.
Once the DataFlowAnalysis PR is merged upstream, the file:// local path dependency in the target platform can be replaced with the nightly update site URL, and the README updated to point to the official repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant