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

The architectural elements shall be hierarchically structured on two levels:

  • Feature Level (=Logical Level)

  • Component Level (allows also recursive decomposition into internal components)

Structuring of the architectural elements
status: valid

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

  • Logical Level

    • Feature (feat)

    • Feature (feature_arc_sta)

    • Feature (feature_arc_dyn)

    • Logical Interface (logic_arc_int)

    • Logical Interface Operation (logic_arc_int_op)

  • Component Level

    • Component (comp)

    • Component (comp_arc_sta)

    • Component (comp_arc_dyn)

    • Interface (real_arc_int)

    • Interface Operation (real_arc_int_op)

  • Module

    • SW Module (mod)

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

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 and AoU#

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

Each architectural view (feature/comp_arc_sta, feature/comp_arc_dyn) and interface (logic/real_arc_int) shall be linked to a requirement.

Architecture attribute: fulfils (AoU)
status: valid
tags: manual_prio_1, attribute, mandatory, architecture_design

Each architectural static view (feature/comp_arc_sta) shall be linked to AoUs if the element (feature/comp) fulfills these.

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#

Check of 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: fulfils (AoU)

Architecture attribute: safety

Architecture attribute: security

Architecture attribute: status

Architecture attribute: UID

Check of 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....

Check of 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.

Check of 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.

Check of 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).

Check of 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)

Check of Architecture linkage to AoU
status: valid
tags: prio_2_automation, attribute, check, architecture_design

It shall be checked that architectural static view (feature/comp_arc_sta) are not linked to its own AoU (“own” means the AoU linked as “mitigated_by” to the Safety/Security Analysis linked via “violates” to the element, another equivalent distinguishing is that the “own” AoU are in the same repository whereas the “other” are in another repository).

Check of Architecture consistency interfaces in modules
status: valid
tags: prio_2_automation, model, check, architecture_design

It shall be checked if any interface referred by the features (link from Feature to Logical Arc. Interfaces must be defined and exists) is matched by an “implements” link in the Module (from component to Logical Arc. Interface). Additionally it shall be checked if the feature architecture are linked against at least one logical architectural interface.

Check of Architecture consistency in 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 views are defined in the static architecture.