gemoc / gemoc-studio-old

http://gemoc.github.io/gemoc-studio/
Eclipse Public License 1.0
12 stars 4 forks source link

error occured when started execution engine #58

Open wnost opened 6 years ago

wnost commented 6 years ago

Hello GEMOC Team,

Can anyone help please with this issue? It's very important for me. In the modeling workbench, after the steps listed below

About to initialize and run the GEMOC Execution Engine... Input resources: platform:/resource/petri_model/My.petri platform:/resource/petri_model/representations.aird platform:/plugin/petri.design/description/petri.odesign environment:/viewpoint platform:/plugin/petri/model/petri.ecore platform:/plugin/org.company.petri.animation/description/petri-animation.odesign platform:/resource/petri_model/gemoc-gen/My.timemodel platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/kernel.ccslLib platform:/plugin/fr.inria.aoste.timesquare.ccslkernel.model/ccsllibrary/CCSL.ccslLib

GEMOC can't go any further, i'm getting the errors below and don't know what is the root cause because i implemented everything well by using the tutorials SigPML and the MarkGraph. Please help.

eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null eo Object null Diagnostic OK source=org.eclipse.m2m.qvt.oml.execution code=0: OK

!ENTRY org.gemoc.execution.concurrent.ccsljavaengine.ui 4 0 2017-11-28 12:41:08.012 !MESSAGE Error occured when starting execution engine: null (see inner exception). !STACK 0 java.lang.NullPointerException at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.lookupElement(ModelUnfoldingPassTwo.java:123) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.resolveBinding(ModelUnfoldingPassTwo.java:159) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitExpression(ModelUnfoldingPassTwo.java:277) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitExpression(ModelUnfoldingPassTwo.java:1) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor$4.caseExpression(Visitor.java:377) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.ClockExpressionAndRelation.util.ClockExpressionAndRelationSwitch.doSwitch(ClockExpressionAndRelationSwitch.java:99) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.ClockExpressionAndRelation.util.ClockExpressionAndRelationSwitch.doSwitch(ClockExpressionAndRelationSwitch.java:76) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.ClockExpressionAndRelation.util.ClockExpressionAndRelationSwitch.doSwitch(ClockExpressionAndRelationSwitch.java:63) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor.visit(Visitor.java:145) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitBlock(ModelUnfoldingPassTwo.java:196) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitBlock(ModelUnfoldingPassTwo.java:1) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor$2.caseBlock(Visitor.java:206) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:107) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:76) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:63) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor.visit(Visitor.java:141) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitClockConstraintSystem(ModelUnfoldingPassTwo.java:179) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitClockConstraintSystem(ModelUnfoldingPassTwo.java:1) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor$2.caseClockConstraintSystem(Visitor.java:201) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:99) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:76) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:63) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor.visit(Visitor.java:141) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.UnfoldModel.doFullUnfold(UnfoldModel.java:367) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.UnfoldModel.unfoldModelTree(UnfoldModel.java:219) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.UnfoldModel.unfoldAllModels(UnfoldModel.java:160) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.UnfoldModel.unfoldModels(UnfoldModel.java:123) at fr.inria.aoste.timesquare.ccslkernel.solver.CCSLKernelSolver.loadModel(CCSLKernelSolver.java:230) at org.gemoc.execution.concurrent.ccsljavaengine.extensions.timesquare.moc.impl.CcslSolver.createSolver(CcslSolver.java:179) at org.gemoc.execution.concurrent.ccsljavaengine.extensions.timesquare.moc.impl.CcslSolver.initialize(CcslSolver.java:344) at org.gemoc.execution.concurrent.ccsljavaengine.ui.launcher.Launcher.launch(Launcher.java:104) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039) at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

