UML RT metamodel [message #1838576] |
Mon, 01 March 2021 18:09 |
John Henbergs Messages: 239 Registered: October 2020 |
Senior Member |
|
|
Hi all,
I am trying to find the UML RT state machine metamodel/profile, as I would like to create an abstract syntax in Xtext and would like to have that as a reference. However, I do not seem to find that anywhere. Can any of you help me? Even just a photo of it is fine.
Many thanks,
John
[Updated on: Mon, 01 March 2021 18:36] Report message to a moderator
|
|
|
Re: UML RT metamodel [message #1838584 is a reply to message #1838576] |
Mon, 01 March 2021 23:52 |
Ernesto Posse Messages: 438 Registered: March 2011 |
Senior Member |
|
|
Papyrus-RT already has an Xtext-based textual syntax (called Tumlrt) for both state machines and capsules. It was not in the official list of features described in the website as it was not supposed to be part of the initial 1.0 release, but nevertheless, it's there. You can use it by creating text files with the .umlrt extension. You can use it to generate code and even convert from textual to graphical and vice-versa, although I think we hid those menus in the 1.0 release. I'm attaching the syntax reference.
The profile is in the git repo (git://git.eclipse.org/gitroot/papyrus-rt/org.eclipse.papyrus-rt.git) under "plugins/umlrt/profile/o.e.prt.umlrt.profile", but it is not suitable for Xtext, and it is not used in the Tumlrt implementation.
As for the meta-model, well, the official meta-model is that of UML state machines, but Papyrus-RT has also an internal metamodel called "XtUML-RT" for both capsules and state machines, and it is the one used by the TUMLRT implementation. It can be found in the git repo (git://git.eclipse.org/gitroot/papyrus-rt/org.eclipse.papyrus-rt.git) under the "plugins/xtumlrt" folder. In fact that folder includes four subfolders:
* metamodel: the Ecore meta-model, which includes separate meta-models for structure, state machines, interaction diagrams, and some extensions for state machines and capsules.
* xtext: the textual syntax implementation. The grammar is in the o.e.prt.xtumlrt.xtext plugin in the Tumlrt.xtext file.
* trans: transformation from textual to graphical and graphical to textual, including translation to dot diagrams.
* common: utilities, integration with external packages (like the UML-RT standard library), and a sublanguage for arithmetic expressions, used mostly by the code generator to allow for symbolic expressions in attributes and replicated ports and parts.
I'm also attaching a zip file with some SVG diagrams from the metamodel.
Nevertheless, the official meta-model, as I said, is the UML meta-model. Papyrus-RT includes an extremely useful façade to manipulate UML-RT models in the plugins under "plugins/umlrt/profile/o.e.prt.umlrt.uml".
Hope this helps.
[Updated on: Mon, 01 March 2021 23:57] Report message to a moderator
|
|
|
|
Powered by
FUDForum. Page generated in 0.03515 seconds