[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [viatra-dev] MWE-based transformation chain workflow | 
Hi,
1. I'm trying to understand the Hello World Example based on the wiki page.
BatchTransformationStep.java and EventDrivenTransformationStep.java appear 
to be almost the same - how is one of them event driven, while the other 
not?
I don't understand the difference between them, as they both process and 
send out events.
Also, what does EventDrivenChannel do? Where is the other endpoint?
2. Some of the comments seem inconsistent, e.g.:
               //Create a serializer transformation step
               //Define both m2MChannel as target channel
       transformationStep = ModelModifierStep{
           modifierChannel = MWE2ListeningChannel{channel = 
ModifierChannel}
           m2MChannel = MWE2TargetChannel{channel = M2MChannel}
       }
3. The code looks very boilerplaty, and sometimes a bit dizzying to read, 
especially the parts like these:
 m2MChannel = MWE2ListeningChannel{channel = M2MChannel}
 changeMonitorChannel = MWE2TargetChannel{channel = ChangeMonitorChannel}
Each of these lines correspond to a single channel, yet has 3 diffent things 
called a 'channel'.
Is it possible to rename the classes MWE2ListeningChannel and 
MWE2TargetChannel to something more readable, more intuitive, and most of 
all, not "*Channel" (which makes them easy to confuse with the actual 
channels)?
How about, for instance, these names:
 m2MChannel = ListenTo {channel = M2MChannel}
 changeMonitorChannel = AnnounceOn {channel = ChangeMonitorChannel}
To take a sample from the more complex example as well:
m2TChannel = ListenTo {channel = M2TChannel processor = 
ChangeDeltaEventProcessor{}}
serializerChannel = AnnounceOn {channel = SerializerChannel factory = 
M2TOutputEventFactory{}}
Seems to work out...
Can be SubscribeTo instead of ListenTo, and PublishTo instead of AnnounceOn, 
if we want to stick with standard terminology.
Or, if we are allowed to change the port names as well, we can maybe even 
have something like these:
 activateWhen = ListenTo {channel = M2MChannel}
 whenDone = AnnounceOn {channel = ChangeMonitorChannel}
But I'm not sure this style would work on the CPS example - maybe someone 
with a better understanding of the domain can siggest meaningful names for 
the ports.
Cheers,
Gaben
-----Original Message----- 
From: Ujhelyi Zoltán
Sent: Wednesday, June 17, 2015 2:29 PM
To: Viatra project developer discussions
Subject: [viatra-dev] MWE-based transformation chain workflow
Hi all,
Péter Lunk has finished an MWE-based transformation integration workflow, 
that supports creating transformation chains from batch and incremental 
transformations both, and also created an example and documentation to 
illustrate its usage. I have already demoed its earlier version at a 
developer meeting, and the feedback from there was useful (and hopefully 
included).
As now the implementation seems to work, I would like to ask for another 
round of review, and if no further issue comes forth, we plan to include 
this feature early in the 0.8 development timeframe.
Links:
* Gerrit change request: https://git.eclipse.org/r/#/c/50176/
* Documentation: 
https://wiki.eclipse.org/VIATRA/Transformation_API/MWE2_Integration
* CPS example implementation: 
https://github.com/lunkpeter/incquery-examples-cps/tree/MWE/addons/org.eclipse.incquery.examples.cps.mwe2integration.example/src/org/eclipse/incquery/examples/cps/integration
Cheers,
Zoli
-- Zoltán Ujhelyi
https://www.inf.mit.bme.hu/en/members/ujhelyiz
Fault Tolerant Systems Research Group
Budapest University of Technology and Economics
_______________________________________________
viatra-dev mailing list
viatra-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/viatra-dev