Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Sirius » Sequence Diagram(Sequence Diagram Shows Exception)
Sequence Diagram [message #1729686] Mon, 18 April 2016 07:04 Go to next message
Dhananjay Deshmukh is currently offline Dhananjay DeshmukhFriend
Messages: 14
Registered: April 2016
Junior Member
Hello,
I am trying to generate sequence diagram for my DSL.
I have defined all the necessary services with proper "Ends Ordering"
But when I trying to generate the diagram, It shows following Exception.

My "Ends Orderding" Expression returns following list, which properly mapped with "Execution start" and "Execution End"

mncModel.impl.CommandImpl@1efa0f3 (name: ON)
mncModel.impl.CommandImpl@1b2db54 (name: ONMOTOR)
mncModel.impl.ResponseImpl@99c1e1 (name: POWERON_MOTOR)
mncModel.impl.ResponseImpl@1aac7d9 (name: POWERON)
mncModel.impl.CommandImpl@149f0e6 (name: START)
mncModel.impl.CommandImpl@198e1b1 (name: STARTMOTOR)
mncModel.impl.ResponseImpl@1031f03 (name: STARTED_MOTOR)
mncModel.impl.ResponseImpl@1a9499c (name: STARTED)
mncModel.impl.CommandImpl@1cc7abb (name: INCREASE_RPM)
mncModel.impl.CommandImpl@1c380ef (name: INCREASE_RPM_MOTOR)
mncModel.impl.ResponseImpl@14107bb (name: INCREASED_RPM_MOTOR)
mncModel.impl.ResponseImpl@117a7a1 (name: INCREASED_RPM)

I have doubt that
1) Domain class of "Execution Start" is differ from "Execution End"(mncModel.impl.CommandImpl and mncModel.impl.ResponseImpl), Is it allowed ?


