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
Start Date
04-Nov-2011
Completion Date
13-Dec-2025
Ref Project

Relations

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

Frequently Asked Questions

ISO 10303-11:1994 is a standard published by the International Organization for Standardization (ISO). Its full title is "Industrial automation systems and integration - Product data representation and exchange - Part 11: Description methods: The EXPRESS language reference manual". This standard covers: 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.

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.

ISO 10303-11:1994 is classified under the following ICS (International Classification for Standards) categories: 25.040.40 - Industrial process measurement and control. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO 10303-11:1994 has the following relationships with other standards: It is inter standard links to ISO 10303-11:1994/Cor 1:1999, ISO 10303-11:2004; is excused to ISO 10303-11:1994/Cor 1:1999. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO 10303-11:1994 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

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)
IS0 10303-11:1994(E)
Page
Contents
1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Normative references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. Terms defined in IS0 10303-l . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32 . Other definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................
3.2.1 complex entity data type
.....................
3.2.2 complex entity (data type) instance
constant .
3.2.3
....................................
3.2.4 data type
entity .
3.2.5
................................
3.2.6 entity data type
..........................
3.2.7 entity (data type) instance
3.2.8 instance .
.......................
3.2.9 partial complex entity data type
..........................
3.2.10 partial complex entity value
3.2.11 population . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
......................
3.2.12 simple entity (data type) instance
...........................
3.2.13 subtype/supertype graph
3.2.14 token .
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 Fundamental principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
IS0 10303-11:1994(E)
c IS0
...........................
. The syntax of the specification
62 . Special character notation .
...................................
7 Basic language elements
71 . Character set .
7.1.1 Digits .
Letters .
7.1.2
...............................
7.1.3 Special characters
...................................
7.1.4 Underscore
7.1.5 Whitespace .
7.1.6 Remarks .
. Reserved words .
7.2.1 Keywords .
..................... 13
Reserved words which are operators
7.2.2
Built-in constants .
7.2.3
...............................
7.2.4 Built-in functions
Built-in procedures .
7.2.5
73 . Symbols .
Identifiers .
74 .
75 . Literals .
Binary literal .
7.5.1
7.5.2 Integer literal .
7.5.3 Real literal .
7.5.4 String literal .
..................................
7.5.5 Logical literal
..........................................
8 Data types
81 . Simple data types .
8.1.1 Number data type .
.................................
8.1.2 Real data type
Integer data type .
8.1.3
...............................
8.1.4 Logical data type.
Boolean data type .
8.1.5
8.1.6 String data type .
................................
8.1.7 Binary data type
. Aggregation data types .
................................
8.2.1 Array data type
8.2.2 List data type .
8.2.3 Bag data type .
Set data type .
8.2.4
........................
8.2.5 Value uniqueness on aggregates
. Named data types .
8.3.1 Entity data type .
...............................
8.3.2 Defined data type
...............................
84 . Constructed data types
Enumeration data type .
8.4.1
. . .
c IS0
IS0 10303-11:1994(E) 0
8.4.2 Select data type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85 . Generalized data types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................
86 . Data type usage classification
................................
8.6.1 Base data types
Parameter data types .
8.6.2
.............................
8.6.3 Underlying data types
.........................................
9 Declarations.
91 . Type declaration .
..................................
92 . Entity declaration
9.2.1 Attributes .
...................................
9.2.2 Local rules
Subtypes and supertypes .
9.2.3
........................
9.2.4 Subtype/supertype constraints
..............................
9.2.5 Implicit declarations
9.2.6 Specialization .
........................................
93 . Schema
94 . Constant .
......................................
95 . Algorithms
9.5.1 Function .
....................................
9.5.2 Procedure
Parameters .
9.5.3
.................................
9.5.4 Local variables
........................................
96 . Rule.
10 Scope and visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
......................................
10.1 Scope rules
Visibility rules .
10.2
...........................
10.2.1 General rules of visibility
.................. 68
10.2.2 Named data type identifier visibility rules
10.3 Explicit item rules .
10.3.1 Alias statement. .
10.3.2 Attribute .
Constant .
10.3.3
10.3.4 Enumeration item .
Entity .
10.3.5
10.3.6 Function .
...................................
10.3.7 Parameter.
Procedure .
10.3.8
................................
10.3.9 Query expression
10.3.10 Repeat statement .
10.3.11 Rule .
....................................
10.3.12 Rule label
10.3.13 Schema .
......................................
10.3.14 Type
10.3.15 Type label .
iv
c IS0
IS0 10303-11:1994(E)
10.3.16 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
11 Interface specification
....................................
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
..................................
11.4.1 Constant interfaces
...............................
11.4.2 Defined data type interfaces
.......................... 79
11.4.3 Entity data type interfaces
..........................
11.4.4 Function interfaces
...............................
11.4.5
Procedure interfaces 81
..............................
11.4.6
Rule interfaces . . .
12 Expression . . . . . . . . . .
12.1
Arithmetic operators . . .
12.2 Relational operators . .
.........
12.2.1
Value comparison operators
..........................
12.2.2 Instance comparison operators
........................
12.2.3 Membership operator
.............................
12.2.4 Interval expressions
..............................
12.2.5 Like operator
..................................
12.3 Binary operators
................................... 94
12.3.1 Binary indexing
................................
12.3.2 Binary concatenation operator
........................ 95
12.4 Logical operators
...................................
12.4.1 NOT operator
.................................
12.4.2 AND operator
.................................
12.4.3 OR operator
..................................
12.4.4 XOR operator
.................................
12.5 String operators
...................................
12.5.1 String indexing
.................................
12.5.2 String concatenation operator.
........................
12.6 Aggregate operators
.................................
12.6.1 Aggregate indexing
...............................
12.6.2 Intersection operator
..............................
12.6.3 Union operator
................................. 99
12.6.4 Difference operator
...............................
12.6.5 Subset operator
................................ 102
12.6.6 Superset operator
...............................
12.6.7 Query expression
................................ 103
12.7 References
.......................................
12.7.1 Simple references
................................ 104
12.7.2 Prefixed references
...............................
12.7.3 Attribute references
..............................
12.7.4 Group references
................................
V
c IS0
IS0 10303-11:1994(E) 0
.....................................
12.8 Function call
.................................
12.9 Aggregate initializer
.................. 110
12.10 Complex entity instance construction operator
.................................. 111
12.11 Type compatibility
...................................
13 Executable statements
................................... 112
13.1 Null (statement)
.................................... 113
13.2 Alias statement
................................ 113
13.3 Assignment statement
....................................
Case statement
13.4
................................ 115
13.5 Compound statement
..................................
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
.................................
13,.9.2 While control.
.................................. 119
13-9.3 Until control
...................................
13.10 Return statement
.................................... 120
13.11 Skip statement
...................................... 121
14 Built.-in constants
...................................... 121
14.1 Constant e
.................................... 121
14.2 Indeterminate.
14.3 False .
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
.............................
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
.............................
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

