Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » Helping a newbie creating an UML transforamtion application with EPSILON
Helping a newbie creating an UML transforamtion application with EPSILON [message #1859996] Sun, 09 July 2023 12:17 Go to next message
Firstname Lastname is currently offline Firstname LastnameFriend
Messages: 7
Registered: July 2023
Junior Member
Hi Epsilon community,

I have recently started working with Epsilon, and there are still some points I need help with. Please consider me someone with good modeling knowledge but who needs to know how to work with Epsilon. I also have good intermediate knowledge of Java and its respective technologies.

The greater Context:
I'm building a tool to import runtime trace information and transform it into UML sequence diagrams. Furthermore, I want to integrate this transformation into an existing work where UML diagrams are transformed into performance models. This work already builds on the Epsilon project and uses the ANT tasks provided by Epsilon. Somehow there is also a UML meta-model involved in this work, but I'm unaware of how it is included or where to find it.

My current state:
I was able to get the ANT-Build to run but now get exceptions that the UML meta-model is not available since it has an Eclipse-based URI I suspect that it also is somehow provided by Eclipse, or more specifically, the Epsilon or Papyrus project (not jet familiar with the eclipse project structure.
Example Project I used to create the ANT-Standalone: https://github.com/eclipse/epsilon/tree/main/examples/org.eclipse.epsilon.examples.workflow.standalone
The project I try to get running into which I want to integrate my work (note the branch): https://github.com/SEALABQualityGroup/uml2lqn/tree/support-workload

Also, since a lot is centered around the Eclipse IDE, I'm willing to integrate it first with Eclipse, even though it has to be a standalone application in the end.


The specific questions:
* What is a launch configuration, and how can I create one?
* Is there some documentation on launch configurations?
* How can I work with UML2? What steps do I have to take to integrate it into my project?
* How can one create a standalone project (not depending on Eclipse) with UML2?
* How can I launch (not standalone) an ANT build script which contains the ANT-Tasks from Epsilon?

More general question:
* Is there a thorough introduction how to set up a project with Epsilon that takes one through every step, from creating a simple meta-model to the transformation and execution with Eclipse/Epsilon or even creating a standalone application?

If you need further information please feel free to ask.

TL:DR: trying to build a UML transformation project with Epsilon and have some questions.


Best Regards
Re: Helping a newbie creating an UML transforamtion application with EPSILON [message #1860053 is a reply to message #1859996] Fri, 14 July 2023 08:25 Go to previous messageGo to next message
Antonio Garcia-Dominguez is currently offline Antonio Garcia-DominguezFriend
Messages: 594
Registered: January 2010
Location: Birmingham, UK
Senior Member

Welcome to Epsilon!

Looking at the XML namespace declarations in your models, it seems you are using Papyrus, with some profiles like GQAM:

https://github.com/SEALABQualityGroup/uml2lqn/blob/support-workload/models/cocome.uml#L2

All the namespace declarations are based on package namespace URIs rather than arbitrary paths to .ecore files, so in theory this should work so long as those metamodels are made available to the program. The tricky part is that UML models typically require custom code to load (especially those with profiles like GQAM), so you'd need the actual Papyrus libraries to be loaded in your Ant build before you use the Epsilon Ant tasks.

We have an example in the Epsilon website which explains how to load UML models in Gradle, including how to fetch the necessary UML libraries from Maven Central:

https://eclipse.dev/epsilon/doc/articles/running-epsilon-ant-tasks-from-command-line/#uml

You could adapt it back to normal Apache Ant, by using Apache Ivy instead to download those UML libraries from Central. We have an example which shows how to do this:

https://eclipse.dev/epsilon/doc/articles/running-epsilon-ant-tasks-from-command-line/#ant

The main issue would be to find Maven-friendly artifacts for Papyrus itself, as I believe the GQAM profile you are using is from Papyrus. You may want to ask over at the Papyrus forums for this.

As for your questions:

* Launch configurations are created through Eclipse's UI. It's the same kind of thing you use to launch Java programs. See Vogella's Eclipse tutorial here:

https://www.vogella.com/tutorials/Eclipse/article.html#run-your-application-code-from-the-ide

* Launch configurations are documented in the regular Eclipse help. If you're referring specifically to the Epsilon ones, we have some screencasts and lectures on the use of Epsilon:

https://www.youtube.com/playlist?list=PLRwHao6Ue0YUecg7vEUQTrtySIWwrd_mI
https://www.youtube.com/epsilondevs

* For how to work with UML2, please see the above link if you're using plain UML models. If you have Papyrus-specific extensions like its GQAM profile, please ask in the Papyrus forum on how to load Papyrus models from outside Eclipse.

* For a standalone UML2 project without Eclipse, you should be able to use Maven/Ivy/Gradle to fetch the UML2 libraries. We have an example standalone project which loads UML models using the Epsilon UML driver here:

https://github.com/eclipse/epsilon/tree/main/examples/org.eclipse.epsilon.examples.standalone

* For an Ant build which uses the Epsilon tasks, please see the above links to the Epsilon documentation.

And finally, for the general introduction to the process, I suggest you check the screencasts I linked above. The MDENet network also has a number of recorded training sessions on Epsilon. Registration is required, but free:

https://community.mde-network.org/spaces/6963773/list

Hope it helps!
Antonio

Re: Helping a newbie creating an UML transforamtion application with EPSILON [message #1860054 is a reply to message #1859996] Fri, 14 July 2023 08:45 Go to previous message
Firstname Lastname is currently offline Firstname LastnameFriend
Messages: 7
Registered: July 2023
Junior Member
Hi there I was able to (mostly) solve the questions above.

Launch configurations are pretty easy, they are simply a configuration one has saved in Eclipse.

To work with UML2 you have to import papyrus packages. In my example it was nessesary to get http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/neon to work.

ANT with the Epsilon Tasks is possible when you run the build.xml with the configuration in the JRE-Tab "Run in the same JRE as the workspace".

The standalone Project is still an issue which I will work on in the future.

I strongly recommend the screencast from Dimitris Kolovos it gives a great overview of the topic and introduces quite some small details which I didn't find in the documentation: https://www.youtube.com/playlist?list=PLRwHao6Ue0YUecg7vEUQTrtySIWwrd_mI

Edit:
@Antonio: Thank you so much for your answer, I will look into the information in the weekend. Especially the information on how to use the UML is probably most valuable :)

[Updated on: Fri, 14 July 2023 08:56]

Report message to a moderator

Previous Topic:Using Epsilon components in RAP
Next Topic:How to query XMI file when the name of properties has colon
Goto Forum:
  


Current Time: Sat Apr 27 11:23:42 GMT 2024

Powered by FUDForum. Page generated in 0.03459 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top