Skip to content
Open
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
26 changes: 0 additions & 26 deletions docs/features/feature_example/architecture/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,32 +101,6 @@ Logical Interfaces

The logical interfaces of the feature are defined in the `logical interfaces` section of the feature documentation in the project repository.

Module Viewpoint
----------------

The following modules are needed to be defined to be able to draw the static feature view.
They will be replaced by linking the proper module definitions in the used module's repositories as soon as those exist.

The rendered module and used-component examples are maintained in the
`module template documentation <https://eclipse-score.github.io/module_template/main/>`_.

.. code-block:: rst

.. mod:: Module Name
:id: mod__module_name
:includes: comp__component_name_template


.. mod_view_sta:: Module Name Static View
:id: mod_view_sta__feature_name__module_name
:includes: comp__component_name_template

.. needarch::
:scale: 50
:align: center

{{ draw_module(need(), needs) }}

Used Components
---------------

Expand Down
Empty file.
Empty file added docs/manuals/config/.gitkeep
Empty file.
Empty file.
1 change: 1 addition & 0 deletions docs/manuals/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,6 @@ Manuals
.. toctree::
:titlesonly:

user_manual
safety_manual
security_manual
Empty file.
274 changes: 274 additions & 0 deletions docs/manuals/user_manual.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,274 @@
..

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like that we create another document that consists mainly on informations that are available. It will lead to a point that we will see more unmaintained documentation because you have to have a look on too many different places. Would recommend to avoid completely doubled information's and check if it's needed to enlarge existing before we create something new.

# *******************************************************************************
# Copyright (c) 2026 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
# *******************************************************************************

Comment thread
RolandJentschETAS marked this conversation as resolved.
.. _user_manual:

User Manual
###########

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

document metadata is missing


.. attention::
Comment thread
RolandJentschETAS marked this conversation as resolved.
Update the document metadata according to your needs, particularly linking to the corresponding
work package with the ``realizes`` field once work packages are defined.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

realizes links to work product - so we need to define the user manual as a work product


Overview
========

This user manual provides comprehensive guidance for using the [Your Module Name] module.
It covers installation, configuration, basic usage, and best practices for integrating this module
into your project.

.. note::
This is a template user manual. Replace placeholder text with actual module-specific information.

Feature List

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why we have this overview? In the index.rst in the root folder we have all these information's. Please delete it

============

Key features of this module:

* Feature overview and navigation: :doc:`/docs/features/index`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe better call "feature folder"

* Feature template and scope example: :doc:`/docs/features/feature_example/index`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following the link does not show a "scope example". So rather call this whole thing "feature abstract"?

* Feature architecture and verification artifacts: :doc:`/docs/features/feature_example/architecture/index`
* Feature safety artifacts (FMEA, DFA, AoU): :doc:`/docs/features/feature_example/safety_analysis/fmea`, :doc:`/docs/features/feature_example/safety_analysis/dfa`, and :doc:`/docs/features/feature_example/safety_analysis/aou_requirements_template`
* Feature security artifacts: :doc:`/docs/features/feature_example/security_analysis/index`

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this does not link to a security analysis

* Feature planning artifacts (safety/security): :doc:`/docs/features/feature_example/safety_planning/index` and :doc:`/docs/features/feature_example/security_planning/index`

Platform Requirements

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see there no platform requirements.

=====================

Supported Platforms

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We had the discussion already: "Platform" we call our S-CORE platform and not the OS or other elements we use. What about calling this "Environment Needs"?

-------------------

* **C++**: C++17 or later

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would not name C++17 as a platform. Prefer to delete this. It should be listed in the safety manual. Isn't it?

* **Rust**: 1.70 or later (if Rust support is included)
* **Build System**: Bazel 6.0 or later
* **Operating Systems**: Linux, macOS, Windows (as applicable)

Dependencies

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also mentioned in release note - please consolidate.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this part of "Platform Requirements"? - these used libraries are not necessarity part of a "platform"

------------

[List key external dependencies, licenses, and version requirements]

**Example:**
* Standard library (STL/Core)
* [Other required libraries]

Quick Start - Building and Testing
===================================

Building the Module

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also these information's are repeated compare e.g. https://github.com/eclipse-score/persistency

--------------------

To build the entire module:

.. code-block:: bash

bazel build //src/...

Running Tests
--------------

To run all tests:

.. code-block:: bash

bazel test //...

To run only unit tests:

.. code-block:: bash

bazel test //src/...

To run component or feature integration tests:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"only" as in the unit test part above?


.. code-block:: bash

bazel test //tests/...

Module Configuration Details
=============================

