Skip to main content



      Home
Home » Modeling » Epsilon » Transforming from ecore to a genmodel-like configuration model
Transforming from ecore to a genmodel-like configuration model [message #585040] Mon, 25 January 2010 16:18 Go to next message
Eclipse UserFriend
Hi,

I have created a metamodel with one eclass named eclass2record to help me manage the transformation process.
The goal is to created a doctrine model (expressed in doctrine.ecore) from an ecore model.
To achieve this, I have created the eclass2record; basically all eclasses have a eclass2record, and the eclass2record instance have to be linked with the eclass.

So in the transformation I have written this :

rule ecore2ecore2doctrine
transform i : ecore!EClass
to o : ecore2doctrine!EClass2Record
{
o.name = i.name;
o.eclass = i;
}

It generates me the .xmi file as requested with all eclass2record objects with correct names, but there is no eclass relation set up between eclass2record instances and their relative eclass.

Someone have a clue ?

Thanks !
Re: Transforming from ecore to a genmodel-like configuration model [message #585065 is a reply to message #585040] Mon, 25 January 2010 16:26 Go to previous messageGo to next message
Eclipse UserFriend
Hi Stephane,

That doesn't sound right; the rule should have the behaviour you're
expecting. Could you please upload a .zip with your
transformation/metamodels so that I can have a look?

Cheers,
Dimitris

Stéphane wrote:
> Hi,
>
> I have created a metamodel with one eclass named eclass2record to help
> me manage the transformation process.
> The goal is to created a doctrine model (expressed in doctrine.ecore)
> from an ecore model.
> To achieve this, I have created the eclass2record; basically all
> eclasses have a eclass2record, and the eclass2record instance have to be
> linked with the eclass.
>
> So in the transformation I have written this :
>
> rule ecore2ecore2doctrine
> transform i : ecore!EClass
> to o : ecore2doctrine!EClass2Record
> {
> o.name = i.name;
> o.eclass = i;
> }
>
> It generates me the .xmi file as requested with all eclass2record
> objects with correct names, but there is no eclass relation set up
> between eclass2record instances and their relative eclass.
>
> Someone have a clue ?
>
> Thanks !
Re: Transforming from ecore to a genmodel-like configuration model [message #585071 is a reply to message #585040] Mon, 25 January 2010 16:28 Go to previous messageGo to next message
Eclipse UserFriend
I got it wrong.
The XMI writes it somewhat correctly I suppose, anyway the editor's property view doesnt show me the referenced EClass.

Any way to get it work ? :o)
Thank !

<?xml version="1.0" encoding="ASCII"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore2doctrine="http://se.ecore2doctrine/1">
<ecore2doctrine:EClass2Record name="Party">
<eclass href="../ecore/eds.ecore#//Party/Party"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Person">
<eclass href="../ecore/eds.ecore#//Party/Person/Person"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Organization">
<eclass href="../ecore/eds.ecore#//Party/Organization/Organization"/ >
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Role">
<eclass href="../ecore/eds.ecore#//Party/Role/Role"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="PersonRole">
<eclass href="../ecore/eds.ecore#//Party/Role/PersonRole/PersonRole "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="OrganizationRole">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/Organizatio nRole "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="DistributionChannel">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/Distributio nChannel "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Agent">
<eclass href="../ecore/eds.ecore#//Party/Role/OrganizationRole/Agent "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Distributor">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/Distributor "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Partner">
<eclass href="../ecore/eds.ecore#//Party/Role/OrganizationRole/Partner "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Household">
<eclass href="../ecore/eds.ecore#//Party/Role/OrganizationRole/Household "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Competitor">
<eclass href="../ecore/eds.ecore#//Party/Role/OrganizationRole/Competitor "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="RegulatoryAgency">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/RegulatoryA gency "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Association">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/Association "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Supplier">
<eclass href="../ecore/eds.ecore#//Party/Role/OrganizationRole/Supplier "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="OrganizationUnit">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/Organizatio nUnit "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="ParentOrganization">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/ParentOrgan ization "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Department">
<eclass href="../ecore/eds.ecore#//Party/Role/OrganizationRole/Department "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Division">
<eclass href="../ecore/eds.ecore#//Party/Role/OrganizationRole/Division "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="OtherOrganizationUnit">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/OtherOrgani zationUnit "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="InternalOrganizationUnit">
<eclass href=" ../ecore/eds.ecore#//Party/Role/OrganizationRole/InternalOrg anizationUnit "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Subsidiary">
<eclass href="../ecore/eds.ecore#//Party/Role/OrganizationRole/Subsidiary "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Customer">
<eclass href="../ecore/eds.ecore#//Party/Role/Customer/Customer"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="BillToCustomer">
<eclass href="../ecore/eds.ecore#//Party/Role/Customer/BillToCustomer "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="ShipToCustomer">
<eclass href="../ecore/eds.ecore#//Party/Role/Customer/ShipToCustomer "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="EndUserCustomer">
<eclass href="../ecore/eds.ecore#//Party/Role/Customer/EndUserCustomer "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Prospect">
<eclass href="../ecore/eds.ecore#//Party/Role/Prospect/Prospect"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Shareholder">
<eclass href="../ecore/eds.ecore#//Party/Role/Shareholder/Shareholder "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Relationship">
<eclass href="../ecore/eds.ecore#//Party/Relationship/Relationship"/ >
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Priority">
<eclass href="../ecore/eds.ecore#//Party/Relationship/Priority"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Status">
<eclass href="../ecore/eds.ecore#//Party/Relationship/Status"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="OrganizationContactRelationship">
<eclass href=" ../ecore/eds.ecore#//Party/Relationship/OrganizationContactR elationship/OrganizationContactRelationship "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Employment">
<eclass href=" ../ecore/eds.ecore#//Party/Relationship/Employment/Employmen t "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="OrganizationRollup">
<eclass href=" ../ecore/eds.ecore#//Party/Relationship/OrganizationRollup/O rganizationRollup "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Partnership">
<eclass href=" ../ecore/eds.ecore#//Party/Relationship/Partnership/Partners hip "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="DistributionChannelRelationship">
<eclass href=" ../ecore/eds.ecore#//Party/Relationship/DistributionChannelR elationship/DistributionChannelRelationship "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="CustomerRelationship">
<eclass href=" ../ecore/eds.ecore#//Party/Relationship/CustomerRelationship /CustomerRelationship "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="SupplierRelationship">
<eclass href=" ../ecore/eds.ecore#//Party/Relationship/SupplierRelationship /SupplierRelationship "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="PostalAddress">
<eclass href="../ecore/eds.ecore#//Party/PostalAddress/PostalAddress "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="DateRange">
<eclass href="../ecore/eds.ecore#//Util/DateRange"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Timestampable">
<eclass href="../ecore/eds.ecore#//Util/Timestampable"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="INamed">
<eclass href="../ecore/eds.ecore#//Util/INamed"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="PostalAddress">
<eclass href="../ecore/eds.ecore#//PostalAddress/PostalAddress"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="PostalAddressBoundary">
<eclass href="../ecore/eds.ecore#//PostalAddress/PostalAddressBoundary "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="GeographicBoundary">
<eclass href="../ecore/eds.ecore#//PostalAddress/GeographicBoundary "/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="PostalCode">
<eclass href="../ecore/eds.ecore#//PostalAddress/PostalCode"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Country">
<eclass href="../ecore/eds.ecore#//PostalAddress/Country"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="State">
<eclass href="../ecore/eds.ecore#//PostalAddress/State"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Region">
<eclass href="../ecore/eds.ecore#//PostalAddress/Region"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Territory">
<eclass href="../ecore/eds.ecore#//PostalAddress/Territory"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="Province">
<eclass href="../ecore/eds.ecore#//PostalAddress/Province"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="CountyCity">
<eclass href="../ecore/eds.ecore#//PostalAddress/CountyCity"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="County">
<eclass href="../ecore/eds.ecore#//PostalAddress/County"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="City">
<eclass href="../ecore/eds.ecore#//PostalAddress/City"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="SalesTerritory">
<eclass href="../ecore/eds.ecore#//PostalAddress/SalesTerritory"/>
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="ServiceTerritory">
<eclass href="../ecore/eds.ecore#//PostalAddress/ServiceTerritory"/ >
</ecore2doctrine:EClass2Record>
<ecore2doctrine:EClass2Record name="GeographicBoundaryAssociation">
<eclass href=" ../ecore/eds.ecore#//PostalAddress/GeographicBoundaryAssocia tion "/>
</ecore2doctrine:EClass2Record>
</xmi:XMI>
Re: Transforming from ecore to a genmodel-like configuration model [message #585097 is a reply to message #585065] Mon, 25 January 2010 16:50 Go to previous message
Eclipse UserFriend
Sure,

here it is www.stephaneerard.fr/ecore2doctrine.zip

Thanks !
Previous Topic:Problem to run basic epsilon examples
Next Topic:Transforming from ecore to a genmodel-like configuration model
Goto Forum:
  


Current Time: Fri Nov 07 15:03:38 EST 2025

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

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

Back to the top