Home » Archived » M2M (model-to-model transformation) » transformation ATL
| | |
Re: transformation ATL [message #88628 is a reply to message #88613] |
Thu, 21 August 2008 06: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 12:19 |
Geam Carlos Messages: 17 Registered: July 2009 |
Junior Member |
|
|
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.
|
|
| | |
Goto Forum:
Current Time: Wed Apr 24 20:40:21 GMT 2024
Powered by FUDForum. Page generated in 0.03520 seconds
|