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

La présente partie de l'ISO 10303 définit un langage de modélisation des données de produits. Ce langage s'appelle EXPRESS. La présente partie de l'ISO 10303 définit également une représentation graphique d'un sous-ensemble du langage EXPRESS. Cette représentation graphique s'appelle EXPRESS-G.EXPRESS est un langage de structuration de données tel que défini dans l'ISO 10303-1. Il se compose d'éléments de langage qui permettent une définition des données et une spécification des contraintes sur les données spécifiées, sans ambiguïté. Les éléments suivants figurent dans le domaine d'application : types de données ; contraintes sur les instances des types de données. Les éléments suivants ne figurent pas dans le domaine d'application de la présente partie de l'ISO 10303 : définition des formats de bases de données ; définition des formats de fichiers ; définition des formats de transfert ; contrôle dynamique des informations ; traitement de l'information ; traitement des exceptions.EXPRESS n'est pas un langage de programmation.

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
Withdrawn
Publication Date
21-Dec-1994
Withdrawal Date
21-Dec-1994
Current Stage
9599 - Withdrawal of International Standard
Completion Date
04-Nov-2011
Ref Project

Relations

Buy Standard

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

Standards Content (Sample)

IS0
INTERNATIONAL
10303-11
STANDARD
First edition
1994-12-15
Industrial automation systems and
integration - Product data representation
and exchange -
Part 11:
Description methods: The EXPRESS language
reference manual
- Repken ta tion
Sys t&mes d ‘automa tisa tion indus trielle et in t6gra tion
et Bchange de donn6es de produits -
Partie II: MBthodes de description: Manuel de kfbrence du langage
EXPRESS
Reference number
IS0 10303-11:1994(E)

---------------------- Page: 1 ----------------------
IS0 10303-11:1994(E)
Page
Contents
1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. Terms defined in IS0 10303-l . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
32 . Other definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
............................
3.2.1 complex entity data type
2
.....................
3.2.2 complex entity (data type) instance
2
constant .
3.2.3
2
....................................
3.2.4 data type
3
entity .
3.2.5
3
................................
3.2.6 entity data type
3
..........................
3.2.7 entity (data type) instance
3
3.2.8 instance .
3
.......................
3.2.9 partial complex entity data type
3
..........................
3.2.10 partial complex entity value
3
3.2.11 population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
......................
3.2.12 simple entity (data type) instance
3
...........................
3.2.13 subtype/supertype graph
3
3.2.14 token .
3
3.2.15 value .
4 Conformance requirements .
....................
41 . Formal specifications written in EXPRESS
4.1.1 Lexical language .
4.1.2 Graphical form .
. .
42 Implementations of EXPRESS
..........................
4.2.1 EXPRESS language parser
.............................
4.2.2 Graphical editing tool
5
5 Fundamental principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6 Language specification syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 IS0 1994
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 the publisher.
International Organization for Standardization
l CH-1211 Gen&ve 20 l Switzerland
Case Postale 56
Printed in Switzerland
ii

---------------------- Page: 2 ----------------------
IS0 10303-11:1994(E)
c IS0
0
7
...........................
. The syntax of the specification
61
8
62 . Special character notation .
8
...................................
7 Basic language elements
9
71 . Character set .
9
7.1.1 Digits .
9
Letters .
7.1.2
10
...............................
7.1.3 Special characters
10
...................................
7.1.4 Underscore
10
7.1.5 Whitespace .
11
7.1.6 Remarks .
12
. Reserved words .
72
12
7.2.1 Keywords .
..................... 13
Reserved words which are operators
7.2.2
13
Built-in constants .
7.2.3
13
...............................
7.2.4 Built-in functions
13
Built-in procedures .
7.2.5
14
73 . Symbols .
14
Identifiers .
74 .
15
75 . Literals .
15
Binary literal .
7.5.1
15
7.5.2 Integer literal .
16
7.5.3 Real literal .
16
7.5.4 String literal .
18
..................................
7.5.5 Logical literal
18
..........................................
8 Data types
18
81 . Simple data types .
18
8.1.1 Number data type .
19
.................................
8.1.2 Real data type
19
Integer data type .
8.1.3
20
...............................
8.1.4 Logical data type.
20
Boolean data type .
8.1.5
20
8.1.6 String data type .
21
................................
8.1.7 Binary data type
22
. Aggregation data types .
82
23
................................
8.2.1 Array data type
24
8.2.2 List data type .
25
8.2.3 Bag data type .
25
Set data type .
8.2.4
26
........................
8.2.5 Value uniqueness on aggregates
28
. Named data types .
83
28
8.3.1 Entity data type .
28
...............................
8.3.2 Defined data type
29
...............................
84 . Constructed data types
29
Enumeration data type .
8.4.1
. . .
111

