diff --git a/.bazelrc b/.bazelrc
new file mode 100644
index 0000000..b98fc09
--- /dev/null
+++ b/.bazelrc
@@ -0,0 +1 @@
+test --test_output=errors
diff --git a/.bazelversion b/.bazelversion
new file mode 100644
index 0000000..ba7f754
--- /dev/null
+++ b/.bazelversion
@@ -0,0 +1 @@
+7.4.0
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 0000000..0da4dea
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,6 @@
+# Comment out as not in score yet
+# * @eclipse-score/automotive-score-committers
+# .github @eclipse-score/automotive-score-committers
+
+# docs @eclipse-score/automotive-score-committers
+
diff --git a/.github/ISSUE_TEMPLATE/bug_fix.md b/.github/ISSUE_TEMPLATE/bug_fix.md
new file mode 100644
index 0000000..43ba081
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_fix.md
@@ -0,0 +1,13 @@
+---
+name: Bugfix
+about: 'Issue to track a bugfix'
+title: 'Bugfix: Your bugfix title'
+labels: 'codeowner_review'
+assignees: ''
+
+---
+
+> [!IMPORTANT]
+> Make sure to link this issue with the PR for your bugfix.
+
+
diff --git a/.github/ISSUE_TEMPLATE/improvement.md b/.github/ISSUE_TEMPLATE/improvement.md
new file mode 100644
index 0000000..fd2c171
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/improvement.md
@@ -0,0 +1,11 @@
+---
+name: Improvement
+about: 'Issue to track a improvement'
+title: 'Improvement: Your improvement title'
+labels: 'codeowner_review'
+assignees: ''
+
+---
+
+> [!IMPORTANT]
+> Make sure to link this issue with the PR for your improvement.
diff --git a/.github/PULL_REQUEST_TEMPLATE/bug_fix.md b/.github/PULL_REQUEST_TEMPLATE/bug_fix.md
new file mode 100644
index 0000000..8341f51
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/bug_fix.md
@@ -0,0 +1,19 @@
+# Bugfix
+
+> [!IMPORTANT]
+> Use this template only for bugfixes that do not influence topics covered by contribution requests or improvements.
+
+> [!CAUTION]
+> Make sure to submit your pull-request as **Draft** until you are ready to have it reviewed by the Committers.
+
+## Description
+
+[A short description of the bug being fixed by the contribution.]
+
+## Related ticket
+
+> [!IMPORTANT]
+> Please replace `[ISSUE-NUMBER]` with the issue-number that tracks this bug fix. If there is no such
+> ticket yet, create one via [this issue template](../ISSUE_TEMPLATE/new?template=bug_fix.md).
+
+closes [ISSUE-NUMBER] (bugfix ticket)
diff --git a/.github/PULL_REQUEST_TEMPLATE/improvement.md b/.github/PULL_REQUEST_TEMPLATE/improvement.md
new file mode 100644
index 0000000..090ad43
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE/improvement.md
@@ -0,0 +1,19 @@
+# Improvement
+
+> [!IMPORTANT]
+> Use this template only for improvement that do not influence topics covered by contribution requests or bug fixes.
+
+> [!CAUTION]
+> Make sure to submit your pull-request as **Draft** until you are ready to have it reviewed by the Committers.
+
+## Description
+
+[A short description of the improvement being addressed by the contribution.]
+
+## Related ticket
+
+> [!IMPORTANT]
+> Please replace `[ISSUE-NUMBER]` with the issue-number that tracks this bug fix. If there is no such
+> ticket yet, create one via [this issue template](../ISSUE_TEMPLATE/new?template=improvement.md).
+
+closes [ISSUE-NUMBER] (improvement ticket)
diff --git a/.github/actions/gitlint/action.yml b/.github/actions/gitlint/action.yml
new file mode 100644
index 0000000..d1a190c
--- /dev/null
+++ b/.github/actions/gitlint/action.yml
@@ -0,0 +1,21 @@
+name: "Gitlint Action"
+description: "An action to install and run Gitlint on PR commits"
+inputs:
+ pr-number:
+ description: "Pull Request number used to fetch commits"
+ required: true
+ base-branch:
+ description: "Base branch to compare commits against (default: origin/main)"
+ default: "origin/main"
+ required: false
+runs:
+ using: "docker"
+ image: "jorisroovers/gitlint:0.19.1"
+ entrypoint: /bin/sh
+ args:
+ - -c
+ - |
+ git config --global --add safe.directory /github/workspace && \
+ git fetch origin +refs/heads/main:refs/remotes/origin/main && \
+ git fetch origin +refs/pull/${{ inputs.pr-number }}/head && \
+ gitlint --commits origin/main..HEAD
diff --git a/.github/workflows/copyright.yml b/.github/workflows/copyright.yml
new file mode 100644
index 0000000..4315b26
--- /dev/null
+++ b/.github/workflows/copyright.yml
@@ -0,0 +1,17 @@
+name: Copyright checks
+on:
+ pull_request:
+ types: [opened, reopened, synchronize]
+ merge_group:
+ types: [checks_requested]
+jobs:
+ copyright-check:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4.2.2
+ - name: Setup Bazel
+ uses: bazel-contrib/setup-bazel@0.9.1
+ - name: Run copyright checks
+ run: |
+ bazel run //:copyright.check
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 0000000..2959f5d
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,60 @@
+name: Documentation build
+on:
+ pull_request:
+ types: [opened, reopened, synchronize]
+ push:
+ branches:
+ - main
+ merge_group:
+ types: [checks_requested]
+jobs:
+ docs-build:
+ runs-on: ubuntu-latest
+ permissions:
+ pull-requests: write
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4.2.2
+ - name: Setup Bazel
+ uses: bazel-contrib/setup-bazel@0.9.1
+ - name: Build documentation
+ run: |
+ bazel build //docs:github-pages && cp bazel-bin/docs/github-pages.tar .
+ - name: Upload artifact for deployment
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: github-pages
+ path: ${{ github.workspace }}/github-pages.tar
+ retention-days: 1
+ if-no-files-found: error
+ - name: Upload artifact for pull request link
+ if: github.event_name == 'pull_request'
+ id: upload-artifact-pr
+ uses: actions/upload-artifact@v4.4.0
+ with:
+ name: github-pages-${{ github.sha }}
+ path: ${{ github.workspace }}/github-pages.tar
+ retention-days: 1
+ if-no-files-found: error
+ - name: Comment artifact URL
+ if: github.event_name == 'pull_request'
+ run: |
+ gh pr comment ${{ github.event.pull_request.number }} \
+ --body "Documentation artifact: ${{ steps.upload-artifact-pr.outputs.artifact-url }}"
+ env:
+ GH_TOKEN: ${{ github.token }}
+ docs-deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ permissions:
+ pages: write
+ id-token: write
+ runs-on: ubuntu-latest
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
+ needs: docs-build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4.0.5
diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml
new file mode 100644
index 0000000..6cf2b38
--- /dev/null
+++ b/.github/workflows/format.yml
@@ -0,0 +1,17 @@
+name: Formatting checks
+on:
+ pull_request:
+ types: [opened, reopened, synchronize]
+ merge_group:
+ types: [checks_requested]
+jobs:
+ formatting-check:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4.2.2
+ - name: Setup Bazel
+ uses: bazel-contrib/setup-bazel@0.9.1
+ - name: Run formatting checks
+ run: |
+ bazel test //:format.check
diff --git a/.github/workflows/gitlint.yml b/.github/workflows/gitlint.yml
new file mode 100644
index 0000000..ae7d067
--- /dev/null
+++ b/.github/workflows/gitlint.yml
@@ -0,0 +1,19 @@
+name: Gitlint check
+on:
+ pull_request:
+ types: [opened, synchronize, reopened]
+jobs:
+ lint-commits:
+ name: check-commit-messages
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: Run Gitlint Action
+ if: ${{ github.event_name == 'pull_request' }}
+ uses: ./.github/actions/gitlint
+ with:
+ pr-number: ${{ github.event.number }}
+ base-branch: ${{ github.event.pull_request.base.ref }}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6c272ca
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+# Bazel
+bazel-*
+MODULE.bazel.lock
+
+# Ruff
+.ruff_cache
diff --git a/.gitlint b/.gitlint
new file mode 100644
index 0000000..53a3c5c
--- /dev/null
+++ b/.gitlint
@@ -0,0 +1,42 @@
+# Available rules:
+#
+# T1: title-max-length
+# T2: title-trailing-whitespace
+# T3: title-trailing-punctuation (disabled)
+# T4: title-hard-tab
+# T5: title-must-not-contain-word (disabled)
+# T6: title-leading-whitespace
+# T7: title-match-regex (disabled)
+# B1: body-max-line-length
+# B2: body-trailing-whitespace
+# B3: body-hard-tab
+# B4: body-first-line-empty
+# B5: body-min-length (disabled)
+# B6: body-is-missing (disabled)
+# B7: body-changed-file-mention (disabled)
+#
+# See http://jorisroovers.github.io/gitlint/rules/ for a full description.
+
+# Ignore some default rules and enable regex style searching
+[general]
+ignore=T3,T5,B1,B5,B7
+regex-style-search=true
+
+# Maximum length of the title
+[title-max-length]
+line-length=72
+
+[title-match-regex]
+regex=^[a-z_-]+: .+$
+
+# First line of the commit message body must be empty. (second line of the commit message)
+[body-first-line-empty]
+
+# Body must contain a reference to an issue
+# 'see' will act as a form of reference from commits to issues without closing them.
+[body-match-regex]
+regex=Issue-ref: (see|close|closes|closed|fix|fixes|fixed|resolve|resolves|resolved) #(\d+)
+
+#Ignores the title if it starts with Revert or Merge
+[ignore-by-title]
+regex=(^Revert |^Merge )
diff --git a/BUILD b/BUILD
new file mode 100644
index 0000000..946c504
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,48 @@
+# *******************************************************************************
+# 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
+# *******************************************************************************
+
+test_suite(
+ name = "format.check",
+ tests = ["//tools/format:format.check"],
+)
+
+alias(
+ name = "format.fix",
+ actual = "//tools/format:format.fix",
+)
+
+alias(
+ name = "copyright.check",
+ actual = "//tools/cr_checker:copyright.check",
+)
+
+alias(
+ name = "copyright.fix",
+ actual = "//tools/cr_checker:copyright.fix",
+)
+
+filegroup(
+ name = "repo_directories",
+ srcs = [
+ "docs",
+ "tools",
+ ],
+ visibility = [
+ "//tools/cr_checker:__subpackages__",
+ ],
+)
+
+exports_files([
+ "MODULE.bazel",
+ "BUILD",
+])
diff --git a/CONTRIBUTION.md b/CONTRIBUTION.md
new file mode 100644
index 0000000..4ad0d06
--- /dev/null
+++ b/CONTRIBUTION.md
@@ -0,0 +1,35 @@
+# Eclipse Safe Open Vehicle Core (SCORE)
+The [Eclipse Safe Open Vehicle Core](https://projects.eclipse.org/projects/automotive.score) project aims to develop an open-source core stack for Software Defined Vehicles (SDVs), specifically targeting embedded high-performance Electronic Control Units (ECUs).
+Please check the [documentation](https://eclipse-score.github.io) for more information.
+The source code is hosted at [GitHub](https://github.com/eclipse-score).
+
+The communication mainly takes place via the [`score-dev` mailing list](https://accounts.eclipse.org/mailing-list/score-dev) and GitHub issues & pull requests (PR). And we have a chatroom for community discussions here [Eclipse SCORE chatroom](https://chat.eclipse.org/#/room/#automotive.score:matrix.eclipse.org).
+
+Please note that for the project the [Eclipse Foundation’s Terms of Use](https://www.eclipse.org/legal/terms-of-use/) apply.
+In addition, you need to sign the [ECA](https://www.eclipse.org/legal/ECA.php) and the [DCO](https://www.eclipse.org/legal/dco/) to contribute to the project.
+
+## Contributing
+### Getting the source code & building the project
+Please refer to the [README.md](README.md) for further information.
+
+### Getting involved
+
+#### Setup Phase
+This phase is part of the eclipse Incubation Phase and shall establish all the processes needed for a safe development of functions. Only after this phase it will be possible to contribute code to the project. As the development in this project is driven by requirements, the processes and needed infrastructure incl. tooling will be established based on non-functional Stakeholder_Requirements. During setup phase the contributions are Bug Fixes and Improvements (both on processes and infrastructure).
+
+#### Bug Fixes and Improvements
+Improvements are adding/changing processes and infrastructure, bug fixes can be also on development work products like code.
+In case you want to fix a bug or contribute an improvement, please perform the following steps:
+1) Create a PR by using the corresponding template ([Bugfix PR template](.github/PULL_REQUEST_TEMPLATE/bug_fix.md) or [Improvement PR template](.github/PULL_REQUEST_TEMPLATE/improvement.md)). Please mark your PR as draft until it's ready for review by the Committers (see the [Eclipse Foundation Project Handbook](https://www.eclipse.org/projects/handbook/#contributing-committers) for more information on the role definitions). Improvements are requested by the definition or modification of [Stakeholder Requirements](docs/stakeholder_requirements) or [Tool Requirements](docs/tool_requirements) and may be implemented after acceptance/merge of the request by a second Improvement PR. The needed reviews are automatically triggered via the [CODEOWNERS](.github/CODEOWNERS) file in the repository.
+2) Initiate content review by opening a corresponding issue for the PR when it is ready for review. Review of the PR and final merge into the project repository is in responsibility of the Committers. Use the [Bugfix Issue template](.github/ISSUE_TEMPLATE/bug_fix.md) or [Improvement Issue template](.github/ISSUE_TEMPLATE/improvement.md) for this.
+
+Please check here for our Git Commit Rules [Configuration_Tool_Guidelines](docs/process_description/guidelines).
+
+Please use the [Stakeholder and Tool Requirements Template](docs/process_description/templates) when defining these requirements.
+
+![Contribution guide workflow](./docs/_assets/contribution_guide.svg "Contribution guide workflow")
+
+#### Additional Information
+Please note, that all Git commit messages must adhere the rules described in the [Eclipse Foundation Project Handbook](https://www.eclipse.org/projects/handbook/#resources-commit).
+
+Please refer for process descriptions to the folder: [process_description](docs/process_description).
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..5278bc9
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,13 @@
+Copyright 2024 Contributors to the Eclipse Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/MODULE.bazel b/MODULE.bazel
new file mode 100644
index 0000000..4d9f2cc
--- /dev/null
+++ b/MODULE.bazel
@@ -0,0 +1,56 @@
+module(
+ name = "score_platform",
+ version = "0.1",
+ compatibility_level = 0,
+)
+
+###############################################################################
+#
+# Python version
+#
+###############################################################################
+bazel_dep(name = "rules_python", version = "0.37.2")
+
+PYTHON_VERSION = "3.12"
+
+python = use_extension("@rules_python//python/extensions:python.bzl", "python")
+python.toolchain(
+ is_default = True,
+ python_version = PYTHON_VERSION,
+)
+use_repo(python)
+
+###############################################################################
+#
+# pip dependencies
+#
+###############################################################################
+pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
+pip.parse(
+ hub_name = "pip_sphinx",
+ python_version = PYTHON_VERSION,
+ requirements_lock = "//docs:requirements_lock.txt",
+)
+use_repo(pip, "pip_sphinx")
+
+###############################################################################
+#
+# Packaging dependencies
+#
+###############################################################################
+bazel_dep(name = "rules_pkg", version = "1.0.1")
+
+###############################################################################
+#
+# Buildifier dependency
+# Provides formatting and linting of Bazel files.
+#
+###############################################################################
+bazel_dep(name = "buildifier_prebuilt", version = "7.3.1")
+
+###############################################################################
+#
+# Generic linting and formatting rules
+#
+###############################################################################
+bazel_dep(name = "aspect_rules_lint", version = "1.0.3")
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..9ba2a49
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,35 @@
+# Notices for Eclipse Score
+
+This content is produced and maintained by the Eclipse Score project.
+
+ * Project home: https://projects.eclipse.org/projects/automotive.score
+
+## Trademarks
+
+Eclipse Score and Score are trademarks of the Eclipse Foundation.
+Eclipse, and the Eclipse Logo are registered trademarks of
+the Eclipse Foundation.
+
+## Copyright
+
+All content is the property of the respective authors or their employers.
+For more information regarding authorship of content, please consult the
+listed source code repository logs.
+
+## Declared Project Licenses
+
+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
+
+## Source Code
+
+The project maintains the following source code repositories:
+
+ * TBD
+
+## Third party Content
+
+TBD
diff --git a/README.md b/README.md
index b06dcd9..d8a3298 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,29 @@
-# score
-Score project main repository
+# Score Platform
+
+## Building
+
+### Supported environment
+The build currently supports Linux environments.
+
+### Use bazelisk for bazel version management
+Follow [instructions](https://github.com/bazelbuild/bazelisk) and setup bazelisk to manage your bazel version based on the .bazelversion file.
+
+### Check and fix formatting
+```
+$ bazel test //:format.check
+$ bazel run //:format.fix
+```
+
+## Documentation
+
+Use //docs:docs target to build the documentation.
+```
+$ bazel build //docs:docs
+```
+
+The output directory can be found under ```bazel-bin/docs/docs/_build/html```.
+
+If you need to update pip dependencies, after modifying the requirements file, regenerate the lock file:
+```
+bazel run //docs:requirements.update
+```
diff --git a/docs/BUILD b/docs/BUILD
new file mode 100644
index 0000000..d793fee
--- /dev/null
+++ b/docs/BUILD
@@ -0,0 +1,84 @@
+# *******************************************************************************
+# 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
+# *******************************************************************************
+
+load("@pip_sphinx//:requirements.bzl", "requirement")
+load("@rules_pkg//pkg:mappings.bzl", "pkg_files")
+load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
+load("@rules_python//python:defs.bzl", "py_library")
+load("@rules_python//python:pip.bzl", "compile_pip_requirements")
+load("@rules_python//sphinxdocs:sphinx.bzl", "sphinx_build_binary", "sphinx_docs")
+
+sphinx_docs(
+ name = "docs",
+ srcs = glob([
+ "**/*.png",
+ "**/*.svg",
+ "**/*.rst",
+ "**/*.html",
+ ]),
+ config = ":conf.py",
+ extra_opts = [
+ "-W",
+ "--keep-going",
+ ],
+ formats = [
+ "html",
+ ],
+ sphinx = ":sphinx_build",
+ tags = [
+ "manual",
+ ],
+)
+
+sphinx_build_binary(
+ name = "sphinx_build",
+ deps = [
+ ":extensions",
+ requirement("sphinx"),
+ requirement("sphinx-needs"),
+ ],
+)
+
+py_library(
+ name = "extensions",
+ srcs = [
+ "_extensions/metamodel.py",
+ ],
+ imports = ["."],
+)
+
+compile_pip_requirements(
+ name = "requirements",
+ src = "requirements.txt",
+ requirements_txt = "requirements_lock.txt",
+ tags = [
+ "manual",
+ ],
+)
+
+filegroup(
+ name = "html",
+ srcs = [":docs"],
+ output_group = "html",
+)
+
+pkg_files(
+ name = "html_files",
+ srcs = [":html"],
+ renames = {"html": ""},
+)
+
+pkg_tar(
+ name = "github-pages",
+ srcs = [":html_files"],
+)
diff --git a/docs/_assets/contribution_guide.svg b/docs/_assets/contribution_guide.svg
new file mode 100644
index 0000000..1f1a3d5
--- /dev/null
+++ b/docs/_assets/contribution_guide.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/docs/_extensions/metamodel.py b/docs/_extensions/metamodel.py
new file mode 100644
index 0000000..c8d2988
--- /dev/null
+++ b/docs/_extensions/metamodel.py
@@ -0,0 +1,58 @@
+# *******************************************************************************
+# 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
+# *******************************************************************************
+
+# Define project specific needs directives
+
+needs_types = [
+ # Requirements
+ dict(
+ directive="stkh_req",
+ title="Stakeholder requirements",
+ prefix="STKH_REQ__",
+ color="#BFD8D2",
+ style="node",
+ ),
+ dict(
+ directive="tool_req",
+ title="Tool Requirements",
+ prefix="TOOL_REQ__",
+ color="#BFD8D2",
+ style="node",
+ ),
+]
+
+# Define extra options for needs object
+needs_extra_options = [
+ "security",
+ "safety",
+ "level",
+ "rationale",
+ "mitigated_by",
+ "reqtype",
+ "codelink",
+ "testlink",
+ "reqcovered",
+ "testcovered",
+]
+
+needs_extra_links = [
+ # TODO: Refer process document for the usage of links
+ {
+ "option": "satisfies",
+ "incoming": "is satisfied by",
+ "outgoing": "satisfies",
+ "style_start": "-up",
+ "style_end": "->",
+ },
+ {"option": "implements", "incoming": "implements by", "outgoing": "implements"},
+]
diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html
new file mode 100644
index 0000000..c6794ac
--- /dev/null
+++ b/docs/_templates/layout.html
@@ -0,0 +1,8 @@
+{% extends "!layout.html" %}
+ {% block footer %} {{ super() }}
+
+
+
+{% endblock %}
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000..f61fd63
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,57 @@
+# *******************************************************************************
+# 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
+# *******************************************************************************
+
+# Configuration file for the Sphinx documentation builder.
+#
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# from process.process_model_configuration import *
+from _extensions import metamodel
+
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
+
+project = "Score"
+copyright = "2024, Score"
+author = "Score"
+release = "0.1"
+
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
+
+extensions = [
+ "sphinx_needs",
+]
+
+templates_path = ["_templates"]
+
+suppress_warnings = ["config.cache"]
+
+# Enable numref
+numfig = True
+
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
+
+html_theme = "alabaster"
+
+# -- sphinx-needs configuration --------------------------------------------
+
+needs_types = metamodel.needs_types
+needs_extra_options = metamodel.needs_extra_options
+needs_extra_links = metamodel.needs_extra_links
+
+# sphinx_needs configuration
+needs_id_required = True
+needs_id_regex = "^[A-Za-z0-9_-]{6,}"
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000..688ed51
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,24 @@
+..
+ # *******************************************************************************
+ # 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
+ # *******************************************************************************
+
+Documentation
+=============
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ stakeholder_requirements/index.rst
+ tool_requirements/index.rst
+ process_description/index.rst
diff --git a/docs/process_description/guidelines/branch/index.rst b/docs/process_description/guidelines/branch/index.rst
new file mode 100644
index 0000000..b5219ca
--- /dev/null
+++ b/docs/process_description/guidelines/branch/index.rst
@@ -0,0 +1,37 @@
+..
+ # *******************************************************************************
+ # 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
+ # *******************************************************************************
+
+##########
+ Branches
+##########
+
+*******************
+ Naming Convention
+*******************
+
+In order to keep an overview which branch belongs to whom the branch
+name also should be descriptive. The following rules shall apply:
+
+#. The branch name shall start with your github username. This will make
+ it easier for everybody to identify the owner of the branch.
+#. Branch names must be lower case.
+#. Concatenation is done by underscores _.
+
+An example could look like this:
+
+Mustermann, GitHub Name: maximuster
+
+.. code::
+
+ maximuster_my_awesome_branch_name
diff --git a/docs/process_description/guidelines/git/index.rst b/docs/process_description/guidelines/git/index.rst
new file mode 100644
index 0000000..4f75c42
--- /dev/null
+++ b/docs/process_description/guidelines/git/index.rst
@@ -0,0 +1,170 @@
+..
+ # *******************************************************************************
+ # 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
+ # *******************************************************************************
+
+################
+ Git Guidelines
+################
+
+***********
+ Motivation
+***********
+
+The commit history and especially the commit messages are part of a
+project's documentation. Therefore, the same rules that are valid for
+documentation are also valid for commits and commit messages. A commit
+message is written once, but read many times (especially when hunting
+bugs). Git supports powerful tools to find out which commit introduced a
+bug (e.g., git bisect, git blame). Their level of usefulness depends on
+the quality of the commits and their respective commit messages.
+
+******************
+ Git Configuration
+******************
+
+Since name and e-mail address are part of the commit (and thus be part
+of the commit history) they shall be specified via the .gitconfig file.
+So this file must at least include the following lines:
+
+.. code-block::
+
+ [user]
+ email = (e.g. max.mustermann@something.com)
+ name = Max Mustermann
+
+***************
+ Commit History
+***************
+
+Before merging a PR all commits shall be squashed into few (desired only
+one) logical commits.
+
+.. note::
+
+ Keep in mind that upon merge the commit history of your branch will
+ be preserved in the main branch of the repo as well.
+
+**********************
+ Commit Message Format
+**********************
+
+In Score it is checked if git commit messages are written according
+to guidelines. However, it cannot enforce the meaningfulness of the
+message (and its parts).
+
+.. note::
+
+ Remember that this information is shown in git log and other tools.
+
+Wording
+=======
+
+Proper English language and full sentences are to be used in the commit
+message. For both the subject and the body a singular imperative form is
+required. E.g. **"Add unit test for class XY"** and not "I added unit
+tests", "Adding unit tests" or "Various minor changes".
+
+Additionally, the following specification for the content shall apply for
+commit messages (according to [Eclipse Git Commit Records](https://www.eclipse.org/projects/handbook/#resources-commit)):
+
+Summary
+=======
+
+.. code-block::
+
+ : Summary
+
+The Subject shall describe what was changed in a single line max 72
+characters long. It shall include a prefix for the module, component or
+feature which was changed e.g. "doc:" or "bazel:" It shall start with a
+capital letter and should not be ended by a trailing period in the
+subject line.
+
+Good and bad examples for a subject are:
+
+- **mw: Show colorful output** not Add file
+- **bazel: Test Requirement SWS_CM_00001** not Add test
+- **osal: Split responsibilities of job handling and execution** not Refactor code
+
+Description
+===========
+
+The description must contain a brief summary of the content of the
+commit and why this is necessary. Furthermore it must be consistent and
+logically complete.
+
+If feasible, the commit message body should be extended with quoted
+material such as compiler warnings, debugger stack traces or measurement
+data for performance optimizations.
+
+Footer
+======
+
+At the end of the commit message a footer shall be specified
+in the following format:
+
+.. code-block::
+
+ Also-by: Some Bodyelse
+ Issue-ref: #
+
+ is specified by:
+
+- see
+- close / closes / closed
+- fix / fixes / fixed
+- resolve / resolves / resolved
+
+The Reference can contain links to multiple tickets. A detailed
+description of linking issues to code is available on `GitHub
+`__.
+Be aware that keywords like (close | fix | resolve) will also close the referenced issue if the pull request is merged.
+
+An additional check is implemented to suppress false positives: if a
+commit message has revert/merge in the first line, the linting rules
+will not be applied to it. Thereby headaches when performing reverts or
+merges are reduced.
+
+Layout Summary
+==============
+
+In short the commit message shall consist of:
+
+- Summary
+- Empty line
+- Description
+- Empty line
+- Footer
+
+Example
+=======
+.. code-block::
+
+ component: Short one line summary of change
+
+ More detailed explanatory text, if necessary. Wrap it to about 72
+ characters or less. The first line is treated as the subject and the
+ rest of the text as the body. The blank line separating the summary from
+ the body is critical (unless you omit the body entirely);
+
+ - Bullet points are okay, too
+ - Typically a hyphen or asterisk is used for the bullet, followed by a
+ space, using a hanging indent
+
+ Comment how the change was tested.
+
+ Notes about dependencies to other tools or commits in other
+ repositories.
+
+ Also-by: Some Bodyelse |br|
+ Issue-Ref: , , ...
diff --git a/docs/process_description/guidelines/index.rst b/docs/process_description/guidelines/index.rst
new file mode 100644
index 0000000..5cca3fe
--- /dev/null
+++ b/docs/process_description/guidelines/index.rst
@@ -0,0 +1,26 @@
+..
+ # *******************************************************************************
+ # 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
+ # *******************************************************************************
+
+.. _Configuration_Tool_Guidelines:
+
+#############################
+Configuration/Tool Guidelines
+#############################
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ git/index.rst
+ branch/index.rst
diff --git a/docs/process_description/index.rst b/docs/process_description/index.rst
new file mode 100644
index 0000000..5608c2a
--- /dev/null
+++ b/docs/process_description/index.rst
@@ -0,0 +1,47 @@
+..
+ # *******************************************************************************
+ # 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
+ # *******************************************************************************
+
+.. _Process_description:
+
+Process description
+===================
+
+Processes are the basis to describe the way of working within the SCORE project.
+
+Requirements engineering
+------------------------
+A key process is the Requirements engineering, which is for defining, documenting, and maintaining requirements within our SCORE project.
+
+Requirements templates
+~~~~~~~~~~~~~~~~~~~~~~
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ templates/index.rst
+
+Configuration/Tool management
+-----------------------------
+
+Important from the begin are version control topics, like commit rules and naming conventions for branches.
+
+Configuration/Tool guidelines
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ guidelines/index.rst
diff --git a/docs/process_description/templates/index.rst b/docs/process_description/templates/index.rst
new file mode 100644
index 0000000..7252cd5
--- /dev/null
+++ b/docs/process_description/templates/index.rst
@@ -0,0 +1,60 @@
+..
+ # *******************************************************************************
+ # 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
+ # *******************************************************************************
+
+.. _Stakeholder_Requirements_Template:
+
+Stakeholder Requirements Template
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ | .. stkh_req::
+ | :id: STHK_REQ__
+ | :reqtype:
+ | :security:
+ | :safety:
+ | :rational:
+ | :status:
+
+ | shall