Schema: Property_assignment_arm



SCHEMA Property_assignment_arm;

USE FROM Foundation_representation_arm;    -- ISO/TS 10303-1006

USE FROM Independent_property_arm;    -- ISO/TS 10303-1036


TYPE property_assignment_select = EXTENSIBLE SELECT;
END_TYPE;

TYPE represented_definition = EXTENSIBLE SELECT
   (Independent_property,
    Assigned_property);
END_TYPE;

ENTITY Applied_independent_property
  SUBTYPE OF (Assigned_property);
  base_independent_property : Independent_property;
DERIVE
  SELF\Assigned_property.name : STRING := base_independent_property.property_type;
END_ENTITY;

ENTITY Assigned_property;
  id : OPTIONAL STRING;
  name : STRING;
  description : OPTIONAL STRING;
  described_element : property_assignment_select;
END_ENTITY;

ENTITY Property_definition_representation
  ABSTRACT SUPERTYPE ;
  description : OPTIONAL STRING;
  definition : represented_definition;
  rep : Representation;
  role : OPTIONAL STRING;
END_ENTITY;

ENTITY Property_representation
  SUBTYPE OF (Property_definition_representation);
  SELF\Property_definition_representation.definition RENAMED property : Assigned_property;
END_ENTITY;

END_SCHEMA;  -- Property_assignment_arm