Skip to content

Commit 2cae50a

Browse files
add aspice 4 ml3 architecture (#702)
* add aspice 4 ml3 things * add monitoring * add monitoring checks * fix review findings * remove external, because covered by feature architecture view --------- Signed-off-by: RolandJentschETAS <135332348+RolandJentschETAS@users.noreply.github.com>
1 parent cbd0c09 commit 2cae50a

4 files changed

Lines changed: 75 additions & 3 deletions

File tree

process/process_areas/architecture_design/guidance/architecture_guideline.rst

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ Architecture Guideline
2525
std_req__isopas8926__44412[version==1],
2626
std_req__iso26262__software_743[version==1],
2727
std_req__iso26262__software_744[version==1],
28-
std_req__iso26262__software_745[version==1]
28+
std_req__iso26262__software_745[version==1],
29+
std_req__aspice_40__iic-10-50[version==1],
30+
std_req__aspice_40__iic-10-51[version==1],
31+
std_req__aspice_40__iic-10-52[version==1]
2932

3033
The guideline focuses on the steps which need to be performed in order to create the architectural design. The concept behind those steps is described in the :need:`[[title]] <doc_concept__arch_process>`.
3134

@@ -56,6 +59,18 @@ For architectural elements, the following checks are defined:
5659
:colwidths: 50,70
5760

5861

62+
Process Monitoring
63+
------------------
64+
65+
The following process monitoring activities shall be performed:
66+
67+
.. needtable:: Overview of process monitoring
68+
:filter: "process_monitoring" in tags and type == "gd_req" and is_external == False
69+
:style: table
70+
:columns: title; id
71+
:colwidths: 50,70
72+
73+
5974
Workflow for creating an architectural design
6075
=============================================
6176

@@ -250,6 +265,8 @@ Based on the *feature architecture*, the concept for the *component architecture
250265

251266
For this step, the following guidance is available: :need:`Feature Architecture Template <gd_temp__arch_feature>`. Additionally, you should consult your project's specific guidelines, e.g., for using the version management tooling or architecture element naming conventions, which should be defined (or linked) in the :need:`Project SW development Plan <wp__sw_development_plan>`.
252267

268+
**Reuse of Existing Components:** For proven-in-use components, the architecture documentation may reference the existing documentation instead of re-creating it. In such cases, a delta analysis documenting deviations from the original context and any changes in application conditions shall be provided.
269+
253270
.. _allocate_component_requirements:
254271

255272
Allocate component requirements to architectural elements
@@ -262,7 +279,11 @@ In this step, the component requirements shall be derived (see :need:`[[title]]
262279
Model component architecture
263280
----------------------------
264281

265-
According to the architecture design description, the model for the component architecture shall be created. It shall consist of components, real interfaces and real interface operations. Depending on the size of the component, it can also be split into multiple (lower-level) components.
282+
According to the architecture design description, the model for the component architecture shall be created. It shall consist of components, real interfaces and real interface operations. Depending on the size and complexity of the component, it can also be split into multiple (lower-level) components.
283+
284+
**Tailoring for Component Complexity:** For simple components with fewer than 3 internal sub-components, the internal component architecture decomposition may be omitted.
285+
286+
Complexity can be assessed project-specifically (for example by Lines of Code, interface size, decomposition depth, coupling, or control-flow metrics such as McCabe). For default measurement see :need:`Implementation Complexity Analysis <gd_req__impl_complexity_analysis>`.
266287

267288
.. list-table:: Architectural Elements of the Component Architecture
268289
:header-rows: 1
@@ -321,3 +342,20 @@ Generally dynamic views are expected in the feature view and the component view
321342
- In case of safety-related calls/communication, the error cases shall also be displayed (see the "alt" boxes in the examples).
322343
- If there is only a small difference between the feature and the component view, one can be omitted, preferably the feature view.
323344
- If the described feature or components support multiple use cases (e.g., in different life-cycle phases), these should also be described in multiple dynamic views.
345+
346+
**Tailoring for Safety Classification:** For QM (quality management) components, the dynamic architecture view may be omitted if the static view is sufficient to understand the design. However, safety-relevant components (ASIL B or higher) shall always include both static and dynamic views if they are not trivial.
347+
348+
349+
.. _platform_scope_responsibilities:
350+
351+
Scope and Responsibilities
352+
==========================
353+
354+
Since SCORE provides a middleware platform, the following aspects are explicitly **out of scope** for the platform architecture process and shall be addressed by the user of the middleware:
355+
356+
* System-level architecture integrating the middleware into a target ECU
357+
* Hardware-Software Interface (HSI) design
358+
* Application-specific scheduling and task allocation beyond what the platform provides
359+
* System-level safety architecture (e.g., ASIL decomposition at vehicle level)
360+
361+
Architectural views describing integration aspects at the system level (above platform boundary) are the responsibility of the platform user (system integrator). The platform shall provide Assumptions of Use (AoU) documenting architectural constraints that the platform user must satisfy. These responsibilities shall be communicated to platform users via AoUs associated with the platform and feature architectures.

process/process_areas/architecture_design/guidance/architecture_inspection_checklist.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ Architecture Inspection Checklist Template
2929
std_req__aspice_40__iic-15-51[version==1],
3030
std_req__aspice_40__SWE-2-BP4[version==1],
3131
std_req__aspice_40__iic-13-51[version==1],
32-
std_req__aspice_40__SWE-2-BP5[version==1]
32+
std_req__aspice_40__SWE-2-BP5[version==1],
33+
std_req__aspice_40__iic-08-63[version==1],
34+
std_req__aspice_40__iic-03-06[version==1]
3335

3436
For the content see here:
3537

process/process_areas/architecture_design/guidance/architecture_process_reqs.rst

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,3 +317,22 @@ Checks for Architectural Design
317317
:satisfies: wf__cr_mt_featarch[version==1], wf__cr_mt_comparch[version==1]
318318

319319
It shall be checked if all SW components which are mentioned in the dynamic architecture views are defined in the static architecture.
320+
321+
322+
Process Monitoring and Improvement
323+
----------------------------------
324+
325+
.. gd_req:: Monitor architecture process performance
326+
:id: gd_req__arch_process_monitoring
327+
:status: valid
328+
:tags: manual_prio_2, process_monitoring
329+
:complies: std_req__aspice_40__gp-324, std_req__aspice_40__iic-03-06
330+
:satisfies: wf__cr_mt_featarch, wf__cr_mt_comparch
331+
332+
Information about the execution and outcomes of the architecture process shall be collected and analyzed to evaluate the effectiveness and adequacy of the defined process.
333+
334+
Analysis results shall be made available to affected parties and used to identify and trigger continual improvement actions for the architecture process.
335+
336+
Monitoring is expected as a periodic, predominantly manual activity (for example as part of quality checks and retrospectives), not as a fully automated check.
337+
338+
Improvement actions should be handled according to :ref:`pm_monitor_improve_process`.

process/roles/index.rst

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,19 @@ Project Development Roles
101101

102102
(Eclipse) Open Source Role, person(s) who accept(s) possible contribution(s) as pull request(s) to the main line and maintains the product.
103103

104+
Required skills and knowledge of standards
105+
106+
* Experience in reviewing architectural designs for correctness, consistency, and completeness
107+
* Knowledge of ASPICE SWE.2 base practices
108+
* Understanding of traceability requirements between architecture and requirements
109+
* Understanding of software design patterns and principles (e.g., SOLID, separation of concerns)
110+
* Knowledge of the platform domain (middleware, OS abstraction, communication)
111+
* Ability to work with Sphinx-Needs and PlantUML tooling
112+
* Understanding of safety/security attributes and their impact on architecture
113+
* Knowledge of existing architecture examples in module template
114+
* Knowledge of UML notation (component diagrams, sequence diagrams)
115+
116+
104117
.. note::
105118
Defines and enforces processes.
106119

0 commit comments

Comments
 (0)