Now we have described how to control ADTF, but our main concern is to transfer data, synchronize time and work deterministically across computer boundaries.
For this purpose we developed ADTF components to embed the FEP
functionality in the ADTF Filter Graph. So that we can describe the boundaries of our ADTF Session and what signals and clocks can be used from outside.
The FEP Sink
and FEP Source
give access to the topics/signals from the simulation bus.
The smallest execution unit in FEP
is a fep3::arya::IJobRegistry::IJob
. A Job will be registered at the active scheduler and executed according to its scheduling mechanism.
If you want ADTF to behave as a deterministic component in the distributed system you need to replace your usually used ADTF Timer Runner with a FEP Job Runner
.
This guarantees that all ADTF Filters and other ADTF Components are executed in a synchronized way related to the other FEP Participants
of the FEP System
and therefore behave deterministically.
The FEP Timing Service
is the ADTF component responsible for the integration of the FEP
timing with ADTF. The service will register one clock at ADTF and one at the FEP Participant
of the ADTF session.
The service needs to operate in RL_System
.
The FEP
clock adtf_stream_clock_master will make the stream time of ADTF available to other FEP Participants
.
Also it will forward time updates to the slave FEP Participants
according to its configuration.
The clock is only used if the ADTF session is the timing master of the FEP System
.
The ADTF clock fep_synchronized_clock will make the time of the FEP Participant
available within ADTF by being registered as the current stream clock of the ADTF clock service.
The clock is only used if the ADTF session is a timing slave within the FEP System
.
FEP Timing Service
. You only need to configure the FEP System
using one of the following adtf_control commands.
FEP Participants
you need to add the FEP Timing Service
to your session and configure timing using one of the fep_configuretiming...
commands.
ADTF as a Framework provides several options and is extendable. The architecture is very common and provides a lot of possibilities to fulfill these requirements.
The job of our toolset is to provide the user convenience and automatization for that - of course also for using FEP
within ADTF.
You can use the context menu to launch an ADTF Session as FEP Participant
directly from the ADTF Configuration Editor in the two ways we described in the last guide:
We plan to expand the ADTF Configuration Editor so that it not only supports the creation of signals, but should also be able to display, configure and manage a entire FEP System
.
So stay tuned for a lot more improvements the upcoming ADTF releases!
FEP
is integrated in the adtf::remotesdk
.
All components based on the adtf::remotesdk
can now be addressed via FEP System
. For example you can use the ADTF Status Monitor with the url fep://<fep_system_name>/<fep_participant_name>
.
Another tool could be the ADTF Logview.
The next guide will tell how you can set up a time synchronized FEP System
.