Application module: Geometric model relationship ISO/TS 10303-1403:2014-02(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definition
   4.3 ARM entity definitions
   4.4 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing

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

4 Information requirements

This clause specifies the information requirements for the Geometric model relationship application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.

NOTE 1  A graphical representation of the information requirements is given in Annex C.

NOTE 2  The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Geometric_model_relationship_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Geometric_model_relationship_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
USE FROM Elemental_geometric_shape_arm;    --  ISO/TS 10303-1004

REFERENCE FROM Support_resource_arm    --  ISO/TS 10303-1800
  (bag_to_set);
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Elemental_geometric_shape_arm ISO/TS 10303-1004
Support_resource_arm ISO/TS 10303-1800

NOTE 2   See Annex C, Figures C.1and C.2 for a graphical representation of this schema.

4.2 ARM type definition

This subclause specifies the ARM type for this application module. The ARM type and definition is specified below.

4.2.1 geometric_representation_select   EXPRESS-G

The geometric_representation_select type is an extensible list of alternate data types that allows for the designation of the data type Geometric_model.

NOTE   The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE geometric_representation_select = EXTENSIBLE GENERIC_ENTITY SELECT
   (Geometric_model);
END_TYPE;
(*

4.3 ARM entity definitions

This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.

4.3.1 Definitional_representation_relationship   EXPRESS-GMapping table

A Definitional_representation_relationship is a type of Representation_relationship. The representation indicated by rep_1 is part of the definition indicated by rep_2.

EXPRESS specification:

*)
ENTITY Definitional_representation_relationship
  SUBTYPE OF (Representation_relationship);
WHERE
  WR1: acyclic_representation_relationship(SELF, [SELF\representation_relationship.rep_2], 'FOUNDATION_REPRESENTATION_ARM.'+ 'REPRESENTATION');
END_ENTITY;
(*

Formal propositions:

WR1: The Definitional_representation_relationship shall not participate in cycles.

4.3.2 Geometric_model_relationship   EXPRESS-GMapping table

A Geometric_model_relationship is a type of Representation_relationship.

EXPRESS specification:

*)
ENTITY Geometric_model_relationship
  SUBTYPE OF (Representation_relationship);
  SELF\Representation_relationship.rep_1 : geometric_representation_select;
  SELF\Representation_relationship.rep_2 : geometric_representation_select;
WHERE
  WR1: rep_1 <> rep_2;
END_ENTITY;
(*

Attribute definitions:

rep_1: an inherited attribute shall be of type geometric_representation_select for the Geometric_model_relationship.

rep_2: an inherited attribute shall be of type geometric_representation_select for the Geometric_model_relationship.

Formal propositions:

WR1: The rep_1 shall not be rep_2.

4.4 ARM function definition

This subclause specifies the ARM function for this module. The ARM function and definition is specified below.

4.4.1 acyclic_representation_relationship

The acyclic_representation_relationship function checks if specified Representation_relationship is not participating in cycle with regards to specified Representations.

EXPRESS specification:

*)
FUNCTION acyclic_representation_relationship (relation : Representation_relationship; relatives : SET[1:?] OF Representation; specific_relation : STRING) : BOOLEAN;
LOCAL
    x : SET OF representation_relationship;
  END_LOCAL;

  IF relation.rep_1 IN relatives THEN
    RETURN (FALSE);
  END_IF;
  x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'FOUNDATION_REPRESENTATION_ARM.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r));
  REPEAT i := 1 TO HIINDEX(x);
    IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN
      RETURN (FALSE);
    END_IF;
  END_REPEAT;
  RETURN (TRUE);
END_FUNCTION;
(*

Argument definitions:

relation: the specified Representation_relationship.

relatives: the specified Representations.

specific_relation: the specified type of Representation_relationships to be considered.



*)
END_SCHEMA;  -- Geometric_model_relationship_arm
(*


© ISO 2014 — All rights reserved