Industrial automation systems and integration — Product data representation and exchange — Part 11: Description methods: The EXPRESS language reference manual

ISO 10303 specifies a language by which aspects of product data can be defined. The language is called EXPRESS. ISO 10303-11:2004 also specifies a graphical representation for a subset of the constructs in the EXPRESS language. This graphical representation is called EXPRESS-G. EXPRESS is a data specification language as defined in ISO 10303-1. It consists of language elements that allow an unambiguous data definition and specification of constraints on the data defined. The following are within the scope of ISO 10303-11:2004: data types; constraints on instances of the data types. The following are outside the scope of this part of ISO 10303: definition of database formats; definition of file formats; definition of transfer formats; process control; information processing; exception handling. EXPRESS is not a programming language.

Systèmes d'automatisation industrielle et intégration — Représentation et échange de données de produits — Partie 11: Méthodes de description: Manuel de référence du langage EXPRESS

General Information

Status
Published
Publication Date
09-Nov-2004
Current Stage
9093 - International Standard confirmed
Completion Date
05-Dec-2019
Ref Project

Relations

Buy Standard

Standard
ISO 10303-11:2004 - Industrial automation systems and integration -- Product data representation and exchange
English language
255 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO
STANDARD 10303-11
Second edition
2004-11-01


Industrial automation systems and
integration — Product data
representation and exchange —
Part 11:
Description methods: The EXPRESS
language reference manual
Systèmes d'automatisation industrielle et intégration — Représentation
et échange de données de produits —
Partie 11: Méthodes de description: Manuel de référence du langage
EXPRESS





Reference number
ISO 10303-11:2004(E)
©
ISO 2004

