Message Boards Message Boards

2
|
15360 Views
|
6 Replies
|
10 Total Likes
View groups...
Share
Share this post:

An equivalent of UML for Mathematica

(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
6 Replies

1. See the paclet "UMLDiagramGeneration":

enter image description here


2. Alternatively, LLMs can be used together with the Wolfram Function Repository function MermaidInk.

POSTED BY: Anton Antonov

One answer of this question can be given by :

For example, the UML diagram:

enter image description here

was generated from the Mathematica code for the design pattern Template Method.

POSTED BY: Anton Antonov
Posted 12 years 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
Posted 12 years 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
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
Posted 12 years 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
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract