-
Notifications
You must be signed in to change notification settings - Fork 79
process: add DR-005 for independent feature delivery #2346
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
base: main
Are you sure you want to change the base?
Conversation
|
The created documentation from the pull request is available at: docu-html |
|
Generate HTML version of the DR: https://eclipse-score.github.io/score/pr-2346/design_decisions/DR-005-process.html |
| This creates the necessity to provide features as independent SEooC | ||
| units. Furthermore, the current repository structure does not allow | ||
| features to be released independently from the platform repository. | ||
|
|
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.
A lot here seems to depend on the understanding of "feature" and "module". Please, add a clear definition here.
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.
done
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.
I am sorry, but for me the "word definitions" are still unclear, especially if it comes to the version 2b. Sub-feature, sub-component. Hard to understand.
| "Integration Repo" ..> "Module Repo" : uses | ||
| "S-Core Repo" -[hidden]d- "Module Repo" | ||
| "Integration Repo" ..> "SW-Module Repo" : uses | ||
| "S-Core Repo" -[hidden]d- "SW-Module Repo" |
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.
S-CORE, as used allover the reset of the document
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.
done
6997d14 to
9cd5776
Compare
Add design decision to enable SCORE features as independent SEooC delivery units in dedicated repositories (incl. correction of review findings).
7c6de66 to
6eb33f3
Compare
aschemmel-tech
left a comment
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.
see inline comments
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| The platform artifacts are located in the S-CORE platform repository. | ||
| The feature artifacts are located in the SW module repository. |
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.
Please add something like "A SW module is no architecture element, just a “container” for work products to do a collective versioning/baseline. Especially it is not a component or a set of components as it is currently."
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.
See here, this is not quite correct, https://eclipse-score.github.io/process_description/main/general_concepts/score_building_blocks_concept.html#
Further the project provides Software Modules (red box, middle, 1st column), which can also be developed as a SEooC. A Software Module is defined as a Component (green box, middle, 2nd column) or a set of components realizing a Feature of the platform. In this sense a Software Module is the highest level component in our model. A Software Module represents e.g. executable code or a library.
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 formulation above was discussed and agreed in the meeting on Jan-13. It will need a modification to our current definition as you rightly point out.
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.
"SW module repository" should be replaced by "Delivery Container repository" - see metamodel https://eclipse-score.github.io/process_description/main/_images/score_building_blocks_meta_model.drawio.svg
|
For me this is highly coupled with #2400. My proposal would be to first decide the working model or at least to discuss both in one meeting |
…d prevent duplicates POC for eclipse-score/score#2346
POC for eclipse-score/score#2346 Replace local path override with git override using branch arsibo_dr_005_poc for score_platform dependency. This allows the build to work with remote branch after pushing.
…e module dependencies POC for eclipse-score/score#2346
POC for eclipse-score/score#2346 Replace local path override with git override using branch arsibo_dr_005_poc for score_platform dependency. This allows the build to work with remote branch after pushing.
POC for eclipse-score/score#2346 Add comprehensive architecture documentation with focus on architecture modeling: - Logging feature (mw-fr_logging) with feature architecture - Component architectures for: - data_router_recorder - datarouter - file_recorder - log_bridge - recorders Note: Documentation templates are not yet completely filled out. Further refinement and completion of templates is required in future iterations.
…ependencies POC for eclipse-score/score#2346 Replace local path overrides with git overrides using branch arsibo_dr_005_poc for: - score_docs_as_code - score_platform - score_baselibs - score_baselibs_rust This allows the build to work with remote branches after pushing.
…ependencies POC for eclipse-score/score#2346 Replace local path overrides with git overrides using branch arsibo_dr_005_poc for: - score_docs_as_code - score_platform - score_baselibs - score_baselibs_rust This allows the build to work with remote branches after pushing.
POC for eclipse-score/score#2346 Replace local path override with git override using branch arsibo_dr_005_poc for score_platform dependency. This allows the build to work with remote branch after pushing.
POC for eclipse-score/score#2346 Replace local path override with git override using branch arsibo_dr_005_poc for score_platform dependency. This allows the build to work with remote branch after pushing.
aschemmel-tech
left a comment
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.
Alternative 2b not approved
|
|
||
| Features bound to platform release cycle, split between platform | ||
| and modules | ||
| - **(+)** |
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 artifacts in the SW-platform are relevant for the "Feature SEooC" still, Stakeholder requirements are the "Assumed Technical Safety Requirements" which need to be mapped to the "System Requirements" of the User. And also the platform wide AoU are relevant and need to be covered by any Feature user. So you would still depend on one platform release version.
| * - Independence of Release / Topic Coherence (How independently can | ||
| features be released and how well are related artifacts kept | ||
| together?) | ||
| - **(-)** |
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.
In my understanding eclipse-score/tooling#95 proposes a way to produce all needed documentation for a SEooC within one module repo by using also artefacts defined in other used repos including the platform repo. So this would enable also staying with alternative 1.
aschemmel-tech
left a comment
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.
Comments added/revised based on discussions in process community
| :caption: Alternative 2: Dedicated Feature Repository Architecture | ||
|
|
||
|
|
||
| Alternative 2b: Feature in SW Module Repository with Sub-Features (System of Systems) |
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.
I would avoid to create a new level of architecture "Sub-Features" - because actually the reuse is done on component level. I.e. a feature is derived into internal and external component requirements and the external ones are linked to an external component (not feature) or matching external component requirements.
|
|
||
| .. uml:: _assets/DR-005-alternative_2c_simplified.puml | ||
| :caption: Alternative 2c: Hierarchical Feature Repository Architecture | ||
|
|
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.
In considering https://eclipse-score.github.io/score/pr-2560/design_decisions/DR-001-arch.html another alternative would be:
3 - feature artefacts are partly in platform repository and partly in module repository
this should support the intended development workflows
- platform repo contains "Feature", "Feature Requirements" and "Logical Arc. Interface" - this supports platform architecture modelling in "Consistent Stack" mode
- module repo contains "Feature Architecture" - as this is the decomposition into components which is a "module related" work, and also the "Feature Safety Analysis" and "Feature Integration Tests" verifying the Architecture.
Add design decision to enable SCORE features as independent SEooC delivery units in dedicated repositories.