Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > FSM (Finite State Machine) Generator - Open Source

Reply
Thread Tools

FSM (Finite State Machine) Generator - Open Source

 
 
Roberto Nunnari
Guest
Posts: n/a
 
      02-03-2004
Hi all.

I announce that there's a brand new, free FSM Generator
in the Open Source arena: NunniFSMGen - release 1.0-RC1

http://nunnifsmgen.nunnisoft.ch

NunniFSMGen is a java tool that starting from a transition table
generates the corresponding FSM (Finite State Machine) in
Java, C or C++ source code. It has been developped in 2003
at NunniSoft for generating the FSMs of our own software and
successfully used (here at NunniSoft) since it's first internal
release (in June 2003).

NunniFSMGen is different from other FSM generators because it
cleanly separates logic from implementation by using a modified
version of the state pattern. In fact, you'll only want to
modify one of all the generated files. Thus making it very
easy to integrate in your development process.

To show how helpful NunniFSMGen is in software development,
we've developped and just released (again as Open Source)
a small (less than 30KB) java xml parser, NunniMJAX.

http://nunnimjax.nunnisoft.ch

Due to the fact that up to now it has been the effort of
just one person, and that it's still extremely young.. it
surely still has bugs... but the testcases up to now show
that overall it behaves quite well.

Contributions, patches, bug reports or just success stories
are welcome.