---------------------- Page: 3 ----------------------
c IS0
IS0 10303-11:1994(E) 0
30
8.4.2 Select data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
85 . Generalized data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
............................
86 . Data type usage classification
32
................................
8.6.1 Base data types
32
Parameter data types .
8.6.2
32
.............................
8.6.3 Underlying data types
33
.........................................
9 Declarations.
33
91 . Type declaration .
35
..................................
92 . Entity declaration
35
9.2.1 Attributes .
40
...................................
9.2.2 Local rules
43
Subtypes and supertypes .
9.2.3
49
........................
9.2.4 Subtype/supertype constraints
53
..............................
9.2.5 Implicit declarations
55
9.2.6 Specialization .
55
........................................
93 . Schema
56
94 . Constant .
56
......................................
95 . Algorithms
57
9.5.1 Function .
58
....................................
9.5.2 Procedure
58
Parameters .
9.5.3
62
.................................
9.5.4 Local variables
63
........................................
96 . Rule.
65
10 Scope and visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
......................................
10.1 Scope rules
67
Visibility rules .
10.2
67
...........................
10.2.1 General rules of visibility
.................. 68
10.2.2 Named data type identifier visibility rules
69
10.3 Explicit item rules .
69
10.3.1 Alias statement. .
69
10.3.2 Attribute .
70
Constant .
10.3.3
70
10.3.4 Enumeration item .
70
Entity .
10.3.5
71
10.3.6 Function .
72
...................................
10.3.7 Parameter.
72
Procedure .
10.3.8
73
................................
10.3.9 Query expression
73
10.3.10 Repeat statement .
73
10.3.11 Rule .
74
....................................
10.3.12 Rule label
74
10.3.13 Schema .
75
......................................
10.3.14 Type
76
10.3.15 Type label .
iv

---------------------- Page: 4 ----------------------
c IS0
IS0 10303-11:1994(E)
0
10.3.16 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
11 Interface specification
76
....................................
11.1 Use interface specification
.............................. 77
11.2 Reference interface specification
.......................... 77
11.3 The interaction of use and reference
........................ 78
11.4 Implicit interfaces
78
..................................
11.4.1 Constant interfaces
79
...............................
11.4.2 Defined data type interfaces
.......................... 79
11.4.3 Entity data type interfaces
80
..........................
11.4.4 Function interfaces
81
...............................
11.4.5
Procedure interfaces 81
..............................
11.4.6
Rule interfaces . . .
81
12 Expression . . . . . . . . . .
81
12.1
Arithmetic operators . . .
83
12.2 Relational operators . .
.........
85
12.2.1
Value comparison operators
85
..........................
12.2.2 Instance comparison operators
89
........................
12.2.3 Membership operator
91
.............................
12.2.4 Interval expressions
92
..............................
12.2.5 Like operator
93
..................................
12.3 Binary operators
................................... 94
12.3.1 Binary indexing
94
................................
12.3.2 Binary concatenation operator
........................ 95
12.4 Logical operators
95
...................................
12.4.1 NOT operator
95
.................................
12.4.2 AND operator
96
.................................
12.4.3 OR operator
96
..................................
12.4.4 XOR operator
96
.................................
12.5 String operators
96
...................................
12.5.1 String indexing
96
.................................
12.5.2 String concatenation operator.
97
........................
12.6 Aggregate operators
97
.................................
12.6.1 Aggregate indexing
98
...............................
12.6.2 Intersection operator
99
..............................
12.6.3 Union operator
................................. 99
12.6.4 Difference operator
100
...............................
12.6.5 Subset operator
................................ 102
12.6.6 Superset operator
102
...............................
12.6.7 Query expression
................................ 103
12.7 References
104
.......................................
12.7.1 Simple references
................................ 104
12.7.2 Prefixed references
105
...............................
12.7.3 Attribute references
106
..............................
12.7.4 Group references
106
................................
V

