Home » Archived » M2M (model-to-model transformation) » transformation ATL
transformation ATL [message #88582] |
Tue, 19 August 2008 22:55  |
Eclipse User |
|
|
|
Hi Friends
I'm trying to run an atl transformation over uml2 model but I cannot
generate all classes into yours respective packages.
rule MergeClass {
from s : UML2!Class (
to t : UML2!Class mapsTo s (
isAbstract <- s.isAbstract,
name <- s.name,
namespace <- s.namespace (? in uml2 ?)
)
}
oes anyone know how I can assign the element namaspace in uml2?
In uml1.4 , I just set: namespace <- s.namespace!
Best Regards
|
|
| | |
Re: transformation ATL [message #88628 is a reply to message #88613] |
Thu, 21 August 2008 02:40   |
Eclipse User |
|
|
|
Originally posted by: me.urszeidler.de
packagedElement <- invar.packagedElement,
Is the important statement to get the package hierarchy right.
Here are the examples of the rules for model and package :
rule ModelRule {
from invar : UML2!"uml::Model" (thisModule.ModelGuard(invar))
to Modelvar : UML2!Model (
name <- invar.name,
visibility <- invar.visibility,
viewpoint <- invar.viewpoint,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
elementImport <- invar.elementImport,
packageImport <- invar.packageImport,
ownedRule <- invar.ownedRule,
owningTemplateParameter <-invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
--ownedType <- invar.ownedType,
packageMerge <- invar.packageMerge,
packagedElement <- invar.packagedElement,
--nestedPackage <- invar.nestedPackage,
nestingPackage <- invar.nestingPackage,
profileApplication <- invar.profileApplication
)
do {
invar.debug('ModelRule');
for (p in invar.getAllAppliedProfiles()){
--p.debug();
thisModule.findProfile(p.getQualifiedName()).debug('profile' );
Modelvar.applyProfile(thisModule.findProfile(p.getQualifiedN ame()));
}
thisModule.copyStereoType(invar,Modelvar);
}
}
rule PackageRule {
from invar : UML2!"uml::Package" (thisModule.PackageGuard(invar))
to Packagevar : UML2!Package (
name <- invar.name,
visibility <- invar.visibility,
eAnnotations <- invar.eAnnotations,
ownedComment <- invar.ownedComment,
clientDependency <- invar.clientDependency,
nameExpression <- invar.nameExpression,
elementImport <- invar.elementImport,
packageImport <- invar.packageImport,
ownedRule <- invar.ownedRule,
owningTemplateParameter <-invar.owningTemplateParameter,
templateParameter <- invar.templateParameter,
templateBinding <- invar.templateBinding,
ownedTemplateSignature <- invar.ownedTemplateSignature,
ownedType <- invar.ownedType,
packageMerge <- invar.packageMerge,
packagedElement <- invar.packagedElement,
-- nestedPackage <- invar.nestedPackage,
nestingPackage <- invar.nestingPackage,
profileApplication <- invar.profileApplication
)
do {
thisModule.copyStereoType(invar,Packagevar);
-- invar.debug('PackageRule');
}
}
greetings urs.
|
|
|
Re: transformation ATL [message #88657 is a reply to message #88628] |
Thu, 21 August 2008 08:19   |
Eclipse User |
|
|
|
Hi urs,
Very much thanks your attention!
I used the transformation rule that you cited, but released the following
errors:
****** BEGIN Stack Trace
message: feature owningTemplateParameter does not exist on UML2!Model
****** BEGIN Stack Trace
message: feature packagedElement does not exist on UML2!Model
****** BEGIN Stack Trace
message: feature nestingPackage is not changeable
****** BEGIN Stack Trace
message: feature profileApplication does not exist on UML2!Model
I am using the follow eclipse-uml2-1.1.1 API. Will be this the problem?
I have a dependency with this API (eclipse-uml2-1.1.1), because I am using
the repository andromda-repository-emf-3.2
( http://galaxy.andromda.org/docs-3.2/andromda-repository-emf/ index.html)
to persist the uml models. Do you know some repository else?
The rule below:
rule Model {
from s : UML2!Model(thisModule.inElements->includes(s))
to
t : UML2!Model mapsTo s(
name <- s.name,
visibility <- s.visibility,
viewpoint <- s.viewpoint,
eAnnotations <- s.eAnnotations,
ownedComment <- s.ownedComment,
clientDependency <- s.clientDependency,
nameExpression <- s.nameExpression,
elementImport <- s.elementImport,
packageImport <- s.packageImport,
ownedRule <- s.ownedRule,
-- owningTemplateParameter <-s.owningTemplateParameter,
templateParameter <- s.templateParameter,
templateBinding <- s.templateBinding,
ownedTemplateSignature <- s.ownedTemplateSignature,
--ownedType <- s.ownedType,
packageMerge <- s.packageMerge,
-- packagedElement <- s.packagedElement,
-- nestedPackage <- s.nestedPackage,
-- nestingPackage <- s.nestingPackage,
-- profileApplication <- s.profileApplication
)
}
grateful for your help! Geam Carlos.
|
|
| |
Re: transformation ATL [message #88688 is a reply to message #88673] |
Thu, 21 August 2008 12:27  |
Eclipse User |
|
|
|
Hi urs,
You're right! It really is version uml2 1.x.
But, I am search any implentation of repository to version uml2 2.x. I use
the ATL transfornations of mode programmatically.
Do you know some implementation of repository, to persist the elements
version uml2 2.x?
grateful.
|
|
|
Goto Forum:
Current Time: Mon Jul 14 04:07:21 EDT 2025
Powered by FUDForum. Page generated in 0.26902 seconds
|