The overhead is the big difference for the event driven case (There's zero overhead for the global repository). You'll end up with Pnhandlers notifying DnHandlers of a PnMessage every 40ms. There's multiple PnHandlers and DnHandlers. The invocation rates of a handful of DnHandlers and the corresponding Pn Message event of interest is as follows:
D1Handler : 200ms intervals (P1 Message event )
D3Handler : 500ms intervals - don't care about Pn message events
D4Handler : 1200ms intervals (P2 message event )
D5Handler : 1300ms intervals (P3 message event )
The intervals simply reflect the rate at which the A/C sends the various messages. Simply put, given the execution flow in the pdf, when (1) executes at the intervals above I should Read a D1msg every 200ms, D3msg every 500ms etc.
From the pdf. What I could do is have the PnHandler (P1) notify the DnHandler (D1) with the P1 message event at Tn-40 (ms). In this case at T=160ms, T=320ms etc. IOW: 40 ms prior to the (1) pdf. Of course this becomes a nuisance given I'd have to do this for every Dn message

