You can describe the behavior of a Rhapsody® implementation block (RIMB) by
using a statechart.
About this task
In the Runtime Environment-managed mode, data elements
that arrive on AUTOSAR receiver ports transform into triggered operations.
When a data element arrives, the Runtime Environment (RTE) calls a
corresponding active operation that directly triggers a transition
on the statechart. Queuing is done by the Runtime Environment in the
level of AUTOSAR data elements. In this mode, only triggered operations
that originate from the arrival of AUTOSAR data elements can trigger
transitions on the statechart.
In Rhapsody-managed mode, data
elements that arrive on AUTOSAR receiver ports transform into Rhapsody events. When a data
element arrives, an active operation is called that queues the corresponding
event on the event queue for the Rhapsody implementation
block. The doExecute command for the implementation
block runs and dispatches the events into the statechart one by one,
imitating the typical Rhapsody mechanism.
This mode involves double queuing: by the Runtime Environment and
by Rhapsody.
A RIMB’s
statechart may be executed in one of two modes:
- RTE-managed – in this mode, data elements
arriving on AUTOSAR receiver ports are transformed into triggered
operations. Whenever a data element arrives, the RTE calls a corresponding
active operation which directly triggers a transition on the statechart.
The RIMB is not active nor an execution manager, and no RHP event
queue exists. Queuing is done by the RTE in the level of AUTOSAR data
elements. In this mode, only triggered operations originating from
the arrival of AR data elements may trigger transitions on the statechart.
Calling RicGEN is not allowed.
- RHP-managed – in this mode, data elements
arriving on AUTOSAR receiver ports are transformed into RHP events.
Whenever a data element arrives, an active operation is called which
queues the corresponding event on the RIMBO’s event queue. The RIMB
needs to be active-periodic and execution manager. Its doExecute runs
periodically and dispatches the events into the statechart one by
one, imitating the usual RHP mechanism. This involves double queuing
by the RTE as well as by RHP.