Thursday, Oct 13, 2005, 1:56 PM
How is "workflow" different from "visual programming?"
11 comments on this post
Edddy:
eg: In my ERP system, you can configure if you want a pre-order before the purchase order, before the Purchase invoice *or* you can configure (for your company) only to have to enter the purchase but sending an email to some guy.
Thursday, Oct 13, 2005, 2:59 PM
Savas Parastatidis:
To my mind workflow != visual programming. Workflow a declarative description of a process, of a set of activities and their relationships. Workflow is about the semantics of moving from one activity to the next (activation semantics), the flow of data between those activities.
Now, it just happens that workflows are better designed using visual primitives. However, the two are not coupled.
Hence, I vote for workflow != visual programming.
In fact, in one of our research projects, we developed a language for imperative, object-oriented visual programming (not workflow... we had defined different semantics for the arcs and what was "travelling" on them).
Just my 2c.
Regards,
.savas.
Thursday, Oct 13, 2005, 11:37 PM
Munish Gupta:
I have been working on something quite similar to "a visual programming" system for last 3-4 years. Think of it as a Visual Studio but with a flow-chart instead of C# code. It does pretty much all what a simple IDE/debugger would do. Breakpoints/single stepping/watch windows/extensible toolbox/extensible programming elements/subroutines/you name it.
Industrial implementations of a "Workflow" resembles more like a state machine than a simple sequential flow.
Get an event -> Do an Action -> Save your current state -> wait for indeterminable periods of time(could be from 1ms to months) for an event to occur -> Wake up and restore state -> Do an action ->...and so on
So you "can" implement a "workflow (in the industrial sense)" through visual programming. But it takes a different mindset on the part of the "tool developer" and the "tool user" to make it really work as a true workflow.
I have been looking quite a bit into Workflow Foundation to see if it has that mindset. What do you think?
Friday, Oct 14, 2005, 6:00 AM
Jose:
Friday, Oct 14, 2005, 11:54 AM
Ian Griffiths:
I gather this is possible with WWF. (It's a question that has come up every time I've seen WWF shown in front of an audience so far, and the answer has always been "yes" so I *hope* you can do it...) It's not common in most programming languages.
But I'm not really sure what you mean by a "visual programming language". Is Visual Basic a visual programming language? I'm guessing probably not for the purposes of this discussion, as I don't see an obvious parallel between the visual workflow design in WWF and any of the visualness in VB. But since I don't really know what you mean, I could be wrong... What constitutes a 'visual' language? I don't know many myself...
The only truly visual programming language I'm at all familiar with is one I wrote the IDE for about 15 years ago. It was a flowchart-based programming language for controlling robotic hardware. It did basic flow control, multi-threading, looping, subroutines. And it was definitely visual - it didn't actually have a text representation at all, so the only way to edit it was visually!
So, is there stuff WWF does that my language didn't do? Well the most obvious thing that springs to mind is that my language was very application specific and consequently not remotely extensible. (It's pretty much the opposite of the semantic-free idea that Don talks about when presenting WWF.)
But for me, that's not the most interesting different. I think the answer to the question isn't so much what WWF makes possible, as the style of the approach it offers. Would any visual programming language, whatever that might mean, do? Well, if it's a sufficiently powerful language, then yes. But you may as well drop the word 'visual' from the conversation - any suffuciently powerful programming language will be able to do what WWF does...
(After all, it's not like WWF is intrinsically visual either - you can program it without the use of the visual editor. You're not required to use xoml either.)
The thing I find most interesting about WWF is that it gives me a pre-built set of idioms for expressing stuff at a much higher level than normal code. Most interesting applications have flow and logic that works in bigger chunks than programming languages tend to work with, and it's hard to have that structure expressed clearly in the code. I think this is one of the reasons we've seen a lot of interest in DSLs lately.
WWF looks to me like it could offer a place to put that structure without me needing to invent a new DSL for each project. (And of course it also lets you provide the fine level of detail stuff that classic code is good for, inside of the chunks that make up a workflow.)
The 'visual' aspect is not really relevant to what I find interesting. It's nice to have, because that's how I'd be inclined to represent this aspect of a system on a whiteboard, and often end up with diagrams of this sort in design specs. But what's much more interesting to me is not the visual representation, but that fact that there's a *code*-like artifact that represents important high-level aspects of a system's design that used to be a part of the design with only a vague representation in the code.
Saturday, Oct 15, 2005, 11:19 AM
Brian Tyler:
However, like Windows Workflow, it has a state diagram option where you can describe the flow of logic. And again, like WW, you drop into the states to do the actual coding.
Sorry about the size of the URL, but this is a page with several screenshots so you can see what it looks like.
http://zone.ni.com/devzone/conceptd.nsf/webmain/F34045D2CC5357F486256D3400648C0F
Monday, Oct 17, 2005, 7:14 AM
kvlhnfmt tmhiurkz:
Thursday, Mar 8, 2007, 9:55 PM
xicyjvoz xlwh:
Thursday, Mar 8, 2007, 9:55 PM
jcohgzqxk hdeayint:
Thursday, Mar 8, 2007, 9:57 PM
hbkcs ditlfma:
Thursday, Mar 8, 2007, 9:57 PM
bobby:
http://www.mysite.com
Sunday, Apr 6, 2008, 12:34 PM