---------------------- Page: 5 ----------------------
c IS0
IS0 10303-11:1994(E) 0
108
.....................................
12.8 Function call
109
.................................
12.9 Aggregate initializer
.................. 110
12.10 Complex entity instance construction operator
.................................. 111
12.11 Type compatibility
112
...................................
13 Executable statements
................................... 112
13.1 Null (statement)
.................................... 113
13.2 Alias statement
................................ 113
13.3 Assignment statement
114
....................................
Case statement
13.4
................................ 115
13.5 Compound statement
116
..................................
13.6 Escape statement.
............................ 116
13.7 If . .Then . .Else statement
.............................. 117
13.8 Procedure call statement
.................................. 117
13.9 Repeat statement.
............................... 118
13.9 .l Increment control
119
.................................
13,.9.2 While control.
.................................. 119
13-9.3 Until control
120
...................................
13.10 Return statement
.................................... 120
13.11 Skip statement
...................................... 121
14 Built.-in constants
...................................... 121
14.1 Constant e
.................................... 121
14.2 Indeterminate.
121
14.3 False .
121
14.4 Pi .
.......................................... 122
14.5 Self
.......................................... 122
14.6 True
....................................... 122
Unknown
14.7
...................................... 122
15 Built-in functions
.............................. 122
15.1 Abs - arithmetic function
............................. 122
15.2 ACos - arithmetic function
.............................. 123
15.3 ASin - arithmetic function
123
.............................
15.4 ATan - arithmetic function
.............................. 123
15.5 BLength - binary function
.............................. 123
15.6 Cos - arithmetic function
............................... 124
15.7 Exists - general function
.............................. 124
15.8 Exp - arithmetic function
.............................. 124
15.9 Format - general function
............................ 125
15.9.1 Symbolic representation
126
.............................
15.9.2 Picture representation
............................ 127
Standard representation
15.9.3
........................... 127
15.10 HiBound - arithmetic function
............................ 127
15.11 HiIndex - arithmetic function
............................... 128
15.12 Length - string function
........................... 128
15.13 LoBound - arithmetic function

---------------------- Page: 6 ----------------------
IS0 10303-11:1994(E)
c IS0
0
129
..............................
15.14 Log - arithmetic function
129
..............................
15.15 Log2 - arithmetic. function
............................. 129
15.16 Log10 - arithmetic function
130
............................
15.17 LoIndex - arithmetic function
130
NVL - null value function .
15.18
130
Odd - arithmetic function .
15.19
131
..............................
15.20 RolesOf - general function
132
15.21 Sin - arithmetic function .
132
.............................
15.22 SizeOf - aggregate function
133
Sqrt - arithmetic function .
15.23
133
15.24 Tan - arithmetic function .
133
TypeOf - general function .
15.25
135
UsedIn - general function .
15.26
136
.............................
15.27 Value - arithmetic function
137
...........................
15.28 Valuein - membership function
137
uniqueness function .
15.29 Value-unique -
138
.....................................
16 Built-in procedures
138
16.1 Insert .
138
Remove .
16.2
Annexes
139
................................
A EXPRESS language syntax
139
Al . Tokens. .
139
....................................
A.1.1 Keywords
142
A.1.2 Character classes .
142
................................
AS.3 Lexical elements
143
A.1.4 Remarks .
143
.............................
A.1.5 Interpreted identifiers
143
....................................
A.2 Grammar rules
147
................................
A3 . Cross reference listing
................... 155
Determination of the allowed entity instantiations
B
155
Bl . Formal approach .
157
.................................
B2 . Supertype operators
157
B.2.1 ONEOF. .
157
AND .
B.2.2
157
ANDOR .
B.2.3
157
............................
B.2.4 Precedence of operators
................ 157
. Interpreting the possible complex entity data types
B3
C Instance limits imposed by the interface specification . . . . . . . . . . . . . . . . . . 168
..................... 172
EXPRESS-G: A graphical subset of EXPRESS
D
172
..............................
D.l Introduction and overview
172
D.2 Definition symbols .
vii

