Document
Polymorphic Finite State Automaton

STRUCTURAL AUTOMATON SCHEMA SYNTHESIS

based on finite state automatons as nodes


Document
Structural Automaton Generator

This SO library realizes algorithms, based on automata theory, graph theory
and author's unique methods.
It is demo version of toolkit, which may be used for very wide range
of developments like parsers, interpreters, compillers, object and event oriented libraries,
modules for operating systems, evironments, different management and control systems etc.

The main purpose of this issue is to demonstrate a few author's approaches
to solving the following tasks :
1. Translation of the simple boolean descriptions of any regular objects with recursive
nature into tree based schema of structural automaton.
2. Recognition of regular(or non regular, depends on point of considering) expressions
with structural automatons.

The following methods were developed :
1.Synthesis of structural automaton schema from set of elementary conjunctions or disjunctions (definitions of nodes) as tree of different type definitions - strings,
expressions, recognizable with deterministic user defined automatons, and nonterminal nodes.
2.Recognition of regular recursive expressions with generated automaton.

This is the very basic development, has the following limitations :
1. Input definitions must be elementary conjunctions or disjunctions with fixed order.
2. Recursive references in definitions must be arranged last after terminal nodes
to provide condition of exit from recursive calls(but depends on concrete usage).
3. Only first successfull node is considered while processing disjunctional parent node.
 
Every limitation can be cancelled with additional developments. It concerns processing
any input boolean expressions by transformation them into completed disjunctional normal
form for instance, check for cycled definitions , considering all disjunctional descendants
in nodes, insert of callback points and so on.

This demo version consists of librsautom1d0.so, rsautom_doc.h with commentaries
and simple example in rsautomex1.cpp with commentaries.

The toolkit is still experimental. It is currently available as a
 Linux shared library, which was compiled with g++2.96 under RedHat 9.0. The steps to try applied examples are:
 1) to install librsautom1d0.so and libdautom1d0.so(from Deterministic Automaton SO) files;
 2) to build example with :
 g++296 -fPIC -c -Wall rsautomex1.cpp ;
 g++296  -o rsautomex1 rsautomex1.o -lrsautom1d0.
 For bug reports, please
contact the 
valstas@onlinehome.de .


A few words about Polymorphic Deterministic Finite State Automaton

The main purpose of this issue is to demonstrate a few new approaches
to solving the following tasks :
1. Interpretation of aggregated systems with big number of parameters by means
of usual determined finite state automaton.
2. Modelling complex adaptive control systems with construction of so called
polymorphic automatons which are able to change totally their behaviour
 depending on environment conditions.

The following methods were developed :
1. Usage of masked states in automaton transitions, that allows to create
automatons with big number of parameters.
2. Usage of so called repository which can be expanded with different automaton
structures to process queries from automatons about new input terms,
state parameters, transitions, output terms and so on. This approach allows to
support automaton's ability to accomodate in changeable environment conditions.
3. Decomposition the whole set of state parameters by correlations between
parameters with stable dependencies.
4. Considering automaton transition as disjunction of switches of different
correlated parameter groups.
 
This demo version consists of libdautom1d0.so, dautom1d0.h with commentaries
and two simple examples in dautomex1.cpp with commentaries.

The toolkit is still experimental. It is currently available as a
 Linux shared library, which was compiled with g++2.96 under RedHat 9.0. The steps to try applied examples are:
1) to install libdautom1d0.so file;
2) to build example with :
 g++296 -fPIC -c -Wall dautomex1.cpp ;
 g++296  -o dautomex1 dautomex1.o -ldautom1d0.
 For bug reports, please
contact the
valstas@onlinehome.de .