Mark Rogaski on Mon, 18 Mar 2002 22:02:12 -0500


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Set::FA


An entity claiming to be Terrence Brannon (metaperl@mac.com) wrote:
: 
: [1] what practical application have you found for this module?

This "practical application", is it a custom of your people?

Seriously, I never found out what the initial application that started the
discussion about the topic was.  However, I am developing the module with a
particular application in mind, one that involves the coordination of large
numbers of minute tasks which are all easily represented as an FA with some
enhancement (ie. a Moore machine).


: [2] as this module adds set-theoretic functions to Finite 
: Automata, could it have not been a derived class of one of the 
: pre-existing finite automata classes on CPAN? Ie, the one by 
: Stefan Beyer and another one by ron savage (which had a name 
: which made it hard to find as I recall).

I think it's best to approach it as applying FA functionality to sets,
which is why the class is derived from Set::Object.  But, I _did_ do a
little wheel reengineering by creating my own Set::FA::Element, which is
something that could have been derived. 

Stefan Beyer's (DFA::Kleene) is a language generator, not really an acceptor
(although, building one from the other is simple enough).  Where this leads
to a problem is when you want to do stepwise execution, you would need to
dig about in the implementation of the superclass.  I don/t think it really
applies to what I was trying to do.

Ron Savage's (DFA::Command) does map well to the task, but it suffers from
a complex interface.  Much better for how I wanted to generalize the
interface was Randy Maas' DFA::Simple, which had a simpler interface and
allowed nondeterministic FA.  But, in short the interface seemed a bit
clumsy to me.  What I intend to do with Set::FA is allow it to include
DFA::Command objects and DFA::Simple objects as well as the default type,
even to be able to mix them together.


: [3] are you finite automata deterministic or non-deterministic?

Currently, they are only deterministic, but I will be adding support for
NFAs (in addition to the aforementioned DFA::Simple support).

Mark

-- 
[]                       |    Beware of bugs in the above code;
[] Mark 'Doc' Rogaski    |    I have only proved it correct, not tried it.
[] wendigo@pobox.com     |    -- Donald Knuth
[]                       |

Attachment: pgpsOpvkPXVzl.pgp
Description: PGP signature


  • References:
    • Set::FA
      • From: Mark Rogaski <wendigo@pobox.com>
    • Re: Set::FA
      • From: Terrence Brannon <metaperl@mac.com>