greatspn / SOURCES

Main repository of the GreatSPN framework
GNU General Public License v2.0
42 stars 13 forks source link

Simulation for timed CPN #61

Open hz226 opened 1 month ago

hz226 commented 1 month ago

Hi, It seems that GreatSPN tool does not support creating a timed CPN model. For example, I could not set the initial marking of a place with timed color tokens (e.g., 11@+1+12@+2, "@+1" and "@+2" refer to related token will be issued in time unit 1 and 2 respectively).

In addition, I tried to set the time delay of a General (type) transition with I[1.0] in a CPN model created by the GreatSPN tool. when doing the TIMED simulation, the tool will run with errors, as shown in the attachment.

Please help me to address the issues above.

screenshot-Error

Thanks.

hz226 commented 1 month ago

Hi,

I think this is a big issue that needs to be resolved. Please ensure to deal with the issue as soon as possible.

Thanks.

I think the main reason was due to the NullPointerException: : Cannot invoke "editor.gui.MainWindowInterface.isGUIvalid()" because "this.editor.mainInterface" is null

The detailed code stack was as follows:

java.lang.AssertionError at editor.domain.elements.Transition.evaluateWeight(Transition.java:487) at editor.domain.play.JointState.selectNextFirableEvent(JointState.java:361) at editor.gui.net.NetPlayPanel$6.actionPerformed(NetPlayPanel.java:578) at java.desktop/javax.swing.Timer.fireActionPerformed(Unknown Source) at java.desktop/javax.swing.Timer$DoPostEvent.run(Unknown Source) at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.EventQueue$4.run(Unknown Source) at java.desktop/java.awt.EventQueue$4.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source) at editor.Main$2.dispatchEvent(Main.java:195) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

java.lang.NullPointerException: Cannot invoke "editor.gui.MainWindowInterface.isGUIvalid()" because "this.editor.mainInterface" is null at editor.gui.net.NetPropertyPanel.executeComponentAction(NetPropertyPanel.java:1826) at editor.gui.net.NetPropertyPanel.comboBox_TransitionTypeActionPerformed(NetPropertyPanel.java:1959) at editor.gui.net.NetPropertyPanel.access$1100(NetPropertyPanel.java:56) at editor.gui.net.NetPropertyPanel$12.actionPerformed(NetPropertyPanel.java:984) at java.desktop/javax.swing.JComboBox.fireActionEvent(Unknown Source) at java.desktop/javax.swing.JComboBox.setSelectedItem(Unknown Source) at editor.gui.net.ComboBoxForEditable$2.focusLost(ComboBoxForEditable.java:58) at java.desktop/java.awt.AWTEventMulticaster.focusLost(Unknown Source) at java.desktop/java.awt.Component.processFocusEvent(Unknown Source) at java.desktop/java.awt.Component.processEvent(Unknown Source) at java.desktop/java.awt.Container.processEvent(Unknown Source) at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Component.dispatchEvent(Unknown Source) at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source) at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source) at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source) at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.Component.dispatchEvent(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.desktop/java.awt.EventQueue$4.run(Unknown Source) at java.desktop/java.awt.EventQueue$4.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.desktop/java.awt.EventQueue$5.run(Unknown Source) at java.desktop/java.awt.EventQueue$5.run(Unknown Source) at java.base/java.security.AccessController.doPrivileged(Unknown Source) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source) at editor.Main$2.dispatchEvent(Main.java:195) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

amparore commented 1 month ago

I am not sure (it has to deal with transition weights, which are not even present in this example), as you are providing insufficient information to reproduce the error.