IS0 10303-11:1994(E)
c IS0
..............................
15.14 Log - arithmetic function
..............................
15.15 Log2 - arithmetic. function
............................. 129
15.16 Log10 - arithmetic function
............................
15.17 LoIndex - arithmetic function
NVL - null value function .
15.18
Odd - arithmetic function .
15.19
..............................
15.20 RolesOf - general function
15.21 Sin - arithmetic function .
.............................
15.22 SizeOf - aggregate function
Sqrt - arithmetic function .
15.23
15.24 Tan - arithmetic function .
TypeOf - general function .
15.25
UsedIn - general function .
15.26
.............................
15.27 Value - arithmetic function
...........................
15.28 Valuein - membership function
uniqueness function .
15.29 Value-unique -
.....................................
16 Built-in procedures
16.1 Insert .
Remove .
16.2
Annexes
................................
A EXPRESS language syntax
Al . Tokens. .
....................................
A.1.1 Keywords
A.1.2 Character classes .
................................
AS.3 Lexical elements
A.1.4 Remarks .
.............................
A.1.5 Interpreted identifiers
....................................
A.2 Grammar rules
................................
A3 . Cross reference listing
................... 155
Determination of the allowed entity instantiations
B
Bl . Formal approach .
.................................
B2 . Supertype operators
B.2.1 ONEOF. .
AND .
B.2.2
ANDOR .
B.2.3
............................
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
..............................
D.l Introduction and overview
D.2 Definition symbols .
vii
c IS0
IS0 10303-11:1994(E)
.........................
D.2.1 Symbol for simple data types
D.2.2 Symbols for constructed data types .
D.2.3 Symbols for defined data types .
.........................
D.2.4 Symbols for entity data types
D.2.5 Symbols for functions and procedures .
D.2.6 Symbols for rules .
D.2.7 Symbols for schemas .
D3 Relationship symbols .
. Composition symbols
D-4 .
D.4.1 Page references .
D.4.2 Inter-schema references .
D5 . Entity level diagrams .
D.5.1 Role names .
D.5.2 Cardinalities .
D.5.3 Constraints .
D.5.4 Constructed and defined data types .
D.5.5 Entity data types .
D.5.6 Inter-schema references .
D6 Schema level diagrams .
D’7 . Complete EXPRESS-G diagrams .
D.7.1 Complete entity level diagram .
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
G Relationships
........................................
Gl . Relationships via attributes .
Simple relationship
G.1.1 .
G.1.2 Collective relationship .
G.1.3 Distributive relationship .
G.1.4 Inverse attribute
................................
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
c IS0 IS0 10303-11:1994(E)
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
EXPRESS keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 EXPRESS reserved words which are operators . . . . . . . . . . . . . . . . . . . . .
ix
c IS0
IS0 1 10303=11:1994(E) 0
.....................
EXPRESS~ reserved words which are constants
..................
EXPRESS’ reserved words which are function names
.................
EXPRES,S reserved words which are procedure names
.....................................
6 EXPR,ESS symbols
...................................
7 The use of’data types
........................
8 Supertype, expression operator precedence
............................
9 Scopes and identifier defining items
Operator precedence .
Pattern matching characters .
12 NOT operator .
AND operator .
14 OR operator .
XOR operator .
....................
16 Intersection operator - operand and result types
.......................
17 Union operator - operand and result types
.....................
Difference operator - operand and result types
.....................
19 Subset and superset operators - operand types
...........................
20 Example symbolic formatting effects
...............................
21 Picture formatting characters
............................
22 Example picture formatting effects

