Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » M2M (model-to-model transformation) » [ATL] HOT transformation
[ATL] HOT transformation [message #105112] Sun, 17 May 2009 11:39 Go to next message
Esteban Dugueperoux is currently offline Esteban DugueperouxFriend
Messages: 472
Registered: July 2009
Senior Member
Hi,

I have a ATL transformation which take one input and produce in output
one ATL transformation (High Order Transformation), it works fine with
ATL 3.0 (tested with Galileo M7).
Now I want execute this output ATL transformation, but this output is in
XMI format, then my first question is, can I execute directly my ATL
transformation in XMI format and how?

If not possible, I could transform my XMI format in concrete syntax to
execute a .atl. With TCS I could do it, but I don't find TCS source code
repository. What is the status of TCS, what is the project plan. And
what is TCS compared to TMF Xtext from oAW?

I found AMW project from GMT which use HOT transformation, but it
doesn't works and I don't understand these sources.

Thanks.
Re: [ATL] HOT transformation [message #105226 is a reply to message #105112] Mon, 18 May 2009 11:57 Go to previous messageGo to next message
William Piers is currently offline William PiersFriend
Messages: 301
Registered: July 2009
Senior Member
Hello,

Esteban DUGUEPEROUX a écrit :
> Hi,
>
> I have a ATL transformation which take one input and produce in output
> one ATL transformation (High Order Transformation), it works fine with
> ATL 3.0 (tested with Galileo M7).
> Now I want execute this output ATL transformation, but this output is in
> XMI format, then my first question is, can I execute directly my ATL
> transformation in XMI format and how?
>

At this time you can't.

> If not possible, I could transform my XMI format in concrete syntax to
> execute a .atl. With TCS I could do it, but I don't find TCS source code
> repository. What is the status of TCS, what is the project plan. And
> what is TCS compared to TMF Xtext from oAW?
>
> I found AMW project from GMT which use HOT transformation, but it
> doesn't works and I don't understand these sources.
>

ATL 3.0 API provide utilities to:
- output ATL source code from an ATL model
* org.eclipse.m2m.atl.engine.parser.AtlParser
* available within ATL ant tasks, use "ATL" extractor
- create an ATL model from ATL source code
* org.eclipse.m2m.atl.engine.parser.AtlParser
* available within ATL ant tasks, use "ATL" injector
- compile ATL source code to an ASM file/outputstream
* org.eclipse.m2m.atl.engine.compiler.AtlCompiler
- compile an ATL model to an ASM file/outputstream
* org.eclipse.m2m.atl.engine.compiler.AtlDefaultCompiler

> Thanks.

Best regards,

William
Re: [ATL] HOT transformation [message #105340 is a reply to message #105226] Tue, 19 May 2009 15:54 Go to previous messageGo to next message
Esteban Dugueperoux is currently offline Esteban DugueperouxFriend
Messages: 472
Registered: July 2009
Senior Member
Thanks William.
Re: [ATL] HOT transformation [message #105525 is a reply to message #105226] Mon, 25 May 2009 08:11 Go to previous messageGo to next message
Esteban Dugueperoux is currently offline Esteban DugueperouxFriend
Messages: 472
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------020908010202020407080002
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi William,

To begin my HOT transformation I would like to create a simple rule :

rule getEntity2ValueObject {
from
entitySource : UML!Class (
entitySource.getAppliedStereotypes()->exists(e|e.name='Entity')
)
to
entityTarget : UML!Class (
)

To do that I have the joined mapping2ATLBis.atl which use
OperationCallExp and StringExp respectively to '=' operator and to
'Entity' expression. The problem when my HOT transformation is executed
is that is get the following ATL code :

rule Entity2ValueObject {
from
entitySource : UML!Class
(
entitySource.getAppliedStereotypes()->exists(e |
e.name.'='('Entity')
)
)
to
entityTarget : UML!Class
}

which isn't syntactically correct. What is my mistake?
It's too hard to debug in PrettyPrinter and finally I don't understand
why these characters are appended.
My purpose it to reproduce Business2TechnicalM2M.atl joined code;
To help my HOT writing I use XMI version of Business2TechnicalM2M.atl to
see what ATL.ecore EClass to use.

About ATL.ecore, LocatedElement has a location EAttribute which concerns
ATL syntactic sugar, that's right? If right why this appears in metamodel?

Last question :
How can I assign
pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#string to a target
UML!Parameter?
I must probably use a appropriate input but how to reference String type?

Thanks.

--------------020908010202020407080002
Content-Type: text/plain;
name="mapping2ATLBis.atl"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="mapping2ATLBis.atl"

bW9kdWxlIG1hcHBpbmcyQVRMOyAtLSBNb2R1bGUgVGVtcGxhdGUKY3JlYXRl IEFUTFRyYW5z
Zm9Nb2RlbCA6IEFUTCBmcm9tIE1hcHBpbmdNb2RlbCA6IE1BUFBJTkc7Cgpy dWxlIGRlZmF1
bHRQYWNrYWdlQ3JlYXRpb25SdWxlIHsKCQoJZnJvbSBtYXBwaW5nIDogTUFQ UElORyFNYXBw
aW5nIAoJCgl0byBtYWluUnVsZSA6IEFUTCFNb2R1bGUgKAoJCWlzUmVmaW5p bmcgPC0gdHJ1
ZSwKCQluYW1lIDwtICdFbnRpdHkyVmFsdWVPYmplY3RNMk0nLAoJCWluTW9k ZWxzIDwtIFNl
cXVlbmNle2luTW9kZWx9LAoJCW91dE1vZGVscyA8LSBTZXF1ZW5jZXtvdXRN b2RlbH0KCSks
Cglpbk1vZGVsIDogQVRMIU9jbE1vZGVsICgKCQluYW1lIDwtICdJTicsCgkJ bWV0YW1vZGVs
IDwtIHVtbE1ldGFtb2RlbAoJKSwKCW91dE1vZGVsIDogQVRMIU9jbE1vZGVs ICgKCQluYW1l
IDwtICdPVVQnLAoJCW1ldGFtb2RlbCA8LSB1bWxNZXRhbW9kZWwKCSksCgl1 bWxNZXRhbW9k
ZWwgOiBBVEwhT2NsTW9kZWwgKAoJCW5hbWUgPC0gJ1VNTCcJCgkpCn0KCnJ1 bGUgdmFsdWVP
YmplY3RDcmVhdGlvblJ1bGUgewoJCglmcm9tIGxpbmsgOiBNQVBQSU5HIUxp bmsKCgl0byBt
YXRjaGVkUnVsZSA6IEFUTCFNYXRjaGVkUnVsZSAoCgkJbmFtZSA8LSAnRW50 aXR5MlZhbHVl
T2JqZWN0JywKCQlpblBhdHRlcm4gPC0gZW50aXR5U291cmNlUGF0dGVybiwK CQlvdXRQYXR0
ZXJuIDwtIGVudGl0eVRhcmdldFBhdHRlcm4sCgkJIm1vZHVsZSIgPC0gdGhp c01vZHVsZS5y
ZXNvbHZlVGVtcChsaW5rLm1hcHBpbmcgLCdtYWluUnVsZScpCgkpLAoJCgkt LSBJblBhdHRl
cm4KCWVudGl0eVNvdXJjZVBhdHRlcm4gOiBBVEwhSW5QYXR0ZXJuICgKCQll bGVtZW50cyA8
LSBTZXF1ZW5jZXtlbnRpdHlTb3VyY2VQYXR0ZXJuRWxlbWVudH0sCgkJZmls dGVyIDwtIGVu
dGl0eUZpbHRlcgoJKSwKCWVudGl0eVNvdXJjZVBhdHRlcm5FbGVtZW50IDog QVRMIVNpbXBs
ZUluUGF0dGVybkVsZW1lbnQgKAoJCXZhck5hbWUgPC0gJ2VudGl0eVNvdXJj ZScsCgkJdHlw
ZSA8LSB1bWxDbGFzc1R5cGUxCgkpLAoJZW50aXR5RmlsdGVyIDogQVRMIUl0 ZXJhdG9yRXhw
ICgKCQluYW1lIDwtICdleGlzdHMnLAoJCXNvdXJjZSA8LSBlbnRpdHlGaWx0 ZXJTb3VyY2Us
CgkJYm9keSA8LSBlbnRpdHlGaWx0ZXJCb2R5LAoJCWl0ZXJhdG9ycyA8LSBl bnRpdHlGaWx0
ZXJJdGVyYXRvcnMgIAoJKSwKCWVudGl0eUZpbHRlclNvdXJjZSA6IEFUTCFP cGVyYXRpb25D
YWxsRXhwICgKCQlvcGVyYXRpb25OYW1lIDwtICdnZXRBcHBsaWVkU3RlcmVv dHlwZXMnLAoJ
CXNvdXJjZSA8LSBlbnRpdHlGaWx0ZXJTb3VyY2VTb3VyY2UxCgkpLAoJZW50 aXR5RmlsdGVy
U291cmNlU291cmNlMSA6IEFUTCFWYXJpYWJsZUV4cCAoCgkJcmVmZXJyZWRW YXJpYWJsZSA8
LSBlbnRpdHlTb3VyY2VQYXR0ZXJuRWxlbWVudAoJKSwKCWVudGl0eUZpbHRl ckJvZHkgOiBB
VEwhT3BlcmF0aW9uQ2FsbEV4cCAoCgkJb3BlcmF0aW9uTmFtZSA8LSAnPScs CgkJc291cmNl
IDwtIGVudGl0eUZpbHRlckJvZHlTb3VyY2UsCgkJYXJndW1lbnRzIDwtIGVu dGl0eUZpbHRl
ckJvZHlBcmd1bWVudHMKCSksCgllbnRpdHlGaWx0ZXJCb2R5U291cmNlIDog QVRMIU5hdmln
YXRpb25PckF0dHJpYnV0ZUNhbGxFeHAgKAoJCW5hbWUgPC0gJ25hbWUnLAoJ CXNvdXJjZSA8
LSBlbnRpdHlGaWx0ZXJCb2R5U291cmNlU291cmNlCgkpLAoJZW50aXR5Rmls dGVyQm9keVNv
dXJjZVNvdXJjZSA6IEFUTCFWYXJpYWJsZUV4cCAoCgkJcmVmZXJyZWRWYXJp YWJsZSA8LSBl
bnRpdHlGaWx0ZXJJdGVyYXRvcnMKCSksCgllbnRpdHlGaWx0ZXJCb2R5QXJn dW1lbnRzIDog
QVRMIVN0cmluZ0V4cCAoCgkJc3RyaW5nU3ltYm9sIDwtICdFbnRpdHknCQoJ KSwKCWVudGl0
eUZpbHRlckl0ZXJhdG9ycyA6IEFUTCFJdGVyYXRvciAoCgkJdmFyTmFtZSA8 LSAnZScKCSks
CgkKCQoJLS0gT3V0UGF0dGVybgoJCgktLSBlbnRpdHlUYXJnZXQgCgllbnRp dHlUYXJnZXRQ
YXR0ZXJuIDogQVRMIU91dFBhdHRlcm4gKAoJCWVsZW1lbnRzIDwtIFNlcXVl bmNle2VudGl0
eVRhcmdldFBhdHRlcm5FbGVtZW50fQoJKSwKCWVudGl0eVRhcmdldFBhdHRl cm5FbGVtZW50
IDogQVRMIVNpbXBsZU91dFBhdHRlcm5FbGVtZW50ICgKCQl2YXJOYW1lIDwt ICdlbnRpdHlU
YXJnZXQnLAoJCXR5cGUgPC0gdW1sQ2xhc3NUeXBlMgoJKSwKCQoKCQkKCS0t IFVNTCBUeXBl
cwoJdW1sTWV0YW1vZGVsIDogQVRMIU9jbE1vZGVsICgKCQluYW1lIDwtICdV TUwnCQoJKSwK
CXVtbENsYXNzVHlwZTEgOiBBVEwhT2NsTW9kZWxFbGVtZW50ICgKCQluYW1l IDwtICdDbGFz
cycsCgkJbW9kZWwgPC0gdW1sTWV0YW1vZGVsCgkpLAoJdW1sQ2xhc3NUeXBl MiA6IEFUTCFP
Y2xNb2RlbEVsZW1lbnQgKAoJCW5hbWUgPC0gJ0NsYXNzJywKCQltb2RlbCA8 LSB1bWxNZXRh
bW9kZWwKCSksCgl1bWxDbGFzc1R5cGUzIDogQVRMIU9jbE1vZGVsRWxlbWVu dCAoCgkJbmFt
ZSA8LSAnQ2xhc3MnLAoJCW1vZGVsIDwtIHVtbE1ldGFtb2RlbAoJKSwKCXVt bENsYXNzVHlw
ZTQgOiBBVEwhT2NsTW9kZWxFbGVtZW50ICgKCQluYW1lIDwtICdDbGFzcycs CgkJbW9kZWwg
PC0gdW1sTWV0YW1vZGVsCgkpLAoJdW1sT3BlcmF0aW9uVHlwZTEgOiBBVEwh T2NsTW9kZWxF
bGVtZW50ICgKCQluYW1lIDwtICdPcGVyYXRpb24nLAoJCW1vZGVsIDwtIHVt bE1ldGFtb2Rl
bAoJKSwKCXVtbE9wZXJhdGlvblR5cGUyIDogQVRMIU9jbE1vZGVsRWxlbWVu dCAoCgkJbmFt
ZSA8LSAnT3BlcmF0aW9uJywKCQltb2RlbCA8LSB1bWxNZXRhbW9kZWwKCSks Cgl1bWxQYXJh
bWV0ZXJUeXBlIDogQVRMIU9jbE1vZGVsRWxlbWVudCAoCgkJbmFtZSA8LSAn UGFyYW1ldGVy
JywKCQltb2RlbCA8LSB1bWxNZXRhbW9kZWwKCSkKfQ==
--------------020908010202020407080002
Content-Type: text/plain;
name="Business2TechnicalM2M.atl"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="Business2TechnicalM2M.atl"

Cm1vZHVsZSBCdXNpbmVzczJUZWNobmljYWxNMk07CmNyZWF0ZSBPVVQgOiBV TUwgcmVmaW5p
bmcgSU4gOiBVTUwsIFBlcnNpc3RlbmNlUHJvZmlsZSA6IFVNTDsKCmhlbHBl ciBkZWYgOiBn
ZXRTdGVyZW90eXBlKG5hbWUgOiBTdHJpbmcpIDogVU1MIVN0ZXJlb3R5cGUg PQogICAgVU1M
IVN0ZXJlb3R5cGUuYWxsSW5zdGFuY2VzRnJvbSgnUGVyc2lzdGVuY2VQcm9m aWxlJykuZGVi
dWcoJ2FsbFN0ZXJlb3R5cGUnKS0+c2VsZWN0KHAgfCBwLm5hbWUgPSBuYW1l KS0+Zmlyc3Qo
KTsKCgpydWxlIE1haW5SdWxlIHsKCWZyb20gcyA6IFVNTCFQYWNrYWdlICgK CQlub3Qgcy5w
YWNrYWdlZEVsZW1lbnQtPnNlbGVjdChwfCAKCQkJCXAub2NsSXNLaW5kT2Yo VU1MIUNsYXNz
KSktPnNlbGVjdChjIHwgCgkJCQkJYy5nZXRBcHBsaWVkU3RlcmVvdHlwZXMo KS5kZWJ1Zygn
YXBwbGllZFN0ZXJlb3R5cGVzJyktPmV4aXN0cyhlfAoJCQkJCQllLm5hbWU9 J0VudGl0eScK
CQkJCQkpCgkJCQkpLmlzRW1wdHkoKQoJKQoJdG8gdCA6IFVNTCFQYWNrYWdl ICgKCQlwYWNr
YWdlZEVsZW1lbnQgPC0gdm9QYWNrYWdlLAoJCXBhY2thZ2VkRWxlbWVudCA8 LSBzZXJ2aWNl
UGFja2FnZQoJKSwKCXZvUGFja2FnZSA6IFVNTCFQYWNrYWdlICgKCQluYW1l IDwtICd2bycK
CSksCglzZXJ2aWNlUGFja2FnZSA6IFVNTCFQYWNrYWdlICgKCQluYW1lIDwt ICdzZXJ2aWNl
JwoJKQoJZG8gewoJCVVNTCFTdGVyZW90eXBlLmFsbEluc3RhbmNlc0Zyb20o J1BlcnNpc3Rl
bmNlUHJvZmlsZScpLmRlYnVnKCd0cnVjJyk7Cgl9Cn0KCnJ1bGUgZ2V0RW50 aXR5MlZhbHVl
T2JqZWN0IHsKCWZyb20KCQllbnRpdHlTb3VyY2UgOiBVTUwhQ2xhc3MgKAot LQkJCWVudGl0
eVNvdXJjZS5nZXRBcHBsaWVkU3RlcmVvdHlwZXMoKS5kZWJ1ZygnYXBwbGll ZFN0ZXJlb3R5
cGVzJyktPmV4aXN0cyhlfGUubmFtZT0nRW50aXR5JykKCQkJZW50aXR5U291 cmNlLmdldEFw
cGxpZWRTdGVyZW90eXBlcygpLT5leGlzdHMoZXxlLm5hbWU9J0VudGl0eScp CgkJKQoJdG8K
CQllbnRpdHlUYXJnZXQgOiBVTUwhQ2xhc3MgKAoJCQlwYWNrYWdlIDwtIGVu dGl0eVNvdXJj
ZS5wYWNrYWdlCgkJKSwKCQl2YWx1ZU9iamVjdCA6IFVNTCFDbGFzcyAoCgkJ CW5hbWUgPC0g
KGVudGl0eVNvdXJjZS5uYW1lKydWTycpLmRlYnVnKCd2YWx1ZU9iamVjdCcp LAotLQkJCXBh
Y2thZ2UgPC0gdGhpc01vZHVsZS52b1BhY2thZ2UuZGVidWcoJ3RoaXNNb2R1 bGUudm9QYWNr
YWdlJykKCQkJcGFja2FnZSA8LSB0aGlzTW9kdWxlLnJlc29sdmVUZW1wKGVu dGl0eVNvdXJj
ZS5wYWNrYWdlLCAndm9QYWNrYWdlJykKCQkpLAoJCXNlcnZpY2UgOiBVTUwh Q2xhc3MgKAoJ
CQluYW1lIDwtIGVudGl0eVNvdXJjZS5uYW1lKydTZXJ2aWNlJywKCQkJcGFj a2FnZSA8LSB0
aGlzTW9kdWxlLnJlc29sdmVUZW1wKGVudGl0eVNvdXJjZS5wYWNrYWdlLCAn c2VydmljZVBh
Y2thZ2UnKQoJCSksCgkJZ2V0QWxsRW50aXRpZXNPcGVyYXRpb24gOiBVTUwh T3BlcmF0aW9u
ICgKCQkJbmFtZSA8LSAnZ2V0QWxsJytlbnRpdHlTb3VyY2UubmFtZSsncycs CgkJCXR5cGUg
PC0gdmFsdWVPYmplY3QsCgkJCWxvd2VyIDwtIDAsCgkJCXVwcGVyIDwtIC0x LAoJCQljbGFz
cyA8LSBzZXJ2aWNlCgkJKSwKCQlnZXRFbnRpdHlCeUlkT3BlcmF0aW9uIDog VU1MIU9wZXJh
dGlvbiAoCgkJCW5hbWUgPC0gJ2dldCcrZW50aXR5U291cmNlLm5hbWUrJ0J5 SWQnLAoJCQl0
eXBlIDwtIHZhbHVlT2JqZWN0LAoJCQljbGFzcyA8LSBzZXJ2aWNlCgkJKSwK CQkKCQlnZXRF
bnRpdHlCeUlkT3BlcmF0aW9uUGFyYW1ldGVyIDogVU1MIVBhcmFtZXRlciAo CgkJCW5hbWUg
PC0gJ2lkJywKLS0JCQl0eXBlIDwtIFVNTCFQcmltaXRpdmVUeXBlcywKCQkJ b3BlcmF0aW9u
IDwtIGdldEVudGl0eUJ5SWRPcGVyYXRpb24KCQkpCgkJZG8gewoJCQl2YWx1 ZU9iamVjdC5h
cHBseVN0ZXJlb3R5cGUodGhpc01vZHVsZS5nZXRTdGVyZW90eXBlKCdWYWx1 ZU9iamVjdCcp
KTsKCQl9CgkJCn0=
--------------020908010202020407080002--
Re: [ATL] HOT transformation [RESOLVED] [message #105919 is a reply to message #105525] Tue, 02 June 2009 13:31 Go to previous message
Esteban Dugueperoux is currently offline Esteban DugueperouxFriend
Messages: 472
Registered: July 2009
Senior Member
It's a mistake in my HOT ATL transformation, I have confused
OperationCallExp and OperatorCallExp.
Previous Topic:[ATL] Applying Stereotypes with ATL 3.0
Next Topic:[QVTO] How to write a transformation to create a QVTO transformation model in output?
Goto Forum:
  


Current Time: Tue Apr 23 13:59:10 GMT 2024

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

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

Back to the top