1、BRITISH STANDARD BS ISO/IEC 15437:2001 Information technology Enhancements to LOTOS (E-LOTOS) ICS 35.080 NO COPYING WITHOUT BSI PERMISSION EXCEPT AS PERMITTED BY COPYRIGHT LAWBS ISO/IEC 15437:2001 This British Standard, having been prepared under the direction of the DISC Board, was published under
2、the authority of the Standards Policy and Strategy Committee on 21 September 2001 BSI 21 September 2001 ISBN 0 580 38505 1 National foreword This British Standard reproduces verbatim ISO/IEC 15437:2001 and implements it as the UK national standard. The UK participation in its preparation was entrust
3、ed to Technical Committee IST/15, Software Engineering, which has the responsibility to: A list of organizations represented on this committee can be obtained on request to its secretary. Cross-references The British Standards which implement international or European publications referred to in thi
4、s document may be found in the BSI Standards Catalogue under the section entitled “International Standards Correspondence Index”, or by using the “Find” facility of the BSI Standards Electronic Catalogue. A British Standard does not purport to include all the necessary provisions of a contract. User
5、s of British Standards are responsible for their correct application. Compliance with a British Standard does not of itself confer immunity from legal obligations. aid enquirers to understand the text; present to the responsible international/European committee any enquiries on the interpretation, o
6、r proposals for change, and keep the UK interests informed; monitor related international and European developments and promulgate them in the UK. Summary of pages This document comprises a front cover, an inside front cover, the ISO/IEC title page, pages ii to xi, a blank page, pages 1 to 187 and a
7、 back cover. The BSI copyright date displayed in this document indicates when the document was last issued. Amendments issued since publication Amd. No. Date Comments Reference number ISO/IEC 15437:2001(E)INTERNATIONAL STANDARD ISO/IEC 15437 First edition 2001-08-15 Information technology Enhancemen
8、ts to LOTOS (E-LOTOS) Technologies de linformation Mises en valeur de LOTOS (E-LOTOS) ISO/IEC 15437:2001(E) ii ISO/IEC 15437:2001(E) Contents 1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Conformance . . . . . . . . . . . . . . . . . . . . . .
9、. . . . . . . . . . . . . . . . . . . 1 3 Normative reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 Terms, denitions and notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 E-LOTOS grammar . . . . . . . . . . . . . . . . . . . . . .
10、. . . . . . . . . . . . . . . . 2 5.1 Lexical Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5.1.1 Character set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 5.1.2 Comments and separators . . . . . . . . . . . . . . .
11、. . . . . . . . . . . . . . . . . . . . 3 5.1.3 Identiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5.1.4 Reserved words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5.1.5 Identiers classes . . . . . . . . . . . . . .
12、 . . . . . . . . . . . . . . . . . . . . . . . . . 4 5.1.6 Non-terminals classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 5.2 Syntax of the language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.2.1 Specication . . . . . . . . . . . .
13、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5.2.2 Top-level declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2.3 Module body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2.4 Module expression . . . .
14、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2.5 Module formal parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2.6 Interface expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2.7 Record module exp
15、ression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.2.8 Interface body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2.9 Formal parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2.10 Rena
16、ming/Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2.11 Equations declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2.12 Simple equations declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17、8 5.2.13 Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2.14 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2.15 Expression Atoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18、 . . . . . . . 8 5.2.16 Behaviour expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.2.17 Disabling behaviour expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.18 Synchronization behaviour expression . . . . . . . . . . . . . . .
19、 . . . . . . . . . . . . . 10 iiiISO/IEC 15437:2001(E) 5.2.19 Concurrency behaviour expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.20 Selection behaviour expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.21 Suspend/Resume behaviour expre
20、ssion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.22 Interleaving behaviour expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.23 Behaviour term . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.24 Behaviour atom .
21、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.2.25 Type expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.2.26 Record type expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.2.27 V
22、alue expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5.2.28 Record value expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.2.29 Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23、 . . . 13 5.2.30 Gate parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.2.31 Actual parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 5.2.32 Exception parameter list . . . . . . . . . . . . . . . . . . . . . . .
24、. . . . . . . . . . . . 13 5.2.33 Record patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2.34 Behaviour pattern matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2.35 Expression pattern matching . . . . . . . . . . . . . . .
25、 . . . . . . . . . . . . . . . . . . 14 5.2.36 In parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.2.37 In parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6 E-LOTOS abstract syntax . . . . . . . . . .
26、 . . . . . . . . . . . . . . . . . . . . . . . . 14 6.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6.1.1 Syntactic sugar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6.1.2 Abstract syntax . . . . . . . . .
27、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 6.2 Concrete to abstract syntactic translation . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2.1 Interface body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2.2 Formal parameter lis
28、t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 6.2.3 Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 6.2.4 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.2.5 Expr
29、ession atoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.2.6 Behaviour expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.2.7 Interleaving behaviour expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30、 24 6.2.8 Behaviour atom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.2.9 Type expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.2.10 Record type expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31、 . . . . . . . 32 6.2.11 Record value expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6.2.12 Gate parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.2.13 Actual parameter list . . . . . . . . . . . . . . . . . . . . .
32、. . . . . . . . . . . . . . . . 33 6.2.14 Exception parameter list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.2.15 Record patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 6.2.16 In parameter list . . . . . . . . . . . . . . .
33、 . . . . . . . . . . . . . . . . . . . . . . . . . 34 6.2.17 In parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 7 E-LOTOS semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 7.1 Overview . . . . . . . . . . . . . . .
34、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 7.2 Static Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 7.2.1 Static semantic objects for Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 7.2.2 Judgements on static seman
35、tics for Base. . . . . . . . . . . . . . . . . . . . . . . . . . . 37 7.2.3 Extended identiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 7.2.4 Static semantic objects for Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.2.5 Judgements on sta
36、tic semantics for Modules . . . . . . . . . . . . . . . . . . . . . . . . . 39 7.2.6 Cycle freedom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 7.2.7 Context morphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 7.2.8 Realiz
37、ation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 ivISO/IEC 15437:2001(E) 7.2.9 Interface Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 7.2.10 Interface Matching . . . . . . . . . . . . . . . . . . . . . . . .
38、. . . . . . . . . . . . . . 41 7.2.11 Renaming/Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 7.3 Untimed dynamic semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 7.3.1 Untimed dynamic semantic objects for Base . . . . . . . . .
39、 . . . . . . . . . . . . . . . . 44 7.3.2 Judgements on untimed dynamic semantics for Base . . . . . . . . . . . . . . . . . . . . 45 7.3.3 Dynamic semantic objects for Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 7.3.4 Judgements on untimed dynamic semantics for Modules . . .
40、. . . . . . . . . . . . . . . 47 7.3.5 Environment morphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 7.3.6 Signature Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 7.3.7 Renaming/Instantiation . . . . . . . . . . . . . . . .
41、 . . . . . . . . . . . . . . . . . . . . 48 7.4 Timed dynamic semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 7.4.1 Judgements on timed dynamic semantics . . . . . . . . . . . . . . . . . . . . . . . . . . 49 7.5 Write-many variables: the value substitution operator
42、. . . . . . . . . . . . . . . . . . . . 49 8 The E-LOTOS modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.1 Specication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.1.1 Specication . . . . . . . . . . . . . . . . . . . .
43、 . . . . . . . . . . . . . . . . . . . . . . 52 8.2 Top-level declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.2.1 Module not constrained by an interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.2.2 Module constrained by an interface . . .
44、. . . . . . . . . . . . . . . . . . . . . . . . . . 53 8.2.3 Generic module not constrained by an interface . . . . . . . . . . . . . . . . . . . . . . . 54 8.2.4 Generic module constrained by an interface . . . . . . . . . . . . . . . . . . . . . . . . . 55 8.2.5 Interface declaration. . . . . . .
45、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 8.2.6 Sequential top declaration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 8.3 Module body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 8.3.1 Block declaration . . .
46、. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 8.3.2 Module Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 8.4 Module expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 8.4.1 Module aliasi
47、ng not constrained by an interface . . . . . . . . . . . . . . . . . . . . . . . 57 8.4.2 Module aliasing constrained by an interface . . . . . . . . . . . . . . . . . . . . . . . . . 58 8.4.3 Generic module actualization not constrained by an interface . . . . . . . . . . . . . . . . 58 8.4.4 Gener
48、ic module actualization constrained by an interface . . . . . . . . . . . . . . . . . . 59 8.4.5 Generic module renaming/instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 8.5 Module formal parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 8.5.1 Si
49、ngle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 8.5.2 Disjoint union . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 8.6 Interface expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 8.6.1 Interface identier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 8.6.2 Simple renaming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 8.6.3 Explicit body . . . . . . . . . . . . . . . . . . . . .