Description | There are a few semantic checks that might be important to perform, others only nice to have.
Some checks that came to mind, in my view from more to less important, are:
1) Ensure the IV property (aadlstring) holding the FPGA configurations contains only configurations enumerated in the dedicated Enumerated type in the DV ‘FpgaConfiguration’
2) Each configuration enumerated in the dedicated DV Enumerated type is assigned to at least one Function Block, this to avoid calling on a reconfiguration which as no functionality associated
3) Check that Function blocks with some FPGA configurations defined are implemented only in the HW supported languages: VHDL, C, Simulink
4) Check size of IV property (aadlstring) holding the FPGA configurations, since for parsing it we are allocating an array with a certain size (at dispatcher level)
While the 3 and 4 seem possible to implement with not much effort in ./buildsupport/c/semantic_checks.c, since they only
require to compare fields in the Function Block itself, for which there are already examples there (do you agree?), 1 and 2 seem however more tricky, since the check has to get the possible values from the DV Enumerated type.
Do you see a simple way to get this info from the DV in semantic_checks.c?
Or should we think of a way to implement these checks also in the dmt module? (e.g. /dmt/msgPrinterASN1.py is getting the values of an Enumerated from the DV)
|