GithubHelp home page GithubHelp logo

gemoc / modelanimation Goto Github PK

View Code? Open in Web Editor NEW
0.0 25.0 0.0 115.16 MB

Projects dedicated to model animation in GEMOC. This complements the main framework hosted in https://github.com/SiriusLab/ModelDebugging

Java 74.72% Xtend 16.77% HTML 5.67% ECL 2.85%

modelanimation's Introduction

modelanimation

Projects dedicated to model animation in GEMOC.

Currently contains the Xmof specific projects. This builds an XMof engine implementation for the GEMOC framework.

Most of the reusable content (animation, trace, java_execution) of the GEMOC framework that was previously hosted in this repository has moved to https://github.com/SiriusLab/ModelDebugging

modelanimation's People

Contributors

dvojtise avatar flatombe avatar ebousse avatar d-leroy avatar ylussaud avatar jdeantoni avatar cbrun avatar fcoulon avatar fontanella avatar mbats avatar enstabpihd avatar tanjaem avatar gwend4l avatar xcregut avatar matiasvara avatar combemale avatar

Watchers

Manuel Leduc avatar  avatar Barais avatar  avatar  avatar James Cloos avatar Ciprian Teodorov avatar  avatar  avatar  avatar Marc Pantel avatar Benoit Baudry avatar  avatar  avatar  avatar  avatar  avatar  avatar DiverSE Bot avatar  avatar  avatar  avatar  avatar Mathieu Montin avatar  avatar

modelanimation's Issues

Null pointer exception

Hi,

I have just found a problem in:
"gemoc.execution.engine.ui/src/org/gemoc/execution/engine/debug/AbstractGemocDebugger.java:68"

The code is:

bundleSymbolicName = getBundleSymbolicName(getLanguageDefinition(engine.getExecutionContext().getLanguageDefinitionExtension().getXDSMLFilePath()));

The line does not check if getLanguageDefinitionExtension() returns null, which is the case for GemocCoordinatedDebuger. I fixed it by simply adding an "if" before:

if (engine.getExecutionContext().getLanguageDefinitionExtension() != null) {
bundleSymbolicName = getBundleSymbolicName(getLanguageDefinition(engine.getExecutionContext().getLanguageDefinitionExtension().getXDSMLFilePath()));
}

So far, the Gemoc Coordinated debug works well. However, I am not sure if it is the correct solution. Should I commit and push the changes?

Matias

Exception returned by the getITypeMainByWorkspaceScope function

Since the commit eeadb6f, an exception systematically occurs at the runtime of a xDsml instantiation.

Here comes the stack-trace :

!ENTRY org.gemoc.execution.sequential.javaengine.ui 4 0 2016-03-29 14:55:37.665
!MESSAGE Error occured when starting execution engine: Index: 0, Size: 0 (see inner exception).
!STACK 0
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.gemoc.execution.sequential.javaengine.PlainK3ExecutionEngine.getITypeMainByWorkspaceScope(PlainK3ExecutionEngine.java:356)
at org.gemoc.execution.sequential.javaengine.PlainK3ExecutionEngine.findBundle(PlainK3ExecutionEngine.java:285)
at org.gemoc.execution.sequential.javaengine.PlainK3ExecutionEngine.initialize(PlainK3ExecutionEngine.java:92)
at org.gemoc.execution.sequential.javaengine.ui.launcher.Launcher.launch(Launcher.java:111)
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:54)

The problem comes from an empty list access (binaryType) in the return of the getITypeMainByWorkspaceScope function.

hovering info in Multidimensional view should try to use the QualifiedNameProvider to improve the label in a "model oriented way"

from https://gforge.inria.fr/tracker/index.php?func=detail&aid=20030&group_id=4645&atid=13870

In the Multidimensional view we can use a qualifiedNameProvider to help the reading of the data so it will look more Model oriented (using UML notation like
qualifiedName :TypeName when possible) the toString can eventually be added but placed at the end of the string (ie. may require scrolling but make sure that the most relevant information is placed first)

Step 5.2.5 of Tutorial Marked Graph does not work

From @valdemarneto on February 2, 2016 14:1

Hi all.

I am running your tutorial of Marked Graph using Windows 7, Java 8, GEMOC Studio 2.0.1.
I had already runned it and it worked in a precendent version of your studio (before 2.0, I think).

However, this step does not work:

5.2.5. Add the Animation service

Right click on "MarkedGraphViewpoint" to select "New Extension / Java Extension".
Set "Qualified Class Name" to "org.gemoc.sample.markedgraph.animation.services.MarkedgraphAnimationServices".
In the project, org.gemoc.sample.markedgraph.animation project, in src/org.gemoc.sample.markedgraph.animation.services, copy the MarkedgraphDebugServices.java file to MarkedgraphAnimationServices.java. Then, change AbstractGemocDebuggerServices to AbstractGemocAnimatorServices in its source code (two times: import and extends). Finally, change "Debug" to "Animation".

When I go to the workspace, there is no the mentioned class there (MarkedgraphDebugServices). I did not find it.

It is weird because I already runned this tutorial and worked. But, in this new version of GEMOC, I am not obtaining success.

Additionally, when I am creating the DSE in step 4.2.1, when I click to finish the creation as a debug representation, the following errors happen:

Stream closed
java.io.IOException: Stream closed
at java.io.BufferedInputStream.getInIfOpen(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.Reader.read(Unknown Source)
at org.gemoc.xdsmlframework.extensions.sirius.command.AddDebugLayerHandler.getContent(AddDebugLayerHandler.java:764)
at org.gemoc.xdsmlframework.extensions.sirius.command.AddDebugLayerHandler.createServiceClass(AddDebugLayerHandler.java:720)
at org.gemoc.xdsmlframework.extensions.sirius.command.AddDebugLayerHandler.getOrCreateServiceClass(AddDebugLayerHandler.java:683)
at org.gemoc.xdsmlframework.extensions.sirius.wizards.NewGemocDebugRepresentationWizard$FinishRunnable.run(NewGemocDebugRepresentationWizard.java:120)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:466)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:374)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1059)
at org.gemoc.xdsmlframework.extensions.sirius.wizards.NewGemocDebugRepresentationWizard.performFinish(NewGemocDebugRepresentationWizard.java:350)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:853)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:438)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:832)
at org.eclipse.jface.window.Window.open(Window.java:808)
at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:269)
at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:343)
at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:159)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)

I am following and running the tutorial step-by-step. If you are interested, I can send the file where I am taking notes about the differences between what is recommended in the tutorial and what is currently available to work in GEMOC 2.0.1.

Regards,
Valdemar.

Copied from original issue: diverse-project/k3#40

Multidimentional timeline should allow to sort the lines

from https://gforge.inria.fr/tracker/index.php?func=detail&aid=20018&group_id=4645&atid=13870

Multidimenstional timeline should allow to sort the lines in order to help anlyse its content.

several sort criterion can be proposed to the user :

  • group by host EObject (ie.the EObject that own the data)
  • group by feature (ie. all data referenced by the same eStructuralfeature)
    and maybe
  • sort by content (ie. put feature with empty data at top or bottom of the lines)

note: this sort criterion could also be proposed into the Debug Variable view (but this is another feature request ๐Ÿ˜‰ )

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.