Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 5 additions & 8 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,6 @@ Welcome & Overview

**Welcome to the Software documentation of the SCORE project.**

If this is the first time you get in touch with SCORE, the `SCORE main page <https://eclipse-score.github.io/>`__
may be a good starting point to receive first insights of the project itself.

Introduction
~~~~~~~~~~~~

Expand All @@ -56,21 +53,21 @@ Introduction
^^^
The project develops an open source core stack for Software Defined Vehicles (SDVs),
targeting embedded high-performance Electronic Control Units (ECUs).
Check our `Scope <https://eclipse-score.github.io/#scope>`_ for details.
Check our :ref:`Scope <introduction_scope>` for details.

.. grid-item-card::

Project Status
^^^
Check out our roadmap to see the project's key milestones and features we have planned.
`Click here to explore! <https://eclipse-score.github.io/index.html#roadmap>`_
:ref:`Click here to explore! <introduction_roadmap>`

.. grid-item-card::

How to Contribute?
^^^
The only way to influence Eclipse SCORE is to contribute - SCORE is open! Please check our
`Get Involved <https://eclipse-score.github.io/get_involved.html>`_ guide for more
:ref:`Get Involved <introduction_get_involved>` guide for more
information.


Expand All @@ -84,7 +81,7 @@ Software artifacts

Requirements
^^^
Analyse :ref:`Stakeholder <stakeholder_requirements>` or :ref:`Tool <tool_requirements>` requirements for
Analyze :ref:`Stakeholder <stakeholder_requirements>` requirements for
the work with and implementation inside SCORE.
Or get the complete picture on the :ref:`requirements` page.

Expand Down Expand Up @@ -133,11 +130,11 @@ Project structure and processes
.. toctree::
:maxdepth: 1

introduction/index
requirements/index
features/index
contribute/index
Releases <score_releases/index.rst>
process/index
PMP <platform_management_plan/index.rst>
SCORE <https://eclipse-score.github.io>
Eclipse <https://projects.eclipse.org/projects/automotive.score>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/introduction/_assets/score_roadmap.drawio.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
75 changes: 75 additions & 0 deletions docs/introduction/get_involved.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
..
# *******************************************************************************
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

.. _introduction_get_involved:

Get involved
============

How to get in contact with S-CORE
---------------------------------

If you want to get into contact with S-CORE, these are your primary entry points:

:Project Mailing List: score-dev@eclipse.org

:Architectural Discussion: `#score-project-channel-public <https://sdvworkinggroup.slack.com/archives/C083Z4VL90B>`__

| **General Information / Alignment regarding S-CORE as a basis for distributions & products:**
| Contact one of the project leads of S-CORE https://projects.eclipse.org/projects/automotive.score/who

The technical HOWTO regarding involvement into S-CORE is described here:
https://github.com/eclipse-score/score/blob/main/CONTRIBUTION.md

How to get involved into S-CORE
-------------------------------

The only way to influence S-CORE is TO CONTRIBUTE. Everybody can :ref:`contribute <contribute>` – S-CORE is open.

