(*
 $Id$
 ISO TC184/SC4/WG12 N4374 - ISO/TS 10303-1030 Property assignment - EXPRESS ARM
 Supersedes ISO TC184/SC4/WG12 N2972
*)


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
