@@ -57,10 +57,7 @@ field-collection!
5757Here we provide insight, how event communication is realized within our ` LoLa ` (shared memory based) binding. The
5858following 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
6562The referenced class ` SubscriptionStateMachine ` within this model is further detailed (including its dependent entities)
6663further [ below] ( #event-subscription ) .
@@ -191,44 +188,29 @@ The API entry point to events on the server/skeleton side is
191188In any case a memory-allocation (rather a free event slot search) needs to be done. The general activity to be done in
192189this 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
199193In case of a mixed criticality setup with an ASIL-B provider/skeleton and both - ASIL-B and ASIL-QM consumers, where
200194discrete control structures are needed to separate ASIL-B/QM, the activities to be taken by the ASIL-B skeleton are as
201195follows:
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
208199During this activity a more complex sub-activity is executed/referenced, to achieve a coherent change of slot states in
209200both 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
218206The 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
226211The 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
233215The 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
298280We encapsulate the low-level mechanisms provided by ` score::mw::com::message_passing ` via
299281class ` 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
334313initialization of our ` mw::com ` runtime. Depending on the ` ara::com ` /` mw::com ` deployment info for the
335314executable/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
365341The 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
372345The 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
381351Event Notification is a good showcase for the "smart" behavior of ` lola::MessagePassingFacade ` as already mentioned (see
382352example 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
472439placed 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
508472This 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 " >
0 commit comments