Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Modeling (top-level project) » About projects that uses two or more related metamodels (or: using metamodels as viewpoints)
About projects that uses two or more related metamodels (or: using metamodels as viewpoints) [message #1386350] Mon, 16 June 2014 20:14 Go to next message
Ricardo CaWal is currently offline Ricardo CaWalFriend
Messages: 28
Registered: January 2013
Junior Member
Hey, everyone!

I think this one is a begineer's question, but I need some kind of advice about integration of Eclipse frameworks. I'd asked other questions before about this same project, and this one is a verbose one, but some ideas changed and I need to revaluate the overall architecture I'm using.)

I have this project that we have ontologies in textual format (i.e., the OBO File Format) and a validation profile for those ontologies that is based in a UML profile. I'd tried before to map the ontologies' basic concepts (like term and relation) to counterparts concepts in the UML profile we defined to our work. This profile that I'd implemented like a hard-weight extension using Ecore/EMOF. The mapping between text and model I'd planned to do (and even started to do it) using Xtext. The model validation and edition should be made by some user in a GMF-based editor.

As the project evolved, one of the reviewers proposed to use two different metamodels in the project: one metamodel to describe the ontology-related concepts (let's call it OBO's metamodel), and another only related to the UML profile (let's call it Profile's metamodel). He proposed it because, in order to map and round-trip all the information of an ontology, I'd added some ontology-only related concepts in the profile metamodel, thus polluting this metamodel. The separation of those concepts should allow us to have more clean and modular implentation.

Now we had replanned the architecture: We want to load an ontology using Xtext to the OBO metamodel, transform it to a representation in the Profile's metamodel, edit it using the GMF-based editor and, after that, update the OBO's metamodel and reserialize the ontology in the text file.

In the mapping between those two metamodels, there are some concepts that are only important in one or another, thus we don't need represent all the information in both. (We can think the Profile's metamodel as a different and more abstract viewpoint of the concepts of the OBO metamodel.) But, as a side-effect of this, in order to reconcile all information when updating the OBO model, we need to maintain some kind of "trace" of the transformation.

My question is how you would develop something like this? There's something I could used to create these "viewpoint" mappings (OBO model-> Profile model + Trace and Profile model + Trace -> OBO model) easily? (I just need some highlights to be sure that I'm not wasting my time running in circles.)

Thank you all.
Re: About projects that uses two or more related metamodels (or: using metamodels as viewpoints) [message #1386530 is a reply to message #1386350] Wed, 18 June 2014 06:55 Go to previous message
Ed Merks is currently online Ed MerksFriend
Messages: 29553
Registered: July 2009
Senior Member
Ricardo,

Comments below.

On 16/06/2014 10:14 PM, Ricardo CaWal wrote:
> Hey, everyone!
>
> I think this one is a begineer's question, but I need some kind of
> advice about integration of Eclipse frameworks. I'd asked other
> questions before about this same project, and this one is a verbose
> one, but some ideas changed and I need to revaluate the overall
> architecture I'm using.)
>
> I have this project that we have ontologies in textual format (i.e.,
> the OBO File Format) and a validation profile for those ontologies
> that is based in a UML profile. I'd tried before to map the
> ontologies' basic concepts (like term and relation) to counterparts
> concepts in the UML profile we defined to our work. This profile that
> I'd implemented like a hard-weight extension using Ecore/EMOF. The
> mapping between text and model I'd planned to do (and even started to
> do it) using Xtext. The model validation and edition should be made by
> some user in a GMF-based editor.
>
> As the project evolved, one of the reviewers proposed to use two
> different metamodels in the project: one metamodel to describe the
> ontology-related concepts (let's call it OBO's metamodel), and another
> only related to the UML profile (let's call it Profile's metamodel).
> He proposed it because, in order to map and round-trip all the
> information of an ontology, I'd added some ontology-only related
> concepts in the profile metamodel, thus polluting this metamodel.
A profile is just an Ecore model so you can always add EAnnotations to
record information. An EAnnotation have a references and a contents
reference that can refer to or contain arbitrary EObjects, i.e., any
instance from any model. We use this, for example, when we map from XML
Schema to Ecore to capture information specific to XML Schema that's not
directly modeled in Ecore.
> The separation of those concepts should allow us to have more clean
> and modular implentation.
>
> Now we had replanned the architecture: We want to load an ontology
> using Xtext to the OBO metamodel, transform it to a representation in
> the Profile's metamodel, edit it using the GMF-based editor and,
> after that, update the OBO's metamodel and reserialize the ontology in
> the text file.
I'm not sure why you wouldn't define a graphical editor directly for the
OBO representation. Something like Sirius could be used to build such a
graphical editor quickly.
> In the mapping between those two metamodels, there are some concepts
> that are only important in one or another, thus we don't need
> represent all the information in both. (We can think the Profile's
> metamodel as a different and more abstract viewpoint of the concepts
> of the OBO metamodel.)
So why not just have a graphical view of the OBO instances?
> But, as a side-effect of this, in order to reconcile all information
> when updating the OBO model, we need to maintain some kind of "trace"
> of the transformation.
Trace information could be recorded as annotations or via a separate
mapping model...
>
> My question is how you would develop something like this? There's
> something I could used to create these "viewpoint" mappings (OBO
> model-> Profile model + Trace and Profile model + Trace -> OBO model)
> easily? (I just need some highlights to be sure that I'm not wasting
> my time running in circles.)
I don't understand the point of mapping to a profile. It sounds quite
complicated. It would seem easier to define a graphical view of the OBO
model and avoid profiles completely...
>
> Thank you all.
Previous Topic:modeling control system with Papyrus
Next Topic:Partially Reloading the Target Platform
Goto Forum:
  


Current Time: Wed Sep 26 05:40:07 GMT 2018

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

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

Back to the top