|
| 1 | +.. |
| 2 | + # ******************************************************************************* |
| 3 | + # Copyright (c) 2025 Contributors to the Eclipse Foundation |
| 4 | + # |
| 5 | + # See the NOTICE file(s) distributed with this work for additional |
| 6 | + # information regarding copyright ownership. |
| 7 | + # |
| 8 | + # This program and the accompanying materials are made available under the |
| 9 | + # terms of the Apache License Version 2.0 which is available at |
| 10 | + # https://www.apache.org/licenses/LICENSE-2.0 |
| 11 | + # |
| 12 | + # SPDX-License-Identifier: Apache-2.0 |
| 13 | + # ******************************************************************************* |
| 14 | +
|
| 15 | +S-CORE Platform v0.5-alpha release note |
| 16 | +======================================= |
| 17 | + |
| 18 | +.. document:: S-Core v0.5-alpha release note |
| 19 | + :id: doc__score_v05_alpha_release_note |
| 20 | + :status: valid |
| 21 | + :safety: ASIL_B |
| 22 | + :security: YES |
| 23 | + :realizes: wp__platform_sw_release_note |
| 24 | + |
| 25 | +| **Platform Name**: S-CORE |
| 26 | +| **Release Tag**: v0.5.0-alpha |
| 27 | +| **Origin Release Tag**: none - first published release |
| 28 | +| **Release Date**: 2025-11-17 |
| 29 | +
|
| 30 | +Overview |
| 31 | +^^^^^^^^^ |
| 32 | +This is the first published release of the **Eclipse S-CORE platform** (v0.5.0-alpha). It brings |
| 33 | +together the initial set of core modules, reference integrations, and supporting infrastructure needed to |
| 34 | +build and run example applications such as the `scrample <https://github.com/eclipse-score/scrample>`_ |
| 35 | +demo on multiple target images. The software architecture and implemented modules are illustrated in the diagram below. |
| 36 | + |
| 37 | +This release of Eclipse S-CORE is an early alpha version intended solely for experimentation, test driving project processes, gaining experience in release creation and soliciting feedback. |
| 38 | +Please be aware, that features may be incomplete, the software may exhibit instability or unexpected behavior, and breaking changes and alterations in scope are likely as development progresses. |
| 39 | + |
| 40 | + |
| 41 | +.. image:: _assets/architecture.drawio.svg |
| 42 | + :width: 1000 |
| 43 | + :alt: Architecture overview |
| 44 | + :align: center |
| 45 | + |
| 46 | +| |
| 47 | +
|
| 48 | +Highlights |
| 49 | +----------- |
| 50 | +- First public alpha of the Eclipse S-CORE platform. |
| 51 | +- Reference integration including the *scrample* demo application. |
| 52 | +- Initial set of communication, persistency, orchestration, and base utility modules. |
| 53 | +- Experimental reference images for QNX, Red Hat AutoSD Linux, and EB corbos Linux for Safety Applications. |
| 54 | + |
| 55 | +Eclipse S-CORE book |
| 56 | +------------------- |
| 57 | +The first version of the `Eclipse S-CORE book <https://eclipse-score.github.io/score/main/handbook/index.html>`_ |
| 58 | +is a “how-to” guide for users getting started with the project. |
| 59 | +It introduces the core concepts of Eclipse S-CORE and walks through building |
| 60 | +the ``scrample`` application step by step on top of the platform modules. |
| 61 | + |
| 62 | +Improvements |
| 63 | +^^^^^^^^^^^^^ |
| 64 | +This release introduces the initial integrated platform with the modules listed below. |
| 65 | +For module-specific improvements, refer to the release notes in each module repository. |
| 66 | + |
| 67 | +Bug Fixes |
| 68 | +^^^^^^^^^^^^ |
| 69 | +Bug fixes are tracked and documented per module. Please see the corresponding module |
| 70 | +release notes for details on fixed issues in this release. |
| 71 | + |
| 72 | +Integrated Software Modules |
| 73 | +----------------------------- |
| 74 | + |
| 75 | +Communication |
| 76 | +~~~~~~~~~~~~~ |
| 77 | +Zero-copy, shared-memory based inter-process communication for minimal-latency intra-ECU messaging. |
| 78 | + |
| 79 | +- **Version:** ``communication v0.1.1`` |
| 80 | +- **Source / tag:** `Communication GitHub release <https://github.com/eclipse-score/communication/archive/refs/tags/v0.1.1.tar.gz>`_ |
| 81 | +- **Release notes:** :need:`doc__communication_release_note` |
| 82 | + |
| 83 | +Fixed Execution Order Framework(FEO) |
| 84 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 85 | +Application Framework which is intended to support data-driven or time-driven applications. |
| 86 | + |
| 87 | +- **Link to release**: ``feo v1.0.2`` |
| 88 | +- **Source / tag:** `FEO GitHub release <https://github.com/eclipse-score/feo/releases/tag/v1.0.2>`_ |
| 89 | +- **Release notes**: |
| 90 | + - A framework for applications (not for platform services) |
| 91 | + - For data-driven and time-driven applications (mainly in the ADAS domain) |
| 92 | + - Support fixed execution order |
| 93 | + - Supporting reprocessing |
| 94 | + |
| 95 | + - `Read more on scope. <https://eclipse-score.github.io/score/main/features/frameworks/feo/index.html>`__ |
| 96 | + - `Check out the examples. <https://github.com/eclipse-score/feo/tree/main/examples>`__ |
| 97 | + |
| 98 | +Baselibs |
| 99 | +~~~~~~~~~~~~~ |
| 100 | +Selection of basic C++ utility libraries for common use in the S-CORE project |
| 101 | + |
| 102 | +- **Version:** ``baselibs v0.1.3`` |
| 103 | +- **Source / tag:** `Baselibs GitHub release <https://github.com/eclipse-score/baselibs/archive/refs/tags/v0.1.3.tar.gz>`_ |
| 104 | +- **Release notes**: `Baselibs release notes <https://github.com/eclipse-score/baselibs/releases/tag/v0.1.3>`_ |
| 105 | + |
| 106 | + |
| 107 | +Persistency |
| 108 | +~~~~~~~~~~~~~ |
| 109 | +Ensures long-term storage and retrieval of data and provides a reliable mechanism for |
| 110 | +preserving application state and data integrity over time. |
| 111 | + |
| 112 | +- **Version:** ``persistency v0.2.1`` |
| 113 | +- **Source / tag:** `Persistency GitHub release <https://github.com/eclipse-score/persistency/archive/refs/tags/v0.2.1.tar.gz>`_ |
| 114 | +- **Notes**: |
| 115 | + |
| 116 | + - `The feature requirements and architecture <https://eclipse-score.github.io/score/main/features/persistency/index.html>`_ and |
| 117 | + `component requirements and architecture <https://eclipse-score.github.io/score/main/modules/persistency/index.html>`_ documents are partially out of date |
| 118 | + and will be updated in the next release. |
| 119 | + - See the full `persistency release notes <https://github.com/eclipse-score/persistency/releases/tag/v0.2.1>`_ for details |
| 120 | + |
| 121 | + |
| 122 | +Orchestrator (Kyron and orchestration framework) |
| 123 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 124 | +Provides: |
| 125 | + |
| 126 | +- **Kyron** – an async runtime for Rust, designed for high-performance async/await execution |
| 127 | + with functional safety in mind. It offers fine-grained control over scheduling, thread management, |
| 128 | + and workload isolation via configurable execution engines. |
| 129 | +- **Orchestrator** – a framework to build task chains with deterministic execution flow. |
| 130 | + It lets developers describe cause–effect chains, timing constraints, and error handling in a |
| 131 | + platform-independent way while keeping application logic separate from deployment and |
| 132 | + resource management. |
| 133 | + |
| 134 | +- **Version:** ``orchestrator v0.0.3`` |
| 135 | +- **Source / tag:** `Orchestrator GitHub release <https://github.com/eclipse-score/orchestrator/archive/refs/tags/v0.0.3.tar.gz>`_ |
| 136 | +- **Further reading**: |
| 137 | + |
| 138 | + - `Kyron scope and design <https://github.com/eclipse-score/orchestrator/blob/main/src/kyron/doc/features.md>`__ |
| 139 | + - `Kyron examples <https://github.com/eclipse-score/orchestrator/tree/main/src/kyron/examples>`__ |
| 140 | + - `Orchestrator scope and design <https://github.com/eclipse-score/orchestrator/blob/main/src/kyron/doc/features.md>`__ |
| 141 | + - `Orchestrator examples <https://github.com/eclipse-score/orchestrator/tree/main/src/kyron/examples>`__ |
| 142 | + |
| 143 | + |
| 144 | +Reference integration |
| 145 | +~~~~~~~~~~~~~~~~~~~~~~ |
| 146 | +Central integration of Eclipse S-CORE modules |
| 147 | + |
| 148 | +- **Version:** ``reference integration v0.5.0-alpha`` |
| 149 | +- **Source / tag:** `Reference Integration GitHub release <https://github.com/eclipse-score/reference_integration/releases/tag/v0.5.0-alpha>`_ |
| 150 | + |
| 151 | +Common |
| 152 | ++++++++ |
| 153 | +- Integrates all v0.5 modules, including the ``scrample`` demo application. |
| 154 | +- Provides CI/CD workflows to ensure stability of the reference integration: |
| 155 | + |
| 156 | + - `Build and test on every PR <https://github.com/eclipse-score/reference_integration/blob/main/.github/workflows/build_and_test_on_every_pr.yml>`_ |
| 157 | + - `Test integration <https://github.com/eclipse-score/reference_integration/blob/main/.github/workflows/test_integration.yml>`_ |
| 158 | + build all functional modules of Eclipse S-Core v0.5 and execute multiple tests to ensure stability of the reference integration for every pr and on every release creation. |
| 159 | + - Offers `complete documentation <https://eclipse-score.github.io/reference_integration/main/>`_ of all modules. |
| 160 | + |
| 161 | +Reference QNX image |
| 162 | ++++++++++++++++++++++ |
| 163 | +- Provides a QNX `x86_64` QEMU image; see `reference integration README <https://github.com/eclipse-score/reference_integration/blob/main/qnx_qemu/README.md>`_ |
| 164 | + for usage instructions. |
| 165 | +- `Release verification workflow <https://github.com/eclipse-score/reference_integration/blob/main/.github/workflows/release_verification.yml>`_ runs multiple integration tests |
| 166 | + on the QNX image during release creation. |
| 167 | +- Provides `basic ITF tests <https://github.com/eclipse-score/reference_integration/tree/main/qnx_qemu/test/itf>`_. |
| 168 | + see the documented `build commands <https://github.com/eclipse-score/reference_integration/tree/main/qnx_qemu#build-commands>`_ for running ITF tests locally. |
| 169 | + |
| 170 | +Reference Red Hat AutoSD Linux image (Experimental) |
| 171 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| 172 | +- Provides a Linux-based AutoSD image usable with QEMU for both `x86_64` and `aarch64`; for usage see `AutoSD README <https://github.com/eclipse-score/reference_integration/tree/main/autosd/build>`_ |
| 173 | +- Integrates IPC tests (equivalent functionality to the ``scrample`` example) using the QM environment. |
| 174 | +- A dedicated `build_and_test_autosd <https://github.com/eclipse-score/reference_integration/blob/main/.github/workflows/build_and_test_autosd.yml>`_ execute these tests. |
| 175 | +- **Note**: The AutoSD Linux integration is experimental and does not yet follow the full S-CORE process. Bazel integration is still missing and will be |
| 176 | + addressed in upcoming releases. |
| 177 | + |
| 178 | +Reference Elektrobit corbos Linux for Safety Applications Linux image (Experimental) |
| 179 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| 180 | +- Demonstrates Eclipse S-CORE running on Elektrobit corbos Linux for Safety Applications (EBcLfSA). |
| 181 | +- Integrates the ``scrample`` demo application into the "fast-dev" EBcLfSA image (aarch64). |
| 182 | +- In the `related CI workflow <https://github.com/eclipse-score/reference_integration/blob/main/.github/workflows/build_and_test_ebclfsa.yml>`_, |
| 183 | + all these steps are performed, and the resulting log files are stored and made available for download. |
| 184 | +- Integration can be executed via QEMU; see the `EBcLfSA README <https://github.com/eclipse-score/reference_integration/blob/main/ebclfsa/README.md>`_ for details. |
| 185 | +- **Note**: The EBcLfSA integration is experimental. Bazel integration exists, but parts of the integration code will be reworked in future releases. |
| 186 | + |
| 187 | +Associated Infrastructure Modules |
| 188 | +----------------------------------- |
| 189 | + |
| 190 | +process_description |
| 191 | +~~~~~~~~~~~~~~~~~~~~~~~ |
| 192 | +Provides a process model establishing organisational rules for developing open source software |
| 193 | +in the automotive domain, suitable for safety and security contexts. |
| 194 | + |
| 195 | +- **Version:** ``process description v0.1.3`` |
| 196 | +- **Standards alignment:** |
| 197 | + |
| 198 | + - ASPICE 4.0 |
| 199 | + - ISO 26262 |
| 200 | + - ISO 21434 |
| 201 | + - ISO PAS 8926 |
| 202 | + |
| 203 | +- **Release notes**: `process_description release notes <https://github.com/eclipse-score/process_description/releases/tag/v1.3.0>`_ |
| 204 | + |
| 205 | +docs-as-code |
| 206 | +~~~~~~~~~~~~~~ |
| 207 | +Tooling for linking and generation of documentation. |
| 208 | + |
| 209 | +- **Version:** ``docs-as-code v2.0.2`` |
| 210 | +- **Source / tag:** `docs-as-code GitHub release <https://github.com/eclipse-score/docs-as-code/releases/tag/v2.0.1>`_ |
| 211 | + |
| 212 | +tooling |
| 213 | +~~~~~~~~~~~~~~ |
| 214 | +Tooling for S-CORE development. |
| 215 | + |
| 216 | +- **Version:** ``tooling v1.0.2`` |
| 217 | +- **Source / tag:** `tooling GitHub release <https://github.com/eclipse-score/tooling/releases/tag/v1.0.2>`_ |
| 218 | + |
| 219 | +ITF (Integration Testing Framework) |
| 220 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 221 | +Framework for executing feature integration tests on the reference image. |
| 222 | + |
| 223 | +- **Version:** ``itf v0.1.0`` |
| 224 | +- **Source / tag:** `ITF GitHub release <https://github.com/eclipse-score/itf/archive/refs/tags/0.1.0.tar.gz>`_ |
| 225 | +- **Capabilities:** |
| 226 | + - Bazel macro *py_itf_test* |
| 227 | + - Pinging target |
| 228 | + - SSH and SPTP module |
| 229 | + - DLT module |
| 230 | + - Starting Qemu from the `reference_integration <https://github.com/eclipse-score/reference_integration/tree/main/qnx_qemu>`_ repository |
| 231 | + - **Documentation:** |
| 232 | + - `ITF README <https://github.com/eclipse-score/itf/blob/main/README.md>`_ |
| 233 | + - `reference_integration README <https://github.com/eclipse-score/reference_integration/blob/main/qnx_qemu/README.md#build-commands>`_ |
| 234 | + |
| 235 | +Test Scenarios |
| 236 | +~~~~~~~~~~~~~~~ |
| 237 | +Testing framework providing a backend for parametrizable scenarios in Rust and C++, usable in |
| 238 | +common test case implementations and parallel implementations. |
| 239 | + |
| 240 | +- **Version:** ``test_scenarios v0.3.0`` |
| 241 | +- **Source / tag:** `Test Scenarios <https://github.com/eclipse-score/testing_tools/archive/refs/tags/v0.3.0.tar.gz>`_ |
| 242 | +- **Components:** |
| 243 | + - ``test_scenarios_cpp`` – C++ framework for defining, running, and managing test scenarios. |
| 244 | + - ``test_scenarios_rust``– equivalent implementation in Rust. |
| 245 | +- Both frameworks share the same concepts and support automated testing, scenario grouping, |
| 246 | + and integration with CLI tools. |
| 247 | + |
| 248 | +Performed Verification |
| 249 | +---------------------- |
| 250 | +The following tests were executed as part of this release: |
| 251 | + |
| 252 | +- All C++ modules built successfully with GCC and QCC toolchains. |
| 253 | +- All Rust modules built successfully with the Rust toolchain. |
| 254 | +- Each module executed its unit tests. |
| 255 | +- Basic integration tests were executed on the reference QNX image in QEMU via the |
| 256 | + `release verification <https://github.com/eclipse-score/reference_integration/blob/37aa2fc1409f6907bf5d9f3c2643489bb937f90e/.github/workflows/release_verification.yml#L56>`_ workflow |
| 257 | +- for **persistency** and **orchestration** modules, component and feature integration tests were executed using the ``score-test-scenarios`` framework; see |
| 258 | + `feature_showcase <https://github.com/eclipse-score/reference_integration/tree/main/feature_showcase>`_ and |
| 259 | + `feature_integration_tests <https://github.com/eclipse-score/reference_integration/tree/main/feature_integration_tests>`_ for more details. |
| 260 | + |
| 261 | +Known Issues |
| 262 | +---------------------- |
| 263 | +- see release notes of every module seperately |
| 264 | + |
| 265 | +Upgrade Instructions |
| 266 | +---------------------- |
| 267 | +- none, first published release. |
| 268 | + |
| 269 | +Contact Information |
| 270 | +---------------------- |
| 271 | +For any questions or support, please contact the *Project lead* or raise an issue/discussion. |
0 commit comments