google-code-export / umple

Automatically exported from code.google.com/p/umple
1 stars 0 forks source link

Proper support for Umple in Papyrus or other open source UML drawing tools #185

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Integration with Papyrus, including capabilities such as drawing diagrams (with 
UmpleOnline like capability); conversion between Papyrus UML models and Umple 
and vice versa.

Original issue reported on code.google.com by TimothyCLethbridge on 25 Jun 2011 at 2:40

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 1 Dec 2011 at 6:36

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 13 Sep 2012 at 7:32

GoogleCodeExporter commented 9 years ago
See also issue 29 and issue 29

Original comment by TimothyCLethbridge on 27 Sep 2012 at 8:28

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 11 Dec 2012 at 1:04

GoogleCodeExporter commented 9 years ago
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:

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
See also issue 420 which talks about also importing formats

Original comment by TimothyCLethbridge on 17 Sep 2013 at 1:10

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 22 Sep 2013 at 3:42

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 27 Jun 2014 at 6:21

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 5 Sep 2014 at 2:57

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 15 Oct 2014 at 12:16

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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

GoogleCodeExporter commented 9 years ago
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