Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [viatra-dev] MWE-based transformation chain workflow

Hi All,

I suggest that we should unify our terminology before others start extensively using this technology - e.g.
I suspect that the VIATRA CEP engine uses quite related terminology (events, streams, etc.).

Dani




From:        Bergmann Gábor <bergmann@xxxxxxxxxx>
To:        "Viatra project developer discussions" <viatra-dev@xxxxxxxxxxx>
Date:        2015.06.17 17:55
Subject:        Re: [viatra-dev] MWE-based transformation chain workflow
Sent by:        viatra-dev-bounces@xxxxxxxxxxx




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


_______________________________________________
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

Back to the top