Skip to content

Commit 69f47eb

Browse files
committed
Rework inclusion of PlantUML Files in readme.md files
1 parent 6f25b52 commit 69f47eb

File tree

3 files changed

+17
-68
lines changed

3 files changed

+17
-68
lines changed

score/mw/com/design/configuration/README.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,7 @@ initialization from a default manifest or configuration path, an explicit user p
173173
a directly handed over JSON.
174174
The sequence during startup would look like this:
175175

176-
```plantuml
177-
@startuml
178-
!include sequence_startup_view.puml
179-
```
176+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/configuration/sequence_startup_view.puml">
180177

181178
During this call a singleton instance of `score::mw::com::impl::Runtime` gets created, which gets the parsed/validated
182179
configuration in the form of `score::mw::com::detail::Configuration`.
@@ -187,7 +184,4 @@ configuration in the form of `score::mw::com::detail::Configuration`.
187184

188185
Details can be seen in the following class diagram:
189186

190-
```plantuml
191-
@startuml
192-
!include structural_view.puml
193-
```
187+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/configuration/structural_view.puml">

score/mw/com/design/events_fields/README.md

Lines changed: 13 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,7 @@ field-collection!
5757
Here we provide insight, how event communication is realized within our `LoLa` (shared memory based) binding. The
5858
following class diagram shows LoLa specific binding implementation and its relationship with binding independent parts:
5959

60-
```plantuml
61-
@startuml
62-
!include event_lola_model.puml
63-
```
60+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/event_lola_model.puml">
6461