IS0 10303-11:1994(E)
c IS0
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
c IS0
IS0 10303=11:1994(E)
- 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.

c IS0 IS0 10303=11:1994(E)
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. It is based
on a number of design goals among which are:
- the size and complexity of IS0 10303 demands that the language be parsable by both
Expressing the information elements of IS0 10303 in a less formal
computers and humans.
manner would eliminate the possibility of employing computer automation in checking for
inconsistencies in presentation or for creating any number of secondary views, including
implementation views;
- the language is designed to enable partitioning of the diverse material addressed by IS0
10303. The schema is the basis for partitioning and intercommunication;
- the language focuses on the definition of entities, which represent objects of interest. The
definition of an entity is in terms of its properties, which are characterized by specification
of a domain and the constraints on that domain;
- the language seeks to avoid, as far as possible, specific implementation views. However, it
is possible to manufacture implementation views (such as static file exchange) in an automatic
and straightforward manner.
In EXPRESS, entities are defined in terms of attributes: the traits or characteristics considered
important for use and understanding. These attributes have a representation which might be a
simple data type (such as integer) or another entity type. A geometric point might be defined in
terms of three real numbers. Names are given to the attributes which contribute to the definition
of an entity. Thus, for a geometric point the three real numbers might be named x, y and z.
A relationship is established between the entity being defined and the attributes that define it,
and, in a similar manner, between the attribute and its representation.
. . .
x111
IS0 1030341:1994(E) c IS0
NOTES
1 - A number of languages have contributed to EXPRESS, in particular, Ada, Algol, C, C++,
Euler, Modula-2, Pascal, PL/I and SQL. Some facilities have been invented to make EXPRESS
more suitable for the job of expressing an information model.
2 - The examples of EXPRESS usage in this manual do not conform to any particular style rules.
Indeed, the examples sometimes use poor style to conserve space or to show flexibility. The examples
are not intended to reflect the content of the information models defined in other parts of this
International Standard. They are crafted to show particular features of EXPRESS. Any similarity
between the examples and the normative information models specified in other parts of IS0 10303
should be ignored.
xiv
IS0 10303-11:1994(E)
INTERNATIONAL STANDARD @ISO
Industrial automation systems and integration -
Product data representation and exchange -
Part 11 :
Description methods: The EXPRESS language
reference manual
1 Scope
This part of IS0 10303 defines a language by which aspects of product data can be specified.
The language is called EXPRESS.
This part of IS0 10303 also defines 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 IS0 10303-l. It consists of language
elements which allow an unambiguous data definition and specification of constraints on the
data defined.
The following are within the scope:
- data types;
-
constraints on instances of the data types.
The following are outside the scope of this part of IS0 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.
2 Normative references
The following standards contain provisions which, through reference in this text, constitute
provisions of this part of IS0 10303. At the time of publication, the editions indicated were
IS0 10303=11:1994(E) c IS0
valid. All standards are subject to revision, and parties to agreements based on this part of .
IS0 10303 are encouraged to investigate the possibility of applying the most recent editions of
the standards indicated below. Members of IEC and IS0 maintain registers of currently valid
International Standards.
IS0 10303-1:1994, Industrial automation systems and integration - Product data representation
and exchange - Part 1: Overview and fundamental principles
ISO/IEC 8824-l:- 1) , Information technology - Open systems interconnection - Abstract syntax
notation one (ASN.l) - Part 1: Specification of basic notation.
ISO/IEC 10646-1:1993, Information technology - Universal multiple-octet coded character set
(UCS) - Part 1: Architecture and basic multilingual plane.
3 Definitions
3.1 Terms defined in IS0 10303-l
This part of IS0 10303 makes use of the following terms defined in IS0 10303-l:
- Context;
- Data;
- Data specification language;
- Information.
3.2 Other definitions
For the purposes of this part of IS0 10303, the following definitions apply:
3.2.1 complex entity data type: a representation of an entity. A complex entity data type
establishes a domain of values defined by the common attributes and constraints of an allowed
combination of entity data types within a particular subtype/supertype graph.
3.2.2 complex entity (data type) instance: a named unit of data which represents a unit
of information within the class defined by an entity. It is a member of the domain established
by a complex entity data type.
3.2.3 constant: a named unit of data from a specified domain. The value cannot, be modified.
3.2.4 data type: a domain of values.
l)To be published.
c IS0 IS0 10303=11:1994(E)
3.2.5 entity: a class of information defined by common properties.
3.2.6 entity data type: a representation of an entity. An entity data type establishes a do-
main of values defined by common attributes and constraints.
3.2.7 entity (data type) instance: a named unit of data which represents a unit of informa-
tion within the class defined by an entity. It is a member of the domain established by an entity
data type.
3.2.8 instance: a named value.
3.2.9 partial complex entity data type: a potential representation of an entity. A partial
complex entity data type is a grouping of entity data types within a subtype/supertype graph
which may form part or all of a complex entity data type.
3.2.10 partial complex entity value: a value of a partial complex entity data type. This
has no meaning on its own and must be combined with other partial complex entity values and
a name to form a complex entity instance.
3.2.11 population: a collection of entity data type instances.
3.2.12 simple entity (data type) instance: a named unit of data which represents a unit
of information within the class defined by an entity. It is aI member of the domain established
by a single entity data type.
3.2.13 subtype/supertype graph: a declared collection of entity data types. The entity
data types declared within a subtype/supertype graph are related via the subtype statement.
A subtype/supertype graph defines one or more complex entity data types.
3.2.14 token: a non-decomposable lexical element of a language.
3.2.15 value: a unit of data.
4 Conformance requirements
4.1 Formal specifications written in EXPRESS
4.1.1 Lexical language
A formal specification written in EXPRESS shall be consistent with a given level as specified
below. A formal specification is consistent with a given level when all checks identified for that
level and all lower levels are verified for the specification.
c IS0
IS0 1om3-11:1994(E)
Levels of checking
This level consists of checking the formal specification to
Level 1: Reference checking.
ensure that it is syntactically and referentially valid. A formal specification is syntactically
valid if it matches the syntax generated by expanding the primary syntax rule (syntax) given
in annex A. A formal specification is referentially valid if all references to EXPRESS items
are consistent with the scope and visibility rules defined in 10 and 11.
Level 2: Type checking. This level consists of checking the formal specification to ensure
that it is consistent with the following:
-
expressions shall comply with the rules specified in clause 12;
-
assignments shall comply with the rules specified in 13.3;
-
inverse attribute declarations shall comply with the rules specified in 9.2.1.3;
-
attribute redeclarations shall comply with the rules specified in 9.2.3.4.
Level 3: Value checking. This level consists of checking the formal specification to ensure
that it complies with statements of the form ‘A shall be greater than B’ as specified in clause
7 to clause 16. This is limited to those places where both A and B can be evaluated from
literals and/or constants.
Level 4: Complete checking. This level consists of checking a formal specification to ensure
that it complies with all statements of requirement as specified in this part of IS0 10303.
EXAMPLE 1 - This part of IS0 10303 states that functions shall specify a return statement in
each of the possible paths a process may take when that function is invoked. This would have
to, be checked.
4.1.2 Graphical form
A formal specification written in EXPRESS-G shall be consistent with a given level as specified
below. A formal specification is consistent with a given level when all checks identified for that
level and all lower levels are verified for the specification.
IS0 10303=11:1994(E)
c IS0
Levels of checking
Level 1: Symbols and scope checking. This level consists of checking the formal specification
to ensure that it is consistent with either an entity level or a schema level specification as
defined in D.5 and D.6 respectively. This includes checking that the formal specification uses
symbols as defined in D.2, D.3 and D.4. The formal specification will also be checked to ensure
that page references and redeclared attributes comply with D.4.1 and D.5.5 respectively.
Level 2: Complete checking. This level consists of checking a formal specification to identify
those places which do not conform to either a complete entity level or complete schema level
specification as defined in annex D and the requirements defined in clause 7 through clause
16 .
4.2 Implementations of EXPRESS
4.2.1 EXPRESS language parser
An implementation of an EXPRESS language parser shall be able to parse any formal specification
written in EXPRESS, consistent with the constraints as specified in the annex E associated with
that implementation. An EXPRESS language parser shall be said to conform to a particular
checking level (as defined in 4.1 .l) if it can apply all checks required by the level (and any level
below that) to a formal specification written in EXPRESS.
The implementor of an EXPRESS language parser shall state any constraints which the imple-
mentation imposes on the number and length of identifiers, on the range of processed numbers,
and on the maximum precision of real numbers. Such constraints shall be documented in the
form specified by annex E for the purposes of conformance testing.
4.2.2 Graphical editing tool
An implementation of an EXPRESS-G editing tool shall be able to create and display a formal
specification in EXPRESS-G, consistent with the constraints as specified in the annex E associated
with that implementation. An EXPRESS-G editing tool shall be said to conform to a particular
checking level if it can create and display a formal specification in EXPRESS-G which is consistent
with the specified level of checking (and any level below that).
The implementor of an EXPRESS-G editing tool shall state any constraints which the imple-
mentation imposes on the number and length of identifiers, the number of symbols available per
page of the model, and the maximum number of pages. Such constraints shall be documented
in the form specified by annex E for the purposes of conformance testing.
5 Fundamental principles
The reader of this document is assumed to be familiar with the following concepts.
A schema written in the EXPRESS language describes a set of conditions which establishes a
IS0 10303=11:1994(E) c IS0
domain. Instances can be evaluated to determine if they are in the domain. If the instances
meet all the conditions, then they are asserted to be in the domain. If the instances fail to meet
any of the conditions, then the instances have violated the conditions and thus are not in the
domain. In the case where the instances do not contain values for optional attributes and some
of the conditions involve those optional attributes, it may not be possible to determine whether
the instances meet all the conditions. In this case, the instances are considered in the domain.
Many of the elements of the EXPRESS language are assigned names. The name allows other
language elements to reference the associated representation. The use of the name in the defini-
tion of other language elements constitutes a reference to the underlying representation. While
the syntax of the language uses an identifier for the name, the underlying representation must
be examined to understand the structure.
The specification of an entity data type in the EXPRESS language describes a domain. The
individual members of the domain are assumed to be distinguished by some associated identifier
which is unique. EXPRESS does not specify the content or representation of these identifiers.
The declaration of a constant entity instance defines an identifiable member of the domain
described by the entity data type. These entity instances shall not be modified or deleted by
operations performed on the domain.
The procedural description of constraints in EXPRESS may declare or make reference to addi-
tional entity instances, as local variables, which are assumed to be transient identifiable members
of the domain. These procedural descriptions may modify these additional entity instances, but
cannot modify persistent members of the domain. These transient members of the domain are
only accessible within the scope of the procedural code in which they were declared, and cease
to exist upon termination of that code.
The EXPRESS language does not describe an implementation environment. In particular, EX-
PRESS does not specify:
-
how references to names are resolved;
-
how other schemas are known;
-
how or when constraints are checked;
-
what an implementation shall do if a constraint is not met;
-
whether or not instances that do not conform to an EXPRESS
...

Questions, Comments and Discussion

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

Loading comments...