Best regards.
--
Roberto Nunnari -software engineer-
(E-Mail Removed)
Residenza Boschetto 12 tel/fax: +41-91-6046511
6935 Bosco Luganese """ mobile: +41-76-3208561
Switzerland (o o)
========================oOO==(_)==OOo============= ===========



-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----
 
Reply With Quote
 
 
 
 
Ed Morton
Guest
Posts: n/a
 
      02-03-2004


Roberto Nunnari wrote:

> Hi all.
>
> I announce that there's a brand new, free FSM Generator
> in the Open Source arena: NunniFSMGen - release 1.0-RC1
>
> http://nunnifsmgen.nunnisoft.ch
>
> NunniFSMGen is a java tool that starting from a transition table


That's a bad starting point for many applications.

<snip>
> NunniFSMGen is different from other FSM generators because it
> cleanly separates logic from implementation


That's not so different. Take a look at http://www.stateworks.com/ -
they've been doing that for about 20 years.

<snip>
In fact, you'll only want to
> modify one of all the generated files.


Unacceptable. No one should ever have to modify any generated file as
that creates a maintenance problem when you need to enhance the original
and find you can't regenerate the code from the model and you end up
trying to maintain code that was originally machine-generated and so,
typically, less easily maintainable than hand-written code.

<snip>
> http://nunnimjax.nunnisoft.ch


If I could've read the web page I might've given it a spin....

Ed.

 
Reply With Quote
 
 
 
 
Roberto Nunnari
Guest
Posts: n/a
 
      02-03-2004
Ed Morton wrote:

>
>
> Roberto Nunnari wrote:
>
>> Hi all.
>>
>> I announce that there's a brand new, free FSM Generator
>> in the Open Source arena: NunniFSMGen - release 1.0-RC1
>>
>> http://nunnifsmgen.nunnisoft.ch
>>
>> NunniFSMGen is a java tool that starting from a transition table

>
>
> That's a bad starting point for many applications.
>


That's interesting.. do you code for the caos?


> <snip>
>
>> NunniFSMGen is different from other FSM generators because it
>> cleanly separates logic from implementation

>
>
> That's not so different. Take a look at http://www.stateworks.com/ -
> they've been doing that for about 20 years.
>


humm.. that means that because there's already a commercial solution
there's no space for a freeOfCharge Open Source new tool?


> <snip>
> In fact, you'll only want to
>
>> modify one of all the generated files.

>
>
> Unacceptable. No one should ever have to modify any generated file as
> that creates a maintenance problem when you need to enhance the original
> and find you can't regenerate the code from the model and you end up
> trying to maintain code that was originally machine-generated and so,
> typically, less easily maintainable than hand-written code.
>


That's a good point.. it's true.. it can surely be improved.. but it's
not that bad.. First of all that one file will not be overwritten,
secondly.. when you modify your fsm table and regenerate the code
usually there will not be that many modification.. often I don't even
have to edit anything... and if there is need for editing, then a
graphical diff tool makes it very easy.

Maybe if you gave it a try before spitting sentences..

> <snip>
>
>> http://nunnimjax.nunnisoft.ch

>
>
> If I could've read the web page I might've given it a spin....
>


maybe, if you had the will to look at it you would have found the
link to the english pages... that's the right top corner in every
page of the site.

http://nunnimjax.nunnisoft.ch/en/

> Ed.
>


Finally, thanks for your positive and constructive post.
Sure the world needs you!



-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----
 
Reply With Quote
 
gabriel
Guest
Posts: n/a
 
      02-03-2004
Ed Morton wrote:

>> NunniFSMGen is a java tool that starting from a transition table

> That's a bad starting point for many applications.


So? He aint saying it's good for everything...

> Unacceptable. No one should ever have to modify any generated file as


Got good news for ya: It's open source so fix it to your heart's content,
and then share your fixes and improvements with the world...

Amazing... You actually had nothing good or useful to say, yet you think
someone cares? Whatever, complainers and critics are a dime a dozen, one
more, one less, who cares?

--
gabriel
 
Reply With Quote
 
Ed Morton
Guest
Posts: n/a
 
      02-03-2004


Roberto Nunnari wrote:

> Ed Morton wrote:
>
>>
>>
>> Roberto Nunnari wrote:
>>
>>> Hi all.
>>>
>>> I announce that there's a brand new, free FSM Generator
>>> in the Open Source arena: NunniFSMGen - release 1.0-RC1
>>>
>>> http://nunnifsmgen.nunnisoft.ch
>>>
>>> NunniFSMGen is a java tool that starting from a transition table

>>
>>
>>
>> That's a bad starting point for many applications.
>>

>
> That's interesting.. do you code for the caos?


I code for complex, high reliability (5-9s plus) systems. Generating
code from a transition table works great for solving small problems but
then you don't really NEED a code generator for those....

>
>> <snip>
>>
>>> NunniFSMGen is different from other FSM generators because it
>>> cleanly separates logic from implementation

>>
>>
>>
>> That's not so different. Take a look at http://www.stateworks.com/ -
>> they've been doing that for about 20 years.
>>

>
> humm.. that means that because there's already a commercial solution
> there's no space for a freeOfCharge Open Source new tool?


On the contrary I'm happy to see another free FSM-generation tool. I
took your statement that it's different from other FSM generators to
imply that you thought your solution was different from all other FSM
generators. If you already knew that there are other similair toolsets
out there and really meant that it's just different from some of them,
then you may as well drop that whole "It's different..." statement.

>
>> <snip>
>> In fact, you'll only want to
>>
>>> modify one of all the generated files.

>>
>>
>>
>> Unacceptable. No one should ever have to modify any generated file as

<snip>
>
> Maybe if you gave it a try before spitting sentences..


I don't need to. Any modification of generated code is unacceptable so
trying a tool that advertises that that might be required is pointless.
Having said that, I did go to the web site to research the tool but
couldn't read the language.

<snip>
> maybe, if you had the will to look at it you would have found the
> link to the english pages... that's the right top corner in every
> page of the site.


I had the will. I looked around the page for a few minutes for a link.
The tiny writing in the top right in a font significantly smaller than
the rest of the page completely escaped my attention. I was drawn to the
large bold Menu on the side.

> http://nunnimjax.nunnisoft.ch/en/


Since you posted to an English-language NG that would've been a better
link to start with.

> Finally, thanks for your positive and constructive post.
> Sure the world needs you!


I agree I said nothing positive but that's because, well, I had nothing
positive to say. What you got from me was more constructive than you
realise and it's a shame you're taking my posting personally since I
took the time to give you feedback on your general approach plus a link
to related technologies that you could learn a lot from and I actually
tried to learn more about the tool from your web site so now you've
learned something about it's layout too.

Ed.

 
Reply With Quote
 
Ed Morton
Guest
Posts: n/a
 
      02-03-2004


gabriel wrote:

> Ed Morton wrote:
>
>
>>>NunniFSMGen is a java tool that starting from a transition table

>>
>>That's a bad starting point for many applications.

>
>
> So? He aint saying it's good for everything...


So there are other ways to start generating FSM code than from a
transition table so with a little thought (or a little plagiarism) you
can come up with a solution that IS good for everything that can be
solved by FSMs or even just good for most.

>>Unacceptable. No one should ever have to modify any generated file as

>
>
> Got good news for ya: It's open source so fix it to your heart's content,
> and then share your fixes and improvements with the world...


That's not something you can "fix". Whether or not you need to modify
the generated code is at the heart of any code-generation approach.

> Amazing... You actually had nothing good or useful to say, yet you think
> someone cares? Whatever, complainers and critics are a dime a dozen, one
> more, one less, who cares?


Well, presumably the OP cares or he wouldn't have posted. It's true that
neither you nor I had anything good to say. I did, however, say several
useful things wrt the OPs general approach, similair technologies, and
documentation accessibility so hopefully the OP will now evaluate the
information and improve upon what he has today. If you have anything
constructive to offer, I'm sure the OP would like to hear from you too,
though in retrospect had I ignored his post or posted "Yeah, this is
awesome!" instead of providing useful feedback, I wouldn't have enjoyed
the resulting responses.

Ed.

 
Reply With Quote
 
Arthur J. O'Dwyer
Guest
Posts: n/a
 
      02-04-2004

On Tue, 3 Feb 2004, Roberto Nunnari wrote:
>
> Ed Morton wrote:
> > Roberto Nunnari wrote:
> >> I announce that there's a brand new, free FSM Generator
> >> in the Open Source arena: NunniFSMGen - release 1.0-RC1
> >> http://nunnifsmgen.nunnisoft.ch
> >> http://nunnimjax.nunnisoft.ch

> >
> > If I could've read the web page I might've given it a spin....

>
> maybe, if you had the will to look at it you would have found the
> link to the english pages... that's the right top corner in every
> page of the site.


I cannot comment on Ed's technical points, but I *will* say
that I also spent about five minutes clicking around the site
trying to find an English version; it was doubly bewildering/annoying
because all the image ALT tags are in English! Looking at the
"Menu," I saw "Pagina iniziale," which sounded helpful (often
multi-lingual sites have a "language selection" page in front),
but it turned out to be a no-op.

I did not see the tiny little "english" in the upper right-hand
corner of the page, between the word "italiano" and my browser's
scroll bar. This is not surprising. The Web has a /de facto/
standard for page design, which includes the logo in the upper left
with a link to the home page (cf. Google or everything2), the menu
along the top of the page, and -- significantly -- NOTHING AT ALL
OF IMPORTANCE TO CASUAL USERS along the right margin, which is (a)
often reserved for login/password dialogs, (b) often hidden by IM
clients , and (c) sometimes even hidden off the edge of the page,
or hidden by the browser's scroll bar.
Certainly the right-hand side is a Bad Place for crucial options
like language, and the *corner* of the right-hand side is worse.
The tiny little font and one-word link is at that point just adding
insult to injury.

Okay, I'm done now. I recommend a site design modification, which
is not topical in this newsgroup. Your product, for all I know,
might be great.

-Arthur

 
Reply With Quote
 
Dan Henry
Guest
Posts: n/a
 
      02-07-2004
On Tue, 03 Feb 2004 20:00:42 +0100, Roberto Nunnari
<(E-Mail Removed)> wrote:

>Hi all.
>
>I announce that there's a brand new, free FSM Generator
>in the Open Source arena: NunniFSMGen - release 1.0-RC1
>
>http://nunnifsmgen.nunnisoft.ch
>
>NunniFSMGen is a java tool that starting from a transition table
>generates the corresponding FSM (Finite State Machine) in
>Java, C or C++ source code.


Thanks, but with having to start from a textual transition table, it's
not clear to me how it differs from, or is superior to, existing open
source FSM tools like Libero.

http://www.imatix.com/html/libero/index.htm

 
Reply With Quote
 
Roberto Nunnari
Guest
Posts: n/a
 
      02-09-2004
ok ok.. I probably shouldn't have talked about difference..
sorry for being too proud of my first open source software release.

what I meant is just that:
- I've been using it for over 6 months now and I find that
for my needs is very useful
- given that, I thought that making it open source would
give other people one more tool to choose from and use.

If somebody likes it, I'm happy I did something useful
if somebody don't like it, just don't use it

Best regards.

Dan Henry wrote:
> On Tue, 03 Feb 2004 20:00:42 +0100, Roberto Nunnari
> <(E-Mail Removed)> wrote:
>
>
>>Hi all.
>>
>>I announce that there's a brand new, free FSM Generator
>>in the Open Source arena: NunniFSMGen - release 1.0-RC1
>>
>>http://nunnifsmgen.nunnisoft.ch
>>
>>NunniFSMGen is a java tool that starting from a transition table
>>generates the corresponding FSM (Finite State Machine) in
>>Java, C or C++ source code.

>
>
> Thanks, but with having to start from a textual transition table, it's
> not clear to me how it differs from, or is superior to, existing open
> source FSM tools like Libero.
>
> http://www.imatix.com/html/libero/index.htm
>



--
Roberto Nunnari -software engineer-
(E-Mail Removed)
http://www.nunnisoft.ch
Residenza Boschetto 12 tel/fax: +41-91-6046511
6935 Bosco Luganese """ mobile: +41-76-3208561
Switzerland (o o)
========================oOO==(_)==OOo============= ===========

 
Reply With Quote
 
