The Headerless Handlers and Observer patterns are particularly applicable - and the paper gives a good illustration of the “Subscription” metaphor that is so widely used by Open-AT…
Note that the paper does treat everything in Object-Oriented terms. Open-AT isn’t exactly “Object Oriented”, but that doesn’t detract at all from the general principles.
I think Wavecom ADL develop team used WIN32 API concepts and added subscribe/publish terminology. There were many Win32 programming (message-driven) books in 1990’s. Therefore, if OAT (ADL) app developers have Win32 programming skills, I am sure OAT programming is a piece of cake for them. If someone would like to use C++ to development OAT app, I recommend to read Design Pattern (a Bible for C++ app developers) written by GANG OF FOUR in 1994.
I really would like to see the next ADL release will change some design architecture for C++ wrapper convenience, such as, adding context for all callback functions, just like WIN32 API does.
Actually, I doubt that they specifically took the Windows API; rather, they took the same general concepts that Windows uses.
But, yes: Windows GUI programming is very much event-driven - so people familiar with Windows GUI programming should have no trouble with the “Event Driven” paradigm…
The specific problem addressed is the decoding of GPS NMEA Sentences.
In particular, note that this also illustrates how to accept data in arbitrary “chunks” that do not necessarily correspond to complete “messages” (NMEA Sentences, in this case) - which is exactly what happens when receiving data via FCM.