The ``project_config.bzl`` file at the root of the module defines metadata used by Bazel macros.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file controls build behavior and project-specific settings.

Configuration Example

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is common for all modules. Would expect this on platform which could be referred (if needed).

---------------------

.. code-block:: python

PROJECT_CONFIG = {
"asil_level": "QM",
"source_code": ["cpp", "rust"]
}

Configuration Effects
---------------------

The configuration enables conditional build behavior:

* **Language-specific tools**: For C++ code, tools like ``clang-tidy`` are used; for Rust code, ``clippy`` is used
* **Safety level**: The ASIL level affects safety-related build settings and validation
* **Source code languages**: The build system optimizes for the configured languages

Getting Started with Features and Components

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have the complete documentation tree in the index.rst file. I make a proposal that we add here also the documentation plan as discussed in last meeting. Example can be shown here https://github.com/eclipse-score/persistency/blob/main/index.rst

============================================

Feature Documentation

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find it strange that all the feature and component documents are part of the user manual document - i.e. in the html those show as appearing in a sub-folder of "user manual".

---------------------

For documentation on features implemented in the module:

.. toctree::
:maxdepth: 1

/docs/features/index

Component Documentation
-----------------------

For documentation of individual components within this module:

.. toctree::
:maxdepth: 1

/score/component_example/docs/index

Examples
--------

Useful examples and tutorials:

.. toctree::
:maxdepth: 1

/examples/docs/architecture_modeling_example

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as example in a user manual I would expect a usage example and not a architecture example (which is interesting for a developer and not a user)


Integration Guidelines
======================

Integrating with Your Project
------------------------------

1. Add the module to your Bazel workspace:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


.. code-block:: python

# In your MODULE.bazel
bazel_dep(name = "module_template", version = "1.0")

2. Reference in your build files:

.. code-block:: python

cc_library(
name = "my_target",
deps = ["@module_template//score/component_example:component"],
)

3. Include headers and compile your code

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stop reading here. Same as above. I don't think we need this additional document.


Best Practices
--------------

* Always validate input parameters

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does it mean?

* Handle error codes and exceptions appropriately
* Use the module in accordance with safety and security guidelines

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

where are those?

* Review the safety manual (wp__module_safety_manual) for safety-critical applications

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

review for what? correctness?

* Review the security manual (wp__module_security_manual) for security considerations

API Reference
=============

For complete API documentation and descriptions, refer to the API documentation in the ``api_description/`` directory.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would expect a link here


Performance Considerations
==========================

This section covers performance characteristics, optimization strategies, and resource requirements.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This look like you want to split the information. Why?

Refer to the ``performance/`` directory for detailed performance guides and benchmarks.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would expect a link here (also below)


Troubleshooting
===============

Common Issues and Solutions

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the following really helpful and do we want to repeat this in every user manual?

----------------------------

**Issue: Build fails with undefined reference**

Check that all dependencies are properly declared in your BUILD file and that the module is correctly linked.

**Issue: Runtime errors or crashes**

Verify that:
* You are using the module API correctly (refer to API Reference)
* All required initialization steps have been completed
* Input data meets the documented requirements

**Issue: Performance problems**

Consult the Performance Considerations section or review the ``performance/`` documentation.

Getting Help
============

For additional support and resources:

* Review the API Reference documentation
* Check the configuration examples in the ``config/`` folder
* Refer to example implementations in ``examples/``
* Consult the Safety Manual for safety-critical usage
* Consult the Security Manual for security-related concerns
* Contact the module maintainers or community forums

Safety and Security
===================

**Safety-Critical Usage**: If you are using this module in a safety-critical context,
please refer to :doc:`safety_manual` for detailed safety requirements and guidelines.

**Security Considerations**: For information about security aspects and requirements,
please refer to :doc:`security_manual`.

Known Limitations
=================

* [Limitation 1]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Limitations are in the release note. Only reference.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

* [Limitation 2]
* [Known issues and workarounds]

Version History and Compatibility
==================================

[Document version changes, API stability, deprecation notices, and migration guides]

**Current Version**: 1.0 (Draft)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the version of the document is in the document header
If you mean module version then I would consider it should be aligned with the release note content


Compatibility Notes
-------------------

* Backward compatibility with previous versions: [Yes/No/Partial]
* Migration guide for [previous version] users: [Link or reference]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also here the release note already has a section "Upgrade Instructions" which may be the same


License
=======

This module is licensed under the Apache License Version 2.0.
See the LICENSE file in the repository for full license text.

Feedback and Contributions
==========================

Your feedback and contributions are welcome! Please report issues or suggestions through the
project's issue tracker or contribute directly to the repository.
Loading
Loading