Open GoogleCodeExporter opened 9 years ago
Original comment by TimothyCLethbridge
on 1 Dec 2011 at 6:36
Umple will get more use if people using UML modelling tools in Eclipse can
generate Umple, and vice versa - can write Umple and see the result in their
diagramming tool.
Original comment by TimothyCLethbridge
on 15 Jun 2012 at 2:22
Original comment by TimothyCLethbridge
on 13 Sep 2012 at 7:32
See also issue 29 and issue 29
Original comment by TimothyCLethbridge
on 27 Sep 2012 at 8:28
Umple needs updating comprehensively to ensure it generates proper papyrus XML
from all Umple features (all associations, attributes, interfaces, state
machines, etc.)
Original comment by TimothyCLethbridge
on 28 Sep 2012 at 8:06
Original comment by TimothyCLethbridge
on 11 Dec 2012 at 1:04
Patch of progress related to papyrus generation. The generator supports guard
conditions, start states, final states, deep history states, history states,
events, transition actions, entry/exit actions, do-block activities.
note: A separate papyrus project is generated for every state machine the .ump
file.
Naming convention: className_StateMachineName.
TODO- Support for nested state machines, Update JUnit tests.
Original comment by jzamb...@gmail.com
on 9 Apr 2013 at 10:54
Attachments:
Some progress has been made. Ideally Umple would be incorporated as a plugin to
Papyrus and model-exchange would be two-way. Making it work with basic Eclipse
Ecore models would also be great.
Original comment by TimothyCLethbridge
on 8 Jul 2013 at 3:17
See also issue 420 which talks about also importing formats
Original comment by TimothyCLethbridge
on 17 Sep 2013 at 1:10
Note that there is an XMI validator here
http://syseng.nist.gov/se-interop/sysml/validator
It would be good if Umple could generate code that would pass, and if checks
could be automated
Original comment by TimothyCLethbridge
on 21 Sep 2013 at 2:21
Original comment by TimothyCLethbridge
on 22 Sep 2013 at 3:42
Original comment by TimothyCLethbridge
on 27 Jun 2014 at 6:21
Original comment by TimothyCLethbridge
on 5 Sep 2014 at 2:57
Original comment by TimothyCLethbridge
on 15 Oct 2014 at 12:16
An overview of what needs to be done on this issue:
Papyrus projects require 3 files: model.di, model.uml, and model.notation. The
model file describes the UML objects, associations, properties, etc. The
notation file described what to draw to represent these objects, where to draw
them, and how to draw them.
1) The generated code currently does not load in Papyrus. The generated
model.notation file contains errors (In progress, will be fixed with #2)
2) The fixed generated code (from #1) loads into Papyrus, but nothing is drawn.
This is due to the fact that the model.notation file is incomplete. While it
seems that much work was done in generation the model.uml file, the
model.notation is blank and Papyrus does not know what to draw. By modifying
the model.notation file directly, the elements of model.uml can then be drawn.
This model.notation work must be replicated in our Papyrus generator so that
what we generate can actually be displayed. I am currently working on this for
just classes and associations to verify the generation, and then I will expand
it to the other UML drawables. (In Progress)
3) Now that our Umple code can be transformed into a viewable UML diagram in
Papyrus, we must ensure that classes are easily viewables, spaced properly,
associations look aesthetically pleasing. This is essentially a pretty printing
task for the XMI code that we generate (as we generate the locations of each
element).
4) Create an Eclipse plugin button which exists when both the Umple and Papyrus
plugins are installed that will generate a Papyrus diagram from the Umple code.
5) Implement a Papyrus to Umple translator so umple code can be generated from
Papyrus diagrams.
6) Implement the corresponding Eclipse plugin button for #5.
Original comment by EmailMarkGalloway@gmail.com
on 26 Oct 2014 at 8:08
I have commit a patch with regards to this issue:
https://code.google.com/p/umple/source/detail?r=4777
To update the state of this issue and the previously outlined steps I listed:
The generator properly generates Papyrus xmi which will load into Papyrus.
Diagrams are correctly displayed now that the notation file is generated. This
solves above issues 1 and 2. Furthermore, a simple layout algortihm (like umple
online) was added so generated diagrams to not look too terrible when
generated. Papyrus should be able to theoretically arrange everything much
nicer with the "Arrange all" feature. Hence, issue 3 is solved.
Further work will be in step 4, which is currently in progress.
Original comment by EmailMarkGalloway@gmail.com
on 20 Nov 2014 at 7:00
This issue will need further work.
What is complete:
1) Papyrus Generation for classes and simple assocations is functional. Simple
state machines can also be drawn. Generated diagrams can be loaded and viewed
in Papyrus.
2) The Eclipse plugin is functional and correctly greys out the button/menu
item when Papyrus is not installed. Clicking this button will generate papyrus
for the umple file currently opened in the editor.
What is incomplete:
1) The papyrus generation does not handle more complex uml such as "iSa"
relationships. This can be seen by trying to generate some of the complex
examples from umple online. Work needs to be done here by adding more logic to
the generator to translate from the Metamodel into the XMI templates.
2) I believe Timothy would like to see translation from Papyrus to Umple code
as well. This would involve parsing the XMI files of a papyrus diagram into the
metamodel. I am unsure if Umple currently has any XMI parsing features.
Original comment by EmailMarkGalloway@gmail.com
on 3 Dec 2014 at 10:57
The papyrus plugin code has been submitted as commit
https://code.google.com/p/umple/source/detail?r=4826
Note: The plugin code is currently disabled. To implement it, uncomment the
indicated ExtensionPoint in "cruise.umple.eclipse/plugin.xml". It is clearly
labelled.
Original comment by EmailMarkGalloway@gmail.com
on 3 Dec 2014 at 11:15
Original issue reported on code.google.com by
TimothyCLethbridge
on 25 Jun 2011 at 2:40