The logical model is a representation of Agnos independently from its physical representation. Agnos Framework logical architecture is made of 4 main abstractions:
AgnosEP: the entry point
AgnosMW: the data manager
Agnos: the EMVCo L2 Engine (using a database to store tags, AgnosDB)
GPI: the Service Abstraction Layer provided as an interface to upper levels
The basics concepts are:
GPI (GPI library): also called the Hardware Abstraction Layer. It abstracts all the upper levels of the software architecture from the device
Agnos (Agnos library / see agnos.h ): also called the EMVCo kernel. It supports EMV contact, and Magstripe/EMV contactless transactions steps. It is EMVCo Level2 certified. It runs on top of the GPI so that it can be ported on any hardware platforms integrating a C compiler
AgnosMW (AgnosMW library / see datamngr.h): the data manager manages the configuration contexts for TERMINAL (defining acceptance device’s contact ICS), PROCESSING (defining which AIDs the system supports for EMV contact/contactless and – for EMV contact only – related risk management parameters), ENTRY_POINT (contactless only – defining risk, business and transaction parameters), RAW SUPPORTED_AID (defining which contactless AIDId are supported), RAW COMBINATION (defining which contactless combinations are supported). All the contexts may be loaded using ACE or binary files in RAW or TLV formats
EntryPoint (AgnosEP library / see entrypoint.h): the single point of interaction from L3 when performing a payment transaction. Level3 calls a dedicated service to initiate a transaction payment (being contact/contactless/magstripe). It shall prepare a specific C data structure – tPaymentContext – and analyze the outcome in return – tOutcomeParameter – once the transaction is completed. Once a transaction has been initiated, the entry point may use these structures to communicate with lower levels. This component is not used in a contact
L2 CL Card Processing (used by AgnosEP library): application like PayPass, PayWave, etc… that have been developed and certified using the framework and its APIs. They are dynamically loaded by the entry point at the start of the system. They implement business rules according networks or EMVCo specifications. Contactless kernels are certified components. They can be developed by integrators (see Agnos Framework Service integration guide) and they can also be integrated onto other frameworks thanks to their generic API
“L3” applications (green) can integrate Agnos without dealing with the underlying complexity. Open L2 API and the Dispatcher may be adapted depending on “L3” constraints without impacting “L2” certifications.