Amadis

Physical Model

 

A physical model (or deployment model) is a representation explaining which physical modules are installed on nodes.

 

Agnos Framework requires a specific deployment, and different physical components to be able run on an embedded device or any other systems. Each component below is a binary file that has a version and a corresponding code management under a version control system. Test Application - Kizis - is not part of the released product but delivered as an example to get L2 LoAs and to help the L3 development.

Depending on the platform, the components below might be compiled in a single binary, a.k.a the “firmware”.

Compilation

The compilation is the step required to generate binaries. Depending on the platform OS, there are 2 alternate possibilities:

  1. Either the OS supports dynamic library loading

  2. Either the OS only supports static compilation units

In any alternative, use Symbols, Options, and Constants to define which options fit to the target.

Deployment View

 

Applications File (apps file)

When Agnos Framework uses the dynamic library loading mechanism, all libraries shall be copy to /AGNOS directory. From there, a specific file (apps) must be modify to declare which CL kernels the system supports. Here is the format:

  • <apps> ::= <header><separator><list_of_applications>

  • <header> ::= <digit>|<integer><digit>

  • <digit> ::= “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9”

  • <separator> ::= <LF><CR>

  • <LF> ::= 0ah

  • <CR> ::= 13h

  • <list_of_applications> ::= {<application>}|<list_of_applications>

  • <applications> ::= <text><extension>

  • <text> ::= <character><text>

  • <character> := “A” | “B” | “C” | “D” | “E” | “F” | “G” | “H” | “I” | “J” | “K” | “L” | “M” | “N” | “O” | “P” | “Q” | “R” | “S” | “T” | “U” | “V” | “W” | “X” | “Y” | “Z” | “a” | “b” | “c” | “d” | “e” | “f” | “g” | “h” | “i” | “j” | “k” | “l” | “m” | “n” | “o” | “p” | “q” | “r” | “s” | “t” | “u” | “v” | “w” | “x” | “y” | “z” | <digit>

  • <extension> ::= “.so” | “.dll”

 

Example of an apps file supporting 2 CL kernels (Mastercard + Visa):

2 libC2.so libC3.so