@@ -57,7 +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- <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 " >
60+ <img alt = " EVENT_LOLA_MODEL " 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 " >
6161
6262The referenced class ` SubscriptionStateMachine ` within this model is further detailed (including its dependent entities)
6363further [ below] ( #event-subscription ) .
@@ -188,29 +188,29 @@ The API entry point to events on the server/skeleton side is
188188In any case a memory-allocation (rather a free event slot search) needs to be done. The general activity to be done in
189189this case is pictured in the following activity diagram:
190190
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 " >
191+ <img alt = " LOLA_EVENT_ALLOCATE_ACTIVITY " 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 " >
192192
193193In case of a mixed criticality setup with an ASIL-B provider/skeleton and both - ASIL-B and ASIL-QM consumers, where
194194discrete control structures are needed to separate ASIL-B/QM, the activities to be taken by the ASIL-B skeleton are as
195195follows:
196196
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 " >
197+ <img alt = " LOLA_EVENT_ALLOCATE_MIXED_CRITICAL_ACTIVITY " 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 " >
198198
199199During this activity a more complex sub-activity is executed/referenced, to achieve a coherent change of slot states in
200200both control structures (containing a rollback mechanism). This activity is modeled separately here:
201201
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 " >
202+ <img alt = " LOLA_COHERENT_SET_WRITING_ACTIVITY " 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 " >
203203
204204### Proxy side Activities for Event Access
205205
206206The central API entry point at proxy/consumer side to access event samples (after a successful subscription) is the
207207` GetNewSamples() ` method of an event instance. The activities taken by the proxy side implementation are as follows:
208208
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 " >
209+ <img alt = " GET_NEW_SAMPLES_ACTIVITY " 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 " >
210210
211211The activity shown above thereby relies on activity ` ReferenceNextEvent ` , which is shown here:
212212
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 " >
213+ <img alt = " LOLA_REFERENCE_NEXT_EVENT_ACTIVITY " 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 " >
214214
215215The main proxy algorithm above the shared memory data structures is broken into three entities:
216216` score::mw::com::impl::lola::ProxyEvent ` , ` score::mw::com::impl::lola::ProxyEventCommon ` and ` score::mw::com::impl::lola::SlotCollector ` .
@@ -280,7 +280,7 @@ once we resort back to sideband channel communication for `Subscribe` and `Unsub
280280We encapsulate the low-level mechanisms provided by ` score::mw::com::message_passing ` via
281281class ` lola::MessagePassingFacade ` , which is shown in the following class model:
282282
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 " >
283+ <img alt = " LOLA_MESSAGE_PASSING_MODEL " 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 " >
284284
285285### ` lola::MessagePassingFacade ` is a Smart Proxy
286286
@@ -313,7 +313,7 @@ The `score::mw::com::message_passing::Receiver`s used by `lola::MessagePassingFa
313313initialization of our ` mw::com ` runtime. Depending on the ` ara::com ` /` mw::com ` deployment info for the
314314executable/process, it can be decided, whether only QM (ASIL-QM) or QM and ASIL (ASIL-B) Receivers are needed.
315315
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 " >
316+ <img alt = " LOLA_MSG_PASS_INITIALIZE_SEQ " 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 " >
317317
318318### Event subscription
319319
@@ -340,18 +340,18 @@ instance has been described [here](../skeleton_proxy/README.md#proxy-auto-reconn
340340
341341The structure and transitions of the state machine are shown in:
342342
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/proxy_event_state_machine.puml " >
343+ <img alt = " PROXY_EVENT_STATE_MACHINE " 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.puml " >
344344
345345The structural model of the state machine design is as follows:
346346
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 " >
347+ <img alt = " PROXY_EVENT_STATE_MACHINE_MODEL " 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 " >
348348
349349### Event Update Notification
350350
351351Event Notification is a good showcase for the "smart" behavior of ` lola::MessagePassingFacade ` as already mentioned (see
352352example above). Here event notification registrations are aggregated and related messages are only sent once:
353353
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 " >
354+ <img alt = " LOLA_MSG_PASS_EVENT_NOTIFY " 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 " >
355355
356356#### Managing user provided EventReceiveHandlers
357357
@@ -438,7 +438,7 @@ looks like! This sequence builds on message passing concepts/sequences already d
438438[ Notifications between skeleton and proxy] ( #notifications-between-skeleton-and-proxy ) and the design of data-structures
439439placed in shared memory discussed [ here] ( #event-related-datastructures-in-lola-binding )
440440
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 " >
441+ <img alt = " EVENT_POLL_LOLA_SEQ " 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 " >
442442
443443# General implementation details of score::mw::com
444444
@@ -471,4 +471,4 @@ central counter buried inside `SampleReferenceTracker` is atomic.
471471
472472This sequence diagram depicts the mechanics behind the reference counting on proxy side:
473473
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 " >
474+ <img alt = " SAMPLEPTR_REF_COUNTING " 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