-
Notifications
You must be signed in to change notification settings - Fork 65
WIP: first version of score book #1932
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 |
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.
Only comments, as author labeled it with needs-rework
| # SPDX-License-Identifier: Apache-2.0 | ||
| # ******************************************************************************* | ||
| How-Tos |
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.
Why is this not called Handbook directly?
docs/how_tos/score_book/index.rst
Outdated
| @@ -0,0 +1,16 @@ | |||
|
|
|||
| S-Core Book | |||
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 general we use in other documentation S-CORE (Big letters), the comment applies to the whole document
| ========================== | ||
|
|
||
| As it was already stated in the "Overview of the technologies" part, S-Core project consists of multiple | ||
| bazel modules, normally located in separate repositories. Majority of S-Core modules are part of S-Core |
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.
Bazel-Modules, according to our model Modules realized as Bazel-Modules
|
|
||
| S-Core module is the central part of the s-core project, where the software architecture is defined. Here you will find the list and explanation of the features, | ||
| that are provided by the S-Core platform, definition of the high level architecture, break down of the high level architecture to the modules | ||
| and the definition of the functionality (logical interfaces) for every module. |
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.
You miss here PMP, which defines the deployment of the Process Definition in process_description, Tool Lists, Design Decisions, and Requirements
| We automatically generate for every repository html documentation from rst files. | ||
| You can easily open it as shown at the picture (TODO: Link) | ||
|
|
||
| The process repository defines the S-Core process. It defines both general concepts and ideas of the S-Core software development process approach and |
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.
It defines Processes compliant to standards, a kind of Framework, Management System, independent from any tools. The PMP in the s-core repo documents, how they are deployed in S-CORE.
That's why it can also used for other projects outside S-CORE.
2018000 to
68b232e
Compare
6746b36 to
dd73027
Compare
| @@ -0,0 +1,181 @@ | |||
| <root> ([email protected]) | |||
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.
remove file?
35f802b to
31290aa
Compare
| -------------------------------------- | ||
| For documenting our project, for specifying requirements, assumptions of use, architecture, detailed design, tests | ||
| and further software process related artifacts we completely rely on sphinx and sphinx-needs technology. Additionally we extend sphinx-needs | ||
| implementation with additional checks to ensure traciability and compliance to the S-Core metamodel. The S-Core metamodel & traceability concept |
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.
typo, traceability
| allows to fix the problems directly on the implementation level and to ensure, that they will not happen in the future by always | ||
| reusing the same implementation. | ||
|
|
||
| - Another important aspect that normally comes up by the integration of the software stack, espeicially in ASIL relevant systems, is its quality |
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.
typo espeicially, especially, propose to replace ASIL with safety and security relevant
| S-Core modules follow this process, mainly by automated checks and in case not yet implemented, with help of manual reviews. The clear | ||
| goal is to specify only those parts of software development process, that also can be validated with automated checks in the future. | ||
|
|
||
| It is important to understand, that S-Core project is not a final product, that can be "out-of-the-box" integrated into the automotive series projects. |
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.
propose to replace ASIL with safety and security
| --------------- | ||
| GitHub Link: https://github.com/eclipse-score | ||
|
|
||
| S-Core module is the central part of the S-Core project, where the software architecture is defined. Here you will find the list and explanation of the features, |
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.
and not to forget the objectives in form of stakeholder requirements and the AoU for the platforms for the potential users
31290aa to
1ee9f59
Compare
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.
Pull Request Overview
This PR adds comprehensive "How-Tos" documentation for the Eclipse S-CORE project, including a tutorial-style guide called the "Eclipse S-CORE Book". It also updates a Python dependency and modifies some configuration files.
- Adds extensive documentation covering technology overview, architecture, module structure, integration process, and a sample application tutorial
- Updates
aspect_rules_pyfrom version 1.4.0 to 1.6.3 - Adds new lock files (uv.lock, dpex.txt) for dependency tracking
Reviewed Changes
Copilot reviewed 18 out of 29 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/how_tos/index.rst | Creates main index for How-Tos section |
| docs/how_tos/score_book/*.rst | Adds comprehensive tutorial documentation including introduction, technology overview, architecture, module structure, and integration process |
| docs/how_tos/score_book/sample_application/*.rst | Adds step-by-step tutorial for creating a sample S-CORE application |
| docs/index.rst | Links the new how_tos section to main documentation |
| MODULE.bazel | Updates aspect_rules_py dependency from 1.4.0 to 1.6.3 |
| .vscode/settings.json | Adds Python analysis path configuration |
| uv.lock, dpex.txt | Adds new dependency lock files |
| .clwb/.idea/vcs.xml | Updates IDE VCS configuration |
Files not reviewed (1)
- .clwb/.idea/vcs.xml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| pipeline is done via bazel. | ||
| Validation of requirements, generation of documentation, building source code, execution of unit- or integration tests, for everything | ||
| there is a bazel target in Eclipse S-CORE. Not going into very technical details, bazel is a modern build system, that allows hermetical and | ||
| reproduciable builds, that are for special importance for building safety systems, and additionally provides the possibility to extend |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'reproduciable' to 'reproducible'.
| reproduciable builds, that are for special importance for building safety systems, and additionally provides the possibility to extend | |
| reproducible builds, that are for special importance for building safety systems, and additionally provides the possibility to extend |
| multiple repositores, as you can see here (TODO: link to decision record). At the end, the decision was taken to proceed with multiple repositories. | ||
| The main reason for this, is that Eclipse S-CORE project should not only motivate software developers to work together on new solutions inside of Eclipse S-CORE | ||
| project but also empower to reuse as much as possible from already existing projects and this is easier to do with an approach, where every functionality | ||
| is encapsualted in its own repository. Such an approach has also disadvantages. First, the organizatorical approach of having so many teams working together. |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'encapsualted' to 'encapsulated'.
| is encapsualted in its own repository. Such an approach has also disadvantages. First, the organizatorical approach of having so many teams working together. | |
| is encapsulated in its own repository. Such an approach has also disadvantages. First, the organizatorical approach of having so many teams working together. |
| multiple repositores, as you can see here (TODO: link to decision record). At the end, the decision was taken to proceed with multiple repositories. | ||
| The main reason for this, is that Eclipse S-CORE project should not only motivate software developers to work together on new solutions inside of Eclipse S-CORE | ||
| project but also empower to reuse as much as possible from already existing projects and this is easier to do with an approach, where every functionality | ||
| is encapsualted in its own repository. Such an approach has also disadvantages. First, the organizatorical approach of having so many teams working together. |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'organizatorical' to 'organizational'.
| is encapsualted in its own repository. Such an approach has also disadvantages. First, the organizatorical approach of having so many teams working together. | |
| is encapsualted in its own repository. Such an approach has also disadvantages. First, the organizational approach of having so many teams working together. |
| let us now give it a try in the reference qnx image for the x86 platform. | ||
|
|
||
| Reference integration repository already provides a | ||
| `referance qnx image <https://github.com/eclipse-score/reference_integration/tree/main/qnx_qemu>`_. |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'referance' to 'reference'.
| `referance qnx image <https://github.com/eclipse-score/reference_integration/tree/main/qnx_qemu>`_. | |
| `reference qnx image <https://github.com/eclipse-score/reference_integration/tree/main/qnx_qemu>`_. |
| Reference integration repository already provides a | ||
| `referance qnx image <https://github.com/eclipse-score/reference_integration/tree/main/qnx_qemu>`_. | ||
|
|
||
| The reference QNX image is currently really rundimentary, providing minimal set of tooling in the IFS image (TODO: link to QNX IFS image desc). |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'rundimentary' to 'rudimentary'.
| The reference QNX image is currently really rundimentary, providing minimal set of tooling in the IFS image (TODO: link to QNX IFS image desc). | |
| The reference QNX image is currently really rudimentary, providing minimal set of tooling in the IFS image (TODO: link to QNX IFS image desc). |
| :align: center | ||
|
|
||
|
|
||
| Welcome to the Eclipse S-CORE project. As Eclipse S-CORE project is continiously developing, the decision was taken |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'continiously' to 'continuously'.
| Welcome to the Eclipse S-CORE project. As Eclipse S-CORE project is continiously developing, the decision was taken | |
| Welcome to the Eclipse S-CORE project. As Eclipse S-CORE project is continuously developing, the decision was taken |
|
|
||
| It is important to understand, that Eclipse S-CORE project is not a final product, that can be "out-of-the-box" integrated into the automotive series projects. | ||
| This has multiple reasons. First of all, Eclipse S-CORE is an open-source project, meaning there is no any commercial company behind this project, | ||
| that can be liable for anything. The strength of the Eclipse S-CORE project is that both its software development process and the corrensponding tooling |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'corrensponding' to 'corresponding'.
| that can be liable for anything. The strength of the Eclipse S-CORE project is that both its software development process and the corrensponding tooling | |
| that can be liable for anything. The strength of the Eclipse S-CORE project is that both its software development process and the corresponding tooling |
| -------------------------------------------------- | ||
|
|
||
| We do encourage every software module inside of the Eclipse S-CORE GitHub organization or also outside of it | ||
| to follow the Eclipse S-CORE development process continiously and introduce it by including approtiated checks into |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'approtiated' to 'appropriate'.
| to follow the Eclipse S-CORE development process continiously and introduce it by including approtiated checks into | |
| to follow the Eclipse S-CORE development process continiously and introduce it by including appropriate checks into |
| to follow the Eclipse S-CORE development process continiously and introduce it by including approtiated checks into | ||
| the CI/CD pipeline, so that compliance to the Eclipse S-CORE project is checked with every PR. But the fact is, that | ||
| we can not enforce this, even inside of the GitHub organization. This has various reasons. One reason could be, | ||
| that the software module already exists and is used in multiple other projecs. The other reason could be, that |
Copilot
AI
Nov 4, 2025
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.
Corrected spelling of 'projecs' to 'projects'.
| that the software module already exists and is used in multiple other projecs. The other reason could be, that | |
| that the software module already exists and is used in multiple other projects. The other reason could be, that |
| ] | ||
| ], | ||
| "python.analysis.extraPaths": [ | ||
| "./ubcode/lib/python3.12/site-packages" |
Copilot
AI
Nov 4, 2025
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.
Path appears to contain a typo: 'ubcode' should likely be 'vscode' or '.venv'. This will likely cause the Python analysis path to fail.
| "./ubcode/lib/python3.12/site-packages" | |
| "./.venv/lib/python3.12/site-packages" |
1f962f5 to
9af78a9
Compare
Very first draft, work in progress
direct link: https://eclipse-score.github.io/score/pr-1932/how_tos/score_book/introduction.html