Ferdinand Wagner, Ruedi Schmuki, Thomas Wagner, Peter Wolstenholme9780849380860, 0849380863
Table of contents :
Modeling Software with Finite State Machines: A Practical Approach……Page 1
Preface……Page 4
Document Conventions……Page 6
Trademarks, Registered Marks……Page 7
About the Authors……Page 8
Contents……Page 10
Part I THE PROBLEMS OF SOFTWARE……Page 19
Introduction……Page 20
Programming Languages……Page 21
A Little History……Page 22
C++……Page 23
PLC……Page 24
There Are Many Languages……Page 25
Methods……Page 26
Basic Knowledge……Page 27
Specifying or Not?……Page 28
CASE Tools……Page 29
UML……Page 30
Agile Methods……Page 33
Behavior Modeling……Page 34
Development Tools……Page 36
Recommended Reading……Page 37
Software Development Costs……Page 39
Programming as a Hobby……Page 40
Small Software Projects……Page 41
Large Software Projects……Page 42
Hardness of Software……Page 44
Ease of Creating New Macro Languages……Page 46
Do We Need So Many Programming Languages?……Page 47
The Specifics of Programming Languages……Page 48
The Specifics of a Software Project……Page 49
Software Errors……Page 51
Software Changes……Page 52
In Code We Trust……Page 53
The Programmers’ World……Page 54
A Programmer in a Project……Page 55
Examples of Disasters……Page 56
Recommended Reading……Page 58
Methods……Page 59
Fascination with Graphics……Page 61
Visual Basic Chaos……Page 62
UML Illusion……Page 63
CASE Tools — Value for Money?……Page 65
Programming or Specification Languages?……Page 66
Prototyping……Page 67
Software Development Steps……Page 68
Software Documentation……Page 69
Testing and Debugging……Page 70
Summary……Page 71
Who Is a Programmer?……Page 72
Missing Skill — Examples……Page 73
Conclusions……Page 74
Recommended Reading……Page 76
Part II FINITE STATE MACHINES……Page 77
Finite State Machine……Page 78
Transition Matrix……Page 80
State Transition Diagram……Page 82
Outputs ( Actions)……Page 83
State Transition Table……Page 84
Example……Page 88
Recommended Reading……Page 90
Limited to Boolean Signals……Page 91
Design Example — Traffic Light Control……Page 92
EPROM- Based Implementations……Page 94
Conclusions……Page 97
Recommended Reading……Page 98
Introduction……Page 99
Data and Control Flow……Page 100
Command Input……Page 102
Parameter……Page 103
Timer……Page 104
What about Outputs?……Page 105
Data Processing Output……Page 106
Summary……Page 107
Event as a Control Signal……Page 108
State Machine or Combinational System?……Page 110
Models of a Finite State Machine……Page 112
Application- Based State Machine Models……Page 113
State Machine Execution Models……Page 114
Coding as a Universal Solution……Page 115
Table- Driven Software to Reduce Coding Effort……Page 117
Limits of the Coded Solutions……Page 118
Recommended Reading……Page 119
Historical Background……Page 120
Software Systems……Page 121
Parser Problem……Page 122
State Explosion……Page 123
Signal Lifetime……Page 125
State Machine Size……Page 126
Flowchart……Page 127
Example……Page 128
What Is a Flowchart For?……Page 131
Inventions……Page 133
Conclusions……Page 134
Recommended Reading……Page 135
A State Machine Models Behavior……Page 136
Mealy or Moore Models……Page 137
Actions ( Entry, Input, Exit, Transition)……Page 139
Acknowledgment Principle ( Busy and Done States)……Page 140
Error States and Alarms……Page 142
Completeness of the Design……Page 145
The Requirements……Page 146
The Specification……Page 147
The Specification Must Be Understandable……Page 150
The Requirements……Page 151
The Specification……Page 152
The Output Function……Page 155
The State Transition Diagram……Page 156
Conclusions……Page 157
Mastering Complexity……Page 158
The Partitioning Criteria……Page 159
The Communication Interface among State Machines……Page 161
The Handshaking Rule……Page 163
The ( Hierarchical) Structure of the Control System……Page 164
Locality of the Control Problems……Page 165
Up- Down or Bottom- Up Design……Page 166
Loops……Page 167
Sins……Page 168
Task Definition……Page 169
The First Approach……Page 170
The Second Trial……Page 172
The Ultimate Solution……Page 177
Task Definition……Page 181
” Obvious” Solution……Page 182
The Ultimate Control……Page 184
Light……Page 185
TrafficLight……Page 187
Flash……Page 188
System for Two- Track Railway……Page 189
Summary……Page 190
Conclusions……Page 191
Designing a State Machine……Page 192
Designing a System of State Machines……Page 193
Part III STATEWORKS: PRINCIPLES AND PRACTICE……Page 194
Virtual Environment and Vfsm……Page 195
Positive Logic Algebra……Page 196
The Vfsm Execution Model……Page 197
Objects……Page 199
Signal Lifetime……Page 202
Behavior Specification……Page 203
The StateWORKS Execution Environment……Page 209
RTDB- Based Runtime System……Page 210
Output Function……Page 211
I/ O Handler……Page 212
User Interface……Page 213
Recommended Reading……Page 214
A Digital Input Has Three Control Values……Page 215
Setting and Clearing the Boolean Output Are Two Different Actions……Page 216
Recommended Reading……Page 219
Control Values……Page 221
Example……Page 222
Actions……Page 223
Control Values……Page 224
Example……Page 225
Properties……Page 226
PAR Object as a Specific Variant of DAT Type……Page 227
Control Values……Page 228
Properties……Page 229
Control Values……Page 230
Example……Page 231
Recommended Reading……Page 232
Actions……Page 233
Properties……Page 235
Output Demultiplexer ( TAB)……Page 236
Actions……Page 237
Properties……Page 238
Example……Page 239
Recommended Reading……Page 240
Actions……Page 241
Control Values……Page 242
Example……Page 243
An Event Counter ( ECNT)……Page 244
Properties……Page 245
A Timer ( TI)……Page 246
Control Values……Page 247
Example……Page 248
Recommended Reading……Page 249
Virtual Finite State Machine Interfaces……Page 251
A Virtual Finite State Machine ( VFSM)……Page 252
Hiding Specification Details……Page 253
A Command ( CMD)……Page 254
An Interface to I/ O Handler ( UNIT)……Page 258
An Interface to a User- Written Function ( OFUN)……Page 259
Properties……Page 260
Internal Value as a Control Value……Page 261
Recommended Reading……Page 262
Testing a Vfsm Application……Page 263
Trace……Page 264
Debugging Mode ( VFSM)……Page 266
Command Files……Page 267
Service Mode……Page 269
The Role of Documentation……Page 272
Compared with Specification Methods……Page 273
Application Areas……Page 274
Recommended Reading……Page 275
Appendix A Case Studies……Page 277
Topic……Page 279
First Simple Solution……Page 280
More Realistic Control……Page 281
RTDB Objects……Page 282
Conclusions……Page 284
Demo……Page 285
Topic……Page 287
Flow Control……Page 288
Monitoring the Pressure……Page 289
Gas Control……Page 291
Conclusions……Page 292
Demo……Page 293
Example……Page 295
Running the Example……Page 297
GRAVEL Example from IEC 61131 Document — Critical Analysis……Page 298
A State Machine as a Replacement for Markers……Page 303
GRAVEL Example as a State Machine……Page 304
Conclusions……Page 308
Recommended Reading……Page 309
Appendix F Traffic Light Control —Design of the Hardware Solution……Page 310
Appendix G Coding Finite State Machine — Vending Machine Counter Example……Page 312
Appendix H IOD File of the Standard Unit……Page 315
A Project……Page 317
Specification of State Machines……Page 318
System Specification……Page 319
Testing with SWLab and Monitors……Page 320
Documentation of Examples……Page 321
Appendix J Vending Machine Counter Project……Page 323
The State Machine of Type Pedestrian……Page 325
Testing with SWLab……Page 326
The System……Page 329
The State Machine of Type Device……Page 330
Testing with SWLab……Page 333
Appendix M Output Function CalcLimits()……Page 335
The Flash State Machine……Page 338
The TrafficLight State Machine……Page 339
The Light State Machine……Page 340
Testing with SWLab……Page 342
The State Machine Test_ DI_ DO……Page 344
The State Machine Tank……Page 345
The State Machine Test_ DAT……Page 347
The State Machine Test_ SWIP……Page 348
The State Machine Test_ STR……Page 349
The State Machine Test_ NO……Page 352
Testing TAB Object……Page 354
The State Machine Test_ AL……Page 355
The State Machine Test_ CNT……Page 358
The State Machine Test_ ECNT……Page 361
The State Machine Test_ UDC……Page 362
Appendix S Attributes of RTDB Objects……Page 364
State Machine Specification……Page 366
Building……Page 367
StateWORKS Monitors……Page 368
Recommended Reading……Page 369
Reviews
There are no reviews yet.