!ENTRY org.eclipse.e4.ui.workbench 4 0 2016-04-18 12:31:35.359
!MESSAGE
!STACK 0
java.lang.IllegalArgumentException
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:77)
at org.eclipse.sirius.diagram.sequence.util.Range.<init>(Range.java:46)
at org.eclipse.sirius.diagram.sequence.business.internal.layout.vertical.SequenceVerticalLayout.initTimeBounds(SequenceVerticalLayout.java:810)
at org.eclipse.sirius.diagram.sequence.business.internal.layout.vertical.SequenceVerticalLayout.init(SequenceVerticalLayout.java:220)
at org.eclipse.sirius.diagram.sequence.business.internal.layout.AbstractSequenceLayout.layout(AbstractSequenceLayout.java:76)
at org.eclipse.sirius.diagram.sequence.business.internal.layout.SequenceLayout.verticalLayout(SequenceLayout.java:89)
at org.eclipse.sirius.diagram.sequence.business.internal.operation.SynchronizeGraphicalOrderingOperation.execute(SynchronizeGraphicalOrderingOperation.java:65)
at org.eclipse.sirius.diagram.sequence.business.internal.operation.SynchronizeGraphicalOrderingOperation.execute(SynchronizeGraphicalOrderingOperation.java:1)
at org.eclipse.sirius.diagram.sequence.business.internal.refresh.RefreshLayoutCommand.doExecute(RefreshLayoutCommand.java:110)
at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135)
at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:516)
at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208)
at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165)
at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219)
at org.eclipse.sirius.diagram.sequence.ui.tool.internal.edit.part.SequenceDiagramEditPart.activate(SequenceDiagramEditPart.java:189)
at org.eclipse.gef.editparts.AbstractEditPart.addChild(AbstractEditPart.java:215)
at org.eclipse.gef.editparts.SimpleRootEditPart.setContents(SimpleRootEditPart.java:105)
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:617)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer.setContents(DiagramGraphicalViewer.java:352)
at org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents(AbstractEditPartViewer.java:626)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initializeGraphicalViewerContents(DiagramEditor.java:872)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initializeGraphicalViewer(DiagramEditor.java:865)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFlyOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOutPalette.java:116)
at org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor.initializeGraphicalViewer(DiagramDocumentEditor.java:174)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.initializeGraphicalViewer(DDiagramEditorImpl.java:1417)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.createOriginalGraphicalViewer(DDiagramEditorImpl.java:1386)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.createMainDiagramSection(DDiagramEditorImpl.java:1311)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.createGraphicalViewer(DDiagramEditorImpl.java:1300)
at org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(GraphicalEditor.java:171)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.createPartControl(DiagramEditor.java:1580)
at org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFlyOutPalette.createPartControl(DiagramEditorWithFlyOutPalette.java:328)
at org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor.createPartControl(DiagramDocumentEditor.java:1514)
at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.createPartControl(DDiagramEditorImpl.java:497)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:151)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:341)
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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:898)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:879)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:121)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:345)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:264)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:971)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:640)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:746)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:711)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:695)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1306)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:72)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:186)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:145)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4761)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:211)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:85)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:494)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:458)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:724)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:396)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1166)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3234)
at org.eclipse.ui.internal.WorkbenchPage.access$25(WorkbenchPage.java:3149)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:3131)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3126)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3090)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3071)
at org.eclipse.sirius.diagram.ui.business.internal.dialect.DiagramDialectUIServices$1.run(DiagramDialectUIServices.java:206)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:186)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:145)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4761)
at org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil.displaySyncExec(EclipseUIUtil.java:336)
at org.eclipse.sirius.diagram.ui.business.internal.dialect.DiagramDialectUIServices.openEditor(DiagramDialectUIServices.java:216)
at org.eclipse.sirius.diagram.ui.business.internal.dialect.DiagramDialectUIServices.openEditor(DiagramDialectUIServices.java:177)
at org.eclipse.sirius.ui.business.internal.dialect.DialectUIManagerImpl.openEditor(DialectUIManagerImpl.java:106)
at org.eclipse.sirius.ui.tools.internal.actions.creation.CreateRepresentationAction$2.run(CreateRepresentationAction.java:168)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:463)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:371)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:500)
at org.eclipse.ui.internal.progress.ProgressManager$RunnableWithStatus.run(ProgressManager.java:1394)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.progress.ProgressManager$5.run(ProgressManager.java:1228)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:186)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:145)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4761)
at org.eclipse.ui.internal.progress.ProgressManager.runInUI(ProgressManager.java:1225)
at org.eclipse.sirius.ui.tools.internal.actions.creation.CreateRepresentationAction.run(CreateRepresentationAction.java:177)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
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:4362)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
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:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
Re: Sequence Diagram [message #1729736 is a reply to message #1729686] Mon, 18 April 2016 15:20 Go to previous messageGo to next message
Julien Dupont is currently offline Julien DupontFriend
Messages: 172
Registered: July 2009
Senior Member
Hi,

Sequence Diagram specification is very difficult and I suggest you using
an example as Interaction Designer.
You can find an example in Interaction Designer with update site
http://www.obeo.fr/download/release/designer/8.1/community/latest/repository
in Obeo Designer Community Edition - Extensions / Sirius Automated Tests
& Sirius Automated Tests Developer Resources. (Install it, menu
Help/Install New Software/ use above update site and check elements
above to install)

The better is using this example and modify this as your need.

To retrieve the example, use view Plug-ins (Window/Show
View/Other.../Plug-in Development) and import as Projet plug-in named
org.eclipse.sirius.interactions.design

Regards,

--
Julien - Obeo

Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius

[Updated on: Mon, 18 April 2016 15:28]

Report message to a moderator

Re: Sequence Diagram [message #1730522 is a reply to message #1729686] Tue, 26 April 2016 13:31 Go to previous messageGo to next message
Maxime Porhel is currently offline Maxime PorhelFriend
Messages: 516
Registered: July 2009
Location: Nantes, France
Senior Member
Hi Dhananjay

Le 18/04/2016 15:56, Dhananjay Deshmukh a écrit :
> Hello,
> I am trying to generate sequence diagram for my DSL.
> I have defined all the necessary services with proper "Ends Ordering"
> But when I trying to generate the diagram, It shows following Exception.
>
> My "Ends Orderding" Expression returns following list, which properly
> mapped with "Execution start" and "Execution End"
>
> mailto:mncModel.impl.CommandImpl@1efa0f3 (name: ON)
> mailto:mncModel.impl.CommandImpl@1b2db54 (name: ONMOTOR)
> mailto:mncModel.impl.ResponseImpl@99c1e1 (name: POWERON_MOTOR)
> mailto:mncModel.impl.ResponseImpl@1aac7d9 (name: POWERON)
> mailto:mncModel.impl.CommandImpl@149f0e6 (name: START)
> mailto:mncModel.impl.CommandImpl@198e1b1 (name: STARTMOTOR)
> mailto:mncModel.impl.ResponseImpl@1031f03 (name: STARTED_MOTOR)
> mailto:mncModel.impl.ResponseImpl@1a9499c (name: STARTED)
> mailto:mncModel.impl.CommandImpl@1cc7abb (name: INCREASE_RPM)
> mailto:mncModel.impl.CommandImpl@1c380ef (name: INCREASE_RPM_MOTOR)
> mailto:mncModel.impl.ResponseImpl@14107bb (name: INCREASED_RPM_MOTOR)
> mailto:mncModel.impl.ResponseImpl@117a7a1 (name: INCREASED_RPM)
>
> I have doubt that
> 1) Domain class of "Execution Start" is differ from "Execution
> End"(mncModel.impl.CommandImpl and mncModel.impl.ResponseImpl), Is it
> allowed ?
>
>
> !ENTRY org.eclipse.e4.ui.workbench 4 0 2016-04-18 12:31:35.359
> !MESSAGE !STACK 0
> java.lang.IllegalArgumentException
> at
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:77)
> at
> org.eclipse.sirius.diagram.sequence.util.Range.<init>(Range.java:46)
> at
> org.eclipse.sirius.diagram.sequence.business.internal.layout.vertical.SequenceVerticalLayout.initTimeBounds(SequenceVerticalLayout.java:810)

