You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/install-guides/cyclonedds.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ tool_install: true
18
18
weight: 1
19
19
---
20
20
21
-
The Eclipse Cyclone DDS is an open-source implementation of the Data Distribution Service (DDS) standard, designed for high-performance, real-time, and scalable communication in autonomous systems, robotics, industrial IoT, and aerospace applications.
21
+
The [Eclipse Cyclone DDS](https://cyclonedds.io/) is an open-source implementation of the Data Distribution Service ([DDS](https://en.wikipedia.org/wiki/Data_Distribution_Service)) standard, designed for high-performance, real-time, and scalable communication in autonomous systems, robotics, industrial IoT, and aerospace applications.
22
22
It is part of the Eclipse Foundation and is widely used in ROS 2 as a key middleware for inter-process communication.
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/openadkit1_container/3_setup_openadkit.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,9 @@ This example has been tested on [AWS EC2](https://aws.amazon.com/ec2/) and [Ampe
15
15
16
16
## Installation
17
17
18
+
This learning path requires Docker to run OpenAD Kit.
19
+
You can refer to [here](https://learn.arm.com/install-guides/docker/) to learn how to install Docker on an Arm platform.
20
+
18
21
First, verify whether Docker is installed on your development environment by running:
19
22
20
23
```bash
@@ -27,8 +30,6 @@ If Docker is installed, it will display version information similar to the outpu
27
30
Docker version 27.2.0, build 3ab4256
28
31
```
29
32
30
-
This example requires Docker to run OpenAD Kit. You can refer to [here](https://learn.arm.com/install-guides/docker/) to learn how to install Docker on an Arm platform.
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/openadkit2_virtualplatform/1_functional_safety.md
+94-6Lines changed: 94 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,19 +6,107 @@ weight: 2
6
6
layout: learningpathall
7
7
---
8
8
9
+
## What is Functional Safety?
9
10
10
-
## Overview of Functional Safety and Its Relevance to Software Development
11
+
[Functional Safety](https://en.wikipedia.org/wiki/Functional_safety) refers to a system's ability to detect potential faults and respond appropriately to ensure that the system remains in a safe state, preventing harm to individuals or damage to equipment.
12
+
13
+
This is particularly important in **automotive, autonomous driving, medical devices, industrial control, robotics and aerospace** applications, where system failures can lead to severe consequences.
14
+
15
+
In software development, Functional Safety focuses on minimizing risks through **software design, testing, and validation** to ensure that critical systems operate in a predictable, reliable, and verifiable manner. This means developers must consider:
16
+
-**Error detection mechanisms**
17
+
-**Exception handling**
18
+
-**Redundancy design**
19
+
-**Development processes compliant with safety standards**
11
20
12
21
### Definition and Importance of Functional Safety
13
22
14
-
### ISO 26262 Standard and Application Scenarios
23
+
The core of Functional Safety lies in **risk management**, which aims to reduce the impact of system failures.
24
+
25
+
In autonomous vehicles, Functional Safety ensures that if sensor data is incorrect, the system can enter a **safe state**, preventing incorrect driving decisions.
26
+
27
+
Three of core objectives of Functional Safety are:
28
+
1.**Prevention**
29
+
- Reducing the likelihood of errors through rigorous software development processes and testing. In the electric vehicle, the battery systems monitor temperature to prevent overheating.
- Controlling the impact of failures to ensure the overall safety of the system.
34
+
35
+
This approach is critical in applications such as **autonomous driving, flight control, and medical implants**, where failures can result in **severe consequences**.
36
+
37
+
### ISO 26262 Standard and Applications
38
+
39
+
[ISO 26262](https://www.iso.org/standard/68383.html) is a functional safety standard specifically for **automotive electronics and software systems**. It defines a comprehensive safety lifecycle, covering all phases from **requirement analysis, design, development, testing, to maintenance**.
40
+
41
+
Key Concepts of ISO 26262:
42
+
-**ASIL (Automotive Safety Integrity Level)**
43
+
- Evaluates the risk level of different system components (A, B, C, D, where **D represents the highest safety requirement**).
44
+
- For example: ASIL A can be Dashboard light failure (low risk) and ASIL D is Brake system failure (high risk).
- Analyzes hazards and assesses risks to determine necessary safety measures.
48
+
-**Safety Mechanisms**
49
+
- Includes error detection, fault tolerance, and fail-safe modes to ensure safe operation.
50
+
51
+
List some of typical application scenarios:
52
+
-**Autonomous Driving Systems**:
53
+
- Ensures that even if sensors (e.g., LiDAR, radar, cameras) provide faulty data, the vehicle will not make dangerous decisions.
54
+
-**Powertrain Control**:
55
+
- Prevents braking system failures that could lead to loss of control.
56
+
-**Battery Management System (BMS)**:
57
+
- Prevents battery overheating or excessive discharge in electric vehicles.
58
+
59
+
For more details, you can check this video: [What is Functional Safety?](https://www.youtube.com/watch?v=R0CPzfYHdpQ)
60
+
61
+
62
+
### Safety Island
63
+
64
+
**Safety Island** is an independent safety subsystem separate from the main processor. It is responsible for monitoring and managing system safety. If the main processor fails or becomes inoperable, Safety Island can take over critical safety functions such as **deceleration, stopping, and fault handling** to prevent catastrophic system failures.
65
+
66
+
Key Functions of Safety Island
67
+
-**Monitoring System Health**
68
+
- Continuously monitors the operational status of the main processor (e.g., ADAS control unit, ECU) and detects potential errors or anomalies.
69
+
-**Fault Detection and Isolation**
70
+
- Independently evaluates and initiates emergency handling if the main processing unit encounters errors, overheating, computational failures, or unresponsiveness.
71
+
-**Providing Essential Safety Functions**
72
+
- Even if the main system crashes, Safety Island can still execute minimal safety operations, such as:
- Industrial Equipment → Emergency power cutoff or speed reduction
75
+
76
+
77
+
### Integration of Safety Island and Functional Safety
78
+
79
+
Safety Island plays a critical role in Functional Safety by ensuring that the system can handle high-risk scenarios and minimize catastrophic failures.
80
+
81
+
How Safety Island Enhances Functional Safety
82
+
1.**Acts as an Independent Redundant Safety Layer**
83
+
- Even if the main system fails, it can still operate independently.
84
+
2.**Supports ASIL-D Safety Level**
85
+
- Monitors ECU health status and executes emergency safety strategies (e.g., emergency braking).
86
+
3.**Provides Independent Fault Detection and Recovery Mechanisms**
87
+
-**Fail-Safe**: Activates a **safe mode**, such as limiting vehicle speed or switching to manual control.
88
+
-**Fail-Operational**: Ensures that high-safety applications (e.g., aerospace systems) can continue operating under certain conditions.
89
+
90
+
For more insights on **Arm's Functional Safety solutions**, you can refer to: [Arm Functional Safety Compute Blog](https://community.arm.com/arm-community-blogs/b/automotive-blog/posts/functional-safety-compute)
91
+
15
92
16
93
### Impact of Functional Safety on Software Development Processes
17
94
18
-
### Concept and Functionality of Safety Island
95
+
Functional Safety impacts **both hardware and software development**, particularly in areas such as requirement changes, version management, and testing validation.
96
+
For example, in ASIL-D level applications, every code modification requires a complete impact analysis and regression testing to ensure that new changes do not introduce additional risks.
19
97
20
-
### Applications in Embedded Systems and Automotive Electronics
98
+
List the Functional Safety Requirements in Software Development:
99
+
-**Requirement Specification**
100
+
- Clearly defining **safety-critical requirements** and conducting risk assessments.
101
+
-**Safety-Oriented Programming**
102
+
- Following **MISRA C, CERT C/C++ standards** and using static analysis tools to detect errors.
103
+
-**Fault Handling Mechanisms**
104
+
- Implementing **redundancy design and health monitoring** to handle anomalies.
105
+
-**Testing and Verification**
106
+
- Using **Hardware-in-the-Loop (HIL)** testing to ensure software safety in real hardware environments.
107
+
-**Version Management and Change Control**
108
+
- Using **Git, JIRA, Polarion** to track changes for safety audits.
21
109
22
-
### Integration of Safety Island with Functional Safety
110
+
This learning path builds on the previous [learning path](https://learn.arm.com/learning-paths/automotive/openadkit1_container) and introduces how to incorporate Functional Safety design processes in the early stages of automotive software development.
111
+
By establishing an ASIL Partitioning software development environment and leveraging [**SOAFEE**](https://www.soafee.io/) technologies, developers can enhance software consistency and maintainability in Functional Safety applications.
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/openadkit2_virtualplatform/2_DataDistributionService.md
+48-4Lines changed: 48 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,59 @@ weight: 3
6
6
layout: learningpathall
7
7
---
8
8
9
+
### Introduction to DDS
10
+
Data Distribution Service (DDS) is a real-time, high-performance middleware designed for distributed systems, particularly in automotive software development for autonomous driving and advanced driver assistance systems (ADAS). Its decentralized architecture provides scalable, low-latency, and reliable data exchange, making it an essential component in managing high-frequency sensor data.
9
11
10
-
### Basic Concepts and Architecture of DDS
12
+
In modern vehicles, multiple sensors, such as LiDAR, radar, and cameras, must communicate efficiently with computing modules and decision-making units. DDS enables seamless data transmission within the vehicle, ensuring that perception, localization, and control systems receive the necessary data with minimal delay. Additionally, it plays a crucial role in vehicle-to-infrastructure (V2X) communication, allowing vehicles to exchange information with traffic signals, road sensors, and other connected systems to enhance situational awareness and safety.
11
13
12
14
13
-
### Publisher-Subscriber Model and Data Transmission Mechanism
15
+
### Why Automotive Software Needs DDS
16
+
Modern automotive software architectures, such as SOAFEE, require deterministic data communication to ensure real-time coordination between sensors, ECUs, and computing modules. Traditional client-server communication models often introduce latency and bottlenecks, whereas DDS provides a direct, decentralized solution that enhances reliability and scalability.
14
17
18
+
A key advantage of DDS is its ability to enable direct data exchange between system components without relying on a central server. This reduces the risk of a single point of failure and minimizes delays, which is crucial for autonomous driving applications where milliseconds can make a difference. For example, a LiDAR sensor publishing obstacle detection data can simultaneously send information to multiple subscribers, including perception, SLAM (Simultaneous Localization and Mapping), and motion planning modules. This parallel data distribution ensures all relevant subsystems have the latest environmental data without requiring multiple separate transmissions.
15
19
16
-
### QoS (Quality of Service) Configuration and Applications
20
+
Additionally, DDS provides a flexible Quality of Service (QoS) configuration, allowing engineers to fine-tune communication parameters based on system requirements. Low-latency modes are ideal for real-time decision-making in vehicle control, while high-reliability configurations ensure data integrity in safety-critical applications like V2X communication.
17
21
18
22
19
-
### DDS Use Cases in Autonomous Driving and Industrial IoT
23
+
### Architecture and Operation
24
+
DDS is based on a data-centric publish-subscribe (DCPS) model, allowing producers and consumers of data to communicate without direct dependencies. This modular approach enhances system flexibility and maintainability, making it well-suited for complex automotive environments.
25
+
26
+
In DDS, all participants operate within a **domain**, which provides logical isolation between different applications. Each domain contains multiple **topics**, representing specific data types such as vehicle speed, obstacle detection, or sensor fusion results. **Publishers** use **DataWriters** to send data to these topics, while **subscribers** use **DataReaders** to receive the data. This architecture supports concurrent data processing, ensuring that multiple modules can work with the same data stream simultaneously.
27
+
28
+
For example, in an autonomous vehicle, LiDAR, radar, and cameras continuously generate large amounts of sensor data. The perception module subscribes to these sensor topics, processes the data, and then publishes detected objects and road conditions to other components like path planning and motion control. Since DDS automatically handles participant discovery and message distribution, engineers do not need to manually configure communication paths, reducing development complexity.
29
+
30
+
31
+
### Applications in Autonomous Driving
32
+
DDS is widely used in autonomous driving systems, where real-time data exchange is crucial. A typical use case involves high-frequency sensor data transmission and decision-making coordination between vehicle subsystems.
33
+
34
+
For instance, a LiDAR sensor generates millions of data points per second, which need to be shared with multiple modules. DDS allows this data to be published once and received by multiple subscribers, including perception, localization, and mapping components. After processing, the detected objects and road features are forwarded to the path planning module, which calculates the vehicle's next movement. Finally, control commands are sent to the vehicle actuators, ensuring precise execution.
35
+
36
+
This real-time data flow must occur within milliseconds to enable safe autonomous driving. DDS ensures minimal transmission delay, enabling rapid response to dynamic road conditions. In emergency scenarios, such as detecting a pedestrian or sudden braking by a nearby vehicle, DDS facilitates instant data propagation, allowing the system to take immediate corrective action.
37
+
38
+
39
+
### Publish-Subscribe Model and Data Transmission
40
+
Traditional client-server communication requires a centralized server to manage data exchange. This architecture introduces several drawbacks, including increased latency and network congestion, which can be problematic in real-time automotive applications.
41
+
42
+
DDS adopts a publish-subscribe model, enabling direct communication between system components. Instead of relying on a central entity to relay messages, DDS allows each participant to subscribe to relevant topics and receive updates as soon as new data becomes available. This approach reduces dependency on centralized infrastructure and improves overall system performance.
43
+
44
+
For example, in an automotive perception system, LiDAR, radar, and cameras continuously publish sensor data. Multiple subscribers, including object detection, lane recognition, and obstacle avoidance modules, can access this data simultaneously without additional network overhead. DDS automatically manages message distribution, ensuring efficient resource utilization.
45
+
46
+
DDS supports multiple transport mechanisms to optimize communication efficiency:
47
+
-**Shared memory transport**: Ideal for ultra-low-latency communication within an ECU, minimizing processing overhead.
48
+
-**UDP or TCP/IP**: Used for inter-device communication, such as V2X applications where vehicles exchange safety-critical messages.
49
+
-**Automatic participant discovery**: Eliminates the need for manual configuration, allowing DDS nodes to detect and establish connections dynamically.
50
+
51
+
#### Comparison of DDS and Traditional Communication Methods
Copy file name to clipboardExpand all lines: content/learning-paths/automotive/openadkit2_virtualplatform/_index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ minutes_to_complete: 60
6
6
who_is_this_for: This is an advanced automotive software development topic, focusing on the early-stage development of mission-critical software on Arm RD-1 AE. It explores how to leverage virtual platform technology to meet functional safety regulations in software development.
7
7
8
8
learning_objectives:
9
-
- Introduction to Automotive Functional Safety(ISO-26262). Understand the ISO-26262 architecture and the importance of a structured software development flow in achieving functional safety compliance.
9
+
- Introduction to Automotive Functional Safety(ISO-26262). Understand the ISO-26262 architecture and the importance of a structured software development flow in achieving functional safety compliance.
10
10
- Introduction to DDS (Data Distribution Service). Learn how DDS enables real-time, reliable communication between distributed automotive software components.
11
11
- Distributed Development for Functional Safety. Learn how to split the simulation platform into two independent units and leverage distributed development architecture to ensure functional safety.
0 commit comments