Professional Documents
Culture Documents
ISO/IEC 15437:2001
COPYRIGHT
Standards Australia/Standards New Zealand
All rights are reserved. No part of this work may be reproduced or copied in any form or by any
means, electronic or mechanical, including photocopying, without the written permission of the
publisher.
Jointly published by Standards Australia International Ltd, GPO Box 5420, Sydney, NSW 2001
and Standards New Zealand, Private Bag 2439, Wellington 6020
ISBN 0 7337 5284 5
ii
PREFACE
This Standard was prepared by the Joint Standards Australia/Standards New Zealand Committee
IT-015, Software Engineering.
This Standard is identical with, and has been reproduced from ISO/IEC 15437:2001, Information
technologyEnhancements to LOTOS (E-LOTOS).
The objective of this Standard is to define the syntax and semantics of the enhanced LOTOS
language, named E-LOTOS. E-LOTOS is used for the formal description of the behavioural aspects of
distributed and concurrent systems in general and in the area of open distributed processing in
particular.
As this Standard is reproduced from an international standard, the following applies:
(a) Its number appears on the cover and title page while the international standard number appears
only on the cover.
(b) In the source text this International Standard should read this Australian/New Zealand
Standard.
(c) A full point substitutes for a comma when referring to a decimal marker.
References to International Standards should be replaced by references to Australian or
Australian/New Zealand Standards, as follows:
Reference to International Standard
ISO
AS/NZS
8807
4199
iii
CONTENTS
Page
1
2
3
4
5
5.1
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.1.6
5.2
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
5.2.7
5.2.8
5.2.9
5.2.10
5.2.11
5.2.12
5.2.13
5.2.14
5.2.15
5.2.16
5.2.17
5.2.18
Scope . . . . . . . . . . . . . . . . .
Conformance . . . . . . . . . . . . .
Normative reference . . . . . . . . . .
Terms, definitions and notation . . . .
E-LOTOS grammar . . . . . . . . . .
Lexical Structure . . . . . . . . . . .
Character set . . . . . . . . . . . . .
Comments and separators . . . . . . .
Identifiers . . . . . . . . . . . . . . .
Reserved words . . . . . . . . . . . .
Identifiers classes . . . . . . . . . . .
Non-terminals classes . . . . . . . . .
Syntax of the language . . . . . . . .
Specification . . . . . . . . . . . . . .
Top-level declaration . . . . . . . . .
Module body . . . . . . . . . . . . .
Module expression . . . . . . . . . . .
Module formal parameters . . . . . .
Interface expressions . . . . . . . . .
Record module expression . . . . . . .
Interface body . . . . . . . . . . . . .
Formal parameter list . . . . . . . . .
Renaming/Instantiation . . . . . . . .
Equations declaration . . . . . . . . .
Simple equations declaration . . . . .
Declarations . . . . . . . . . . . . . .
Expressions . . . . . . . . . . . . . .
Expression Atoms . . . . . . . . . . .
Behaviour expressions . . . . . . . . .
Disabling behaviour expression . . . .
Synchronization behaviour expression
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
1
2
2
2
3
3
3
4
4
5
5
6
6
6
6
6
6
7
7
7
7
8
8
8
8
9
10
10
iv
Page
5.2.19
5.2.20
5.2.21
5.2.22
5.2.23
5.2.24
5.2.25
5.2.26
5.2.27
5.2.28
5.2.29
5.2.30
5.2.31
5.2.32
5.2.33
5.2.34
5.2.35
5.2.36
5.2.37
6
6.1
6.1.1
6.1.2
6.2
6.2.1
6.2.2
6.2.3
6.2.4
6.2.5
6.2.6
6.2.7
6.2.8
6.2.9
6.2.10
6.2.11
6.2.12
6.2.13
6.2.14
6.2.15
6.2.16
6.2.17
7
7.1
7.2
7.2.1
7.2.2
7.2.3
7.2.4
7.2.5
7.2.6
7.2.7
7.2.8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
10
10
10
10
11
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
15
15
16
16
18
18
21
21
24
24
25
31
32
32
33
33
33
33
34
34
35
35
36
36
37
38
39
39
40
40
40
Page
7.2.9
7.2.10
7.2.11
7.3
7.3.1
7.3.2
7.3.3
7.3.4
7.3.5
7.3.6
7.3.7
7.4
7.4.1
7.5
8
8.1
8.1.1
8.2
8.2.1
8.2.2
8.2.3
8.2.4
8.2.5
8.2.6
8.3
8.3.1
8.3.2
8.4
8.4.1
8.4.2
8.4.3
8.4.4
8.4.5
8.5
8.5.1
8.5.2
8.6
8.6.1
8.6.2
8.6.3
8.7
8.7.1
8.7.2
8.7.3
8.7.4
8.7.5
8.7.6
8.7.7
8.8
8.8.1
8.8.2
8.8.3
Interface Instantiation . . . . . . . . . . . . . . . . . . . . .
Interface Matching . . . . . . . . . . . . . . . . . . . . . .
Renaming/Instantiation . . . . . . . . . . . . . . . . . . . .
Untimed dynamic semantics . . . . . . . . . . . . . . . . .
Untimed dynamic semantic objects for Base . . . . . . . . .
Judgements on untimed dynamic semantics for Base . . . .
Dynamic semantic objects for Modules . . . . . . . . . . . .
Judgements on untimed dynamic semantics for Modules . .
Environment morphism . . . . . . . . . . . . . . . . . . . .
Signature Instantiation . . . . . . . . . . . . . . . . . . . .
Renaming/Instantiation . . . . . . . . . . . . . . . . . . . .
Timed dynamic semantics . . . . . . . . . . . . . . . . . .
Judgements on timed dynamic semantics . . . . . . . . . .
Write-many variables: the value substitution operator . . . .
The E-LOTOS modules . . . . . . . . . . . . . . . . . . . .
Specification . . . . . . . . . . . . . . . . . . . . . . . . . .
Specification . . . . . . . . . . . . . . . . . . . . . . . . . .
Top-level declaration . . . . . . . . . . . . . . . . . . . . .
Module not constrained by an interface . . . . . . . . . . .
Module constrained by an interface . . . . . . . . . . . . .
Generic module not constrained by an interface . . . . . . .
Generic module constrained by an interface . . . . . . . . .
Interface declaration . . . . . . . . . . . . . . . . . . . . . .
Sequential top declaration . . . . . . . . . . . . . . . . . .
Module body . . . . . . . . . . . . . . . . . . . . . . . . .
Block declaration . . . . . . . . . . . . . . . . . . . . . . .
Module Expression . . . . . . . . . . . . . . . . . . . . . .
Module expression . . . . . . . . . . . . . . . . . . . . . . .
Module aliasing not constrained by an interface . . . . . . .
Module aliasing constrained by an interface . . . . . . . . .
Generic module actualization not constrained by an interface
Generic module actualization constrained by an interface . .
Generic module renaming/instantiation . . . . . . . . . . .
Module formal parameters . . . . . . . . . . . . . . . . . .
Single . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disjoint union . . . . . . . . . . . . . . . . . . . . . . . . .
Interface expressions . . . . . . . . . . . . . . . . . . . . .
Interface identifier . . . . . . . . . . . . . . . . . . . . . . .
Simple renaming . . . . . . . . . . . . . . . . . . . . . . .
Explicit body . . . . . . . . . . . . . . . . . . . . . . . . .
Interface body . . . . . . . . . . . . . . . . . . . . . . . . .
Type hiding the implementation . . . . . . . . . . . . . . .
Type synonym . . . . . . . . . . . . . . . . . . . . . . . . .
Constructed type . . . . . . . . . . . . . . . . . . . . . . .
Named record type . . . . . . . . . . . . . . . . . . . . . .
Process declaration . . . . . . . . . . . . . . . . . . . . . .
Equations . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sequential declaration . . . . . . . . . . . . . . . . . . . . .
Record module expression . . . . . . . . . . . . . . . . . . .
Single . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disjoint union . . . . . . . . . . . . . . . . . . . . . . . . .
Renaming tuple . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
40
41
41
44
44
45
46
47
48
48
48
48
49
49
52
52
52
53
53
53
54
55
55
56
56
56
57
57
57
58
58
59
59
60
60
60
61
61
61
61
62
62
62
62
63
63
64
64
64
64
65
65
vi
Page
8.9
8.9.1
8.9.2
8.10
8.11
8.11.1
8.11.2
8.11.3
8.11.4
8.11.5
9
9.1
9.2
9.2.1
9.2.2
9.2.3
9.2.4
9.2.5
9.2.6
9.2.7
9.2.8
9.2.9
9.2.10
9.2.11
9.2.12
9.2.13
9.2.14
9.2.15
9.2.16
9.2.17
9.2.18
9.2.19
9.2.20
9.2.21
9.2.22
9.2.23
9.2.24
9.2.25
9.2.26
9.2.27
9.3
9.3.1
9.3.2
9.3.3
9.3.4
9.4
9.4.1
9.4.2
9.4.3
9.4.4
9.5
9.5.1
Equation declarations . . . . . . . . .
Equations declaration . . . . . . . . .
Sequential . . . . . . . . . . . . . . .
Simple equation declaration . . . . . .
Declarations . . . . . . . . . . . . . .
Type synonym . . . . . . . . . . . . .
Type declaration . . . . . . . . . . . .
Named record type . . . . . . . . . .
Process declaration . . . . . . . . . .
Sequential declarations . . . . . . . .
The E-LOTOS base language . . . . .
Introduction . . . . . . . . . . . . . .
Behaviours . . . . . . . . . . . . . . .
Disabling behaviour expression . . . .
Synchronization behaviour expression
Concurrency behaviour expression . .
Selection behaviour expression . . . .
Suspend/Resume behaviour expression
Sequential composition . . . . . . . .
Action . . . . . . . . . . . . . . . . .
Internal action . . . . . . . . . . . . .
Succesful termination without values .
Succesful termination . . . . . . . . .
Inaction . . . . . . . . . . . . . . . .
Time block . . . . . . . . . . . . . .
Delay . . . . . . . . . . . . . . . . .
Assignment . . . . . . . . . . . . . .
Nondeterministic Assignment . . . . .
Choice over values . . . . . . . . . .
Trap . . . . . . . . . . . . . . . . . .
General parallel . . . . . . . . . . . .
Parallel over values . . . . . . . . . .
Variable declaration . . . . . . . . . .
Gate hiding . . . . . . . . . . . . . .
Renaming . . . . . . . . . . . . . . .
Process instantiation . . . . . . . . .
loop iteration . . . . . . . . . . . . .
Case . . . . . . . . . . . . . . . . . .
Case with tuples . . . . . . . . . . . .
Signalling . . . . . . . . . . . . . . .
Type expressions . . . . . . . . . . .
Type identifier . . . . . . . . . . . . .
Empty type . . . . . . . . . . . . . .
Universal type . . . . . . . . . . . . .
Record type . . . . . . . . . . . . . .
Record type expressions . . . . . . . .
Singleton record . . . . . . . . . . . .
Universal record . . . . . . . . . . . .
Record disjoint union . . . . . . . . .
Empty record . . . . . . . . . . . . .
Value expressions . . . . . . . . . . .
Primitive constants . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
65
65
66
66
66
66
66
67
67
68
69
69
69
69
70
71
73
73
74
75
76
76
76
77
77
77
78
78
79
80
81
83
84
84
85
87
87
88
88
89
90
90
90
90
90
91
91
91
91
92
92
92
vii
Page
9.5.2
9.5.3
9.5.4
9.6
9.6.1
9.6.2
9.6.3
9.7
9.7.1
9.7.2
9.7.3
9.7.4
9.7.5
9.7.6
9.8
9.8.1
9.8.2
9.8.3
9.8.4
9.8.5
9.9
9.9.1
9.9.2
9.10
9.10.1
9.10.2
10
10.1
10.2
10.3
10.4
10.5
10.6
10.7
10.8
10.9
10.10
10.11
A
A.1
A.1.1
A.2
A.2.1
A.3
A.3.1
A.3.2
A.3.3
A.3.4
B
B.1
B.1.1
B.1.2
Variables . . . . . . . . . . . . . . . . . . . . .
Record values . . . . . . . . . . . . . . . . . .
Constructor application . . . . . . . . . . . . .
Record value expressions . . . . . . . . . . . .
Singleton record . . . . . . . . . . . . . . . . .
Record disjoint union . . . . . . . . . . . . . .
Empty record . . . . . . . . . . . . . . . . . .
Patterns . . . . . . . . . . . . . . . . . . . . .
Record pattern . . . . . . . . . . . . . . . . .
Wildcard . . . . . . . . . . . . . . . . . . . . .
Variable binding . . . . . . . . . . . . . . . . .
Expression pattern . . . . . . . . . . . . . . . .
Constructor application . . . . . . . . . . . . .
Explicit typing . . . . . . . . . . . . . . . . . .
Record patterns . . . . . . . . . . . . . . . . .
Singleton record pattern . . . . . . . . . . . .
Record wildcard . . . . . . . . . . . . . . . . .
Record match . . . . . . . . . . . . . . . . . .
Record disjoint union . . . . . . . . . . . . . .
Empty record pattern . . . . . . . . . . . . . .
Record of variables . . . . . . . . . . . . . . .
Singleton record variable . . . . . . . . . . . .
Record disjoint union . . . . . . . . . . . . . .
Behaviour pattern-matching . . . . . . . . . .
Single match . . . . . . . . . . . . . . . . . .
Multiple match . . . . . . . . . . . . . . . . .
Predefined library . . . . . . . . . . . . . . . .
Booleans . . . . . . . . . . . . . . . . . . . . .
Natural Numbers . . . . . . . . . . . . . . . .
Integral Numbers . . . . . . . . . . . . . . . .
Rational Numbers . . . . . . . . . . . . . . . .
Floating Point Numbers . . . . . . . . . . . . .
Characters . . . . . . . . . . . . . . . . . . . .
Strings . . . . . . . . . . . . . . . . . . . . . .
Enumerated Type Scheme . . . . . . . . . . .
Record Type Scheme . . . . . . . . . . . . . .
Set Type Scheme . . . . . . . . . . . . . . . .
List Type Scheme . . . . . . . . . . . . . . . .
Tutorial . . . . . . . . . . . . . . . . . . . . .
The base language . . . . . . . . . . . . . . .
Basic concepts . . . . . . . . . . . . . . . . . .
The module language . . . . . . . . . . . . . .
Basic concepts . . . . . . . . . . . . . . . . . .
An E-LOTOS specification of the ODP trader .
Introduction . . . . . . . . . . . . . . . . . . .
An overview of the ODP Trader . . . . . . . .
E-LOTOS Specification of the trader . . . . .
The complete specification . . . . . . . . . . .
Guidelines for LOTOS to E-LOTOS translation
Introduction . . . . . . . . . . . . . . . . . . .
Specification and process definition . . . . . . .
Basic LOTOS . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
92
92
93
93
93
93
93
94
94
94
94
95
95
96
96
97
97
97
98
98
98
98
98
99
99
100
100
101
103
106
109
112
113
114
114
116
117
120
122
122
124
145
148
156
156
156
158
161
179
179
180
180
viii
Page
B.1.3
B.1.4
1
AUSTRALIAN/NEW ZEALAND STANDARD
Scope
This International Standard defines the syntax and semantics of the enhanced LOTOS language (ISO 8807),
named E-LOTOS. E-LOTOS is used for the formal description of the behavioural aspects of distributed and
concurrent systems in general and in the area of open distributed processing in particular.
Conformance
A formal specification written in E-LOTOS conforms to the requirements of this International Standard if and
only if it is derivable according to the syntactic rules defined in clause 5 and the semantics is unambiguously
derivable from the semantic definition in clause 7.
Normative reference
The following normative document contains provisions which, through reference in this text, constitute provisions
of this International Standard. For dated references, subsequent amendments to, or revisions of, any of these
publications do not apply. However, parties to agreements based on this International Standard are encouraged
to investigate the possibility of applying the most recent edition of the normative document indicated below.
For undated references, the latest edition of the normative document referred to applies. Members of ISO and
IEC maintain registers of currently valid International Standards.
ISO 8807, Information processing systems Open Systems Interconnection LOTOS A formal description
technique based on the temporal ordering of observational behaviour
This clause describes the concrete syntax for E-LOTOS. Here we use a notation similar to Extended BackusNaur format which is summarized in the following table:
COPYRIGHT
This is a free preview. Purchase the entire publication at the link below: