Feature Architecture#
[Your Feature Name] Architecture
|
status: draft
security: NO
safety: ASIL_B
|
||||
Attention
The above directive must be updated according to your Feature.
Modify
Your Feature Nameto be your Feature NameModify
idto be your Feature Name in upper snake case preceded bydoc__and followed by_architectureAdjust
statusto bevalidAdjust
safetyandtagsaccording to your needs
Overview#
<Brief summary>
Description#
<General Description>
<Design Decisions - For the documentation of the decision the Decision Record Template can be used.>
<Design Constraints>
Requirements#
.. needtable:: Overview of Feature Requirements
:style: table
:columns: title;id
:filter: search("feat_arch_sta__archdes$", "fulfils_back")
:colwidths: 70,30
No needs passed the filters
Rationale Behind Architecture Decomposition#
Mandatory: A motivation for the decomposition
Note
Common decisions across features / cross cutting concepts is at the high level.
Static Architecture#
The live feature architecture template snippets are maintained in the module template documentation.
.. feat:: Feature Name
:id: feat__feature_name
:security: YES
:safety: ASIL_B
:status: invalid
:includes: logic_arc_int__feature_name__interface_name1
General Feature Description
.. feat_arc_sta:: Feature Static View
:id: feat_arc_sta__feature_name__static_view
:security: YES
:safety: ASIL_B
:status: invalid
:fulfils: feat_req__feature_name__some_title
:includes: logic_arc_int__feature_name__interface_name1
:belongs_to: feat__feature_name
.. needarch::
:scale: 50
:align: center
{{ draw_feature(need(), needs) }}
Dynamic Architecture#
.. feat_arc_dyn:: Dynamic View
:id: feat_arc_dyn__feature_name__dynamic_view
:security: YES
:safety: ASIL_B
:status: invalid
:fulfils: feat_req__feature_name__some_title
:belongs_to: feat__feature_name
Put here a sequence diagram
Logical Interfaces#
.. logic_arc_int:: Interface Name
:id: logic_arc_int__feature_name__interface_name1
:security: YES
:safety: ASIL_B
:status: invalid
:fulfils: feat_req__feature_name__some_title
General Interface Description
.. needarch::
:scale: 50
:align: center
{{ draw_interface(need(), needs) }}
.. logic_arc_int_op:: Operation
:id: logic_arc_int_op__feature_name__operation
:security: YES
:safety: ASIL_B
:status: invalid
:included_by: logic_arc_int__feature_name__interface_name1
General Operation Description
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.
.. 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#
The following components are needed to be defined to be able to draw the static feature view. They will be replaced by linking the proper SW component definitions in the used module’s repositories as soon as those exist.
.. comp:: Component Name
:id: comp__component_name_template
:safety: ASIL_B
:security: YES
:status: invalid
:implements: logic_arc_int__feature_name__interface_name1
Note
Architecture can be split into multiple files, it is an high level architecture design which can be shown without actual c++/rust interfaces and data types and there will be link to internal architecture till code to get actual api descriptions.
Attention
The above directives must be updated according to your feature architecture.
Replace the example content by the real content (according to Architectural Design Guideline)
Set the status to valid and start the review/merge process