Dear mailing list readers,
I’m interested in measuring the time needed by Henshin to
execute a transformation (see attached cdrefinement.henshin)
on a given xmi model ( size10.xmi conforming to CD.ecore).
The transformation works great when running through eclipse
but unfortunately I can’t see any log of the time it took to
be computed.
I thus tried my luck in developing a small java application
running the transformation and printing out the time taken
and can’t get rid of a NullPointerException...
Here is the stacktrace: (note that I simply reused the code
given in the henshin interpreter web page)
Exception in thread "main"
java.lang.NullPointerException
at
org.eclipse.emf.ecore.impl.EClassImpl.getFeatureID(EClassImpl.java:1500)
at
org.eclipse.emf.ecore.impl.DynamicEObjectImpl.eDerivedStructuralFeatureID(DynamicEObjectImpl.java:218)
at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1008)
at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1003)
at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:998)
at
org.eclipse.emf.henshin.interpreter.impl.ChangeImpl$AttributeChangeImpl.applyAndReverse(ChangeImpl.java:134)
at
org.eclipse.emf.henshin.interpreter.impl.ChangeImpl$CompoundChangeImpl.applyAndReverse(ChangeImpl.java:466)
at
org.eclipse.emf.henshin.interpreter.impl.RuleApplicationImpl.undo(RuleApplicationImpl.java:126)
at
org.eclipse.emf.henshin.interpreter.impl.UnitApplicationImpl.undo(UnitApplicationImpl.java:135)
at
org.eclipse.emf.henshin.interpreter.impl.UnitApplicationImpl.executeSequentialUnit(UnitApplicationImpl.java:230)
at
org.eclipse.emf.henshin.interpreter.impl.UnitApplicationImpl.doExecute(UnitApplicationImpl.java:104)
at
org.eclipse.emf.henshin.interpreter.impl.UnitApplicationImpl.execute(UnitApplicationImpl.java:90)
at Interpreter.interpret(Interpreter.java:80)
at Main.main(Main.java:38)
Do you have any idea what causes this error ?
Also, is there a way to get the time
taken by henshin to execute a transformation directly in
eclipse ( without having to program anything )
Cheers,
Loïc