6562
The referenced class `SubscriptionStateMachine` within this model is further detailed (including its dependent entities)
6663
further [below](#event-subscription).
@@ -191,44 +188,29 @@ The API entry point to events on the server/skeleton side is
191188
In any case a memory-allocation (rather a free event slot search) needs to be done. The general activity to be done in
192189
this case is pictured in the following activity diagram:
193190

194-
```plantuml
195-
@startuml
196-
!include lola_event_allocate_activity.puml
197-
```
191+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/lola_event_allocate_activity.puml">
198192

199193
In case of a mixed criticality setup with an ASIL-B provider/skeleton and both - ASIL-B and ASIL-QM consumers, where
200194
discrete control structures are needed to separate ASIL-B/QM, the activities to be taken by the ASIL-B skeleton are as
201195
follows:
202196

203-
```plantuml
204-
@startuml
205-
!include lola_event_allocate_mixed_critical_activity.puml
206-
```
197+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/lola_event_allocate_mixed_critical_activity.puml">
207198

208199
During this activity a more complex sub-activity is executed/referenced, to achieve a coherent change of slot states in
209200
both control structures (containing a rollback mechanism). This activity is modeled separately here:
210201

211-
```plantuml
212-
@startuml
213-
!include lola_coherent_set_writing_activity.puml
214-
```
202+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/lola_coherent_set_writing_activity.puml">
215203

216204
### Proxy side Activities for Event Access
217205

218206
The central API entry point at proxy/consumer side to access event samples (after a successful subscription) is the
219207
`GetNewSamples()` method of an event instance. The activities taken by the proxy side implementation are as follows:
220208

221-
```plantuml
222-
@startuml
223-
!include get_new_samples_activity.puml
224-
```
209+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/get_new_samples_activity.puml">
225210

226211
The activity shown above thereby relies on activity `ReferenceNextEvent`, which is shown here:
227212

228-
```plantuml
229-
@startuml
230-
!include lola_reference_next_event_activity.puml
231-
```
213+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/lola_reference_next_event_activity.puml">
232214

233215
The main proxy algorithm above the shared memory data structures is broken into three entities:
234216
`score::mw::com::impl::lola::ProxyEvent`, `score::mw::com::impl::lola::ProxyEventCommon` and `score::mw::com::impl::lola::SlotCollector`.
@@ -298,10 +280,7 @@ once we resort back to sideband channel communication for `Subscribe` and `Unsub
298280
We encapsulate the low-level mechanisms provided by `score::mw::com::message_passing` via
299281
class `lola::MessagePassingFacade`, which is shown in the following class model:
300282

301-
```plantuml
302-
@startuml
303-
!include lola_message_passing_model.puml
304-
```
283+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/lola_message_passing_model.puml">
305284

306285
### `lola::MessagePassingFacade` is a Smart Proxy
307286

@@ -334,10 +313,7 @@ The `score::mw::com::message_passing::Receiver`s used by `lola::MessagePassingFa
334313
initialization of our `mw::com` runtime. Depending on the `ara::com`/`mw::com` deployment info for the
335314
executable/process, it can be decided, whether only QM (ASIL-QM) or QM and ASIL (ASIL-B) Receivers are needed.
336315

337-
```plantuml
338-
@startuml
339-
!include lola_msg_pass_initialize_seq.puml
340-
```
316+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/lola_msg_pass_initialize_seq.puml">
341317

342318
### Event subscription
343319

@@ -364,27 +340,18 @@ instance has been described [here](../skeleton_proxy/README.md#proxy-auto-reconn
364340

365341
The structure and transitions of the state machine are shown in:
366342

367-
```plantuml
368-
@startuml
369-
!include proxy_event_state_machine.puml
370-
```
343+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/lola_msg_pass_proxy_event_state_machineinitialize_seq.puml">
371344

372345
The structural model of the state machine design is as follows:
373346

374-
```plantuml
375-
@startuml
376-
!include proxy_event_state_machine_model.puml
377-
```
347+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/proxy_event_state_machine_model.puml">
378348

379349
### Event Update Notification
380350

381351
Event Notification is a good showcase for the "smart" behavior of `lola::MessagePassingFacade` as already mentioned (see
382352
example above). Here event notification registrations are aggregated and related messages are only sent once:
383353

384-
```plantuml
385-
@startuml
386-
!include lola_msg_pass_event_notify.puml
387-
```
354+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/lola_msg_pass_event_notify.puml">
388355

389356
#### Managing user provided EventReceiveHandlers
390357

@@ -471,10 +438,7 @@ looks like! This sequence builds on message passing concepts/sequences already d
471438
[Notifications between skeleton and proxy](#notifications-between-skeleton-and-proxy) and the design of data-structures
472439
placed in shared memory discussed [here](#event-related-datastructures-in-lola-binding)
473440

474-
```plantuml
475-
@startuml
476-
!include event_poll_lola_seq.puml
477-
```
441+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/event_poll_lola_seq.puml">
478442

479443
# General implementation details of score::mw::com
480444

@@ -507,7 +471,4 @@ central counter buried inside `SampleReferenceTracker` is atomic.
507471

508472
This sequence diagram depicts the mechanics behind the reference counting on proxy side:
509473

510-
```plantuml
511-
@startuml
512-
!include sampleptr_ref_counting.puml
513-
```
474+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/events_fields/sampleptr_ref_counting.puml">

score/mw/com/design/runtime/README.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,14 @@ creation/instantiation of binding specific runtimes is done by `impl::Runtime` w
2424

2525
The class diagram of this design is as follows:
2626

27-
```plantuml
28-
@startuml
29-
!include runtime_structural_view.puml
30-
```
27+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/runtime/runtime_structural_view.puml">
3128

3229
Since `impl::IRuntimeBinding` is only a **_very coarse grained_** interface and binding specific runtimes will have each
3330
very specific methods/types, the binding specific code, which needs to access its specific binding runtime needs to do
3431
a "downcast", when it gets a `IRuntimeBinding` instance from the binding independent `impl::Runtime`. The sequence is
3532
shown in the following sequence diagram:
3633

37-
```plantuml
38-
@startuml
39-
!include runtime_sequence_view.puml
40-
```
34+
<img src="https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/eclipse-score/communication/refs/heads/main/score/mw/com/design/runtime/runtime_sequence_view.puml">
4135

4236
## Static dependencies
4337
Binding specific runtimes might use infrastructure in the form of static instances. E.g. the `lola::Runtime` uses

0 commit comments

Comments
 (0)