---------------------- Page: 7 ----------------------
c IS0
IS0 10303-11:1994(E)
0
174
.........................
D.2.1 Symbol for simple data types
174
D.2.2 Symbols for constructed data types .
175
D.2.3 Symbols for defined data types .
175
.........................
D.2.4 Symbols for entity data types
175
D.2.5 Symbols for functions and procedures .
175
D.2.6 Symbols for rules .
176
D.2.7 Symbols for schemas .
176
D3 Relationship symbols .
177
. Composition symbols
D-4 .
178
D.4.1 Page references .
178
D.4.2 Inter-schema references .
179
D5 . Entity level diagrams .
179
D.5.1 Role names .
179
D.5.2 Cardinalities .
179
D.5.3 Constraints .
180
D.5.4 Constructed and defined data types .
180
D.5.5 Entity data types .
182
D.5.6 Inter-schema references .
183
D6 Schema level diagrams .
184
D’7 . Complete EXPRESS-G diagrams .
184
D.7.1 Complete entity level diagram .
185
D.7.2 Complete schema level diagram .
E Protocol implementation conformance statement (PICS) . . . . . . . . . . . . . . . . 187
El . EXPRESS language parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
EXPRESS-G editing tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
E2 .
F Information object registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
190
G Relationships
........................................
190
Gl . Relationships via attributes .
191
Simple relationship
G.1.1 .
193
G.1.2 Collective relationship .
194
G.1.3 Distributive relationship .
196
G.1.4 Inverse attribute
................................
197
G2 . Subtype/supertype relationships .
H EXPRESS models for EXPRESS-G illustrative examples . . . . . . . . . . . . . . . 198
Hl . Example single schema model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
. Relationship sampler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
H2
H3 Simple subtype/supertype tree . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Attribute redeclaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
H-4 .
H5 . Multischema models . . . . . . . . . . . . . . . . . . . . . . . . L . . . . . . . . 201
J Bibliography . . . . . . . . . . . . . . . . . . . l . . . . . . . . . . . . . . . . . . . . 204
Index . . . . . . . . . . . . . . . . . . . . . .* . . . . . . . . . . . . . . . . . . . . . . 205
. . .
Vlll

---------------------- Page: 8 ----------------------
c IS0 IS0 10303-11:1994(E)
0
Figures
B.1 EXPRESS-G diagram of schema for example 155. 160
...................
B.2 EXPRESS-G diagram of schema for example 156. . 162
B.3 EXPRESS-G diagram of schema for example 157. 164
...................
D.l Complete entity level diagram of example 171 (Page 1 of 2). . 173
D.2 Complete entity level diagram of example 171 (Page 2 of 2). . 173
D.3 Symbols for EXPRESS simple data types. . 174
D.4 Symbols for EXPRESS constructed data types. . 174
D.5 Abbreviated symbols for the EXPRESS constructed data types when used as the
representation of defined data types. . 175
D.6 Example of alternative methods for representing an ENUMERATION . 175
D.7 Symbols for EXPRESS defined data type. 175
........................
D.8 Symbol for an EXPRESS entity data type. . 176
D.9 Symbol for a schema. 176
...................................
D.10 Relationship line styles 176
...................................
D.ll Partial entity level diagram illustrating relationship directions from example 172.
(Pagelofl) 177
........................................
D.12 Composition symbols: page references . 178
D.13 Composition symbols: inter-schema references
...................... 178
D.14 Complete entity level diagram of example 172. (Page 1 of 1) 180
.............
D.15 Complete entity level diagram of the inheritance graph from example 173. (Page 1
of 1) . 182
D.16 Complete entity level diagram of example 174 showing attribute redeclarations in
subtypes. (Page 1 of 1) 182
..................................
D.17 Complete entity level diagram of the top schema of example 175 illustrating inter-
schema references. (Page 1 of 1). 183
.............................
D.18 Complete schema level diagram of example 175. (Page 1 of 1) 184
.............
D.19 Complete schema level diagram of example 176. (Page 1 of 1) . 184
Tables
1
EXPRESS keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 EXPRESS reserved words which are operators . . . . . . . . . . . . . . . . . . . . .
13
ix

---------------------- Page: 9 ----------------------
c IS0
IS0 1 10303=11:1994(E) 0
13
.....................
EXPRESS~ reserved words which are constants
3
13
..................
EXPRESS’ reserved words which are function names
4
14
.................
EXPRES,S reserved words which are procedure names
5
14
.....................................
6 EXPR,ESS symbols
32
...................................
7 The use of’data types
53
........................
8 Supertype, expression operator precedence
66
............................
9 Scopes and identifier defining items
83
Operator precedence .
10
94
Pattern matching characters .
11
96
12 NOT operator .
97
AND operator .
13
98
14 OR operator .
98
XOR operator .
15
100
....................
16 Intersection operator - operand and result types
101
.......................
17 Union operator - operand and result types
102
.....................
Difference operator - operand and result types
18
102
.....................
19 Subset and superset operators - operand types
126
...........................
20 Example symbolic formatting effects
126
...............................
21 Picture formatting characters
127
............................
22 Example picture formatting effects

