Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   Is there any tool to describe program algorithm in flowchart and generate code from the chart? (http://www.velocityreviews.com/forums/t390531-is-there-any-tool-to-describe-program-algorithm-in-flowchart-and-generate-code-from-the-chart.html)

david ullua 02-01-2007 06:04 AM

Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
Hello, everyone, Is there any tools which we can drawl program
algorithms in flowchart?

In programming, we conceive an algorithm and describe it clearly in
document. and then implement it by programming language, like java, c/c
++. we pay double the times in describing the algorithm, one is when
designing, second is when coding. My idea is to do it in one step,
just express the algorithm in flowchart, then generate codes from the
flowchart.

If it hasn't been clear, let me explain the case in more detail. like
the algorithm for mistyped keyword suggesting:
background: use may mistyped keyword in doing search on search engine
site, ( as http://www.roboo.com , http://www.google.com )
PronounceDict, is our pronounciation dictionary which maps
pronounciation to a list of keywords.

* 1. find keyword in search dictionary, if exist, return empty, else -
> 2 <br> <br>

*
* 2. find suggest keyword by pronounce/soundex: <br>
* get the keyword's pronounce, <br>
* find pronounce in PronounceDict, <br>
* if found return keywords list in the PronounceDict for the <br>
* keyword's pronounce. else -> 3 <br><br>
*
* 3. get the soundex, find the soundex for soundex dictionary, <br>
* if found, return keywords list in the SoundexDict for the
keyword's soundex.<br>
* else return empty.

It is just an outline of the algorithm. there maybe some if, while ,
and sequential structure of the algorithm. We can draw the total
algorithm process in microsoft visio or openoffice draw.

The problem is how we can convert these algorithm flowchart to code?
Any tools can do the work?

If can generate flowchart from code, it would be better.
Any comments are appreciated.


Andrew Thompson 02-01-2007 06:23 AM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
On Feb 1, 5:04 pm, "david ullua" <david.ul...@gmail.com> wrote:
....
> The problem is how we can convert these algorithm flowchart to code?


I think you should make that the study of your
PhD thesis in AI.

> Any tools can do the work?


Wetware?

Andrew T.


david ullua 02-01-2007 07:24 AM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
On Feb 1, 2:23 pm, "Andrew Thompson" <andrewtho...@gmail.com> wrote:
> On Feb 1, 5:04 pm, "david ullua" <david.ul...@gmail.com> wrote:
> ...
>
> > The problem is how we can convert these algorithm flowchart to code?

>
> I think you should make that the study of your
> PhD thesis in AI.
>
> > Any tools can do the work?

>
> Wetware?
>
> Andrew T.


Thanks, Andrew,
The idea is to express complicated algorithms in flowchart. I think
it can be done.
Have found jgrasp, jGRASP can produce Control Structure Diagrams
(CSDs) for Java, C, C++, Objective-C, Ada, and VHDL. but not
flowchart. not mention the function to generate code from flowchart.



Chris Uppal 02-02-2007 01:59 PM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
david ullua wrote:

> The problem is how we can convert these algorithm flowchart to code?
> Any tools can do the work?


I don't know if any currently available general-purpose tools like that. Some
UML editors generate code, and I think there are also special-purpose visual
editors for various flowchart-like applications.

Many years ago, I wrote something very similar myself (it actually generated
Simula/DEMOS code for discrete-event simulations from flowchart-like "Activity
Diagrams"). It's pretty trivial to do if you can build on a suitable package
for doing the graphics and user-interaction -- something that understands
networks of typed nodes and links and their associated data. The problem is
that the result is /insufferably/ tedious to use. It's a lot easier just to
type the program in as text...

I should mention that few people these days would agree that the best way to
write a program is to create an exhaustively detailed flowchart before starting
to code. Few people use flowcharts at all for programming design (they are
used to specify somewhat related things like workflow, or flow through a user
interface, but not the way the program itself is written). Indeed not many
people would agree that exhaustively detailed design should be completed before
coding begins. (Design happens, of course, and sometimes people choose to draw
diagrams too, but it doesn't have to be complete, and it certainly doesn't have
to be detailed, before you start programming.)

-- chris



Daniel Pitts 02-02-2007 06:27 PM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
On Jan 31, 10:04 pm, "david ullua" <david.ul...@gmail.com> wrote:
> Hello, everyone, Is there any tools which we can drawl program
> algorithms in flowchart?
>
> In programming, we conceive an algorithm and describe it clearly in
> document. and then implement it by programming language, like java, c/c
> ++. we pay double the times in describing the algorithm, one is when
> designing, second is when coding. My idea is to do it in one step,
> just express the algorithm in flowchart, then generate codes from the
> flowchart.
>
> If it hasn't been clear, let me explain the case in more detail. like
> the algorithm for mistyped keyword suggesting:
> background: use may mistyped keyword in doing search on search engine
> site, ( ashttp://www.roboo.com,http://www.google.com)
> PronounceDict, is our pronounciation dictionary which maps
> pronounciation to a list of keywords.
>
> * 1. find keyword in search dictionary, if exist, return empty, else -> 2 <br> <br>
>
> *
> * 2. find suggest keyword by pronounce/soundex: <br>
> * get the keyword's pronounce, <br>
> * find pronounce in PronounceDict, <br>
> * if found return keywords list in the PronounceDict for the <br>
> * keyword's pronounce. else -> 3 <br><br>
> *
> * 3. get the soundex, find the soundex for soundex dictionary, <br>
> * if found, return keywords list in the SoundexDict for the
> keyword's soundex.<br>
> * else return empty.
>
> It is just an outline of the algorithm. there maybe some if, while ,
> and sequential structure of the algorithm. We can draw the total
> algorithm process in microsoft visio or openoffice draw.
>
> The problem is how we can convert these algorithm flowchart to code?
> Any tools can do the work?
>
> If can generate flowchart from code, it would be better.
> Any comments are appreciated.



Funny that you should bring it up, I was thinking about something
similar to this on my morning commute.

My thought was a little more complex, but also more complete.

You can think of every aspect of a Programs design as an object. The
Class object, the Method object, the statement object, etc...

What I was thinking, most of what learning a programming language
involves is learning how to create and manipulate these objects in a
text-based manor. in java, to create a Class object (not to be
confused with java.lang.Class), you have to type "class ClassName {}"

It might be possible to represent all of these objects in a less
textual and more graphical way. You would also be able to manipulate
these graphical representations in a more intuitive way than, say, cut-
and-paste. An IDE based around this could provide a very powerful set
of refactoring capabilities.

Well, thats the thought I had.


david ullua 02-05-2007 04:02 AM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
On Feb 2, 9:59 pm, "Chris Uppal" <chris.up...@metagnostic.REMOVE-
THIS.org> wrote:
> david ullua wrote:
> > The problem is how we can convert these algorithm flowchart to code?
> > Any tools can do the work?

>
> I don't know if any currently available general-purpose tools like that. Some
> UML editors generate code, and I think there are also special-purpose visual
> editors for various flowchart-like applications.
>
> Many years ago, I wrote something very similar myself (it actually generated
> Simula/DEMOS code for discrete-event simulations from flowchart-like "Activity
> Diagrams"). It's pretty trivial to do if you can build on a suitable package
> for doing the graphics and user-interaction -- something that understands
> networks of typed nodes and links and their associated data. The problem is
> that the result is /insufferably/ tedious to use. It's a lot easier just to
> type the program in as text...
>
> I should mention that few people these days would agree that the best way to
> write a program is to create an exhaustively detailed flowchart before starting
> to code. Few people use flowcharts at all for programming design (they are
> used to specify somewhat related things like workflow, or flow through a user
> interface, but not the way the program itself is written). Indeed not many
> people would agree that exhaustively detailed design should be completed before
> coding begins. (Design happens, of course, and sometimes people choose to draw
> diagrams too, but it doesn't have to be complete, and it certainly doesn't have
> to be detailed, before you start programming.)
>
> -- chris


Chris, Thanks for your suggest of mapping it to a network.
also your comment is very reasonable, maybe I am too laaaazy,
I hope don't need to code, just draw some charts, and things would
begin to work. In my memorization of electronic experiment class, we
just draw a flowchart of electronic circuit, and click the mouse, then
the machine runs by the logic of the flowchart. Also, in FinalBuilder,
we can drag and drop icons to compose a flowchart, though it is rather
simple.


david ullua 02-05-2007 04:06 AM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
On Feb 3, 2:27 am, "Daniel Pitts" <googlegrou...@coloraura.com> wrote:
> On Jan 31, 10:04 pm, "david ullua" <david.ul...@gmail.com> wrote:
>
>
>
> > Hello, everyone, Is there any tools which we can drawl program
> > algorithms in flowchart?

>
> > In programming, we conceive an algorithm and describe it clearly in
> > document. and then implement it by programming language, like java, c/c
> > ++. we pay double the times in describing the algorithm, one is when
> > designing, second is when coding. My idea is to do it in one step,
> > just express the algorithm in flowchart, then generate codes from the
> > flowchart.

>
> > If it hasn't been clear, let me explain the case in more detail. like
> > the algorithm for mistyped keyword suggesting:
> > background: use may mistyped keyword in doing search on search engine
> > site, ( ashttp://www.roboo.com,http://www.google.com)
> > PronounceDict, is our pronounciation dictionary which maps
> > pronounciation to a list of keywords.

>
> > * 1. find keyword in search dictionary, if exist, return empty, else -> 2 <br> <br>

>
> > *
> > * 2. find suggest keyword by pronounce/soundex: <br>
> > * get the keyword's pronounce, <br>
> > * find pronounce in PronounceDict, <br>
> > * if found return keywords list in the PronounceDict for the <br>
> > * keyword's pronounce. else -> 3 <br><br>
> > *
> > * 3. get the soundex, find the soundex for soundex dictionary, <br>
> > * if found, return keywords list in the SoundexDict for the
> > keyword's soundex.<br>
> > * else return empty.

>
> > It is just an outline of the algorithm. there maybe some if, while ,
> > and sequential structure of the algorithm. We can draw the total
> > algorithm process in microsoft visio or openoffice draw.

>
> > The problem is how we can convert these algorithm flowchart to code?
> > Any tools can do the work?

>
> > If can generate flowchart from code, it would be better.
> > Any comments are appreciated.

>
> Funny that you should bring it up, I was thinking about something
> similar to this on my morning commute.
>
> My thought was a little more complex, but also more complete.
>
> You can think of every aspect of a Programs design as an object. The
> Class object, the Method object, the statement object, etc...
>
> What I was thinking, most of what learning a programming language
> involves is learning how to create and manipulate these objects in a
> text-based manor. in java, to create a Class object (not to be
> confused with java.lang.Class), you have to type "class ClassName {}"
>
> It might be possible to represent all of these objects in a less
> textual and more graphical way. You would also be able to manipulate
> these graphical representations in a more intuitive way than, say, cut-
> and-paste. An IDE based around this could provide a very powerful set
> of refactoring capabilities.
>
> Well, thats the thought I had.


Hi, Daniel, it is a funny question :) Thanks for your great idea. It
is just a presentation different between text and graphic, If we can
decompose the problem into different aspects, and implement them in a
graphic way, then maybe it would be solved.


Chris Uppal 02-05-2007 02:58 PM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
Daniel Pitts wrote:

> You can think of every aspect of a Programs design as an object. The
> Class object, the Method object, the statement object, etc...
>
> What I was thinking, most of what learning a programming language
> involves is learning how to create and manipulate these objects in a
> text-based manor. in java, to create a Class object (not to be
> confused with java.lang.Class), you have to type "class ClassName {}"
>
> It might be possible to represent all of these objects in a less
> textual and more graphical way. You would also be able to manipulate
> these graphical representations in a more intuitive way than, say, cut-
> and-paste. An IDE based around this could provide a very powerful set
> of refactoring capabilities.


You are working yourself towards Smalltalk ;-)

(Though no Smalltalk IDE I know of puts /heavy/ emphasis on graphical-style
manipulation of code entities, those entities are "real" objects in the running
IDE. Not the code /for/ a class, but the class itself. Not the code /of/ a
method, but the method itself (methods /have/ source code, rather than /are/
source code. If you think of the IDE's concrete GUI as an MVP/MVC-style view
of the underlying objects (which is technically correct) then the choice of
view(s) is just a matter of what seems most convenient. E.g. in Dolphin, I
usually more classes around the class hierarchy by drag and drop since that's
(to me) the most convenient way to interact with them. Other people may
usually prefer to do it by changing typing in a replacement for (part of) the
class definition. On other occasions, it may be better to execute code that
/tells/ the classes to move themselves around. Live objects...)

-- chris



Chris Uppal 02-05-2007 05:52 PM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
david ullua wrote:

> maybe I am too laaaazy,


That's a good thing in a programmer (seriously!).


> I hope don't need to code, just draw some charts, and things would
> begin to work.


Yup, that's the lazy programmer's attitude all right -- "why should /I/ work
when the computer can do it for me?". Hold that thought ;-)

-- chris




Stefan Ram 02-05-2007 08:28 PM

Re: Is there any tool to describe program algorithm in flowchart and generate code from the chart?
 
"Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> writes:
>methods /have/ source code, rather than /are/ source code.


In Java, the source code of a method is the »method
declaration«, so it is also not the same as the method proper.



All times are GMT. The time now is 01:32 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.