<strong>VDM</strong>-<strong>10</strong> <strong>Language</strong> <strong>Manual</strong> new expression, 59, 188 nil literal, 200 nondeterministic statement, <strong>10</strong>9, 193 not, 183 not equal, 185 not in set, 186 Not membership, 14 numeral, 200 numeric literal, 200 object apply, 112, 193 object designator, 112, 193 object field reference, 112, 193 old name, 68, 190 operation body, 90, 178 operation definition, 89, 178 operation definitions, 89, 178 operation import, 158, 172 operation signature, 154, 173 operation type, 90, 178 operations signature, 154, 173 optional type, 26, 175 or, 185 others expression, 46, 182 others statement, <strong>10</strong>5, 192 Override, 19 parameter types, 36, 177 parameters, 36, 90, 177 parameters list, 177 partial function type, 28, 36, 175 pattern, 73, 194 pattern bind, 73, 195 pattern identifier, 73, 194 pattern list, 36, 73, 90, 195 pattern type pair list, 36, 177 periodic obligation, 145, 180 periodic thread definition, 145, 180 permission predicate, 138, 179 permission predicates, 138, 179 Power, 9 pre-condition expression, 189 precondition expression, 71 prefix expression, 45, 183 procedural thread definition, 147, 180 Product, 9 product type, 22, 175 Proper subset, 14 proper subset, 186 quantified expression, 48, 186 Quote, 11 quote literal, 200 quote type, 174 Range, 19 Range restrict by, 19 Range restrict to, 19 record constructor, 56, 188 record modification, 56, 188 record modifier, 56, 188 record pattern, 73, 195 record type, 22 recursive trap statement, 115, 194 relation, 205 relational infix operator, 205 Remainder, 9 req expression, 66, 190 return statement, 114, 193 Reverse sequence, 16 same base class membership expression, 65 same class membership expression, 65 samebaseclass expression, 65, 189 sameclass expression, 66, 189 self expression, 59, 188 self expressions, 114 seq conc pattern, 73, 195 seq enum pattern, 73, 195 seq type, 15, 175 seq0 type, 16, 175 seq1 type, 16, 175 Sequence application, 16 sequence comprehension, 53, 187 sequence concatenate, 186 sequence elements, 184 218
INDEX sequence enumeration, 53, 187 sequence for loop, <strong>10</strong>6, 192 sequence head, 184 sequence indices, 184 sequence infix operator, 205 sequence length, 184 Sequence modification, 16 sequence prefix operator, 205 sequence reverse, 184 sequence tail, 184 set bind, 79, 195 set cardinality, 183 set comprehension, 51, 187 set difference, 186 set enum pattern, 73, 194 set enumeration, 51, 187 set for loop, <strong>10</strong>7, 192 set infix operator, 205 set intersection, 186 set prefix operator, 205 set range expression, 51, 187 set relational operator, 205 set type, 13, 175 set union, 186 set union pattern, 73, 194 Single-line comment, 200 specification statement, 121, 193 start list statement, 120, 193 start statement, 120, 193 state definition, 85, 176 state designator, <strong>10</strong>2, 190 statement, 97, 99–<strong>10</strong>1, <strong>10</strong>4, <strong>10</strong>6, <strong>10</strong>9, 111, 114, 115, 118, 119, 121–123, 191 subsequence, 53, 187, 204 Subset, 14 subset, 186 Sum, 9 symbolic literal, 200 synchronization, 138, 179 synchronization definitions, 138, 179 system, 125, 173 Tail, 16 text literal, 200 thread definition, 145, 180 thread definitions, 145, 180 threadid expression, 60, 188 time expression, 67, 190 Token, 12 total function type, 29, 36, 175 trace apply expression, 161, 180 trace binding, 162, 180 trace bindings, 162, 180 trace bracketed expression, 162, 180 trace core definition, 161, 180 trace definition, 161, 180 trace definition list, 161, 180 trace definition term, 161, 180 trace repeat pattern, 161, 180 traces definitions, 161, 180 trap statement, 115, 194 traps, 115, 194 tuple constructor, 55, 187 tuple pattern, 73, 195 tuple select, 57, 188 type, 13, 15, 18, 21, 23, 26, 28, 174 type bind, 62, 79, 195 type bind list, 62, 195 type definition, 174 type definitions, 174 type export, 154, 172 type import, 158, 172 type judgement, 63, 189 type name, 175 type variable, 175 type variable identifier, 199 type variable list, 36, 177 unary expression, 45, 183 Unary minus, 9 unary minus, 183 unary operator, 45, 183 unary plus, 183 undefined expression, 70, 189 Union, 14 219
- Page 1 and 2:
Overture - Open-source Tools for Fo
- Page 3 and 4:
Contents 1 Introduction 1 1.1 The V
- Page 5 and 6:
CONTENTS 13 Statements 97 13.1 Let
- Page 7 and 8:
CONTENTS A.7.19 The Undefined Expre
- Page 9 and 10:
Chapter 1 Introduction The Vienna D
- Page 11 and 12:
Chapter 2 Concrete Syntax Notation
- Page 13 and 14:
Chapter 3 Data Type Definitions As
- Page 15 and 16:
Chapter 3. Data Type Definitions We
- Page 17 and 18:
Chapter 3. Data Type Definitions Op
- Page 19 and 20:
Chapter 3. Data Type Definitions (a
- Page 21 and 22:
Chapter 3. Data Type Definitions
- Page 23 and 24:
Chapter 3. Data Type Definitions Op
- Page 25 and 26:
Chapter 3. Data Type Definitions Op
- Page 27 and 28:
Chapter 3. Data Type Definitions Op
- Page 29 and 30:
Chapter 3. Data Type Definitions m1
- Page 31 and 32:
Chapter 3. Data Type Definitions Sy
- Page 33 and 34:
Chapter 3. Data Type Definitions Th
- Page 35 and 36:
Chapter 3. Data Type Definitions
- Page 37 and 38:
Chapter 3. Data Type Definitions to
- Page 39 and 40:
Chapter 3. Data Type Definitions
- Page 41 and 42:
Chapter 4 Algorithm Definitions In
- Page 43 and 44:
Chapter 5 Function Definitions In t
- Page 45 and 46:
Chapter 5. Function Definitions Not
- Page 47 and 48:
Chapter 5. Function Definitions Thi
- Page 49 and 50:
Chapter 6 Expressions In this subse
- Page 51 and 52:
Chapter 6. Expressions ✡✝ mk_Sc
- Page 53 and 54:
Chapter 6. Expressions Examples: Th
- Page 55 and 56:
Chapter 6. Expressions where e1 is
- Page 57 and 58:
Chapter 6. Expressions all expressi
- Page 59 and 60:
Chapter 6. Expressions where bd is
- Page 61 and 62:
Chapter 6. Expressions 6.8 Sequence
- Page 63 and 64:
Chapter 6. Expressions where all th
- Page 65 and 66:
Chapter 6. Expressions mu operator.
- Page 67 and 68:
Chapter 6. Expressions new expressi
- Page 69 and 70:
Chapter 6. Expressions Examples: Us
- Page 71 and 72:
Chapter 6. Expressions which will r
- Page 73 and 74:
Chapter 6. Expressions Examples: As
- Page 75 and 76:
Chapter 6. Expressions • #active(
- Page 77 and 78:
Chapter 6. Expressions ✞ state si
- Page 79 and 80:
Chapter 6. Expressions Semantics: A
- Page 81 and 82:
Chapter 7 Patterns Syntax: pattern
- Page 83 and 84:
Chapter 7. Patterns In the followin
- Page 85 and 86:
Chapter 7. Patterns ✡✝ ✆ The
- Page 87 and 88:
Chapter 8 Bindings Syntax: bind = s
- Page 89 and 90:
Chapter 9 Value (Constant) Definiti
- Page 91 and 92:
Chapter 10 Instance Variables (VDM+
- Page 93 and 94:
Chapter 11 The State Definition (VD
- Page 95 and 96:
Chapter 11. The State Definition (V
- Page 97 and 98:
Chapter 12 Operation Definitions Op
- Page 99 and 100:
Chapter 12. Operation Definitions s
- Page 101 and 102:
Chapter 12. Operation Definitions p
- Page 103 and 104:
Chapter 12. Operation Definitions h
- Page 105 and 106:
Chapter 13 Statements In this secti
- Page 107 and 108:
Chapter 13. Statements ✡✝ def t
- Page 109 and 110:
Chapter 13. Statements block return
- Page 111 and 112:
Chapter 13. Statements Examples: Th
- Page 113 and 114:
Chapter 13. Statements elseif state
- Page 115 and 116:
Chapter 13. Statements ‘do’, st
- Page 117 and 118:
Chapter 13. Statements 13.7 The Whi
- Page 119 and 120:
Chapter 13. Statements ✡✝ (dcl
- Page 121 and 122:
Chapter 13. Statements ✞ ✡✝ R
- Page 123 and 124:
Chapter 13. Statements where expres
- Page 125 and 126:
Chapter 13. Statements result of th
- Page 127 and 128:
Chapter 13. Statements ✡✝ else
- Page 129 and 130:
Chapter 13. Statements ✞ bootSequ
- Page 131 and 132:
Chapter 13. Statements ✞ op1 : na
- Page 133 and 134:
Chapter 14 Top-level Specification
- Page 135 and 136:
Chapter 14. Top-level Specification
- Page 137 and 138:
Chapter 14. Top-level Specification
- Page 139 and 140:
Chapter 14. Top-level Specification
- Page 141 and 142:
Chapter 14. Top-level Specification
- Page 143 and 144:
Chapter 14. Top-level Specification
- Page 145 and 146:
Chapter 15 Synchronization Constrai
- Page 147 and 148:
Chapter 15. Synchronization Constra
- Page 149 and 150:
Chapter 15. Synchronization Constra
- Page 151 and 152:
Chapter 15. Synchronization Constra
- Page 153 and 154:
Chapter 16 Threads (VDM++ and VDM-R
- Page 155 and 156:
Chapter 16. Threads (VDM++ and VDM-
- Page 157 and 158:
Chapter 16. Threads (VDM++ and VDM-
- Page 159 and 160:
Chapter 17 Top-level Specification
- Page 161 and 162:
Chapter 17. Top-level Specification
- Page 163 and 164:
Chapter 17. Top-level Specification
- Page 165 and 166:
Chapter 17. Top-level Specification
- Page 167 and 168:
Chapter 17. Top-level Specification
- Page 169 and 170:
Chapter 18 Trace Definitions In ord
- Page 171 and 172:
Chapter 18. Trace Definitions stack
- Page 173 and 174:
Chapter 19 Static Semantics VDM spe
- Page 175 and 176: Chapter 20 Scope Conflicts (VDM++ a
- Page 177 and 178: References [Ada LRM] [Bicarregui&94
- Page 179 and 180: Chapter 20. Scope Conflicts (VDM++
- Page 181 and 182: Appendix A The Syntax of the VDM La
- Page 183 and 184: Appendix A. The Syntax of the VDM L
- Page 185 and 186: Appendix A. The Syntax of the VDM L
- Page 187 and 188: Appendix A. The Syntax of the VDM L
- Page 189 and 190: Appendix A. The Syntax of the VDM L
- Page 191 and 192: Appendix A. The Syntax of the VDM L
- Page 193 and 194: Appendix A. The Syntax of the VDM L
- Page 195 and 196: Appendix A. The Syntax of the VDM L
- Page 197 and 198: Appendix A. The Syntax of the VDM L
- Page 199 and 200: Appendix A. The Syntax of the VDM L
- Page 201 and 202: Appendix A. The Syntax of the VDM L
- Page 203 and 204: Appendix A. The Syntax of the VDM L
- Page 205 and 206: Appendix A. The Syntax of the VDM L
- Page 207 and 208: Appendix B Lexical Specification B.
- Page 209 and 210: Appendix B. Lexical Specification B
- Page 211 and 212: Appendix B. Lexical Specification S
- Page 213 and 214: Appendix C Operator Precedence The
- Page 215 and 216: Appendix C. Operator Precedence eva
- Page 217 and 218: Appendix C. Operator Precedence pre
- Page 219 and 220: Appendix D Differences between the
- Page 221 and 222: Index abs, 9 and, 6 card, 14 comp f
- Page 223 and 224: INDEX arithmetic minus, 185 arithme
- Page 225: INDEX boolean type, 6 char, 11 func