Adding 'conformance' to Choices
Contents
Adding 'conformance' to Choices
Background
Conformance
In static models, attributes and associations both have a property called "conformance". The allowed values are: "R" - Required: Implementers must support this element to be conformant "NP" - Not Permitted: The element is not supported/allowed blank - Conformance not yet determined (optional)
The localization process allows the conformance attribute to be constrained from blank to either R or NP in derived models.
Choices
Choices are static model structures containing two or more classes or CMETs. They indicate that at runtime, the instance can be bound to any one of the types defined in the Choice
Issue
When constraining static models in conformance profiles, there is occasionally a need to constrain the options within a choice, indicating that a particular choice element is either required (must be supported) or is not permitted (is no longer an allowed choice).
Proposed Solution
Add the concept of 'conformance' to choice elements. This will involve the following:
1. Enhancing the RMIM (Static Model) designer tool to allow a conformance value to be captured for each class in a choice
2. Coming up with a diagramming convention for showing conformance values within choices (likely by putting an asterisk beside the choice for "required" classes and a hash symbol for "not permitted" classes. (This is the same convention as for associations and attributes.)
3. Add support for capturing this property in the MIF
4. Add support to publication tooling (table views, Excel views, etc.) to expose the element.
Resolution
Accept the idea of adding "conformance" as a characteristic of classes within a choice. Note there is an implicit requirement to support at least one element within a choice if an association to the choice is supported.
Motion: 20080418 Lee, Greg 5,0,0
Action: Need support in the MIF and tooling
Follow-up
2011-01-12: MIF change has been made. Change in RMIM-Designer is not possible due to need to tie the conformance to the generalization relationship, not the class itself. This will need to wait for the "new tool"