Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » OCL » Impact Analyzer Maven package
Impact Analyzer Maven package [message #1700051] Mon, 29 June 2015 20:35 Go to next message
Gabor Szarnyas is currently offline Gabor SzarnyasFriend
Messages: 1
Registered: June 2015
Junior Member
Hi,

I'm a PhD student from the Budapest Univeristy of Technology and Economics. I'm currently implementing the Eclipse OCL version of the Train Benchmark. The framework is built with Maven. I managed to get OCL dependencies working with some hacking, namely I had to add the LPG runtime as a separate dependency otherwise I got a NoClassDefFoundError.

I'd also like to include the OCL Impact Analyzer in the benchmark.

My questions are:

1. Are there any other Maven packages (apart from the one in the Acceleo Maven repository) available or these are the official ones?
2. What is the status of the OCL Impact Analyzer?
3. Are there Maven packages for the Impact Analyzer?

The OCL queries are available in the repository. Ed, if I recall correctly, you reviewed a previous implementation of the Train Benchmark in 2012.
Can you share your thoughts on these queries, whether their readability/performance could be improved, whether this sort of querying is good practice in OCL, etc. (I'm also availabe on Skype, Google Hangouts, etc.).

Thanks,
Gabor
Re: Impact Analyzer Maven package [message #1700254 is a reply to message #1700051] Wed, 01 July 2015 09:22 Go to previous message
Ed Willink is currently offline Ed WillinkFriend
Messages: 6040
Registered: July 2009
Senior Member
Hi

I'm not a Maven user and Eclipse support is poor so I have had little
enthusiasm for supporting it; I have much higher priorities. In part I'm
am waiting for a working out of the box Eclipse solution. It might
appear as we move to a Tycho build for Neon.

---

The Ecore-OCL-based Impact Analyzer is 'stable'. Unfortunately it
analyzes dependencies in a reverse direction and so runs into a major
problem with polymorphic dispatch. The Pivot-OCL-based QVTi execution
engine can build a run-time dependency structure to support incremental
transformation execution. Currently this is built as a lazy consequence
of forward execution. The code to mark up incremental damage and repair
it should be fairly simple, but having failed to meet the Mars deadline
for deriving the controlling schedule, the repair code is now low
priority. The event notifications of the Impact Analyzer may reappear as
one possible damage mark up mechanism for the QVTi Incremental data
structures. The QVTi structures have mapping granularity, which may give
an interestingly different performance sweet spot to the EMF Query RETE
structures or the Impact Analyzer OCL AST nodes.

---

I certainly improved the train benchmarks significantly so that I could
use them to contrast the Pivot-based and Ecore-based OCL implementations
and more importantly the direct to Java code generated implementation.
Since the direct to Java was rather good, I had to exclude a significant
instrumentation overhead from the measurements. I therefore ensured that
the input data was precomputed in an array for trivial delivery to the
function under test.

This highlighted a major vagueness in the tests for which I have yet to
see a clear relevant specification.

Because you use a single large pool of data for your tests, your tests
perform two tasks, filtering type-relevant input and performing the
tested computation. For OCL the large proportion of inappropriate input
swamped the computation test measurement by a different error handling
test. As currently formulated, the OCL results are artificially bad
since exception throwing for bad input is not an efficient execution
path. Conversely my alternate invocation from a pre-filtered array may
make OCL appear artificially good compared to other technologies. Hence
my insistence that the tests must have a specification that details all
these overheads.

IMHO the tests should be split into two. One for data filtering, and
another for algorithmic computation.

Regards

Ed Willink

On 30/06/2015 14:09, Gabor Szarnyas wrote:
> Hi,
>
> I'm a PhD student from the Budapest Univeristy of Technology and
> Economics. I'm currently implementing the Eclipse OCL version of the
> Train Benchmark. The framework is built with Maven. I managed to get
> OCL dependencies working with some hacking, namely I had to add the
> LPG runtime as a separate dependency otherwise I got a
> NoClassDefFoundError.
>
> I'd also like to include the OCL Impact Analyzer in the benchmark.
>
> My questions are:
>
> 1. Are there any other Maven packages (apart from the one in the
> Acceleo Maven repository) available or these are the official ones?
> 2. What is the status of the OCL Impact Analyzer?
> 3. Are there Maven packages for the Impact Analyzer?
>
> The OCL queries are available in the
> https://github.com/FTSRG/trainbenchmark/tree/master/hu.bme.mit.trainbenchmark.benchmark.eclipseocl/src/main/resources/queries.
> Ed, if I recall correctly, you reviewed a previous implementation of
> the Train Benchmark in 2012.
> Can you share your thoughts on these queries, whether their
> readability/performance could be improved, whether this sort of
> querying is good practice in OCL, etc. (I'm also availabe on Skype,
> Google Hangouts, etc.).
>
> Thanks,
> Gabor
Previous Topic:Announcing the Mars 6.0.0 Eclipse OCL release
Next Topic:how to parse a text on a transition with OCL? is it possible ?
Goto Forum:
  


Current Time: Sat Sep 22 20:21:23 GMT 2018

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

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

Back to the top