Skip to main content



      Home
Home » Archived » M2M (model-to-model transformation) » Using a matched rule from a lazy rule
Using a matched rule from a lazy rule [message #479562] Tue, 11 August 2009 10:53 Go to next message
Eclipse UserFriend
Originally posted by: spam.schenkman.info

Hi:

Is it possible to use a matched rule from within a lazy rule?

In the example below, I want MDL!Block.Ports to be converted using a
matched rule for ADL!ADLFlowPort.
The matched rule, of course, exists and is in use in other places in the
code.

I'm using ATL 3.0.0 on Eclipse 3.4.2.
Thanks in advance!


unique lazy rule ADLPort2EncapsulatedBock {
from
s : ADL!ADLFlowPort
to
t : MDL!Block (
Name <- s.name,
Ports <- s,
BlockType <- 'encapsulated'
)
}
Re: Using a matched rule from a lazy rule [message #485681 is a reply to message #479562] Mon, 14 September 2009 09:04 Go to previous message
Eclipse UserFriend
Sorry for reviving this one but i have / had a similar problem. If i
understand the execution semantics correctly this is not possible since
the step of matching matched rules to the elements is done before the lazy
rules are executed.

To me this i pretty annoying since once your start using lazy rules for
some element within your models hierarchy everything below this element
has to be created by lazy rules as well ( or it gets created as a root
element).

I would be really interested in why it is that way. I mean why couldn't
one first execute all the imperative stuff and apply the matching phase to
whatever elements did not get handled?

I would be glad if someone with the bigger picture in mind could help me
understand this behavior.

Thanks in advance,

Philipp
Previous Topic:[ATL] Problem refining mode and lazy rules/Iterative target pattern elem
Next Topic:[ATL] result of undefined subSequence call
Goto Forum:
  


Current Time: Fri Jul 04 18:33:15 EDT 2025

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

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

Back to the top