Group Abstract Group Abstract

Message Boards Message Boards

An equivalent of UML for Mathematica

GROUPS:
(Please note I have an identical post on the Mathematica LinkedIn interest group)

There are times when I wish I could construct Mathematica applications in a graphical shorthand before I begin the code itself. I don't find that current software engineering notations fit all cases, especially the core functional programming constructs of Mathematica. Do any of you think it would be both useful and feasible to develop an equivalent of UML for Mathematica?
POSTED BY: George Danner
Answer
1 year ago
I think are a great many cases where it is much easier to express certain operations graphically, as opposed to in code or through a plain-text description. I think the recognition of this gap is one reason for the development of Wolfram SystemModeler (here's an article by Stephen Wolfram saying more about the variety of interfaces and how they fit together).  The interesting thing about SystemModeler is how it exploits the similarity between the fixed topologies expressed by graphical diagrams and the fixed relations of equations in engineering components.  What this says to me is that graphical interfaces might most readily be used to express invariant relations between mathematical structures, rather than more procedural processes, and that functions could take such diagrams of equations as inputs.  In this way, I imagine the current interplay between SystemModeler and Mathematica might be the prototype of the inteplay between graphical and functional processing to come.
POSTED BY: John Cassel
Answer
1 year ago
Just  a start of what I am talking about...what about this?

https://dl.dropboxusercontent.com/u/1174664/Mathematica%20Notations.pdf
POSTED BY: George Danner
Answer
11 months ago
I think it's charming from a visual perspective. I picture having a hard time doing all of the dragging-and-dropping necessary to graphically assemble a whole program, but that is probably informed by biases from the way I work currently. I could see generating one of these diagrams from existing code for documentation and presentations. I think one of the great powers of UML is its ability to abstract out structural and behavioral elements of the program. It might be worth thinking about the cases where a graphical notation, while being very informed by Mathematica, abstracts away somehow from direct structure of the code itself.
POSTED BY: John Cassel
Answer
11 months ago
George,

I like your thinking regarding a graphical shorthand, this and the existing code form would have its unique advantages . The ability to edit a fully native component diagram so that the textural code would automatically update and remain synchronized, and vice versa would be very useful .

In the cases where I need such a diagram, either because the complexity of the code warrants it and/or when I need to communicate the process flow to other non-programmers, I maintain a parallel diagram using Visio which can be clunky.

Have you seen “What’s the analogue of UML in Mathematica land?” at StackExchange?
POSTED BY: Steve M
Answer
11 months ago