StateWORKS Newsletter 1/05

Topics:

  1. Welcome
  2. Flowchart is not a state machine

1. Welcome

I hope you have entered the New Year in a good health and full hopes for the 2005. I and my partners will continue to supply you information about finite state machines and particularly about the specification tools and execution environment - StateWORKS. Today I would like to discuss a topic: a flowchart versus a state machine. As it seems sometimes to be a problem to distinguish the two concepts I have written about it in the newsletter and also a technical note.

Regards
F. Wagner

2. Flowchart is not a state machine

We tend to overuse things that we have learnt. We observe that phenomenon for instance when using a programming language. After some time, when we have become highly skilled experts in the programming language we can overuse it. On the one hand we can be proud of our intelligence but on the other hand there can be drawbacks: the constructs of a language are used in a way that was never intended. A good example is the C programming language which is held responsible for some of the worst software catastrophes. The problem is that the inventors never imagined that C would be used to write such large programs in the way we do. The careless use of pointers which point "unexpectedly" somewhere strange can be a primary example.

A flowchart has experienced a similar effect: it is a good tool for certain purposes but it does not mean that it is always ideal for describing a complex control system. And if we use it for that purpose (because we know it) it does not mean that a flowchart is suddenly becoming equivalent to a finite state machine. In fact, we know that flowchart and a state machine are two different things but we have sometimes difficulty to explain our feeling. Details of that controversy can be found in a technical note A Flowchart is not a State Machine". I hope that that note will help to show those concepts in a proper perspective.


---