This usually means that there is something with the bounds of the
instance roles and/or the lifelines before the computation of the
sequence elements bounds. The layout initialization seems to get an
ordinate for the end of the longest lifeline which is smaller than the
ordinante of the beginning of the lifelines.

Could you take a look to the sequence sample VMS (interaction.odesign)
mentionned by Julien and do some tests with the same size attributes ofr
the styles of your mappings (lifeline, instancerrole, endoflife,
execution) ? See [1]


You should also take a look to the Sequence diagram documentation [2]

--
Maxime - Obeo

Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
--
[1]
https://git.eclipse.org/c/sirius/org.eclipse.sirius.git/tree/plugins/org.eclipse.sirius.sample.interactions.design/description/interaction.odesign
[2]
https://www.eclipse.org/sirius/doc/specifier/sequences/Sequence%20Diagrams.html


Maxime Porhel - Obeo

Need training or professional services for Sirius?
http://www.obeodesigner.com/sirius
Re: Sequence Diagram [message #1730616 is a reply to message #1730522] Wed, 27 April 2016 07:20 Go to previous message
Dhananjay Deshmukh is currently offline Dhananjay DeshmukhFriend
Messages: 14
Registered: April 2016
Junior Member
Thanks Julien and Maxime
Previous Topic:Adding View to Show Xtext Embedded Editor for Selected Elements
Next Topic:Export representation as image problem
Goto Forum:
  


Current Time: Fri Apr 26 13:14:41 GMT 2024

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

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

Back to the top