!ENTRY org.gemoc.execution.concurrent.ccsljavaengine.ui 4 0 2017-11-28 12:41:08.017 !MESSAGE Error occured when starting execution engine: null (see inner exception). !STACK 0 java.lang.NullPointerException at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.lookupElement(ModelUnfoldingPassTwo.java:123) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.resolveBinding(ModelUnfoldingPassTwo.java:159) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitExpression(ModelUnfoldingPassTwo.java:277) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitExpression(ModelUnfoldingPassTwo.java:1) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor$4.caseExpression(Visitor.java:377) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.ClockExpressionAndRelation.util.ClockExpressionAndRelationSwitch.doSwitch(ClockExpressionAndRelationSwitch.java:99) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.ClockExpressionAndRelation.util.ClockExpressionAndRelationSwitch.doSwitch(ClockExpressionAndRelationSwitch.java:76) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.ClockExpressionAndRelation.util.ClockExpressionAndRelationSwitch.doSwitch(ClockExpressionAndRelationSwitch.java:63) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor.visit(Visitor.java:145) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitBlock(ModelUnfoldingPassTwo.java:196) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitBlock(ModelUnfoldingPassTwo.java:1) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor$2.caseBlock(Visitor.java:206) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:107) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:76) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:63) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor.visit(Visitor.java:141) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitClockConstraintSystem(ModelUnfoldingPassTwo.java:179) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.ModelUnfoldingPassTwo.visitClockConstraintSystem(ModelUnfoldingPassTwo.java:1) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor$2.caseClockConstraintSystem(Visitor.java:201) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:99) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:76) at fr.inria.aoste.timesquare.ccslkernel.model.TimeModel.CCSLModel.util.CCSLModelSwitch.doSwitch(CCSLModelSwitch.java:63) at fr.inria.aoste.timesquare.ccslkernel.model.visitor.Visitor.visit(Visitor.java:141) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.UnfoldModel.doFullUnfold(UnfoldModel.java:367) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.UnfoldModel.unfoldModelTree(UnfoldModel.java:219) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.UnfoldModel.unfoldAllModels(UnfoldModel.java:160) at fr.inria.aoste.timesquare.ccslkernel.modelunfolding.UnfoldModel.unfoldModels(UnfoldModel.java:123) at fr.inria.aoste.timesquare.ccslkernel.solver.CCSLKernelSolver.loadModel(CCSLKernelSolver.java:230) at org.gemoc.execution.concurrent.ccsljavaengine.extensions.timesquare.moc.impl.CcslSolver.createSolver(CcslSolver.java:179) at org.gemoc.execution.concurrent.ccsljavaengine.extensions.timesquare.moc.impl.CcslSolver.initialize(CcslSolver.java:344) at org.gemoc.execution.concurrent.ccsljavaengine.ui.launcher.Launcher.launch(Launcher.java:104) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885) at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739) at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039) at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

jdeantoni commented 6 years ago

Hi,

it seems that the model representing the concurrent schedule of the actions in your model is wrong. What you can do: open the gemoc-gen/blabla.timemodel file and look if it is not empty. If empty it usually means that your model is instance of the metamodel provided before the actions are merged into it by melange (in other words, you should provide a model that conforms the xDSML and not the DSML). This can be the case since MarkedGraph tutorial was written on an older version of gemoc than the one you are actually using.

if the timemodel file is not empty, then try to validate it (right click on the package -> validate). If it contains error, it means that some of the query done in the ECL file can not be performed on your model (usually because the model is not correct, i.e., not as expected by the interpreter)

keep us in touch

j

wnost commented 6 years ago

Thanks for your response. see the attached screenshot for the ECL file and the timemodel. I followed the example of the ECL file of markedgraph to build mine.

In those lines of code. context Petri inv initFirst: let firstInit : Event = Expression OneTickAndNoMore(self.initIt) in let allFire : Event = Expression Union(self.transitions.fireIt) in --let firstOfAllFire : Event = Expression OneTickAndNoMore(allFire) in --Relation Precedes(firstInit, firstOfAllFire) Relation Precedes(firstInit, Expression OneTickAndNoMore(allFire)) when i run the code like this, i get no errors in the Qvto file, but in the modelling workbench i get the below error when i tried to validate the timemodel timemodel timemodel_error

But when i uncommented the lines that are commented and comment the last line. i get an error on the Qvto file stating that " Cannot find operation (firstOfAllFire2Expression()) neither for the type (Set(Petri)) nor for its element type (Petri) " binding

wnost commented 6 years ago

Just wondering why it doesn't work because i followed exactly the example in this tutorial http://gemoc.org/gemoc-studio/publish/tutorial_markedgraph/html_single/GuideTutorialMarkedGraph.html

It wasn't supposed to be an ECL error unless the ECL file of the markedgraph is the problem