Skip to content

Converter for various DFD formats#128

Merged
Nicolas-Boltz merged 112 commits intomainfrom
converter
Mar 5, 2024
Merged

Converter for various DFD formats#128
Nicolas-Boltz merged 112 commits intomainfrom
converter

Conversation

@uuqjz
Copy link
Collaborator

@uuqjz uuqjz commented Feb 9, 2024

This converter provides the means to convert:
WebDFD -> DFD
DFD -> WebDFD
MicroSecEndJson -> DFD
MicroSedEndPlant -> DFD
ASs -> DFD

@uuqjz

This comment was marked as outdated.

@sebinside sebinside requested review from Entenwilli and removed request for Nicolas-Boltz February 12, 2024 10:19
@sebinside sebinside self-assigned this Feb 12, 2024
@sebinside sebinside added enhancement New feature or request core Related to the core DFD/PCM data flow analysis support Related to supporting projects which are neither core analysis or meta model bundels labels Feb 12, 2024
@sebinside sebinside added this to the 2.0.0 milestone Feb 12, 2024
Copy link
Member

@sebinside sebinside left a comment

Choose a reason for hiding this comment

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

Here is my initial review regarding code quality. I have to test around more to say something about the correctness of all transformations.

Copy link
Member

@Entenwilli Entenwilli left a comment

Choose a reason for hiding this comment

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

Some more comments about code quality and maintainability. So far, the output from ASs to DFD looks correct. The other transformations have not been tested by me so far

@sebinside
Copy link
Member

Thank you all for the great feedback and discussion, I think once @uuqjz implemented all required changes this will be a valuable and maintainable addition to the data flow analysis!

@uuqjz

This comment was marked as outdated.

@uuqjz

This comment was marked as outdated.

@Entenwilli

This comment was marked as outdated.

@uuqjz

This comment was marked as outdated.

@Entenwilli

This comment was marked as outdated.

@uuqjz

This comment was marked as outdated.

@Entenwilli

This comment was marked as outdated.

@uuqjz

This comment was marked as outdated.

@Entenwilli

This comment was marked as outdated.

@uuqjz

This comment was marked as off-topic.

@uuqjz

This comment was marked as outdated.

Copy link
Member

@Entenwilli Entenwilli left a comment

Choose a reason for hiding this comment

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

Some more code style changes. Furthermore, most methods are currently undocumented (I know, there are some in the analysis as well, those will be fixed in #123)

@uuqjz
Copy link
Collaborator Author

uuqjz commented Feb 20, 2024

@sebinside @Nicolas-Boltz @Entenwilli
Ready for re-review

@uuqjz
Copy link
Collaborator Author

uuqjz commented Mar 4, 2024

I have no idea why the build test fail
All 53 tests run fine on my pc

sebinside
sebinside previously approved these changes Mar 5, 2024
Copy link
Member

@sebinside sebinside left a comment

Choose a reason for hiding this comment

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

FLGTM

@sebinside sebinside removed the request for review from Nicolas-Boltz March 5, 2024 08:55
sebinside
sebinside previously approved these changes Mar 5, 2024
@uuqjz uuqjz requested a review from Nicolas-Boltz March 5, 2024 10:14
Copy link
Member

@Nicolas-Boltz Nicolas-Boltz left a comment

Choose a reason for hiding this comment

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

LGTM

@Nicolas-Boltz Nicolas-Boltz merged commit 5dd1727 into main Mar 5, 2024
@Nicolas-Boltz Nicolas-Boltz deleted the converter branch March 5, 2024 10:16
Nicolas-Boltz pushed a commit that referenced this pull request May 28, 2025
* Build Jackson Parser for MicroSecEnd dataset

* print information flows

* Added DFD to xml writer

* Added Producer

* Create Processes and External Entities from Classes

* Process all JSON files

* Flow record for storing flows

* Added Behaviour and Pins

* Modeled WebDFD

* Removed unused record

* Changed node to child

* Create WebDFD nodes, flows and ports from dfd

* New JSONs

* Added WebDFD to DFD supporting nodes, edges and ports

* Merged main methods

* Renamed classes

* Removed unused files

* Refactored packages

* Removed SimpleFlow

* Ignore unnecessary field in Web Json

* First version with label labeltypes and assignments

* Functional Micro -> DFD -> Web

* Fixed node properties

* Cleaned code a bit

* Correctly parse and create forward assignment from Web

* Create normal behavior from dfd

* Ignore test files

* For real now

* Added syntactic sugar

* Plant UML to DFD

* Assure Web=conv(conv(Web))

* Tidy test

* Refactored equals logic

* Test and fix converter.py

* Cleanup after tests

* Test Micro -> DFD

* First ass to dfd converter

* Fixed warnings

* Ass tests and perserve Id

* Test ass flows

* Refactored test file structure

* Changed main

* Ready for PR

* Added header to python script

* Moved test and models

* Refactored Main to Converter without static methods

* Tidied Converter

* Changes

* Revert Readme

* Improved converter interfaces

* Split converter in convert function that return objects and storing functionality, converter can now be used with either files or objects

* Storing test

* Fixed EMF warning

* FIxed ass warnings

* Before Pull from Felix

* fix(ass-converter): fix unchecked cast warnings

* Removed Catch from Test

* Made TVD less fishy

* Small improvements

* Empty gitingore

* JPlag formatter applied

* Loading functionality + enhanced tests

* Streamlined converter

* Cleanup

* Dedicated sorting methods

* Minor stuff

* Maming

* Made Process super class

* Forgot add

* mvn dependancy

* Split tests by model

* Bunch of small renamings

* Split converter by models

* Split up long methods

* Split up converter api in subconverts

* Made internal methods private

* Comments

* Paths get were practical

* Made interfaces better

* Regex for behavior

* Format for Review

* Small stuff

* Added logic converter

* Replace behavior to term and vice versa with custom parser

* Making parsing of logic neater

* More streams

* More palladio stuff

* Placeholder

* Felix I

* Felix II

* Whitespace dependencies

* Request from Nicolas and JavaDoc

* Integrated FlowGraphs into Converter

* Format

* Test manual conversion

* Sebastian I

* Sebastian II

* Preserve behavior and pin names + tests

* JavaDoc

* Adapted test for optional inputs

* EOF

* Fixed DFD loadinh

* Magic string

* Camera ready

* Now?

* Please

* Ternary

* Camera ready II

* Moved comment to disabled test

* Store test models locally

* Unused import

* Removed junit

---------

Co-authored-by: Felix Schwickerath <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Related to the core DFD/PCM data flow analysis enhancement New feature or request support Related to supporting projects which are neither core analysis or meta model bundels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement converters from and to the DFD meta model

4 participants