MISRA Compliancy

SodiusWillert has gone through great effort to adapt the code in the RXF so it is MISRA 2004 compliant. If your application must be MISRA 2004 compliant, you must set up your own MISRA compliance process, which can be based on our product plus MISRA 2004 specific documents and procedures.

In the sources of the RXF, excluding those of the Container Classes, you will find C comments, which refer to MISRA 2004. These MISRA suppression comments use macros to be able to support different tools for MISRA 2004 compliancy checking. Some tools can be adapted to recognize these macros as specific rule suppression comments while for other tools such as PC-lint the macros need to be replaced by tool specific suppressions first.

MISRA-C:2004 (4.4) states that in order to claim compliance with MISRA-C:2004  evidence must exist to show that:
  1. A compliance matrix has been completed, which shows how compliance has been enforced.
  2. All of the C code in the product is compliant with the rules or is subject to documented deviations.
  3. A list of all instances of rules not being followed is maintained, and for each instance there is an appropriately signed-off deviation.
  4. The following issues have been addressed:
    1. Training
    2. Style guide
    3. Compiler selection and validation
    4. Checking tool validation
    5. Metrics
    6. Test coverage


Please contact our sales department at +49 5722 9678 60 for any questions or inquiries for acquiring our MISRA 2004 specific documents and procedures.

MISRA Settings / Profiles

MISRA98
Rhapsody comes with a profile to improve code generation to be more MISRA98 conform. This profile adds a few suppression comments (tool specific for LDRA) and sets several properties to influence code generation. But applying this profile still does not make the generated code 100% MISRA98 conform.
MISRA2004
Willert Software tools delivers an adapted version the MISRA98 settings, which basically does the same as MISRA98, but the suppression comments are targeted for MISRA2004 and the tool Polyspace.
MISRA_C_2012
This is another adapted version of MISRA98, but with suppression comments targeted for MISRA2012 and the tool PC-lint.

In addition it offers two stereotypes that can be used in the user model to make e.g. an operation suppress some MISRA rule(s) in their body or specification, set up via tags.

Please note, in IBM's MISRA98 profile also RiCContainers::Qualified::Add, GetKey and RemoveKey properties are overridden with MISRA suppresion comments. This profile does not override these, as 1-to-* relations using container classes are not supported in safety critical environments in SodiusWillert' opinion.

Please note, in IBM's MISRA98 profile also RiCContainers::Qualified::Add, GetKey and RemoveKey properties are overridden with MISRA suppresion comments. This profile does not override these, as 1-to-* relations using container classes are not supported in safety critical environments in SodiusWillert' opinion.