-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for subsystems in component diagrams #291
Support for subsystems in component diagrams #291
Conversation
@GODrums Nice work and documentation on the PR! Looks good to me! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code itself looks good, and the subsystem feature works well locally. Well done!
However, the tests still need to be adjusted, as I have failing tests when testing locally. In addition, some Artemis tests will probably also need adjustment due to the addition of subsystems.
I also recommend merging the develop branch into your branch to handle any conflicts, as the last commit was quite a while back.
@AlexanderG2207 @matthiaslehnertum unfortunately, the author did not update this PR recently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to work as intended for me 👍🏻 I‘ll wait for the pipeline to finish (as the base branch) was updated and merge if all checks go through.
Checklist
Motivation and Context
As architecture expert in the iPraktikum by the ASE chair, I am using component diagrams to model subsystem decompositions. Unfortunately, Apollon offers no elements other than components making it impossible to create component diagrams following the UML standard. The workaround to reuse components to model subsystems is limited to naming and there has been no way to denote the stereotype ("role") of these elements, e.g. subsystem or component, which would be desired in subsystem decompositions and component diagrams in general.
Description
This change aims to improve the functionality of component diagrams in Apollon. It introduces a new element called "Subsystem", which follows the functionality of a component but has the corresponding stereotype subsystem. Furthermore components now also display their stereotype component above their name, following normal component diagrams guidelines.
Text in subsystems is generally top-aligned, while components use center alignment. Although the styling may be subject to customization for edge cases, such styling should be sufficient for all common use cases. This change deliberately also impacts components in deployment diagrams, as these should follow the same UML standard styling.
Steps for Testing
Screenshots
An example of a component diagram that is impossible to create with Apollon without this change:
The new sidebar with the changes:
Source for UML components / component diagrams
IBM - Component Diagrams