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: docs/overview/overview.rst
+16-10Lines changed: 16 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ It provides:
26
26
27
27
* Implemented in C++ w/o platform dependencies
28
28
29
-
* Interoperability between Windows, Linux, and other UNIX derivates
29
+
* Interoperability between Windows, Linux, and other UNIX derivatives
30
30
31
31
* Stable API and ABI as well as long-term network layer compatibility
32
32
@@ -50,14 +50,20 @@ Vehicle Networks
50
50
The |ProductName| provides means to simulate |CANBuses|, Ethernet, FlexRay, and LIN networks.
51
51
All networks except for FlexRay can be simulated with two different levels of detail: a simple, functional simulation or a detailed simulation.
52
52
The simple simulation assumes no delay and unlimited bandwidth.
53
+
53
54
The detailed simulation is enabled by using an additional |ProductName| |NetSim|, which considers these aspects as well.
54
55
The |NetSim| is not part of |ProductName| itself.
55
56
Because of its sensitivity regarding time, FlexRay is only supported in a detailed simulation.
56
57
57
58
Vehicle networks are accessed through their corresponding services (e.g., a CAN controller).
58
59
The service interfaces are the same for simple and detailed simulation.
59
60
As a result, an application that works in the simple use case also works when switching to a detailed simulation using the |NetSim|.
60
-
The section :ref:`sec:api-services` describes how to configure and use vehicle network services in detail.
61
+
62
+
In general, |ProductName| deliberately avoids imposing restrictions on bus protocols.
63
+
This enables user applications to freely determine the desired level of detail for vehicle network simulations.
64
+
For example, a test participant can inject faulty frames without being blocked by |ProductName|.
65
+
66
+
The section :ref:`sec:api-services` describes how to configure and use the vehicle network services in detail.
61
67
62
68
Simulation Basics
63
69
-----------------
@@ -78,8 +84,8 @@ Furthermore, |ProductName| participants can use a virtual simulation time that i
78
84
While participants are first configured in the |ProductName| API by the developer, they can be reconfigured by the user by providing a YAML-based participant configuration file when starting the participant.
79
85
A similar configuration file is available for the |ProductName| Registry as well.
80
86
81
-
* For getting started operating/orchestrating a |ProductName| simulation, see the :doc:`User Guide <../for-users/users>`.
82
-
* For getting started developing with the |ProductName|, see the :doc:`Developer Guide <../for-developers/developers>`.
87
+
* To get started operating/orchestrating a |ProductName| simulation, see the :doc:`User Guide <../for-users/users>`.
88
+
* To get started developing with the |ProductName|, see the :doc:`Developer Guide <../for-developers/developers>`.
83
89
84
90
.. _sec:overview-ecosystem:
85
91
@@ -104,10 +110,10 @@ The |ProductName| ecosystem comprises the following turn-key solutions:
104
110
can be used to attach a virtual CAN (Controller Area Network) interface (SocketCAN) to a Vector SIL Kit CAN bus.
105
111
106
112
* The `SIL Kit Adapter for Generic Linux IO <https://github.com/vectorgrp/sil-kit-adapters-generic-linux-io>`_
107
-
allows to attach SIL Kit to a generic Linux IO device, such as character devices or GPIOs.
113
+
allows attaching SIL Kit to a generic Linux IO device, such as character devices or GPIOs.
108
114
109
115
* The `SIL Kit FMU Importer <https://github.com/vectorgrp/sil-kit-fmu-importer>`_
110
-
allows to import Functional Mockup Units (FMUs) as SIL Kit participants.
116
+
can import Functional Mockup Units (FMUs) as SIL Kit participants.
111
117
112
118
Related Applications
113
119
~~~~~~~~~~~~~~~~~~~~
@@ -127,12 +133,12 @@ Guiding Principles
127
133
128
134
* **Local view:** Participants do not require knowledge about the overall system setup or other participants.
129
135
Communication between participants is made possible by using a common bus network or topic name.
130
-
* **Distributed simulation:** Communication between participants is based on a peer-to-peer connections.
136
+
* **Distributed simulation:** Communication between participants is based on peer-to-peer connections.
131
137
There is no central simulation participant that handles the distribution of messages or controls the virtual time.
132
138
* **Stability:** |ProductName| has a stable network layer and provides API and ABI guarantees.
133
139
This means that participants of different versions can partake in the same simulation.
134
140
Further, the |ProductName| library can be updated to newer versions without having to adapt or recompile already existing |ProductName| applications.
135
-
* **Reconfigurability:** Users should be able to provide a configuration file to the SIL Kit application to change the its behavior (e.g., configure logging or change the network a bus controller connects to).
141
+
* **Reconfigurability:** Users should be able to provide a configuration file to the SIL Kit application to change its behavior (e.g., configure logging or change the network a bus controller connects to).
136
142
137
143
.. _sec:overview-terminology:
138
144
@@ -149,7 +155,7 @@ Terminology
149
155
- A participant is a communication node in the distributed simulation that provides access to the |ProductName| services.
150
156
* - :ref:`Services<sec:api-services>`
151
157
- Participants interact with each other through the means of services.
152
-
These can be communication services, e.g., a :doc:`CAN Controller</api/services/can>` and orchestration services, such as the the Lifecycle Service, Time Synchronization Service, and the Logging Service.
158
+
These can be communication services, e.g., a :doc:`CAN Controller</api/services/can>` and orchestration services, such as the Lifecycle Service, Time Synchronization Service, and the Logging Service.
- The optional participant configuration file allows easy configuration of a participant and its interconnection within the simulation.
155
161
It can be used to change a participant's behavior without recompiling its sources.
@@ -183,7 +189,7 @@ Terminology
183
189
Further Reading
184
190
---------------
185
191
186
-
More real-world examples involving time synchronization and simulated automotive networks, can be found in the :doc:`API sections<../api/api>`.
192
+
More real-world examples involving time synchronization and simulated automotive networks can be found in the :doc:`API sections<../api/api>`.
187
193
Also, studying the source code of the bundled :doc:`demo applications<../demos/demos>` is a good start.
188
194
The simulation lifecycle and supported simulation time synchronization are discussed in :doc:`../simulation/simulation`.
189
195
Additionally, :doc:`../configuration/configuration` describes how the participant configuration file can be used to change the behavior of participants.
0 commit comments