Active Contributions to the S-CORE project are the basis for getting involved. The S-CORE Project works according to
the Eclipse Project Handbook and has named and elected project leads and committers (see https://projects.eclipse.org/projects/automotive.score/who).
Direction of the S-CORE project is discussed and decided in the project lead circle, technical direction is created and upfront in the tech
lead circle. Meeting notes are transparent via the S-CORE github organization. (see https://github.com/orgs/eclipse-score/discussions)

We aim to build a safety ready full stack architecture, where components fit to each other in
automotive grade Software Quality and performance. To achieve this, we follow a strict
:ref:`feature roadmap and architecture <releases>`
and a :ref:`rigid software development process <process_description>`
(currently under development).

Contributions to the S-CORE project must therefore follow the technical direction of the project and the S-CORE
architecture. All work in S-CORE will therefore follow a
:need:`Contribution Request Guideline <gd_guidl__contr_request_guideline>`.
Features on the roadmap of S-CORE are defined, Contribution Requests create the basis for individual contributions from
within the S-CORE project and also from the outside.

You can make proposals for new features or architectural building blocks besides the active contribution requests.
Those will not by default be part of the next release of S-CORE, because the S-CORE release roadmap will strictly
comply with the contribution request structure.
We plan to have the initial contribution request structure available in the S-CORE GitHub until Q1 / 2025.

We plan to incorporate a staging area for such contributions, but
in the initial phase of the S-CORE project (until end of 2025) the focus will be primarily on building a valid 1.0
release. Feel free to reach out via the communication channels above.

If you think about your contribution to S-CORE, the `Feature Request overview <https://github.com/orgs/eclipse-score/projects/4/views/1>`_
is the best place to start.

Based on successful code contributions to the S-CORE roadmap, further steps in involvement (like becoming a committer)
will be handled according to the rules of the Eclipse Foundation Project Handbook.
We value real code based collaboration and will judge new potential contributors and committers mainly on the validity of their work.
Active and sustaining contributions are the basis for the ability to shape S-CORE.

Making active code contributions via the contribution request process described in the
:need:`Contribution Request Guideline <gd_guidl__contr_request_guideline>`.
165 changes: 165 additions & 0 deletions docs/introduction/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
..
# *******************************************************************************
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

.. _introduction:

Introduction
============

Background
----------

With the upcoming of central EE architectures in vehicles, computing power has been upgraded on few central components called 'High Performance Computers' or HPC. Together with these computing units comes an upgrade of operating systems towards multi-threaded schedulers with memory and resource separation in processes. There is a gap between these operating systems and the application layer that requires a common interface with functions and features for applications and application domains. The sum of these common and domain-agnostic functions is generally called "Middleware". The project uses the term "Core Software Stack" for this kind of functionality in differentiation to domain specific software stacks.

.. _introduction_scope:

Scope
-----

The scope of this project is the development of an open source core stack for Software Defined Vehicles (SDVs), specifically targeting embedded high-performance Electronic Control Units (ECUs).

Safe Open Vehicle Core is targeting to be the non-differentiating core of a software stack running on HPC ECUs of a software-defined vehicle. Consequently, this project's scope are the "inner layers" of such a stack between a hardware abstraction as its 'lower bound', 'southbound interface' and a platform API towards vehicle function applications as its 'upper bound', 'northbound interface'.

Out of scope are said applications running on this stack (those carry the differentiating aspects covered by adopters of the stack). As well out of scope are any aspects related to a concrete hardware target, which will be freely chosen by each adopter individually, as per the needs of and as they see fit with their vehicle architecture — except support for a potential reference hardware. Furthermore, any off-board functionality (e.g. cloud services) is considered out of scope. Looking beyond mere implementations in code, the project very well considers establishing concepts and implementations of processes, or a "way of doing things", or best practices to be in scope — but only as long as it pertains to making code fit for automotive grade.

Guiding Principles
------------------
The project aims to BUILD THE BEST AUTOMOTIVE RUNTIME SOLUTION ONLY ONCE. To achieve this, it is guided by several key principles.

Common Stack & Industry-Wide Collaboration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The Safe Open Vehicle Core project aims to create a common full stack solution of a software runtime that serves as the best possible solution for shared industry problems. By achieving efficiencies through a single, joint solution instead of multiple specific ones, the project addresses non-differentiating scopes and ensures that the scope is significant for multiple parties, rather than catering to singular interests.

Speed
^^^^^

The project accelerates development by working in open source, focusing on code-centric and iterative methods rather than primarily on textual specifications.

Abstraction and Extensibility
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The project emphasizes the decoupling of hardware (HW) and software (SW), ensuring that applications do not depend on specific hardware characteristics. It establishes predetermined breaking points to enable the exchange of implementations of individual layers, aspects, and components, such as ECU communication protocols. Additionally, it focuses on enabling project-specific extensions of the stack, providing a flexible framework that can be customized and extended to meet the specific requirements of different projects.

Quality & Efficiency
^^^^^^^^^^^^^^^^^^^^

The Safe Open Vehicle Core project aims for a lean, no-frills solution to lower complexity and increase efficiency. The project strives for support of modern implementation paradigms and languages like Rust or C++, uses human-readable specification languages that are domain and target-driven, and avoids complex exchange data formats. It seeks the optimal balance between modularity and resource consumption and follows state-of-the-art processes to develop safe and secure software in an open source environment.



By achieving these goals and adhering to these key principles, the Safe Open Vehicle Core Project aims to deliver a versatile, safe and secure core stack that supports the evolving needs of the automotive industry and accelerates the adoption of software-defined vehicle technologies.

Architecture
------------

The following figures show a draft version of the planned architecture of the core stack. The architecture will be refined further as part of the project.

High Level View on the Core Stack
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The following high level architecture picture gives you an overview of the main platform building blocks
including hardware specific peripherals.

.. image:: _assets/score_architecture_high_level_overview.png
:width: 900
:alt: High level view on the core stack
:align: center

Target Picture of Core Stack - PRELIMINARY
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The following image shows platform architecture in more details including surroundings as
Board support package (BSP) and HW specific.

.. image:: _assets/score_architecture_core_stack_target_picture.png
:width: 900
:alt: Target picture the core stack (preliminary)
:align: center

.. _introduction_roadmap:

Roadmap
-------

Here you can find the preliminary roadmap of the project:

.. image:: _assets/score_roadmap.drawio.svg
:alt: project roadmap
:align: center

Please be aware, that the roadmap is transferred to and maintained in the `GitHub project <https://github.com/orgs/eclipse-score/projects/13/views/2>`_.
Please follow this link to get the latest state of the planning.

MVP Phase
^^^^^^^^^

The main goals of the *MVP Phase* are following:

* establish a working infrastructure, that enables every developer of the project to specify
requirements and architecture, implement code and test it accordingly.
* set-up project structure, that covers all aspects of the open source software development including
cooperation between developers and teams, planning, creation of the roadmap and coordination meetings.
* define a software development process compliant to ISO 26262:2018, that is a pre-requisite for any other software development in the project.

A lot of preparation was already done in the background, therefore we are quite optimistic to finish the *MVP Phase*
latest in the beginning of 2025.

Alignment Phase
^^^^^^^^^^^^^^^

In the *Alignment Phase* the main goal is to align on the feature architecture and requirements of the *S-CORE Platform v1.0*.
Additionally it is important to define the roadmap and the order, in which the features should be implemented.

Development Phase
^^^^^^^^^^^^^^^^^

The *Development Phase* is the phase, where the implementation of the main modules of the platform should happen.
The most important milestone here is the *Release v0.5*, that should contain the basic modules, e.g *IPC*.
The *Release v0.5* milestone will show, whether previously defined software development process will work and how big is the acceptance and
the interest of the automotive community to the project.

Series Stability & Evolution Phase
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

In this phase the project should be in an well established state and accepted by the community. Continuous development
of the features is taking place.

How we Work
-----------

Meetings
^^^^^^^^

Regular meetings (and corresponding meeting minutes) are held as part of the project:

- `Teams & Circles <https://github.com/orgs/eclipse-score/discussions>`_

Typically teams and circles meet weekly.

A public meeting calendar for the *S-CORE* project is in preparation.

Partners
^^^^^^^^

The people working in this project are listed `here <https://projects.eclipse.org/projects/automotive.score/who>`_.


How to contribute
^^^^^^^^^^^^^^^^^

.. toctree::
:maxdepth: 1

get_involved.rst