Process Requirements#

Architectural Model#

Architecture Modeling
status: valid
tags: manual_prio_1, architecture_design

For architecture design a model based approach should be used. The model shall consist of different architectural elements.

Hierarchical structure of architectural elements
status: valid
tags: done_automation, architecture_design

The architectural elements shall be hierarchically structured on two levels:

  • Feature Level (=Logical Level)

  • Component Level

Structuring of the architectural elements
status: valid
tags: done_automation, architecture_design

Following architectural elements shall be defined on the respective hierarchical level:

  • Logical Level

    • Feature (feature_arc_sta)

    • Logical Interface (logic_arc_int)

    • Logical Interface Operation (logic_arc_int_op)

  • Component Level

    • Component (comp_arc_sta)

    • Interface (real_arc_int)

    • Interface Operation (real_arc_int_op)

Correlations of the architectural building blocks
status: valid
tags: done_automation, architecture_design

For modeling the viewpoints following relations shall be used:

Definition of the Metamodel for Architectural Design

Architectural Views#

Architecture Viewpoints
status: valid
tags: manual_prio_1, architecture_design

The architecture shall be shown on following views on each architectural level:

  • Package Diagram (feat_arc_sta, comp_arc_sta)

  • Sequence Diagram (feat_arc_dyn, comp_arc_dyn)

  • Interface View (logic_arc_int, real_arc_int)

Only an additional view shall be created on module level.

Attributes of Architectural Elements#

Architecture attribute: UID
status: valid
tags: manual_prio_1, attribute, mandatory, architecture_design

Each architectural element shall have a unique ID. It shall be in a format which is also human readable and consists of

  • type of architectural element

  • structural element (e.g. some part of the feature tree, component acronym)

  • keyword describing the content of the architectural element

Check your project’s naming conventions (should be called “doc__naming_conventions”)

Architecture attribute: security
status: valid
tags: manual_prio_1, attribute, mandatory, architecture_design

Each architectural element shall have a security relevance identifier:

  • Yes

  • No

Architecture attribute: safety
status: valid
tags: manual_prio_1, attribute, mandatory, architecture_design

Each architectural element shall have a automotive safety integrity level (ASIL) identifier:

  • QM

  • ASIL_B

Architecture attribute: status
status: valid
tags: manual_prio_1, attribute, mandatory, architecture_design

Each architectural element shall have a status:

  • valid

  • invalid

Traceability to Requirements#

Architecture attribute: fulfils
status: valid
tags: manual_prio_1, attribute, mandatory, architecture_design

Each architectural element shall be linked to a requirement.

Architecture traceability
status: valid
tags: manual_prio_2, architecture_design

Requirements shall be fulfilled by an architectural element on the corresponding level.

Examples:

  • feat_req <-> feat_arc_(sta|dyn), logic_arc_(int|int_op)

  • comp_req <-> comp_arc_(sta|dyn), real_arc_(int|int_op)

Note

In general the traceability is visualized in Traceability concept

Checks for Architectural Design#

Architecture mandatory attributes
status: valid
tags: prio_1_automation, attribute, check, architecture_design

It shall be checked if all mandatory attributes for each architectural element are provided by the user. For all elements following attributes shall be mandatory:

Overview mandatory requirement attributes#

Title

Architecture attribute: fulfils

Architecture attribute: safety

Architecture attribute: security

Architecture attribute: status

Architecture attribute: UID

Architecture linkage metamodel
status: valid
tags: prio_1_automation, attribute, check, architecture_design

It shall be checked that every valid safety architectural element is linked according to the defined model Correlations of the archite... (gd_req__arch_build_blocks_corr).

Architecture linkage safety
status: valid
tags: prio_1_automation, attribute, check, architecture_design

It shall be checked that valid safety architectural elements (Safety != QM) can only be linked against valid safety architectural elements.

Architecture linkage security
status: valid
tags: prio_2_automation, attribute, check, architecture_design

It shall be checked that security relevant architectural elements (Security == YES) can only be linked against security relevant architectural elements.

Architecture linkage requirement
status: valid
tags: prio_1_automation, attribute, check, architecture_design

It shall be checked that each architectural element (safety!=QM) is linked against at least one safety requirement (safety!=QM). It shall be checked that architectural elements with safety=QM are not linked against safety requirements (safety!=QM).

Architecture linkage requirement type
status: valid
tags: prio_3_automation, attribute, check, architecture_design

It shall be checked that requirements of a respective type can only be linked to architectural elements according to following traceability:

  • Functional requirements <-> static / dynamic architectural elements (feat_arc_sta, feat_arc_dyn)

  • Interface requirements <-> interface architectural elements (logic_arc_int, logic_arc_int_op)

Architecture check consistency modules
status: valid
tags: prio_2_automation, model, check, architecture_design

It shall be checked if all mentioned SW components are available in the modules repository.

Architecture check consistency interfaces
status: valid
tags: prio_2_automation, model, check, architecture_design

It shall be checked if all mentioned component interfaces are available in the modules repository.

Architecture check consistency dynamic architecture
status: valid
tags: prio_3_automation, model, check, architecture_design

It shall be checked if all SW components which are mentioned in the dynamic architecture are defined in the static architecture.