We're updating the issue view to help you get more done.Learn more

Correct functional semantics of AOM constraint model package

In the current revsion of the AOM, the constraint_model package contains a number of
functions that are defined on the wrong classes or in the wrong way. These are:
- assumed_value; currently defined both on C_DOMAIN_TYPE and on C_PRIMITIVE_OBJECT (repetition)
- any_allowed, currently defined as an attribute on ARCHETYPE_CONSTRAINT, but can in fact be
  defined functionally in terms of other attributes on all classes
- valid_value, currently defined on C_DOMAIN_TYPE, but needed on C_COMPLEX_OBJECT and C_PRIMITIVE_OBJECT
- default_value, currently defined on C_DOMAIN_TYPE, but needed on C_COMPLEX_OBJECT and C_PRIMITIVE_OBJECT

Status

Assignee

JeffJ

Reporter

JeffJ

Change Description

Changes made: - add new class C_DEFINED_OBJECT as parent of C_PRIMITIVE_OBJECT, C_COMPLEX_OBJECT, and C_DOMAIN_TYPE. This new class includes assumed_value attribute, and functions any_allowed, has_assumed_value and valid_value. - add new class C_REFERENCE_OBJECT, as parent of ARCHETYPE_INTERNAL_REF, ARCHETYPE_SLOT, and CONSTRAINT_REF. - remove any_allowed attribute from ARCHETYPE_CONSTRAINT - remove functions apart from standard_equivalent from C_DOMAIN_TYPE This solution has been working in the reference parser for some months.

Approved By

PG

Components

Fix versions

Priority

Minor