MODELING OF REACTIVE SYSTEMS WITH FINITE AUTOMATA 2
abstraction than physical devices levelignoring for example the transient states of the electronic circuit that realizes anadder). An adder does not respond unlessthe input i.e. two numbers to be added areready. A system such as an adder is calleda transformational system. In the case of vending machine or communicationprotocol, on the other hand, a system mustrespond to each stimulus, even to afragment of input such as each coin tossedin for a can of soda or every messagereceived.
Modeling is a visual process used forconstructing and documenting the designand structure of an application. It is a goodidea to make at least some outline of anapplication, showing interdependenciesand relationships between the componentsand subsystems, during development. Herewe are using finite automata for modelingof reactive system. Finite automata is usedin software for verifying all kinds of systems with a finite number of states,such as communication protocols. Alsoused in software for scanning text, to findcertain patterns.
Used in “Lexicalanalyzers” of compilers (to
text into “tokens”, e.g.
keywords, brackets, punctuation).Part of Turing machines and abacus machines
The term Finite automata' describes a classof models of computation that arecharacterized by having a finite number of states. The use of the word `automata'harks back to the early days of the subjectin the 1950's when they were viewed asabstract models of real circuits Finite
automata (also called ﬁnite state machines,
emerged during the 1
940’s and 1950’s):
useful e.g. text search, protocol
veriﬁcation, compilers, descriptions of
certain formal grammars (N. Chomsky,
Since then finite automata is beingused in different machines.
4. Application Of Finite Automata
Finite automata and various extensions of them, such as transducers, are used in areasas diverse as compilers, spelling checking,natural language grammar checking,communication protocol design, digitalcircuit simulation, digital flight control,speech recognition and synthesis, geneticsequencing, and Java program verification.Unfortunately, as the number of applications has grown, so has the varietyof implementations and implementationtechniques.
5. Advantages of FSM
The advantages of finite automata is thattheir simplicity make it easy forinexperienced developers to implement withlittle to no extra knowledge (low entrylevel).Predictability (in deterministic FSM),given a set of inputs and a known currentstate, the state transition can be predicted,allowing for easy testing. Due to theirsimplicity, FSMs are quick to design, quick to implement and quick in execution.FSM isan old knowledge representation and systemmodeling technique, and its been around fora long time, as such it is well proven even asan artificial intelligence technique, with lots