Application module: Functional data and schematic representation ISO/TS 10303-421:2005(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviations

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
Bibliography
Index

(*
ISO TC184/SC4/WG3 N1596 - ISO/TS 10303-421 Functional data and schematic representation - EXPRESS ARM Long form
Supersedes ISO TC184/SC4/WG3 N1408
*)



SCHEMA Functional_data_and_schematic_representation_arm_lf;


TYPE activity_item = SELECT
   (Class_of_activity,
    Class_of_composition_of_activity,
    Class_of_composition_of_product,
    Class_of_connection_of_activity,
    Class_of_connection_of_product,
    Class_of_containment_of_product,
    Class_of_involvement_in_activity,
    Class_of_involvement_of_product_in_connection,
    Class_of_person,
    Class_of_product,
    Composition_of_individual_activity,
    Composition_of_individual_product,
    Connection_of_individual_activity,
    Connection_of_individual_product,
    Containment_of_individual_product,
    Drawing_revision_class_of_document,
    Drawing_sheet_revision_class_of_document,
    Individual_activity,
    Individual_involvement_in_activity,
    Involvement_of_individual_product_in_connection,
    Organization,
    Organization_type,
    Person,
    Person_in_organization,
    Possession_of_property,
    Product_as_individual_version,
    Property_condition,
    Schematic_element,
    Symbolization_by_schematic_element);
END_TYPE;

TYPE any_number_value = NUMBER;
END_TYPE;

TYPE any_string_value = STRING;
END_TYPE;

TYPE characterized_activity_definition = SELECT
   (Activity,
    Activity_method);
END_TYPE;

TYPE classification_select = SELECT
   (Composition_of_individual_activity,
    Composition_of_individual_product,
    Connection_of_individual_activity,
    Connection_of_individual_product,
    Containment_of_individual_product,
    Individual_activity,
    Individual_involvement_in_activity,
    Involvement_of_individual_product_in_connection,
    Product_as_individual_version);
END_TYPE;

TYPE complete_membership_select = SELECT
   (Composition_of_individual_activity,
    Composition_of_individual_product,
    Connection_of_individual_activity,
    Connection_of_individual_product,
    Containment_of_individual_product,
    Individual_activity,
    Individual_involvement_in_activity,
    Involvement_of_individual_product_in_connection,
    Product_as_individual_version);
END_TYPE;

TYPE draughting_approval_item = SELECT
   (Drawing_revision,
    Drawing_sheet_revision);
END_TYPE;

TYPE external_identification_item = SELECT
   (Class_of_activity,
    Class_of_composition_of_activity,
    Class_of_composition_of_product,
    Class_of_connection_of_activity,
    Class_of_connection_of_product,
    Class_of_containment_of_product,
    Class_of_involvement_in_activity,
    Class_of_involvement_of_product_in_connection,
    Class_of_person,
    Class_of_product,
    Drawing_revision_class_of_document,
    Drawing_sheet_revision_class_of_document,
    Implicit_schematic_element_definition,
    Organization_type,
    Property_condition,
    Schematic_element,
    Symbolization_by_schematic_element);
END_TYPE;

TYPE identification_item = SELECT
   (Product_as_individual,
    Product_as_individual_version,
    Product_as_individual_view);
END_TYPE;

TYPE involved_class_select = activity_item ;
WHERE
  wr1: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.COMPOSITION_OF_INDIVIDUAL_ACTIVITY' IN TYPEOF(SELF));
  wr2: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.COMPOSITION_OF_INDIVIDUAL_PRODUCT' IN TYPEOF(SELF));
  wr3: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.CONNECTION_OF_INDIVIDUAL_ACTIVITY' IN TYPEOF(SELF));
  wr4: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.CONNECTION_OF_INDIVIDUAL_PRODUCT' IN TYPEOF(SELF));
  wr5: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.CONTAINMENT_OF_INDIVIDUAL_PRODUCT' IN TYPEOF(SELF));
  wr6: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.INDIVIDUAL_ACTIVITY' IN TYPEOF(SELF));
  wr7: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.INDIVIDUAL_INVOLVEMENT_IN_ACTIVITY' IN TYPEOF(SELF));
  wr8: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.INVOLVEMENT_OF_INDIVIDUAL_PRODUCT_IN_CONNECTION' IN TYPEOF(SELF));
  wr9: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.ORGANIZATION' IN TYPEOF(SELF));
  wr10: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.PERSON' IN TYPEOF(SELF));
  wr11: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.PERSON_IN_ORGANIZATION' IN TYPEOF(SELF));
  wr12: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.POSSESSION_OF_PROPERTY' IN TYPEOF(SELF));
  wr13: NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.PRODUCT_AS_INDIVIDUAL_VERSION' IN TYPEOF(SELF));
END_TYPE;

TYPE involved_select = activity_item;
END_TYPE;

TYPE length_measure = REAL;
END_TYPE;

TYPE maths_atom = SELECT
   (maths_boolean,
    maths_complex,
    maths_integer,
    maths_real);
END_TYPE;

TYPE maths_boolean = BOOLEAN;
END_TYPE;

TYPE maths_complex = LIST[2:2] OF REAL;
END_TYPE;

TYPE maths_integer = INTEGER;
END_TYPE;

TYPE maths_real = REAL;
END_TYPE;

TYPE maths_tuple = LIST OF maths_value;
END_TYPE;

TYPE maths_value = SELECT
   (Maths_space,
    maths_atom,
    maths_tuple);
END_TYPE;

TYPE measure_value = SELECT
   (any_number_value,
    any_string_value,
    length_measure,
    plane_angle_measure);
END_TYPE;

TYPE organization_or_person_in_organization_select = SELECT
   (Organization,
    Person_in_organization);
END_TYPE;

TYPE plane_angle_measure = REAL;
END_TYPE;

TYPE property_assignment_select = SELECT
   (Class_of_activity,
    Class_of_product,
    Individual_activity,
    Product_as_individual_version);
END_TYPE;

TYPE relationship_select = SELECT
   (Class_of_composition_of_activity,
    Class_of_composition_of_product,
    Class_of_connection_of_activity,
    Class_of_connection_of_product,
    Class_of_containment_of_product,
    Class_of_involvement_in_activity,
    Class_of_involvement_of_product_in_connection);
END_TYPE;

TYPE symbolized_class_select = SELECT
   (Class_of_activity,
    Class_of_composition_of_activity,
    Class_of_composition_of_product,
    Class_of_connection_of_activity,
    Class_of_connection_of_product,
    Class_of_containment_of_product,
    Class_of_involvement_in_activity,
    Class_of_involvement_of_product_in_connection,
    Class_of_person,
    Class_of_product,
    Drawing_revision_class_of_document,
    Drawing_sheet_revision_class_of_document,
    Organization_type,
    Property_condition,
    Schematic_element,
    Symbolization_by_schematic_element);
END_TYPE;

TYPE symbolized_item_select = SELECT
   (Class_of_activity,
    Class_of_composition_of_activity,
    Class_of_composition_of_product,
    Class_of_connection_of_activity,
    Class_of_connection_of_product,
    Class_of_containment_of_product,
    Class_of_involvement_in_activity,
    Class_of_involvement_of_product_in_connection,
    Class_of_person,
    Class_of_product,
    Composition_of_individual_activity,
    Composition_of_individual_product,
    Connection_of_individual_activity,
    Connection_of_individual_product,
    Containment_of_individual_product,
    Drawing_revision_class_of_document,
    Drawing_sheet_revision_class_of_document,
    Individual_activity,
    Individual_involvement_in_activity,
    Involvement_of_individual_product_in_connection,
    Organization,
    Organization_type,
    Person,
    Person_in_organization,
    Possession_of_property,
    Product_as_individual_version,
    Property_condition,
    Schematic_element,
    Symbolization_by_schematic_element);
END_TYPE;

ENTITY Activity;
  id : STRING;
  name : STRING;
  description : OPTIONAL STRING;
  chosen_method : Activity_method;
END_ENTITY;

ENTITY Activity_method;
  name : STRING;
  description : OPTIONAL STRING;
  consequence : OPTIONAL STRING;
  purpose : STRING;
END_ENTITY;

ENTITY Activity_property;
  name : STRING;
  description : STRING;
  described_element : characterized_activity_definition;
END_ENTITY;

ENTITY Activity_property_representation;
  description : OPTIONAL STRING;
  property : Activity_property;
  rep : Representation;
  role : STRING;
END_ENTITY;

ENTITY Activity_relationship;
  name : STRING;
  description : OPTIONAL STRING;
  relating_activity : Activity;
  related_activity : Activity;
END_ENTITY;

ENTITY Activity_status;
  assigned_activity : Activity;
  status : STRING;
END_ENTITY;

ENTITY Address;
  name : OPTIONAL STRING;
  street_number : OPTIONAL STRING;
  street : OPTIONAL STRING;
  postal_box : OPTIONAL STRING;
  town : OPTIONAL STRING;
  region : OPTIONAL STRING;
  postal_code : OPTIONAL STRING;
  country : OPTIONAL STRING;
  internal_location : OPTIONAL STRING;
  facsimile_number : OPTIONAL STRING;
  telephone_number : OPTIONAL STRING;
  electronic_mail_address : OPTIONAL STRING;
  telex_number : OPTIONAL STRING;
  url : OPTIONAL STRING;
WHERE
  WR1: EXISTS(street_number) OR EXISTS(street) OR EXISTS(postal_box) OR EXISTS(town) OR EXISTS(region) OR EXISTS(postal_code) OR EXISTS(country) OR EXISTS(internal_location) OR EXISTS(facsimile_number) OR EXISTS(telephone_number) OR EXISTS(electronic_mail_address) OR EXISTS(telex_number);
END_ENTITY;

ENTITY Address_assignment;
  address_type : OPTIONAL STRING;
  assigned_address : Address;
  located_person_organizations : SET[1:?] OF organization_or_person_in_organization_select;
END_ENTITY;

ENTITY Amount_of_substance_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Applied_activity_assignment;
  assigned_activity : Activity;
  items : SET[1:?] OF activity_item;
  role : STRING;
END_ENTITY;

ENTITY Applied_independent_activity_property
  SUBTYPE OF (Activity_property);
  base_element_property : Independent_property;
DERIVE
  SELF\Activity_property.name : STRING := base_element_property.property_type;
END_ENTITY;

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 Cardinality_of_related_class;
  cardinality : Maths_space;
  relationship : relationship_select;
END_ENTITY;

ENTITY Cardinality_of_relating_class;
  cardinality : Maths_space;
  relationship : relationship_select;
END_ENTITY;

ENTITY Class
  SUPERTYPE OF (ONEOF (Class_by_extension,
                       Class_by_intension));
  id : STRING;
  name : STRING;
  description : OPTIONAL STRING;
END_ENTITY;

ENTITY Class_by_extension
  SUBTYPE OF (Class);
END_ENTITY;

ENTITY Class_by_intension
  SUBTYPE OF (Class);
END_ENTITY;

ENTITY Class_of_activity
  SUBTYPE OF (Activity, Class);
END_ENTITY;

ENTITY Class_of_composition_of_activity
  SUBTYPE OF (Activity_relationship, Class);
  SELF\Activity_relationship.relating_activity : Class_of_activity;
  SELF\Activity_relationship.related_activity : Class_of_activity;
END_ENTITY;

ENTITY Class_of_composition_of_product
  SUBTYPE OF (Product_version_relationship, Class);
  SELF\Product_version_relationship.relating_version : Class_of_product;
  SELF\Product_version_relationship.related_version : Class_of_product;
END_ENTITY;

ENTITY Class_of_connection_of_activity
  SUBTYPE OF (Activity_relationship, Class);
  SELF\Activity_relationship.relating_activity : Class_of_activity;
  SELF\Activity_relationship.related_activity : Class_of_activity;
END_ENTITY;

ENTITY Class_of_connection_of_product
  SUBTYPE OF (Product_version_relationship, Class);
  SELF\Product_version_relationship.relating_version : Class_of_product;
  SELF\Product_version_relationship.related_version : Class_of_product;
END_ENTITY;

ENTITY Class_of_connection_of_product_with_involvements
  SUBTYPE OF (Class_of_connection_of_product, Class_of_product);
END_ENTITY;

ENTITY Class_of_containment_of_product
  SUBTYPE OF (Product_version_relationship, Class);
  SELF\Product_version_relationship.relating_version : Class_of_product;
  SELF\Product_version_relationship.related_version : Class_of_product;
END_ENTITY;

ENTITY Class_of_involvement_in_activity
  SUBTYPE OF (Applied_activity_assignment, Class);
  SELF\Applied_activity_assignment.assigned_activity : Class_of_activity;
  SELF\Applied_activity_assignment.items : SET[1:1] OF involved_class_select;
END_ENTITY;

ENTITY Class_of_involvement_of_product_in_connection
  SUBTYPE OF (Product_version_relationship, Class);
  SELF\Product_version_relationship.relating_version : Class_of_connection_of_product_with_involvements;
  SELF\Product_version_relationship.related_version : Class_of_product;
END_ENTITY;

ENTITY Class_of_person
  SUBTYPE OF (Class);
END_ENTITY;

ENTITY Class_of_possession_of_property
  SUBTYPE OF (Applied_independent_property);
  SELF\Applied_independent_property.base_independent_property : Physical_quantity_space;
END_ENTITY;

ENTITY Class_of_product
  SUBTYPE OF (Product_version, Class);
END_ENTITY;

ENTITY Classification;
  classified : classification_select;
  classifier : Class;
END_ENTITY;

ENTITY Complement;
  id : STRING;
  name : STRING;
  description : STRING;
  set_1 : Class;
  set_2 : Class;
  universe : Class;
END_ENTITY;

ENTITY Complete_membership;
  containing_set : Class;
  members : SET OF complete_membership_select;
END_ENTITY;

ENTITY Composition_of_individual_activity
  SUBTYPE OF (Activity_relationship);
  SELF\Activity_relationship.relating_activity : Individual_activity;
  SELF\Activity_relationship.related_activity : Individual_activity;
END_ENTITY;

ENTITY Composition_of_individual_product
  SUBTYPE OF (Product_version_relationship);
  SELF\Product_version_relationship.relating_version : Product_as_individual_version;
  SELF\Product_version_relationship.related_version : Product_as_individual_version;
END_ENTITY;

ENTITY Composition_of_schematic_element_occurrence;
  part : Schematic_element_occurrence;
  whole : Schematic_element_occurrence;
END_ENTITY;

ENTITY Connection_of_individual_activity
  SUBTYPE OF (Activity_relationship);
  SELF\Activity_relationship.relating_activity : Individual_activity;
  SELF\Activity_relationship.related_activity : Individual_activity;
END_ENTITY;

ENTITY Connection_of_individual_product
  SUBTYPE OF (Product_version_relationship);
  SELF\Product_version_relationship.relating_version : Product_as_individual_version;
  SELF\Product_version_relationship.related_version : Product_as_individual_version;
END_ENTITY;

ENTITY Connection_of_individual_product_with_involvements
  SUBTYPE OF (Connection_of_individual_product, Product_as_individual_version);
END_ENTITY;

ENTITY Connection_of_schematic_element_occurrence;
  side_1 : Schematic_element_occurrence;
  side_2 : Schematic_element_occurrence;
END_ENTITY;

ENTITY Containment_of_individual_product
  SUBTYPE OF (Product_version_relationship);
  SELF\Product_version_relationship.relating_version : Product_as_individual_version;
  SELF\Product_version_relationship.related_version : Product_as_individual_version;
END_ENTITY;

ENTITY Context_dependent_unit
  SUBTYPE OF (Unit);
WHERE
  WR1: EXISTS(SELF\Unit.name);
END_ENTITY;

ENTITY Conversion_based_unit
  SUBTYPE OF (Unit);
  conversion_factor : Value_with_unit;
WHERE
  WR1: EXISTS(SELF\Unit.name);
END_ENTITY;

ENTITY Definition_of_schematic_element_occurrence
  SUBTYPE OF (Subset);
  SELF\Subset.subset : Schematic_element_occurrence;
  SELF\Subset.superset : Schematic_element_definition;
END_ENTITY;

ENTITY Derivation_of_schematic_element_definition;
  base : Schematic_element_definition;
  derived : Implicit_schematic_element_definition;
END_ENTITY;

ENTITY Derived_unit
  SUBTYPE OF (Unit);
  elements : SET[1:?] OF Derived_unit_element;
END_ENTITY;

ENTITY Derived_unit_element;
  base_unit : Unit;
  exponent : REAL;
END_ENTITY;

ENTITY Document
  SUBTYPE OF (Product);
END_ENTITY;

ENTITY Document_version
  SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Document;
END_ENTITY;

ENTITY Draughting_annotation_occurrence
  SUBTYPE OF (Representation);
END_ENTITY;

ENTITY Draughting_approval_assignment;
  items : SET[1:?] OF draughting_approval_item;
END_ENTITY;

ENTITY Drawing_revision
  SUBTYPE OF (Representation);
END_ENTITY;

ENTITY Drawing_revision_class_of_document
  SUBTYPE OF (Document_version, Class, Drawing_revision);
END_ENTITY;

ENTITY Drawing_sheet_revision
  SUBTYPE OF (Representation);
END_ENTITY;

ENTITY Drawing_sheet_revision_class_of_document
  SUBTYPE OF (Document_version, Class, Drawing_sheet_revision);
END_ENTITY;

ENTITY Duration
  SUBTYPE OF (Value_with_unit);
WHERE
  WR1: 'FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.' + 'TIME_UNIT' IN TYPEOF(SELF\Value_with_unit.unit);
END_ENTITY;

ENTITY Electric_current_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Explicit_schematic_element_definition
  SUBTYPE OF (Schematic_element_definition);
  explicit_parts : SET[1:?] OF Draughting_annotation_occurrence;
END_ENTITY;

ENTITY External_item_identification
  SUBTYPE OF (External_source_identification);
  external_id : STRING;
END_ENTITY;

ENTITY External_source_identification;
  source_id : STRING;
  source_type : STRING;
  item : external_identification_item;
  description : OPTIONAL STRING;
END_ENTITY;

ENTITY Identification_assignment;
  identifier : STRING;
  role : STRING;
  description : OPTIONAL STRING;
  items : SET[1:?] OF identification_item;
END_ENTITY;

ENTITY Identification_of_property;
  identifier : maths_value;
  property : Physical_quantity_instance;
END_ENTITY;

ENTITY Implicit_schematic_element_definition
  SUBTYPE OF (Schematic_element_definition);
END_ENTITY;

ENTITY Independent_property;
  id : STRING;
  property_type : STRING;
  description : OPTIONAL STRING;
END_ENTITY;

ENTITY Independent_property_relationship;
  relation_type : STRING;
  description : OPTIONAL STRING;
  relating : Independent_property;
  related : Independent_property;
END_ENTITY;

ENTITY Individual_activity
  SUBTYPE OF (Activity);
END_ENTITY;

ENTITY Individual_involvement_in_activity
  SUBTYPE OF (Applied_activity_assignment);
  SELF\Applied_activity_assignment.assigned_activity : Individual_activity;
  SELF\Applied_activity_assignment.items : SET[1:1] OF involved_select;
END_ENTITY;

ENTITY Intersection;
  id : STRING;
  name : STRING;
  description : OPTIONAL STRING;
  operand : SET[2:?] OF Class;
  resultant : Class;
END_ENTITY;

ENTITY Intra_page_connector
  SUBTYPE OF (Page_connector);
END_ENTITY;

ENTITY Involvement_of_individual_product_in_connection
  SUBTYPE OF (Product_version_relationship);
  SELF\Product_version_relationship.relating_version : Connection_of_individual_product_with_involvements;
  SELF\Product_version_relationship.related_version : Product_as_individual_version;
END_ENTITY;

ENTITY Length_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Luminous_intensity_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Mass_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Maths_space;
END_ENTITY;

ENTITY Numerical_representation_context
  SUBTYPE OF (Representation_context);
  units : OPTIONAL SET[1:?] OF Unit;
  accuracies : OPTIONAL SET[1:?] OF Uncertainty_with_unit;
END_ENTITY;

ENTITY Off_page_connector
  SUBTYPE OF (Page_connector);
END_ENTITY;

ENTITY On_page_connector
  SUBTYPE OF (Page_connector);
END_ENTITY;

ENTITY Organization;
  id : OPTIONAL STRING;
  name : STRING;
END_ENTITY;

ENTITY Organization_organization_type_relationship;
  organization : Organization;
  organization_type : Organization_type;
END_ENTITY;

ENTITY Organization_relationship;
  relation_type : STRING;
  description : OPTIONAL STRING;
  relating_organization : Organization;
  related_organization : Organization;
END_ENTITY;

ENTITY Organization_type;
  name : STRING;
  description : OPTIONAL STRING;
END_ENTITY;

ENTITY Page_connector
  SUBTYPE OF (Schematic_element_definition);
END_ENTITY;

ENTITY Person;
  last_name : STRING;
  first_name : OPTIONAL STRING;
  middle_names : OPTIONAL LIST[1:?] OF STRING;
  prefix_titles : OPTIONAL LIST[1:?] OF STRING;
  suffix_titles : OPTIONAL LIST[1:?] OF STRING;
END_ENTITY;

ENTITY Person_in_organization;
  concerned_person : Person;
  containing_organization : Organization;
  role : STRING;
END_ENTITY;

ENTITY Physical_quantity_instance
  SUBTYPE OF (Independent_property, Class);
END_ENTITY;

ENTITY Physical_quantity_range
  SUBTYPE OF (Physical_quantity_space);
END_ENTITY;

ENTITY Physical_quantity_space
  SUBTYPE OF (Independent_property, Class);
END_ENTITY;

ENTITY Physical_quantity_symmetry
  SUBTYPE OF (Independent_property, Class);
END_ENTITY;

ENTITY Physical_quantity_symmetry_by_library_reference
  SUBTYPE OF (Physical_quantity_symmetry);
  item_id : STRING;
  source_id : STRING;
END_ENTITY;

ENTITY Plane_angle_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Possession_of_property
  SUBTYPE OF (Applied_independent_property);
  SELF\Applied_independent_property.base_independent_property : Physical_quantity_instance;
END_ENTITY;

ENTITY Power_set;
  id : STRING;
  name : STRING;
  description : OPTIONAL STRING;
  base : Class;
  derived : Class;
END_ENTITY;

ENTITY Product;
  id : STRING;
  name : OPTIONAL STRING;
  description : OPTIONAL STRING;
END_ENTITY;

ENTITY Product_as_individual
  SUBTYPE OF (Product);
END_ENTITY;

ENTITY Product_as_individual_version
  ABSTRACT SUPERTYPE OF (ONEOF (Product_as_planned,
                                Product_as_realized))
  SUBTYPE OF (Product_version);
  SELF\Product_version.of_product : Product_as_individual;
END_ENTITY;

ENTITY Product_as_individual_view
  SUBTYPE OF (Product_view_definition);
  SELF\Product_view_definition.defined_version : Product_as_individual_version;
END_ENTITY;

ENTITY Product_as_planned
  SUBTYPE OF (Product_as_individual_version);
END_ENTITY;

ENTITY Product_as_realized
  SUBTYPE OF (Product_as_individual_version);
END_ENTITY;

ENTITY Product_category;
  id : OPTIONAL STRING;
  name : STRING;
  description : OPTIONAL STRING;
END_ENTITY;

ENTITY Product_category_assignment;
  category : Product_category;
  products : SET[1:?] OF Product;
END_ENTITY;

ENTITY Product_category_hierarchy;
  super_category : Product_category;
  sub_category : Product_category;
END_ENTITY;

ENTITY Product_design_to_individual;
  product_design : Product;
  individual_product : Product_as_individual;
END_ENTITY;

ENTITY Product_design_version_to_individual;
  product_design_version : Product_version;
  individual_product : Product_as_individual_version;
END_ENTITY;

ENTITY Product_planned_to_realized;
  planned_product : Product_as_planned;
  realized_product : Product_as_realized;
END_ENTITY;

ENTITY Product_version;
  id : STRING;
  description : OPTIONAL STRING;
  of_product : Product;
END_ENTITY;

ENTITY Product_version_relationship;
  relation_type : STRING;
  description : OPTIONAL STRING;
  relating_version : Product_version;
  related_version : Product_version;
WHERE
  WR1: relating_version :<>: related_version;
END_ENTITY;

ENTITY Product_view_definition;
  id : STRING;
  name : OPTIONAL STRING;
  additional_characterization : OPTIONAL STRING;
  initial_context : View_definition_context;
  additional_contexts : SET OF View_definition_context;
  defined_version : Product_version;
WHERE
  WR1: NOT (initial_context IN additional_contexts);
END_ENTITY;

ENTITY Proper_subset;
  id : STRING;
  name : STRING;
  description : OPTIONAL STRING;
  subset : Class;
  superset : Class;
END_ENTITY;

ENTITY Property_condition
  SUBTYPE OF (Class_of_possession_of_property);
  SELF\Applied_independent_property.base_independent_property : Physical_quantity_range;
END_ENTITY;

ENTITY Property_representation;
  description : OPTIONAL STRING;
  property : Assigned_property;
  rep : Representation;
  role : OPTIONAL STRING;
END_ENTITY;

ENTITY Ratio_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Reference_between_page_connectors
  SUBTYPE OF (Representation_relationship);
  SELF\Representation_relationship.rep_1 : Page_connector;
  SELF\Representation_relationship.rep_2 : Page_connector;
END_ENTITY;

ENTITY Representation;
  id : OPTIONAL STRING;
  name : STRING;
  description : OPTIONAL STRING;
  context_of_items : Representation_context;
  items : SET[1:?] OF Representation_item;
END_ENTITY;

ENTITY Representation_context;
  id : STRING;
  kind : STRING;
INVERSE
  representations_in_context : SET[1:?] OF Representation FOR context_of_items;
END_ENTITY;

ENTITY Representation_item
  ABSTRACT SUPERTYPE ;
  name : STRING;
END_ENTITY;

ENTITY Representation_relationship;
  relation_type : STRING;
  description : STRING;
  rep_1 : Representation;
  rep_2 : Representation;
END_ENTITY;

ENTITY Same_membership;
  id : STRING;
  name : STRING;
  description : OPTIONAL STRING;
  set_1 : Class;
  set_2 : Class;
END_ENTITY;

ENTITY Scale;
  identifier : Maths_space;
  property : Physical_quantity_space;
END_ENTITY;

ENTITY Scale_for_identification_of_property;
  identification : Identification_of_property;
  scale : Scale;
END_ENTITY;

ENTITY Schematic_drawing
  SUBTYPE OF (Schematic_element_definition, Drawing_sheet_revision);
END_ENTITY;

ENTITY Schematic_element
  ABSTRACT SUPERTYPE OF (ONEOF (Schematic_element_definition,
                                Schematic_element_occurrence))
  SUBTYPE OF (Class, Representation);
END_ENTITY;

ENTITY Schematic_element_definition
  ABSTRACT SUPERTYPE OF (ONEOF (Explicit_schematic_element_definition,
                                Implicit_schematic_element_definition))
  SUBTYPE OF (Schematic_element);
END_ENTITY;

ENTITY Schematic_element_occurrence
  SUBTYPE OF (Schematic_element);
END_ENTITY;

ENTITY Solid_angle_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Space_for_physical_quantity
  SUBTYPE OF (Independent_property_relationship);
  SELF\Independent_property_relationship.relating : Physical_quantity_space;
  SELF\Independent_property_relationship.related : Physical_quantity_instance;
END_ENTITY;

ENTITY Standard_physical_quantity_symmetry
  SUBTYPE OF (Physical_quantity_symmetry_by_library_reference);
WHERE
  valid_standard_class: (SELF\Physical_quantity_symmetry_by_library_reference.source_id = 'ISO-TS-10303-1099') AND (SELF\Physical_quantity_symmetry_by_library_reference.item_id IN ['PS001', 'PS002', 'PS003', 'PS004', 'PS005', 'PS006', 'PS007', 'PS008', 'PS009', 'PS010', 'PS011', 'PS012', 'PS013']);
END_ENTITY;

ENTITY Standard_tensor_order_and_symmetry
  SUBTYPE OF (Tensor_order_and_symmetry_by_library_reference);
WHERE
  valid_standard_class: (SELF\Tensor_order_and_symmetry_by_library_reference.source_id = 'ISO-TS-10303-1099') AND (SELF\Tensor_order_and_symmetry_by_library_reference.item_id IN ['TO001', 'TO002', 'TO003', 'TO004', 'TO005', 'TO006', 'TO007', 'TO008', 'TO009']);
END_ENTITY;

ENTITY String_representation_item
  SUBTYPE OF (Representation_item);
  string_value : STRING;
END_ENTITY;

ENTITY Subset;
  id : STRING;
  name : STRING;
  description : OPTIONAL STRING;
  subset : Class;
  superset : Class;
END_ENTITY;

ENTITY Supplied_part_relationship
  SUBTYPE OF (Product_version_relationship);
WHERE
  WR1: SELF\Product_version_relationship.relation_type IN ['supplied item', 'supplied document'];
END_ENTITY;

ENTITY Symbolization_by_schematic_element
  SUBTYPE OF (Class);
  symbolized : symbolized_item_select;
  symbolizer : Schematic_element;
END_ENTITY;

ENTITY Symbolization_of_member_or_subclass_by_schematic_element
  SUBTYPE OF (Class);
  symbolized : symbolized_class_select;
  symbolizer : Schematic_element_definition;
END_ENTITY;

ENTITY Symmetry_for_physical_quantity
  SUBTYPE OF (Independent_property_relationship);
  SELF\Independent_property_relationship.relating : Physical_quantity_symmetry;
  SELF\Independent_property_relationship.related : Physical_quantity_instance;
END_ENTITY;

ENTITY Tensor_order_and_symmetry
  SUBTYPE OF (Independent_property, Class);
END_ENTITY;

ENTITY Tensor_order_and_symmetry_by_library_reference
  SUBTYPE OF (Tensor_order_and_symmetry);
  item_id : STRING;
  source_id : STRING;
END_ENTITY;

ENTITY Tensor_order_and_symmetry_for_physical_quantity_space
  SUBTYPE OF (Independent_property_relationship);
  SELF\Independent_property_relationship.relating : Tensor_order_and_symmetry;
  SELF\Independent_property_relationship.related : Physical_quantity_space;
END_ENTITY;

ENTITY Thermodynamic_temperature_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Time_unit
  SUBTYPE OF (Unit);
END_ENTITY;

ENTITY Uncertainty_with_unit
  SUBTYPE OF (Value_with_unit);
  name : STRING;
  description : OPTIONAL STRING;
END_ENTITY;

ENTITY Union;
  id : STRING;
  name : STRING;
  description : OPTIONAL STRING;
  operand : SET[2:?] OF Class;
  resultant : Class;
END_ENTITY;

ENTITY Unit
  SUPERTYPE OF (ONEOF (Amount_of_substance_unit,
                       Electric_current_unit,
                       Length_unit,
                       Luminous_intensity_unit,
                       Mass_unit,
                       Plane_angle_unit,
                       Ratio_unit,
                       Solid_angle_unit,
                       Thermodynamic_temperature_unit,
                       Time_unit));
  name : STRING;
  si_unit : BOOLEAN;
END_ENTITY;

ENTITY Usage_of_schematic_element_occurrence;
  part : Schematic_element_occurrence;
  whole : Implicit_schematic_element_definition;
END_ENTITY;

ENTITY Value_with_unit;
  unit : Unit;
  value_component : measure_value;
END_ENTITY;

ENTITY View_definition_context;
  application_domain : STRING;
  life_cycle_stage : STRING;
  description : OPTIONAL STRING;
END_ENTITY;

RULE document_version_constraint FOR
(Product_version);
WHERE
  WR1: SIZEOF(QUERY(pv <* Product_version | NOT ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.' + 'DOCUMENT_VERSION' IN TYPEOF(pv)) AND ('FUNCTIONAL_DATA_AND_SCHEMATIC_REPRESENTATION_ARM_LF.' + 'DOCUMENT' IN TYPEOF(pv.of_product)))) = 0;
END_RULE;

END_SCHEMA;  -- Functional_data_and_schematic_representation_arm_lf


© ISO 2005 — All rights reserved