Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Epsilon » [Eugenia] Question on how to define a typed relation?
[Eugenia] Question on how to define a typed relation? [message #565062] Wed, 11 February 2009 13:36
Michael Moser is currently offline Michael MoserFriend
Messages: 914
Registered: July 2009
Senior Member
I have a question re. the use of .emf files and Eugenia to create proper
GMF input files. I first will try to describe my very trivial example:

My diagram has processes and artifacts (think of it as
datasets/files/documents, etc.) and relations pointing from processes to
artifacts, called ArtifactRelation. These ArtifactRelations are "rich"
(i.e. they have additional attributes, like a name, later there will be
further fields, etc. and a (relationship-)type - an enumeration), so I
modeled them as an additional type that holds all these attributes
including the reference to the target-artifact. A Process contains a
collection (i.e. [0..n]) of such relations to Artifacts:
-------------
....
@gmf.node(label = "name", label.icon="true")
class Artifact {
id attr String name;
...
}
@gmf.node(label = "name", label.icon="true")
class Process {
id attr String name;
...
val ArtifactRelation[*] artifactRelations;
...
}
@gmf.link(target="artifact", label="name", target.decoration="arrow",
style="dash", width="2")
class ArtifactRelation {
attr String name;
...
attr ArtifactRelationType relationType = "0";
ref Artifact artifact;
}
enum ArtifactRelationType {
CREATES = 0;
READS = 1;
UPDATES = 2;
DELETES = 3;
}
....
-------------

Now my question: I would like to visualize such relations as connections
(dashed arrows) from the containing Process to the referenced Artifact.
How do I specify such a "transitive" relations in .emf files? The
problem I have here is, that not Process contains the reference to
Artifact, but only to the ArtifactRelationType and only the latter
contains the reference to the target-Artifact. How do I specify that
using these @gmf.link(...)-annotations in .emf files? Is that possible
at all?

This is different from the filesystem example shown at
http://epsilonlabs.wiki.sourceforge.net/EuGENia, where Shortcut-s
directly contains the target-File, and Sync-s which contains both, the
source and the target. In my case, source and target of a link are
spread over two different objects. How do I tell Eugenia to generate a
"connection" from that (and also a tool to generate such connections or
relations)? I guess this should be a pretty standard task, but I
couldn't yet figure out, how to do that.

Hope I could make myself clear...
Michael
Previous Topic:Re: "Used in..." slideshow in the new Epsilon home page
Next Topic:[Eugenia] Question on how to define a typed relation?
Goto Forum:
  


Current Time: Sat Dec 20 01:39:54 GMT 2014

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

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