Integrated generic resource: Fundamentals of product description and support ISO 10303-41:2021(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 Action
   4.1 General
   4.2 Fundamental concepts and assumptions
   4.3 Action type definitions
   4.4 Action entity definitions
   4.5 Action function definitions
5 Application context
   5.1 General
   5.2 Fundamental concepts and assumptions
   5.3 Application context type definitions
   5.4 Application context entity definitions
6 Approval
   6.1 General
   6.2 Fundamental concepts and assumptions
   6.3 Approval type definitions
   6.4 Approval entity definitions
   6.5 Approval function definitions
7 Basic attribute
   7.1 General
   7.2 Fundamental concepts and assumptions
   7.3 Basic attribute type definitions
   7.4 Basic attribute entity definitions
   7.5 Basic attribute function definitions
8 Certification
   8.1 General
   8.2 Fundamental concepts and assumptions
   8.3 Certification entity definitions
9 Contract
   9.1 General
   9.2 Fundamental concepts and assumptions
   9.3 Contract entity definitions
   9.4 Contract function definitions
10 Date time
   10.1 General
   10.2 Fundamental concepts and assumptions
   10.3 Date time type definitions
   10.4 Date time entity definitions
   10.5 Date time function definitions

11 Document
   11.1 General
   11.2 Fundamental concepts and assumptions
   11.3 Document type definition
   11.4 Document entity definitions
   11.5 Document function definitions
12 Effectivity
   12.1 General
   12.2 Fundamental concepts and assumptions
   12.3 Effectivity type definitions
   12.4 Effectivity entity definitions
   12.5 Effectivity function definitions
13 Experience
   13.1 General
   13.2 Fundamental concepts and assumptions
   13.3 Experience entity definitions
   13.4 Experience function definitions
14 External reference
   14.1 General
   14.2 Fundamental concepts and assumptions
   14.3 External reference type definitions
   14.4 External reference entity definitions
   14.5 External reference function definitions
15 Group
   15.1 General
   15.2 Fundamental concepts and assumptions
   15.3 Group type definition
   15.4 Group entity definitions
   15.5 Group function definitions
16 Language
   16.1 General
   16.2 Fundamental concepts and assumptions
   16.3 Language entity definition
17 Location
   17.1 General
   17.2 Fundamental concepts and assumptions
   17.3 Location entity definitions
   17.4 Location function definitions
18 Management resources
   18.1 General
   18.2 Fundamental concepts and assumptions
   18.3 Management resources type definitions
   18.4 Management resources entity definitions
   18.5 Management resources function definitions

19 Measure
   19.1 General
   19.2 Fundamental concepts and assumptions
   19.3 Measure type definitions
   19.4 Measure entity definitions
   19.5 Measure function definitions
20 Person organization
   20.1 General
   20.2 Fundamental concepts and assumptions
   20.3 Person organization type definitions
   20.4 Person organization entity definitions
   20.5 Person organization function definitions
21 Product definition
   21.1 General
   21.2 Fundamental concepts and assumptions
   21.3 Product definition type definitions
   21.4 Product definition entity definitions
   21.5 Product definition function definitions
22 Product property definition
   22.1 General
   22.2 Fundamental concepts and assumptions
   22.3 Product property definition type definitions
   22.4 Product property definition entity definitions
   22.5 Product property definition function definitions
23 Product property representation
   23.1 General
   23.2 Fundamental concepts and assumptions
   23.3 Product property representation type definitions
   23.4 Product property representation entity definitions
   23.5 Product property representation function definitions
24 Qualifications
   24.1 General
   24.2 Fundamental concepts and assumptions
   24.3 Qualifications entity definitions
   24.4 Qualifications function definitions
25 Security classification
   25.1 General
   25.2 Fundamental concepts and assumptions
   25.3 Security classification entity definitions
26 Support resource
   26.1 General
   26.2 Fundamental concepts and assumptions
   26.3 Support resource type definitions
   26.4 Support resource function definitions
A Short names of entities
B Information object registration
C Computer interpretable listings
D EXPRESS-G diagrams
E Technical discussion
F Examples
G Change history
Bibliography
Index

Annex E
(informative)

Technical discussion

E.1 Generic product description resource structure

The generic product description resource is made up of schemas that reflect the different kinds of data that may be associated with a product. The application_context_schema allows for the description of the conditions under which a given instance of the generic product description resource was defined. The product_definition_schema supports the description of data that relates to a particular product. The product_property_definition_schema supports the description of the properties of this product, for example, its shape and material. The product_property_representation_schema specifies the ways in which a property of a product may be represented. The relationships between these schemas are shown in Figure 1.

E.2 Function template for cycle detection

E.2.1 acyclic_object_relationship

The template described in this clause is used in various ISO 10303 integrated resources. It is a function that detects cyclic definitions.

The acyclic_object_relationship function determines whether the graph of instances of the entity data type object that contains relation as one of its links contains a cycle. This function may be used to evaluate either a object_relationship or any of its subtypes.

Let Z be a set of instances of the entity data type object. The initial content of Z is the content of the set provided by the parameter relatives. Let R be the instance of object referred to by the attribute relation.relating_object. The functions looks for the instances of specific_relation that refer to R through their attribute object_relationship.related_object. It adds to Z the set of instances of object that are referred to by these instances of specific_relation through their attribute object_relationship.relating_object.

The function then recursively applies the same search for each new element of Z until each branch of the graph has been fully explored or until a cycle has been detected. The function detects a cycle and returns FALSE if, at any stage of the search, an instance proposed for addition to Z already exists in Z. Otherwise, it returns TRUE.

NOTE 1   Calls to functions based on this template should be done as follows.

WR1: acyclic_object_relation (SELF, [SELF.related_object], '....' );

EXPRESS specification
FUNCTION acyclic_object_relationship
	(relation		   : object_relationship;
	 relatives	 	   : SET [1:?] OF object;
	 specific_relation : STRING) : BOOLEAN;
		
  LOCAL
	x 			   : SET OF object_relationship;
  END_LOCAL;
		
  IF relation.relating_object IN relatives THEN
	RETURN (FALSE);
  END_IF; 			   -- IN is based in instance equality
	  
  x := QUERY (oor <* bag_to_set (USEDIN
  	   (relation.relating_object,
  	    'OBJECT_SCHEMA.' +
  	    'OBJECT_RELATIONSHIP.' +
  	    'RELATED_OBJECT')) |
  	     specific_relation IN TYPEOF (oor));
  REPEAT I := 1 TO HIINDEX(x); 			   -- pre-checked loop
    IF NOT acyclic_object_relationship
    	   (x[i],
    	    relatives + relation.relating_object,
    	    specific_relation) THEN
      RETURN(FALSE);
    END_IF;
  END_REPEAT;
	  
  RETURN(TRUE);
END_FUNCTION;
	
Attribute definitions

relation: (input) the candidate object_relationship to be checked.

NOTE 2   The instance of the object_relationship entity specified in the relation parameter of acyclic_object_relationship function is either an object_relationship entity or one of its subtypes.

relatives: (input) the set of instances of the entity data type object that defines the domain for the detection of cycles.

specific_relation: (input) the fully qualified entity name of the entity data type object_relationship or of one of its subtypes.

E.3 Relationship template

E.3.1 object_relationship

The template described in this clause is used in various ISO 10303 integrated resources. It supports the description of graphs of like objects.

An object_relationship relates two objects with a description of their relationship.

EXPRESS specification
ENTITY object_relationship;
  name		  : label;
  description 	  : text;
  relating_object : object;
  related_object  : object;
END_ENTITY;
	
Attribute definitions

name: the label by which the object_relationship is known.

description: the text that characterizes the object_relationship.

relating_object: one of the instances of object that is a part of the relationship.

NOTE 1   The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.

related_object: the other instance of object that is a part of the relationship. If one element of the relationship is dependent upon the other, this attribute shall be the dependent one.

NOTE 2   The meaning of this attribute can be defined in the annotated EXPRESS schemas that use or specialize this entity, or in an agreement of common understanding between the partners sharing this information.

E.4 Constraining entity instances of the basic_attribute_schema

In order to constrain the population of instances of the basic_attribute_schema, the following rule may be used in EXPRESS schemas that use or specialize the constructs of this part of ISO 10303. The rule attribute_x_not_allowed enforces the restriction that the attribute x of any instance of the entity data type entity_type not be present.

NOTE    Such a rule can only be specified in cases in which the referenced attribute is optional.

EXPRESS specification
RULE  attribute_x_not_allowed FOR (entity_type) ;
WHERE
	  wr1: SIZEOF (QUERY (ent <* entity_type | EXISTS (ent.x))) = 0;
END_RULE;
	
E.5 Use of the generic management resource constructs

The EXPRESS elements specified in the management_resource_schema are used to associate management type data with product data in specific application interpreted models. This clause describes the EXPRESS mechanism that is used to make these associations.

The ABSTRACT SUPERTYPE statement from the EXPRESS language is used in the management_resource_schema to define template structures that are used to associate management type data with product data in an application interpreted model.

The approval_assignment entity from the management_resource_schema defines a template structure that is used to associate approvals with product data.

EXPRESS specification
ENTITY approval_assignment
  ABSTRACT SUPERTYPE;
   assigned_approval : approval;
  DERIVE
     role            : object_role := get_role (SELF);
WHERE
   WR1 : SIZEOF (USEDIN (SELF, 'BASIC_ATTRIBUTE_SCHEMA.' +
					 'ROLE_ASSOCIATION.ITEM_WITH_ROLE')) <= 1;
END_ENTITY; -- approval_assignment
	

These template structures are used in application interpreted models in which the management type data is to be associated with product data, in the following way:

If approvals are assigned to drawing sheet revisions and drawing revisions, the following SELECT type would be defined:

EXPRESS specification
TYPE approval_item = SELECT
     (drawing_sheet_revision,
      drawing_revision );
END_TYPE;
	

The following applied_approval_assignment entity could be used to associate approval with drawing sheet revisions and drawing revisions:

EXPRESS specification
ENTITY applied_approval_assignment
    SUBTYPE OF (approval_assignment);
    item : approval_item;
END_ENTITY;
	

NOTE    In order to facilitate interoperability among application protocols, subtypes of the entity data type xxx_assignment are conventionally named applied_xxx_assignment in the application interpreted models.

In the management_resource_schema each abstract xxx_assignment entity has a role attribute. This attribute allows the characterization of the resource construct xxx with respect to the product data to which it will be assigned.

For example, in particular instances of the entity data type applied_contract_assignment, the derived attribute role can refer to instances of the entity data type object_role with name 'does not apply', or 'is the binding agreement for the production of', in order to characterize the role of a contract with respect to a particular product.



© ISO 2021 — All rights reserved