---------------------- Page: 10 ----------------------
IS0 10303-11:1994(E)
c IS0
0
Foreword
The International Organization for Standardization (ISO) is a worldwide federation of national
standards bodies (IS0 member bodies). The work of preparing International Standards is nor-
mally carried out through IS0 technical committees. Each member body interested in a subject
for which a technical committee has been established has the right to be represented on that
committee. International organizations, governmental and non-governmental, in liaison with
ISO, also take part in the work. IS0 collaborates closely with the International Electrotechnical
Commission (IEC) on all matters of electrotechnical standardization.
Draft International Standards adopted by technical committees are circulated to the member
bodies for voting. Publication as an International Standard requires approval by at least 75%
of the member bodies casting a vote.
International Standard IS0 10303-11 was prepared by Technical Committee ISO/TC 184, In-
dustrial automation systems and integration, Subcommittee SC4, Industrial data and global
manufacturing programming languages.
This part of IS0 10303 is based in part upon material in:
- IS0 10646-1:1993, Information technology - Universal multiple-octet coded character
set (UCS) - Architecture and basic multilingual plane.
IS0 10303 consists of the following parts under the general title Industrial automation systems
and integration - Product data representation and exchange:
- Part 1, Overview and fundamental principles;
- Part 11, Description methods: The EXPRESS language reference manual;
- Part 21, Implementation methods: Clear text encoding of the exchange structure;
- Part 22, Implementation methods: Standard data access interface specification;
- Part 31, Conformance testing methodology and framework: General concepts;
- Part 32, Conformance testing methodology and framework: Requirements on testing
laboratories and clients;
-
Part 41, Integrated generic resources: Fundamentals of product description and support;
- Part 42, Integrated generic resources: Geometric and topological representation;
Representation structures;
- Part 43, Integrated generic resources:
Part 44, Integrated generic resources: Product structure configuration;
-
Part 45, Integrated generic resources: Materials;
- Part 46, Integrated generic resources: Visual presentation;
xi

---------------------- Page: 11 ----------------------
c IS0
IS0 10303=11:1994(E)
0
- Part 47, Integrated generic resources: Shape variation tolerances;
Process structure and properties;
Part 49, Integrated generic resources:
Part 101, Integrated application resources: Draughting;
- Part 104, Integrated application resources: Finite element analysis;
Part 105, Integrated application resources: Kinematics;
- Part 201, Application protocol: Explicit draughting;
- Part 202, Application protocol: Associative draughting;
- Part 203, Application protocol: Configuration controlled design;
- Part 207, Application protocol: Sheet metal die planning and design;
- Part 210, Application protocol: Printed circuit assembly product design data;
- Part 213, Application protocol: Numerical control process plans for machined parts.
The structure of this International Standard is described in IS0 10303-l. The numbering of the
parts of this International Standard reflects its structure:
- Part 11 specifies the description methods;
Parts 21 and 22 specify the implementation methods;
-
Parts 31 and 32 specify the conformance testing methodology and framework;
- Parts 41 to 49 specify the integrated generic resources;
Parts 101 to 105 specify the integrated application resources;
- Parts 201 to 213 specify the application protocols.
Should further parts be published, they will follow the same numbering pattern.
Annexes A, B, C, D, E and F form an integral part of this part of IS0 10303. Annexes G, H
and J are for information only.

---------------------- Page: 12 ----------------------
c IS0 IS0 10303=11:1994(E)
0
Introduction
IS0 10303 is an International Standard for the computer-interpretable representation and ex-
change of product data. The objective is to provide a neutral mechanism capable of describing
product data throughout the life cycle of a product independent from any particular system.
The nature of this description makes it suitable not only for neutral file exchange, but also as a
basis for implementing and sharing product databases and archiving.
This International Standard is organized as a series of parts, each published separately. The
parts of IS0 10303 fall into one of the following series: description methods, integrated resources,
application protocols, abstract test suites, implementation methods, and conformance testing.
The series are described in IS0 10303-l. This part of IS0 10303 is a member of the descriptive
methods series.
This part of IS0 10303 specifies the elements of the EXPRESS language. Each element of the
language is presented in its own context with examples. Simple elements are introduced first,
then more complex ideas are presented in an incremental manner.
Language overview
EXPRESS is the name of a formal information requirements specification language. It is used to
specify the information requirements of other parts of this International Standard
...

Questions, Comments and Discussion

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