FSM (Finite State Machine) Generator - Open Source

Discussion in 'C Programming' started by Roberto Nunnari, Feb 3, 2004.

  1. 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-
    mailto:
    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! =-----
     
    Roberto Nunnari, Feb 3, 2004
    #1
    1. Advertising

  2. Roberto Nunnari

    Ed Morton Guest

    Re: OT: FSM (Finite State Machine) Generator - Open Source

    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.
     
    Ed Morton, Feb 3, 2004
    #2
    1. Advertising

  3. Re: OT: FSM (Finite State Machine) Generator - Open Source

    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! =-----
     
    Roberto Nunnari, Feb 3, 2004
    #3
  4. Roberto Nunnari

    gabriel Guest

    Re: OT: FSM (Finite State Machine) Generator - Open Source

    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
     
    gabriel, Feb 3, 2004
    #4
  5. Roberto Nunnari

    Ed Morton Guest

    Re: OT: FSM (Finite State Machine) Generator - Open Source

    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.
     
    Ed Morton, Feb 3, 2004
    #5
  6. Roberto Nunnari

    Ed Morton Guest

    Re: OT: FSM (Finite State Machine) Generator - Open Source

    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.
     
    Ed Morton, Feb 3, 2004
    #6
  7. Re: OT: FSM (Finite State Machine) Generator - Open Source

    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
     
    Arthur J. O'Dwyer, Feb 4, 2004
    #7
  8. Roberto Nunnari

    Dan Henry Guest

    On Tue, 03 Feb 2004 20:00:42 +0100, 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
    >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
     
    Dan Henry, Feb 7, 2004
    #8
  9. 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
    > <> 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-
    mailto:
    http://www.nunnisoft.ch
    Residenza Boschetto 12 tel/fax: +41-91-6046511
    6935 Bosco Luganese """ mobile: +41-76-3208561
    Switzerland (o o)
    ========================oOO==(_)==OOo========================
     
    Roberto Nunnari, Feb 9, 2004
    #9
  10. Roberto Nunnari

    Ed Morton Guest

    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.
     
    Ed Morton, Feb 9, 2004
    #10
  11. Roberto Nunnari

    CBFalconer Guest

    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


    Good attitude. However, try to curb your topposting.

    --
    Chuck F () ()
    Available for consulting/temporary embedded and systems.
    <http://cbfalconer.home.att.net> USE worldnet address!
     
    CBFalconer, Feb 9, 2004
    #11
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. deejayfred
    Replies:
    0
    Views:
    581
    deejayfred
    Oct 2, 2003
  2. SomeDude
    Replies:
    3
    Views:
    3,222
    arant
    Aug 14, 2006
  3. Roberto Nunnari
    Replies:
    2
    Views:
    8,600
    Thomas Weidenfeller
    Feb 4, 2004
  4. Roberto Nunnari
    Replies:
    1
    Views:
    3,087
    Roberto Nunnari
    Feb 3, 2004
  5. qiooeer

    about FSM (finite state machine)

    qiooeer, Oct 30, 2007, in forum: C Programming
    Replies:
    2
    Views:
    437
    karthikbalaguru
    Oct 30, 2007
Loading...

Share This Page