---------------------- Page: 1 ----------------------
ISO 10303-11:2004(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.


©  ISO 2004
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland

ii © ISO 2004 – All rights reserved

---------------------- Page: 2 ----------------------
ISO 10303-11:2004(E)
Contents Page
0 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
0.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
0.2 Language overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3 Terms and definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1 Terms defined in ISO 10303–1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 Terms defined in ISO/IEC 10646 . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.3 Other terms and definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
4 Conformance requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1 Formal specifications written in EXPRESS . . . . . . . . . . . . . . . . . . . . 5
4.1.1 Lexical language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.1.2 Graphical form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Implementations of EXPRESS . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2.1 EXPRESS language parser . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2.2 Graphical editing tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Fundamental principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 Language specification syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.1 The syntax of the specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.2 Special character notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7 Basic language elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
7.1 Character set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.1.1 Digits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.1.2 Letters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.1.3 Special characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.1.4 Underscore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.1.5 Whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.1.6 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.2 Reserved words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.2.1 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.2.2 Reserved words which are operators . . . . . . . . . . . . . . . . . . . . . 14
7.2.3 Built-in constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2.4 Built-in functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.2.5 Built-in procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.3 Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.4 Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.5 Literals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.5.1 Binary literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.5.2 Integer literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.5.3 Real literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.5.4 String literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.5.5 Logical literal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8 Data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.1 Simple data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
�cISO 2004 — All rights reserved iii

---------------------- Page: 3 ----------------------
ISO 10303-11:2004(E)
8.1.1 Number data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.1.2 Real data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
8.1.3 Integer data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.4 Logical data type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.5 Boolean data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.6 String data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
8.1.7 Binary data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.2 Aggregation data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
8.2.1 Array data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
8.2.2 List data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8.2.3 Bag data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2.4 Set data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8.2.5 Value uniqueness on aggregates . . . . . . . . . . . . . . . . . . . . . . . . 27
8.3 Named data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3.1 Entity data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3.2 Defined data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.4 Constructed data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.4.1 Enumeration data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.4.2 Select data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8.5 Generalized data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.6 Data type usage classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.6.1 Instantiable data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.6.2 Parameter data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.6.3 Underlying data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9 Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.1 Type declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.2 Entity declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
9.2.1 Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9.2.2 Local rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.2.3 Subtypes and supertypes . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.2.4 Abstract entity data type . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9.2.5 Subtype/supertype constraints . . . . . . . . . . . . . . . . . . . . . . . . 55
9.2.6 Implicit declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
9.2.7 Specialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.3 Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
9.4 Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
9.5 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9.5.1 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
9.5.2 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.5.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
9.5.4 Local variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.6 Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.7 Subtype constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
9.7.1 Abstract supertype constraint . . . . . . . . . . . . . . . . . . . . . . . . 75
9.7.2 Total coverage subtypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
9.7.3 Overlapping subtypes and their specification . . . . . . . . . . . . . . . . 76
10 Scope and visibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.1 Scope rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.2 Visibility rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.3 Explicit item rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.3.1 Alias statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
iv �cISO 2004 — All rights reserved

---------------------- Page: 4 ----------------------
ISO 10303-11:2004(E)
10.3.2 Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.3.3 Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.3.4 Enumeration item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.3.5 Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.3.6 Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
10.3.7 Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.3.8 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.3.9 Query expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
10.3.10 Repeat statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
10.3.11 Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
10.3.12 Rule label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.3.13 Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
10.3.14 Subtype constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.3.15 Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.3.16 Type label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
10.3.17 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
11 Interface specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
11.1 Use interface specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
11.2 Reference interface specification . . . . . . . . . . . . . . . . . . . . . . . . . . 87
11.3 The interaction of use and reference . . . . . . . . . . . . . . . . . . . . . . . . 88
11.4 Implicit interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
11.4.1 Constant interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
11.4.2 Defined data type interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 90
11.4.3 Entity data type interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . 90
11.4.4 Function interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.4.5 Procedure interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.4.6 Rule interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
11.4.7 Subtype constraint interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 91
12 Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
12.1 Arithmetic operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
12.2 Relational operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
12.2.1 Value comparison operators . . . . . . . . . . . . . . . . . . . . . . . . . . 95
12.2.2 Instance comparison operators . . . . . . . . . . . . . . . . . . . . . . . . 99
12.2.3 Membership operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
12.2.4 Interval expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
12.2.5 Like operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
12.3 Binary operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
12.3.1 Binary indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
12.3.2 Binary concatenation operator . . . . . . . . . . . . . . . . . . . . . . . . 104
12.4 Logical operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
12.4.1 NOT operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.4.2 AND operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.4.3 OR operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.4.4 XOR operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
12.5 String operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12.5.1 String indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12.5.2 String concatenation operator . . . . . . . . . . . . . . . . . . . . . . . . . 107
12.6 Aggregate operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
12.6.1 Aggregate indexing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
12.6.2 Intersection operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
12.6.3 Union operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
�cISO 2004 — All rights reserved v

---------------------- Page: 5 ----------------------
ISO 10303-11:2004(E)
12.6.4 Difference operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
12.6.5 Subset operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
12.6.6 Superset operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
12.6.7 Query expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
12.7 References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
12.7.1 Simple references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
12.7.2 Prefixed references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
12.7.3 Attribute references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
12.7.4 Group references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
12.8 Function call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
12.9 Aggregate initializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
12.10 Complex entity instance construction operator . . . . . . . . . . . . . . . . . . 118
12.11 Type compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
12.12 Select data types in expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
12.12.1 Select data types in unary expressions . . . . . . . . . . . . . . . . . . . . 120
12.12.2 Select data types in binary expressions. . . . . . . . . . . . . . . . . . . . 120
12.12.3 Select data types in ternary expressions . . . . . . . . . . . . . . . . . . . 121
13 Executable statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
13.1 Null (statement) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
13.2 Alias statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
13.3 Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
13.3.1 Assignment statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
13.3.2 Assignment compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
13.4 Case statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
13.5 Compound statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
13.6 Escape statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
13.7 If .Then .Else statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
13.8 Procedure call statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
13.9 Repeat statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
13.9.1 Increment control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
13.9.2 While control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
13.9.3 Until control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
13.10 Return statement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
13.11 Skip statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
14 Built-in constants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
14.1 Constant e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
14.2 Indeterminate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
14.3 False . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
14.4 Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
14.5 Self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
14.6 True . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
14.7 Unknown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
15 Built-in functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
15.1 Abs - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
15.2 ACos - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
15.3 ASin - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
15.4 ATan - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
15.5 BLength - binary function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
15.6 Cos - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
15.7 Exists - general function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
vi �cISO 2004 — All rights reserved

---------------------- Page: 6 ----------------------
ISO 10303-11:2004(E)
15.8 Exp - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
15.9 Format - general function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
15.9.1 Symbolic representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
15.9.2 Picture representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
15.9.3 Standard representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
15.10 HiBound - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
15.11 HiIndex - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
15.12 Length - string function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
15.13 LoBound - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
15.14 Log - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
15.15 Log2 - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
15.16 Log10 - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
15.17 LoIndex - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
15.18 NVL - null value function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
15.19 Odd - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
15.20 RolesOf - general function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
15.21 Sin - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
15.22 SizeOf - aggregate function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
15.23 Sqrt - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
15.24 Tan - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
15.25 TypeOf - general function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
15.26 UsedIn - general function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
15.27 Value - arithmetic function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
15.28 Value in - membership function . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
15.29 Value unique - uniqueness function . . . . . . . . . . . . . . . . . . . . . . . . . 149
16 Built-in procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
16.1 Insert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
16.2 Remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Annex A (normative) EXPRESS language syntax . . . . . . . . . . . . . . . . . . . . . 151
A.1 Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A.1.1 Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A.1.2 Character classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
A.1.3 Lexical elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
A.1.4 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
A.1.5 Interpreted identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
A.2 Grammar rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
A.3 Cross reference listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Annex B (normative) Determination of the allowed entity instantiations . . . . . . . . 166
B.1 Formal approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
B.2 Supertype and subtype constraint operators . . . . . . . . . . . . . . . . . . . . 167
B.2.1 OneOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
B.2.2 And . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
B.2.3 AndOr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
B.2.4 Precedence of operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
B.3 Interpreting the possible complex entity data types . . . . . . . . . . . . . . . . 168
Annex C (normative) Instance limits imposed by the interface specification. . . . . . . 181
Annex D (normative) EXPRESS-G: A graphical subset of EXPRESS . . . . . . . . . . 185
D.1 Introduction and overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
�cISO 2004 — All rights reserved vii

---------------------- Page: 7 ----------------------
ISO 10303-11:2004(E)
D.2 Definition symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
D.2.1 Symbol for simple data types . . . . . . . . . . . . . . . . . . . . . . . . . 186
D.2.2 Symbols for constructed data types . . . . . . . . . . . . . . . . . . . . . 187
D.2.3 Symbols for defined data types . . . . . . . . . . . . . . . . . . . . . . . . 188
D.2.4 Symbols for entity data types . . . . . . . . . . . . . . . . . . . . . . . . . 188
D.2.5 Symbols for subtype constraints . . . . . . . . . . . . . . . . . . . . . . . 188
D.2.6 Symbols for functions and procedures . . . . . . . . . . . . . . . . . . . . 188
D.2.7 Symbols for rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
D.2.8 Symbols for schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
D.3 Relationship symbols. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
D.4 Composition symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
D.4.1 Page references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
D.4.2 Inter-schema references . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
D.5 Entity level diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
D.5.1 Role names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
D.5.2 Cardinalities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
D.5.3 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
D.5.4 Constructed and defined data types . . . . . . . . . . . . . . . . . . . . . 193
D.5.5 Entity data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
D.5.6 Inter-schema references . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
D.6 Schema level diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
D.7 Complete EXPRESS-G diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 198
D.7.1 Complete entity level diagram . . . . . . . . . . . . . . . . . . . . . . . . 199
D.7.2 Complete schema level diagram . . . . . . . . . . . . . . . . . . . . . . . . 200
Annex E (normative) Protocol implementation conformance statement (PICS) . . . . . 201
E.1 EXPRESS language parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
E.2 EXPRESS-G editing tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Annex F (normative) Information object registration . . . . . . . . . . . . . . . . . . . 203
F.1 Document identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
F.2 Syntax identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Annex G (normative) Generating a single schema from multiple schemas . . . . . . . . 204
G.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
G.2 Fundamental concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
G.3 Name munging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
G.3.1 Name clashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
G.3.2 Identifiers as strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
G.4 Stage 1: multi-schema to intermediate schema conversion . . . . . . . . . . . . 207
G.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
G.4.2 Primary population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
G.4.3 Secondary population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
G.4.4 Prune . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
G.4.5 Schema names and versions . . . . . . . . . . . . . . . . . . . . . . . . . . 222
G.5 Stage 2: convert intermediate schema to ISO 10303-11:1994 . . . . . . . . . . . 223
G.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
G.5.2 Initialisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
G.5.3 Conversion of extensible constructed data types . . . . . . . . . . . . . . 223
G.5.4 Conversion of subtype constraints . . . . . . . . . . . . . . . . . . . . . . 228
G.5.5 Conversion of abstract entity and generalized types . . . . . . . . . . . . 231
G.5.6 Conversion of attributes renamed in a redeclaration . . . . . . . . . . . . 233
viii �cISO 2004 — All rights reserved

---------------------- Page: 8 ----------------------
ISO 10303-11:2004(E)
Annex H (informative) Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
H.1 Re
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.