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:
- A compliance matrix has been completed, which shows how compliance has been enforced.
- All of the C code in the product is compliant with the rules or is subject to documented deviations.
- A list of all instances of rules not being followed is maintained, and for each instance there is an appropriately signed-off deviation.
- The following issues have been addressed:
- Training
- Style guide
- Compiler selection and validation
- Checking tool validation
- Metrics
- 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.