Ed Morton
Guest
Posts: n/a
 
      02-09-2004


Roberto Nunnari wrote:

> ok ok.. I probably shouldn't have talked about difference..
> sorry for being too proud of my first open source software release.
>
> what I meant is just that:
> - I've been using it for over 6 months now and I find that
> for my needs is very useful
> - given that, I thought that making it open source would
> give other people one more tool to choose from and use.
>
> If somebody likes it, I'm happy I did something useful
> if somebody don't like it, just don't use it


Despite how it may sound, I'm not trying to discourage you, but here's
the problem: by providing an FSM-generation tool that will not work for
most real-world applications, it colors the opinions of people who try
it so they may in future avoid trying other tools that will work.

To try to get somewhat back on topic, FWIW I did try your tool and the
code it generates:

a) Uses //-style comments which are C++/C99-specific
b) Declares and populates local variables but then never uses them
c) Relies excessively on global variables

You also are missing a good way of organising the generated code into
version files (generating 1 new file then overwriting it isn't great)
and you should generate a makefile or some other compilation
specification too.

If you'd like to really discuss this (I have about 10 years of
experience developing and using FSM-generation tools) you can contact me
directly by removing the word "s p a m" from my posting address.

Ed.

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
FSM with more than 1 input at each state swiss student VHDL 2 05-26-2005 10:49 AM
Which FSM State? Jake VHDL 0 10-25-2004 09:52 PM
FSM in illegal state Jerker Hammarberg \(DST\) VHDL 48 07-21-2004 06:05 PM
FSM (Finite State Machine) Generator - Open Source Roberto Nunnari Java 2 02-04-2004 07:16 AM
FSM (Finite State Machine) Generator - Open Source Roberto Nunnari C++ 1 02-03-2004 11:08 PM



Advertisments